SlideShare a Scribd company logo
Mobile Application 2
Pertemuan 2 :
Loop Control, Collections &
String, Functions
Akhmad Khanif Zyen, M.Kom
Simple Loop
● Misal jika kita ingin mencetak kata Hello sebanyak 5x
● 5 baris tidak masalah, jika menulis 1000 hello, apakah perlu melakukan hal
yang sama?
Simple Loop
● Untuk hal yang sama yaitu mencetak Hello sebanyak 5 kali, bisa
dilakukan dengan menggunakan loop
● Efiensi perulangan dengan metode loop
Quiz: Simple Loop
● Lakukan looping sebanyak 5 kali, tapi cetak hanya angka 2 dan 3 saja
Nested Loop
● Misal ada sebuah soal, lakukan
pencetakan seperti berikut:
*
**
***
****
*****
Lakukan analisa:
● Terdapat 5 baris ->loop 1..5
● Tiap baris, bintang bertambah
satu, sehingga baris ke-5 terdapat
5 bintang -> loop 1..n dengan
bintang bertambah 1
menyambung disamping
Nested Loop
Percobaan 1:
Percobaan 2:
Percobaan 3:
Sudah mulai terbentuk, tetapi tiap
baris masih mencetak jumlah
bintang yang sama yaitu 5
bintang. Solusinya?
Nested Loop
Baris pertama harus mencetak 1 bintang, sedangkan pada nested loop (child
loop), tetap dihitung 1..5. Solusinya berarti harus dihitung 1..1 untuk looping
child pertama, looping kedua 1..2, looping ketiga 1..3 dst, artinya untuk bilangan
akhir harus dinamis, sesuai jumlah looping induknya. Bagaimana caranya?
Nested Loop
Lakukan debug untuk melihat langkah-demi langkah prosesnya
Quiz: Nested Loop
Dengan nested loop, bagaimana untuk mencetak output berikut:
*
**
***
****
*****
While Loop
● Penggunaan while, dengan memecah-mecah menjadi beberapa bagian:
Inisiasi awal, kondisi/syarat true, dan increment
Do While Loop
● Penggunaan do while memungkinkan sebuah statement/block of code,
dijalankan minimal satu kali, sebelum pengecekan kondisi/syarat true.
Continue and Break
● Continue akan lanjut ke iterasi
berikutnya, dan mengabaikan
baris kode dibawahnya
● Break akan keluar dari iterasi
String
● Aslinya string disimpan dalam bentuk array
● Concatenation (gabung) antar string
menggunakan tanda +
● Lower Case dengan fungsi toLowerCase()
● Upper Case dengan fungsi toUpperCase()
● Split untuk memecah string menjadi beberapa
array dengan pemisah yang ditentukan
● Trim untuk menghapus spasi sebelum dan
sesudah string
One Dimension Array
Misal kita ingin membuat variable
dengan isi 1, 3,5,7,9 maka jika kita
menggunakan variable biasa:
var_1 = 1
var_2 = 3
var_3 = 5
var_4 = 7
var_5 = 9
Daripada membuat variable satu-satu,
maka sebaiknya kita buat array
Number =
Maka jika ingin mengakses isi 9, cukup
memanggil index, yg dimulai dari 0
Maka untuk mengaksesnya: number[4]
1 3 5 7 9
value 1 3 5 7 9
index 0 1 2 3 4
One Dimension Array
● Array dengan ukuran yang pasti (fixed size)
● Misal array size = 10
● Data 1,3,5,7,9 =
● 10 tempat di memory dipesan
● 5 dipakai, 5 tidak pernah dipakai
● Program lain tidak akan bisa memakai karena kita sudah menentukan
ukuran array
1 3 5 7 9
One Dimension Array: operation
1. Search: pencarian mulai dari elemen 1, lanjut element 2 dst hingga jika
tidak beruntung baru ditemukan di elemen terakhir = step(n)
2. Access: seberapa cepat kita mengakses sebuah elemen array, misal
elemen di urut 5, maka number[4]. = step(1)
3. Insert: dimasukkan angka 8, beruntung jika dimasukkan di akhir, tapi jika
dimasukkan di tengah2, misal setelah 15, maka 12 geser kanan, 3 geser
kanan, 7 geser kanan. = step(n)
4. Delete: dihapus angka 15, maka 12 geser kiri, 3 geser kiri, 7 geser kiri.
=step(n)
5 1 11 10 2 15 12 3 7
One Dimension Array:
implementation
Inisiasi array:
var arrayInt = Array<Int>(5){0}
.
Tipe Data
Size
value
ArrayList
● Array dengan ukuran yang tidak ditentukan (dynamic size)
1. Insert data: add(element) = step(1)
2. Update data: set(index,element) = step(1)
3. Access data: get(index) = step(1)
4. Search data: contains(string) = step(1)
ArrayList
Lanjutkan dari kode sebelumnya.
Lihat dan bandingkan perbedaannya
HashMap
● ArrayList berdasarkan pasangan
key-value, dengan key bertipe Int
● Penamaan key bebas, boleh string
boleh integer
● Di beberapa bahasa
pemrograman lain disebut array
asosiatif
Collections
● Pemberian data ke objek secara sekaligus / kolektif
● Jenis collections : hashMapOf, arrayOf, listOf, mutableListOf dan lain lain
● listOf termasuk
immutable (tidak
bisa diupdate
datanya)
● mutableListOf bisa
update datanya
setOf and mutableSetOf
● setOf tidak bisa menambahkan
data lagi sedangkan
mutableSetOf bisa menambah
data.
Simple Function
Function Overload
Beberapa fungsi dengan nama yang sama,
tetapi jumlah parameter berbeda-beda
dengan tipe data sama, dan return bertipe
sama
Function Polymorphism
Beberapa fungsi dengan nama yang
sama, tetapi jumlah parameter boleh
berbeda dengan tipe data berbeda
pula, dan return bertipe sama
Global and Local Variable
● Global variable : variable bisa
diakses dari function manapun
● Local Variable : variable hanya
bisa diakses dimana dia
didefinisikan di fungsinya.

More Related Content

Similar to Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Functions

TIP MS EXCEL ANNA YULIANA
TIP MS EXCEL ANNA YULIANATIP MS EXCEL ANNA YULIANA
TIP MS EXCEL ANNA YULIANA
annawulandari
 
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan PemrogramanPertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Prasetyo Adi
 
SLIDE ARRAY pemrograman dasar PART 1.pptx
SLIDE ARRAY pemrograman dasar PART 1.pptxSLIDE ARRAY pemrograman dasar PART 1.pptx
SLIDE ARRAY pemrograman dasar PART 1.pptx
Orangeranger1
 
4 pengolahan data array
4 pengolahan data array4 pengolahan data array
4 pengolahan data array
Simon Patabang
 
Pertemuan 4
Pertemuan 4Pertemuan 4
Pertemuan 4
Syaiful Ahdan
 
Array
ArrayArray
4_Array.pdf
4_Array.pdf4_Array.pdf
4_Array.pdf
Jurnal IT
 
4_Array.pdf
4_Array.pdf4_Array.pdf
4_Array.pdf
Jurnal IT
 
Laporan praktikum modul v
Laporan praktikum modul vLaporan praktikum modul v
Laporan praktikum modul v
Devi Apriansyah
 
Program
ProgramProgram
Program
Dzikri Fauzi
 
Part 21 Array Dinamis
Part 21 Array DinamisPart 21 Array Dinamis
Part 21 Array Dinamis
Syaiful Ahdan
 
Array statis if
Array statis ifArray statis if
Array statis if
ahmadmaurits
 
Array 1
Array 1Array 1
Array 1
Akmal Fajar
 
Array satu dimensi vita kumalajati_0320110017
Array satu dimensi vita kumalajati_0320110017Array satu dimensi vita kumalajati_0320110017
Array satu dimensi vita kumalajati_0320110017
Vita Kumala Jati
 
9. algoritma perulangan pada java
9. algoritma perulangan pada java9. algoritma perulangan pada java
9. algoritma perulangan pada java
Saprudin Eskom
 
Cara perhitungan akar kuadarat dan akar pangkat 3
Cara perhitungan akar kuadarat dan akar pangkat 3 Cara perhitungan akar kuadarat dan akar pangkat 3
Cara perhitungan akar kuadarat dan akar pangkat 3
Paul Aurel
 
Tugas selamat riady algoritma
Tugas selamat riady algoritmaTugas selamat riady algoritma
Tugas selamat riady algoritma
Selamatriady
 

Similar to Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Functions (20)

TIP MS EXCEL ANNA YULIANA
TIP MS EXCEL ANNA YULIANATIP MS EXCEL ANNA YULIANA
TIP MS EXCEL ANNA YULIANA
 
Pert1 kls xi
Pert1 kls xiPert1 kls xi
Pert1 kls xi
 
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan PemrogramanPertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
 
SLIDE ARRAY pemrograman dasar PART 1.pptx
SLIDE ARRAY pemrograman dasar PART 1.pptxSLIDE ARRAY pemrograman dasar PART 1.pptx
SLIDE ARRAY pemrograman dasar PART 1.pptx
 
4 pengolahan data array
4 pengolahan data array4 pengolahan data array
4 pengolahan data array
 
Pertemuan 4
Pertemuan 4Pertemuan 4
Pertemuan 4
 
Array
ArrayArray
Array
 
4_Array.pdf
4_Array.pdf4_Array.pdf
4_Array.pdf
 
4_Array.pdf
4_Array.pdf4_Array.pdf
4_Array.pdf
 
pengantar array PHP
pengantar array PHPpengantar array PHP
pengantar array PHP
 
Laporan praktikum modul v
Laporan praktikum modul vLaporan praktikum modul v
Laporan praktikum modul v
 
Program
ProgramProgram
Program
 
Arrays c++
Arrays c++Arrays c++
Arrays c++
 
Part 21 Array Dinamis
Part 21 Array DinamisPart 21 Array Dinamis
Part 21 Array Dinamis
 
Array statis if
Array statis ifArray statis if
Array statis if
 
Array 1
Array 1Array 1
Array 1
 
Array satu dimensi vita kumalajati_0320110017
Array satu dimensi vita kumalajati_0320110017Array satu dimensi vita kumalajati_0320110017
Array satu dimensi vita kumalajati_0320110017
 
9. algoritma perulangan pada java
9. algoritma perulangan pada java9. algoritma perulangan pada java
9. algoritma perulangan pada java
 
Cara perhitungan akar kuadarat dan akar pangkat 3
Cara perhitungan akar kuadarat dan akar pangkat 3 Cara perhitungan akar kuadarat dan akar pangkat 3
Cara perhitungan akar kuadarat dan akar pangkat 3
 
Tugas selamat riady algoritma
Tugas selamat riady algoritmaTugas selamat riady algoritma
Tugas selamat riady algoritma
 

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 1 Pengantar Kotlin
Mobile Application 2 Pertemuan 1 Pengantar KotlinMobile Application 2 Pertemuan 1 Pengantar Kotlin
Mobile Application 2 Pertemuan 1 Pengantar Kotlin
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 1 Pengantar Kotlin
Mobile Application 2 Pertemuan 1 Pengantar KotlinMobile Application 2 Pertemuan 1 Pengantar Kotlin
Mobile Application 2 Pertemuan 1 Pengantar Kotlin
 
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

JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDFJUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
budimoko2
 
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
 
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
 
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
 
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum MerdekaModul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Fathan Emran
 
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
 
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
 
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
 
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
ahyani72
 
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
Fathan Emran
 
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
 
KKTP Kurikulum Merdeka sebagai Panduan dalam kurikulum merdeka
KKTP Kurikulum Merdeka sebagai Panduan dalam kurikulum merdekaKKTP Kurikulum Merdeka sebagai Panduan dalam kurikulum merdeka
KKTP Kurikulum Merdeka sebagai Panduan dalam kurikulum merdeka
irvansupriadi44
 
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
Fathan Emran
 
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
 
Aksi Nyata Erliana Mudah bukan memahamii
Aksi Nyata Erliana Mudah bukan memahamiiAksi Nyata Erliana Mudah bukan memahamii
Aksi Nyata Erliana Mudah bukan memahamii
esmaducoklat
 
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
 
MODUL AJAR MAT LANJUT KELAS XI FASE F.pdf
MODUL AJAR MAT LANJUT KELAS XI FASE F.pdfMODUL AJAR MAT LANJUT KELAS XI FASE F.pdf
MODUL AJAR MAT LANJUT KELAS XI FASE F.pdf
sitispd78
 
materi penyuluhan kesehatan reproduksi remaja
materi penyuluhan kesehatan reproduksi remajamateri penyuluhan kesehatan reproduksi remaja
materi penyuluhan kesehatan reproduksi remaja
DewiInekePuteri
 
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada AnakDefenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Yayasan Pusat Kajian dan Perlindungan Anak
 
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
 

Recently uploaded (20)

JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDFJUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
JUKNIS SOSIALIASI PPDB JATENG 2024/2025.PDF
 
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
 
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
 
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
 
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum MerdekaModul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
 
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
 
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
 
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
 
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
Materi 1_Bagaimana Kita Memaknai Sekolah yang Berkualitas_ (ss versi kab_kot)...
 
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Bahasa Indonesia Kelas 7 Fase D Kurikulum Merdeka - [abdiera.com]
 
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
 
KKTP Kurikulum Merdeka sebagai Panduan dalam kurikulum merdeka
KKTP Kurikulum Merdeka sebagai Panduan dalam kurikulum merdekaKKTP Kurikulum Merdeka sebagai Panduan dalam kurikulum merdeka
KKTP Kurikulum Merdeka sebagai Panduan dalam kurikulum merdeka
 
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
Modul Ajar Matematika Kelas 8 Fase D Kurikulum Merdeka - [abdiera.com]
 
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
 
Aksi Nyata Erliana Mudah bukan memahamii
Aksi Nyata Erliana Mudah bukan memahamiiAksi Nyata Erliana Mudah bukan memahamii
Aksi Nyata Erliana Mudah bukan memahamii
 
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
 
MODUL AJAR MAT LANJUT KELAS XI FASE F.pdf
MODUL AJAR MAT LANJUT KELAS XI FASE F.pdfMODUL AJAR MAT LANJUT KELAS XI FASE F.pdf
MODUL AJAR MAT LANJUT KELAS XI FASE F.pdf
 
materi penyuluhan kesehatan reproduksi remaja
materi penyuluhan kesehatan reproduksi remajamateri penyuluhan kesehatan reproduksi remaja
materi penyuluhan kesehatan reproduksi remaja
 
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada AnakDefenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
Defenisi Anak serta Usia Anak dan Kekerasan yang mungki terjadi pada Anak
 
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
 

Mobile Application 2 Pertemuan 2 Dasar Kotlin Loop Control, Collection dan Functions

  • 1. Mobile Application 2 Pertemuan 2 : Loop Control, Collections & String, Functions Akhmad Khanif Zyen, M.Kom
  • 2. Simple Loop ● Misal jika kita ingin mencetak kata Hello sebanyak 5x ● 5 baris tidak masalah, jika menulis 1000 hello, apakah perlu melakukan hal yang sama?
  • 3. Simple Loop ● Untuk hal yang sama yaitu mencetak Hello sebanyak 5 kali, bisa dilakukan dengan menggunakan loop ● Efiensi perulangan dengan metode loop
  • 4. Quiz: Simple Loop ● Lakukan looping sebanyak 5 kali, tapi cetak hanya angka 2 dan 3 saja
  • 5. Nested Loop ● Misal ada sebuah soal, lakukan pencetakan seperti berikut: * ** *** **** ***** Lakukan analisa: ● Terdapat 5 baris ->loop 1..5 ● Tiap baris, bintang bertambah satu, sehingga baris ke-5 terdapat 5 bintang -> loop 1..n dengan bintang bertambah 1 menyambung disamping
  • 6. Nested Loop Percobaan 1: Percobaan 2: Percobaan 3: Sudah mulai terbentuk, tetapi tiap baris masih mencetak jumlah bintang yang sama yaitu 5 bintang. Solusinya?
  • 7. Nested Loop Baris pertama harus mencetak 1 bintang, sedangkan pada nested loop (child loop), tetap dihitung 1..5. Solusinya berarti harus dihitung 1..1 untuk looping child pertama, looping kedua 1..2, looping ketiga 1..3 dst, artinya untuk bilangan akhir harus dinamis, sesuai jumlah looping induknya. Bagaimana caranya?
  • 8. Nested Loop Lakukan debug untuk melihat langkah-demi langkah prosesnya
  • 9. Quiz: Nested Loop Dengan nested loop, bagaimana untuk mencetak output berikut: * ** *** **** *****
  • 10. While Loop ● Penggunaan while, dengan memecah-mecah menjadi beberapa bagian: Inisiasi awal, kondisi/syarat true, dan increment
  • 11. Do While Loop ● Penggunaan do while memungkinkan sebuah statement/block of code, dijalankan minimal satu kali, sebelum pengecekan kondisi/syarat true.
  • 12. Continue and Break ● Continue akan lanjut ke iterasi berikutnya, dan mengabaikan baris kode dibawahnya ● Break akan keluar dari iterasi
  • 13. String ● Aslinya string disimpan dalam bentuk array ● Concatenation (gabung) antar string menggunakan tanda + ● Lower Case dengan fungsi toLowerCase() ● Upper Case dengan fungsi toUpperCase() ● Split untuk memecah string menjadi beberapa array dengan pemisah yang ditentukan ● Trim untuk menghapus spasi sebelum dan sesudah string
  • 14. One Dimension Array Misal kita ingin membuat variable dengan isi 1, 3,5,7,9 maka jika kita menggunakan variable biasa: var_1 = 1 var_2 = 3 var_3 = 5 var_4 = 7 var_5 = 9 Daripada membuat variable satu-satu, maka sebaiknya kita buat array Number = Maka jika ingin mengakses isi 9, cukup memanggil index, yg dimulai dari 0 Maka untuk mengaksesnya: number[4] 1 3 5 7 9 value 1 3 5 7 9 index 0 1 2 3 4
  • 15. One Dimension Array ● Array dengan ukuran yang pasti (fixed size) ● Misal array size = 10 ● Data 1,3,5,7,9 = ● 10 tempat di memory dipesan ● 5 dipakai, 5 tidak pernah dipakai ● Program lain tidak akan bisa memakai karena kita sudah menentukan ukuran array 1 3 5 7 9
  • 16. One Dimension Array: operation 1. Search: pencarian mulai dari elemen 1, lanjut element 2 dst hingga jika tidak beruntung baru ditemukan di elemen terakhir = step(n) 2. Access: seberapa cepat kita mengakses sebuah elemen array, misal elemen di urut 5, maka number[4]. = step(1) 3. Insert: dimasukkan angka 8, beruntung jika dimasukkan di akhir, tapi jika dimasukkan di tengah2, misal setelah 15, maka 12 geser kanan, 3 geser kanan, 7 geser kanan. = step(n) 4. Delete: dihapus angka 15, maka 12 geser kiri, 3 geser kiri, 7 geser kiri. =step(n) 5 1 11 10 2 15 12 3 7
  • 17. One Dimension Array: implementation Inisiasi array: var arrayInt = Array<Int>(5){0} . Tipe Data Size value
  • 18. ArrayList ● Array dengan ukuran yang tidak ditentukan (dynamic size) 1. Insert data: add(element) = step(1) 2. Update data: set(index,element) = step(1) 3. Access data: get(index) = step(1) 4. Search data: contains(string) = step(1)
  • 19. ArrayList Lanjutkan dari kode sebelumnya. Lihat dan bandingkan perbedaannya
  • 20. HashMap ● ArrayList berdasarkan pasangan key-value, dengan key bertipe Int ● Penamaan key bebas, boleh string boleh integer ● Di beberapa bahasa pemrograman lain disebut array asosiatif
  • 21. Collections ● Pemberian data ke objek secara sekaligus / kolektif ● Jenis collections : hashMapOf, arrayOf, listOf, mutableListOf dan lain lain ● listOf termasuk immutable (tidak bisa diupdate datanya) ● mutableListOf bisa update datanya
  • 22. setOf and mutableSetOf ● setOf tidak bisa menambahkan data lagi sedangkan mutableSetOf bisa menambah data.
  • 24. Function Overload Beberapa fungsi dengan nama yang sama, tetapi jumlah parameter berbeda-beda dengan tipe data sama, dan return bertipe sama
  • 25. Function Polymorphism Beberapa fungsi dengan nama yang sama, tetapi jumlah parameter boleh berbeda dengan tipe data berbeda pula, dan return bertipe sama
  • 26. Global and Local Variable ● Global variable : variable bisa diakses dari function manapun ● Local Variable : variable hanya bisa diakses dimana dia didefinisikan di fungsinya.