Tutorial / Belajar Dasar Pemrogramman Kotlin


# Kenapa Kotlin?
  • Multi-platform : Back End, Mobile, Desktop.
  • Bahasa utama pengembangan aplikasi android
  • Ringkas / Concise
  • Aman / Safe (Null Safety)
  • Interoperable (Bisa berdampingan dengan java)
# Input - Output


Contoh Kode Output / Menampilkan data :
fun main(args: Array<String>) {
    println("Hello World!")
}

Contoh Kode Input / Memasukan Data dari Keyboard :
fun main(args: Array<String>) {
    val input = readLine()
    println(input)
}

# Tipe Data & Variabel

Beberapa (Sebagian) contoh tipe data :
  • Boolean = tipe data hanya memiliki nilai true atau false
  • Char = tipe data untuk karakter / huruf
  • Int = tipe data numerik (tidak bisa desimal)
  • Double = tipe data numerik desimal
  • String = tipe data untuk text
Cara penulisan tipe data, variable & value
Merah = tipe data / data type
Hijau = variable / variabel / property
Biru = nilai / isi / value

/* Maaf kalo banyak garis miring "/", karena istilah komputer / programming memang memiliki banyak sinonim / istilah lain / istilah sejenis */

var tembak = true; // otomatis menjadi Boolean
var karakter = 'A'; // otomatis menjadi Char
var nonDecimalNumber = 100; // otomatis menjadi Int
var decimalNumber = 3.14; // otomatis menjadi Double
var kalimat = "ini adalah kalimat"; // otomatis menjadi String

Contoh Kode Tipe Data & Variable :
fun main(args: Array<String>) {
    var tembak = true
    var karakter = 'A'
    var nonDecimalNumber = 100
    var decimalNumber = 3.14
    var kalimat = "ini adalah kalimat"
    
    println(tembak)
    println(karakter)
    println(nonDecimalNumber)
    println(decimalNumber)
    println(kalimat)
}

Contoh ke-2 Kode Tipe Data & Variable :
fun main(args: Array<String>) {
    var tembak : Boolean? = true
    var karakter : Char? = 'A'
    var nonDecimalNumber : Int? = 100
    var decimalNumber : Double? = 3.14
    var kalimat : String? = "ini adalah kalimat"
    // simbol ? artinya nullable / dapat diisi dengan nilai null
    
    println(tembak)
    println(karakter)
    println(nonDecimalNumber)
    println(decimalNumber)
    println(kalimat)
}

# Operator Aritmatika
  • simbol atau tanda + artinya penjumlahan
  • simbol atau tanda - artinya pengurangan
  • simbol atau tanda * artinya perkalian
  • simbol atau tanda / artinya pembagian
  • simbol atau tanda % artinya sisa bagi
Contoh Kode Penjumlahan :
fun main(args: Array<String>) {
    var jariKanan = 5
    var jariKiri = 5
    var jumlahJari = jariKanan + jariKiri
    println("Jari saya ada " + jumlahJari)
}

Contoh Kode Pengurangan :
fun main(args: Array<String>) {
    var gajiKotor = 5000000
    var pajak = 1000000
    var gajiBersih = gajiKotor - pajak
    println("Gaji bersih saya " + gajiBersih)
}

# Operator Pembanding
  • simbol atau tanda == artinya sama dengan
  • simbol atau tanda != artinya tidak sama dengan
  • simbol atau tanda > artinya lebih dari
  • simbol atau tanda < artinya kurang dari
  • simbol atau tanda >= artinya lebih dari sama dengan
  • simbol atau tanda <= artinya kurang dari sama dengan
/* Conto penggunaan-nya di bagian Percabangan / Pemilihan ya */

# Percabangan / Pemilihan
  • IF - ELSE
  • WHEN
Contoh Kode menggunakan IF - ELSE
fun main(args: Array<String>) {
    var gaji = 5000000 // Coba ganti jadi 10000000
    if (gaji >= 10000000){
        println("Sangat Bersyukur")
    } else {
        println("Harus Bersyukur")
    }
}

Contoh lain menggunakan IF - ELSE
fun main(args: Array<String>) {
    var gaji = 5000000 // Coba ganti jadi 10000000
    if (gaji == 10000000){
        println("Bersyukur")
    } else if (gaji > 10000000) {
        println("Lebih Bersyukur")
    } else if (gaji < 10000000) {
        println("Tetap Bersyukur")
    }
}

Contoh Kode menggunakan WHEN
fun main(args: Array<String>) {
    var angka = 1 // Coba ganti jadi 2 - 3 - 4 - 5
    when (angka) {
        1 -> println("Aku sayang ibu")
        2 -> println("Aku sayang Ayah")
        3 -> println("Sayang Adik Kaka")
        else -> println("Sayang semuanya")
    }
}

# Operator Logika
  • simbol atau tanda && artinya DAN / AND
  • simbol atau tanda || artinya ATAU / OR
Contoh Kode && / AND / DAN
fun main(args: Array<String>) {
    var citaCita = "Tinggi" // Coba ganti ke Rendah
    var sikap = "Rajin" // Coba ganti ke Malas
    if (citaCita == "Tinggi" && sikap == "Rajin") {
        println("Kamu akan sukses")
    } else {
        println("Kamu akan gagal")
    }
}

Contoh Kode || / OR / ATAU
fun main(args: Array<String>) {
    var cuaca = "Mendung" // Coba ganti ke Hujan - Cerah
    if (cuaca == "Mendung" || cuaca == "Hujan") {
        println("Diam aja di rumah")
    } else {
        println("Pergi ke mall")
    }
}

# Loop / Perulangan
Salah satu manfaat dari perulangan adalah untuk meringkas kode yang kita buat.
Studi kasus : buatlah program untuk menampilkan angka 1 sampai dengan 3.
Maka kita akan menulis kode seperti ini :
fun main(args: Array<String>) {
    println("Angka 1")
    println("Angka 2")
    println("Angka 3")
}
Kode di atas terdiri dari 5 baris. Bayangkan jika angka yang akan di tampilkan sebanyak 100, apakah kita akan mengetik sebanyak 100 baris kode yang sama? Males banget kan..
Maka dari itu kita perlu menggunakan loop atau pengulangan.
  1. WHILE (cek dulu baru lakukan)
  2. FOR
Contoh Kode Pengulangan WHILE
fun main(args: Array<String>) {
    var angka = 1
    while(angka <= 100){
        println("Angka " + angka)
        angka++ // artinya angka = angka + 1
    }
}

Contoh Kode Pengulangan FOR
fun main(args: Array<String>) {
    for (i in 1 until 101){
        println("Angka " + i)
    }
}

# Array & List

Perbedaan : 
  • Array ukurannya statis & tidak bisa dirubah
  • List ukurannya dinamis bisa bertambah & berkurang
Contoh Array
fun main(args: Array<String>) {
    var array = arrayOf<String>("Halo", "Apa", "Kabar")
    
    println(array[0])
    println(array[1])
    println(array[2])
}

Contoh Kode List
fun main(args: Array<String>) {
    var list = ArrayList<String>()
    list.add("Halo")
    list.add("Apa")
    list.add("Kabar")
    
    println(list.get(0))
    println(list.get(1))
    println(list.get(2))
}

Kontak Penulis :


0 comments:

Posting Komentar