Unit Return Function
Unit adalah tipe return yang digunakan oleh function ketika function tersebut tidak mengembalikan nilai yang dapat digunakan oleh pemanggilnya.
Unit di Kotlin kurang lebih memiliki konsep yang mirip dengan void pada beberapa bahasa pemrograman lain.
Function dengan Return Type Unit
Kita dapat menuliskan Unit secara eksplisit pada function.
Contoh:
fun sayHello(): Unit {
println("Hello World")
}
Pada function tersebut:
: Unit
menunjukkan bahwa function sayHello() memiliki return type Unit.
Function tersebut hanya menjalankan:
println("Hello World")
dan tidak mengembalikan nilai seperti String, Int, atau Boolean.
Memanggil Function Unit
Function dapat dipanggil seperti function biasa:
fun sayHello(): Unit {
println("Hello World")
}
fun main() {
sayHello()
}
Output:
Hello World
Ketika sayHello() dipanggil, function menjalankan kode di dalam body-nya.
Unit sebagai Return Type Default
Dalam Kotlin, kita sebenarnya tidak wajib menuliskan : Unit.
Contoh:
fun sayHello() {
println("Hello World")
}
Kode tersebut sama dengan:
fun sayHello(): Unit {
println("Hello World")
}
Kotlin secara otomatis menganggap function tersebut memiliki return type Unit.
Jadi, kedua function berikut memiliki arti yang sama:
fun sayHello() {
println("Hello World")
}
dan:
fun sayHello(): Unit {
println("Hello World")
}
Perbandingan Unit dengan Return Value
Function Unit tidak mengembalikan nilai yang digunakan oleh pemanggil.
Contoh:
fun sayHello(): Unit {
println("Hello World")
}
Sedangkan function berikut mengembalikan nilai String:
fun getHello(): String {
return "Hello World"
}
Perbedaannya:
sayHello()
↓
menjalankan proses
↓
tidak mengembalikan nilai yang digunakan
getHello()
↓
menghasilkan nilai
↓
"Hello World"
Function Unit dengan Parameter
Function yang memiliki return type Unit tetap dapat memiliki parameter.
Contoh:
fun sayHello(name: String): Unit {
println("Hello $name")
}
Pemanggilan:
sayHello("Ucup")
Output:
Hello Ucup
Parameter digunakan untuk menerima data, sedangkan Unit menunjukkan bahwa function tidak mengembalikan nilai tertentu.
Unit dan println()
Function println() juga dapat digunakan di dalam function yang memiliki return type Unit.
Contoh:
fun printName(name: String): Unit {
println("Nama: $name")
}
Function tersebut bertugas menampilkan data.
Pemanggilan:
printName("Ucup")
Output:
Nama: Ucup
Tidak ada nilai yang dikembalikan untuk disimpan ke dalam variable.
Contoh Function Unit Lainnya
Contoh function untuk menampilkan pesan:
fun showMessage(): Unit {
println("Selamat datang")
}
Contoh function untuk mencetak data:
fun printData(name: String): Unit {
println("Nama: $name")
}
Contoh function untuk melakukan beberapa proses:
fun prosesData(): Unit {
println("Memulai proses")
println("Memproses data")
println("Proses selesai")
}
Semua function tersebut hanya menjalankan proses dan tidak mengembalikan nilai seperti Int, String, atau Boolean.
Contoh Program Lengkap
fun sayHello(): Unit {
println("Hello World")
}
fun sayHelloName(name: String): Unit {
println("Hello $name")
}
fun printMessage(message: String): Unit {
println(message)
}
fun main() {
sayHello()
sayHelloName("Ucup")
printMessage("Belajar Kotlin")
}
Output:
Hello World
Hello Ucup
Belajar Kotlin
Unit vs String Return
Perhatikan perbedaan berikut.
Menggunakan Unit
fun sayHello(): Unit {
println("Hello World")
}
Function langsung menjalankan proses.
Pemanggilan:
sayHello()
Menggunakan String
fun getHello(): String {
return "Hello World"
}
Nilai hasil function dapat disimpan:
val message = getHello()
println(message)
Output:
Hello World
Dengan String, function mengembalikan nilai yang dapat digunakan kembali oleh kode lain.
Kapan Menggunakan Unit?
Unit cocok digunakan ketika function hanya bertugas melakukan suatu tindakan atau proses.
Contohnya:
- Menampilkan pesan.
- Mencetak data.
- Menampilkan informasi ke console.
- Mengubah data.
- Menjalankan suatu proses.
- Menampilkan hasil ke layar.
Contoh:
fun printWelcome(): Unit {
println("Selamat datang di aplikasi")
}
Tidak diperlukan nilai return karena tujuan function hanya menampilkan pesan.
Kesimpulan
Unit adalah return type yang menunjukkan bahwa sebuah function tidak mengembalikan nilai yang dapat digunakan oleh pemanggilnya.
Contoh:
fun sayHello(): Unit {
println("Hello World")
}
Kita juga dapat menghilangkan Unit:
fun sayHello() {
println("Hello World")
}
Kotlin akan secara otomatis menganggap return type function tersebut sebagai Unit.
Jadi:
fun sayHello(): Unit {
println("Hello World")
}
sama dengan:
fun sayHello() {
println("Hello World")
}
Perbedaan utamanya dengan function yang memiliki return value adalah:
fun sayHello(): Unit {
println("Hello World")
}
hanya menjalankan proses, sedangkan:
fun getHello(): String {
return "Hello World"
}
menghasilkan nilai yang dapat digunakan oleh kode lainnya.
Gunakan Unit ketika function hanya perlu menjalankan suatu proses tanpa mengembalikan nilai tertentu.