Menu
CoddyTech

Operator Logika Bagian 3

Termasuk bagian Dasar-Dasar dalam perjalanan Kotlin di Coddy. Pelajaran 26 dari 93.

Presedensi mengatur cara sebuah ekspresi dikelompokkan. ! memiliki prioritas tertinggi, diikuti &&, lalu ||. Jadi, a || b && c berarti a || (b && c).

val a = true
val b = false
val c = false
println(a || (b && c)) // true
println((a || b) && c) // false

Pengelompokan berbeda dari urutan evaluasi. || berhenti ketika operand kirinya bernilai true, sedangkan && berhenti ketika operand kirinya bernilai false. Pada ekspresi pertama di atas, b && c tidak pernah dievaluasi karena a sudah bernilai true.

Tanda kurung dapat mengubah pengelompokan atau memperjelasnya. Evaluasi operand kiri terlebih dahulu, lalu tentukan apakah operand kanan diperlukan.

challenge icon

Tantangan

Mudah

Tulis fungsi canAccessFeature yang menerima isAdmin, isPremium, dan hasTrialActive, lalu mengembalikan apakah pengguna dapat mengakses fitur premium.

Pengguna dapat mengakses fitur tersebut jika mereka adalah admin, atau jika mereka adalah anggota premium dan memiliki uji coba yang masih aktif.

Gunakan tanda kurung untuk memastikan urutan evaluasi yang benar: kondisi && harus dikelompokkan terlebih dahulu sebelum digabungkan dengan ||.

Parameter:

  • isAdmin (Boolean): Apakah pengguna adalah administrator
  • isPremium (Boolean): Apakah pengguna memiliki langganan premium
  • hasTrialActive (Boolean): Apakah pengguna memiliki periode uji coba yang masih aktif

Nilai yang dikembalikan: true jika pengguna dapat mengakses fitur tersebut, false jika tidak (Boolean)

Driver yang disediakan memanggil fungsi kamu dan mencetak nilai yang dikembalikannya. Pertahankan signature fungsi dan jangan tambahkan fungsi main.

Coba sendiri

fun canAccessFeature(isAdmin: Boolean, isPremium: Boolean, hasTrialActive: Boolean): Boolean {
    // Tulis kodemu di sini
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground Kotlin