Belajar Kotlin: #2 Tipe Data, Variabel, dan Inisialisasi

Kita akan membahas tentang Tipe Data, Variabel, dan Inisialisasi.

· 3 menit untuk membaca
Belajar Kotlin: #2 Tipe Data, Variabel, dan Inisialisasi

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.

Belajar Kotlin: #3 Operator dan Type Casting
Operator adalah sebuah elemen yang berfungsi untuk mengubah atau mengevaluasi suatu variabel. Type casting adalah mengubah suatu variabel dari satu tipe data ke tipe data lainnya.
Featured Image Background : Background vector created by Harryarts - www.freepik.com