0Pricing
Kotlin Academy · Pelajaran

while dan do-while: Kapan Menggunakan Masing-Masing

Tulislah perulangan while dan do-while, lalu pahami kasus penggunaannya.

while dan do-while: Kapan Menggunakan Masing-Masing adalah pelajaran Kotlin Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Kotlin Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kotlin Academy mencakup 4 pelajaran total.

Dua Jenis Perulangan while

Kotlin menyediakan while (pengujian sebelum perulangan) dan do-while (pengujian setelah perulangan). Perbedaannya: do-while selalu menjalankan isi perulangan setidaknya sekali.

Perulangan while Dasar

while memeriksa kondisi sebelum setiap iterasi. Jika sejak awal bernilai salah, isi perulangan tidak pernah dijalankan.

fun main() {
    var count = 0
    while (count < 3) {
        println("count = $count")
        count++
    }
}

Perulangan do-while Dasar

do-while menjalankan isi perulangan, lalu memeriksa kondisi. Isi perulangan selalu dijalankan setidaknya sekali.

fun main() {
    var n = 10
    do {
        println("n = $n")
        n--
    } while (n > 7)
}

Membaca hingga Penanda

Perulangan while ideal ketika Anda tidak mengetahui jumlah iterasi yang diperlukan — misalnya, membaca hingga menemukan nilai penanda.

fun main() {
    val data = listOf(3, 7, 0, 9)
    var i = 0
    while (i < data.size && data[i] != 0) {
        println("got ${data[i]}")
        i++
    }
    println("stopped at index $i")
}

Mencari dalam Daftar

Gunakan while untuk pencarian yang dapat berhenti lebih awal, yaitu berhenti segera setelah kondisi terpenuhi.

fun main() {
    val nums = listOf(2, 4, 7, 8, 10)
    var i = 0
    while (i < nums.size && nums[i] % 2 == 0) i++
    println("first odd at index $i = ${nums[i]}") // 2 = 7
}

do-while untuk Validasi Input

Gunakan do-while ketika Anda harus melakukan suatu tindakan (meminta, membaca, atau mencoba) sebelum dapat menguji keberhasilan.

fun main() {
    val validInputs = listOf("y", "n", "y")
    var idx = 0
    var input: String
    do {
        input = validInputs[idx++]
        println("user typed: $input")
    } while (input != "n" && idx < validInputs.size)
}

Counter dengan Pengurangan

Perulangan while menangani counter yang berkurang hingga nol dengan rapi.

fun main() {
    var lives = 3
    while (lives > 0) {
        println("Lives left: $lives")
        lives--
    }
    println("Game over")
}

Perulangan Tak Terbatas dengan Break

Gunakan while (true) dengan break untuk kode bergaya perulangan peristiwa yang kondisi keluarnya kompleks.

fun main() {
    val items = listOf(1, 2, 3, -1, 4)
    var i = 0
    while (true) {
        if (i >= items.size || items[i] < 0) break
        println("ok: ${items[i]}")
        i++
    }
}

Membandingkan while dan for

Jika jumlah iterasi sudah diketahui sejak awal, pilih for. Gunakan while jika iterasi bergantung pada keadaan saat program berjalan.

fun main() {
    // for: known bounds
    for (i in 1..3) print("$i ")
    println()
    // while: state-driven
    var n = 1
    while (n <= 3) { print("$n "); n++ }
    println()
}

Perulangan dengan Dua Variabel

Perulangan while dapat melacak beberapa variabel, yang berguna untuk algoritma seperti Fibonacci.

fun main() {
    var a = 0
    var b = 1
    while (b < 50) {
        print("$b ")
        val next = a + b
        a = b
        b = next
    }
    println() // 1 1 2 3 5 8 13 21 34
}

do-while Selalu Berjalan Sekali

Meskipun kondisi sejak awal bernilai salah, isi do-while tetap dijalankan sekali. Terkadang inilah yang Anda inginkan — tetapi di lain waktu ini merupakan bug.

fun main() {
    var x = 100
    do {
        println("x = $x") // prints once
        x--
    } while (x > 1000) // false immediately
}

Pemeriksaan Singkat

Perulangan mana yang menjamin isinya dijalankan setidaknya sekali, apa pun kondisinya?

Ringkasan

Gunakan while ketika jumlah iterasi bergantung pada kondisi saat program berjalan. Gunakan do-while ketika isi perulangan harus dijalankan setidaknya sekali (misalnya untuk validasi atau percobaan ulang). Pilih for jika jumlah iterasi sudah diketahui.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “while dan do-while: Kapan Menggunakan Masing-Masing” gratis?

Ya — teks lengkap “while dan do-while: Kapan Menggunakan Masing-Masing” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kotlin Academy, upgrade ke CoddyKit PRO. Kursus Kotlin Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “while dan do-while: Kapan Menggunakan Masing-Masing”?

Tulislah perulangan while dan do-while, lalu pahami kasus penggunaannya. Kamu berlatih Kotlin Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Kotlin Academy?

Tidak diperlukan pengalaman sebelumnya. Kotlin Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “while dan do-while: Kapan Menggunakan Masing-Masing” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Kotlin Academy ini?

Ya. Setiap pelajaran Kotlin Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Perulangan for pada Rentang dan Koleksi
  2. while dan do-while: Kapan Menggunakan Masing-Masing
  3. forEach, repeat, dan forEachIndexed
  4. break, continue, dan Return Berlabel
← Kembali ke Kotlin Academy