Konstruksi for untuk pencacah naik yang benar adalah

STRUKTUR PERULANGAN Struktur perulangan atau biasa disebut dengan looping digunakan untuk mengatur proses yang dijalankan secara berulang-ulang. Sehingga programmer tidak perlu menuliskan script nya secara berulang kali. Struktur kontrol perulangan mengijinkan kita untuk mengeksekusi sebuah statement atau sekelompok statement dalam jumlah yang banyak.

4.1. KEGIATAN BELAJAR 1 PERULANGAN DENGAN KONDISI DIAWAL

Coba perhatikan contoh kode program berikut :

Konstruksi for untuk pencacah naik yang benar adalah

Konstruksi for untuk pencacah naik yang benar adalah

Ketiga kode program di atas adalah contoh dari perulangan dengan kondisi diawal 

Jika kita lihat sekilas, maka kita bisa menyimpulkan bahwa kode program pertama dankedua memiliki struktur yang hampir sama, yang membedakan hanya yang pertama menggunakanpernyataan WHILE-DO, sedangkan yang kedua menggunakan pernyataan FOR-DO. Bagaimanadengan yang ketiga?  Yang ketiga menunjukkan sebuah contoh penggunaan dari sebuah nestedloops (perulangan bersarang / perulangan di dalam perulangan). Bagaimana cara kerja, hasil, dankapan ketiga kode program (pernyataan perulangan) tersebut di gunakan? Akan kita bahas padapembahasan berikut ini. 

Sebagaimana yang pernah dijelaskan pada semster lalu bahwa struktur perulanganmerupakan struktur yang tidak terpisahkan dengan algoritma dan pemrograman. Strukturperulangan memungkinkan program untuk melakukan serangkaian perintah secara berulang-ulang.Dan untuk memenuhi syarat bahwa algoritma harus finite (terbatas) maka dalam perulangan pastiada titik pemberhentian. Jika ternyata dalam sebuah kasus perulangan tidak mencapai titik berhentimaka dapat dikatakan algoritma tersebut salah. 

Titik pemberhentian dapat diberikan dengan beberapa cara, sebagai berikut :
1. Pemberhentian dengan syarat  Pemberhentian dengan syarat artinya ada sebuah kondisi yang akan menyebabkan perulangan berhenti. Pemberian syarat ini juga dapat dilakukan dengan dua cara, yaitu

a. Syarat diberikan di awal, di mana selama persayaratan dipenuhi maka dilakuakn serangkain perintah


b. Syarat diberikan di akhir, di mana proses akan diulang-ulang sampai syarat dipenuhi. Perbedaan antara a dan b adalah ketika syarat diberikan di awal, maka selama persayaratan itu dipenuhi , maka perulangan dilakukan. Jika kondisi sudah tidak dipenuhi maka berhenti. Sedangakan pada kasus syarat di akhir, dikerjakan serangkaian langkah. Setiap selesai rangkaian langkah diperiksa apakah kondisi sudah dicapai, jika belum maka proses diulangi lagi. Struktur yang sesuai dengan perulangan dengan kondisi di awal adalah struktur WHILE DO sedangkan untuk kondisi di akhir adalah dengan REPEAT UNTIL.
2. Pemberhentian dengan pencacah  Pemberhentian dengan pencacah, artinya dari awal sudah ditentukan bahwa perulangan akan dilakukan berapa kali. Pencacah ini juga ada dua macam cara, yaitu :

a. Pencacah naik 

Pemberhentian dengan pencacah naik artinya untuk suatu pencacah, misalkan i dari 1 sampai 100 lakukan rangkain langkah x. Artinya langkah tersebut akan diulangi sebanyak seratus kali. Dalam pascal untuk kasus pencacah naik digunakan struktur FOR TO DO.

 b. Pencacah turun

 Pemberhentian dengan pencacah turun , artinya sebaliknya untuk suatu pencacah i dari 100 sampai 1 lakukan rangkaian langkah x, artinya langkah x akan diulangi sebanyak seratus kali. Dalam pascal untuk kasus pencacah naik digunakan struktur FOR DOWNTO DO Penggunaan beberapa macam pemberhentian di atas tergantung dari situasi dan kondisi, untuk lebih jelasnya akan dijelaskan seperti berikut. Perulangan dengan struktur WHILE DO Dalam berbagai bahasa Pascal dikenal struktur WHILE DO, yang berarti selama memenuhi kriteri/kondisi tertentu, maka dilakukan serangkaian proses. Struktur ini dapat diterapkan pada contoh di atas sebagai berikut. Bentuk Umum:
Konstruksi for untuk pencacah naik yang benar adalah






Atau jika lebih dari satu pernyataan dapat dituliskan


Konstruksi for untuk pencacah naik yang benar adalah


Perhatikan Flow Diagram berikut: 

Konstruksi for untuk pencacah naik yang benar adalah


Untuk lebih jelasnya, perhatikan contoh kode program berikut, beserta dengan hasilnya.


Contoh 1



Konstruksi for untuk pencacah naik yang benar adalah

Konstruksi for untuk pencacah naik yang benar adalah




Perulangan dengan struktur FOR DO Perulangan dengan pencacah, yaitu menggunakan struktur FOR DO dimasukkan dalam pembahasan pada kegaiatan Belajar ini. Struktur ini digunakan untuk mengulang statement atau satu blok statement berulang kali sejumlah yang ditentukan. Bentuk umum :



Untuk lebih jelasnya, perhatikan contoh kode program berikut, beserta hasilnya.



Penulisan pernyataan yang akan diproses berulang kali tersebut dapat juga ditulis dalam bentuk blok pernyataan (diawali dengan BEGIN dan diakhiri dengan END), walaupun hanya berisi sebuah statement saja, sebagai berikut : 
Contoh 2  


 Dalam menyelesaiakan suatu permasalahan kita bisa menggunakan salah satu bentuk perulangan, apakah While Do ataupun For Do. Manakah yang lebih baik? Keduanya mempunyai kelebihan dan kekurangan sendiri-sendiri. Ada permasalahan yang dapat diubah dalam dua bentuk eprulangan tapi ada yang lebih mudah menggunakan bentuk For Do, tapi ada juga yang hanya bisa digunakan bentuk While Do.
Perhatikan dua contoh pertama pada bagian mengamati. 


Konstruksi for untuk pencacah naik yang benar adalah


Kedua program di atas mempunyai keluaran yang sama yaitu mencetak ‘Pascal’ sebanyak 5 kali, yaitu untuk i=1 sampai 5. Dalam While Do,
 - pertama i diberi nilai 1,
 - Periksa apakah i <= 5? Iya maka tuliskan ‘Pascal’ kemudian nilai i ditambah 1 menjadi 2
 - Periksa apakah i<=5? Iya , maka tuliskan Pascal, i=i+1=3
 - Periksa apakah i<=5? Iya , maka tuliskan Pascal, i=i+1=4 - Periksa apakah i<=5? Iya , maka tuliskan Pascal, i=i+1=5 
- Periksa apakah i<=5? Iya , maka tuliskan Pascal, i=i+1=6
- Periksa apakah i<=5?Tidak, maka STOP 
Di sini i berfungsi sebagai iterator dan 5 sebagai nilai sentinel. 
Dalam struktur FOR DO, iterator dan sentinel diringkas dalam bentuk for i:=1 to 5, di mana i otomatis bertambah naik, mulai dari nilai awal 1 menjadi 5. Oleh karena itu struktur For Do disebut perulangan dengan pencacah. 
Contoh berikut kode program dengan dua struktur berbeda untuk masalah yang sama.
Contoh 3. 
Buatlah program untuk mementukan suku ke-n dari barisan berikut.

 2,7,12,17,22, .... 

Jawab: Barisan di atas adalah barisan aritmatika di mana selisih tiap suku berturutan adalah 5. Dengan struktur For Do. 


Konstruksi for untuk pencacah naik yang benar adalah

Konstruksi for untuk pencacah naik yang benar adalah

Dari kode program di atas dapat dilihat bahwa suku pertama adalah 2, sehingga dinyatakan nilai awal suku:=2. Berikutnya untuk suku kedua, ketiga dan seterusnya (i=2, 3, 4, ..) dihitung nilai suku setelahnya adalah suku sebelumnya ditambah 5 (suku:=suku+5). 
Berikut ini programnya dengan struktur WHILE DO. 


Konstruksi for untuk pencacah naik yang benar adalah

Contoh 4. 

Buatlah program untuk menentukan suku terbesar yang kurang dari n dari barisan 2, 4, 8, 16, .... Jawab: Masalah ini kurang cocok diselesaikan dengan struktur FOR DO karena banyaknya perulangan tidak diketahui dengan pasti sehingga sulit mementukan ioterator dan nilai sentinelnya. Dengan menggunakan struktur While Do dapat diperoleh solusi sebagai berikut

Konstruksi for untuk pencacah naik yang benar adalah


Konstruksi for untuk pencacah naik yang benar adalah

Misalkan n adalah 50, kita dapat menelusuri program di atas sebagai berikut. 

Suku=2, periksa apakah suku<50? Ya, maka suku=suku*2=4 

Suku=4, periksa apakah suku<50? Ya, maka suku=suku*2=8 

Suku=8, periksa apakah suku<50? Ya, maka suku=suku*2=16 

Suku=16, periksa apakah suku<50? Ya, maka suku=suku*2=32 

Suku=32, periksa apakah suku<50? Ya, maka suku=suku*2=64 

Suku=64, periksa apakah suku<50? STOP, lihat nilai terakhir suku adalah 64, karena ketika suku=32, pasti masih tetap dikalikan 2, sehigga setelah iterasi berakhir maka perlu dibagi lagi dengan 2. 

Nested Loops (perulangan bersarang)

Dalam beberapa permasalahan sering dijumpai perulangan di dalam perulangan. Bisa menggunakan berbagai struktur WHILE DO atau FOR DO atau kombinasi dari struktur perulangan yang berbeda-beda.

Sedangkan bentuk umum untuk perulangan bersarang WHILE DO adalah sebagai berikut

Konstruksi for untuk pencacah naik yang benar adalah

Untuk lebih jelasnya, perhatikan contoh kode program berikut, beserta dengan hasilnya.  



Konstruksi for untuk pencacah naik yang benar adalah


Dalam program di atas diulangai dari i=1 sampai 5.
i=1, ulangi dari j=1 sampai 1 tuliskan ‘*’, kemudian ganti baris (writeln)
i=2, ulangi dari j=1 sampai 2 tuliskan ‘*’ sehingga ada dua ‘*’ , kemudian ganti baris (writeln) 
i=3, ulangi dari j=1 sampai 3 tuliskan ‘*’ sehingga ada tiga ‘*’ , kemudian ganti baris (writeln) 
i=4, ulangi dari j=1 sampai 4 tuliskan ‘*’ sehingga ada empat ‘*’ , kemudian ganti baris (writeln) 
i=5, ulangi dari j=1 sampai 5 tuliskan ‘*’ sehingga ada lima ‘*’ , kemudian ganti baris (writeln) 

4.2. KEGIATAN BELAJAR 2 PERULANGAN DENGAN KONDISI DI AKHIR 

Perhatikan Souce code berikut :

Konstruksi for untuk pencacah naik yang benar adalah

Kedua contoh di atas adalah contoh kode program dari struktur kontrol yang akan dibahas selanjutnya 

REPEAT UNTIL

Digunakan untuk mengulang (repeat) statement atau blok statement sampai (until) kondisi yang diseleksi di Until tidak terpenuhi. 

Bentuk Umum :

Konstruksi for untuk pencacah naik yang benar adalah

Coba perhatikan flow diagram berikut ini :

Konstruksi for untuk pencacah naik yang benar adalah

Untuk lebih jelasnya, perhatikan contoh kode program berikut, beserta dengan hasilnya. 

Contoh 1 

Konstruksi for untuk pencacah naik yang benar adalah

Konstruksi for untuk pencacah naik yang benar adalah

Program di atas diawali dengan nilai awal digit=1, kemudian dilakukan perintah

           writeln (digit);

           digit := digit + 1

 hingga nilai digit>5.

Contoh 2

Konstruksi for untuk pencacah naik yang benar adalah

Bagaimana jika kondisi diganti dengan a=21? Smaapi kapanpun syarat ini tidak akan dipenuhi karena nilai dari a pasti genap, sedangkan 21 ganjil. Dengan demikian terjadi perulangan terus menerus.

Lalu,kapan kita akan menggunakan Perulangan dengan kondisi di awal, dalam hal ini adalah WHILE DO dengan Perulangan dengan kondisi di akhir yaitu REPEAT UNTIL, adalah Perbedaan antara struktur REPEAT-UNTIL dengan WHILE-DO adalah sebagai berikut :

 1) Paling sedikit statement-statement di dalam perulangan REPEAT-UNTIL diproses sekali, karena seleksi kondisi ada pada statement Until yang terletak dibawah. Sedang pada struktur WHILE-DO paling sedikit dikerjakan nol kali, karena seleksi kondisi ada pada statement While yang terletak diatas, sehingga kalau kondisi sudah tidak terpenuhi, maka tidak akan masuk ke dalam lingkungan perulangan.

 2) Pada REPEAT-UNTIL dapat tidak dipergunakan blok statement (tidak diperlukan Begin dan End untuk menunjukkan batas perulangannya), karena batas perulangannya sudah ditunjukkan oleh Repeat sampai dengan Until (Repeat dan Until sebagai pengganti Begin dan End). 

    4.3. KEGIATAN BELAJAR 3 PERULANGAN DENGAN KONDISI DIINPUTKAN USER 

 Mengamati

 Perhatikan Program berikut.

    4.4. KEGIATAN BELAJAR 4 PERULANGAN DENGAN PERNYATAAN BREAK & CONTINUE

. Mengamati

 Coba perhatikan contoh kode program beriku

Konstruksi for untuk pencacah naik yang benar adalah


Konstruksi for untuk pencacah naik yang benar adalah

Di dalam pascal sendiri kedua pernyataan tersebut di sampaikan dalam bentuk sebagai berikut

1) BREAK 

Pernyataan BREAK di dalam Pascal memiliki 2 buah kegunaan, yaitu

     1. Pernyataan break yang ditemukan di dalam sebuah perulangan, otomatis akan menghentikan kontrol perulangan tersebut dan kontrol program selanjutnya akan dilanjutkan pada pernyataan setelah perulangan

     2. Pernyataan break juga dapat digunakan untuk menghentikan pernyataan case of yang sudah dibahas pada bab sebelumnya

  Bentuk umum:

     If (kondisi)

        Break;

Coba perhatikan flow diagram berikut, yaitu penggunaan break pada struktur WHILE DO.

Konstruksi for untuk pencacah naik yang benar adalah

Contoh 1

Konstruksi for untuk pencacah naik yang benar adalah

Konstruksi for untuk pencacah naik yang benar adalah

2) CONTINUE

       Pernyataan continue di dalam Pascal bekerja seperti halnya pernyataan break. Break digunakan untuk menghentikan secara paksa sebuah proses, tetapi continue secara paksa akan melanjutkan perulangan selanjutnya, dan mengabaikan kode-kode diantara keduanya.

Bentuk umum:

Konstruksi for untuk pencacah naik yang benar adalah

Coba perhatikan flow diagram berikut, yaitu penggunaan continue pada struktur repeat until

Konstruksi for untuk pencacah naik yang benar adalah

Untuk lebih jelasnya, perhatikan contoh kode program berikut, beserta hasilnya 

Contoh 2. 

Konstruksi for untuk pencacah naik yang benar adalah


Konstruksi for untuk pencacah naik yang benar adalah


Page 2