Para pemrogram telah merancang suatu diagram khusus yang membantu mendemonstrasikan logika bersarang. Namun tak ada yang lebih membantu lagi dibandingkan dengan memperkenalkan sebuah pernyataan baru dalam bahasa C++, seperti switch yang sintaksnya mendukung pemilihan pilihan berganda pada sebuah program. Bentuk umumnya adalah :
switch ( ekspresi )
{
case ( ekspresi-1 ) :
{ satu atau lebih pernyataan ;
break ; }
... ... ...
case ( ekspresi-n ) :
{ satu atau lebih pernyataan ;
break ; }
default :
{ satu atau lebih pernyataan ;
break ; }
}
Perhatikan ekspresi pada pernyataan switch harus berupa nilai int atau char.
Contoh 4.1 :
#include
void main()
{
int channel;
cout << "Menu saluran TV yang tersedia saat ini" << endl <<
endl;
cout << "1. TVRI 2. RCTI 3. TPI" << endl;
cout << "4. SCTV 5. ANTV 6. Indosiar" << endl <<
endl;
cout << "Pilih saluran TV favorit anda : ";
cin >> channel;
cout << endl; // membuat 1 baris kosong
switch (channel)
{
case (1) :
{
cout << "Siaran dari desa ke desa!";
break;
}
case (2) :
{
cout << "Tayangan Planet Football!";
break;
}
case (3) :
{
cout << "Tayangan Kera Sakti!";
break;
}
case (4) :
{
cout << "Tayangan Telenovela!";
break;
}
case (5):
{
cout << "Tayangan MTV Music!";
break;
}
case (6):
{
cout << "Tayangan Kuis Family!";
break;
}
default : // dijalankan bila bukan memilih 1 s/d 6
{
cout << "Channel " << channel
<< " belum dibuat untuk umum.";
break;
}
}
}
Keluaran programnya :
Menu saluran TV yang tersedia saat ini
1. TVRI 2. RCTI 3. TPI
4. SCTV 5. ANTV 6. Indosiar
Pilih saluran TV favorit anda : 3
Tayangan Kera Sakti!
Nilai dari pemakai adalah salah satu dari 1, 2, 3, 4, 5 atau 6 dan hanya satu dari blok pernyataan switch yang dieksekusi saat salah satu dari nilai tadi cocok dengan sebuah ekspresi case. Bila pemakai tidak memasukan sebuah angka yang benar (yaitu yang cocok dengan pernyataan case), maka bagian default-lah yang akan mengambil alih tugas dan memberikan pesan yang sesuai.
Bandingkan program tersebut bila menggunakan pernyataan if-else :
Contoh 4.2 :
#include
void main()
{
int channel;
cout << "Menu saluran TV yang tersedia saat ini" << endl <<
endl;
cout << "1. TVRI 2. RCTI 3. TPI" << endl;
cout << "4. SCTV 5. ANTV 6. Indosiar" << endl <<
endl;
cout << "Pilih saluran TV favorit anda : ";
cin >> channel;
cout << endl; // membuat 1 baris kosong
if ( channel == 1 )
{ cout << "Siaran dari desa ke desa!"; }
else
if ( channel == 2 )
{ cout << "Tayangan Planet Football!"; }
else
if ( channel == 3 )
{ cout << "Tayangan Kera Sakti!"; }
else
if ( channel == 4 )
{ cout << "Tayangan Telenovela!"; }
else
if ( channel == 5 )
{ cout << "Tayangan MTV Music!"; }
else
if ( channel == 6 )
{ cout << "Tayangan Kuis Family!"; }
else
{ cout << "Channel " << channel
<< " belum dibuat untuk umum."; }
}
Keluaran programnya sama dengan contoh 4.1.
Break
Sekalipun pernyataan switch tak selalu harus berisi pernyataan break, namun hampir dipastikan break tetap diperlukan. break memastikan bahwa setiap blok case tak akan lewat dan menjalankan lagi blok case yang terletak pada baris berikutnya. Berikut ini adalah contoh switch yang tak berisi pernyataan break :
Contoh 4.3 :
#include
void main()
{
int angka;
cout << "Angka yang anda pilih (1 s/d 4) : ";
cin >> angka;
switch (angka)
{
case (1) :
{ cout << "Pilihan anda angka 1" << endl; }
case (2) :
{ cout << "Pilihan anda angka 2" << endl; }
case (3) :
{ cout << "Pilihan anda angka 3" << endl; }
case (4) :
{ cout << "Pilihan anda angka 4" << endl; }
default :
{ cout << "Saya tidak tahu angka yang anda mau"; }
}
}
Keluaran programnya :
Angka yang anda pilih (1 s/d 4) : 1
Pilihan anda angka 1
Pilihan anda angka 2
Pilihan anda angka 3
Pilihan anda angka 4
Saya tidak tahu angka yang anda mau
Lainnya :
Angka yang anda pilih (1 s/d 4) : 3
Pilihan anda angka 3
Pilihan anda angka 4
Saya tidak tahu angka yang anda mau
0 Response to "C++ Bagian 4"
Posting Komentar