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.
| Cara | Perintah | Cocok untuk |
|---|---|---|
Kompilasi ke .jar | kotlinc file.kt -include-runtime -d out.jar && java -jar out.jar | Aplikasi produksi, distribusi |
| Mode script | kotlin file.kt | Eksperimen, 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.
# Kompilasi
kotlinc program.kt -include-runtime -d program.jar
# Jalankan
java -jar program.jarKeunggulan 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.
# Jalankan file script
kotlin program.ktsFile .kts tidak memerlukan function main. Baris-baris kode di tingkat atas akan dieksekusi secara berurutan, mirip dengan Python atau Ruby.
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.
#!/usr/bin/env kotlin
fun main() {
val nama = "Budi"
val tahun = 2026
println("Halo, $nama!")
println("Tahun belajar: $tahun")
}# Tandai file sebagai executable (sekali saja)
chmod +x program.kt
# Jalankan langsung
./program.ktShebang #!/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.
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:
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 caraMari kita bedah beberapa bagian kode di atas:
val nama = "Budi": variabel read-only bertipeString. Tipe disimpulkan kompilator dari nilai literal tanpa anotasi eksplisit.val tahun = 2026: variabel integer bertipeInt. Literal numerik2026dikenali sebagaiIntoleh kompilator.println("Halo, $nama!"): string template menyisipkan nilai variabelnamake dalam teks yang dicetak. Tanpa$, teks akan tampil apa adanya.println(): memanggilprintlntanpa 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 | .jar | Script .kts | Shebang |
|---|---|---|---|
| Kompilasi awal | Diperlukan | Tidak | Tidak |
| Eksekusi berulang | Cepat | Lambat | Lambat |
| Distribusi | Tanpa kotlinc | Perlu kotlin | Perlu kotlin |
| Cocok untuk | Produksi, CI/CD | Eksperimen | CLI 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
.jardengan-include-runtime. - CLI tool shell: shebang
./file.ktdenganchmod +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 #
- Get started with Kotlin — panduan resmi menjalankan program Kotlin pertama di berbagai platform
- Kotlin command-line compiler
— rujukan kompilator CLI untuk mengompilasi dan menjalankan
.ktmenjadi.jar
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.