Kotlin adalah bahasa yang fleksibel dalam hal cara menjalankan program. Kita dapat mengompilasi ke bytecode JVM dan memaketnya sebagai .jar, memakai mode script untuk file .kts, atau bahkan menulis program Kotlin sebagai skrip shell dengan shebang. Setiap cara punya kegunaan dan keterbatasan masing-masing. Pada chapter ini kita akan membandingkan ketiga pendekatan, melihat kapan memilih yang mana, dan memahami output yang dihasilkan.

Tiga Cara Menjalankan Kotlin #

Tabel berikut merangkum tiga cara utama menjalankan program Kotlin. Setiap cara memiliki trade-off antara kecepatan eksekusi, kemudahan distribusi, dan kebutuhan tooling.

CaraPerintahCocok untuk
Kompilasi ke .jarkotlinc file.kt -include-runtime -d out.jar && java -jar out.jarAplikasi produksi, distribusi
Mode scriptkotlin file.ktEksperimen, otomasi cepat
Shebang./file.kt (dengan shebang di baris pertama)CLI tool sederhana

Cara 1: Kompilasi ke .jar #

Cara pertama adalah yang sudah kita pakai sejak chapter sebelumnya. Kompilasi file .kt menjadi .jar mandiri dengan flag -include-runtime, lalu jalankan dengan java -jar.

bash
# Kompilasi
kotlinc program.kt -include-runtime -d program.jar

# Jalankan
java -jar program.jar

Keunggulan utama cara ini adalah reproduksibilitas: berkas .jar dapat dijalankan di mesin mana pun selama JDK kompatibel terpasang. Cocok untuk produksi dan CI/CD.

Cara 2: Mode Script (.kts) #

Kotlin mendukung file script dengan ekstensi .kts. File script tidak memerlukan kompilasi terpisah; perintah kotlin langsung mengompilasi dan menjalankannya dalam satu langkah.

bash
# Jalankan file script
kotlin program.kts

File .kts tidak memerlukan function main. Baris-baris kode di tingkat atas akan dieksekusi secara berurutan, mirip dengan Python atau Ruby.

kotlin program.kts (contoh script)
val nama = "Budi"
val tahun = 2026
println("Halo, $nama!")
println("Tahun belajar: $tahun")

Mode script cocok untuk otomasi cepat, eksperimen sintaks, atau tugas-tugas yang biasanya kita tulis sebagai skrip shell. Namun, mode script lebih lambat saat startup karena kompilasi terjadi setiap kali dijalankan.

Cara 3: Shebang Script #

Di Linux dan macOS, kita dapat menulis file .kt dengan shebang di baris pertama, lalu menandai file tersebut sebagai executable. Setelah itu, file dapat dijalankan langsung seperti skrip shell.

kotlin program.kt (dengan shebang)
#!/usr/bin/env kotlin

fun main() {
    val nama = "Budi"
    val tahun = 2026
    println("Halo, $nama!")
    println("Tahun belajar: $tahun")
}
bash
# Tandai file sebagai executable (sekali saja)
chmod +x program.kt

# Jalankan langsung
./program.kt

Shebang #!/usr/bin/env kotlin memberi tahu kernel Linux/macOS untuk menjalankan file dengan interpreter kotlin yang tersedia di PATH. Pendekatan ini nyaman untuk membuat CLI tool sederhana.

Program yang Sama, Tiga Cara #

Untuk membandingkan output ketiga cara, mari kita pakai satu program yang sama. Program ini mencetak daftar tiga cara menjalankan Kotlin, lalu menyapa pengguna.

kotlin
fun main() {
    val nama = "Budi"
    val tahun = 2026
    println("Cara 1: kotlinc + java -jar")
    println("Cara 2: kotlin file.kt (script)")
    println("Cara 3: shebang ./file.kt")
    println()
    println("Halo, $nama!")
    println("Tahun belajar: $tahun")
    println("Output identik untuk ketiga cara")
}

Output yang Dihasilkan:

text
Cara 1: kotlinc + java -jar
Cara 2: kotlin file.kt (script)
Cara 3: shebang ./file.kt

Halo, Budi!
Tahun belajar: 2026
Output identik untuk ketiga cara

Mari kita bedah beberapa bagian kode di atas:

  1. val nama = "Budi": variabel read-only bertipe String. Tipe disimpulkan kompilator dari nilai literal tanpa anotasi eksplisit.
  2. val tahun = 2026: variabel integer bertipe Int. Literal numerik 2026 dikenali sebagai Int oleh kompilator.
  3. println("Halo, $nama!"): string template menyisipkan nilai variabel nama ke dalam teks yang dicetak. Tanpa $, teks akan tampil apa adanya.
  4. println(): memanggil println tanpa argumen mencetak baris kosong untuk memberi jarak visual pada output.

Perbandingan Performa #

Ketiga cara menghasilkan output identik, tetapi performa startup berbeda. Kompilasi ke .jar memerlukan kompilasi awal, lalu eksekusi berikutnya cepat. Mode script dan shebang mengompilasi setiap kali dijalankan.

Aspek.jarScript .ktsShebang
Kompilasi awalDiperlukanTidakTidak
Eksekusi berulangCepatLambatLambat
DistribusiTanpa kotlincPerlu kotlinPerlu kotlin
Cocok untukProduksi, CI/CDEksperimenCLI tool sederhana

Keterbatasan Mode Script #

Mode script tidak menghasilkan berkas distribusi dan tidak memiliki build tool terintegrasi seperti Gradle. Untuk dependensi eksternal, kita harus memakai anotasi @file:DependsOn yang lebih terbatas dari deklarasi dependencies di Gradle.

Memilih Cara yang Tepat #

Panduan memilih cara menjalankan Kotlin berdasarkan konteks:

  • Aplikasi produksi: kompilasi ke .jar dengan -include-runtime.
  • CLI tool shell: shebang ./file.kt dengan chmod +x.
  • Eksperimen cepat: mode script kotlin file.kts.
  • Proyek dengan banyak dependensi: Gradle dengan plugin application.

Referensi Resmi #

Dokumentasi resmi untuk menjalankan program Kotlin tersedia di:

Referensi Lanjutan #

Selanjutnya #

Lingkungan kerja Kotlin kini lengkap: JDK terpasang, kompilator terkonfigurasi, IDE siap, dan kita tahu cara menjalankan program dengan tiga pendekatan berbeda. Section persiapan lingkungan berakhir di sini. Section berikutnya, Dasar Pemrograman, akan membongkar struktur program Kotlin secara menyeluruh — mulai dari anatomy main function, deklarasi variabel, hingga aturan identifier dan package yang membentuk fondasi penulisan kode Kotlin sehari-hari.