SlideShare a Scribd company logo
1 of 27
Download to read offline
Mobile Application 2
Pertemuan 1 :
Introduction
Akhmad Khanif Zyen, M. Kom
Before we start
Pair Programming
Pair programming adalah teknik agile dalam software development dimana
dua programer bekerja bersama dengan satu workstation. Satu bertindak
sebagai supir, menulis kode program, sedangkan satunya bertindak sebagai
observer atau navigator, bertugas mereview tiap baris kode yang diketika.
Kedua programer sering bertukar peran.
Ketentuan dalam Pair Programming
● kedua programer harus secara aktif terlibat dengan tugas selama sesi
berpasangan, jika tidak, tidak ada manfaat yang bisa diambil
● kedua programer harus saling aktif diskusi/cerewet dengan pasangannya
dan tidak ada yang merasa paling pintar dan memaksakan kehendak
● Selesaikan permasalahan sepele terlebih dahulu, seperti “mambu, wes
adus durung?”
● Harus saling menghargai.
Hasil yang diharapkan
● peningkatan kualitas kode: "pemrograman dengan cerewet" mengarah
pada penglihatan yang lebih jelas tentang kompleksitas dan detail
tersembunyi dalam tugas koding dan mengurangi risiko kesalahan
● Penggabungan pengetahuan yang lebih baik di antara tim, khususnya
ketika programer yang tidak terbiasa dengan suatu komponen
dipasangkan dengan programer yang lebih tahu
● Transfer ilmu yang lebih baik, karena programer junior mempelajari teknik
atau keterampilan yang lebih tinggi dari anggota tim yang lebih
berpengalaman
Environments Setup
1. JDK
2. Intellij IDEA
Variable
● Dapat diinisiasi tipe datanya terlebih
dahulu, atau tanpa tipe data
● Dapat diberikan nilainya langsung
● Tanda ? untuk menandakan bahwa
variable tersebut boleh null
● var untuk variable yang bisa read write, val
untuk variable yang hanya read saja atau
konstanta
fun main(args:Array<String>){
var name="Khanif"
var age:Int=30
var department:String?
department="Information Technology"
println("name:"+ name)
println("age:"+ age)
println("department:"+ department)
val pi:Double=3.4
}
Debug
● Dengan menambahkan breakpoints pada baris dimana akan dimulai debug
● Jalankan baris berikutnya dengan memilih step over (F8)
● Bertujuan untuk melakukan pelacakan error
Readline()
● Digunakan untuk menerima input dari user melalui console
fun main(args:Array<String>){
print("Masukkan nama : ")
var name = readLine()
print("Masukkan umur : ")
var age:Int = readLine()!!.toInt()
print("Masukkan department : ")
var department:String?
department= readLine()
println("name:"+ name)
println("age:"+ age)
println("department:"+ department)
val pi:Double=3.4
println("pi:"+ pi)
}
Null Safety
● Salah satu fitur unggulan dari Kotlin, dimana
kemampuannya dalam meng-handle NPE
(null pointer exception)
● Ditandai dengan tanda ? setelah penamaan
tipe data pada variable
● Tanda !! berfungsi untuk memaksa sebuah
variable harus berisi dan tidak boleh null.
Jika null maka akan dilempar ke exception
● Bandingkan keempat kode ini. Lihat
outputnya
Convert Data Type
● Terkadang pada kondisi tertentu
kita perlu mengubah tipe data
● Contoh fungsi readLine() diatas,
memiliki return berupa String,
sehingga untuk variable age yang
di readLine() diubah dengan
menggunakan fungsi toInt()
● Menggunakan fungsi toString(),
toInt(), toByte(), toFloat(), dll
Math Operations
● Untuk operasi aritmetika, yang
diperlukan readLine(), maka perlu
kita ubah juga ke tipe Float
Priority rules
● Di dalam aritmetika terdapat
urutan prioritas yang mana yang
lebih dahulu dikerjakan yaitu:
1. ()
2. ^
3. *, /
4. +, -
5. =
Increment and Decrement
● Urutan prioritas untuk increment
dan decrement
1. ()
2. ++, -- (before Var)
3. ^
4. *, /
5. +, -
6. =
7. ++,-- (After Var)
Quiz: What is the output?
var i=5;
println(i++);
print(i--);
A. 56
B. 5
6
C. 4
5
D. 45
App: Find Your Age
● Buat sebuah aplikasi untuk mencari
tahu umur!
● Dalam membuat aplikasi secara
umum: Input, Proses dan Output
● Input: masukkan tahun lahir
● Proses: lakukan proses perhitungan
dengan rumus 2017-DOB
● Output: tampilkan age
Find Your Age - optimalisasi
● Akan jadi masalah jika aplikasi
dijalankan tahun depan, maka
perlu mengubah tahun yang ditulis
secara hardcode
● Solusinya adalah membaca tahun
dari seting device dengan fungsi
Calendar
● Fungsi Calendar memerlukan
library dari java.util.* sehingga
lakukan import pada baris 1
Debug with condition
● Dengan memberikan parameter
pada Condition, misal
DOB==1999, maka debug akan
mulai pada breakpoints
● Breakpoints bisa diberi kondisi
dengan syarat parameter/
variabel sudah masuk dalam
memory.
● Jalankan dengan mode Debug
Logic Statement
● Suatu kondisi yang menyatakan true or false dengan menggunakan
operator pembanding ( <, >, ==, <=,>=,!=)
● Contoh:
● 5 == 5 menghasilkan true
● 3 > 5 menghasilkan false
● 3 != 5 menghasilkan true
● 3<=5 menghasilkan true
Logic Statement
● Selain itu juga menggunakan operator penghubung and dan or, sedangkan
nilai yang dihubungkan adalah boolean(true/false).
● And operator dalam kotlin ditulis &&
● Or operator dalam kotlin ditulis ||
● Contoh:
● (5 == 5) && (3<5) menghasilkan true
● (5 > 5) && (3<5) menghasilkan false
● (3 != 5) || (3>5) menghasilkan true
● (3<=5) || (3>5) menghasilkan true
AND and OR Operator
AND operator
Hasil true jika kedua nilai
pembanding bernilai true
Value 1 Value 2 Result
T T T
T F F
F T F
F F F
OR operator
Hasil true jika salah satu nilai
pembanding bernilai true
Value 1 Value 2 Result
T T T
T F T
F T T
F F F
Quiz: Only read this code, what is the output?
Decision Making (Simple If)
● Baris kode yang akan dieksekusi dalam kondisi tertentu
● Contoh, jika seseorang memiliki nilai lebih dari atau sama dengan 90,
maka dia akan dinyatakan “Kamu dapat nilai A”
● Maka kodenya adalah sebagai berikut
Decision Making (If-Else)
● Baris kode yang akan dieksekusi
dalam kondisi tertentu, dan jika
tidak sesuai akan masuk ke
dalam blok kode else
● Contoh, jika seseorang memiliki
nilai lebih dari atau sama dengan
90, maka dia akan dinyatakan
“Kamu dapat nilai A”, selain itu
maka akan dinyatakan “Kamu
tidak masuk kategori nilai A”
● Baris kode yang akan dieksekusi dalam kondisi
tertentu, dan jika tidak sesuai akan masuk ke dalam
blok kode else yang didalamnya terdapat if lagi
● Contoh, jika seseorang memiliki :
○ nilai lebih dari atau sama dengan 90, maka dia akan dinyatakan
“Kamu dapat nilai A”,
○ nilai antara 80 sampai 89 akan dinyatakan “Kamu dapat nilai B”
○ nilai antara 70 sampai 79 akan dinyatakan “Kamu dapat nilai C”
○ Selaian itu dinyatakan “Kamu tidak lulus”
Decision Making (If-ElseIf)
Decision Making (Nested If)
● Baris kode yang akan dieksekusi dalam
kondisi tertentu, dan didalamnya terdapat if
lagi
● Contoh, jika seseorang memiliki nilai lebih
dari atau sama dengan 90, maka akan dicek
lagi, jika dia mendapatkan nilai lebih dari
sama dengan 95 akan dinyatakan “Kamu
dapat nilai A+”, selain itu maka akan
dinyatakan “Kamu dapat nilai A-”
Decision Making (When)
● Penggunaan when, lebih mudah
untuk operasi yang memerlukan
decision making yang rumit
● Sebagai contoh kode
sebelumnya, dalam menetukan
sebuah nilai masuk kategori, A,
B, C atau tidak lulus, akan lebih
mudah menuliskannya dalam
perintah when

More Related Content

What's hot

Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)Azka Mutia
 
Algoritma perulangan
Algoritma perulanganAlgoritma perulangan
Algoritma perulanganazkiyaku
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanPisca Prasetyo
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum AlgoritmaEnvaPya
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartMaryanto Sumringah SMA 9 Tebo
 
Modul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrogramanModul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrogramanMuraba Nasuha
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemogramanPANJI_ADITYAN
 
Looping Algoritma
Looping AlgoritmaLooping Algoritma
Looping AlgoritmaFirdaus1212
 
2 struktur dasar algoritma dan notasi algoritmik pseudo-code
2   struktur dasar algoritma dan notasi algoritmik pseudo-code2   struktur dasar algoritma dan notasi algoritmik pseudo-code
2 struktur dasar algoritma dan notasi algoritmik pseudo-codeAnand Reverse
 
Algo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaAlgo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaSenna Hendrian
 
Modul Logika dan algoritma
Modul Logika dan algoritmaModul Logika dan algoritma
Modul Logika dan algoritmalinda_rosalina
 
Laporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul ILaporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul IShofura Kamal
 
Materi 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMateri 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMelva Amma Kalian
 
Algoritma pemrograman
Algoritma pemrogramanAlgoritma pemrograman
Algoritma pemrogramanFebri Fazain
 

What's hot (20)

Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
 
Algoritma flowchart
Algoritma flowchartAlgoritma flowchart
Algoritma flowchart
 
Dasar dasar algoritma - 2
Dasar dasar algoritma - 2Dasar dasar algoritma - 2
Dasar dasar algoritma - 2
 
Dasar pemrograman ( algorithma pemrograman )
Dasar pemrograman ( algorithma pemrograman )Dasar pemrograman ( algorithma pemrograman )
Dasar pemrograman ( algorithma pemrograman )
 
Algoritma perulangan
Algoritma perulanganAlgoritma perulangan
Algoritma perulangan
 
Menerapkan struktur kontrol perulangan dalam bahasa pemrograman.
Menerapkan struktur kontrol perulangan dalam bahasa pemrograman.Menerapkan struktur kontrol perulangan dalam bahasa pemrograman.
Menerapkan struktur kontrol perulangan dalam bahasa pemrograman.
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan Pemograman
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum Algoritma
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchart
 
Modul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrogramanModul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrograman
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Pertemuan_2
Pertemuan_2Pertemuan_2
Pertemuan_2
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemograman
 
Looping Algoritma
Looping AlgoritmaLooping Algoritma
Looping Algoritma
 
2 struktur dasar algoritma dan notasi algoritmik pseudo-code
2   struktur dasar algoritma dan notasi algoritmik pseudo-code2   struktur dasar algoritma dan notasi algoritmik pseudo-code
2 struktur dasar algoritma dan notasi algoritmik pseudo-code
 
Algo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaAlgo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritma
 
Modul Logika dan algoritma
Modul Logika dan algoritmaModul Logika dan algoritma
Modul Logika dan algoritma
 
Laporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul ILaporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul I
 
Materi 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMateri 1. algoritma pemrograman
Materi 1. algoritma pemrograman
 
Algoritma pemrograman
Algoritma pemrogramanAlgoritma pemrograman
Algoritma pemrograman
 

Similar to Mobile Application 2 Pertemuan 1 Pengantar Kotlin

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
 
struktur pemrograman pascal - MATA KULIAH STRUKTUR DATA
struktur pemrograman pascal - MATA KULIAH STRUKTUR DATAstruktur pemrograman pascal - MATA KULIAH STRUKTUR DATA
struktur pemrograman pascal - MATA KULIAH STRUKTUR DATAsugianto91
 
Struktur pemrograman pascal
Struktur pemrograman pascalStruktur pemrograman pascal
Struktur pemrograman pascalJefry Jefry
 
Ayo membuat program pascal
Ayo membuat program pascalAyo membuat program pascal
Ayo membuat program pascalHary Purwoko
 
#3 Introduction Control Flow & Loop in Kotlin.pptx
#3 Introduction Control Flow & Loop in Kotlin.pptx#3 Introduction Control Flow & Loop in Kotlin.pptx
#3 Introduction Control Flow & Loop in Kotlin.pptxGDSC2
 
PENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTURPENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTUREDIS BLOG
 
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxMAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxDikicandra6
 
ALGORITMA PEMROGRAMAN DASAR.pptx
ALGORITMA PEMROGRAMAN DASAR.pptxALGORITMA PEMROGRAMAN DASAR.pptx
ALGORITMA PEMROGRAMAN DASAR.pptxameltiksmada
 
Part 24 Perintah Record with
Part 24 Perintah Record withPart 24 Perintah Record with
Part 24 Perintah Record withSyaiful Ahdan
 
BAB 7.ALGORITMA DAN PEMROGRAMAN.pptx
BAB 7.ALGORITMA DAN PEMROGRAMAN.pptxBAB 7.ALGORITMA DAN PEMROGRAMAN.pptx
BAB 7.ALGORITMA DAN PEMROGRAMAN.pptxKerajaanPtI
 
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptxDDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptxNi Kadek Lia Mastika Dewi
 
#2 Introduction Operator in Kotlin.pptx
#2 Introduction Operator in Kotlin.pptx#2 Introduction Operator in Kotlin.pptx
#2 Introduction Operator in Kotlin.pptxGDSC2
 

Similar to Mobile Application 2 Pertemuan 1 Pengantar Kotlin (20)

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
 
Go-Lang Dasar.pptx
Go-Lang Dasar.pptxGo-Lang Dasar.pptx
Go-Lang Dasar.pptx
 
struktur pemrograman pascal - MATA KULIAH STRUKTUR DATA
struktur pemrograman pascal - MATA KULIAH STRUKTUR DATAstruktur pemrograman pascal - MATA KULIAH STRUKTUR DATA
struktur pemrograman pascal - MATA KULIAH STRUKTUR DATA
 
Struktur pemrograman pascal
Struktur pemrograman pascalStruktur pemrograman pascal
Struktur pemrograman pascal
 
Ayo membuat program pascal
Ayo membuat program pascalAyo membuat program pascal
Ayo membuat program pascal
 
#3 Introduction Control Flow & Loop in Kotlin.pptx
#3 Introduction Control Flow & Loop in Kotlin.pptx#3 Introduction Control Flow & Loop in Kotlin.pptx
#3 Introduction Control Flow & Loop in Kotlin.pptx
 
PENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTURPENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTUR
 
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxMAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
 
Tugas perulangan
Tugas perulanganTugas perulangan
Tugas perulangan
 
E1 e117049 nurfadhila fahmi_tugas3
E1 e117049 nurfadhila fahmi_tugas3E1 e117049 nurfadhila fahmi_tugas3
E1 e117049 nurfadhila fahmi_tugas3
 
Part 36 if then
Part 36 if thenPart 36 if then
Part 36 if then
 
ALGORITMA PEMROGRAMAN DASAR.pptx
ALGORITMA PEMROGRAMAN DASAR.pptxALGORITMA PEMROGRAMAN DASAR.pptx
ALGORITMA PEMROGRAMAN DASAR.pptx
 
Bahan 2.pptx
Bahan 2.pptxBahan 2.pptx
Bahan 2.pptx
 
Part 24 Perintah Record with
Part 24 Perintah Record withPart 24 Perintah Record with
Part 24 Perintah Record with
 
Operasi Seleksi
Operasi SeleksiOperasi Seleksi
Operasi Seleksi
 
BAB 7.ALGORITMA DAN PEMROGRAMAN.pptx
BAB 7.ALGORITMA DAN PEMROGRAMAN.pptxBAB 7.ALGORITMA DAN PEMROGRAMAN.pptx
BAB 7.ALGORITMA DAN PEMROGRAMAN.pptx
 
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptxDDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
 
#2 Introduction Operator in Kotlin.pptx
#2 Introduction Operator in Kotlin.pptx#2 Introduction Operator in Kotlin.pptx
#2 Introduction Operator in Kotlin.pptx
 

More from Akhmad Khanif Zyen

Pemrograman Mobile Pertemuan 1
Pemrograman Mobile Pertemuan 1Pemrograman Mobile Pertemuan 1
Pemrograman Mobile Pertemuan 1Akhmad Khanif Zyen
 
Pemrograman Mobile Unit 2 : Dasar-dasar Flutter
Pemrograman Mobile Unit 2 : Dasar-dasar FlutterPemrograman Mobile Unit 2 : Dasar-dasar Flutter
Pemrograman Mobile Unit 2 : Dasar-dasar FlutterAkhmad Khanif Zyen
 
Pemrograman Mobile Unit 1 : Perkenalan
Pemrograman Mobile Unit 1 : PerkenalanPemrograman Mobile Unit 1 : Perkenalan
Pemrograman Mobile Unit 1 : PerkenalanAkhmad Khanif Zyen
 
Mobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and Packages
Mobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and PackagesMobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and Packages
Mobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and PackagesAkhmad Khanif Zyen
 
Mobile Application 2 Pertemuan 4 Dasar Kotlin OOP Polymorphism
Mobile Application 2 Pertemuan 4 Dasar Kotlin OOP PolymorphismMobile Application 2 Pertemuan 4 Dasar Kotlin OOP Polymorphism
Mobile Application 2 Pertemuan 4 Dasar Kotlin OOP PolymorphismAkhmad Khanif Zyen
 
Mobile Application 2 Pertemuan 3 Dasar Kotlin Object Oriented Programming
Mobile Application 2 Pertemuan 3 Dasar Kotlin Object Oriented ProgrammingMobile Application 2 Pertemuan 3 Dasar Kotlin Object Oriented Programming
Mobile Application 2 Pertemuan 3 Dasar Kotlin Object Oriented ProgrammingAkhmad Khanif Zyen
 
Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Fu...
Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Fu...Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Fu...
Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Fu...Akhmad Khanif Zyen
 
Surat keterangan garansi software
Surat keterangan garansi softwareSurat keterangan garansi software
Surat keterangan garansi softwareAkhmad Khanif Zyen
 
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework Bagian 3
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework Bagian 3Membuat Aplikasi Kesiswaan Menggunakan Yii Framework Bagian 3
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework Bagian 3Akhmad Khanif Zyen
 
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 2
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 2Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 2
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 2Akhmad Khanif Zyen
 
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 1
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 1Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 1
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 1Akhmad Khanif Zyen
 

More from Akhmad Khanif Zyen (15)

Pemrograman Mobile Pertemuan 1
Pemrograman Mobile Pertemuan 1Pemrograman Mobile Pertemuan 1
Pemrograman Mobile Pertemuan 1
 
Yii2 fundamentals bagian 1
Yii2 fundamentals   bagian 1Yii2 fundamentals   bagian 1
Yii2 fundamentals bagian 1
 
Pemrograman Mobile Unit 2 : Dasar-dasar Flutter
Pemrograman Mobile Unit 2 : Dasar-dasar FlutterPemrograman Mobile Unit 2 : Dasar-dasar Flutter
Pemrograman Mobile Unit 2 : Dasar-dasar Flutter
 
Pemrograman Mobile Unit 1 : Perkenalan
Pemrograman Mobile Unit 1 : PerkenalanPemrograman Mobile Unit 1 : Perkenalan
Pemrograman Mobile Unit 1 : Perkenalan
 
Mobile app syllabus 2019
Mobile app syllabus 2019Mobile app syllabus 2019
Mobile app syllabus 2019
 
Mobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and Packages
Mobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and PackagesMobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and Packages
Mobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and Packages
 
Mobile Application 2 Pertemuan 4 Dasar Kotlin OOP Polymorphism
Mobile Application 2 Pertemuan 4 Dasar Kotlin OOP PolymorphismMobile Application 2 Pertemuan 4 Dasar Kotlin OOP Polymorphism
Mobile Application 2 Pertemuan 4 Dasar Kotlin OOP Polymorphism
 
Mobile Application 2 Pertemuan 3 Dasar Kotlin Object Oriented Programming
Mobile Application 2 Pertemuan 3 Dasar Kotlin Object Oriented ProgrammingMobile Application 2 Pertemuan 3 Dasar Kotlin Object Oriented Programming
Mobile Application 2 Pertemuan 3 Dasar Kotlin Object Oriented Programming
 
Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Fu...
Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Fu...Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Fu...
Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Fu...
 
Filosofi belajar abad 21
Filosofi belajar abad 21Filosofi belajar abad 21
Filosofi belajar abad 21
 
Perintah dasar Linux
Perintah dasar LinuxPerintah dasar Linux
Perintah dasar Linux
 
Surat keterangan garansi software
Surat keterangan garansi softwareSurat keterangan garansi software
Surat keterangan garansi software
 
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework Bagian 3
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework Bagian 3Membuat Aplikasi Kesiswaan Menggunakan Yii Framework Bagian 3
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework Bagian 3
 
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 2
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 2Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 2
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 2
 
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 1
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 1Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 1
Membuat Aplikasi Kesiswaan Menggunakan Yii Framework - Bagian 1
 

Recently uploaded

DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxDESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxFuzaAnggriana
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptArkhaRega1
 
04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau tripletMelianaJayasaputra
 
implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023DodiSetiawan46
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5KIKI TRISNA MUKTI
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxherisriwahyuni
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxDwiYuniarti14
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfChrodtianTian
 
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...MarwanAnugrah
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdftsaniasalftn18
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxnerow98
 
Model Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsModel Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsAdePutraTunggali
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKirwan461475
 
Ppt tentang perkembangan Moral Pada Anak
Ppt tentang perkembangan Moral Pada AnakPpt tentang perkembangan Moral Pada Anak
Ppt tentang perkembangan Moral Pada Anakbekamalayniasinta
 
Materi Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptxMateri Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptxc9fhbm7gzj
 
Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)3HerisaSintia
 
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxPrakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxSyaimarChandra1
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfElaAditya
 

Recently uploaded (20)

DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxDESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
 
04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet
 
implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
 
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdf
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
 
Model Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsModel Manajemen Strategi Public Relations
Model Manajemen Strategi Public Relations
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
 
Ppt tentang perkembangan Moral Pada Anak
Ppt tentang perkembangan Moral Pada AnakPpt tentang perkembangan Moral Pada Anak
Ppt tentang perkembangan Moral Pada Anak
 
Materi Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptxMateri Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptx
 
Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)
 
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxPrakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
 

Mobile Application 2 Pertemuan 1 Pengantar Kotlin

  • 1. Mobile Application 2 Pertemuan 1 : Introduction Akhmad Khanif Zyen, M. Kom
  • 3. Pair Programming Pair programming adalah teknik agile dalam software development dimana dua programer bekerja bersama dengan satu workstation. Satu bertindak sebagai supir, menulis kode program, sedangkan satunya bertindak sebagai observer atau navigator, bertugas mereview tiap baris kode yang diketika. Kedua programer sering bertukar peran.
  • 4. Ketentuan dalam Pair Programming ● kedua programer harus secara aktif terlibat dengan tugas selama sesi berpasangan, jika tidak, tidak ada manfaat yang bisa diambil ● kedua programer harus saling aktif diskusi/cerewet dengan pasangannya dan tidak ada yang merasa paling pintar dan memaksakan kehendak ● Selesaikan permasalahan sepele terlebih dahulu, seperti “mambu, wes adus durung?” ● Harus saling menghargai.
  • 5. Hasil yang diharapkan ● peningkatan kualitas kode: "pemrograman dengan cerewet" mengarah pada penglihatan yang lebih jelas tentang kompleksitas dan detail tersembunyi dalam tugas koding dan mengurangi risiko kesalahan ● Penggabungan pengetahuan yang lebih baik di antara tim, khususnya ketika programer yang tidak terbiasa dengan suatu komponen dipasangkan dengan programer yang lebih tahu ● Transfer ilmu yang lebih baik, karena programer junior mempelajari teknik atau keterampilan yang lebih tinggi dari anggota tim yang lebih berpengalaman
  • 7. Variable ● Dapat diinisiasi tipe datanya terlebih dahulu, atau tanpa tipe data ● Dapat diberikan nilainya langsung ● Tanda ? untuk menandakan bahwa variable tersebut boleh null ● var untuk variable yang bisa read write, val untuk variable yang hanya read saja atau konstanta fun main(args:Array<String>){ var name="Khanif" var age:Int=30 var department:String? department="Information Technology" println("name:"+ name) println("age:"+ age) println("department:"+ department) val pi:Double=3.4 }
  • 8. Debug ● Dengan menambahkan breakpoints pada baris dimana akan dimulai debug ● Jalankan baris berikutnya dengan memilih step over (F8) ● Bertujuan untuk melakukan pelacakan error
  • 9. Readline() ● Digunakan untuk menerima input dari user melalui console fun main(args:Array<String>){ print("Masukkan nama : ") var name = readLine() print("Masukkan umur : ") var age:Int = readLine()!!.toInt() print("Masukkan department : ") var department:String? department= readLine() println("name:"+ name) println("age:"+ age) println("department:"+ department) val pi:Double=3.4 println("pi:"+ pi) }
  • 10. Null Safety ● Salah satu fitur unggulan dari Kotlin, dimana kemampuannya dalam meng-handle NPE (null pointer exception) ● Ditandai dengan tanda ? setelah penamaan tipe data pada variable ● Tanda !! berfungsi untuk memaksa sebuah variable harus berisi dan tidak boleh null. Jika null maka akan dilempar ke exception ● Bandingkan keempat kode ini. Lihat outputnya
  • 11. Convert Data Type ● Terkadang pada kondisi tertentu kita perlu mengubah tipe data ● Contoh fungsi readLine() diatas, memiliki return berupa String, sehingga untuk variable age yang di readLine() diubah dengan menggunakan fungsi toInt() ● Menggunakan fungsi toString(), toInt(), toByte(), toFloat(), dll
  • 12. Math Operations ● Untuk operasi aritmetika, yang diperlukan readLine(), maka perlu kita ubah juga ke tipe Float
  • 13. Priority rules ● Di dalam aritmetika terdapat urutan prioritas yang mana yang lebih dahulu dikerjakan yaitu: 1. () 2. ^ 3. *, / 4. +, - 5. =
  • 14. Increment and Decrement ● Urutan prioritas untuk increment dan decrement 1. () 2. ++, -- (before Var) 3. ^ 4. *, / 5. +, - 6. = 7. ++,-- (After Var)
  • 15. Quiz: What is the output? var i=5; println(i++); print(i--); A. 56 B. 5 6 C. 4 5 D. 45
  • 16. App: Find Your Age ● Buat sebuah aplikasi untuk mencari tahu umur! ● Dalam membuat aplikasi secara umum: Input, Proses dan Output ● Input: masukkan tahun lahir ● Proses: lakukan proses perhitungan dengan rumus 2017-DOB ● Output: tampilkan age
  • 17. Find Your Age - optimalisasi ● Akan jadi masalah jika aplikasi dijalankan tahun depan, maka perlu mengubah tahun yang ditulis secara hardcode ● Solusinya adalah membaca tahun dari seting device dengan fungsi Calendar ● Fungsi Calendar memerlukan library dari java.util.* sehingga lakukan import pada baris 1
  • 18. Debug with condition ● Dengan memberikan parameter pada Condition, misal DOB==1999, maka debug akan mulai pada breakpoints ● Breakpoints bisa diberi kondisi dengan syarat parameter/ variabel sudah masuk dalam memory. ● Jalankan dengan mode Debug
  • 19. Logic Statement ● Suatu kondisi yang menyatakan true or false dengan menggunakan operator pembanding ( <, >, ==, <=,>=,!=) ● Contoh: ● 5 == 5 menghasilkan true ● 3 > 5 menghasilkan false ● 3 != 5 menghasilkan true ● 3<=5 menghasilkan true
  • 20. Logic Statement ● Selain itu juga menggunakan operator penghubung and dan or, sedangkan nilai yang dihubungkan adalah boolean(true/false). ● And operator dalam kotlin ditulis && ● Or operator dalam kotlin ditulis || ● Contoh: ● (5 == 5) && (3<5) menghasilkan true ● (5 > 5) && (3<5) menghasilkan false ● (3 != 5) || (3>5) menghasilkan true ● (3<=5) || (3>5) menghasilkan true
  • 21. AND and OR Operator AND operator Hasil true jika kedua nilai pembanding bernilai true Value 1 Value 2 Result T T T T F F F T F F F F OR operator Hasil true jika salah satu nilai pembanding bernilai true Value 1 Value 2 Result T T T T F T F T T F F F
  • 22. Quiz: Only read this code, what is the output?
  • 23. Decision Making (Simple If) ● Baris kode yang akan dieksekusi dalam kondisi tertentu ● Contoh, jika seseorang memiliki nilai lebih dari atau sama dengan 90, maka dia akan dinyatakan “Kamu dapat nilai A” ● Maka kodenya adalah sebagai berikut
  • 24. Decision Making (If-Else) ● Baris kode yang akan dieksekusi dalam kondisi tertentu, dan jika tidak sesuai akan masuk ke dalam blok kode else ● Contoh, jika seseorang memiliki nilai lebih dari atau sama dengan 90, maka dia akan dinyatakan “Kamu dapat nilai A”, selain itu maka akan dinyatakan “Kamu tidak masuk kategori nilai A”
  • 25. ● Baris kode yang akan dieksekusi dalam kondisi tertentu, dan jika tidak sesuai akan masuk ke dalam blok kode else yang didalamnya terdapat if lagi ● Contoh, jika seseorang memiliki : ○ nilai lebih dari atau sama dengan 90, maka dia akan dinyatakan “Kamu dapat nilai A”, ○ nilai antara 80 sampai 89 akan dinyatakan “Kamu dapat nilai B” ○ nilai antara 70 sampai 79 akan dinyatakan “Kamu dapat nilai C” ○ Selaian itu dinyatakan “Kamu tidak lulus” Decision Making (If-ElseIf)
  • 26. Decision Making (Nested If) ● Baris kode yang akan dieksekusi dalam kondisi tertentu, dan didalamnya terdapat if lagi ● Contoh, jika seseorang memiliki nilai lebih dari atau sama dengan 90, maka akan dicek lagi, jika dia mendapatkan nilai lebih dari sama dengan 95 akan dinyatakan “Kamu dapat nilai A+”, selain itu maka akan dinyatakan “Kamu dapat nilai A-”
  • 27. Decision Making (When) ● Penggunaan when, lebih mudah untuk operasi yang memerlukan decision making yang rumit ● Sebagai contoh kode sebelumnya, dalam menetukan sebuah nilai masuk kategori, A, B, C atau tidak lulus, akan lebih mudah menuliskannya dalam perintah when