Belajar Pemrograman Kotlin: Variabel dan Tipe Data
Variabel dan tipe data adalah hal dasar dan esensial yang harus kamu pahami dalam belajar bahasa pemrograman apapun.
Pada kesempatan ini, kita akan belajar tentang variabel dan tipe data pada Kotlin.
Dimulai dari:
- Pengertian Variabel dan Tipe Data;
- Cara Pembuatan Variabel di Kotlin;
- Variabel mutable dan imutable pada Kotlin;
- Hingak konversi tipe data.
Mari kita mulai…
Apa itu variabel dan tipe data?
Variabel merupakan simbol yang digunakan untuk menyimpan sebuah nilai. Sedangkan tipe data adalah jenis nilai yang akan disimpan.
Cara Membuat Variabel di Kotlin
Pembuatan variabel di Kotlin tidak teralalu formal seperti di Java.
Pada Kotlin, kita boleh tidak menentukan/menyebutkan tipe datanya. Karena Kotlin sudah mampu mengenali tipe data dari nilai yang akan kita berikan.
Pembuatan variabel diawali dengan kata kunci var
dan val
.
Contoh membuat variabel dengan tipe data:
// membuat variabel kosong (Wajib menyebut tipe data)
var namaLengkap: String
// membuat variabel dan langsung diisi
// (tidak wajib menyebut tipe data, karena sudah punya nilai)
var alamat: String = "Mataram"
var tanggalLahir = "05-11-1993" as String
Contoh membuat variabel tanpa menyebutkan tipe datanya:
var namaBarang = "Hardisk Eksternal"
var harga = 800000
var berat = 1.38
Pada contoh di atas, tipe datanya ditentukan otomatis sesuai dengan nilai yang kita berikan.
Variabel Imutable dan Mutable
Berdasarkan sifatnya, variabel dalam kotlin dibagi menjadi dua jenis.
- Imutable: read only
- Mutable: read and write
Imutable artinya hanya sekali pakai, vairabel ini seperti konstanta. Variabel imutable tidak bisa diisi ulang lagi nilainya alias read only.
Pembuatan variabel imutable menggunakan kata kunci val.
Contoh:
val tanggalLahir = "12-02-1995"
val jenisKelamin = "Pria"
// jika kita coba isi ulang nilainya, maka akan terjadi error
// karena variabel ini bersifat imutable
jenisKelamin = "Perempuan"
Sedangkan variabel mutable adalah variabel yang bisa diisi lagi nilainya.
Pembuatan variabel mutable menggunakan kata kunci var
.
Contoh:
var jabatan = "Programmer"
// isi ulang nilainya
jabatan = "Project Manager"
println(jabatan) // output: Project Manager
Aturan Menulis Variabel di Kotlin
Ada beberapa aturan penulisan variabel di Kotlin yang sebaiknya ditaati agar valid dan tidak error.
- Variabel kosong yang belum diberikan nilai wajib disebutkan tipe datanya.
- Penulisan nama variabel menggunakan gaya CamelCase.
- Nama variabel tidak boleh diawali dengan angka dan simbol
- Nama variabel tidak boleh menggunakan simbol, kecuali garis bawah atau underscore.
- Tipe data diawali dengan huruf kapital
Contoh Program
Agar tidak hanya paham teori saja, mari kita coba membuat sebuah program dengan memanfaatkan variabel.
Silahkan ikuti kode berikut ini.
fun main(args: Array<String>) {
// teks sambutan
println("---------------------------------")
println("Selamat datang di program biodata")
println("Silahkan inputkan data pribadimu")
println("---------------------------------")
// mengambil input dan mengisinya ke variabel
print("Nama lengkap: ")
var namaLengkap = readLine()
print("Jenis Kelamin: ")
var jenisKelamin = readLine()
print("Hobi: ")
var hobi = readLine()
// menampilkan output
var templateBio = """
+------------------------------------------+
| BIO DATA PROGRAMMER
+------------------------------------------+
| Nama lengkap: $namaLengkap
| Jenis kelamin: $jenisKelamin
| Hobi: $hobi
"""
println(templateBio)
}
Tipe data
Seperti yang dikatakan di awal tadi, tipe data merupakan jenis nilai yang akan kita simpan dalam variabel.
Ada beberapa jenis tipe data dalam Kotlin:
Int
(Integer): bilangan bulat, contoh12
,1_000
String
: teks, contoh"belajar kotlin asik"
Float
: bilangan pecahan, contoh21.23
,1.3
Double
: bilangan pecahan juga, tapi punya ukuran penyimpanan yang lebih besar dari Float.Boolean
: tipe data yang hanya bernilaitrue
danfalse
Char
: karakter, contoh'A'
Unit
: Tipe data yang hanya punya satu nilai, yaitu: objekUnit
. Tipe data ini mirip sepertivoid
pada Java.
Null Safety
Apa kalian pernah menjumpai error NullPointerException
pada Java?
Saya sering menemukannya dan cukup sulit diatasi.
Kotlin berusaha memberikan sebuah trobosan untuk mengatasi error ini. Seperti yang dituliskan pada dokumentasinya.
Kotlin’s type system is aimed at eliminating the danger of null references from code, also known as the The Billion Dollar Mistake.
Kotlin berusaha untuk mengeliminasi terjadinya NullPointerException
agar
programmer semakin bahagia dan tidak galau lagi karena error ini. 😄
Maka jangan heran ketika kita mencoba mengisi sebuah variabel dengan nilai null
,
kotlin akan langsung menolaknya.
var username: String = "petanikode"
username = null // maka akan terjadi error
// error: null can not be a value of username non-null type String
Lalu bagaimana cara agar kita bisa menyimpan nilai null
dalam variabel username
?
Gampang.
Caranya dengan menambahkan tanda tanya (?
) pada akhir tipe data.
var username: String? = "petanikode"
username = null
Sekarang vairabel username
sudah mampu menampung nilai null
dan juga String
.
Konversi Tipe Data
Konversi tipe data perlu kita lakukan untuk mendapakan hasil yang akurat.
Misalnya seperti ini:
>>> var a = 14
>>> var b = 3
>>> var c = a / b
>>> println(c)
4
Kenapa 14/3
hasilnya 4
, seharusnya 4.66
?
Karena mereka adalah pembagian integer.
Nah, agar mendapatkan nilai yang lebih akurat, kita harus konversi dulu nilai yang akan dibagi.
var a = 14
var b = 3
var c = a.toFloat() / b.toFloat()
println(c) // output: 4.6666665
Method toFloat()
adalah method/fungsi untuk mengubah nilai ke dalam tipe
float.
Terdapat juga method yang lainnya:
toInt()
untuk mengubah ke integer;toString()
untuk mengubah ke String;toDouble()
untuk mengubah ke Double;toLong()
untuk mengubah ke long integer;toShort()
untuk mengubah ke short integer;toChar()
untuk mengubah ke Char atau karakter.
Selain menggunakan method-method tersebut, kita juga bisa menggunakan method
dari Java seperti Integer.valueOf()
.
Apa Selanjutnya?
Kita sudah mengetahi cara pembuatan variabel di Kotiln. Selanjutnya silahkan pelajari tentang operator.
Ada pertanyaan?
Silahkan kirimkan melalui komentar.