Menu
CoddyTech

Bekerja dengan file

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Kotlin di Coddy. Pelajaran 1 dari 57.

Program nyata terbagi menjadi beberapa file. Semua file .kt dalam program Kotlin dikompilasi bersama, jadi fungsi atau class yang dideklarasikan di satu file dapat digunakan di file lain dalam package yang sama tanpa import:

// Greeting.kt
fun greeting(name: String) = "Hello, $name!"

// Main.kt
fun main() {
    println(greeting("Ada"))
}

Menjalankan program ini mencetak Hello, Ada!: main dalam Main.kt memanggil fungsi yang berada di Greeting.kt.

File Kotlin hanya berisi deklarasi: class, fungsi, dan property. Pernyataan seperti println(...) harus berada di dalam fungsi. Program dimulai dari fun main(), yang menurut konvensi berada di Main.kt:

// Greeting.kt
fun greeting(name: String) = "Hello, $name!"
// println("hi")            // error: pernyataan harus berada di dalam fungsi

// Main.kt
fun main() {
    val name = readLine() ?: "friend"
    println(greeting(name))
}

Tata letak yang umum adalah satu class per file, dengan nama yang sama seperti class tersebut: Dog.kt berisi Dog, Account.kt berisi Account. Dalam tantangan di bagian ini, kodemu ditulis di file-file tersebut dan Main.kt berisi kode input/output yang disediakan, yang biasanya tidak dapat kamu edit. Editor menampilkan setiap file sebagai tab.

Dog.kt        // class Dog(...) { ... }
Account.kt    // class Account { ... }
Main.kt       // fun main(): membaca input dan mencetak hasilnya

Visibilitas juga berlaku pada file. Deklarasi tingkat atas yang diberi tanda private hanya terlihat di dalam file itu sendiri, sedangkan visibilitas default, public, membuatnya terlihat di setiap file:

// Secret.kt
private const val SALT = "x7"        // hanya file ini yang bisa mengaksesnya
fun hashed(s: String) = s + SALT

// Main.kt
fun main() {
    println(hashed("pw"))            // tidak masalah: hashed bersifat publik
    // println(SALT)                 // error: SALT bersifat privat di Secret.kt
}
challenge icon

Tantangan

Mudah

Program ini memiliki dua file. main di Main.kt membaca nama dan mencetak hasil greeting(name). Lengkapi greeting di Greeting.kt agar mengembalikan Hello, Ada! untuk nama Ada, atau Hello, friend! saat nama kosong.

Kodemu ditulis di Greeting.kt. Main.kt berisi kode input/output yang disediakan dan tidak dapat diedit.

Coba sendiri

fun main() {
    // Kode input/output yang disediakan: biarkan tetap seperti semula
    val input = generateSequence(::readLine).toList()
    for (name in input) println(greeting(name))
}
quiz iconUji dirimu

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

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Playground Kotlin