Prodi S1-Sistem Komputer, F Teknik Elektro

Slides:



Advertisements
Presentasi serupa
TEORI ALGORITMA.
Advertisements

- PERTEMUAN 5 & 6 – PERULANGAN
STRUKTUR DASAR ALGORITMA
STRUKTUR PERULANGAN Perulangan adalah instruksi yang dapat mengulang sederetan Instruksi secara berulang-ulang sesuai persyaratan yang ditetapkan. Struktur.
MATERI 8 CHOICE / PILIHAN.
PERTEMUAN 6 Algoritma Presented by : Sity Aisyah, M.Kom
Algoritma dan Struktur Data
ALGORITMA Lecture Pengulangan.
Algoritma Dasar Dalam membuat suatu program komputer, menyusun algoritma adalah langkah pertama yang harus dilakukan Dalam membuat algoritma dapat digunakan.
Oleh Nila Feby Puspitasari
Instruksi Runtutan Instruksi Pemilihan dan Instruksi Perulangan dalam Pascal Minggu XII.
Pemprograman Terstruktur 1
By Tenia Wahyuningrum, MT
Prodi S1-Sistem Komputer, F Teknik Elektro
Algoritma dan Pemrograman STRUKTUR PEMILIHAN (lanjutan)
Pengulangan Bambang Irawan.
TPI4202 e-tp.ub.ac.id Perulangan (Looping) Lecture 5.
Materi 9 LOGIKA & ALGORITMA.
STRUKTUR DASAR ALGORITMA
Prodi S1-Sistem Komputer, F Teknik Eelktro
KUG1A3 Algoritma& Pemrograman
KUG1A3 Algoritma& Pemrograman
KUG1A3 Algoritma& Pemrograman
Prodi S1-Sistem Komputer, F Teknik Elektro
KUG1E3/ Pemrograman Terstruktur 1
Variabel dan Ekspresi Struktur Percabangan dan Struktur Perulangan
KUG1A3 Algoritma& Pemrograman
Prodi S1-Sistem Komputer, F Teknik Elektro
STRUKTUR DASAR ALGORITMA
STRUKTUR DASAR ALGORITMA
Algoritma Pemrograman
CS1023 Pemrograman Komputer
Flowchart.
PERTEMUAN 9-11 STATEMENT PENGULANGAN
Dasar – dasar Algoritma dan Pemrograman
Materi 10 LOGIKA & ALGORITMA.
Looping (Perulangan).
Perulangan(looping) Oleh: Sri supatmi,S.Kom.
BAB VI Pengulangan.
CS1023 Pemrograman Komputer
Struktur Kontrol Struktur kontrol merupakan pengatur aliran program
Algoritma & Pemrograman 1
Pseudo-code.
Pengulangan Bambang Irawan.
ALGORITMA DAN PEMROGRAMAN Struktur Algoritma
PERULANGAN.
Pengulangan.
Algoritma dan Pemrograman STRUKTUR PENGULANGAN
Struktur Dasar Algoritma dan Runtunan
Algoritma & Pemrograman 1
Seleksi Kondisi merupakan perintah yang memungkinkan pemilihan atas perintah yang akan dijalankan sesuai dengan kondisi tertentu. Operator yang digunakan.
KUG1E3/ Pemrograman Terstruktur 1
Seleksi.
Algoritma & Pemrograman 1
JENIS DAN SIMBOL FLOWCHART PRODI MIK | FAKULTAS ILMU-ILMU KESEHATAN
STATEMENT PENGULANGAN
PENYELEKSIAN KONDISI.
Pemrograman VB.NET Pertemuan 4 Sorang Pakpahan,S.Kom.,M.Kom.
Pengulangan.
Dasar-Dasar Komputer FKIP Prodi Matematika Univ. Muhammadiyah Gresik
Oleh: Abdul Haris Heryani
Algoritma dan Pemrograman STRUKTUR ALGORITMA (3)
CCM110, MATEMATIKA DISKRIT Pertemuan ke 10, Logika Algoritma
ALGORITMA & PEMROGRAMAN
LOGIKA & ALGORITMA KONSEP ALGORITMA & FLOWCHART M. Febriansyah, ST., MT.
Chapter 5 : Perulangan (Repeatition)
Chapter 5-3 : Perulangan (Repeatition)
Pengulangan While - Do Temu 10.
STRUKTUR DASAR ALGORITMA
Perulangan (Loop) Oleh : Tim Teaching
Transcript presentasi:

Prodi S1-Sistem Komputer, F Teknik Elektro KUG1A3 Algoritma& Pemrograman Burhanuddin D Prodi S1-Sistem Komputer, F Teknik Elektro Universitas Telkom Presentasi 6 Pengulangan 2

Pengujian di akhir pengulangan repeat aksi-1 aksi-2 until (kondisi) Aksi akan diulang selama kondisi masih bernilai false/salah. Kondisi akan selalu diuji setelah aksi dilakukan Salah satu aksi harus mengubah nilai kondisi menjadi benar. Pengulangan akan berhenti jika kondisi bernilai benar.

Contoh1: Pengujian di akhir pengulangan Ambil sebuah apel dan masukkan ke keranjang, dan ulangi sampai keranjang penuh repeat ambil sebuah apel masukkan ke keranjang until (keranjang penuh)

Perhatikan repeat ambil sebuah apel masukkan ke keranjang until (keranjang penuh) Pengambilan dan pemasukan apel selalu dilakukan minimal 1x. Dengan demikian, harus dipastikan bahwa kelompok instruksi dapat dilakukan minimal satu kali sebelum pengecekan kondisi.

Perhatikan Jika di awal gelas telah penuh, seperti video tersebut : Struktur while..do: tidak akan mengambil dan mengisi minuman ke dalam gelas. Struktur repeat..until: akan terjadi kesalahan karena kelompok instruksi harus dilakukan meskipun kondisi sudah memenuhi syarat.  Penggunaan struktur repeat..until harus dilakukan dengan hati-hati : harus dijamin instruksi bisa dilakukan minimal satu kali !

Contoh2: Pengujian di akhir pengulangan Baca data, jumlahkan data tersebut, tambahkan x dengan 2 dan ulangi sampai nilai x lebih dari y. Nilai x dan y harus diketahui sebelum pengulangan Pengujian dengan ( x > y ) x1; y 10 repeat input(data) jumlah  jumlah + data x  x + 2 until (x>y)

Contoh3 : Pengujian di akhir pengulangan Baca data dan jumlahkan data tersebut sampai data yang dibaca adalah 999. Hati-hati : kalau data pertama sudah 999, maka ‘jumlah’ harus=0. Pengujian dengan ( data = 999 ) Input(data) If (data≠ 999 ) then repeat jumlah  jumlah + data input (data ) until (data=999)

Pascal: Pengujian di akhir pengulangan Bentuk program sangat mirip dengan notasi algoritma x:=1; y:=10; repeat readln(data); jml:= jml + data; x:=x + 2; until (x>y); readln(data); If (data≠ 999 ) then repeat jml:=jml+data; readln(data ); until (data=999); Perhatian : repeat –until tidak perlu ‘begin’ dan ‘end’.

Berdasarkan dua aksi iterate kelompok-aksi-1 Stop ( kondisi ) Kelompok-aksi-1 akan diulang selama kondisi bernilai false/salah. Jika kondisi bernilai salah, kelompok-aksi-2 akan dijalankan dan berlanjut ke kelompok-aksi-1. Salah satu aksi harus mengubah nilai kondisi menjadi benar. Pengulangan akan berhenti jika kondisi bernilai benar.

Contoh: Pengujian 2 aksi Ambil sebuah apel. Masukkan ke keranjang, dan ulangi sampai keranjang penuh, dengan mengambil lagi sebuah apel. Ambil sebuah apel iterate masukkan ke keranjang stop (keranjang penuh) ambil sebuah apel Perhatian : pemasukan apel ke keranjang dilakukan minimal 1x, sedangkan instruksi di bawah ‘stop’ belum tentu dilakukan.

Contoh: Pengujian 2 aksi Ambil sebuah apel. Masukkan ke keranjang, dan ulangi sampai keranjang penuh, dengan mengambil lagi sebuah apel. Ambil sebuah apel  Masukkan ke keranjang  Cek : keranjang penuh? (T) Ambil 1 apel  Masukkan ke keranjang  Cek : keranjang penuh? (T)  Ambil 1 apel ....  Masukkan ke keranjang  Cek : keranjang penuh? (Y)

Contoh2: Pengujian di akhir pengulangan Baca data. Jumlahkan data tersebut, tambahkan x dengan 2 dan ulangi sampai nilai x lebih dari y. Sebelum mengulang, bacalah kembali sebuah data. input(data) iterate jumlah  jumlah + data x  x + 2 stop (x>y)

Contoh3 : Pengujian di akhir pengulangan Baca data. Jumlahkan data tersebut dan ulangi sampai data yang dibaca adalah 999. Baca data kembali sebelum mengulang penjumlahan data. Hati-hati. Kalau data pertama sudah 999, maka isi variabel jumlah harus=0. Pengujian dengan ( data = 999 ) Input(data) If (data≠ 999 ) then Iterate jumlah  jumlah + data stop (data=999) input (data )

Hubungan antar pengulangan (1) Traversal merupakan kasus khusus untuk pengulangan while-do: Kondisi menggunakan counter / penghitung Penghitung bertambah / berkurang satu-satu I traversal [1..5] output(‘Data ke-’,i) input(data) jml jml + data i  1 While i<=5 do output(‘Data ke-’,i) input (data) jml  jml + data i  i+1

Hubungan antar pengulangan (2) Secara umum, traversal juga dapat diubah menjadi repeat-until. Pengubahan harus diuji dengan benar agar hasilnya sama. i  1 repeat output(‘Data ke-’,i) input (data) jml  jml + data i  i+1 Until i>5 I traversal [1..5] output(‘Data ke-’,i) input(data) jml jml + data

Hubungan antar pengulangan (3) Repeat-until merupakan kondisi kebalikan dari while-do, sehingga ekspresi pada kondisi keduanya berkebalikan. i  1 repeat output(‘Data ke-’,i) input (data) jml  jml + data i  i+1 Until i > 5 i  1 While i<=5 do output(‘Data ke-’,i) input (data) jml  jml + data i  i+1

Catatan Penggunaan Pengulangan(1) Repeat n times : Digunakan untuk jumlah pengulangan yang pasti, dan tidak perlu counter / penghitung. Struktur tidak ada dalam Pascal. Tidak ada kaitan apapun antara kumpulan instruksi yang diulang dengan kondisi, kecuali jika ada pengubahan nilai n pada kumpulan instruksi. Sangat tidak dianjurkan! Tidak memungkinkan keluar dari pengulangan sebelum pengulangan mencapai n kali.

Catatan Penggunaan Pengulangan Traversal : Digunakan untuk jumlah pengulangan pasti, dengan tahapan naik/turun satu demi satu. Counter penghitung umumnya dimanfaatkan untuk mengetahui proses ke-i. Sangat efektif untuk menprosesan array. Hampir terdapat pada semua bahasa pemrograman.

Catatan Penggunaan Pengulangan While-do : Digunakan untuk pengulangan yang tergantung pada kondisi tertentu. Kondisi pengujian di depan, sehingga ada kemungkinana kelompok instruksi tidak pernah dilakukan jika pertama kali nilai kondisi sudah tidak memenuhi syarat. Sebelum pengulangan umumnya perlu inisialisasi nilai varibel penyusun kondisi untuk menentukan nilai kondisi awal. Harus ada baris yang mengubah nilai kondisi agar keluar dari pengulangan.

Catatan Penggunaan Pengulangan Repeat-until : Digunakan untuk pengulangan yang tergantung pada kondisi tertentu. Kondisi pengujian di akhir, sehingga kelompok instruksi selalu dilaksanakan setidaknya 1x. Harus dipastikan bahwa kelompok instruksi dapat dilakukan setidaknya 1x, sebelum mencapai kondisi berhenti. Harus ada baris yang mengubah nilai kondisi agar keluar dari pengulangan.

Catatan Penggunaan Pengulangan Iterate-stop : Digunakan untuk pengulangan yang tergantung pada kondisi tertentu. Kondisi pengujian di akhir, sehingga kelompok instruksi selalu dilaksanakan setidaknya 1x. Gabungan antara repeat dan while. Relatif jarang digunakan. Harus dipastikan bahwa kelompok instruksi dapat dilakukan setidaknya 1x, sebelum mencapai kondisi berhenti. Harus ada baris yang mengubah nilai kondisi agar keluar dari pengulangan.

Contoh algoritma[1] Program Baca Persoalan : membaca N buah nilai & menjumlahnya Program Baca { membaca N masukan dan menjumlahkannya } Kamus N : integer Data , Jml : integer Algoritma : input (N) ; Jml  0 repeat N times input (Data) Jml  Jml + Data output(Jml)

Contoh algoritma[2] Program Kelipatan3 {Membaca N bilangan dan menuliskan bilangan tersebut jika kelipatan 3.} Kamus : i, N : integer { N cacah bilangan yang dibaca } Bil : integer {bilangan yang akan dibaca} Algoritma : input (N) i traversal [1..N] input(Bil) if ( Bil mod 3 )=0 then output(Bil)

Contoh algoritma[3] Program UJIBIL {Menguji N bilangan genap atau ganjil.} Kamus : i : integer {bilangan yang akan diuji} N : integer { cacah bilangan yang diuji } Algoritma : input (N) i  1 while i <= N do if (i mod 2)=0 then output (i,’ adalah bilangan genap’) else output (i,’ adalah bilangan ganjil’) i  i + 1

Contoh algoritma[4] Program UJIBIL {Membaca dan menjumlah nilai-nilai sampai nilai penghenti loop} Kamus : Data : integer {bilangan yang akan dibaca} Jml : integer { total bilangan yang dibaca } Cch : integer { cacah nilai yang dibaca } Algoritma : input (Data); Jml  0; Cch  1; while ( Data <> 999) do Jml  Jml + Data input ( Data ) Cch  Cch + 1 output (‘Total ’,Cch-1,’ bil adalah’,Jml)

Latihan 1 Buat algoritma untuk menampilkan deret berikut: 1 3 5 7 …….. 1 3 5 7 …….. Ketentuan : Cacah suku yang ditampilkan adalah N. Misal: jika N = 5, maka program akan menampilkan : 1 3 5 7 9. Pengulangan untuk program menggunakan while. Buat juga jumlah dari semua suku tersebut dan tampilkan hasilnya. Buat juga program Pascalnya.

Latihan 2 Buat algoritma untuk menampilkan deret Fibonacci 0 1 1 2 3 5 8 13 21 …….. Ketentuan : Cacah suku yang ditampilkan adalah N. Misal : jika N = 7, maka program akan menampilkan : 0 1 1 2 3 5 8. Pengulangan untuk program menggunakan repeat …. until. Tampilkan juga semua suku ke-ganjil ( pertama, ketiga, kelima dst ) dan jumlahkan. Tampilkan hasilnya. Buat juga program Pascalnya.

Latihan 3 Buat algoritma dalam Pascal untuk menampilkan bentuk berikut ini : * * * * * * * * * * Buat juga untuk bentuk-bentuk lainnya.

Latihan 4 Buat algoritma untuk menampilkan matriks 5 x 5 berikut ini : 1 1 0 1 1 0 0 0 0 0 Buat juga program Pascalnya.

Latihan 5 Ada beberapa menu di warung : batagar dengan harga 1000, soto 2000, dan bakso 3000. Batagor ada 2 macam, kuah dan kering. Masukan adalah jml_duit dan pilihan menu. Jika memilih batagor, ada masukan tambahan jenisnya, yaitu ‘kuah’ atau ‘kering’. Tulis notasi algoritma untuk output pilihan menu beserta jumlah harga dan kembalian. Pembeli boleh mengulangn pilihan selama uangnya masih cukup. Buat juga program Pascalnya.

Latihan 5 ( lanjut) Masukkan jumlah duit : 4500 Pilihan : 1. Batagor (1000), 2. Soto (2000) 3. Bakso(3000) Pilih : 1 Batagor : 1. Kuah 2. Kering Pilih : 2 Pengeluaran anda : Batagor Kering dengan harga 1000 Sisa uang anda : 3500. Pilih menu lain ? (Y/T ) Y Pilihan : 1. Batagor (1000), 2. Soto (2000)3. Bakso(3000) Pilih : 3 Pengeluaran anda : Bakso dengan harga 3000 Sisa uang anda : 500, tidak bisa memilih lagi.