Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

MATERI 6 REPETITION / PERULANGAN LOOP/Iteration. Pendahuluan Meskipun penggunaan prosedur mampu me- nyingkat instruksi, namun penggunaan prosedur tak.

Presentasi serupa


Presentasi berjudul: "MATERI 6 REPETITION / PERULANGAN LOOP/Iteration. Pendahuluan Meskipun penggunaan prosedur mampu me- nyingkat instruksi, namun penggunaan prosedur tak."— Transcript presentasi:

1 MATERI 6 REPETITION / PERULANGAN LOOP/Iteration

2 Pendahuluan Meskipun penggunaan prosedur mampu me- nyingkat instruksi, namun penggunaan prosedur tak mampu menghilangkan sekuens instruksi yang bersifat perulangan atau repetisi dalam suatu program. Meskipun penggunaan prosedur mampu me- nyingkat instruksi, namun penggunaan prosedur tak mampu menghilangkan sekuens instruksi yang bersifat perulangan atau repetisi dalam suatu program. Penggunaan instruksi repetisi bersifat meng- hemat penulisan dan membuat struktur logika dari suatu program menjadi lebih sederhana dan jelas sehingga mudah dipahami, dimodifikasi bilamana diperlukan. Penggunaan instruksi repetisi bersifat meng- hemat penulisan dan membuat struktur logika dari suatu program menjadi lebih sederhana dan jelas sehingga mudah dipahami, dimodifikasi bilamana diperlukan.

3 Perulangan/Repetisi Sederhana Perhatikan pola berikut : Perhatikan pola berikut :********* Pola tersebut diwujudkan dengan perintah : NL; p*;p*;p*; NL; p*;p*;p*; NL; p*;p*;p* NL; p*;p*;p*atau def r3(p) = p();p();p() enddef def tiga() = NL; p*;p*;p* enddef r3(tiga)

4 Perulangan Sederhana Prosedur tersebut meskipun cukup baik tetapi tidak menolong untuk mencetak bujursangkar dengan ukuran yang berbeda-beda, misalkan 4x4, 2x2 dst. Prosedur tersebut meskipun cukup baik tetapi tidak menolong untuk mencetak bujursangkar dengan ukuran yang berbeda-beda, misalkan 4x4, 2x2 dst. Penggunaan perulangan/repetisi akan sangat menolong dalam hal-hal seperti ini. Salah satu perulangan sederhana dengan perintah times- do sbb: Penggunaan perulangan/repetisi akan sangat menolong dalam hal-hal seperti ini. Salah satu perulangan sederhana dengan perintah times- do sbb: times 3 do p* od  mencetak *** times 4 do NL; p* od  mencetak sekolom 4 *

5 Perulangan Sederhana Jadi, jika ingin menyederhanakan : p*; p*; p* Kita bisa merubahnya menjadi: times 3 do p* od Di mana 3 adalah batasan berapa kali perulangan akan dilakukan, p* adalah perintah yang akan diulang. Sedangkan times, do, dan od adalah syntax perintah.

6 Perulangan Sederhana Syntax perulangan : times F do P od Hal-hal yg perlu diperhatikan adalah : Batasan perulangan (F) tidak boleh diisi dengan angka negatif. Batasan perulangan (F) tidak boleh diisi dengan angka negatif. Jika F diisi dengan angka nol, maka tidak akan ada perulangan yang dilakukan. Jika F diisi dengan angka nol, maka tidak akan ada perulangan yang dilakukan. F bisa diisi dengan sebuah persamaan/rumus, misalnya 8-2 atau 2+3, selama hasil akhirnya bukan bilangan negatif. F bisa diisi dengan sebuah persamaan/rumus, misalnya 8-2 atau 2+3, selama hasil akhirnya bukan bilangan negatif.

7 Perulangan di dalam Perulangan Perhatikan pola berikut ini : **** **** **** Jika kita ingin mendapatkan bentuk seperti di atas, kita harus melakukan perulangan ke kanan dan perulangan ke bawah.

8 Perulangan di dalam Perulangan Perintah yg benar adalah : times 3 do NL; times 4 do p* od od Di mana jika program dijalankan, akan menghasilkan 4 perulangan ke kanan dan 3 perulangan ke bawah (yang masing2 menjalankan 4 perulangan ke kanan).

9 Perulangan di dalam Perulangan Jadi untuk pola 3x3 * dapat direalisasi sebagai berikut: Jadi untuk pola 3x3 * dapat direalisasi sebagai berikut: times 3 do NL; times 3 do p* od od {program 6.1}

10 Perulangan di dalam Perulangan Perhatikan program berikut: Perhatikan program berikut: times 3 do times 3 do p* od od; NL Ada berapa * dan NL yang tercetak?

11 Times-do dan Formula Bukan Konstan Seringkali perulangan bisa bersifat variabel agar dapat mencetak bujursangkar dengan ukuran yang berbeda. Perhatikan program perulangan dalam bentuk variabel berikut: Seringkali perulangan bisa bersifat variabel agar dapat mencetak bujursangkar dengan ukuran yang berbeda. Perhatikan program perulangan dalam bentuk variabel berikut: times n do times n do NL; times m do p* od NL; times m do p* od od {program 6.2} od {program 6.2}

12 Times-do dan Formula Bukan Konstan Kalau Program 6.2 dieksekusi dengan n = m = 3, maka didapatkan pola 3x3. Kalau Program 6.2 dieksekusi dengan n = m = 3, maka didapatkan pola 3x3. Salah satu cara untuk memberikan nilai adalah dengan menggunakan prosedur sebagai berikut: Salah satu cara untuk memberikan nilai adalah dengan menggunakan prosedur sebagai berikut: def rect(n,m) = times n do NL; times m do p* od NL; times m do p* od od od enddef (Program 6.3) Jika dipanggil : rect(2,4), apa outputnya?

13 Penulisan yang terstruktur Perhatikan program berikut ini : times 2 do NL; times 40 do NL; times 20 do p* od od od Program itu akan membingungkan kita saat konsentrasi kita melemah. Solusinya, gunakan penulisan yang terstruktur : times 2 do NL; times 40 do NL; times 20 do p* od odod

14 Perulangan di dalam Sequence Perulangan sederhana seperti times-do adalah suatu instruksi perulangan dengan jumlah pengulangan yang bersifat tetap sehingga tidak mampu untuk menangani semua bentuk perulangan yang ada. Perulangan sederhana seperti times-do adalah suatu instruksi perulangan dengan jumlah pengulangan yang bersifat tetap sehingga tidak mampu untuk menangani semua bentuk perulangan yang ada.

15 Perulangan di dalam Sequence Jika ingin mencetak pola berikut ini : Jika ingin mencetak pola berikut ini :*************** Maka programnya seperti berikut ini: Maka programnya seperti berikut ini: NL; p*; ( atau bisa juga ditulis NL; times 1 do p* od NL; times 2 do p* od; NL; times 3 do p* od; NL; times 4 do p* od; NL; times 5 do p* od; (Program 6.4)

16 Perulangan di dalam Sequence Namun dapat dilihat bahwa program ini mempunyai struktur yang bersifat perulangan di mana semua baris terdiri dari bentuk sbb: Namun dapat dilihat bahwa program ini mempunyai struktur yang bersifat perulangan di mana semua baris terdiri dari bentuk sbb: NL; times n do p* od dengan n mempunyai nilai yang berbeda-beda tetapi meningkat secara berurutan. Dapat dibuat prosedur sbb: def tn(n) = NL; times n do p* od enddef def tn(n) = NL; times n do p* od enddef tn(1); tn(2); tn(3); tn(4); tn(5) (Program 6.5) tn(1); tn(2); tn(3); tn(4); tn(5) (Program 6.5)

17 Perulangan di dalam Sequence Program 6.5 lebih sederhana dari Program 6.4, tetapi belum memanfaatkan struktur perulangan, karena masih terdapat suatu set pengulangan. Program 6.5 lebih sederhana dari Program 6.4, tetapi belum memanfaatkan struktur perulangan, karena masih terdapat suatu set pengulangan. Solusinya, dibuatlah bentuk perulangan for-do. Prosedur dalam Program 6.5 dapat dirubah menjadi sebagai berikut : Solusinya, dibuatlah bentuk perulangan for-do. Prosedur dalam Program 6.5 dapat dirubah menjadi sebagai berikut : for n runningthrough 1..5 do NL; times n do p* od od (Program 6.6) Catatan : syntax penulisan for-do untuk tiap-tiap bahasa pemrograman berbeda, tetapi menggunakan konsep yg sama. Catatan : syntax penulisan for-do untuk tiap-tiap bahasa pemrograman berbeda, tetapi menggunakan konsep yg sama.

18 Perulangan di dalam Sequence Program 6.5 digabung dengan Program 6.6 menjadi Program 6.5 digabung dengan Program 6.6 menjadi for n rt 1..5 do tn(n) od (Program 6.7)

19 Perulangan di dalam Sequence Nilai n yang menunjukkan berapa banyak perulangan akan dilakukan, dapat digantikan oleh rumus, misalnya : for n rt 1..5 do NL; times 6-n do print* od od

20 For Do yang Menghitung Turun Penggunaan for juga mengijinkan perhitungan turun. Penggunaan for juga mengijinkan perhitungan turun. for n rt 5..1 do NL; times n do p* od od (Program 6.8) Hasil: Hasil: ***** ***** **** **** *** *** ** ** *

21 Hal Penting dalam Perulangan Solusi yang kita tawarkan harus masuk akal (logis), terstruktur, dan sistematis. Solusi yang kita tawarkan harus masuk akal (logis), terstruktur, dan sistematis. Cari bagian-bagian program yang ditulis berulang-ulang. Cari bagian-bagian program yang ditulis berulang-ulang. Buat rumus/formula yang sistematis dan terstruktur untuk mendeskripsikan bagian- bagian yang berulang. Buat rumus/formula yang sistematis dan terstruktur untuk mendeskripsikan bagian- bagian yang berulang. Jika kita merencanakan sebuah solusi program berbasiskan perulangan, ada hal-hal yang harus diperhatikan :

22 Merencanakan Solusi dengan Perulangan Setiap kali ada persoalan, harus dipilih struktur mana yang paling tepat untuk persoalan tersebut, apakah menggunakan sequence atau perulangan Setiap kali ada persoalan, harus dipilih struktur mana yang paling tepat untuk persoalan tersebut, apakah menggunakan sequence atau perulangan Misal: Misal: ******* ******* * * * * *

23 Merencanakan Solusi dengan Perulangan Langkah 1: mencari penggalan-penggalan urutan Langkah 1: mencari penggalan-penggalan urutan –Baris pertama: NL; times 7 do p* od –Baris kedua: NL; ps; p*; times 4 do ps od; p* –Baris ketiga: NL; times 2 do ps od; p*; times 3 do ps od; p* –Baris keempat: NL; times 3 do ps od; p*; times 2 do ps od; p* NL; times 3 do ps od; p*; times 2 do ps od; p*

24 Merencanakan Solusi dengan Perulangan –Ternyata baris ke-2,3,4 dan 5 dari pola 7x7 di atas dapat dicetak menggunakan repetisi for. –Namun perhatikan juga bahwa program ini bukan suatu repetisi mutlak melainkan suatu sequence (urutan) sebagai berikut:  cetak baris pertama;  cetak baris-baris tengah menggunakan for;  cetak baris terakhir.

25 Merencanakan Solusi dengan Perulangan Langkah 2: mencari formula yang membuat situasi umum Langkah 2: mencari formula yang membuat situasi umum –Baris-baris tengah dari pola mempunyai bentuk sbb: NL; times F1 do ps od; p*; NL; times F1 do ps od; p*; times F2 do ps od; p* times F2 do ps od; p* –Terlihat bahwa untuk baris kedua F1 dimulai dari 1 sedangkan F2 mulai dari 2. Baik F1 dan F2 mempunyai maksimum 5.

26 Merencanakan Solusi dengan Perulangan Program lengkap menjadi sbb: Program lengkap menjadi sbb: NL; times 7 do p* od; for i rt 1..5 do for i rt 1..5 do NL; times i do ps od; p*; NL; times i do ps od; p*; times 5-i do ps od; p* times 5-i do ps od; p*od NL; times 6 do ps od; p* (Program 6. 9)

27 Merencanakan Solusi dengan Perulangan Untuk menggeneralisasikan program ini menjadi nxn segitiga maka 7 dapat diganti dengan n: Untuk menggeneralisasikan program ini menjadi nxn segitiga maka 7 dapat diganti dengan n: def segitiga (n) = NL; times n do p* od; for i rt 1..n-2 do NL; times i do ps od;p*; times n-2-i do ps od; p* od NL; times n-1 do ps od; p* enddef (Program 6.10)

28 Merencanakan Solusi: Raster Printing Dalam setiap penggambaran pola metoda yang selalu dipakai adalah penggambaran raster yaitu menurut baris per baris. Dalam setiap penggambaran pola metoda yang selalu dipakai adalah penggambaran raster yaitu menurut baris per baris. Metoda ini digunakan untuk mencetak sebaris k segitiga dengan ukuran nxn. Jarak antar segitiga satu spasi. (Latihan) Metoda ini digunakan untuk mencetak sebaris k segitiga dengan ukuran nxn. Jarak antar segitiga satu spasi. (Latihan) **** **** **** *** *** *** *** *** *** ** ** ** ** ** ** * * * * * *

29 -selesai-


Download ppt "MATERI 6 REPETITION / PERULANGAN LOOP/Iteration. Pendahuluan Meskipun penggunaan prosedur mampu me- nyingkat instruksi, namun penggunaan prosedur tak."

Presentasi serupa


Iklan oleh Google