Struktur Perulangan Ema Utami STMIK AMIKOM Yogyakarta
Instruksi perulangan digunakan untuk menjalankan satu atau beberapa instruksi sebanyak beberapa kali jika suatu kondisi terpenuhi. Dengan instruksi perulangan memungkinkan kita untuk menjalankan beberapa instruksi hanya dengan menuliskan intruksi tersebut satu kali saja. Proses perulangan biasanya digunakan, untuk : 1.Mengulang proses pamasukan data. 2.Mengulang proses perhitungan. 3.Mengulang proses penampilan hasil pengolahan data. Struktur perulangan terdiri dari empat bagian : 1.Kondisi perulangan, yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan. Kondiisi ini bisa dinyatakan secara eksplisit oleh pemrogram atau dikelola secara implisit oleh komputer. 2.Badan perulangan, yaitu satu atau lebih instruksi yang akan diulang. 3.Inisialisasi, yaitu aksi yang dilakukan sebelum perulangan dilakukan pertama kali. 4.Terminasi, yaitu aksi yang mengakibatkan perulangan dihentikan. Di dalam algoritma terdapat beberapa macam struktur perulangan. Beberapa struktur dapat dipakai untuk menyelesaikan masalah yang sama tetapi ada struktur perulangan yang hanya cocok dipakai untuk masalah tertentu. Pemilihan struktur perulangan untuk penyelesaian suatu masalah dapat mempengaruhi kebenaran algoritma yang dibuat. Pemilihan struktur perulangan yang tepat bergantung pada masalah yang akan diselesaikan. Macam-macam struktur perulangan : 1.Instruksi FOR 2.instruksi WHILE 3.Instruksi WHILE-DO Dalam bahasa pemrograman, proses perulangan ditangani dengan mekanisme yang dinamakan dengan LOOP. Dengan mekanisme LOOP ini, suatu proses yang berulang dapat diimplementasikan dengan pernyataan-pernyataan yang relatif pendek.
Instruksi FOR Instruksi perulangan yang paling sering digunakan adalah instruksi FOR. Instruksi ini digunakan apabila kita tahu secara pasti banyaknya perulangan yang akan dilakukan. Pernyataan FOR mempunyai 3 parameter yaitu: 1.Nilai awal(initial value) 2.Test kondisi yang menentukan akhir LOOP
3. Penentu perubahan nilai.
Bentuk umum pseudocode FOR format naik: for indeks=nilai_awal to nilai_akhir do
endfor
Bentuk umum flowchart :
Gambar 1 Flowchart Instruksi FOR Format Naik Cara kerjanya: 1.Indeks diassign dengan nilai awal. 2.Indeks dibandingkan dengan nilai akhir. 3.Jika indeks <= nilai akhir maka a. Badan loop dikerjakan. b. Secara otomatis nilai indeks ditambah 1. c. Indeks dibandingkan dengan nilai akhir. 4.Jika indeks > nilai akhir maka akan dikerjakan statemen pertama sesudah “endfor” (badan loop). Bentuk umum pseudocode FOR format turun: for indeks=nilai_awal downto nilai_akhir do endfor Bentuk umum flowchart :
Gambar 2 Flowchart Instruksi FOR Format Turun Cara kerjanya: 1.Indeks diassign dengan nilai awal. 2.Indeks dibandingkan dengan nilai akhir. 3.Jika indeks >= nilai akhir maka a. Badan loop dikerjakan. b. Secara otomatis nilai indeks dikurangi 1. c. Indeks dibandingkan dengan nilai akhir. 4.Jika indeks < nilai akhir maka akan dikerjakan statemen pertama sesudah “endfor” (badan loop). Contoh : 1.Indeks perulangan menaik for i=1 to 3 do output (i) endfor
2.Indeks perulangan menurun for i=1 downto 3 do output (i) endfor
Sintaks statemen FOR sebagai berikut: for (initial value; condition_expr; incremental_expr)
Yang perlu diperhatikan di sini adalah penggunaan tanda titik koma ( ; ) sebagai pemisah parameter dalam sintaks FOR, dalam sintaks tersebut memiliki : 1.Ekspresi inisialisasi yang memberi nilai awal pada variabel kontrol LOOP FOR dan
memberitahu program di mana memulai LOOP. Sebagai contoh a = 1 menginisialkan variabel kontrol a dengan 1 dan memulai LOOP pada a = 1. 2. Ekspresi kondisi. Bila test kondisi bernilai salah maka LOOP akan berhenti. Sebagai contoh, a <= 3 program akan melakukan test apakah variabel a lebih kecil atau sama dengan 3, jika a lebih besar dari 3 maka LOOP akan dihentikan. 3. Ekspresi perubahan nilai yang berfungsi untuk menaikkan atau menurunkan nilai dari variabel kontrol. Ekspresi perubahan nilai ini dapat berupa nilai positif ( penaikan) atau nilai negatif(penurunan). Operasi penaikan nilai dapat menggunakan operator ++ yang artinya setiap loop operator ++ akan menambah nilai 1 ke variabel kontrol. Sedangkan untuk penuruna nilai dapat menggunakan operator --.
Instruksi WHILE Instruksi perulangan ini dapat digunakan apabila kita belum tahu secara pasti berapa kali banyaknya perulangan yang akan dilakukan. Berakhirnya proses perulangan ditentukan oleh suatu kondisi. Selama kondisi terpenuhi maka perulangan terus dilakukan dan sebaliknya bila kondisinya tidak terpenuhi maka perulangan dihentikan. Bentuk umum pseudocode: while do endwhile
Bentuk umum flowchart :
Gambar 3 Flowchart Instruksi WHILE
Cara kerjanya: 1.Sebelum masuk ke “while-loop” kondisi yang merupakan ekspresi boolean harus sudah mempunyai nilai. 2.Jika kondisi bernilai true maka seluruh badan loop dikerjakan. 3.Dicek kembali apakah kondisi bernilai true atau false. Jika kondisi bernilai true maka maka tidak ada perubahan, artinya kembali mengerjakan badan loop. Jika kondisi bernilai false maka
langsung mengerjakan statemen pertama sesudah loop WHILE. 4.Looping berhenti setelah kondisi bernilai false, sehingga harus ada statemen yang mengakibatkan kondisi bernilai false. Tetapi jika kondisi tetap true maka terjadi infinite true, artinya jika tidak ada statemen yang mengakibatkan kondisi bernilai false maka terjadi infinite loop. Sintaks statemen WHILE: while (condition_expr) { statemen-statemen }
yang perlu diingat bahwa sebelum masuk ke dalam loop maka program akan melakukan test terhadap kondisi dari while. Jika kondisi terpenuhi maka program akan mengeksekusi statemen yang ada dalam loop while. Tetapi jika kondisi terpenuhi maka program akan keluar dari loop dan mengeksekusi baris perintah selanjutnya. Mengapa kita menggunakan tanda { } dalam loop while? Ingat bahwa jika sebuah struktur perulangan yang memiliki lebih dari satu statemen dalam loop maka kita harus menggunakan tanda { }. Bagaimana jika kita tidak menggunakan tanda { } dalam struktur perulangan while yang memiliki lebih dari satu statemen?
Instruksi DO-WHILE Instruksi DO-WHILE pada dasarnya sama dengan instruksi WHILE. Perbadaan yang penting antara keduanya hanya terletak pada penempatan ekspresi kondisi (condition_expr). Untuk DO-WHILE kondisi dilatakkan pada bagian bawah. Jadi statemen-statemen yang berada dalam loop akan dikerjakan dulu baru dilakukan test terhadap kondisi. Jadi dapat disimpulkan bahwa paling tidak terjadi satu kali eksekusi statemen-statemen yang berada loop DO-WHILE. Sedangkan kalau WHILE ketika program menemukan instruksi ini maka program akan melakukan test terhadap kondisinya dulu baru mengeksekusi statemen-statemenyang berada di dalam loop. Bisa saja terjadi statemen-statemen yang berada dalam loop WHILE tidak dikerjakan sama sekali jika nilai awal telah bernilai benar. Perhatikan flowchart DO-WHILE berikut ini:
Badan loop
kondi si
True
False Pernyataan berikutnya
Gambar 4 Flowchart DO-WHILE
Bentuk umum algoritma DO-WHILE: do
while
Dalam suatu struktur perulangan mungkin kita akan menjumpai suatu keadaan tertentu yang dapat mengakibatkan error atau suatu nilai tertentu yang tidak ingin digunakan dalam perulangan. Untuk menghindari terjadinya hal-hal seperti itu bahasa C/C++ menyediakan perintah break dan continue. Perintah break Perintah ini digunakan untuk memutus rantai perulangan. Penggunaan perintah ini akan memaksa program untuk keluar dari perulangan dan menuju ke perintah setelah perulangan. Kita mengetahui bahwa struktur perulangan FOR memiliki bagian parameter test kondisi. Terdapat cara lain uuntuk membuat sebuah perulangan FOR yang tidak memiliki parameter sama sekali, tetapi titik koma tetap ditulis.
Perintah continue Perintah ini digunakan untuk memutus perulangan tetapi alur program tidak keluar dari perluangan melainkan melanjutkan langkah perulangan berikutnya.
Daftar Pustaka Ema Utami, Suwanto Raharjo, 2004, Belajar C Di GNU/Linux, ISSN 979-3289-55-4, Penerbit Graha Ilmu Yogyakarta Ema Utami, Suwanto Raharjo, 2004, Struktur Data Menggunakan C di GNU/Linux, ISSN 979-731395-6, Penerbit Andi Offset Yogyakarta Ema Utami, 2004, Logika, Algoritma dan Implementasinya dalam Bahasa Python di GNU/Linux, ISSN 979-731-443-X, Penerbit Andi Offset Yogyakarta Ema Utami, Sukrisno, 2005, 10 Langkah Mudah Memahami Logika Algoritma Menggunakan Bahasa C/C++ di GNU/Linux, ISSN 979-763-020-X, Penerbit Andi Offset Yogyakarta Ema Utami, Sukrisno, 2005, 101 Tips dan Trik Bahasa C untuk Pemula di GNU/Linux, ISSN 979763-010-2, Penerbit Andi Offset Yogyakarta Ema Utami, Sukrisno, Suwanto Raharjo, 2007, Struktur Data : Konsep dan Implementasinya dalam Bahasa C dan Free Pascal di GNU/Linux, ISSN 979-756-292-2, Penerbit Graha Ilmu
Yogyakarta