
Belajar Dasar Kotlin: Perulangan
Dalam membuat program, kita mungkin akan menginginkan untuk mengulangi suatu proses berkali-kali. Dalam pemrograman terdapat Perulangan atau Looping yang bisa digunakan untuk menyelesaikan masalah tadi.
for Looping
Perulangan for merupakan perulangan yang paling sederhana. Sintak if seperti berikut:
for (item in ekspresi) {
kode dalam perulangan
}
ekspresi ini dapat berupa ekspresi atau variabel. Kode dalam perulangan merupakan kode yang akan
dijalankan berkali-kali. item merupakan variabel yang dapat diakses di kode dalam perulangan.
Perulangan for dapat digunakan untuk mengulangi suatu proses/kode berdasarkan item-item pada suatu
array, seperti berikut:
val array = arrayOf("Kotlin", "Java", "C++", "Rust", "Go")
for (item in array) {
println(item)
}
// Output:
// Kotlin
// Java
// C++
// Rust
// Go
Kode dalam perulangan akan dijalankan pertama kali dengan variabel item merupakan item ke-1 dari
array yaitu Kotlin, kemudian di jalankan kembali dengan item merupakan item ke-2 dari array
yaitu Java, kemudian di jalankan kembali dengan item merupakan item ke-3 dari array yaitu
C++ dan seterusnya sampai dengan item merupakan item terakhir dari array yaitu Go.
Perulangan for juga dapat digunakan dengan Range seperti berikut:
for (angka in 1..10) {
println(angka)
}
// Output:
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9
// 10
Kode dalam perulangan akan dijalankan pertama kali dengan variabel angka berisi 1, kemudian
dijalankan lagi dengan angka berisi 2, kemudian dijalankan lagi dengan angka berisi 3 dan
seterusnya sampai dengan angka berisi 10.
while Looping
Perulangan ini dapat digunakan untuk mengulangi suatu proses berdasarkan suatu kondisi. Sintaknya seperti di bawah ini:
while (kondisi) {
kode dalam perulangan
}
Kondisi harus berupa ekspresi/variabel yang bertipe data Boolean.
Contoh:
var i = 1
while (i <= 10) {
println(i)
i++
}
// Output:
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9
// 10
Perulangan akan di awali dengan pengecekan kondisi i <= 10, karena i = 1, maka kondisi bernilai
True sehingga kode dalam perulangan di jalankan. Kemudian pengecekan kondisi dijalankan lagi,
karena i = 2, maka kondisi bernilai True dan kode dijalankan lagi. Kemudian pengecekan kondisi
dijalankan lagi, karena i = 3, maka kondisi bernilai True dan kode dijalankan lagi. Dan
seterusnya, sampai pada saat i = 11, maka kode tidak dijalankan karena kondisi tidak terpenuhi
(bernilai False) dan perulangan selesai.
Setiap kali kode dijalankan variabel
ibertambah satu karena ada kodei++.
Secara lebih umum, kode dalam perulangan akan terus di jalankan jika kondisi bernilai True dan
akan berhenti jika kondisi bernilai False.
do while Looping
Sama seperti perulangan while, perulangan ini dapat digunakan untuk mengulangi suatu proses
berdasarkan suatu kondisi. Sintaknya seperti di bawah ini:
do {
kode dalam perulangan
} while (kondisi)
Kondisi harus berupa ekspresi/variabel yang bertipe data Boolean.
Contoh:
var i = 1
do {
println(i)
i++
} while (i <= 10)
// Output:
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9
// 10
Perulangan akan di awali dengan menjalankan kode dalam perulangan. Kemudian dilakukan pengecekan
kondisi i <= 0, karena i = 1, maka kode di jalankan kembali. Kemudian dilakukan pengecekan
kondisi lagi, karena i = 2, maka kode di jalankan kembali. Kemudian dilakukan pengecekan kondisi
lagi, karena i = 3, maka kode di jalankan kembali. Dan seterusnya, sampai saat i = 11, maka kode
tidak dijalankan kembali karena kondisi tidak terpenuhi dan perulangan selesai.
Setiap kali kode dijalankan variabel
ibertambah satu karena ada kodei++.
Secara lebih umum, perulangan ini hampir mirip dengan perulangan while. Lalu, Apa perbedaan
perulangan while dan do while ?. Perbedaannya cukup sederhana, yaitu:
- Pada perulangan
while, pengecekan kondisi dilakukan dahulu baru kemudian kode dalam perulangan dijalankan. Sehingga kode dalam perulangan bisa tidak dijalankan sama sekali. - Pada perulangan
do while, kode dalam perulangan dijalankan dahulu baru pengecekan kondisi. Sehingga kode dalam perulangan jelas dijalankan minimal 1 kali.
break
Keyword break dapat digunakan untuk menghentikan perulangan saat di dalam perulangan.
Misalkan kita ingin mencari angka yang dapat dibagi 5 dari 1 sampai 10. Kita bisa melakukan perulangan dari 1 sampai 10, kemudian mencetak apakah angka saat perulangan bisa dibagi dengan 5.
for (i in 1..10) {
if (i % 5 == 0) {
println("$i dapat dibagi 5")
} else {
println("$i tidak dapat dibagi 5")
}
}
// Output:
// 1 tidak dapat dibagi 5
// 2 tidak dapat dibagi 5
// 3 tidak dapat dibagi 5
// 4 tidak dapat dibagi 5
// 5 dapat dibagi 5
// 6 tidak dapat dibagi 5
// 7 tidak dapat dibagi 5
// 8 tidak dapat dibagi 5
// 9 tidak dapat dibagi 5
// 10 dapat dibagi 5
Kode berjalan sesuai keinginan. Misalkan jika kita hanya ingin mencari angka pertama yang bisa
dibagi dengan 5 dan setelah menemukannya kita ingin menghentikan perulangan, maka kita bisa
menggunakan break setelah menemukannya agar perulangan langsung berhenti.
for (i in 1..10) {
if (i % 5 == 0) {
println("$i dapat dibagi 5")
break
} else {
println("$i tidak dapat dibagi 5")
}
}
// Output:
// 1 tidak dapat dibagi 5
// 2 tidak dapat dibagi 5
// 3 tidak dapat dibagi 5
// 4 tidak dapat dibagi 5
// 5 dapat dibagi 5
break dapat digunakan pada while dan do while juga.
Semua kode setelah
breakakan diloncati.
continue
Keyword continue akan meloncati semua kode setelah itu, namun tetap melanjutkan perulangan.
Misalkan kita ingin melakukan operasi pada angka antara 1 sampai 10 yang bisa dibagi oleh 5.
for (i in 1..10) {
if (i % 5 == 0) {
println("Operasi pada $i")
}
}
// Output:
// Operasi pada 5
// Operasi pada 10
Kode berjalan sesuai harapan, namun jika operasi membutuhkan banyak kode, maka kode akan menjadi
kurang rapi. Agar lebih rapi, kita menjalankan continue jika angka tidak bisa dibagi 5 agar kode
setelah continue diloncati dan perulangan dilanjutkan.
for (i in 1..10) {
if (i % 5 != 0)
continue
println("Operasi pada $i")
}
// Output:
// Operasi pada 5
// Operasi pada 10