SlideShare a Scribd company logo
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 flowchart
Algoritma flowchartAlgoritma flowchart
Algoritma flowchart
Irwin andriyanto
 
Dasar dasar algoritma - 2
Dasar dasar algoritma - 2Dasar dasar algoritma - 2
Dasar dasar algoritma - 2
Rachmat Narendra
 
Dasar pemrograman ( algorithma pemrograman )
Dasar pemrograman ( algorithma pemrograman )Dasar pemrograman ( algorithma pemrograman )
Dasar pemrograman ( algorithma pemrograman )
MULTIMEDIA 'n BROADCASTING SMKN 1 PUNGGING MOJOKERTO
 
Algoritma perulangan
Algoritma perulanganAlgoritma perulangan
Algoritma perulangan
azkiyaku
 
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.
MULTIMEDIA 'n BROADCASTING SMKN 1 PUNGGING MOJOKERTO
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan Pemograman
Pisca Prasetyo
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum Algoritma
EnvaPya
 
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
Maryanto 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 pemrograman
Muraba Nasuha
 
Chapter 2
Chapter 2Chapter 2
Pertemuan_2
Pertemuan_2Pertemuan_2
Pertemuan_2
kartiria sonata
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemogramanPANJI_ADITYAN
 
Looping Algoritma
Looping AlgoritmaLooping Algoritma
Looping Algoritma
Firdaus1212
 
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
Anand Reverse
 
Algo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaAlgo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritma
Senna Hendrian
 
Modul Logika dan algoritma
Modul Logika dan algoritmaModul Logika dan algoritma
Modul Logika dan algoritma
linda_rosalina
 
Laporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul ILaporan Praktikum Algoritma Pemrograman Modul I
Laporan Praktikum Algoritma Pemrograman Modul I
Shofura Kamal
 
Materi 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMateri 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMelva Amma Kalian
 
Algoritma pemrograman
Algoritma pemrogramanAlgoritma pemrograman
Algoritma pemrograman
Febri 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_muhammadyunus
Tifanie Indah
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanie Indah
 
Go-Lang Dasar.pptx
Go-Lang Dasar.pptxGo-Lang Dasar.pptx
Go-Lang Dasar.pptx
KotaBanjarLukmanAdit
 
Struktur pemrograman pascal
Struktur pemrograman pascalStruktur pemrograman pascal
Struktur pemrograman pascal
Jefry Jefry
 
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
sugianto91
 
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.pptx
GDSC2
 
PENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTURPENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTUR
EDIS 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 ).docx
Dikicandra6
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
Alvin Setiawan
 
Tugas perulangan
Tugas perulanganTugas perulangan
Tugas perulangan
robetsaputra
 
E1 e117049 nurfadhila fahmi_tugas3
E1 e117049 nurfadhila fahmi_tugas3E1 e117049 nurfadhila fahmi_tugas3
E1 e117049 nurfadhila fahmi_tugas3
Teknik Informatika Konsentrasi Sistem Informasi UHO
 
Part 36 if then
Part 36 if thenPart 36 if then
Part 36 if then
Syaiful Ahdan
 
ALGORITMA PEMROGRAMAN DASAR.pptx
ALGORITMA PEMROGRAMAN DASAR.pptxALGORITMA PEMROGRAMAN DASAR.pptx
ALGORITMA PEMROGRAMAN DASAR.pptx
ameltiksmada
 
Bahan 2.pptx
Bahan 2.pptxBahan 2.pptx
Bahan 2.pptx
ZulfanZainal2
 
Part 24 Perintah Record with
Part 24 Perintah Record withPart 24 Perintah Record with
Part 24 Perintah Record with
Syaiful Ahdan
 
Operasi Seleksi
Operasi SeleksiOperasi Seleksi
Operasi Seleksi
ZakariyyaYusuf1
 
BAB 7.ALGORITMA DAN PEMROGRAMAN.pptx
BAB 7.ALGORITMA DAN PEMROGRAMAN.pptxBAB 7.ALGORITMA DAN PEMROGRAMAN.pptx
BAB 7.ALGORITMA DAN PEMROGRAMAN.pptx
KerajaanPtI
 
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
Ni 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.pptx
GDSC2
 

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
Struktur pemrograman pascalStruktur pemrograman pascal
Struktur pemrograman pascal
 
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
 
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 1
Akhmad Khanif Zyen
 
Yii2 fundamentals bagian 1
Yii2 fundamentals   bagian 1Yii2 fundamentals   bagian 1
Yii2 fundamentals bagian 1
Akhmad 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 Flutter
Akhmad Khanif Zyen
 
Pemrograman Mobile Unit 1 : Perkenalan
Pemrograman Mobile Unit 1 : PerkenalanPemrograman Mobile Unit 1 : Perkenalan
Pemrograman Mobile Unit 1 : Perkenalan
Akhmad Khanif Zyen
 
Mobile app syllabus 2019
Mobile app syllabus 2019Mobile app syllabus 2019
Mobile app syllabus 2019
Akhmad 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 Packages
Akhmad 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 Polymorphism
Akhmad 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 Programming
Akhmad 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
 
Filosofi belajar abad 21
Filosofi belajar abad 21Filosofi belajar abad 21
Filosofi belajar abad 21
Akhmad Khanif Zyen
 
Perintah dasar Linux
Perintah dasar LinuxPerintah dasar Linux
Perintah dasar Linux
Akhmad Khanif Zyen
 
Surat keterangan garansi software
Surat keterangan garansi softwareSurat keterangan garansi software
Surat keterangan garansi software
Akhmad 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 3
Akhmad 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 2
Akhmad 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 1
Akhmad 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

GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptxGERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
fildiausmayusuf1
 
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Fathan Emran
 
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptxPembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Sosdiklihparmassdm
 
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum MerdekaModul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
Fathan Emran
 
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28 Juni 2024
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28  Juni 2024Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28  Juni 2024
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28 Juni 2024
Kanaidi ken
 
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptxRPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
YongYongYong1
 
RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptxRENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
mukminbdk
 
Kisi-kisi PAT IPS Kelas 8 semester 2.pdf
Kisi-kisi PAT IPS Kelas 8 semester 2.pdfKisi-kisi PAT IPS Kelas 8 semester 2.pdf
Kisi-kisi PAT IPS Kelas 8 semester 2.pdf
indraayurestuw
 
PPT PENGELOLAAN KINERJA PADA PMM SEKOLAH.pptx
PPT PENGELOLAAN KINERJA PADA PMM SEKOLAH.pptxPPT PENGELOLAAN KINERJA PADA PMM SEKOLAH.pptx
PPT PENGELOLAAN KINERJA PADA PMM SEKOLAH.pptx
AqlanHaritsAlfarisi
 
Materi Feedback (umpan balik) kelas Psikologi Komunikasi
Materi Feedback (umpan balik) kelas Psikologi KomunikasiMateri Feedback (umpan balik) kelas Psikologi Komunikasi
Materi Feedback (umpan balik) kelas Psikologi Komunikasi
AdePutraTunggali
 
Pemutakhiran Data dosen pada sister.pptx
Pemutakhiran Data dosen pada sister.pptxPemutakhiran Data dosen pada sister.pptx
Pemutakhiran Data dosen pada sister.pptx
ssuser4dafea
 
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptxFORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
NavaldiMalau
 
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKANSAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
NURULNAHARIAHBINTIAH
 
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdfRANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
junarpudin36
 
SOAL ASAS SENI MUSIK kelas 2 semester 2 kurikulum merdeka
SOAL ASAS SENI MUSIK kelas 2 semester 2 kurikulum merdekaSOAL ASAS SENI MUSIK kelas 2 semester 2 kurikulum merdeka
SOAL ASAS SENI MUSIK kelas 2 semester 2 kurikulum merdeka
NiaTazmia2
 
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIANSINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
NanieIbrahim
 
Modul Ajar Informatika Kelas 7 Fase D Kurikulum Merdeka
Modul Ajar Informatika Kelas 7 Fase D Kurikulum MerdekaModul Ajar Informatika Kelas 7 Fase D Kurikulum Merdeka
Modul Ajar Informatika Kelas 7 Fase D Kurikulum Merdeka
Fathan Emran
 
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdfKelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
JALANJALANKENYANG
 
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptx
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptxMateri 2_Benahi Perencanaan dan Benahi Implementasi.pptx
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptx
ahyani72
 
Juknis Materi KSM Kabkota - Pendaftaran[1].pdf
Juknis Materi KSM Kabkota - Pendaftaran[1].pdfJuknis Materi KSM Kabkota - Pendaftaran[1].pdf
Juknis Materi KSM Kabkota - Pendaftaran[1].pdf
HendraSagita2
 

Recently uploaded (20)

GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptxGERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
GERAKAN KERJASAMA DAN BEBERAPA INSTRUMEN NASIONAL PENCEGAHAN KORUPSI.pptx
 
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
 
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptxPembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
Pembentukan-Pantarlih-Pilkada-Kabupaten-Tapin.pptx
 
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum MerdekaModul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
 
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28 Juni 2024
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28  Juni 2024Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28  Juni 2024
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28 Juni 2024
 
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptxRPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
 
RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptxRENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
RENCANA TINDAK LANJUT (RTL) PASCA PELATIHAN.pptx
 
Kisi-kisi PAT IPS Kelas 8 semester 2.pdf
Kisi-kisi PAT IPS Kelas 8 semester 2.pdfKisi-kisi PAT IPS Kelas 8 semester 2.pdf
Kisi-kisi PAT IPS Kelas 8 semester 2.pdf
 
PPT PENGELOLAAN KINERJA PADA PMM SEKOLAH.pptx
PPT PENGELOLAAN KINERJA PADA PMM SEKOLAH.pptxPPT PENGELOLAAN KINERJA PADA PMM SEKOLAH.pptx
PPT PENGELOLAAN KINERJA PADA PMM SEKOLAH.pptx
 
Materi Feedback (umpan balik) kelas Psikologi Komunikasi
Materi Feedback (umpan balik) kelas Psikologi KomunikasiMateri Feedback (umpan balik) kelas Psikologi Komunikasi
Materi Feedback (umpan balik) kelas Psikologi Komunikasi
 
Pemutakhiran Data dosen pada sister.pptx
Pemutakhiran Data dosen pada sister.pptxPemutakhiran Data dosen pada sister.pptx
Pemutakhiran Data dosen pada sister.pptx
 
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptxFORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
FORMAT PPT RANGKAIAN PROGRAM KERJA KM 7.pptx
 
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKANSAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
 
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdfRANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
RANCANGAN TINDAKAN UNTUK AKSI NYATA MODUL 1.4 BUDAYA POSITIF.pdf
 
SOAL ASAS SENI MUSIK kelas 2 semester 2 kurikulum merdeka
SOAL ASAS SENI MUSIK kelas 2 semester 2 kurikulum merdekaSOAL ASAS SENI MUSIK kelas 2 semester 2 kurikulum merdeka
SOAL ASAS SENI MUSIK kelas 2 semester 2 kurikulum merdeka
 
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIANSINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
SINOPSIS, TEMA DAN PERSOALAN NOVEL MENITI IMPIAN
 
Modul Ajar Informatika Kelas 7 Fase D Kurikulum Merdeka
Modul Ajar Informatika Kelas 7 Fase D Kurikulum MerdekaModul Ajar Informatika Kelas 7 Fase D Kurikulum Merdeka
Modul Ajar Informatika Kelas 7 Fase D Kurikulum Merdeka
 
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdfKelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
Kelompok 2 Tugas Modul 2.1 Ruang Kolaborasi.pdf
 
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptx
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptxMateri 2_Benahi Perencanaan dan Benahi Implementasi.pptx
Materi 2_Benahi Perencanaan dan Benahi Implementasi.pptx
 
Juknis Materi KSM Kabkota - Pendaftaran[1].pdf
Juknis Materi KSM Kabkota - Pendaftaran[1].pdfJuknis Materi KSM Kabkota - Pendaftaran[1].pdf
Juknis Materi KSM Kabkota - Pendaftaran[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