KENDALI PROSES 6.1 PENYELEKSIAN KONDISI (Selection) Penyeleksian yang dilakukan untuk pengambilan keputusan berdasarkan suatu syarat atau kondisi. Pada C terdapat dua buah statemen yang dapat digunakan untuk penyelekasian kondisi. Yaitu : 6.1.1
Statemen IF 6.1.1.1 Bentuk IF Sederhana Pernyataan IF dipakai untuk mengambil keputusan berdasarkan suatu syarat/kondisi. Kondisi yang digunakan dapat berupa kondisi ungkapan yang melibatkan operator relasi atau operator logika. Bentuk Umum
Flowchart
Kondisi
if ( kondisi ) pernyataan;
Salah
Benar
Pernyataan;
Proses selanjutnya
Keterangan : • kondisi, digunakan untuk menentukan pengambilan keputusan. • pernyataan, dapat berupa sebuah pernyataan atau statemen. Bagian pernyataan akan dijalankan / proses hanya jika kondisi bernilai benar. Contoh : if (3<5) printf(“ 3 lebih kecil dari 5”);
1
6.1.1.2 Bentuk IF_ELSE Pernyataan else tidak pernah berdiri sendiri tanpa kehadiran if. Pernyataan ini juga dipakai untuk mengambil keputusan berdasarkan suatu syarat/kondisi. Bentuk Umum
if ( kondisi ) pernyataan_1;
Flowchart
Kondisi
Benar
Salah
else
Pernyataan_2;
Pernyataan_1;
pernyataan_2; Proses selanjutnya
Keterangan : • kondisi, digunakan untuk menentukan pengambilan keputusan. • Pernyataan_1, bagian pernyataan_1 akan dijalankan / proses hanya jika kondisi bernilai benar. • Pernyataan_2, bagian pernyataan_2 akan dijalankan / proses hanya jika kondisi bernilai salah. Pernyataan pada if maupun else dapat berupa pernyataan tunggal ataupun majemuk. Kemungkinan lain selain bentuk diatas adalah : Kemungkinan 1 : If ( kondisi ) Pernyataan_1; else { pernyataan_2; pernyataan_2a; ………………… }
Kemungkinan 2 : If ( kondisi ) { Pernyataan_1; Pernyataan_1a; …………….. } else pernyataan_2;
2
Kemungkinan 3 : If ( kondisi ) { Pernyataan_1; Pernyataan_1a; …………….. } else { pernyataan_2; pernyataan_2a; ………………… }
6.1.1.3 Bentuk IF Tersarang Pernyataan ini adalah pernyataan if yang terletak didalam if , dipakai untuk mengambil keputusan berdasarkan beberapa syarat/kondisi. Dan jika semua syarat kondisi tidak terpenuhi maka pernyataan_x yang akan dikerjakan. Bentuk Umum if ( kondisi_1 ) pernyataan_1; else if ( kondisi_2 ) pernyataan_2; else if ( kondisi_3 ) pernyataan_3; else if ( kondisi_n ) pernyataan_n; else pernyataan_x; Flowchart
Salah
Kondisi_1 Benar
Pernyataan_1;
Salah
Kondisi_2 Benar
Pernyataan_2;
Salah
Kondisi_n Benar
Pernyataan_n;
Pernyataan_x;
Proses selanjutnya
3
Bentuk pernyataan if tersarang ini bermanfaat untuk menyeleksi sejumlah kemungkinan tindakan. Penyeleksian dilakukan secara bertingkat. Begitu ada kondisi yang bernilai benar, pernyataan yang bersesuaian dengan kondisi tersebut akan dijalankan. Sekiranya tidak ada kondisi yang memenuhi, maka pernyataan_x yang akan dijalankan.
6.1.2
Statemen SWITCH Pernyataan switch adalah pernyataan yang digunakan untuk menjalankan salah satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari sebuah ungkapan dan nilai penyeleksi. Atau digunakan untuk pengambilan keputusan berganda dengan menguji ungkapan bernilai bulat. Bentuk umum :
switch ( ungkapan ) { case ungkapan_1 : pernyataan_1; break; case ungkapan_2 : pernyataan_2; break; ……… ……… case ungkapan_n
: pernyataan_n; break;
default; pernyataan_x; }
Keterangan : • •
ungkapan, pada pernyataan switch dapat berupa sebuah ungkapan, konstanta atau variabel. ungkapan_1, ungkapan_2 sampai dengan ungkapan_n , dapat berupa sembarang konstanta atau variabel bertipe int dan char.
Pencocokan ungkapan dengan ungkapan_1, ungkapan_2 sampai dengan ungkapan_n dapat dilakukan secara berurutan, dimulai dari yang pertama. Sekiranya cocok, pernyataan yang mengikuti case bersangkutan akan dijalankan. Kalau selanjutnya pernyataan break ditemukan, eksekusi dari pernyataan switch berakhir. Pengunaan pernyataan break. Pernyataan break digunakan untuk memaksa proses untuk keluar dari suatu pernyataan ( memotong proses iterasi pada kalang ). 4
6.2 PERULANGAN (Looping) Pernyataan perulangan digunakan untuk mengulang satu atau lebih pernyataan / eksekusi. Pada C++ terdapat 3 macam bentuk pernyataan perulangan, yaitu :
6.2.1
Statemen FOR Pernyataan for dipakai untuk mengulang pengeksekusian terhadap satu atau sejumlah pernyataan. Bentuk Umum: for ( ungkapan_1; ungkapan_2; ungkapan_3) pernyataan; Flowchart:
for (ungkapan_1; ungkapan_2; ungkapan_3)
Pernyataan;
Keterangan : • Ungkapan_1, merupakan inisialisasi variabel kendali kalang. • Ungkapan_2, merupakan kondisi yang menentukan pengulangan atau merupakan tes kelanjutan kalang. • Ungkapan_3, merupakan pengatur / pemodifikasi nilai variabel kendali kalang. • Pernyataan, merupakan pernyataan yang akan di ulang. Contoh 6.1: #include <stdio.h> main( ) { int i; for (i=1; i<=10; i++) printf(“ BAHASA C ke : %i \n“,i); }
5
6.2.2
Statemen WHILE Pernyataan while merupakan kalang kondisional yang dipakai untuk mengulang pengeksekusian terhadap satu atau sejumlah pernyataan selama kondisi terpenuhi. Pengujian terhadap kondisi dilakukan di awal kalang. Bentuk Umum
Flowchart
Salah
while (kondisi) { pernyataan_1; pernyataan_2; …………… pernyataan_n; }
Kondisi Benar
Pernyataan_1; Pernyataan_2; Pernyataan_n;
Proses Selanjutnya..
Keterangan : Pada bagian pernyataan_1 hingga pernyataan_n ada kemungkinan tidak akan dieksekusi sama sekali ( kondisi awal tidak terpenuhi ).
Contoh 6.2: #include <stdio.h> main( ) { int i = 1; while (i<=10) { printf(“ BAHASA C ke : %i \n“,i); i++; } }
6
6.2.3
Statemen DO_WHILE Pernyataan do_while merupakan kalang kondisional yang dipakai untuk mengulang pengeksekusian terhadap satu atau sejumlah pernyataan. Pengujian terhadap kondisi dilakukan di akhir kalang. Kalang ini melakukan iterasi/pengulangan setidaknya satu kali. Bentuk Umum
do { pernyataan_1; pernyataan_2; …………… pernyataan_n; } while (kondisi);
Flowchart
Pernyataan_1; Pernyataan_2; Pernyataan_n;
Salah
Kondisi
Proses Selanjutnya..
Benar
Keterangan : • Kalang ini melakukan iterasi/pengulangan setidaknya satu kali. Bagian pernyataan_1 hingga pernyataan_n dieksekusi setidaknya satu kali. Selanjutnya, akan dieksekusi jika selama kondisi terpenuhi. Contoh 6.3: #include <stdio.h> main( ) { int i=1; do { printf(“ BAHASA C ke : %i \n“,i); i++; } while (i<=10) }
7