SELAMAT DATANG SEMUA DAPATKANLAH BERBAGAI INFORMASI DISINI

Struktur Kontrol Percabangan C++

 A. Control Statement/Kontrol Kendali

Aliran program tidak selalu berjalan secara sekuensial berurutan dari atas ke bawah, kadang-kadang diperlukan percabangan atau perulangan atau kombinasi dari keduanya. Semua bahasa pemrograman mempunyai struktur kendali (control statement) demikian juga bahasa C++. Struktur kendali merupakan pengatur aliran program, mempunyai rangkaian perintah yang harus ditulis untuk memenuhi beberapa keadaan, yaitu:

 Mengulang suatu perintah jika suatu kondisi dipenuhi.

 Melanjutkan sebuah pernyataan bila kondisi terpenuhi.

 Memilih sebuah pilihan dari beberapa alternatif bila kondisi terpenuhi.

Struktur Percabangan Adalah perintah yang memungkinkan pemilihan atas perintah yang akan dijalankan sesuai dengan kondisi tertentu. Ada tiga macam perintah percabangan dalam C++, yaitu if, if...else, dan switch. Dengan percabangan, suatu baris program akan dikerjakan jika suatu kondisi dipenuhi (benar) atau tidak (else), jadi tidak semua baris program akan dieksekusi.


B. Percabanan dengan If

Percabangan dengan if

Sintaks penulisannya sebagai berikut:

if (<ekspresi_boolean>)

{

<statements>

}

Contoh penulisan dalam bahasa C++ yaitu:

int umur = 20;

if (umur >=18)

{

cout<<"Anda sekarang sudah remaja"<<endl;

}


Flowchart untuk statment ini adalah :


C. Percabangan dengan if .. else

Sintaks penulisannya sebagai berikut :

if (<ekspresi_boolean>)

{

<dijalankan jika ekspresi_boolean benar>

}

else

{

< dijalankan jika ekspresi_boolean salah>

}


Contoh penulisan dalam bahasa C++ yaitu:

int umur = 20;

if (umur >=18)

{

cout<<"Anda sekarang sudah remaja"<<endl;

}

else

{

cout<<"Anda sekarang masih kanak-kanak"<<endl;

}

Flowchart untuk statment ini adalah :

D. Percabangan if dalam if (If Bersarang)

Sintaks penulisannya sebagai berikut :

if (<ekspresi_boolean1>) {

<dijalankan jika ekspresi_boolean1 benar>

statements 1

}

else if (<ekspresi_boolean2>) {

<dijalankan jika ekspresi_boolean2 benar>

statements 2

}

Else if (<ekspresi_boolean3>) {

<dijalankan jika ekspresi_boolean3 benar>

statements 3

}

else

{

< dijalankan jika ekspresi_boolean1, boolean2, dan boolean3 salah>

statements 4

}


Contoh penulisan dalam bahasa C++ yaitu:

int umur = 20;

if (umur >=5) {

cout<<"Anda sekarang masih balita"<<endl;

}

else if (umur >=11) {

cout<<"Anda sekarang masih kanak-kanak"<<endl;

}

else if (umur >=25)  {

cout<<"Anda sekarang sudah remaja"<<endl;

}

else if (umur >=45)  {

cout<<"Anda sekarang sudah dewasa"<<endl;

}

else {

cout<<"Anda sekarang sudah langsia"<<endl;

}

E. Percabangan dengan switch

Perintah ini digunakan sebagai alternatif pengganti dari statment if … else dengan else lebih dari satu. Dengan perintah ini percabangan dapat diarahkan pada beberapa alternatif pilihan berdasarkan nilai ekspresi. Berbeda dengan if, switch tidak dapat medeteksi operator pembanding (>, <, dsb.), karena ekspresi degan operator ini menghasilkan nilai boolean, melainkan hanya dapat mengalihkan alur program ke suatu nilai yang sama, pada statement ini ekspresi yang diminta harus menghasilkan bilangan bulat.


switch (<ekspresi>)

{

    case <konst_1>: <pernyataan_1>;

        break;

    case <konst_2>: <pernyataan_2>;

        break;

    case <konst_n>: <pernyataan_n>;

        break;

    default : <pernyataan_default>;

}

    Perintah switch akan membaca nilai dari <ekspresi> kemudian membandingkan hasilnya dengan konstanta-konstanta (<konst_1>, <konst_2>, <konst_n>) yang berada di case. Pembandingan akan dimulai dari <konst_1> sampai konstanta <konst_n>. Jika hasil dari kondisi sama dengan nilai konstanta tertentu, misalnya <konst_1>, maka pernyataan 1 akan dijalankan sampai ditemukan break. Pernyataan break akan membawa proses keluar dari perintah switch. Jika hasil dari kondisi tidak ada yang sama dengan konstanta-konstanta yang diberikan, maka pernyataan pada default yang akan dijalankan.


Contoh penulisan dalam bahasa C++ yaitu:

int hari = 6;

switch(hari){

case 1 : cout << "Senin" << endl;

break;

case 2 : cout << "Selasa" << endl;

break;

case 3 : cout << "Rabu" << endl;

break;

case 4 : cout << "Kamis" << endl;

break;

case 5 : cout << "Jumat" << endl;

break;

case 6 : cout << "Sabtu" << endl;

break;

case 7 : cout << "Minggu" << endl;

break;

default: cout << "Tidak ada..." << endl;

}


F. Operator Ekspresi Bersyarat

Dalam kebanyakan bahasa pemrograman, ?: Disebut operator bersyarat. Ini adalah jenis operator terner . Namun, operator terner dalam banyak situasi merujuk secara khusus ke ?: Karena ini adalah satu-satunya operator yang membutuhkan tiga operan. 

Penggunaan reguler dari "?:"

?:digunakan dalam ekspresi bersyarat. Pemrogram dapat menulis ulang ekspresi if-then-else dengan cara yang lebih ringkas menggunakan operator bersyarat. 


Sintak penulisannya yaitu:

kondisi  ?  ekspresi  1  :  ekspresi  2


Penjelasan:

  • Kondisi: Ekspresi yang dievaluasi sebagai nilai boolean .
  • Ekspresi 1, ekspresi 2: Ekspresi dengan nilai jenis apa pun.
  • Jika kondisi dievaluasi ke true, ekspresi 1 akan dievaluasi. Jika kondisi dievaluasi sebagai salah, ekspresi 2 akan dievaluasi.
  • Ini harus dibaca sebagai: "Jika kondisi benar, tetapkan nilai ekspresi 1 ke hasil. Jika tidak, tetapkan nilai ekspresi 2 ke hasil.


Contoh penulisan dalam bahasa C++ yaitu:

#include  <iostream>

int  main ()  { 

int  x  =  1 ; 

    int  y  =  2 ; 

    cout  <<  (  x  >  y  ?  x  :  y  )  <<  "adalah yang terbesar dari keduanya.\n"; 

}

Ada beberapa aturan yang berlaku untuk operan kedua dan ketiga di C ++:

  • Jika kedua operan memiliki tipe yang sama, hasilnya adalah tipe tersebut
  • Jika kedua operan berjenis aritmatika atau enumerasi, konversi aritmetika biasa (tercakup dalam Konversi Standar) dilakukan untuk mengubahnya menjadi jenis umum
  • Jika kedua operan berjenis penunjuk atau jika salah satunya adalah jenis penunjuk dan yang lainnya adalah ekspresi konstan yang mengevaluasi ke 0, konversi penunjuk dilakukan untuk mengonversinya menjadi jenis yang umum
  • Jika kedua operan adalah tipe referensi, konversi referensi dilakukan untuk mengubahnya menjadi tipe umum
  • Jika kedua operan bertipe void, tipe yang umum adalah tipe void
  • Jika kedua operan memiliki tipe yang ditentukan pengguna yang sama, tipe yang umum adalah tipe itu.

Post a Comment

0 Comments