SlideShare a Scribd company logo
1 of 11
Download to read offline
Khrisna Indrawan Eka Putra
Google Associate Android Developer, Head of Reviewer Dicoding
Control flow adalah cara untuk mengontrol alur dari sebuah program berdasarkan
kondisi saat program tersebut berjalan.
Contoh :
● Enumeration
● If Expression
● When Expression
● While and Do While
● Range and For Loop
● Break and Continue Labels
Enumeration merupakan salah satu fitur yang bisa kita gunakan untuk menyimpan
kumpulan objek yang telah didefinisikan menjadi tipe data konstanta.
Contoh: fun main() {
val colorRed = Color.RED
val colorGreen = Color.GREEN
val colorBlue = Color.BLUE
}
enum class Color(val value: Int) {
RED(0xFF0000),
GREEN(0x00FF00),
BLUE(0x0000FF)
}
when(color){
Color.RED -> print("Color is Red")
Color.BLUE -> print("Color is Blue")
Color.GREEN -> print("Color is
Green")
}
If Expressions digunakan saat kita perlu menentukan sebuah kondisi untuk
menjalankan sebuah statement atau expression.
Contoh:
val openHours = 7
val now = 20
val office: String
if (now > openHours) {
office = "Office already open"
} else {
office = "Office is closed"
}
Mekanisme yang memungkinkan nilai dari sebuah variabel/expression, mampu
mengubah alur program.
Contoh:
fun main() {
val value = 7
when(value){
6 -> println("value is 6")
7 -> println("value is 7")
8 -> println("value is 8")
}
}
While bersifat Entry Controlled Loop. Artinya, kondisi yang diberikan akan dievaluasi
terlebih dahulu. Jika kondisi tersebut terpenuhi maka proses perulangan akan
dijalankan.
Contoh: fun main() {
var counter = 8
while (counter <= 7){
println("Hello, World!")
counter++
}
}
Berbeda dengan While, Do While bersifat Exit Controlled Loop di mana proses
perulangan akan langsung dijalankan di awal. Jika telah selesai, barulah kondisi yang
diberikan akan dievaluasi.
Contoh: fun main() {
var value = 'A'
do {
print(value)
} while (value <= 'Z')
}
Range merupakan salah satu tipe yang unik pada kotlin. Kita dapat menentukan nilai
awal dan nilai akhir pada Range. Range direpresentasikan dengan operator .. atau
dengan fungsi rangeTo() dan downTo().
Contoh:
val rangeInt = 1..10
For merupakan konsep perulangan pada blok yang sama selama hasil evaluasi kondisi
yang diberikan terpenuhi atau bernilai true.
Contoh:
fun main() {
val ranges = 1..5
for (i in ranges){
println("value is $i!")
}
}
Continue digunakan untuk melewatkan proses iterasi dan lanjut dengan proses
iterasi berikutnya. Sementara itu, Break digunakan untuk menghentikan proses
iterasi.
Contoh : fun main() {
val listOfInt = listOf(1, 2, 3, null,
5, null, 7)
for (i in listOfInt) {
if (i == null) continue
print(i)
}
}
fun main() {
val listOfInt = listOf(1, 2, 3,
null, 5, null, 7)
for (i in listOfInt) {
if (i == null) break
print(i)
}
}
REPLACE ME
Contact:
(khrisna@dicoding.com)
Follow us: @dicoding

More Related Content

What's hot

Algoritma dan Struktur Data - Methods
Algoritma dan Struktur Data - MethodsAlgoritma dan Struktur Data - Methods
Algoritma dan Struktur Data - MethodsKuliahKita
 
Algo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGANAlgo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGANSenna Hendrian
 
Pemrograman Web - Statement Javascript
Pemrograman Web - Statement JavascriptPemrograman Web - Statement Javascript
Pemrograman Web - Statement JavascriptKuliahKita
 
Pertemuan 6 : Algoritma & Pemrograman
Pertemuan 6 : Algoritma & PemrogramanPertemuan 6 : Algoritma & Pemrograman
Pertemuan 6 : Algoritma & PemrogramanTri Retna
 
8 pemrograman.ppt-compatibility-mode
8 pemrograman.ppt-compatibility-mode8 pemrograman.ppt-compatibility-mode
8 pemrograman.ppt-compatibility-modeEL Institute
 
Pertemuan 3 : Algoritma & Pemrograman
Pertemuan 3 : Algoritma & PemrogramanPertemuan 3 : Algoritma & Pemrograman
Pertemuan 3 : Algoritma & PemrogramanTri Retna
 
Pertemuan 4 : Algoritma & Pemrograman
Pertemuan 4 : Algoritma & PemrogramanPertemuan 4 : Algoritma & Pemrograman
Pertemuan 4 : Algoritma & PemrogramanTri Retna
 

What's hot (19)

Algoritma dan Struktur Data - Methods
Algoritma dan Struktur Data - MethodsAlgoritma dan Struktur Data - Methods
Algoritma dan Struktur Data - Methods
 
Algoritma pemrograman 8
Algoritma pemrograman 8Algoritma pemrograman 8
Algoritma pemrograman 8
 
Kelompok 2.7
Kelompok 2.7Kelompok 2.7
Kelompok 2.7
 
Kelompok 2.7
Kelompok 2.7Kelompok 2.7
Kelompok 2.7
 
Download
DownloadDownload
Download
 
Algo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGANAlgo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGAN
 
Praktikum 6B
Praktikum 6BPraktikum 6B
Praktikum 6B
 
Pemrograman Web - Statement Javascript
Pemrograman Web - Statement JavascriptPemrograman Web - Statement Javascript
Pemrograman Web - Statement Javascript
 
Algoritma pemrograman 11
Algoritma pemrograman 11Algoritma pemrograman 11
Algoritma pemrograman 11
 
Algoritma pemrograman 7
Algoritma pemrograman 7Algoritma pemrograman 7
Algoritma pemrograman 7
 
Modul tba
Modul tbaModul tba
Modul tba
 
Kelompok 2.2
Kelompok 2.2Kelompok 2.2
Kelompok 2.2
 
Pertemuan 6 : Algoritma & Pemrograman
Pertemuan 6 : Algoritma & PemrogramanPertemuan 6 : Algoritma & Pemrograman
Pertemuan 6 : Algoritma & Pemrograman
 
8 pemrograman.ppt-compatibility-mode
8 pemrograman.ppt-compatibility-mode8 pemrograman.ppt-compatibility-mode
8 pemrograman.ppt-compatibility-mode
 
Kalkulator
KalkulatorKalkulator
Kalkulator
 
Pertemuan 3 : Algoritma & Pemrograman
Pertemuan 3 : Algoritma & PemrogramanPertemuan 3 : Algoritma & Pemrograman
Pertemuan 3 : Algoritma & Pemrograman
 
Pertemuan 4 : Algoritma & Pemrograman
Pertemuan 4 : Algoritma & PemrogramanPertemuan 4 : Algoritma & Pemrograman
Pertemuan 4 : Algoritma & Pemrograman
 
Soal latihan sap no 1
Soal latihan sap no 1Soal latihan sap no 1
Soal latihan sap no 1
 
Soal latihan sap no 1
Soal latihan sap no 1Soal latihan sap no 1
Soal latihan sap no 1
 

Similar to KontrolAlur

Tugas algoritma arif
Tugas algoritma arifTugas algoritma arif
Tugas algoritma arifArif Setiawan
 
Tugas algoritma arif
Tugas algoritma arifTugas algoritma arif
Tugas algoritma arifArif Setiawan
 
Algoritma1 Temu 9.pdf
Algoritma1 Temu 9.pdfAlgoritma1 Temu 9.pdf
Algoritma1 Temu 9.pdfmtsarridho
 
Algo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaAlgo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaSenna Hendrian
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingJava (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingMelina Krisnawati
 
9. algoritma perulangan pada java
9. algoritma perulangan pada java9. algoritma perulangan pada java
9. algoritma perulangan pada javaSaprudin Eskom
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanie Indah
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanie Indah
 
Tugas kelompok
Tugas kelompokTugas kelompok
Tugas kelompokAidil Kun
 
Modul Pert 3 Matlab.pdf
Modul Pert 3 Matlab.pdfModul Pert 3 Matlab.pdf
Modul Pert 3 Matlab.pdfRoy Sukro
 

Similar to KontrolAlur (20)

Algoritma 1 pertemuan 5
Algoritma 1 pertemuan 5Algoritma 1 pertemuan 5
Algoritma 1 pertemuan 5
 
Punya awan
Punya awanPunya awan
Punya awan
 
Tugas algoritma arif
Tugas algoritma arifTugas algoritma arif
Tugas algoritma arif
 
Tugas algoritma arif
Tugas algoritma arifTugas algoritma arif
Tugas algoritma arif
 
Tugas algoritma
Tugas algoritmaTugas algoritma
Tugas algoritma
 
Tugas algoritma
Tugas algoritmaTugas algoritma
Tugas algoritma
 
Algoritma1 Temu 9.pdf
Algoritma1 Temu 9.pdfAlgoritma1 Temu 9.pdf
Algoritma1 Temu 9.pdf
 
Algo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaAlgo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritma
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingJava (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented Programming
 
Tugas algoritma
Tugas algoritmaTugas algoritma
Tugas algoritma
 
9. algoritma perulangan pada java
9. algoritma perulangan pada java9. algoritma perulangan pada java
9. algoritma perulangan pada java
 
PERULANGAN/LOOPING
PERULANGAN/LOOPINGPERULANGAN/LOOPING
PERULANGAN/LOOPING
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
PPT KOTLIN DASAR.pptx
PPT KOTLIN DASAR.pptxPPT KOTLIN DASAR.pptx
PPT KOTLIN DASAR.pptx
 
Tugas kelompok
Tugas kelompokTugas kelompok
Tugas kelompok
 
Modul Pert 3 Matlab.pdf
Modul Pert 3 Matlab.pdfModul Pert 3 Matlab.pdf
Modul Pert 3 Matlab.pdf
 
Bab3 tipe-data-control
Bab3 tipe-data-controlBab3 tipe-data-control
Bab3 tipe-data-control
 
modul algoritma Bab 4
modul algoritma Bab 4modul algoritma Bab 4
modul algoritma Bab 4
 
Perulangan for
Perulangan forPerulangan for
Perulangan for
 

More from DicodingEvent

Developer Coaching #114.pdf
Developer Coaching #114.pdfDeveloper Coaching #114.pdf
Developer Coaching #114.pdfDicodingEvent
 
Ask Us Anything about Studi Independen Bersertifikat Kampus Merdeka X Dicodin...
Ask Us Anything about Studi Independen Bersertifikat Kampus Merdeka X Dicodin...Ask Us Anything about Studi Independen Bersertifikat Kampus Merdeka X Dicodin...
Ask Us Anything about Studi Independen Bersertifikat Kampus Merdeka X Dicodin...DicodingEvent
 
tantangan menjadi developer di abad 21
tantangan menjadi developer di abad 21tantangan menjadi developer di abad 21
tantangan menjadi developer di abad 21DicodingEvent
 
Mengenalkan augmented reality (ar) pada snapchat
Mengenalkan augmented reality (ar) pada snapchatMengenalkan augmented reality (ar) pada snapchat
Mengenalkan augmented reality (ar) pada snapchatDicodingEvent
 
Membangun Aplikasi Serverless di Platfrom AWS
Membangun Aplikasi Serverless di Platfrom AWSMembangun Aplikasi Serverless di Platfrom AWS
Membangun Aplikasi Serverless di Platfrom AWSDicodingEvent
 
IDCamp X Madrasah: Pengenalan Computational Thinking
IDCamp X Madrasah: Pengenalan Computational ThinkingIDCamp X Madrasah: Pengenalan Computational Thinking
IDCamp X Madrasah: Pengenalan Computational ThinkingDicodingEvent
 
Membuat Produk Digital Terbaik ala Startup Unicorn
Membuat Produk Digital Terbaik ala Startup UnicornMembuat Produk Digital Terbaik ala Startup Unicorn
Membuat Produk Digital Terbaik ala Startup UnicornDicodingEvent
 
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
TechTalk 2021: Peran IT Security dalam Penerapan DevOpsTechTalk 2021: Peran IT Security dalam Penerapan DevOps
TechTalk 2021: Peran IT Security dalam Penerapan DevOpsDicodingEvent
 
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CDTechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CDDicodingEvent
 
Membuat Solusi Bermanfaat dengan Programming - Nur Rohman
Membuat Solusi Bermanfaat dengan Programming - Nur RohmanMembuat Solusi Bermanfaat dengan Programming - Nur Rohman
Membuat Solusi Bermanfaat dengan Programming - Nur RohmanDicodingEvent
 
Potensi karier menjadi ios developer di masa depan
Potensi karier menjadi ios developer di masa depanPotensi karier menjadi ios developer di masa depan
Potensi karier menjadi ios developer di masa depanDicodingEvent
 
Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101DicodingEvent
 
Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021DicodingEvent
 
Teknologi Baru Android di Google I/O 2021 - Andrew Kurniadi
Teknologi Baru Android di Google I/O 2021 - Andrew KurniadiTeknologi Baru Android di Google I/O 2021 - Andrew Kurniadi
Teknologi Baru Android di Google I/O 2021 - Andrew KurniadiDicodingEvent
 
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...DicodingEvent
 
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...DicodingEvent
 
Pengantar Cloud Computing dengan AWS - Petra Novandi Barus
Pengantar Cloud Computing dengan AWS - Petra Novandi BarusPengantar Cloud Computing dengan AWS - Petra Novandi Barus
Pengantar Cloud Computing dengan AWS - Petra Novandi BarusDicodingEvent
 
Dicoding Developer Coaching #36: Android | Pentingnya Performa pada Aplikasi ...
Dicoding Developer Coaching #36: Android | Pentingnya Performa pada Aplikasi ...Dicoding Developer Coaching #36: Android | Pentingnya Performa pada Aplikasi ...
Dicoding Developer Coaching #36: Android | Pentingnya Performa pada Aplikasi ...DicodingEvent
 
Dicoding Developer Coaching #34: Android | Modular Android App dengan Dynamic...
Dicoding Developer Coaching #34: Android | Modular Android App dengan Dynamic...Dicoding Developer Coaching #34: Android | Modular Android App dengan Dynamic...
Dicoding Developer Coaching #34: Android | Modular Android App dengan Dynamic...DicodingEvent
 
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di An...
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di An...Dicoding Developer Coaching #35: Android | Setup Continuous Integration di An...
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di An...DicodingEvent
 

More from DicodingEvent (20)

Developer Coaching #114.pdf
Developer Coaching #114.pdfDeveloper Coaching #114.pdf
Developer Coaching #114.pdf
 
Ask Us Anything about Studi Independen Bersertifikat Kampus Merdeka X Dicodin...
Ask Us Anything about Studi Independen Bersertifikat Kampus Merdeka X Dicodin...Ask Us Anything about Studi Independen Bersertifikat Kampus Merdeka X Dicodin...
Ask Us Anything about Studi Independen Bersertifikat Kampus Merdeka X Dicodin...
 
tantangan menjadi developer di abad 21
tantangan menjadi developer di abad 21tantangan menjadi developer di abad 21
tantangan menjadi developer di abad 21
 
Mengenalkan augmented reality (ar) pada snapchat
Mengenalkan augmented reality (ar) pada snapchatMengenalkan augmented reality (ar) pada snapchat
Mengenalkan augmented reality (ar) pada snapchat
 
Membangun Aplikasi Serverless di Platfrom AWS
Membangun Aplikasi Serverless di Platfrom AWSMembangun Aplikasi Serverless di Platfrom AWS
Membangun Aplikasi Serverless di Platfrom AWS
 
IDCamp X Madrasah: Pengenalan Computational Thinking
IDCamp X Madrasah: Pengenalan Computational ThinkingIDCamp X Madrasah: Pengenalan Computational Thinking
IDCamp X Madrasah: Pengenalan Computational Thinking
 
Membuat Produk Digital Terbaik ala Startup Unicorn
Membuat Produk Digital Terbaik ala Startup UnicornMembuat Produk Digital Terbaik ala Startup Unicorn
Membuat Produk Digital Terbaik ala Startup Unicorn
 
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
TechTalk 2021: Peran IT Security dalam Penerapan DevOpsTechTalk 2021: Peran IT Security dalam Penerapan DevOps
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
 
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CDTechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
 
Membuat Solusi Bermanfaat dengan Programming - Nur Rohman
Membuat Solusi Bermanfaat dengan Programming - Nur RohmanMembuat Solusi Bermanfaat dengan Programming - Nur Rohman
Membuat Solusi Bermanfaat dengan Programming - Nur Rohman
 
Potensi karier menjadi ios developer di masa depan
Potensi karier menjadi ios developer di masa depanPotensi karier menjadi ios developer di masa depan
Potensi karier menjadi ios developer di masa depan
 
Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101
 
Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021
 
Teknologi Baru Android di Google I/O 2021 - Andrew Kurniadi
Teknologi Baru Android di Google I/O 2021 - Andrew KurniadiTeknologi Baru Android di Google I/O 2021 - Andrew Kurniadi
Teknologi Baru Android di Google I/O 2021 - Andrew Kurniadi
 
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
 
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
 
Pengantar Cloud Computing dengan AWS - Petra Novandi Barus
Pengantar Cloud Computing dengan AWS - Petra Novandi BarusPengantar Cloud Computing dengan AWS - Petra Novandi Barus
Pengantar Cloud Computing dengan AWS - Petra Novandi Barus
 
Dicoding Developer Coaching #36: Android | Pentingnya Performa pada Aplikasi ...
Dicoding Developer Coaching #36: Android | Pentingnya Performa pada Aplikasi ...Dicoding Developer Coaching #36: Android | Pentingnya Performa pada Aplikasi ...
Dicoding Developer Coaching #36: Android | Pentingnya Performa pada Aplikasi ...
 
Dicoding Developer Coaching #34: Android | Modular Android App dengan Dynamic...
Dicoding Developer Coaching #34: Android | Modular Android App dengan Dynamic...Dicoding Developer Coaching #34: Android | Modular Android App dengan Dynamic...
Dicoding Developer Coaching #34: Android | Modular Android App dengan Dynamic...
 
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di An...
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di An...Dicoding Developer Coaching #35: Android | Setup Continuous Integration di An...
Dicoding Developer Coaching #35: Android | Setup Continuous Integration di An...
 

KontrolAlur

  • 1. Khrisna Indrawan Eka Putra Google Associate Android Developer, Head of Reviewer Dicoding
  • 2. Control flow adalah cara untuk mengontrol alur dari sebuah program berdasarkan kondisi saat program tersebut berjalan. Contoh : ● Enumeration ● If Expression ● When Expression ● While and Do While ● Range and For Loop ● Break and Continue Labels
  • 3. Enumeration merupakan salah satu fitur yang bisa kita gunakan untuk menyimpan kumpulan objek yang telah didefinisikan menjadi tipe data konstanta. Contoh: fun main() { val colorRed = Color.RED val colorGreen = Color.GREEN val colorBlue = Color.BLUE } enum class Color(val value: Int) { RED(0xFF0000), GREEN(0x00FF00), BLUE(0x0000FF) } when(color){ Color.RED -> print("Color is Red") Color.BLUE -> print("Color is Blue") Color.GREEN -> print("Color is Green") }
  • 4. If Expressions digunakan saat kita perlu menentukan sebuah kondisi untuk menjalankan sebuah statement atau expression. Contoh: val openHours = 7 val now = 20 val office: String if (now > openHours) { office = "Office already open" } else { office = "Office is closed" }
  • 5. Mekanisme yang memungkinkan nilai dari sebuah variabel/expression, mampu mengubah alur program. Contoh: fun main() { val value = 7 when(value){ 6 -> println("value is 6") 7 -> println("value is 7") 8 -> println("value is 8") } }
  • 6. While bersifat Entry Controlled Loop. Artinya, kondisi yang diberikan akan dievaluasi terlebih dahulu. Jika kondisi tersebut terpenuhi maka proses perulangan akan dijalankan. Contoh: fun main() { var counter = 8 while (counter <= 7){ println("Hello, World!") counter++ } }
  • 7. Berbeda dengan While, Do While bersifat Exit Controlled Loop di mana proses perulangan akan langsung dijalankan di awal. Jika telah selesai, barulah kondisi yang diberikan akan dievaluasi. Contoh: fun main() { var value = 'A' do { print(value) } while (value <= 'Z') }
  • 8. Range merupakan salah satu tipe yang unik pada kotlin. Kita dapat menentukan nilai awal dan nilai akhir pada Range. Range direpresentasikan dengan operator .. atau dengan fungsi rangeTo() dan downTo(). Contoh: val rangeInt = 1..10
  • 9. For merupakan konsep perulangan pada blok yang sama selama hasil evaluasi kondisi yang diberikan terpenuhi atau bernilai true. Contoh: fun main() { val ranges = 1..5 for (i in ranges){ println("value is $i!") } }
  • 10. Continue digunakan untuk melewatkan proses iterasi dan lanjut dengan proses iterasi berikutnya. Sementara itu, Break digunakan untuk menghentikan proses iterasi. Contoh : fun main() { val listOfInt = listOf(1, 2, 3, null, 5, null, 7) for (i in listOfInt) { if (i == null) continue print(i) } } fun main() { val listOfInt = listOf(1, 2, 3, null, 5, null, 7) for (i in listOfInt) { if (i == null) break print(i) } }