Tutorial Java – PenaHoster
 
×

Archive

Tutorial Belajar Java Part 38: Pengertian Function (Fungsi) Bahasa Java


Dalam merancang kode program, kadang kita sering membuat kode yang melakukan tugas sama secara berulang-ulang, seperti membaca tabel dari database, menampilkan penjumlahan, dll. Tugas yang sama ini akan lebih efektif jika dipisahkan dari program utama, dan dirancang menjadi sebuah function atau fungsi.


Pengertian Function (Fungsi) dalam Bahasa Java

Secara sederhana, function adalah kode program yang dirancang untuk menyelesaikan sebuah tugas tertentu, dan merupakan bagian dari program utama. Ketika di sadur ke dalam bahasa indonesia, function ini di sebut juga sebagai fungsi.

Bahasa Java sebenarnya tidak dikenal istilah function, akan tetapi diganti dengan sebutan method. Ini karena secara internal Java sudah menerapkan paradigma object oriented programming (OOP) atau pemrograman berbasis object.

Untuk memudahkan pembahasan, saya akan tetap memakai istilah function untuk sementara. Pada dasarnya cara kerja function nyaris tidak berbeda dengan method. Materi tentang method akan kita bahas ketika masuk ke tutorial tentang pemrograman object Java.

Berdasarkan siapa yang membuat, function bisa dibedakan ke dalam 2 kelompok:

  1. Built-In Function 
  2. User Defined Function

Built-In Function adalah sebutan untuk function yang sudah ada secara bawaan dari dalam bahasa pemrograman. Sebagai contoh, perintah System.out.println() adalah function atau method bawaan bahasa Java.

Bahasa Java menyediakan banyak function bawaan, belum termasuk yang bisa diakses dari berbagai library atau package pihak ketiga. Setiap function punya tugas masing-masing, misalnya perintah System.out.println() dipakai untuk menampilkan teks ke layar.

Sedangkan User Defined Function adalah function yang kita (sebagai programmer) yang membuatnya sendiri. Jenis function inilah yang akan kita bahas.


Cara Membuat Function dalam Bahasa Java

Berikut format dasar cara penulisan function dalam bahasa Java:

static tipeDataKembalian namaFunction() { // Isi function disini... // Isi function disini...
}

Keyword static dipakai untuk membuat function yang tidak butuh instansiasi object. Dalam tutorial ini saya tidak akan membahas apa itu instansiasi object karena cukup panjang dan akan menjadi jatah tutorial OOP Java. Untuk sementara bisa dianggap bahwa semua function di Java harus diawali dengan perintah static.

Keyword tipeDataKembalian bisa diisi dengan tipe data nilai yang dikembalikan function. Tipe data ini sudah kita pelajari sebelumnya, seperti int, double atau String. Jika function tidak mengembalikan nilai apapun, tipeDataKembalian ditulis sebagai void. Sebuah function yang tidak mengembalikan nilai kadang disebut juga sebagai procedure.

Penulisan namaFunction boleh bebas, namun kebiasaan programmer Java adalah menulis dalam gaya camelCase, dimana karakter pertama nama function ditulis dengan huruf kecil, kemudian setiap karakter pertama kata berikutnya dalam huruf besar. Antara kata tidak boleh mengandung spasi. Contohnya seperti cariNamaMahasiswa(), prosesFormInput() atau tampilkanHargaBarang().

Setelah penulisan namaFunction, terdapat tanda kurung ” () “. Nantinya tanda kurung ini bisa diisi dengan function parameter (akan kita bahas dalam tutorial setelah ini).

Isi dari function berada dalam tanda kurung kurawal yang bisa terdiri dari 1 sampai ribuan baris kode program, tergantung kompleksitas aplikasi yang dibuat.

Pendefinisian function ini harus berada di dalam class seperti format berikut:

class NamaClass { static tipeDataKembalian namaFunction() { // Isi function disini... // Isi function disini... } public static void main(String args[]){ // Jalankan function namaFunction() } }

Dalam contoh format ini, pendefinisian function ada di baris 3 – 6. Sebuah function harus dijalankan atau “dipanggil” dengan cara menulis nama function tersebut dalam method main(). Inilah yang dilakukan oleh perintah di baris 10.

Agar penjelasan ini lebih mudah dipahami, mari kita bahas dengan contoh praktek.


Contoh Kode Program Function Bahasa Java

Dalam kode program berikut saya membuat sebuah function sapa() yang ketika dijalankan akan menampilkan teks “Halo Duniailkom”:

class BelajarJava { static void sapa() { System.out.println("Halo Duniailkom"); } public static void main(String args[]){ sapa(); sapa(); sapa(); } }

Hasil kode program:

Halo Duniailkom
Halo Duniailkom
Halo Duniailkom

Function sapa() tidak mengembalikan nilai, sehingga tipeDataKembalian diisi dengan keyword void. Isi dari function sapa() sendiri hanya 1 perintah System.out.println(“Halo Duniailkom”) seperti di baris 4.

Setelah di definisikan, sebuah function bisa dijalankan berkali-kali, inilah yang saya lakukan antara baris 11 – 13. Setiap kali perintah sapa() ditulis, akan tampil teks “Halo Duniailkom” di layar.

Sebuah class bisa saja memiliki banyak function. Berikut contohnya:

class BelajarJava { static void sapaLisa() { System.out.println("Hai Lisa"); } static void sapaNova() { System.out.println("Morning, Nova"); } static void sapaRudi() { System.out.println("Halo bro,.."); } public static void main(String args[]){ sapaLisa(); sapaNova(); sapaRudi(); } }

Hasil kode program:

Hai Lisa
Morning, Nova
Halo bro,..

Kali ini saya mendefinisikan 3 function di dalam class BelajarJava, yakni function sapaLisa(), sapaNova() dan sapaRudi(). Setiap function berisi perintah System.out.println() yang berbeda-beda.


Variabel di Dalam Function

Untuk function yang kompleks, kita bisa menulis variabel di dalam function tersebut. Berikut contoh penggunaannya:

class BelajarJava { static void hitungLuasSegitiga() { double alas = 5; double tinggi = 7; double luas = (alas * tinggi) / 2; System.out.println("Luas segitiga adalah: "+luas); } public static void main(String args[]){ hitungLuasSegitiga(); } }

Hasil kode program:

Luas segitiga adalah: 17.5

Kali ini saya mendefinisikan function hitungLuasSegitiga() di baris 3 – 8. Sesuai dengan namanya, fungsi ini dipakai untuk menghitung luas segitiga.

Di dalam function hitungLuasSegitiga() terdapat variabel alas, tinggi dan luas yang semuanya bertipe double. Variabel alas diisi angka 5 dan variabel tinggi diisi angka 7. Sedangkan variabel luas akan diisi hasil perhitungan (alas * tinggi) / 2, yakni rumus untuk mencari luas segitiga. Kemudian perintah System.out.println() di baris 7 akan menampilkan hasil perhitungan.

Untuk menjalankan function ini, kita harus panggil dengan perintah hitungLuasSegitiga() dari dalam method main di baris 11.


Dalam tutorial ini kita telah membahas pengertian function serta cara pembuatan function dalam bahasa Java. Berikutnya akan dibahas tentang Pengertian Parameter dan Argument Function.

*** Artikel Terkait ***

Sumber

Tutorial Belajar Java Part 37: Fungsi dan Pengertian Perintah CONTINUE

Pada tutorial belajar bahasa Java kali ini kita akan membahas Fungsi dan Pengertian Perintah CONTINUE. Perintah CONTINUE dipakai untuk mengatur alur perulangan yang mirip seperti perintah BREAK dalam tutorial sebelumnya.


Pengertian Perintah CONTINUE dalam Bahasa Java

Perintah CONTINUE mirip seperti perintah BREAK, hanya saja jika dalam perintah break perulangan langsung berhenti, untuk perintah continue perulangan hanya melewati 1 kali proses iterasi saja.

Berikut format dasar penggunaan perintah CONTINUE dalam perulangan FOR:

for (start; condition_1; increment) {
   // kode program
   // kode program   if (condition_2) {    continue;   } // kode program lanjutan
}

Sebagai contoh, misalnya kita membuat perulangan 1 sampai 10, lalu terdapat kondisi if (i = 5) { continue; }, maka ketika nilai variabel counter i sudah mencapai 5, kode program yang ada di bawah perintah continue akan di lewati dan proses perulangan lanjut ke iterasi ke 6.

Penjelasan ini akan lebih mudah dengan praktek contoh kode program.


Contoh Kode Program Perintah CONTINUE Bahasa Java

Sama seperti pada tutorial perintah BREAK, berikut perulangan FOR “normal” tanpa perintah continue:

class BelajarJava { public static void main(String args[]){ int i; for (i = 1; i <= 10; i++) { System.out.println(i + " + " + i + " = "+ (i+i)); } }
}

Hasil kode program:

1 + 1 = 2
2 + 2 = 4
3 + 3 = 6
4 + 4 = 8
5 + 5 = 10
6 + 6 = 12
7 + 7 = 14
8 + 8 = 16
9 + 9 = 18
10 + 10 = 20

Di sini saya menggunakan perulangan FOR untuk membuat daftar penambahan 1 + 1, 2 + 2, dst hingga 10 + 10.

Sekarang kita akan tambah dengan perintah CONTINUE:

class BelajarJava { public static void main(String args[]){ int i; for (i = 1; i <= 10; i++) { if (i == 5) { continue; } System.out.println(i + " + " + i + " = "+ (i+i)); } }
}

Hasil kode program:

1 + 1 = 2
2 + 2 = 4
3 + 3 = 6
4 + 4 = 8
6 + 6 = 12
7 + 7 = 14
8 + 8 = 16
9 + 9 = 18
10 + 10 = 20

Di dalam kode program, pada baris 6 terdapat kondisi if (i == 5) { continue; }. Kondisi ini akan terpenuhi saat variabel counter i berisi angka 5. Hasilnya, perintah System.out.println di baris 9 akan dilompati dan perulangan langsung pindah ke iterasi berikutnya, yakni variabel i akan berisi angka 6. Dalam tampilan akhir bisa terlihat baris 5 + 5 = 10 tidak ada di daftar penambahan.

Selanjutnya, bisakah anda menebak kenapa perintah continue tidak berefek pada kode program berikut?

class BelajarJava { public static void main(String args[]){ int i; for (i = 1; i <= 10; i++) { System.out.println(i + " + " + i + " = "+ (i+i)); if (i == 5) { continue; } } }
}

Hasil kode program:

1 + 1 = 2
2 + 2 = 4
3 + 3 = 6
4 + 4 = 8
5 + 5 = 10
6 + 6 = 12
7 + 7 = 14
8 + 8 = 16
9 + 9 = 18
10 + 10 = 20

Pertanyaannya, kenapa baris 5 + 5 = 10 masih tampil? padahal saya membuat kondisi if (i == 5) {continue; } di baris 7.

Kembali, logika yang sama seperti pada perulangan BREAK juga berlaku di sini. Dalam kode di atas, perintah System.out.println di tulis sebelum perintah continue. Akibatnya, meskipun perintah continue dijalankan saat i bernilai 5 (dan kondisi ini terpenuhi), namun perintah System.out.println sudah terlanjur di proses terlebih dahulu.

Ini menjadi catatan penting saat merancang kode program yang melibatkan perintah continue, karena posisi peletakan perintah sangat berpengaruh ke hasil akhir.

Sebagai tambahan, berikut contoh kode program perintah continue dalam perulangan DO WHILE:

class BelajarJava { public static void main(String args[]){ int i = 0; do { i++; if (i == 5) { continue; } System.out.println(i + " + " + i + " = "+ (i+i)); } while (i < 10); }
} 

Hasil kode program:

1 + 1 = 2
2 + 2 = 4
3 + 3 = 6
4 + 4 = 8
6 + 6 = 12
7 + 7 = 14
8 + 8 = 16
9 + 9 = 18
10 + 10 = 20

Ketika membuat perintah CONTINUE dengan perulangan DO WHILE dan juga perulangan WHILE, posisi peletakan perintah increment sangat berpengaruh.

Contoh kasus, tanpa menjalankan kode program dibawah ini bisakah anda menebak hasilnya?

class BelajarJava { public static void main(String args[]){ int i = 0; do { if (i == 5) { continue; } System.out.println(i + " + " + i + " = "+ (i+i)); i++; } while (i < 10); }
}

Hasilnya sebuah infinity loop!, yakni perulangan yang tidak pernah berakhir.

Ini terjadi karena pada saat variabel i berisi angka 5, perulangan akan terus berputar-putar antara baris 6 – 9. Perintah increment i++ yang ada di baris 11 tidak bisa di eksekusi karena di tulis setelah perintah continue di baris 8.

Jadi, kata kuncinya adalah: perhatikan logika program terutama ketika membuat perulangan WHILE dan DO WHILE yang melibatkan perintah continue.

Sekedar catatan, jika anda menjalankan kode diatas, akan tampil hasil berikut:

0 + 0 = 0
1 + 1 = 2
2 + 2 = 4
3 + 3 = 6
4 + 4 = 8

Setelah itu tampil baris kosong yang sebenarnya berupa infinity loop, karena perintah System.out.println dan increment i++ di tulis setelah perintah continue.


Dalam lanjutan tutorial bahasa Java di duniailkom kali ini kita telah membahas tentang perintah CONTINUE. Tutorial ini menutup seri bahasan struktur kondisi dan perulangan di dalam bahasa Java.

Sumber

Tutorial Belajar Java Part 36: Fungsi dan Pengertian Perintah BREAK

Melanjutkan tutorial belajar bahasa pemrograman Java di Duniailkom, kali ini kita akan membahas tentang Fungsi dan Pengertian Perintah BREAK. Perintah BREAK masih berhubungan dengan perulangan (loop) FOR, WHILE dan DO WHILE yang baru saja di bahas.


Pengertian Perintah BREAK dalam Bahasa Java

Ketika membuat perulangan, kadang kita ingin keluar dari perulangan sebelum waktunya.

Sebagai contoh, saya sedang membuat kode program untuk mencari sebuah nilai dalam array yang terdiri dari 100 element. Jika ternyata nilai sudah ditemukan di posisi ke-43, maka sisa perulangan tidak diperlukan lagi. Akan lebih efisien jika perulangan tersebut langsung berhenti pada saat itu juga, dan inilah fungsi dari perintah BREAK.

Secara sederhana, BREAK adalah perintah khusus yang dipakai untuk memaksa sebuah perulangan berhenti sebelum waktunya. Perintah break ini bisa dipakai dalam semua jenis perulangan, baik itu FOR, WHILE, maupun DO WHILE.

Berikut format dasar penggunaan perintah BREAK dalam perulangan FOR:

for (start; condition_1; increment) {
   // kode program
   // kode program   if (condition_2) {    break;   }
}

Dalam contoh ini, jika condition_2 terpenuhi (bernilai true), maka perulangan akan langsung berhenti meskipun belum mencapai kondisi akhir di condition_1.

Mari kita bahas dengan contoh kode program.


Contoh Kode Program Perintah BREAK Bahasa Java

Sebelum masuk ke perintah break, berikut contoh perulangan FOR bahasa Java untuk menampilkan daftar penambahan angka:

class BelajarJava { public static void main(String args[]){ int i; for (i = 1; i <= 10; i++) { System.out.println(i + " + " + i + " = "+ (i+i)); } }
}

Hasil kode program:

1 + 1 = 2
2 + 2 = 4
3 + 3 = 6
4 + 4 = 8
5 + 5 = 10
6 + 6 = 12
7 + 7 = 14
8 + 8 = 16
9 + 9 = 18
10 + 10 = 20

Di sini saya menggunakan perulangan FOR untuk membuat daftar penambahan 1 + 1, 2 + 2, dst hingga 10 + 10.

Sekarang saya ingin jika variabel counter i sudah mencapai angka 5, maka hentikan perulangan (break). Berikut kode programnya:

class BelajarJava { public static void main(String args[]){ int i; for (i = 1; i <= 10; i++) { System.out.println(i + " + " + i + " = "+ (i+i)); if (i == 5) { break; } } }
}

Hasil kode program:

1 + 1 = 2
2 + 2 = 4
3 + 3 = 6
4 + 4 = 8
5 + 5 = 10

Di dalam perulangan FOR, yakni pada baris 7 terdapat pemeriksaan kondisi if (i == 5). Jika kondisi ini terpenuhi (variabel counter i sudah bernilai 5) maka jalankan perintah BREAK. Hasilnya, perulangan langsung berhenti begitu variabel i mencapai angka 5.

Sebagai tambahan, posisi pemeriksaan kondisi ini bisa berpengaruh kepada tampilan akhir. Perhatikan kode program berikut:

class BelajarJava { public static void main(String args[]){ int i; for (i = 1; i <= 10; i++) { if (i == 5) { break; } System.out.println(i + " + " + i + " = "+ (i+i)); } }
}

Hasil kode program:

1 + 1 = 2
2 + 2 = 4
3 + 3 = 6
4 + 4 = 8

Bisakah anda menjelaskan kenapa perulangan kita berhenti pada angka 4 dan bukan di angka 5 seperti sebelumnya? Padahal kondisi yang dipakai tetap sama, yakni if (i == 5) { break; }

Ini terjadi karena perubahan posisi perintah System.out.println. Dalam contoh pertama, perintah System.out.println ditulis sebelum pemeriksaan kondisi if (i == 5). Ini berarti begitu variabel counter i naik menjadi 5, perintah System.out.println akan di proses terlebih dahulu, setelah itu barulah perintah break di jalankan.

Sedangkan pada kode program kali ini, ketika variabel i sampai ke angka 5, maka langsung break tanpa sempat menjalankan perintah System.out.println. Ini terjadi karena perintah System.out.println ditulis setelah pemeriksaan kondisi.

Sebagai penutup, berikut contoh penggunaan perintah break pada perulangan WHILE:

class BelajarJava { public static void main(String args[]){ int i = 1; while (i <= 10){ if (i == 5) { break; } System.out.println(i + " + " + i + " = "+ (i+i)); i++; } }
}

Hasil kode program:

1 + 1 = 2
2 + 2 = 4
3 + 3 = 6
4 + 4 = 8

Saya mengkonversi perulangan FOR sebelumnya menjadi WHILE. Dan karena perintah System.out.println juga ditulis setelah perintah break, maka penambahan yang tampil hanya sampai 4 saja.


Dalam tutorial kali ini kita telah membahas cara penggunaan perintah BREAK. Berikutnya akan dilanjutkan dengan membahas perintah CONTINUE dalam bahasa pemrograman Java.

Sumber

Tutorial Belajar Java Part 35: Perulangan DO WHILE Bahasa Java

Perulangan DO WHILE dalam banyak hal mirip seperti perulangan WHILE yang sudah kita pelajari sebelumnya, namun dengan 1 kunci perbedaan. Apa itu? dalam lanjutan tutorial bahasa pemrograman Java di Duniailkom kali ini kita akan bahas dengan lebih detail.


Pengertian Struktur Perulangan DO WHILE Bahasa Java

Perulangan DO WHILE merupakan modifikasi dari perulangan WHILE, yakni dengan memindahkan posisi pemeriksaan kondisi ke akhir perulangan. Artinya, lakukan dahulu sebuah perulangan, baru periksa apakah kondisi variabel counter sudah terpenuhi atau belum di akhir perulangan.

Berikut format dasar struktur perulangan DO WHILE dalam bahasa Java:

start;
do { // kode program // kode program increment;
} while (condition)

Sama seperti perulangan WHILE, di bagian start biasanya terdapat perintah inisialisasi variabel counter, misalnya i = 0. Kemudian di dalam block do ditulis kode program yang akan di ulang, tidak lupa sebuah perintah untuk menaikkan nilai variabel counter, misalnya dengan perintah i++.

Di bagian paling bawah, terdapat perintah while (condition). Di sinilah kondisi perulangan akan diperiksa. Selama kondisi ini menghasilkan nilai true, maka perulangan akan lanjut ke iterasi berikutnya.


Contoh Kode Program Perulangan Do While Bahasa Java

Agar bisa dibandingkan dengan bahasan di tutorial perulangan FOR dan WHILE, berikut contoh kode program bahasa Java untuk menampilkan 5 kali teks ‘Hello World’ menggunakan perulangan DO WHILE:

class BelajarJava { public static void main(String args[]){ int i = 1; do { System.out.println("Hello World"); i++; } while (i <= 5); }
}

Hasil kode program:

Hello World
Hello World
Hello World
Hello World
Hello World

Di baris 4 saya mendefinisikan variabel counter i dan memberikan nilai awal 1.

Kemudian terdapat block kode program do di baris 5 – 8. Inilah kode program yang akan di ulang, yakni berisi sebuah perintah System.out.println(“Hello World”) untuk menampilkan teks ‘Hello World’, dan sebuah perintah increment i++ untuk menaikkan nilai variabel i sebanyak 1 angka.

Terakhir di baris 9 terdapat perintah while (i <= 5). Artinya, selama variabel counter i bernilai kurang dari atau sama dengan 5, jalankan kembali perulangan.

Dalam perulangan DO WHILE kita juga bisa mengakses variabel counter seperti contoh berikut:

class BelajarJava { public static void main(String args[]){ int i = 1; do { System.out.print(i*3 + " "); i++; } while (i <= 5); }
}

Tanpa menjalankan kode program ini, bisakah anda menebak hasil yang tampil?

Yup, ini adalah kode program untuk membuat sebuah deret dengan kelipatan 3:

3 6 9 12 15

Kunci utama yang membedakan perulangan DO WHILE dengan perulangan WHILE adalah posisi pemeriksaan kondisi.

Karena dalam perulangan DO WHILE pemeriksaan kondisi di lakukan di akhir, maka perulangan akan selalu di jalankan minimal 1 kali, meskipun syarat perulangan sudah tidak dipenuhi.

Berikut contoh kasusnya:

class BelajarJava { public static void main(String args[]){ int i = 10; do { System.out.print(i*3 + " "); i++; } while (i <= 5); }
}

Hasil kode program: 30.

Di baris 4 saya mengisi angka 10 ke dalam variabel counter i. Namun syarat kondisi adalah while (i <= 5). Apakah i <=5 ? tidak (false). Namun meskipun kondisi ini tidak dipenuhi, perulangan akan tetap dijalankan 1 kali.

Jika kondisi yang sama dibuat menggunakan WHILE, perulangan tidak akan pernah dijalankan karena kondisi di periksa di awal. Inilah yang jadi perbedaan antara perulangan WHILE dan DO WHILE dalam bahasa Java.


Dalam tutorial ini kita telah membahas prinsip kerja dari perulangan DO WHILE. Berikutnya akan disambung dengan tutorial tentang penggunakan perintah BREAK dalam perulangan.

Sumber

Tutorial Belajar Java Part 34: Perulangan WHILE Bahasa Java

Melanjutkan tutorial belajar bahasa pemrograman Java di Duniailkom, kali ini kita akan bahas struktur perulangan (looping) kedua, yakni perulangan WHILE.


Pengertian Struktur Perulangan While Bahasa Java

Dalam tutorial sebelumnya tentang perulangan FOR, kita telah bahas bahwa sebuah perulangan harus memiliki 3 syarat: kondisi awal perulangan, kondisi pada saat perulangan, dan kondisi akhir perulangan.

Dalam perulangan FOR, ketiga syarat ini ditulis dalam 1 baris perintah seperti for (i = 1; i < 5; i++). Di dalam perulangan WHILE, ketiga kondisi ini saling terpisah.

Berikut format dasar struktur perulangan WHILE dalam bahasa Java:

start;
while (condition) { // kode program // kode program increment;
}

Di bagian start biasanya ditulis perintah inisialisasi variabel counter, misalnya i = 0. Di bagian condition terdapat kondisi yang harus dipenuhi agar perulangan berjalan, misalnya i < 5. Kemudian perintah increment harus berada di dalam block perulangan agar bisa menaikkan nilai variabel counter, misalnya dengan perintah i++.

Mari kita masuk ke contoh praktek.


Contoh Kode Program Perulangan While Bahasa Java

Sebagai praktek pertama, berikut kode program perulangan WHILE untuk menampilkan teks “Hello World” sebanyak 5 kali:

class BelajarJava { public static void main(String args[]){ int i = 1; while (i <= 5){ System.out.println("Hello World"); i++; } }
}

Hasil kode program:

Hello World
Hello World
Hello World
Hello World
Hello World

Di baris 4 terdapat perintah untuk menginput angka 1 ke dalam variabel i. Nantinya, variabel i ini akan menjadi variabel counter yang dipakai untuk menentukan jumlah perulangan.

Proses perulangan di mulai di baris 5. Perintah while (i <= 5) artinya, selama nilai variabel i kurang atau sama dengan 5, maka jalankan perulangan.

Di dalam blok perulangan terdapat perintah System.out.println(“Hello World”) di baris 6. Ini dipakai untuk menampilkan teks “Hello World“. Kemudian di baris 7 terdapat perintah increment, yakni i++. Perintah ini akan menaikkan nilai variabel i sebanyak 1 angka dalam setiap iterasi.

Perulangan while akan di ulang sebanyak 5 kali, mulai dari i = 1, i = 2, i = 3, i = 4, hingga i = 5. Ketika nilai variabel counter i sudah mencapai 6, maka kondisi while (i <= 5) tidak terpenuhi lagi (false), sehingga perulangan berhenti.

Salah satu hal yang harus selalu diingat ketika membuat perulangan while adalah, jangan lupa membuat perintah increment. Jika tidak, kondisi akhir tidak akan pernah terpenuhi dan perulangan akan berjalan terus menerus. Ini dikenal dengan istilah infinity loop. Berikut contohnya:

class BelajarJava { public static void main(String args[]){ int i = 1; while (i <= 5){ System.out.println("Hello World"); } }
} 

Jika anda menjalankan kode program di atas, teks “Hello World” akan ditampilkan terus menerus, tidak pernah selesai. Penyebabnya adalah karena kondisi while (i <= 5) akan selalu bernilai true. Di dalam blok perulangan tidak ada perintah yang bisa mengubah nilai variabel i agar kondisi while (i <= 5) bernilai false.

Untuk menghentikan infinity loop, tutup paksa jendela hasil dengan men-klik tanda (x) di sudut kanan atas, atau tekan kombinasi CTRL + C.

Sama seperti perulangan FOR, di dalam block perulangan WHILE kita juga bisa mengakses nilai dari variabel counter i:

class BelajarJava { public static void main(String args[]){ int i = 1; while (i <= 5){ System.out.println("Hello World "+ i); i++; } }
}

Hasil kode program:

Hello World 1
Hello World 2
Hello World 3
Hello World 4
Hello World 5

Bagaimana dengan perulangan menurun? tidak masalah. Kita tinggal mengatur kondisi awal, kondisi akhir, serta proses decrement:

class BelajarJava { public static void main(String args[]){ int i = 10; while (i > 5){ System.out.println("Hello World "+ i); i--; } }
}

Hasil kode program:

Hello World 10
Hello World 9
Hello World 8
Hello World 7
Hello World 6

Di sini saya mengisi nilai awal variabel counter i dengan angka 10. Kondisi perulangan adalah while (i > 5), artinya selama nilai variabel i di atas 5, jalankan perulangan. Dan karena kita ingin membuat perulangan menurun, maka dipakai perintah decrement i-- yang akan mengurangi nilai variabel i sebanyak 1 angka dalam setiap iterasi.

Sebagai latihan, silahkan anda coba rancang kode program perulangan WHILE untuk membuat deret berikut:

3 6 9 12 15 18 21 24 27 30

Deret ini sudah pernah kita bahasa dalam tutorial perulangan FOR, sekarang tinggal mengkonversinya menjadi perulangan WHILE.

Sebelum menutup tutorial ini, saya ingin membuat tantangan lain. Tanpa menjalankan kode program di bawah ini, bisakah anda menebak hasilnya?

class BelajarJava { public static void main(String args[]){ int i = 10; while (i <= 5){ System.out.println("Hello World "+ i); i++; } }
}

Berapa kali teks “Hello World” tampil?

Yup, jawabannya: Tidak ada. Alasannya adalah karena kondisi awal perulangan WHILE sudah langsung tidak terpenuhi.

Di baris 4 saya mengisi variabel i dengan angka 10. Kemudian terdapat blok perulangan WHILE dengan perintah while (i <= 5). Artinya, selama nilai variabel i kurang dari 5, jalankan perulangan. Masalahnya, nilai variabel i saat ini adalah 10, sehingga 10 <= 5 sudah langsung false. Dengan demikian, blok perulangan tidak akan pernah dijalankan.


Pada tutorial kali ini kita telah mempelajari cara penggunaan perulangan while atau while loop dalam bahasa pemrograman Java. Selanjutnya akan dibahas tentang perulangan ketiga, yakni Perulangan DO WHILE.

Sumber

Tutorial Belajar Java Part 33: Perulangan FOR Bahasa Java


Dalam bahasa Java (dan juga bahasa turunan C seperti C++, PHP dan JavaScript ), terdapat 3 buah struktur perulangan atau looping, yakni perulangan for, perulangan while dan perulangan do while.

Dalam tutorial bahasa pemrograman Java kali ini kita akan bahas perulangan for terlebih dahulu.


Pengertian Struktur Perulangan For Bahasa Java

Struktur perulangan (atau dalam bahasa inggris disebut loop) adalah instruksi kode program yang bertujuan untuk mengulang beberapa baris perintah.

Dalam merancang perulangan for, setidaknya kita harus mengetahui 3 komponen:

  1. Kondisi awal perulangan.
  2. Kondisi pada saat perulangan.
  3. Kondisi yang harus dipenuhi agar perulangan berhenti.

Berikut format dasar struktur perulangan for dalam bahasa Java:

for (start; condition; increment) { // kode program // kode program
}

Start adalah kondisi pada saat awal perulangan. Biasanya kondisi awal ini berisi perintah untuk memberikan nilai kepada variabel counter. Variabel counter sendiri adalah sebuah variabel yang menentukan berapa banyak perulangan dilakukan. Kebanyakan programmer menggunakan variabel i sebagai variabel counter (ini tidak harus, boleh juga memakai variabel lain).

Condition adalah kondisi yang harus dipenuhi agar perulangan berjalan. Selama kondisi ini terpenuhi, maka compiler bahasa Java akan terus melakukan perulangan. Misalnya condition ini berisi perintah i < 7, maka selama variabel counter i berisi angka yang kurang dari 7, terus lakukan perulangan.

Increment adalah bagian yang dipakai untuk memproses variabel counter agar bisa memenuhi kondisi akhir perulangan. Bagian ini akan selalu di eksekusi di setiap perulangan.

Disebut increment karena biasanya berisi operasi increment seperti i++, yang sebenarnya sama dengan i = i + 1. Maksudnya, dalam setiap perulangan naikkan variabel i sebanyak 1 angka. Namun kita juga bisa memberikan nilai lain seperti i = i + 2 sehingga variabel counter akan naik 2 angka setiap perulangan

Sebagai tambahan, terdapat istilah iterasi (iteration), yang berarti 1 kali perulangan. Istilah ini cukup sering dipakai ketika membahas tentang struktur perulangan.

Baik, cukup dengan teorinya mari kita masuk ke contoh praktek.


Contoh Kode Program Perulangan For Bahasa Java

Sebagai contoh pertama, saya ingin menampilkan teks  “Hello World” sebanyak 5 kali. Berikut kode programnya:

class BelajarJava { public static void main(String args[]){ int i; for (i = 1; i < 5; i++) { System.out.println("Hello World "); } }
}

Di baris 4 saya membuat sebuah variabel i yang di set dengan tipe data integer. Variabel ini nantinya akan dipakai sebagai variabel counter, yakni variabel yang menentukan kondisi akhir perulangan.

Perintah di baris 5, yakni for (i = 1; i < 5; i++), bisa dibaca:

“Jalankan perulangan, mulai dari variabel i = 1 sampai i < 5. Dalam setiap iterasi, naikkan nilai variabel i sebanyak 1 angka menggunakan perintah i++“.

Berikut hasilnya:

Hello World
Hello World
Hello World
Hello World

Pertanyaannya, kenapa hanya tampil 4 baris “Hello World“? Padahal kita mengulang dari i = 1 sampai i < 5.

Ini berkaitan dengan penggunaan tanda. Kondisi akhir perulangan adalah i < 5, yang artinya akan selalu bernilai true jika i kurang dari 5, tapi jika sudah sampai dengan 5 maka kondisi menjadi false dan perulangan berhenti.

Agar teks “Hello World” bisa tampil sebanyak 5 kali, ada 2 alternatif. Yakni bisa dengan mengubah kondisi awal menjadi i = 0, atau mengubah kondisi akhir menjadi i <=5. Pilihan kedua ini terlihat lebih baik:

class BelajarJava { public static void main(String args[]){ int i; for (i = 1; i <= 5; i++) { System.out.println("Hello World "); } }
}

Hasil kode program:

Hello World
Hello World
Hello World
Hello World
Hello World

Sekarang teks “Hello World” sudah tampil sebanyak 5 kali. Sekali lagi, hati-hati dengan menggunakan tanda perbandingan, terutama antara “<” dengan “<=“.

Di dalam perulangan, kita juga bisa mengakses variabel counter seperti contoh berikut:

class BelajarJava { public static void main(String args[]){ int i; for (i = 1; i <= 5; i++) { System.out.println("Hello World "+i); } }
}

Hasil kode program:

Hello World 1
Hello World 2
Hello World 3
Hello World 4
Hello World 5

Sekarang setelah teks “Hello World“, tampil angka yang berasal dari nilai variabel i. Karena dalam setiap iterasi variabel counter i akan naik 1 angka (proses increment), maka ketika ditampilkan juga akan naik 1 angka untuk setiap iterasi.

Variabel counter i juga tidak harus di increment, tapi juga bisa di decrement untuk membuat perulangan menurun. Berikut contohnya:

class BelajarJava { public static void main(String args[]){ int i; for (i = 5; i >= 1; i--) { System.out.println("Hello World "+i); } }
}

Hasil kode program:

Hello World 5
Hello World 4
Hello World 3
Hello World 2
Hello World 1

Kode kita sangat mirip seperti sebelumnya, tapi perhatikan perintah for di baris 5: for (i = 5; i >= 1; i–). Ini bisa dibaca:

“Jalankan perulangan, mulai dari variabel i = 5 sampai i >= 1. Dalam setiap iterasi, turunkan nilai variabel i sebanyak 1 angka menggunakan perintah i--“.

Hasilnya, nilai variabel counter i akan berkurang 1 angka dalam setiap iterasi.

Sebagai contoh terakhir, bisakah anda membuat perulangan untuk menampilkan angka kelipatan 3 sebanyak 10 kali? Hasil akhir yang kita inginkan adalah sebagai berikut:

3 6 9 12 15 18 21 24 27 30

Terdapat beberapa cara untuk menghasilkan deret ini. Pertama, ubah di sisi block perintah yang akan dijalankan. Dimana variabel counter i tetap naik dari 1 sampai 10:

class BelajarJava { public static void main(String args[]){ int i; for (i = 1; i <= 10; i++) { System.out.print(i*3 + " "); } }
}

Agar menghasilkan angka yang naik kelipatan 3, teknik yang dipakai adalah mengalikan nilai variabel counter i dengan angka 3 untuk setiap iterasi.

Cara kedua adalah memodifikasi proses increment dari variabel counter:

class BelajarJava { public static void main(String args[]){ int i; for (i = 3; i <= 30; i = i + 3) { System.out.print(i + " "); } }
}

Perhatikan perintah perulangan for di baris 5. Perintah for (i = 3; i <= 30; i = i + 3) bisa dibaca:

“Jalankan perulangan, mulai dari variabel i = 3 sampai i <= 30. Dalam setiap iterasi, naikkan nilai variabel i sebanyak 3 angka menggunakan perintah i = i + 3“.

Teknik ini agak jarang dipakai, tapi itu bisa dilakukan.


Dalam tutorial kali ini kita telah membahas tentang perulangan (looping) for. Nantinya looping ini bisa dikombinasikan lebih lanjut misalnya untuk membuat perulangan bersarang (nested loop).

Tapi untuk tutorial berikutnya kita akan lanjut dulu ke bentuk perulangan kedua dalam bahasa Java, yakni perulangan WHILE.

*** Artikel Terkait ***

Sumber