Dokumen tersebut memberikan penjelasan singkat tentang bahasa pemrograman Kotlin, meliputi sejarah, variabel, tipe data, string, null safety, control flow, dan koleksi.
2. Have you ever learned to make Android apps?
Questions
Before we started..
3. ● History/Sejarah
● Variables
● Data Type/Tipe Data
● Strings
● Null Safety
● Control Flow
● Collections
Overview
Introduction Programming with Kotlin
4. Kotlin
Sejarah
●Bahasa pemrograman Kotlin dikenalkan oleh Perusahaan JetBrains pada
tahun 2011
●Kotlin di desain agar terintegrasi dengan Java
●Tahun 2017, Google mengumumkan bahwa Kotlin adalah bahasa
pemrograman yang direkomendasikan untuk pengembangan aplikasi
Android
●Tahun 2019, Google umumkan KOTLIN FIRST!
5. Variables
Description
●Kotlin mendukung 2 jenis variabel; Mutable (bisa diubah) dan Immutable
(tidak bisa diubah).
●Untuk membuat variable Mutable, di kotlin bisa menggunakan kata kunci var
●Untuk membuat variable Immutable, di kotlin bisa menggunakan kata kunci
val
●Deklarasi :
val/var namaVariable : TipeData = data
7. Integer Types
Integer
Type Bits Notes
Long 64 From -263 to 263-1
Int 32 From -231 to 231-1
Short 16 From -32768 to 32767
Byte 8 From -128 to 127
8. Underscore
Integer
val oneMillion = 1_000_000
val idNumber = 999_99_9999L
val hexBytes = 0xFF_EC_DE_5E
val bytes = 0b11010010_01101001_10010100_10010010
9. Conversion / Casting
Integer
var number: Int = 100
var byte: Byte = number.toByte()
var short: Short = number.toShort()
var long: Long= number.toLong()
var float: Float = number.toFloat()
var double: Double = number.toDouble()
var string: String = number.toString()
10. Floating Point and Other Numeric
types
Float, Char, Boolean
Type Bits Notes
Double 64 16 - 17 significant digits
Float 32 6 - 7 significant digits
Char 16 16-bit Unicode character
Boolean 8 True or false. Operations include:
|| - lazy disjunction, && - lazy conjunction,
! - negation
11. Berikut ini adalah kata kunci yang digunakan untuk variabel yang nilainya
tidak bisa dirubah adalah…
A. var
B. val
Questions
Before we continue..
12. ● Tipe data string adalah tipe data yang berisikan data kumpulan karakter
atau sederhananya adalah teks.
● Di kotlin, tipe data string direpresentasikan dengan kata kunci String.
● Untuk membuat string di kotlin, kita bisa menggunakan
❖“ (tanda petik 2) untuk teks satu baris
❖“”” (tanda petik 2 sebanyak 3 kali) untuk teks lebih dari satu baris
String Type
String
13. val s1: String = "Hello world!"
val s2: String = "Hello world!n"
val text: String = """
var bikes = 50
"""
String Code
String
14. var address1: String = """
|Street 123
|Province Bandung
""".trimMargin()
var address2: String = """
>Street 222
>Province Ngawi
""".trimMargin(">")
String Trim Margin
String With Trim Margin
Without Trim Margin
15. ●Ketika ingin menggabungkan 2 string gunakan operasi +
val firstName = "UPI"
val secondName = "Edun"
val fullname = firstName + " " + secondName
=> UPI Edun
String Concatenation
String
16. ●Dengan string template, secara otomatis kita bisa mengakses data dari luar teks
string.
●$ adalah tanda yang digunakan untuk template ekspresi sederhana, seperti
mengakses variabel lain
●${ isi ekspresi } merupakan tanda yang digunakan untuk template yang kompleks
val i = 10
println("i = $i")
=> i = 10
val s = "abc"
println(“$s length is ${s.length}”)
=> abc length is 3
String Template
String
17. ●Jika saat membuat variable, tidak diberi nilai, maka akan error
NullPointerException (NPE)
●Tetapi, Kotlin mendukung variabel yang boleh null (tidak memiliki data)
●Untuk membuat variabel bisa bernilai null, di Kotlin bisa menggunakan
? (tanda tanya) setelah tipe datanya.
●Penggunaan fitur ini tidak direkomendasikan untuk dilakukan di kotlin,
hanya sebagai jalan akhir jika misal mengakses kode Java
Null Safety
Description
18. ●Safe Call Operator (?), dapat membuat variabel menjadi dapat berisi
data null
●Deklarasi Nullable variabel
val numberOfBooks: Int? = null
●Secara umum, jangan tetapkan variabel menjadi null karena mungkin
memiliki konsekuensi yang tidak diinginkan.
Safe Call Operator
Null Safety
19. ●Jika suatu variabel yang dideklarasikan bernilai null dan memiliki suatu
property dari tipe datanya. Gunakan Safe Call (?) ketika memanggil
property tersebut
●Contoh:
val text: String? = null
val textLength = text?.length
Safe Call Operator
Null Safety
20. ●Jika kalian yakin suatu variabel tidak null, gunakan !! untuk memaksa
variabel menjadi tipe non-null.
●Deklarasi !!
val text = “Test123”
val len = text!!.length
●Warning : !! operator akan mengembalikan Null Pointer Exception jika
variabel bernilai null jadi pastikan bahwa variabel tidak akan pernah
bernilai null
!! Operator
Null Safety
21. Elvis Operator
●Elvis operator merupakan cara untuk mengetes apakah suatu variable
bernilai null atau tidak menggunakan sintaks ?:
●Deklarasi !!
val text : String? = null
val lenText = text?.length ?: 0
●Jika panjang text sama dengan null akan mengembalikan nilai 0
Null Safety
22. Berikut ini adalah operator yang digunakan untuk menghindari
NullPointerException (NPE), kecuali…
A. !!
B. ?
C. !
D. ?:
Questions
Before we continue..
23. Kotlin menyediakan berbagai cara untuk mengimplementasikan logika
percabangan dan perulangan:
●If/Else statements
●When statements
●For loops
●While loops
Control Flow
Conditional & Loops
24. ● Terkadang di dalam if, kita memerlukan berapa kondisi
● Kita bisa menggunakan Else If
val guests = 30
if (guests == 0) {
println("No guests")
} else if (guests < 20) {
println("Small group of people")
} else {
println("Large group of people!")
}
=> Large Group of People!
If/Else with multiple cases
Conditional
25. ● Tipe data berisi rentang nilai yang sebanding (mis., bilangan bulat dari 1 hingga 100)
●Ranges bersifat terbatas
●Range dapat berupa data mutable ataupun immutable
●Cara membuat range di Kotlin sangat mudah cukup menggunakan tanda .. (titik
dua kali) :
○0..10 : Range dari 0 sampai 10
○1..100 : Range dari 1 sampai 100
○100 downTo 1 : Range dari 100 sampai 1
Ranges
Range Types
26. val numberOfStudents = 50
if (numberOfStudents in 1..100) {
println(numberOfStudents)
}
=> 50
Ranges dalam If Statement
Range
27. ●Selain if/else statement, untuk melakukan percabangan di Kotlin, kita
juga bisa menggunakan When Statement
●When sangat sederhana dibandingkan if
●When sangat direkomendasikan ketika percabangan lebih dari 2
kondisi
●Biasanya when expression digunakan untuk melakukan pengecekan ke
kondisi dalam satu variabel
When Statement
When
28. val results = 100
when (results) {
0 -> println("No results")
in 1..39 -> println("Got results!")
else -> println("That's a lot of results!")
}
=> That's a lot of results!
When Statement
Code
29. val name = “Rudy”
when (name) {
is String -> println("This is String")
!is String -> println("This is not String")
}
=> This is String
When Statement Is
Code
30. ●Dalam bahasa pemrograman, biasanya ada fitur yang bernama
perulangan
●Salah satu fitur perulangan di Kotlin adalah for
●For digunakan untuk melakukan perulangan iterasi dari data iterator
(Array, Range, dan lain-lain)
For Loops Statement
For Loops
31. val pets = arrayOf("dog", "cat", "canary")
for (element in pets) {
print(element + " ")
}
=> dog cat canary
For Loops Statement
Code
32. val pets = arrayOf("dog", "cat", "canary")
for ((index, element) in pets.withIndex()) {
println("Item at $index is $elementn")
}
⇒ Item at 0 is dog
Item at 1 is cat
Item at 2 is canary
For Loops : Element and Index
Code
33. for (i in 0..5) print(i)
=> 012345
for (i in 3..6 step 2) print(i)
⇒ 35
for (i in 'd'..'g') print (i)
⇒ defg
For Loops : Range
Code
34. ●While adalah salah satu perulangan yang sangat flexible, dimana kode
while akan melakukan pengecekan kondisi, jika kondisi bernilai true,
maka dia akan menjalankan blok while, dan terus diulangi sampai
kondisi while bernilai false
While
While
35. var i = 0
while(i < 10){
println("While Loop")
i++
}
=> While Loop
While Loop
While Loop
While Loop
… 10x
While Loops
Code
36. Manakah program yang menyebabkan error saat dijalankan?Jelaskan
alasannya!
Questions
Before we continue..
37. List
Description
●List merupakan kumpulan elemen yang terurut
●Elemen pada list dapat diakses menggunakan indeksnya
●Elemen pada list bisa terdapat lebih dari 1
●List dapat bersifat Immutable dan Mutable
39. mutable List
Description
●Deklarasi menggunakan mutableListOf()
val instruments = mutableListOf("trumpet", "piano", "violin")
instruments.remove("piano")
println(instruments)
instruments.add("guitar")
println(instruments)
=> [trumpet, violin]
=> [trumpet, violin, guitar]
● With a list defined with val, you can't change which list the variable refers to, but you can still change the contents of the list.
40. Arrays
Description
●Array digunakan untuk menyimpan berbagai data
●Elemen pada array dapat diakses menggunakan indeksnya
●Elemen pada array bersifat mutable
●Ukuran array adalah tetap
41. Arrays
Description
●Deklarasi array string menggunakan arrayOf()
val pets = arrayOf("dog", "cat", "canary")
println(pets.contentToString())
=> [dog, cat, canary]
● Array dapat menyimpan tipe data yang berbeda
val mix = arrayOf("hats", 2)
42. Operasi pada Arrays
Description
Operasi Keterangan
size Untuk mendapatkan panjang Array
get(index) Mendapat data di posisi index
[index] Mendapat data di posisi index
set(index, value) Mengubah data di posisi index
[index] = value Mengubah data di posisi index
43. Operasi Array
Description
val members: Array<String> = arrayOf("Eko", "Joko", "Budi")
● Mengakses elemen array Menggunakan Indeks
val eko: String = members[0]
val joko: String = members.get(1)
● Mengubah konten pada array
members.set(0, "Dudung")
val dudung: String = members[0]
45. Study Jam
Introduction Progamming with Kotlin
Biar lebih ngerti dan bisa pake bahasa Kotlin, coba
selesaikan soal challenge berikut ini
46. Coba buat program untuk menampilkan teks seperti berikut
(ganti dengan nama dan asal Universitas atau sekolah kalian)
1st Study Jam
Introduction Programming with Kotlin
47. Buat program menggunakan percabangan untuk menampilkan grade nilai
ujian:
- Nilai antara 80 hingga 100, diberi grade “A”
- Nilai antara dibawah 80 hingga 75, diberi grade “B”
- Nilai antara dibawah 75 hingga 65, diberi grade “C”
- Nilai antara dibawah 65 hingga 50, diberi grade “D”
- Dibawah 50 diberi grade “E”
2nd Study Jam
Introduction Programming with Kotlin
48. Gunakan perulangan dan percabangan untuk mengecek seluruh elemen
array yang berisi kumpulan String, jika suatu string memiliki panjang lebih
dari 8 karakter, tampilkan “String ini lebih dari 8 karakter”, jika tidak
melebihi 8 karakter, tampilkan langsung string tersebut
3rd Study Jam
Introduction Programming with Kotlin