Di artikel sebelumnya, kita sudah membahas tentang cara membuat Hello World pada Kotlin.
Sekarang kita akan membahas dasar-dasar dalam bahasa kotlin. Di sini ada beberapa poin yang akan dijelaskan.
- Tipe Data
- Variabel
- Insialisasi
Tipe Data
Tipe data pada bahasa Kotlin tidak jauh berbeda dengan tipe data yang ada pada Java.
No | Tipe Data | Varian |
---|---|---|
1 | Bilangan | Byte , Short , Int , Long , BigInteger |
2 | Floating points | Float , Double |
3 | Text | Char , String |
4 | Logic | Boolean |
5 | Non-Return | Unit |
6 | Generic | Any |
Kita akan membahas satu per satu tipe data di atas. |
Bilangan
Tipe data bilangan atau numbers, merupakan tipe data untuk angka Bilangan Bulat. Yaitu dari negatif tak hingga sampai dengan positif tak hingga, dengan syarat semuanya tidak berkoma.
Pada kotlin, setiap tipe data numbers ada batasan bilangan yang dapat mereka tampung. Untuk lebih jelasnya perhatikan tabel dibawah ini.
Tipe Data | Bit | Minimal | Maksimal |
---|---|---|---|
Byte |
8 | -128 | 127 |
Short |
16 | -32768 | 32767 |
Int |
32 | -2,147,483,648 (-231) | 2,147,483,647 (231 - 1) |
Long |
64 | -9,223,372,036,854,775,808 (-263) | 9,223,372,036,854,775,807 (263 - 1) |
BigInteger |
Tergantung Besar Bilangan | -2Integer.MAX_VALUE | 2Integer.MAX_VALUE |
Dengan besar Integer.MAX_VALUE = 2147483647 |
Floating Points
Floating points atau titik ambang merupakan bilangan yang merepresentasikan angka yang sangat besar atau sangat kecil, dengan memakai notasi exponen(E)
. Lebih mudahnya, tipe data ini akan menampung bilangan-bilangan berkoma.
Perbedaan Float dan Double sesuai dengan IEEE 755 Standard adalah dibedakan dengan decimal places nya atau banyak angka di belakang komanya. Perbedaannya bisa dilihat di tabel di bawah.
Tipe data | Bits | Significant Bits | Exponent Bits | Decimal Digits |
---|---|---|---|---|
Float |
32 | 24 | 8 | 6-7 |
Double |
64 | 53 | 11 | 15-16 |
Teks
Tipe data ini menampung teks yang terdiri dari huruf, angka, dan simbol. Tipe ini dibagi menjadi Char
dan String
. Tipe Char
hanya menampung SATU karakter, dan String
menampung banyak Char
.
Tipe data ini memiliki karakter spesial yang harus di-escape jika mau digunakan, yaitu: \t
, \b
, \n
, \r
, \'
, \"
, \\
dan \$
.
Logic
Merupakan tipe data yang mengandung logika true
atau false
. Tipe data ini berbentuk Boolean
.
Non-Return
Tipe data ini serupa dengan void di Java, yaitu tipe untuk method/function yang tidak mengembalikan nilai. Di Kotlin, tipe data ini disebut Unit
.
Generic
Generic merupakan sebuah tipe Placeholder yang bisa digunakan untuk membuat abstraksi fungsi. Tipe Any
akan menampung semua jenis data.
Variabel
Pada kotlin, variabel dibedakan menjadi dua, yaitu immutable dan mutable alias bisa diubah dan tidak bisa diubah nilainya. Untuk tipe immutable kita bisa menggunakan val
dan untuk mutable kita menggunakan var
.
Best Practice-nya semua variabel adalah val
kecuali jika nilainya akan diubah.
Inisialisasi
Untuk membuat variabel, kamu bisa ikuti syntax di bawah ini.{mutabilitas} {nama_variabel} : {tipe_data} = {value}
Bilangan Bulat
Inisialisasi Bilangan bulat bisa mengikuti sintaks di bawah.
//Bytes
val byte1: Byte = 1
//Short
val bilShort: Short = 1;
//Int
val bilanganInteger = 1;
//Long
val bilLong = 1L;
Untuk bilangan bulat, compiler akan menganggap semua bilangan dengan Int, kecuali diterapkan tipe data pada inisialisasinya.
Floating Point
Untuk bilangan titik ambang, inisialisasi variabel nya adalah.
// float
val bilFloat = 0.15F
//Double
val bilDouble = 0.16
Untuk floating point, compiler akan menganggap semua bilangan sebagai Double
kecuali ditambahkan akhiran F
pada bilangan tersebut, maka akan dibaca sebagai Float
.
Untuk memudahkan dalam membaca bilangan yang besar, kamu bisa menambahkan garis bawah/underscore _
diantara bilangannya. Contohnya
val bigNumber = 1_000_000
val bigLong = 123_456_789_101L
val bigFloat = 0.205_231_216F
val bigHex = 0xFF_12_AC_DE
val bigBytes = 0b01101100_00101000_01100011
Selain itu, ada beberapa literal u
yang akan membuat bilangan menjadi unsigned
yaitu tanpa bilangan negatif.
val b: UByte = 1u // UByte
val s: UShort = 1u // UShort
val l: ULong = 1u // ULong
val a1 = 42u // UInt
val a2 = 0xFFFF_FFFF_FFFFu // ULong:
val a = 1UL // ULong
Teks
Untuk tipe data teks, sintaks nya adalah sebagai berikut.
//Char
val charA = 'A'
// Escape Garing Terbalik
val charGaring = '\\'
//String
val hello = "Hello"
val escapeString = "Jum\'at"
//String Literal
val helloNewLine = "Hello World!\n"
val helloPanjang = """
for(c in foo){
print(c)
}
"""
val helloPanjangTrim = """
|Hei, Kami Belajar Informatika
|Akan memberikan kamu artikel
|yang bermanfaat.
""".trimIndent().trimMargin()
//String template
val helloTemplate = "$hello kami di sini"
Logika
Tipe Logika atau Boolean
deklarasinya adalah sebagai berikut.
val isKosong = false
val isGenap: Boolean = true
Untuk Non Return
dan Generic
akan kita bahas di artikel lainnya karena menggunakan konsep yang berbeda.
Demikian pembahasan di artikel ini, untuk artikel berikutnya kita akan membahas Operator, dan Type Casting. Bagikan ke teman kamu artikel ini jika bermanfaat, dan tinggalkan komentar jika ada pertanyaan dan saran ya.
Featured Image Background : Background vector created by Harryarts - www.freepik.com