Perulangan adalah melakukan perintah yang ada di dalam blok perulangan tersebut secara berulang – ulang sesuai dengan nilai yang ditentukan atau sampai mencapai sebuah batas tertentu dari sebuah perulangan tersebut.
Perulangan For
For adalah perulangan yang jumlah perulangannya sudah ditentukan sebelumnya.
Komponen pada perulangan For:
- Variabel Pencacah
Variabel ini digunakan untuk mengontrol jumlah perulangan yang dikerjakan. Setiap kali perulangan dikerjakan maka nilai variabel ini akan selalu berubah. Nilai dalam variabel dapat berubah semakin besar (increment) atau semakin kecil (decrement).
- Perulangan bersyarat
Persyaratan yang digunakan agar perulangan dikerjakan. Syarat ini bisa berdasarkan nilai dalam variabel penghitung atau variable yang telah dideklarasikan sebelumnya menggunakan operator relasional.
- Perubah variabel pencacah
Statement perubah variabel pencacah merubah nilai dalam variabel pencacah selama perulangan terjadi. Perubahan nilai dapat semakin besar atau semakin kecil.
While
Perulangan while bekerja dengan cara apa bila kondisi while itu terpenuhi atau bernilai true maka perulangan tersebut akan terus dilakukan hingga bernilai false.
Do-While
Do-while seperti while tetapi jika do-while minimal melakukan satu kali pekerjaan yang ada di dalam blok do-while tersebut. do-while akan mengulang terus sampai while bernilai false
Pada pemrograman dibawah ini ada dua type yaitu data atau jumlah bintang sudah ditentukan, dan yang kedua adalah user melakukan input data sesuai jumlah bintang yang ditampilkan.
Program menampilkan 5 bintang (ditentukan jumlah = 5)
public static void main(String[] args) { int n=5; if (n > 2){ //baris for (int i=0; i < n; i++){ //kolom for (int j=0; j < n; j++) { //kondisi pembentuk segiempat bintang if ((i==0) || (i==n-1) || (j==0) || (j==n-1)) { System.out.print("*"); } else { //kondisi penentu titik pusat if (n%2==1){ if ((i==n/2) && (j==n/2)){ System.out.print("*"); } else { System.out.print(" "); } } else { System.out.print(" "); } } } System.out.println(); } } } }
Jika program di atas di run maka hasilnya seperti berikut:
Program input jumlah bintang (misal jumlah = 8)
public static void main(String[] args) { // TODO code application logic here int n; Scanner input=new Scanner(System.in); System.out.print("Masukkan jumlah bintang: "); n=input.nextInt(); //baris for (int i=0; i < n; i++){ //kolom for (int j=0; j < n; j++) { //kondisi pembentuk segiempat bintang if ((i==0) || (i==n-1) || (j==0) || (j==n-1)) { System.out.print("*"); } else { //kondisi penentu titik pusat if (n%2==1){ if ((i==n/2) && (j==n/2)){ System.out.print("*"); } else { System.out.print(" "); } } else { System.out.print(" "); } } } System.out.println(); } } }
Jika program di atas di run maka hasilnya seperti berikut:
Program input jumlah bintang bersyarat (Misal input 1 – 10)
public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.print("Masukkan Angka : "); int input = scan.nextInt(); // penyeleksian agar hanya angka 10 kebawah yang bisa dieksekusi if (input <= 10) { // jika angka sudah dibawah 10, disini dimulai pengulangan sejumlah angka yang dimasukkan for (int i=1; i <= input ; i++) { //disini diseleksi untuk angka yang berada di baris tengah, bukan baris 1 dan bukan baris terakhir if (i != 1 && i != input) { //angka kembali diulang berdasarkan angka yang diinputkan for (int j=1; j <= input ; j++) { //penyeleksian kembali supaya kolom yang ada ditengah, yaitu kolom yang bukan pertama dan bukan kolom terakhir berisikan spasi if (j>1 && j<input) { System.out.print(" "); } else { //sedangkan kolom pertama dan terakhir berisikan bintang System.out.print("*"); } } } //setelah itu, baris pertama dan terakhir diisikan bintang else { for (int x=1; x <= input ; x++) { System.out.print("*"); } } System.out.println(""); } } //jika input lebih dari 10, maka akan ditampilkan tulisan dibawah ini else { System.out.println("Masukkan angka 1-10"); } } }