SlideShare a Scribd company logo
1 of 15
Download to read offline
Mobile Application 2
Pertemuan 5:
OOP: Nested Class and
Packages
Akhmad Khanif Zyen, M.Kom
Enum
● Merepresentasikan koleksi dari constant
● Ditulis dengan huruf kapital
Generics
● Membuat class di Kotlin agar memiliki type
● Diinisasi ketika deklarasi class, dengan format
class namaClass<T>(param: T){}
● T untuk type, ditentukan ketika pemanggilan,
atau ditentukan typenya langsung ketika inisiasi
● Bisa juga diimplementasikan di method
Extensions
● Menambahkan fungsionalitas pada
class / default class tanpa melakukan
inheritance
● Contoh, pada ArrayList akan kita
tambahkan fungsi swap untuk menukar
isi dari index1 ke index2, dimana index1
dan index2 adalah lokasi terserah pada
index array (tidak harus index ke 1 dan
ke 2)
Inner Class
● Membuat class di dalam class
● Secara default inner class tidak
bisa mengakses outer class
Inner Class
● Perlu menambahkan keyword “Inner”
agar bisa mengakses field/method milik
outer class
● “Inner class” memiliki akses penuh
kepada semua field/method class yang
diluarnya, sekalipun berlabel “private”
● Outer class tidak memiliki akses kepada
semua field/method class yang
didalamnya
● Inisiasi object dari inner class,
diperlukan juga constructornya
Akses Antar Class
Outer tidak boleh
mengakses variable dan
method innerclassnya
Innerclass boleh
mengakses variable dan
method outerclassnya
Nested Lebih dari Satu Class
Outer class
Inner class /
nested class
Inner class /
nested class Cara membuat object
dari inner class
Nested class dapat extends/implements
Nested class diijinkan meng-extends
class lain maupun mengimplement
interface
Nested class dapat
mengimplement interface
Membuat object nested
dengan nama interface
yang diimplementnya
Packages
● Cara yang digunakan untuk mengorganisir java/kotlin software
● Nama package yang disarankan: domain terbalik
● Contoh: unisnu.ac.id
● Package:
○ id.ac.unisnu.db (untuk library database)
○ id.ac.unisnu.gui (untuk library GUI)
○ id.ac.unisnu.io (untuk library I/O)
○ id.ac.unisnu.io.socket (untuk library I/O spesifik socket)
Membuat package
● Dengan cara klik kanan src > New > Package
● masukkan nama package misal id.ac.unisnu.mylib
Struktur Package
Setiap domain (titik) akan membentuk sub-subfolder baru, sehingga
strukturnya seperti berikut
Import Package
● Untuk sebuah file kotlin/java lain yang ingin menggunakan file kotlin pada
package yang berbeda lokasi, gunakan keyword import
● Import sebuah package, hanya akan mengimpor semua .kt/.java saja. Jika
folder ada folder di dalamnya, tidak ikut terimport
● Statement package letaknya paling ATAS dan hanya bisa dideklarasikan
sekali dalam source code
“Import” mengimpor hanya isi 1 folder
● Buat sebuah file Scanner.kt dan nanti
akan dimasukkan ke package
id.ac.unisnu. Default letaknya adalah di
id.ac.unisnu.mylib
● Untuk memindahkan package, dengan
cara klik kanan pada file, kemudian pilih
Refactor > Move, dan hapus lokasi
terakhir mylib, sehingga sekarang
strukturnya berubah menjadi berikut
Scanner.kt
disimpan pada
id.ac.unisnu
Karena membutuhkan
Printer, maka import
id.ac.unisnu.mylib.*
Import Package
Tambahkan import id.ac.unisnu.* untuk menambah file Scanner
Karena membutuhkan Printer dan
Scanner maka import sesuai letak file
class masing-masing

More Related Content

What's hot

3. struktur program java
3. struktur program java3. struktur program java
3. struktur program javaSaprudin Eskom
 
Network programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java LanjutanNetwork programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java LanjutanLia Rusdyana Dewi
 
Kelas dan objek
Kelas  dan objekKelas  dan objek
Kelas dan objekroy naldo
 
12. tambahan polymorphisme
12. tambahan polymorphisme12. tambahan polymorphisme
12. tambahan polymorphismeSaprudin Eskom
 
8. konsep class, object dan method
8. konsep class, object dan method8. konsep class, object dan method
8. konsep class, object dan methodSaprudin Eskom
 
10. konsep enkapsulasi
10. konsep enkapsulasi10. konsep enkapsulasi
10. konsep enkapsulasiSaprudin Eskom
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2rahmi wahyuni
 
Class dan object
Class dan objectClass dan object
Class dan objectHardini_HD
 
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan hermawanawang
 
14. java class library
14. java class library14. java class library
14. java class librarySaprudin Eskom
 
Object oriented programming menggunakan java
Object oriented programming menggunakan javaObject oriented programming menggunakan java
Object oriented programming menggunakan javaAntara BoyKean
 

What's hot (16)

3. struktur program java
3. struktur program java3. struktur program java
3. struktur program java
 
Network programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java LanjutanNetwork programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java Lanjutan
 
Kelas dan objek
Kelas  dan objekKelas  dan objek
Kelas dan objek
 
Modul praktikum PBO
Modul praktikum PBOModul praktikum PBO
Modul praktikum PBO
 
04 inheritance
04 inheritance04 inheritance
04 inheritance
 
12. tambahan polymorphisme
12. tambahan polymorphisme12. tambahan polymorphisme
12. tambahan polymorphisme
 
8. konsep class, object dan method
8. konsep class, object dan method8. konsep class, object dan method
8. konsep class, object dan method
 
Java Class
Java ClassJava Class
Java Class
 
10. konsep enkapsulasi
10. konsep enkapsulasi10. konsep enkapsulasi
10. konsep enkapsulasi
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2
 
Class dan object
Class dan objectClass dan object
Class dan object
 
Konsep dasar oop
Konsep dasar oopKonsep dasar oop
Konsep dasar oop
 
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
 
14. java class library
14. java class library14. java class library
14. java class library
 
Modul belajar java I/O (Input/Ouptut)
Modul belajar java I/O (Input/Ouptut)Modul belajar java I/O (Input/Ouptut)
Modul belajar java I/O (Input/Ouptut)
 
Object oriented programming menggunakan java
Object oriented programming menggunakan javaObject oriented programming menggunakan java
Object oriented programming menggunakan java
 

Similar to Mobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and Packages

Similar to Mobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and Packages (20)

13216 3 enkapsulasi
13216 3 enkapsulasi13216 3 enkapsulasi
13216 3 enkapsulasi
 
28431 3 enkapsulasi
28431 3 enkapsulasi28431 3 enkapsulasi
28431 3 enkapsulasi
 
100312080513paket copy
100312080513paket   copy100312080513paket   copy
100312080513paket copy
 
7_Packages.pdf
7_Packages.pdf7_Packages.pdf
7_Packages.pdf
 
7_Packages.pdf
7_Packages.pdf7_Packages.pdf
7_Packages.pdf
 
Pengenalan Java
Pengenalan JavaPengenalan Java
Pengenalan Java
 
Jeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class SendiriJeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class Sendiri
 
Jeni intro1-bab10-membuat class sendiri
Jeni intro1-bab10-membuat class sendiriJeni intro1-bab10-membuat class sendiri
Jeni intro1-bab10-membuat class sendiri
 
Jeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class SendiriJeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class Sendiri
 
JENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdf
 
Materi delphi
Materi delphiMateri delphi
Materi delphi
 
Struktur data
Struktur dataStruktur data
Struktur data
 
31322 2 class & object
31322 2 class & object31322 2 class & object
31322 2 class & object
 
inheritance
inheritanceinheritance
inheritance
 
Delphi
DelphiDelphi
Delphi
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
 
Pemrograman 2 Part 3.pdf
Pemrograman 2 Part 3.pdfPemrograman 2 Part 3.pdf
Pemrograman 2 Part 3.pdf
 
Konstruktor dan inisialisasi objek
Konstruktor dan inisialisasi objekKonstruktor dan inisialisasi objek
Konstruktor dan inisialisasi objek
 
OOP - Nested class
OOP - Nested classOOP - Nested class
OOP - Nested class
 

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 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
 
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 KotlinAkhmad 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 (13)

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 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...
 
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

AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxWirionSembiring2
 
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
 
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
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...Kanaidi ken
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfDimanWr1
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxnerow98
 
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
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASKurniawan Dirham
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDmawan5982
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxmawan5982
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
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
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfkustiyantidew94
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5ssuserd52993
 
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Abdiera
 
Lembar Catatan Percakapan Pasca observasidocx
Lembar Catatan Percakapan Pasca observasidocxLembar Catatan Percakapan Pasca observasidocx
Lembar Catatan Percakapan Pasca observasidocxbkandrisaputra
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxRezaWahyuni6
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
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
 
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
 

Recently uploaded (20)

AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
 
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
 
Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.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
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SD
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
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
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
 
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
 
Lembar Catatan Percakapan Pasca observasidocx
Lembar Catatan Percakapan Pasca observasidocxLembar Catatan Percakapan Pasca observasidocx
Lembar Catatan Percakapan Pasca observasidocx
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptx
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
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
 
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
 

Mobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and Packages

  • 1. Mobile Application 2 Pertemuan 5: OOP: Nested Class and Packages Akhmad Khanif Zyen, M.Kom
  • 2. Enum ● Merepresentasikan koleksi dari constant ● Ditulis dengan huruf kapital
  • 3. Generics ● Membuat class di Kotlin agar memiliki type ● Diinisasi ketika deklarasi class, dengan format class namaClass<T>(param: T){} ● T untuk type, ditentukan ketika pemanggilan, atau ditentukan typenya langsung ketika inisiasi ● Bisa juga diimplementasikan di method
  • 4. Extensions ● Menambahkan fungsionalitas pada class / default class tanpa melakukan inheritance ● Contoh, pada ArrayList akan kita tambahkan fungsi swap untuk menukar isi dari index1 ke index2, dimana index1 dan index2 adalah lokasi terserah pada index array (tidak harus index ke 1 dan ke 2)
  • 5. Inner Class ● Membuat class di dalam class ● Secara default inner class tidak bisa mengakses outer class
  • 6. Inner Class ● Perlu menambahkan keyword “Inner” agar bisa mengakses field/method milik outer class ● “Inner class” memiliki akses penuh kepada semua field/method class yang diluarnya, sekalipun berlabel “private” ● Outer class tidak memiliki akses kepada semua field/method class yang didalamnya ● Inisiasi object dari inner class, diperlukan juga constructornya
  • 7. Akses Antar Class Outer tidak boleh mengakses variable dan method innerclassnya Innerclass boleh mengakses variable dan method outerclassnya
  • 8. Nested Lebih dari Satu Class Outer class Inner class / nested class Inner class / nested class Cara membuat object dari inner class
  • 9. Nested class dapat extends/implements Nested class diijinkan meng-extends class lain maupun mengimplement interface Nested class dapat mengimplement interface Membuat object nested dengan nama interface yang diimplementnya
  • 10. Packages ● Cara yang digunakan untuk mengorganisir java/kotlin software ● Nama package yang disarankan: domain terbalik ● Contoh: unisnu.ac.id ● Package: ○ id.ac.unisnu.db (untuk library database) ○ id.ac.unisnu.gui (untuk library GUI) ○ id.ac.unisnu.io (untuk library I/O) ○ id.ac.unisnu.io.socket (untuk library I/O spesifik socket)
  • 11. Membuat package ● Dengan cara klik kanan src > New > Package ● masukkan nama package misal id.ac.unisnu.mylib
  • 12. Struktur Package Setiap domain (titik) akan membentuk sub-subfolder baru, sehingga strukturnya seperti berikut
  • 13. Import Package ● Untuk sebuah file kotlin/java lain yang ingin menggunakan file kotlin pada package yang berbeda lokasi, gunakan keyword import ● Import sebuah package, hanya akan mengimpor semua .kt/.java saja. Jika folder ada folder di dalamnya, tidak ikut terimport ● Statement package letaknya paling ATAS dan hanya bisa dideklarasikan sekali dalam source code
  • 14. “Import” mengimpor hanya isi 1 folder ● Buat sebuah file Scanner.kt dan nanti akan dimasukkan ke package id.ac.unisnu. Default letaknya adalah di id.ac.unisnu.mylib ● Untuk memindahkan package, dengan cara klik kanan pada file, kemudian pilih Refactor > Move, dan hapus lokasi terakhir mylib, sehingga sekarang strukturnya berubah menjadi berikut Scanner.kt disimpan pada id.ac.unisnu Karena membutuhkan Printer, maka import id.ac.unisnu.mylib.*
  • 15. Import Package Tambahkan import id.ac.unisnu.* untuk menambah file Scanner Karena membutuhkan Printer dan Scanner maka import sesuai letak file class masing-masing