Main Parameter
Function main() merupakan function utama yang menjadi titik awal eksekusi program Kotlin.
Selain digunakan tanpa parameter, main() juga dapat menerima parameter.
Parameter pada main() biasanya digunakan untuk menerima argument dari command line ketika program dijalankan.
Main Tanpa Parameter
Bentuk paling sederhana dari main() adalah:
fun main() {
println("Hello World")
}
Ketika program dijalankan, Kotlin akan memulai eksekusi dari function:
main()
Output:
Hello World
Main dengan Parameter
Kita dapat membuat main() dengan parameter berupa Array<String>.
Contoh:
fun main(args: Array<String>) {
println("Hello World")
}
Pada contoh tersebut:
args: Array<String>
adalah parameter yang digunakan untuk menerima argument dari command line.
Parameter tersebut biasanya disebut:
args
Namun, nama args sebenarnya bukan keharusan. Kita dapat menggunakan nama variable lainnya.
Contoh:
fun main(arguments: Array<String>) {
println("Hello World")
}
Apa Itu Array<String>?
Perhatikan:
Array<String>
Artinya parameter tersebut merupakan sebuah Array yang setiap elemennya bertipe String.
Misalnya kita menjalankan program dengan argument:
Ucup 30 Palu
maka data tersebut dapat diterima sebagai:
args[0] = "Ucup"
args[1] = "30"
args[2] = "Palu"
Semua argument yang diterima melalui command line pada main() akan berupa String.
Mengakses Parameter args
Kita dapat mengakses argument menggunakan index.
Contoh:
fun main(args: Array<String>) {
println(args[0])
}
Jika program dijalankan dengan:
Ucup
maka output:
Ucup
Argument pertama berada pada index:
0
Contoh Beberapa Argument
Contoh:
fun main(args: Array<String>) {
println(args[0])
println(args[1])
println(args[2])
}
Jika program dijalankan dengan argument:
Ucup Topekox Palu
maka:
args[0] = "Ucup"
args[1] = "Topekox"
args[2] = "Palu"
Output:
Ucup
Topekox
Palu
Menampilkan Semua Argument
Kita juga dapat melakukan perulangan terhadap args.
Contoh:
fun main(args: Array<String>) {
for (arg in args) {
println(arg)
}
}
Jika argument yang diberikan:
Ucup Topekox Palu
output:
Ucup
Topekox
Palu
Menggunakan forEach
Karena args merupakan array, kita juga dapat menggunakan forEach.
Contoh:
fun main(args: Array<String>) {
args.forEach {
println(it)
}
}
it mewakili setiap element dari array args.
Jika argument:
Java Kotlin Python
output:
Java
Kotlin
Python
Mengetahui Jumlah Argument
Kita dapat menggunakan property:
args.size
untuk mengetahui jumlah argument.
Contoh:
fun main(args: Array<String>) {
println("Jumlah argument: ${args.size}")
}
Jika program dijalankan dengan:
Ucup Topekox Palu
output:
Jumlah argument: 3
Contoh Penggunaan Main Parameter
Misalnya kita ingin membuat program sederhana yang menerima nama dari command line.
fun main(args: Array<String>) {
if (args.isNotEmpty()) {
println("Hello ${args[0]}")
} else {
println("Nama belum diberikan")
}
}
Jika dijalankan dengan:
Ucup
output:
Hello Ucup
Jika tidak memberikan argument:
Nama belum diberikan
Mengecek args.isNotEmpty()
Pada contoh sebelumnya digunakan:
args.isNotEmpty()
Method tersebut digunakan untuk memastikan bahwa array args memiliki data.
Hal ini penting karena jika kita langsung mengakses:
args[0]
ketika tidak ada argument, program dapat menghasilkan error:
ArrayIndexOutOfBoundsException
Karena itu, lebih aman melakukan pengecekan terlebih dahulu:
if (args.isNotEmpty()) {
println(args[0])
}
Contoh Program Biodata
Kita dapat membuat program sederhana yang menerima beberapa argument.
fun main(args: Array<String>) {
if (args.size >= 3) {
val firstName = args[0]
val lastName = args[1]
val city = args[2]
println("Nama: $firstName $lastName")
println("Kota: $city")
} else {
println("Argument tidak lengkap")
}
}
Misalnya diberikan argument:
Ucup Topekox Palu
Output:
Nama: Ucup Topekox
Kota: Palu
Argument dari Command Line
Konsepnya dapat digambarkan:
Command Line
│
│ argument
▼
main(args: Array<String>)
│
├── args[0]
├── args[1]
└── args[2]
Misalnya:
java Main Ucup Topekox Palu
maka:
args[0] → Ucup
args[1] → Topekox
args[2] → Palu
Parameter main() Harus Bertipe String
Parameter main() untuk menerima command-line arguments menggunakan:
Array<String>
Contoh:
fun main(args: Array<String>) {
// ...
}
Argument dari command line pada awalnya selalu diterima sebagai String.
Jika kita ingin menggunakan nilai tersebut sebagai Int, kita perlu melakukan konversi.
Konversi Argument ke Int
Misalnya kita ingin menerima umur:
fun main(args: Array<String>) {
val age = args[0].toInt()
println("Usia: $age")
}
Jika diberikan argument:
30
maka:
args[0]
berisi:
"30"
Setelah:
.toInt()
menjadi:
30
yang bertipe Int.
Contoh Kalkulator Sederhana
Kita dapat menggunakan main parameter untuk membuat program sederhana.
fun main(args: Array<String>) {
val a = args[0].toInt()
val b = args[1].toInt()
val result = a + b
println("$a + $b = $result")
}
Jika argument yang diberikan:
10 20
maka:
a = 10
b = 20
Output:
10 + 20 = 30
Perbedaan main() dan main(args: Array<String>)
Kotlin mendukung bentuk main() tanpa parameter:
fun main() {
println("Hello World")
}
Dan bentuk dengan parameter:
fun main(args: Array<String>) {
println("Hello ${args[0]}")
}
Perbedaannya:
fun main()
↓
Tidak menerima command-line argument secara langsung.
fun main(args: Array<String>)
↓
Menerima command-line argument melalui args.
Contoh Program Lengkap
fun main(args: Array<String>) {
if (args.isEmpty()) {
println("Tidak ada argument")
return
}
println("Jumlah argument: ${args.size}")
for (arg in args) {
println("Argument: $arg")
}
}
Jika dijalankan dengan:
Kotlin Java Python
output:
Jumlah argument: 3
Argument: Kotlin
Argument: Java
Argument: Python
Kesimpulan
main() adalah function yang menjadi titik awal eksekusi program Kotlin.
Bentuk sederhana:
fun main() {
println("Hello World")
}
Sedangkan jika ingin menerima command-line argument:
fun main(args: Array<String>) {
println(args[0])
}
args memiliki tipe:
Array<String>
Setiap argument dapat diakses menggunakan index:
args[0]
args[1]
args[2]
Index array dimulai dari 0.
Jika argument:
Ucup Topekox Palu
maka:
args[0] → "Ucup"
args[1] → "Topekox"
args[2] → "Palu"
Jika argument ingin digunakan sebagai tipe data lain, kita perlu melakukan konversi.
Contoh:
val age = args[0].toInt()
Jadi, prinsip sederhananya:
Main Parameter memungkinkan program Kotlin menerima data dari command line melalui parameter Array<String>.