Anda di halaman 1dari 12

STRUKTUR KONTROL PENGULANGAN

Tujuan Instruksional:
 Pembaca memahami struktur pengulangan (looping)
 Pembaca memahami pernyataan pengulangan dalam Java
 Pembaca dapat menyelesaikan masalah yang berkaitan dengan pengulangan, baik dalam
bentuk algoritma maupun dalam bentuk pemrograman Java
 Pembaca memahami pernyataan interupsi break, continue, return dalam struktur
pengulangan, pencabangan, dan method.

1. PENGULANGAN

Dalam bahasa pemrograman Java terdapat tiga bentuk pengulangan, yaitu (i) for, (ii) while,
dan (iii) do-while. Pengulangan dalam suatu bahasa pemrograman, bermanfaat untuk
menyederhanakan suatu perintah atau instruksi yang dilakukan secara berulang dan beraturan.
Contoh pernyataan untuk mencetak nilai A-1 sampai A=5, tanpa pengulangan akan dilakukan
sebanyak lima kali, dan relatif mudah, seperti:

System.out.println("A=1");
System.out.println ("A=2");
System.out.println("A=3");
System.out.println("A-4");
System.out.println("A=5");

Akan tetapi menjadi tidak efektif jika nilai-nilai yang akan dicetak semakin banyak lebih dari
lima dan seterusnya. Hal ini dapat diatasi dengan instruksi pengulangan yang akan segera kita
pelajari. Sebagai catatan, jika yang diulang memiliki pernyataan lebih dari satu, pernyataan-
pernyataan tersebut wajib diblok ke dalam kurung kurawal {...}) setelah pernyataan for, while
atau do. Sementara itu, jika yang diulang hanya satu pernyataan, diperbolehkan tidak
menggunakan blok (...). Namun dalam konteks pemrograman praktis, disarankan untuk selalu
menggunakan tanda kurung kurawal sebagai awal dan akhir blok.

Pada Gambar 7.1 diberikan contoh flowchart dengan satu pernyataan untuk mengerjakan kasus
yang sama, yakni mencetak nilai k dengan cara for, while, dan do-while loop.
Gambar 7.1 Contoh flowchart bentuk-bentuk pengulangan

Notasi next k dari flowchart di atas dalam kode pemrograman Java ditandai dengan blok
penutup yaitu tanda kurung kurawal (}). Perlu diperhatikan bahwa ketiga bentuk pengulangan
di atas memiliki ciri yang sama yaitu:

k=1 adalah inisialisasi variabel, yakni harga awal;


k<-5 adalah ekspresi boolean untuk kondisi pengulangan
k++ adalah variabel counter, untuk mencacah jumlah pengulangan.

Nilai pencacah menghitung jumlah langkah, akan selalu berubah setiap melaksanakan suatu
instruksi atau pernyataan di dalam lingkaran pengulangan. Pengulangan for dan while
melakukan pengujian suatu kondisi sebagai syarat untuk melanjutkan pengulangan, terletak di
awal pengulangan, sedangkan do-while terletak pada akhir pengulangan. Untuk didiskusikan,
apakah ketiga cara di atas menghasilkan hasil yang sama untuk k=1, k<=5, dan k++?

a. Pengulangan For

Pengulangan for bisa dilakukan dengan mencacah atau menghitung suatu proses
dengan cara hitungan maju yakni counter++ (increment), atau dengan cara hitungan mundur
yakni counter--(decrement). Counter++ dimulai dari index kecil ke besar, sedangkan counter-
- dimulai dari index besar ke kecil; di mana index kecil bernilai 0 (nol).
Bentuk umum for hitungan maju (increment):

For (variable = nilaiBawah; variable <= NilaiAtas; vatiabel++) blok pernyataan


pengulangan;

Bentuk umum for hitungan mundur (decrement):

For (variable=nilaiAtas; variable >= NilaiBawah; variable--) blok pernyataan


pengulangan;

Contoh Pengulangan dengan satu pernyataan:

Penjelasan program:

Pernyataan pengulangan for (int k=1;k<=5;k++), memiliki satu pernyataan (baris 5)


untuk dijalankan secara berulang, hingga sebanyak lima kali. Maksudnya adalah mencetak
tampilan di layar berupa keterangan "A" diikuti atau digabung dengan nilai variabel k
menggunakan operator plus (+) yakni penggabungan string. Nilai k yang ditampilkan adalah
dimulai dari nilai awal 1 sampai dengan nilai akhir 5. Proses penelusuran (trace) program dapat
dilihat sebagai berikut.
Bandingkan hasil berikut, dua pernyataan (6 dan 7) diproses bersamaan dalam satu blok:
Anda bisa menuliskan pernyataan for bersarang, yaitu pernyataan for di dalam for
(kalang), maka terbentuklah for luar yang disebut outer looping dan for dalam disebut inner
looping. Komputasi matriks sering menggunakan for bersarang. Perhatikan contoh-contoh
berikut.

Gambar 7.2 menunjukkan variabel y adalah inner loop (loop dalam) sedangkan variabel x
adalah outer loop (loop luar). Disarankan setiap pernyataan percabangan atau pengulangan,
terlepas isi pernyataan lebih dari satu atau tidak sebaiknya diawali dan diakhiri dengan blok
pernyataan {....).
Gambar 7.2 Loop Bersarang

Penjelasan (penelusuran program):

Langkah Kondisi Pernyataan Increment


for x = 1 1 <= 3? T for y = 1 x ++ = 2
for y = 1 1 <= 2? T 11 y ++ = 2
for y = 2 2 <= 2? T 12 y ++ = 3
for y = 3 3 <= 2? T end y next x
for x = 2 2 <= 3? T for y = 1 x ++ = 3
for y = 1 1 <= 2? T 21 y ++ = 2
for y = 2 2 <= 2? T 22 y ++ = 3
for y = 3 3 <= 2? T end y next x
for x = 3 3 <= 3? T for y = 1 x ++ = 4
for y = 1 1 <= 2? T 31 y ++ = 2
for y = 2 2 <= 2? T 32 y ++ = 3
for y = 3 3 <= 2? T end y next x
for x = 4 4 <= 3? T end x next line

b. Pengulangan while

Pada perulangan while, suatu kondisi dicek atau diseleksi terlebih dahulu sebelum
masuk blok pengulangan. Jika kondisi awalnya salah (false), pernyataan di dalam while tidak
akan dikerjakan. Artinya terjadi minimal 0 (nol) kali atau tidak ada yang dikerjakan sama sekali
tentang pernyataan di dalam pengulangan. Jadi, proses masuk pengulangan kalau pernyataan
awalnya benar.

c. Pengulangan do..while

Pada perulangan do... while, suatu pernyataan atau blok pernyataan akan dikerjakan
terlebih dahulu, kemudian kondisi akan dicek atau dites pada bagian akhir. Artinya, terlepas
dari kondisi akhir benar atau salah, suatu pernyataan sudah dikerjakan terlebih dahulu minimal
satu kali. Jadi, do...while dikerjakan terlebih dahulu, baru kemudian kondisinya dicek.
Sementara itu, kondisi while dicek terlebih dahulu, baru kemudian dikerjakan. Struktur
penulisan do...while adalah berikut ini.

kondisi awal;
do{
pernyataan-pernyataan yang akan diulang;
kondisi selanjutnya;
}while (kondisi_boolean);
Contoh:

B. PERNYATAAN INTERUPSI

Pada kasus tertentu dari logika pemrograman yang dibangun, apakah mungkin Anda
ingin menghentikan (break) suatu pengulangan di tengah jalan? Bahkan melanjutkan
(continue) terus pengulangan, sambil menunda pernyataan pengulangan yang lain? Anda bisa
menggunakan pernyataan break atau continue pada pernyataan for, while, maupun do...while.
Pernyataan break menyebabkan program akan langsung melompat ke pernyataan setelah akhir
struktur blok pengulangan.
Bila dilihat sekilas, pada while sepertinya tidak akan pernah berakhir karena x selalu
ditambah 1 padahal kondisi yang harus dipenuhi adalah (x >= 0). Namun bila dijalankan,
setelah nilai x > 10, pengulangan akan berhenti karena adanya break. Pada kolom sebelah
kanan akan dituliskan semua bilangan kelipatan 11 (sebelas) yang kurang dari 100. Mengapa?
Karena pada saat nilai pencacah pengulangan tidak habis dibagi 11, program akan terus
melanjutkan (continue) pengulangan, sambil menunda pernyataan tampil atau cetak. Jadi,
hanya bilangan habis dibagi 11 di antara 1 sampai dengan 100 yang akan dicetak
(11,22,33,..dst).

a. Pernyataan break

Pernyataan break dibagi atas pernyataan break tidak berlabel dan pernyataan break
berlabel. Pernyataan break tidak berlabel (unlabeled) digunakan untuk menghentikan jalannya
pernyataan switch. Selain itu, pernyataan break unlabeled juga bisa digunakan untuk
menghentikan pernyataan-pernyataan for, while, atau do while loop. Contohnya:

Pada contoh tersebut, jika string "Yeni" ditemukan, pengulangan pada for loop akan
dihentikan, kemudian dilanjutkan ke pernyataan berikutnya di luar blok for yang bersangkutan.

b. Pernyataan break-berlabel

Pernyataan break berlabel akan menghentikan proses pengulangan, dan akan kembali ke tanda
pengenal awal dari label setelah break. Program berikut ini akan mencari nilai dalam array dua
dimensi. Terdapat dua pengulangan bersarang (nested loop). Ketika sebuah nilai ditemukan,
break akan menghentikan pernyataan yang diberi label ketemuAngka yang terletak di luar
pernyataan pengulangan for.

Pernyataan break menghentikan pernyataan yang diberi label; dan tidak menjalankan aliran
kontrol apa pun pada label. Aliran kontrol pada label akan diberikan secara otomatis pada
pernyataan yang terletak di bawah label.

c. Pernyataan Continue

Pernyataan continue memiliki dua bentuk: berlabel dan tidak berlabel. Anda dapat
menggunakan pernyataan continue untuk melanjutkan pengulangan yang sedang dijalankan
oleh pernyataan for, while, atau do- while loop.

Bentuk pernyataan continue tidak berlabel (unlabeled) akan melewati bagian pernyataan
setelah pernyataan ini dituliskan dan memeriksa ekspresi logika (boolean) yang mengontrol
pengulangan. Jika ekspresi logika (boolean) masih bernilai true, pengulangan tetap dilanjutkan.
Pada dasarnya, pernyataan ini akan melanjutkan bagian pengulangan pada pernyataan loop.
Berikut ini adalah contoh dari penghitungan angka dari "Beah" dalam suatu array.

Sementara itu, bentuk pernyataan continue berlabel (labele statement) akan melanjutkan
pengulangan yang sedang terjas dan dilanjutkan ke pengulangan berikutnya dari pernyataan
pengulangan yang diberi label (tanda).
Pada contoh ini, bagian message2 tidak pernah akan dicetak karena pernyataan continue akan
melewati pengulangan.

C. PERNYATAAN RETURN

Pernyataan return digunakan untuk keluar dari sebuah method Pernyataan return memiliki dua
bentuk, yaitu memberikan sebuah nilai dan tidak memberikan nilai. Untuk memberikan sebuah
nilai cukup berikan nilai (atau ekspresi yang menghasilkan sebuah nilai) sesudah kata return.
Contohnya,

return ++count; atau return "Hello";

Tipe data dari nilai yang diberikan harus sama dengan tipe da method yang dibuat. Ketika
sebuah method void dideklarasikan gunakan bentuk return yang tidak memberikan nilai.
Contohny adalah return;

Kita akan membahas lebih lanjut tentang pernyataan return ketika mempelajari tentang method
D. NOTASI MATEMATIKA

E. DERET

Anda mungkin juga menyukai