Uji Kompetensi KEGIATAN BELAJAR 1 PERULANGAN DENGAN KONDISI DI AWAL

Bab 3 Algoritma Perulangan 161 3. Output dari algoritma di atas adalah ... a. 28 b. 29 c. 30 d. 31 e. 32 4. Jika nilai n dan a diganti dengan nilai berturut-turut adalah 5 dan 20 maka output algoritma di atas adalah .... a. 20 b. 24 c. 28 d. 32 e. 36 5. Perhatikan algoritma berikut Algoritma UlangAlik Variabel i, a, n, sum:integer 1 a=1 2 n=30 3 sum=0 4 WHILE an DO 5 a=ii 6 i=i+1 7 WRITE sum 8 END Apakah output dari algoritma di atas? a. 40 b. 45 c. 50 d. 55 e. 65

B. Essay

Buatlah algoritma untuk menentukan jumlah bilangan ganjil yang kurang dari 30 dengan struktur WHILE DO. Sajikan dalam pseudocode dan flowchart 162 Pemrograman Dasar SMK Kelas X Sem 1

3.2. KEGIATAN BELAJAR 2 PERULANGAN DENGAN KONDISI DI AKHIR

Sebagaimna yang dijelaskan di awal bahwa perulangan dengan kondisi persyaratan dapat di awal maupun di akhir. Keduanya mempunyai fungsi dan tujuan yang sama dan dapat dikonversi satu sama lain. Dari bentuk bentuk persyaratan di di awal menjadi persyaratan di akhir dan sebaliknya. Namun pada beberapa kasus, ada permasalahan yang lebih cocok jika menggunakan perulangan dengan syarat di awal, namun sebaliknya juga ada permasalahan yang lebih cocok menggunakan perulangan dengan syarat di akhir.

3.2.1. Tujuan Pembelajaran

Dengan kegaiatan belajar ini siswa diharapkan memahami algoritma perulangan dengan kondisi di akhir dan menerapkannya untuk menyelesakan masalaha dalam dunia nyata

3.2.2. Aktivitas Kegiatan Belajar

3.2.2.1. Mengamati Kasus 1

Perhatikan potongan algoritma berikut. Algoritma HELLO Variabel i:integer 1 i=1 2 REPEAT 3 WRITE “Hello” 4 i=i+1 5 UNTIL i=10 Kasus 2 Perhatikan kedua algoritma ini Algoritma 1 Variabel a:integer 1 a=5 2 WHILE a=100 DO 3 WRITE a 4 a=a+5 5 END Algoritma 2 Variabel a:integer 1 a=5 2 REPEAT 3 WRITE a 4 a=a+5 5 UNTIL a100 6 END

3.2.2.2. Menanya

Dari dua kasus di atas, buatlah pertanyaan seperti contoh berikut. Bab 3 Algoritma Perulangan 163 Kasus 1 1. Apa keluaran dari algoritma di atas, berapa kali dicetak “Hello”? 2. Apa arti REPEAT UNTIL? 3. Apa fungsi variabel i? 4. Apa fungsi kondisi i=10, dan sebagainya Kasus 2 1. Apa keluaran dari kedua algoritma tersebut? 2. Apa arti REPEAT UNTIL? 3. Perintah yang manakah yang akan diulangi terus? Kapan perulangan itu dihentikan 4. Kapan perulanagan seperti [ada algoritma 2 digunakan?

3.2.2.3. Mengumpulkan InformasiMencoba

Pada dua kasus ini ditunjukkan bagaimana membuat perulangan dengan kondisi di akhir. Penggunaan kata REPEAT UNTIL menjadi kata kunci dari struktur perulangan ini. Perhatikan Kasus 1, diberikan nilai awal i=1, kemudian diperintahkan untuk mengulangi REPEAT dua pernyataan perikutnya WRITE “Hello” diikuti penambahan nilai i, i = i+1. Kemudian ada perintah UNTIL i=10. Artinya perulangan dilakukan sehingga i=10. Dari sini jelas apa peranan i dan kondisi i=10. Variabel i berfungsi sebagai iterator, yaitu variabel yang akan terus menyebabkan perulangan shingga dipenuhi i==10, perulangan baru akan berhenti. Jadi kondisi 1==10 menjadi sentinel nya. Apa yang terjadi jika tidak ada i atau kondisi, maka bisa jadi perulangan akan terus dilakukan tanpa batas. Maka algoritma menjadi salah karena tidak memnuhi syarat finite terbatas seperti yang telah dijelaskan pada Bab-bab awal. Perhatikan Kasus 2.Pada kasus dua ditunjukkan perbandingan antara dua algoritma. Algoritma 1 dan algoritma 2 menunjukkan dua buah algoritma dengan tujuan sama namun disajikan dengan dua cara yang berbeda. Sama-sama menggunakan perulangan namun pada Algoritma 1 digunakan perulangan dengan kondisi di awal sedangkan pada Algoritma 2 perulangan dengan kondisi di akhir. Dalam struktur perulangan dengan kondisi di awal, mensyaratkan bahwa perulangan dilakukan selama kondisi tertentu masih dipenuhi. Ini ditandai dengan penggunaan kata kunci WHILE kondisi DO. Sebaliknay dalam perulangan dengan kondisi di akhir. Perhatikan proses dalam Algoritma 2 sebagai berikut. 1 a=5 2 REPEAT 3 WRITE a 4 a=a+5 5 UNTIL a100