REPETITION / PERULANGAN LOOP/Iteration

Slides:



Advertisements
Presentasi serupa
Pemograman berorientasi prosedur merupakan bahasa pemrograman yang melibatkan fungsi-fungsi atau prosedur-prosedur sebagai sub program untuk membentuk.
Advertisements

Dosen : Rinci Kembang Hapsari, S.Si
DEFI CAHYADI PERULANGAN ATAU LOOP DEFI CAHYADI
TEORI ALGORITMA.
- PERTEMUAN 5 & 6 – PERULANGAN
STRUKTUR DASAR ALGORITMA
MATERI 8 CHOICE / PILIHAN.
MATERI 9 FUNGSI REKURSIF.
Algoritma dan Pemrograman
Struktur Kontrol #2 Perulangan
ALGORITMA & LOGIKA PEMROGRAMAN
Pemograman 1 Pertemuan 6.
2 JAM TEORI dan 1 jam praktek
Materi 5 Nama dan Environment Dasar-Dasar Pemrograman.
Algoritma Pemotongan Algoritma Gomory Langkah 1 x3* = 11/2 x2* = 1
MATERI 3 PROSEDUR.
IT-132 Dasar-Dasar Pemrograman
PENGULANGAN INSTRUKSI
PERTEMUAN 2 PENGERTIAN DASAR LOGIKA DAN ALGORITMA.
PENGULANGAN INSTRUKSI
LINEAR PROGRAMMING Pertemuan 05
Sistem Persamaan Aljabar Linear
MERANCANG PROGRAM DAN PSEUDOCODE 1 Metode Perancang Program.
Bahasa Pemrograman Dasar Pertemuan 6
DISUSUN OLEH : IPHOV KUMALA SRIWANA
ALGORITMA & PEMROGRAMAN I-A
KELOMPOK 02 ALOGARITMA PEMOGRAMAN TAHUN AJARAN
STRUKTUR DASAR ALGORITMA
Perulangan.
PROGRAM SEBAGAI LOGIKA INSTRUKSI
ALGORITMA PEMOTONGAN Algoritma Gomory.
STRUKTUR DASAR ALGORITMA
PROGRAM SEBAGAI LOGIKA INSTRUKSI
Metode Perancang Program
Pengantar Pemrograman
Metode Perancangan Program
Bahasa Pemprograman Dasar Pertemuan 7
ALGORITHMA DAN ATURAN PENULISANYA
Dasar – dasar Algoritma dan Pemrograman
Sindy Nova Algoritma dan Pemrograman 1A
Aliran Kendali (Flow Control)
Algoritma dan Pemrograman
Pemrograman Repetisi Ramos Somya, S.Kom., M.Cs..
IT-132 Dasar-Dasar Pemrograman
Algoritma & Struktur Data TG22113 Kartika Firdausy - UAD
LOGIKA & ALGORITMA Algoritma & Pengenalan Flow Chart
METODE SIMPLEKS Pertemuan 2
MANAJEMEN SAINS METODE SIMPLEKS.
TEKNIK RISET OPERASIONAL
Pengendalian Proses : Perulangan /Looping
JENIS DAN SIMBOL FLOWCHART PRODI MIK | FAKULTAS ILMU-ILMU KESEHATAN
IT132 Dasar-dasar Pemrograman
DASAR PEMROGRAMAN Anita Qoiriah ..
LOGIKA & ALGORITMA -Algoritma & Pengenalan Flow Chart
Matematika Diskrit TIF (4 sks) 3/9/2016.
Pertemuan ke 6 Nori Sahrun, S.Kom., M.Kom
Kenalan Alghoritma Wahab Sya’roni, M.Kom
IT-132 Dasar-Dasar Pemrograman
Bab 08 Menghitung Total Data yang Diinput Dari Keyboard
Perulangan.
Algoritma dan Pemrograman
Oleh : Pramesthi Handaru
Pemrograman & Dasar Komputer
TEORI ALGORITMA.
PENGULANGAN INSTRUKSI
PROGRAM SEBAGAI LOGIKA INSTRUKSI
LOGIKA & ALGORITMA KONSEP ALGORITMA & FLOWCHART M. Febriansyah, ST., MT.
Pemrograman Repetisi pada Pascal Ramos Somya, S.Kom., M.Cs.
Flowchart (Diagram Alur)
Oleh : Siti Salamah Ginting, M.Pd. PROGRAM LINIER METODE SIMPLEKS.
Transcript presentasi:

REPETITION / PERULANGAN LOOP/Iteration MATERI 6 REPETITION / PERULANGAN LOOP/Iteration

Pendahuluan 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.

Perulangan/Repetisi Sederhana Perhatikan pola berikut : *** Pola tersebut diwujudkan dengan perintah : 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)

Perulangan Sederhana 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: times 3 do p* od  mencetak *** times 4 do NL; p* od  mencetak sekolom 4 *

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.

Perulangan Sederhana Syntax perulangan : times F do P od Hal-hal yg perlu diperhatikan adalah : Batasan perulangan (F) tidak boleh diisi dengan angka negatif. 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.

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.

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).

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

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

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: times n do NL; times m do p* od od {program 6.2}

Times-do dan Formula Bukan Konstan 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: def rect(n,m) = times n do NL; times m do p* od od enddef (Program 6.3) Jika dipanggil : rect(2,4), apa outputnya?

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 od

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 di dalam Sequence Jika ingin mencetak pola 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)

Perulangan di dalam Sequence 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 tn(1); tn(2); tn(3); tn(4); tn(5) (Program 6.5)

Perulangan di dalam Sequence Program 6.5 lebih sederhana dari Program 6.4, tetapi belum memanfaatkan struktur perulangan, karena masih terdapat suatu set pengulangan <1,2,3,4,5>. 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.

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

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

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

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

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

Merencanakan Solusi dengan Perulangan 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*

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.

Merencanakan Solusi dengan Perulangan Langkah 2: mencari formula yang membuat situasi umum Baris-baris tengah dari pola mempunyai bentuk sbb: NL; times F1 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.

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

Merencanakan Solusi dengan Perulangan 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)

Merencanakan Solusi: Raster Printing 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) **** **** **** *** *** *** ** ** ** * * *

-selesai-