ALGORITMA Lecture Pengulangan
Pengantar[1] Salah satu kemampuan komputer yang dapat dimanfaatkan adalah mengulang suatu instruksi, bahkan aksi, secara berulang-ulang dengan performansi yang sama. Berbeda dengan manusia yang cenderung melakukan kesalahan jika melakukan hal yang sama (karena lelah atau bosan), komputer akan melakukan pengulangan dengan setia sesuai dengan perintah yang diberikan.
Pengantar[2] Pengulangan harus berhenti, ini yang harus dijamin oleh pemrogram. salah satu sifat algoritma yang harus dipenuhi adalah terjadi dalam selang waktu terbatas maka pengulangan yang terus menerus (looping) adalah algoritma yang salah. Pengulangan yang terus menerus harus dapat dideteksi pemrogram bahkan sebelum program dieksekusi oleh mesin.
Struktur Pengulangan Pengulangan terdiri dari dua bagian : kondisi yang mengakibatkan pengulangan suatu saat berhenti, yang dinyatakan oleh sebuah ekspresi logik baik secara eksplisit maupun implisit badan pengulangan, yaitu aksi yang harus diulang selama kondisi yang ditentukan untuk pengulangan masih dipenuhi
Struktur Pengulangan Disamping itu, struktur pengulangan biasanya disertai dengan bagian : inisialisasi, yaitu aksi yang dilakukan sebelum pengulangan dilakukan pertama kali. terminasi, yaitu aksi yang dilakukan setelah pengulangan selesai dilakukan
Notasi Pengulangan Notasi pengulangan adalah salah satu notasi dasar dalam penulisan algoritma selain analisa kasus. Notasi pengulangan merupakan sebagian dari skema pengulangan yang akan dibahas pada bab-bab berikutnya. Ada lima macam notasi pengulangan: berdasarkan jumlah pengulangan (repeat times) berdasarkan kondisi berhenti (repeat until) berdasarkan kondisi pengulangan (while do)
Berdasarkan jumlah pengulangan Aksi akan diulang sebanyak n kali, dan bukan urusan pemrogram untuk mengelola pengulangan tersebut. Dengan hanya menyebutkan pengulangan tersebut,pengulangan pasti akan berhenti suatu saat.
Berdasarkan kondisi berhenti Aksi akan dihentikan jika kondisi-berhenti dipenuhi (berharga true) Aksi akan diulang jika kondisi-berhenti belum tercapai. Badan pengulangan pada notasi ini (Aksi) minimal akan dilakukan satu kali karena pada waktu eksekusi pengulangan yang pertama tidak ada dilakukan test terhadap kondisi-berhenti. Test terhadap kondisi berhenti dilakukan setelah Aksi dilaksanakan..
Berdasarkan kondisi pengulangan Aksi akan dilakukan selama kondisi-pengulangan masih dipenuhi (berharga true). Badan pengulangan (Aksi) pada notasi ini mungkin tidak akan pernah dilakukan, karena sebelum aksi yang pertama dieksekusi dilakukan test terhadap kondisi berhenti. Test terhadap kondisi-pengulangan dilakukan setiap kali sebelum Aksi dilaksanakan. Pengulangan ini berpotensi untuk menimbulkan aksi "kosong" (tidak pernah melakukan apa-apa karena pada test yang pertama, kondisi-pengulangan tidak dipenuhi (berharga false).
Penutup Suatu bentuk pengulangan dapat "diterjemahkan" menjadi bentuk yang lain dengan notasi algoritmik yang tersedia Instruksi pengulangan tidak dapat berdiri sendiri, dan harus disertai dengan instruksi-instruksi lain sebelum dan sesudah pengulangan Persoalannya adalah memilih bentuk pengulangan yang benar dan tepat Tidak semua bahasa pemrograman yang ada menyediakan semua bentuk pengulangan di atas
Contoh algoritma[1] Program TULISBIL1 {Dibaca N >= 0, Menuliskan 1,2,3,… N berderet ke bawah, dengan bentuk repeat..N times} Kamus : i : integer {bilangan yang akan ditulis} Algoritma : input (N) i 1 repeat N times output (i) i i + 1
Contoh algoritma[2] Program TULISBIL2 {Dibaca N >= 0, Menuliskan 1,2,3,… N berderet ke bawah, dengan bentuk repeat..until…} Kamus : i : integer {bilangan yang akan ditulis} Algoritma : input (N) i 1 repeat output (i) i i + 1 until (i>N)
Contoh algoritma[3] Program TULISBIL3 {Dibaca N >= 0, Menuliskan 1,2,3,… N berderet ke bawah, dengan bentuk while…do} Kamus : i : integer {bilangan yang akan ditulis} Algoritma : input (N) i 1 while i <= N do output (i) i i + 1 { i > N}
PROBLEM Buatlah algoritma dengan ketentuan berikut ini: Algoritma akan menampilkan pilihan (jika pilih A maka program akan memproses / mencari nilai rata-rata mahasiswa, jika pilih B maka program akan menampilkan jumlah MK yang dimasukkan user) Saat user memilih A maka program akan meminta masukan nama MK dan nilainya, setelah itu program akan menghitung rata-rata dan menampilkannya ke layar. Program akan terus meminta input sampai user mengetikkan ‘NO’ Jika pilih B, maka program akan meminta masukan nama MK dan nilainya,dan menampilkan jumlah mata kuliah yang diinputkan. Program akan terus meminta inputan sampai user mengetikkan ‘EXIT’ 20/1/'07 Looping