ini yang akan terjadi saat kalian lupa menambahkan i++ di perulangan while
Array Pada Java
Apa itu Array?
Array adalah sebuah variabel yang bisa menyimpan banyak data dalam satu variabel.
Array menggunakan indeks untuk memudahkan akses terhadap data yang disimpannya.
Indeks array selalu dimulai dari
0
…
…dan perlu diketahui juga, indeks tidak selalu dalam bentuk angka. Bisa juga karakter atau teks.
Cara Membuat Array di Java
Cara membuat array kosong:
// cara pertama
String[] nama;
// cara kedua
String nama[];
// cara ketiga dengan kata kunci new
String[] nama = new String[5];
Parhatikan:
- Kita menggunakan kurung siku
[]
untuk membuat array; - Kurung siku bisa diletakkan setelah tipe data atau nama array;
- Angka
5
dalam kurung artinya batas atau ukuran array-nya.
Array yang kosong siap diisi dengan data. Pastikan mengisinya dengan data yang sesuai dengan tipe datanya.
Kita bisa mengisinya seperti ini:
nama[0] = "Linda";
nama[1] = "Santi";
nama[2] = "Susan";
nama[3] = "Mila";
nama[4] = "Ayu";
Atau kalau tidak mau repot, kita bisa membuat array dan langsung mengisinya.
String[] nama = {"Linda", "Santi", "Susan", "Mila", "Ayu"};
Mengambil Data dari Array
Seperti yang sudah kita ketahui, array memiliki indeks untuk memudahkan kita mengakses datanya.
Karena itu, kita bisa mengambil datanya dengan cara seperti ini:
// membuat array
String[] nama = {"Linda", "Santi", "Susan", "Mila", "Ayu"};
// mengambil data array
System.out.println(teman[2]);
Kira-kira apa hasil outputnya?
Yep! benar sekali, hasil outputnya adalah:
Susan
Karena
Susan
terletak di indeks ke-2.Menggunakan Perulangan
Mengambil data satu per satu dari array mungkin cukup melelahkan, karena kita harus mengtik ulang nama array-nya dengan indeks yang berbeda.
Contoh:
System.out.println(teman[0]);
System.out.println(teman[1]);
System.out.println(teman[2]);
System.out.println(teman[3]);
Bagaimana kalau data array-nya sampai 1000, maka kita harus mengetik kode sebanyak seribu kali.
Karena itu, disinilah peran perulangan.
Perhatikan:
Di sana kita menggunakan atribut
length
untuk mengambil panjang array-nya.
Jadi, perulangan akan dilakukan sebanyak isi array-nya.
Sekarang Mari Kita Latihan
Silahkan buat class bernama
Buah
, kemudian ikuti kode berikut:import java.util.Scanner;
public class Buah {
public static void main(String[] args) {
// membuat array buah-buahan
String[] buah = new String[5];
// membuat scanner
Scanner scan = new Scanner(System.in);
// mengisi data ke array
for( int i = 0; i < buah.length; i++ ){
System.out.print("Buah ke-" + i + ": ");
buah[i] = scan.nextLine();
}
System.out.println("---------------------------");
// menampilkan semua isi array
for( String b : buah ){
System.out.println(b);
}
}
}
Hasil outputnya:
Perhatikan:
Di sana kita menggunakan perulangan foreach untuk menampilkan isi array.
Seperti yang sudah kita pelajari pada materi Perulangan di Java, perulangan ini dapat kita gunakan untuk menampilkan isi array.
Array Multi Dimensi
Array multi dimensi artinya array yang memiliki lebih dari satu dimensi.
Atau kita bisa sebut, array di dalam array.
Jumlah dimensinya tidak terbatas, tergantung kita mampunya sampai berapa .
Contoh berikut ini adalah array dua dimensi:
String[][] kontak = {
{"Lili","08111"},
{"Lala","08122"},
{"Maya","08133"}
};
Indek ke-
0
pada array kontak
berisi array {"lili","08111"}
.
Contoh cara mengakses data dari array dua dimensi:
Contoh Program Array Multi Dimensi
Biar makin mantap pemahaman kita tentang array multi dimensi, mari kita coba membuat sebuah program.
Silahkan buat class baru bernama
RuangKelas
kemudian ikuti kode berikut:import java.util.Scanner;
public class RuangKelas {
public static void main(String[] args) {
// Membuat Array dan Scanner
String[][] meja = new String[2][3];
Scanner scan = new Scanner(System.in);
// mengisi setiap meja
for(int bar = 0; bar < meja.length; bar++){
for(int kol = 0; kol < meja[bar].length; kol++){
System.out.format("Siapa yang akan duduk di meja (%d,%d): ", bar, kol);
meja[bar][kol] = scan.nextLine();
}
}
// menampilkan isi Array
System.out.println("-------------------------");
for(int bar = 0; bar < meja.length; bar++){
for(int kol = 0; kol < meja[bar].length; kol++){
System.out.format("| %s | \t", meja[bar][kol]);
}
System.out.println("");
}
System.out.println("-------------------------");
}
}
Hasil outputnya:
Pada program tersebut, kita menggunakan perulangan bersarang untuk mengambil input dan menampilkan outputnya.
Karena array dua dimensi mirip seperti tabel, maka kita harus melakukan perulangan terhadap baris dan kolomnya.
Lalu bagaimana dengan array 3D, 4D, 5D, dan seterusnya?
Tentu saja kita harus membuat perulangan bersarang sebanyak dimensinya.
Kalau tiga, ya buat tiga perulangan.
Array List
Array yang kita bahas di atas sebenarnya memiliki beberapa kekurangan, seperti:
- Tidak mampu menyimpan data dengan tipe yang berbeda.
- Ukurannya tidak dinamis.
Maka dari itu, ada Array List yang menutupi kekurangan tersebut.
Array list merupakan sebuah class yang memungkinkan kita membuat sebuah objek untuk menampung apapun.
Untuk menggunakan Array List, kita harus mengimpornya terlebih dahulu.
import java.util.ArrayList;
Setelah itu, baru kita bisa membuat sebuah objek Array List seperti ini:
ArrayList al = new ArrayList();
Mari kita coba….
Contoh Program dengan Array List
Silahkan membuat class dengan nama
Doraemon
, kemudian ikuti kode berikut:import java.util.ArrayList;
public class Doraemon {
public static void main(String[] args) {
// membuat objek array list
ArrayList kantongAjaib = new ArrayList();
// Mengisi kantong ajaib dengan 5 benda
kantongAjaib.add("Senter Pembesar");
kantongAjaib.add(532);
kantongAjaib.add("tikus");
kantongAjaib.add(1231234.132);
kantongAjaib.add(true);
// menghapus tikus dari kantong ajaib
kantongAjaib.remove("tikus");
// Menampilkan isi kantong ajaib
System.out.println(kantongAjaib);
// menampilkan banyak isi kantong ajaib
System.out.println("Kantong ajaib berisi "+ kantongAjaib.size() +" item");
}
}
Hasil outputnya:
Karena array list (
kantongAjaib
) merupakan sebuah objek yang terbuat dari class Array List, maka dia punya method (fungsi) untuk melakukan sesuatu.- Fungsi
add()
untuk menambahkan sesuatu ke dalam Array List; - Fungsi
remove()
untuk menghapus sesuatu ke dalam Array List; - Fungsi
size()
untuk mengambil ukuran Array List; - Fungsi
get(id)
untuk mengambil item dalam Array List berdasarkan id atau indeks tertentu. - dan masih banyak fungsi yang lainnya.
Source :Petani Kode
Perulangan Java
Perulangan dalam pemrograman dibagi manjadi dua jenis:
- Counted loop: Perulangan yang jumlah pengulangannya terhitung atau tentu.
- Uncounted loop: Perulangan yang jumlah pengulangannya tidak terhitung atau tidak tentu.
Counted loop terdiri dari perulangan For dan For each. Sedangkan Uncounted loop terdiri dari perulangan While dan Do/While
1. Counted Loop
Seperti yang sudah dijelaskan, perulangan ini memiliki jumlah pengulangan yang tentu dan terhitung.
Perulangan ini terdiri dari perulangan For dan For each.
Mari kita bahas satu per satu…
Perulangan For
Format penulisan perulangan For di java adalah sebagai berikut:
for( int hitungan = 0; hitungan <= 10; hitungan++ ){
// blok kode yang akan diulang
}
Penjelasan:
- variabel
hitungan
tugasnya untuk menyimpan hitungan pengulangan. hitungan <= 10
artinya selama nilai hitungannya lebih kecil atau sama dengan 10, maka pengulangan akan terus dilakukan. Dengan kata lain, perualangan ini akan mengulang sebanyak 10 kali.hitungan++
fungsinya untuk menambah satu (+1
) nilai hitungan peda setiap pengulangan.- Blok kode For dimulai dengan tanda ‘
{
’ dan diakhiri dengan ‘}
’.
Mari kkita coba dalam contoh program…
Contoh Program Perulangan For
Silahkan buat class baru bernama
Bintang
, kemudian ikuti kode berikut:class Bintang{
public static void main(String[] args){
for(int i=0; i <= 5; i++){
System.out.println("*****");
}
}
}
Hasil output:
*****
*****
*****
*****
*****
*****
Mau lagi?
Sekarang cobalah buat program untuk menampilkan nilai dari 1 sampai 10 dengan menggunakan perulangan.
class CetakAngka{
public static void main(String[] argumen){
for(int i=0; i <= 10; i++){
System.out.print( i + " " );
}
}
}
Hasil output:
0 1 2 3 4 5 6 7 8 9 10
Coba kita lakukan sedikit eksperimen.
Buat sebuah program yang menampilkan bilangan ganjil saja.
class CetakBilanganGanjil{
public static void main(String[] argumen){
for(int i = 1; i <= 20; i += 2){
System.out.print( i + " ");
}
}
}
Hasil output:
1 3 5 7 9 11 13 15 17 19
Perhatikan: di sana kita menggunakan
i += 2
, bukan i++
.
Apa maksudnya?
Maksudnya, nilai
i
akan ditambah dua (+2
) di setiap pengulangan.Perulangan For Each
Perulangan ini sebenarnya digunakan untuk menampilkan isi dari array.
Apa itu array?
Singkatnya, array itu variabel yang menyimpan lebih dari satu nilai dan memiliki indeks.
Selengkapnya, nanti bisa di pelajari pada materi: Mengenal Array di Java.
Lanjut…
Perulangan For Each pada Java, dilakukan juga dengan kata kunci For.
Contohnya seperti ini:
for ( int item : dataArray ) {
// blok kode yang diulang
}
Penjelasan:
- variabel
item
akan menyimpan nilai dari array - Kita bisa baca seperti ini: “Untuk setiap
item
dalamdataArray
, maka lakukan perulangan”
Contoh Program For Each
Buat sebuah class baru bernama
PerulanganForeach
, kemudian ikuti kode berikut.public class PerulanganForeach {
public static void main(String[] args) {
// membuat array
int angka[] = {3,1,42,24,12};
// menggunakan perulangan For each untuk menampilkan angka
for( int x : angka ){
System.out.print(x + " ");
}
}
}
Hasil outputnya:
3 1 42 24 12
Uncounted Loop
Seperti yang sudah dijelaskan di awal tadi, perulangan ini tidak jelas jumlah pengulangannya.
Tapi, tidak menutup kemungkinan juga, jumlah pengulangannya dapat ditentukan.
Perulangan uncounted loop terdirid dari perulangan While dan Do/While.
Mari kita bahas satu per satu…
Perulangan While
While bisa kita artikan selama.
Cara kerja perulangan ini seperti percabangan, ia akan melakukan perulangan selama kondisinya bernilai
true
.
Struktur penulisan perulangan while:
while ( kondisi ) {
// blok kode yang akan diulang
}
Penjelasan:
- kondisi bisa kita isi dengan perbandingan maupun variabel boolean. Kondisi ini hanya memiliki nilai
true
danflase
. - Perulangan
while
akan berhenti sampai kondisi bernilaifalse
.
Untuk lebih jelasnya, mari kita coba membuat program…
Contoh Program dengan Perulangan While
Program ini akan melakukan perulangan selama jawabannya tidak.
import java.util.Scanner;
public class PerulanganWhile {
public static void main(String[] args) {
// membuat variabel dan scanner
boolean running = true;
int counter = 0;
String jawab;
Scanner scan = new Scanner(System.in);
while( running ) {
System.out.println("Apakah anda ingin keluar?");
System.out.print("Jawab [ya/tidak]> ");
jawab = scan.nextLine();
// cek jawabnnya, kalau ya maka berhenti mengulang
if( jawab.equalsIgnoreCase("ya") ){
running = false;
}
counter++;
}
System.out.println("Anda sudah melakukan perulangan sebanyak " + counter + " kali");
}
}
Hasil outputnya:
Di sana telah dilakukan perulangan sebanyak 4 kali. Bisa saja terjadi 10 kali.
Itu targantung dari kondisinya.
Kalau nilai variabel
running
bernilai false
, maka perulangan berhenti.
Contoh kode while di atas dapat kita baca seperti ini: “Lakukan perulangan selama nilai
running
bernilai true
.”
Tidak menutup kemungkinan juga, perulangan ini dapat melakukan counted loop.
Contohnya seperti ini:
int i = 0;
while ( i <= 10 ){
// blok kode yang akan diulang
System.out.println('Perulangan ke-' + i);
// increment nilai i
i++;
}
Hasil outputnya:
Perulangan ke-0
Perulangan ke-1
Perulangan ke-2
Perulangan ke-3
Perulangan ke-4
Perulangan ke-5
Perulangan ke-6
Perulangan ke-7
Perulangan ke-8
Perulangan ke-9
Perulangan ke-10
Penting: pastikan melakukan increment (
i++
) terhadap variabel counter. Karena kalau tidak, perulangannya akan terus-menerus dilakukan sampai komputernya hang.Perulangan Do/While
Cara kerja perulangan Do/While sebenarnya sama seperti perulangan While.
Bedanya, Do/While melakukan satu kali perulangan dulu. Kemudian mengecek kondisinya.
Struktur penulisannya seperti ini:
do {
// blok kode yang akan diulang
} while (kondisi);
Jadi kerjakan dulu (
Do
), baru di cek kondisinya while( kondisi )
. Kalau kondisi
bernilai ture
, maka lanjutkan perulangan.Contoh Program dengan Perulangan Do/While
public class PerulanganDoWhile {
public static void main(String[] args) {
// membuat variabel
int i = 0;
do {
System.out.println("perulangan ke-" + i);
i++;
} while ( i <= 10);
}
}
Hasil outputnya:
perulangan ke-0
perulangan ke-1
perulangan ke-2
perulangan ke-3
perulangan ke-4
perulangan ke-5
perulangan ke-6
perulangan ke-7
perulangan ke-8
perulangan ke-9
perulangan ke-10
Parulangan Bersarang (Nested Loop)
Perulangan juga dapat bersarang. Perulangan bersarang maksudnya, perulangan dalam perulangan atau disebut juga nested loop.
Contoh bentuk flow chart-nya seperti ini:
Contoh Program Perulangan Bersarang
public class PerulanganBersarang {
public static void main(String[] args) {
// membuat variabel
int x, y;
// melakukan parulang sebnayan x dan y kali
for (x = 0; x <= 5; x++){
for( y = 0; y <= 3; y++){
System.out.format("Perulangan [x=%d, y=%d] %n", x, y);
}
}
}
}
Hasil outputnya:
Perulangan [x=0, y=0]
Perulangan [x=0, y=1]
Perulangan [x=0, y=2]
Perulangan [x=0, y=3]
Perulangan [x=1, y=0]
Perulangan [x=1, y=1]
Perulangan [x=1, y=2]
Perulangan [x=1, y=3]
Perulangan [x=2, y=0]
Perulangan [x=2, y=1]
Perulangan [x=2, y=2]
Perulangan [x=2, y=3]
Perulangan [x=3, y=0]
Perulangan [x=3, y=1]
Perulangan [x=3, y=2]
Perulangan [x=3, y=3]
Perulangan [x=4, y=0]
Perulangan [x=4, y=1]
Perulangan [x=4, y=2]
Perulangan [x=4, y=3]
Perulangan [x=5, y=0]
Perulangan [x=5, y=1]
Perulangan [x=5, y=2]
Perulangan [x=5, y=3]
P.S:
- Perulangan bersarang sering digunakan pada array multi dimensi.
- Jenis perulangan di dalam perulangn bisa berbeda, misalnya di dalam perulangan while ada perulangan for.
Source : Petani Kode