Tugas Algoritma Pemrograman dan Struktur Data “Bahasa C Program Control : Selection & Repetition”
NAMA NIM
: Desi Dwi Chyntia Anwar : 18066013
TEKNIK ELEKTRONIKA FT - UNP
Bahasa C Program Control : Selection & Repetition Program Control : Selection & Repetition adalah perintahperintah yang digunakan untuk menguji maupun mengulangi satu atau lebih statement. Perintah Selection ada 3 jenis : If..Else, Switch..Case dan Ternary Operator
If merupakan perintah seleksi yang sering digunakan. Perintah If sendiri dapat digunakan tanpa else maupun digabung menjadi If..Else berjenjang. Perintah If akan menguji kebenaran kondisi yang disebutkan di dalam tanda ( ) dan apabila kondisi tersebut bernilai benar maka program akan menjalankan perintah (atau beberapa perintah) yang ada dalam tanda { }. Jika if digunakan bersama Else, maka program akan menguji nilai kondisi yang ada dalam tanda ( ), jika bernilai benar maka perintah yang ada dalam tanda { } setelah if akan dijalankan dan sebaliknya jika bernilai salah maka perintah yang ada dalam tanda { } setelah else yang dijalankan. Perintah If..Else dapat ditulis berjenjang untuk menguji kebenaran dari beberapa kasus yang berkaitan. Kelebihan dari perintah If..Else adalah dapat menguji kebenaran suatu kondisi yang menggunakan beberapa operand dan operator.
Untuk If tunggal tanpa Else (1 kasus), berikut ini adalah penjelasannya :
Syntax :
if (kondisi) { statement_yang_akan_dikerjakan; } atau if (kondisi) { statement_yang_akan_dikerjakan_1; statement_yang_akan_dikerjakan_2; ……… } Contoh :
Untuk perintah If..Else (2 kasus), berikut ini adalah penjelasannya :
Syntax : if (kondisi) { statement_yang_akan_dikerjakan_jika_kondisi_benar; } else { statement_yang_akan_dikerjakan_jika_kondisi_salah; } atau if (kondisi) { statement_yang_akan_dikerjakan_1_jika_kondisi_benar; statement_yang_akan_dikerjakan_2_jika_kondisi_benar; ……… } else { statement_yang_akan_dikerjakan_1_jika_kondisi_salah; statement_yang_akan_dikerjakan_2_jika_kondisi_salah; ……… }
Contoh :
Untuk If..Else ( >2 kasus), berikut ini penjelasannya :
Syntax : if (kondisi-1) { statement_yang_akan_dikerjakan_jika_kondisi-1_benar; } else if (kondisi-2) { statement_yang_akan_dikerjakan_jika_kondisi-2_benar; } else if (kondisi-3) { statement_yang_akan_dikerjakan_jika_kondisi-3_benar; } else if (kondisi-4)
{ statement_yang_akan_dikerjakan_jika_kondisi-4_benar; } else { statement_alternatif; //yang akan dikerjakan jika semua kondisi salah; } Contoh :
Switch..Case Pernyataan atau statement ‘switch’ digunakan untuk melakukan pemilihan terhadap ekspresi atau kondisi yang memiliki nilai–nilai konstan. Oleh karena itu, ekspresi yang didefinisikan harus menghasilkan nilai yang bertipe bilangan bulat atau karakter. Untuk mendefinisikan nilai–nilai konstan tersebut adalah dengan menggunakan kata kunci ‘case’. Hal yang perlu diperhatikan juga adalah kita harus menambahkan statement ‘break’ pada setiap nilai yang kita definisikan. Kata kunci ‘break’ digunakan untuk keluar dari pernyataan ‘switch’. Kata kunci ‘default’ digunakan untuk menyimpan statement alternatif, yang akan dieksekusi apabila semua nilai yang didefinisikan tidak ada yang sesuai dengan ekspresi yang ada. Pernyataan alternatif ini keberadaannya merupakan pilihan (opsional) saja, sehingga boleh ada dan boleh juga tidak ada. Berikut ini penjelasannya:
Syntax : switch (ekspresi) { case konstan-1: pernyataan-1;break; case konstan-2: { pernyataan-2a; pernyataan-2b;
break; } case konstan-2: pernyataan-3;break; case konstan-4: pernyataan-4;break; default : pernyataan_default;break; } Contoh :
Ternary Operator : Operator adalah bentuk singkat dari If..Else yang mempermudah penulisan program maupun saat dibaca oleh orang lain. Ternary Operator biasanya digunakan untuk mempersingkat baris program dan pada saat memvalidasi form. Ternary Operator terdiri dari 3 expression dimana expression 1 adalah expression yang akan diuji, jika menghasilkan nilai benar maka laksanakan expression 2 dan jika bernilai salah maka laksanakan expression 3.
Syntax : ekspresi_1 ? ekspresi_2 : ekspresi_3; Contoh :
Hasil :
Perintah Repetition ada 3 jenis : For, While dan Do..While
Perulangan For ini digunakan untuk menuliskan jenis pengulangan yang banyaknya sudah pasti atau telah diketahui sebelumnya. Oleh karena itu, kita harus melakukan inisialisasi
nilai untuk kondisi awal pengulangan dan juga harus menuliskan kondisi untuk menghentikan proses pengulangan. Untuk Perulangan For (1 kondisi) penjelasannya sebagai berikut : Syntax : for (nilai awal; tes kondisi nilai; operasi perubahan nilai) { kode yang akan dijalankan jika kondisi bernilai benar; } Cara kerja perulangan for adalah : 1. Melaksanakan nilai awal terlebih dahulu (batas awal perulangan) 2. Laksanakan tes kondisi nilai, jika bernilai benar (TRUE) maka jalankan barisan kode 3. Laksanakan operasi perubahan nilai yang dapat berupa penambahan atau pengurangan Langkah 1-3 dilakukan berulangkali sampai tes kondisi nilaimenghasilkan nilai salah (FALSE)
Contoh :
hasil
Untuk Perulangan For berjenjang atau Nested For (lebih dari 1 kondisi) penjelasannya sebagai berikut : Syntax : for (nilai awal; tes kondisi nilai; operasi perubahan nilai) //perintah for 1 { for (nilai awal 2; tes kondisi nilai 2; operasi perubahan nilai 2) //perintah For 2 { barisan kode 2; //barisan kode pada perintah for 2 } barisan kode 1; //barisan kode pada perintah for 1 }
Cara kerja perulangan Nested For adalah : 1. Melaksanakan nilai awal pada Perintah For 1 terlebih dahulu (batas awal perulangan) 2. Laksanakan tes kondisi nilai 1, jika bernilai benar (TRUE) maka jalankan Nilai Awal ke 2 pada Perintah For 2, jika bernilai benar (TRUE) maka jalankan barisan kode 2. 3. Laksanakan operasi perubahan nilai 2 yang dapat berupa penambahan atau pengurangan sampai tes kondisi nilai 2 menghasilkan nilai salah (FALSE) yang mengakhiri Perintah For 2. 4. Setelah mengakhiri Perintah For 2, program akan menjalankan barisan kode 1 (jika ada) sebelum melaksanakan operasi perubahan nilai 1yang dapat berupa penambahan atau pengurangan.
Langkah 1-4 dilakukan berulangkali sampai tes kondisi nilai 1menghasilkan nilai salah (FALSE)
Contoh :
hasil :
Perulangan While Pada struktur pengulangan “while“, kondisi akan diperiksa di bagian awal. Hal ini tentu menyebabkan kemungkinan bahwa apabila ternyata kondisi yang kita definisikan tidak terpenuhi
(bernilai salah), maka proses pengulangan pun tidak akan pernah dilakukan. Penjelasan dari struktur while adalah sebagai berikut : Syntax : while (tes kondisi nilai) { pernyataan-1_yang_akan_diulang jika bernilai benar; pernyataan-2_yang_akan_diulang jika bernilai benar; dst… } Cara kerja perulangan while : 1. Melaksanakan tes kondisi nilai 2. Jika bernilai benar, jalankan barisan kode 3. Lakukan perulangan sepanjang tes kondisi nilai menghasilkan nilai benar
Contoh :
Hasil
Perulangan Do..While Berbeda dengan struktur while di mana kondisinya terletak di awal blok perulangan, pada struktur do-while kondisi diletakkan di akhir blok pengulangan. Hal ini menyebabkan bahwa statement yang terdapat di dalam blok perulangan ini pasti akan dieksekusi minimal satu kali, walaupun kondisinya bernilai salah sekalipun. Syntax : do { kode yang dijalankan ; } while( tes nilai kondisi ); Cara kerja perulangan Do While : 1. Laksanakan kode yang dijalankan 2. Laksanakan tes nilai kondisi, jika bernilai benar lakukan perulangan ke langkah 1.
Contoh :
Pada program diatas, perulangan Do While melaksanakan 1 kali perintah tampilkan nilai dari variable angka (11) sebelum mengetes kondisi dimana nilai variable angka harus kurang dari sama dengan 10
Contoh 2 :
Pada program diatas, perulangan Do While melaksanakan perintah tampilkan nilai dari variable angka (1-10) sebelum mengetes kondisi dimana nilai variable angka harus kurang dari sama dengan 10. hasil :
Perbandingan For, While, dan Do..While