Selasa, 29 Mei 2018

Pernyataan Switch

Pernyataan switch adalah adalah pernyataan penyeleksian untuk memanipulasi jalanya aliran program berdasarkan conditional expression, Mengendalikan aliran program agar dapat berjalan secara fleksibel atas keadaan program dan keinginan user. Pernyataan ini akan memilih solusi / pilihan yang sesuai dengan ekspresi kondisi.
Pada umumnya penyataan switch tidak jauh berbeda seperti pernyataan penyeleksian IF, yang berbeda adalah switch dikhususkan untuk penyeleksian berdasarkan nilai dari ekspresi. Jika if mengevaluasi kebenaran dari sebuah ekspresi (conditional expression) seperti operasi logika, relasi dan perbandingan yang menghasilkan bilangan boolean 1 (benar) atau 0 (salah).
Dalam pernyataan switch, penyeleksian dilakukan dengan memeriksa kondisi (lebih tepatnya nilai) dari suatu variabel bertipe integer, char atau enum dan menemukan kesamaan data yang dicari oleh salah satu label case yang ada.
Bentuk pernulisan
switch (kondisi )
{
   case konstanta-1 :
         … perintah;
         … perintah;
   break;
   case konstanta-2 :
         … perintah;
         … perintah;
   break;
   default :
         … perintah;
         … perintah;
   break;
}
Pernyataan switch dimulai dengan “switch” keyword dan setelah itu sertakan conditional expression yang diapit dengan sepasang tanda kurung “ () ”, conditional expression bisa berbentuk variabel dari integer, variabel dari char atau enum. dan kita juga bisa melakukan operasi aritmatika, hal itu diperbolehkan asal hasil dari operasi merupakan integer, char atau enum.
Dan di dalam pernyataan switch ada bebrapa case label sebanyak yang dibutuhkan. Penulisan diawali dengan keyword case dan diikuti dengan konstanta nilai yang dicari, Mereka dimasukan di dalam sepasang tanda kurung kurawal “ {} ”, case di dalam pernyataan switch merupakan label yang berfungsi untuk menandai nilai yang dicari.
Keyword break merupakan pernyataan lompatan, dan merupakan bagian optional (dapat tidak digunakan) berfungsi untuk mengeluarkan CPU yang sedang berada dalam pernyataan switch, keluar dan melanjutkan baris setelah keseluruhan pernyataan switch.
Label default merupakan pilihan yang akan dieksekusi dimana CPU tidak menemukan nilai yang dia cari sesuai yang dinyatakan pada conditional expression. Label tersebut tidak wajib untuk digunakan dan tempatnya harus berada di bawah.
Contoh Penulisan
   switch ( nomer ) {
         case 1 :
            cout << " Anda Memilih Angka 1 " ;
         break ;

         case 2 :
            cout << " Anda Memilih Angka 2 " ;
         break ;

         case 3 :
            cout << " Anda Memilih Angka 3 " ;
         break ;

         default :
            cout << " Pilihin default Terpilih " ;
         break ;
   }
Disaat CPU bertemu pernyataan switch, CPU akan memeriksa nilai yang berada sebagai conditional expression dari switch tersebut. dari situ CPU akan mencari konstanta pada label case yang sesuai dengan nilai yang di cari. Ketika telah ditemukan, maka CPU akan mengeksekusi perintah / pernyataan-pernyataan yang berada di bawah label dengan konstanta yang sesuai.
Keyword break merupakan optional, dapat tidak digunakan. Jika break tercantum, ketika CPU selesai mengeksekusi pernyataan di atas break dan bertemu break maka eksekutor akan dikeluarkan dari pernyataan switch dan melanjutkan baris setelah pernyataan switch. Dan jika break tidak disertakan, maka CPU akan terus berjalan untuk mengeksekusi semua pernyataan termasuk pernyataan yang berada pada label case lain hingga bertemu kurung kurawal penutup “}”.
   switch ( nomer ) { //jika nomer bernilai 2
         case 1 :
            cout << " Anda Memilih Angka 1 " ;

         case 2 : // CPU mulai mengeksekusi
            cout << " Anda Memilih Angka 2 " ; //Dieksekusi

         case 3 ://dan akan terus mengeksekusi semua pernyataan hingga betemu break atau akhir dari pernyataan switch
            cout << " Anda Memilih Angka 3 " ;

         default :
            cout << " Pilihin default Terpilih " ;
   }
Jika CPU tidak menemukan nilai yang sesuai pada seperti ekspresi, hal itu berarti CPU akan mengeksekusi perintah di dalam label default, jika pernyataan switch tidak mempunyai label default maka pernyataan switch akan diabaikan.
Contoh Program
#include <iostream>
using namespace std ;

int main() {
   int nomer ;

   cout << " Masukkan [1/2/3] : " ; cin >> nomer ;
   switch ( nomer ) {
         case 1 :
            cout << " Anda Memilih Angka 1 " ;
         break ;

         case 2 :
            cout << " Anda Memilih Angka 2 " ;
         break ;

         case 3 :
            cout << " Anda Memilih Angka 3 " ;
         break ;

         default :
            cout << " Pilihan default Terpilih " ;
         break ;
   }
    return 0 ;
}
Mendirikan variabel di dalam pernyataan swich.
Ini adalah sedikit informasi tambahan mengenai switch. Pada bahasa pemrogramana C++ kita dimungkinkan untuk mendirikan tapi tidak dapat inisialisasi. mungkin ini terdngar normal karena kita juga bisa mendirikan variabel pada pernyataan penyeleksian if. bukan hal itu yang akan penulis beritahu, ada sesuatu yang unik pada pernyatan switch.
Pendeklarasian beserta inisialisasi variabel kita dimungkinkan melakukan hal itu di dalam suatu ruang lingkup. Ruang lingkup function, pernyataan majemuk, bahkan pernaytaan if. dalam pernaytaan switch kita dimungkinkan untuk mendeklarasi sebuah variabel tapi tidak untuk di inisialisasi.
#include <iostream>
using namespace std ;

int main() {
    int nomer ;

    cout<<" Masukkan [1/2/3] : ";cin>>nomer;
    switch (nomer){
        case 1:
            char huruf ;
            huruf = 'a';
            cout<<huruf;
            break;

        case 2:
            huruf = 'b';
            cout<<huruf;
            break;
        case 3:
            huruf = 'c' ;
            cout<<huruf;
            break;

        default:
            huruf = 'z' ;
            cout<<huruf;
            break;
    }
    return 0 ;
}
Program di atas akan berjalan tanpa error. dan akan mencetak huruf a, b, c atau z dengan menggunakan variabel yang didirikan di dalam label case 1. Meskpun aliran eksekusi CPU memilih label case selain label 1 tapi variable itu tetap dapat digunakan.
Apa yang kita tau sebelumnya adalah, aliran pengeksekusian CPU jika menumukan pernayataan penyeleksian dia akan mengevaluasi conditional expression. Untuk program di atas conditional expressionnya adalah variabel ‘nomer’. Dan akan mengeksekusi perintah di bawah label case yang memiliki nilai yang sama.
Jika anda berpiki bahwa itu aneh, itu berarti anda benar. Kenapa variabel huruf tetap dapat digunakan meskipun berbeda case ?
Jawaban yang pertama adalah mereka masih didalam satu ruang lingkup. Dan kenapa variabel tersebut dapat digunakan meskipun CPU tidak terlihat menyentuhnya.
Disaat anda mendirikan local variabel, sebenarnya variabel tidak dubuat saat CPU mengeksekusi variabel tersebut tapi variabel dibuat dan ada ketika CPU bertemu dengan block pembuka ruang lingkup. Tapi variabel itu hanya tidak terlihat, dan terlihat setelah compiler bertemu deklarasi tersebut. Sebenarnya variabel tidak butuh untuk dieksekusi, keberadaan dari deklarasi variabel pada C++ sebenarnya hanya untuk memberitau compiler bahwa variabel akan terlhat setelah baris tersebut.
Dan hal yang lain, kita sebenarnya bisa deklarasi dan inisialisasi secara bersamaan di dalam pernyataan switch. Untuk membuat deklarasi variabel dengan inisialisasi di dalam pernyataan switch kita butuh sepasang block ruang lingkup yaitu sepasang tanda kurung kurawal “ {} ” tapi hal itu akan membatasi keberadaan dari variabel, yang bisa membuat tidak dapat digunakan di luar scope dan juga dalam label case lain.
#include <iostream>
using namespace std ;

int main() {
    int nomer ;

    cout<<" Masukkan [1/2/3] : ";cin>>nomer;
    switch (nomer){
        case 1:{
            char huruf = 'a' ;
            cout<<huruf;
            break;
            }

        case 2:
            huruf = 'b';
            cout<<huruf;
            break;
        case 3:
            huruf = 'c' ;
            cout<<huruf;
            break;

        default:
            huruf = 'z' ;
            cout<<huruf;
            break;
    }
    return 0 ;
}

Pembahasan dan Contoh Struktur Kontrol Percabangan pada Bahasa Pemrograman C++

Selamat datang di wawan setiawan03setiawan03.blogspot.com. Kali ini saya akan membahas tentang materi bahasa pemrograman C++ yaitu tentang Struktur Kontrol Percabangan. Struktur Kontrol Pecabangan merupakan suatu algoritma program memiliki suatu kondisi yang dimana kondisi tersebutlah yang akan menentukan perintah-perintah yang akan dijalankan oleh suatu program. Perintah dalam suatu kondisi akan dijalankan ketika kondisi tersebut bernilai benar, dan sebaliknya apabila kondisi bernilai salah maka perintah didalamnya tidak akan dijalankan.

 Ada beberapa macam Struktur Kontol Pecabangan yang ada didalam C++, yaitu :

 

Pecabangan if

Pecabangan if merupakan struktur kontrol pecabangan yang memiliki sebuah kondisi. Bentuk umum penulisannya adalah sebagai berikut.
if(kondisi){
 statement;
}
Contoh Penerapannya dalam kode program adalah sebagai berikut :
#include <iostream.h>
#include <conio.h>
main(){
 int a = 10;
 int b = 7;
 if(a>=b){
  a = 7;
  b = 10;
 }
 cout<<"Nilai A : "<<a<<endl;
 cout<<"Nilai B : "<<b<<endl;
 getch();
}

Percabangan if-else

Percabangan if-else merupakan struktur kontrol pecabangan yang memiliki sebuah kondisi yang apabila kondisi tersebut benar maka perintah yang didalamnya akan dijalankan dan apabila kondisinya salah maka ada perintah lainnya yang akan dijalankan oleh program. Bentuk umum penulisannya adalah sebagai berikut.
if(kondisi){
 statement;
}
else{
 statement;
}
Contoh Penerapannya dalam kode program adalah sebagai berikut :
#include <iostream.h>
#include <conio.h>
main(){
 int x;
 int angka = 10;
 cout<<"Angka 1 - 10"<<endl;
 cout<<"Masukan Tebakan anda : ";cin>>x;
 if(x==angka){
  cout<<"Tebakan anda benar"<<endl;
  cout<<"Selamat!";
 }
 else {
  cout<<"Maaf tebakan anda salah!";
 }
 getch();
}


Percabangan if-else if-else

Percabangan if-else if-else merupakan struktur kontrol pecabangan yang memiliki banyak kondisi. Bentuk umum penulisannya adalah sebagai berikut.
if(kondisi1){
 statement;
}
else if(kondisi2){
 statement;
}
else{
 statement;
}
Contoh Penerapannya dalam kode program adalah sebagai berikut :
#include <iostream.h>
#include <conio.h>
main(){
 int x;
 int angka = 6;
 cout<<"Angka 1 - 10"<<endl;
 cout<<"Masukan Tebakan anda : ";cin>>x;
 if(x==angka){
  cout<<"Tebakan anda benar"<<endl;
  cout<<"Selamat!";
 }
 else if(x>angka){
  cout<<"Tebakan anda terlalu besar";
 }
 else{
  cout<<"Tebakan anda terlalu kecil";
 }
 getch();
}


Percabangan switch

Percabangan switch merupakan struktur kontrol pecabangan yang juga memiliki banyak kondisi, akan tetapi kondisi dalam percabangan switch ini bertipe numerik. Default berfungsi untuk menjalankan perintah default/umum/dasar apabila kondisi tidak sesuai dengan nilai case yang ada. Bentuk umum penulisannya adalah sebagai berikut.
switch(kondisi){
 case konstanta_1:
 statement;
 break;
 case konstanta_2:
 statement;
 break;
 default:
 statement;
}
Contoh Penerapannya dalam kode program adalah sebagai berikut :
#include <iostream.h>
#include <conio.h>
main(){
 int nilai;
 cout<<"Masukan Nilai anda 0 - 10 : ";cin>>nilai;
 cout<<"Anda masuk kategori ";
 switch(nilai){
  case 10:
  case 9:
  cout<<"A";
  break;
  case 8:
  case 7:
  cout<<"B";
  break;
  case 6:
  case 5:
  cout<<"C";
  break;
  case 4:
  case 3:
  case 2:
  case 1:
  case 0:
  cout<<"D";
  break;
  default:
  cout<<"nilai anda tidak masuk kategori!";
 }
 getch();
}
 Itulah Pembahasan dan Contoh Struktur Kontrol Percabangan pada Bahasa Pemrograman C++. Semoga bermanfaat bagi anda. Sekian dulu dari saya dan Terima kasih sudah berkunjung.

BREAK dan CONTINUE dalam Bahasa C

BREAK dan CONTINUE dalam bahasa C digunakan bersama dengan logika perulangan WHILE, DO WHLE dan FOR. Statemen BREAK juga dijumpai pada saat menggunakan penyeleksian dengan SWITCH. Prinsip dasar BREAK adalah menghentikan sedangkan CONTINUE adalah melanjutkan.
Statemen BREAK digunakan untuk keluar dari perulangan meskipun kondisi syarat perulangan masih terpenuhi. Sedangkan statemen CONTINUE digunakan untuk meneruskan perulangan ke proses berikutnya tanpa mengerjakan perintah dibawahnya.


1,Statemen BREAK

Statemen BREAK berfungsi untuk keluar dari perulangan atau loop baik itu FOR, WHILE maupun DO WHILE. Statemen Break juga berfungsi untuk menuju akhir dari statemen SWITCH (penyeleksian). Pada perulangan menggunakan FOR, statemen BREAK akan mengarahkan program ke bagian akhir for tanpa mengerjakan perintah yang ada dibawahnya yang ada didalam FOR.

Contoh Penggunaan BREAK dalam SWITCH

 #include <stdio.h>     
      
 int main ()     
 {     
  int angka;    
  puts ("MASUKKAN ANGKA 1 SAMPAI 3 =");  
  scanf("%d",&angka);  
  puts ("ANDA MEMASUKKAN ANGKA = ");  
  switch (angka) {   
  case 1:   
   puts ("SATU");   
   break;   
  case 2:   
   puts ("DUA");   
   break;   
  case 3:   
   puts ("TIGA");   
   break;   
  default:   
   puts ("TIDAK DIANGGAP");   
  }   
  return 0;  
 }  
Pada contoh tampak sebuah penyeleksian angka 1 sampai 3 menggunakan SWITCH terhadap masukan keyboard. terlihat statemen BREAK ditaruh pada setiap akhir pernyataan disetiap kondisi didalam SWITCH. Ini bertujuan agar setelah pernyataan didalam sebuah kondisi dijalankan maka program akan langsung keluar dan menuju akhir SWITCH.

Contoh Penggunaan BREAK dalam FOR

 #include <stdio.h>  
 #include <getch.h>  
   
 #define ENTER 'n'      
  int main ()     
  {     
  char huruf;    
  puts ("TEKAN KEYBOARD =");   
   
  for(;;)  
  {  
     huruf=getche();  
     if(huruf == ENTER)  
     break;  
  }    
  puts ("Selesai");  
  return 0;   
  }   
Program diatas menggunakan perulangan dengan FOR yang tanpa batas. Jika dijalankan maka program akan selalu menerima input dari keyboard untuk ditampilkan pada layar melalui perintah getche(). Program akan berhenti jika user menekan tombol ENTER melalui statemen BREAK yang dijalankan setelah perintah if(huruf == ENTER).
Note : File getch.h adalah pengganti conio.h yang saya buat agar fungsi getche() bisa jalan di komputer Linux. Hal ini karena file conio.h hanya ada pada Windows atau MS-DOS.

 

2,Statemen CONTINUE

Statemen CONTINUE untuk mengarahkan eksekusi proses program ke proses berikutnya dalam satu perulangan atau loop yang sama. Pada perulangan WHILE dan DO WHILE, statemen CONTINUE menyebabkan eksekusi menuju ke proses pengujian kondisi perulangan.
Sedangkan pada perulangan FOR, statemen CONTINUE menyebabkan eksekusi program menjalankan operasi perubahan nilai pengendali perulangan pada FOR lalu dilanjutkan dengan mengujinya sesuai syarat kondisi perulangan.

Contoh Penggunaan CONTINUE dalam WHILE

 #include <stdio.h>  
 #include <getch.h>  
      
  int main ()     
  {     
  char huruf;    
  puts ("TEKAN KEYBOARD =");   
   
  while(1)  
  {  
     huruf=getch();  
     if((huruf <= '0') || (huruf>='9'))  
         continue;  
     else if(huruf == 'x')  
     {  
         printf("SELESAI");      
         break;  
     }  
     printf("%c",huruf);  
  }  
  return 0;   
  }   
Program diatas merupakan perulangan WHILE abadi dengan kondisi selalu benar atau tanpa kondisi yang bisa menghentikan perulangan WHILE (karena angka 1 selalu benar). Cara kerja dari program diatas adalah komputer hanya menerima masukan angka saja dari 0 sampai 9.
Pertama kita deklarasikan variabel huruf bertipe char. Lalu kita buat sebuah perulangan dengan WHILE(1). Didalam perulangan kita cek masukan keyboard melalui fungsi getch() lalu ditampilkan melalui perintah printf.
Jika pengguna memasukkan selain angka maka perintah printf yang ada dibawah tidak dijalankan karena ada statemen CONTINUE yang dieksekusi jika logika IF terpenuhi. Kemudian jika user menekan huruf x maka program akan dihentikan.

Contoh Penggunaan CONTINUE dalam FOR

 #include <stdio.h>  
      
 int main ()     
  {     
  int angka;  
    
  for(angka=0;angka<=20;angka+=2)  
  {  
     if(angka==11) continue;  
     printf("%d ",angka);  
  }  
  return 0;   
  }   
Program diatas akan menampilkan semua bilangan ganjil antara 0-20 kecuali angka 11. Jika angka sama dengan 11 maka logika IF terpenuhi dan statemen continue akan dijalankan sehingga perintah printf tidak dijalankan melainkan langsung menuju ke proses (iterasi) selanjutn

Pernyataan Switch

Pernyataan switch adalah adalah pernyataan penyeleksian untuk memanipulasi jalanya aliran program berdasarkan conditional expression, Meng...