Skip to main content

Kotlin Fundamental

·759 words·4 mins· 0
Mobile Developer Kotlin Android Dasar Kotlin
iCourse
Author
iCourse
~ lakukan yang terbaik, hidup hanya satu kali ~
Kotlin Mobile Developer - This article is part of a series.
Part 1: This Article

Data Types & Variable #

  • Char
  • String
  • Array
  • Numbers
  • Booleans
1
var identifier: Type = initialization
  • var and val is a key : var can we put a new value but val cannot
  • company is identifier or we call name of variable
  • String is type or we call type data
  • BlocDev is initialize or we call value
1
2
var company: String = "BlocDev"
company = "Berkah Tech Indonesia"

Char or Character #

1
2
3
4
5
6
var vocal = 'A'
println("Voval "+vocal++) // A
println("Voval "+vocal++) // B
println("Voval "+vocal++) // C
println("Voval "+vocal--) // D
println("Voval "+vocal--) // C

String #

1
2
3
4
5
6
7
8
var vocal = 'A'
val textString = "Edwin"
val firstChar = textString[0]
println(firstChar)

for (char in textString){
    print("$char ")
}

Escaped String #

  • \t: menambah tab ke dalam teks.
  • \n: membuat baris baru di dalam teks.
  • \’: menambah karakter single quote kedalam teks.
  • \”: menambah karakter double quote kedalam teks.
  • : menambah karakter backslash kedalam teks.
1
2
3
var dataString = "Kotlin is \"awesome!\""
dataString = "\u00A9 2023" // © 2023
println(dataString)

Raw String #

Sebelum Raw String

1
2
3
4
5
6

val line = "Line 1\n" +
        "Line 2\n" +
        "Line 3\n" +
        "Line 4\n"
println(line)

Setelah Raw String

1
2
3
4
5
6
7
val line = """
    Line 1
    Line 2
    Line 3
    Line 4
""".trimIndent()
println(line)

Functions #

1
2
3
4
5
6
7
fun tampilData(nama: String, usia: Int,alamat: String): String {
    return "Hello nama saya $nama berusia $usia beralamat $alamat"
}

fun tampilData(nama: String, usia: Int,alamat: String) = "Hello nama saya $nama berusia $usia beralamat $alamat"

println(tampilData("Edwin",21, "Bermis 2 Selong"))
1
2
3
4
5
fun tampilDataPrint(nama: String, usia: Int, alamat: String): Unit{
    println("Hello nama saya $nama berusia $usia beralamat $alamat")
}

tampilDataPrint(nama = "Edwin", usia = 21, alamat = "Berims 2 Selong cuy")

If Expression #

1
2
3
4
5
6
    val angkaSatu = 4
    val angkaDua = 9
    val hasil = if (angkaSatu > 5){
        "Angka lebih dari lima" }else {"Angka kurang dari 5"}

    println(hasil)

Bool #

1
2
3
4
5
    val jamBuka = 9
    val jamTutup = 15
    val waktu = 16
    val toko = waktu >= jamBuka && waktu <= jamTutup
    println("Toko sedang buka : $toko")

Numbers #

  • Int 32 : Mengandung data dengan ukuran 32bit
  • Long 64 : Mengandung data dengan ukuran 64bit
  • Short 16 : Mengandung data dengan ukuran 16bit
  • Byte 8: Mengandung data dengan ukuran 8bit
  • Double 64: Mengandung data nilai pecahan dengan ukuran 64bit
  • Float 32: Sama dengan double namun dengan ukuran lebih kecil yaitu 32bit
1
2
3
4
    val maxInt = Int.MAX_VALUE // Untuk melihat nilai tertinggi dari int
    val minInt = Int.MIN_VALUE // Untuk melihat nilai terendah dari int

    println(minInt)

Konversi ke masing-masing type data

  • toByte(): Byte
  • toShort(): Short
  • toInt(): Int
  • toLong(): Long
  • toFloat(): Float
  • toDouble(): Double
  • toChar(): Char
1
2
3
4
    val byteNumber: Byte = 7
    val intNumber: Int = byteNumber.toInt()

    println(intNumber)

Array #

1
2
3
4
5
6
7
    val kumpulanArray = arrayOf(1,3,5,7)

    val campuranArray = arrayOf(1,3,5,7,"Kotlin",true)

    campuranArray[4] = "Edwin"

    print(campuranArray[4])

Konversi ke masing-masing array

  • intArrayOf() : IntArray
  • booleanArrayOf() : BooleanArray
  • charArrayOf() : CharArray
  • longArrayOf() : LongArray
  • shortArrayOf() : ShortArray
  • byteArrayOf() : ByteArray

Nullable #

NullPointerException(NPE) atau istilahnya The Billioner Dollar Mistake Sebuah kondisi sebuah nilai mengandung null

Ada beberapa cara mengatasi nilai yang null

  • Dengan menambahkan ? pada type data
  • Memberikan nilai default ketika data bisa jadi null
1
2
3
4
5
6
7
    val text: String = null //Akan terjadi error, karena nilai mengandung null

    val text: String? = null //Tidak error, karena kita mendefinisikan nilai itu boleh null

    if (text != null){ // Kita juga bisa menggunakan perkondisian untuk mengatasi nilai null
        print(text)
    }

Safe Call Operator & Elvis Operator #

Safe Call Operator #

Akan memberikan nilai null. Menggunakan tanda ?.

1
2
3
    val text: String? = null

    print(text?.length)

Elvis Operator #

Akan memberikan default nilai jika mendapati nilai null. Menggunakan tanda ?:

1
2
3
    val text: String? = null

    print(text?.length ?: 7)

String Template #

Menyisipkan nilai variable pada sebuah string

1
2
  val nama = "Edwin"
  val alamat = "Bermis 2 Selong"

Bisa menggunakan $namaVariable pada sebuah string print

1
("Hal nama saya $nama, saya berasal dari $alamat")

Bisa menggunakan + pada sebuah string

1
print("Hal nama saya "+ nama+", saya berasal dari "+alamat)

Bisa menggunakan curly braces atau ${ } untuk menambahkan function

1
2
val angka = 7
print("toko ${if (angka > 7) "sudah tutup" else "sudah buka"}")


Kotlin Mobile Developer - This article is part of a series.
Part 1: This Article