Memulai Pemrograman dengan Kotlin
Teknologi:
Android Multi PlatformLevel: Dasar
Siswa Terdaftar
Teknologi:
Android Multi PlatformLevel: Dasar
Siswa Terdaftar
Kelas ini merupakan langkah ke-satu Anda untuk menjadi Android Developer.
Kotlin merupakan bahasa utama yang digunakan dalam pengembangan Android saat ini. Hal ini karena manfaat yang diberikan seperti ringkas, cepat, dan aman. Selain itu, sifatnya yang interoperability membuat developer bisa beralih dari bahasa Java ke Kotlin dengan cepat. Tak ayal, Google pernah melaporkan hampir 80% dari 1000 aplikasi teratas di Play Store menggunakan Kotlin. Selain pengembangan Android, Kotlin dapat digunakan untuk berbagai macam pengembangan, baik itu server, back-end, maupun website.
Target dan Sasaran Siswa
Kelas ini merupakan langkah ke-satu Anda untuk menjadi Android Developer.
Peralatan Belajar
Spesifikasi minimal perangkat:
Prosesor
Intel Core i3 (Rekomendasi Core i5 ke atas)
Tools yang dibutuhkan untuk belajar:
Intellij Idea Community
Cara instalasi akan dijelaskan pada kelas ini.
Lihat semua peralatan belajar
Lihat semua peralatan belajarKelas ini membutuhkan spesifikasi perangkat seperti berikut:
RAM
2 GB (Rekomendasi 8 GB)
Layar
1024 x 768 (Rekomendasi Full HD 1920 x 1080)
Sistem Operasi
Windows, Linux, MacOS
Prosesor
Intel Core i3 (Rekomendasi Core i5 ke atas)
Kelas ini membutuhkan beberapa tools berikut:
Intellij Idea Community
Cara instalasi akan dijelaskan pada kelas ini.
Metode Ajar
Lihat semua metode ajar
Lihat semua metode ajarKontributor
6Curriculum Developer yang membangun kelas ini:
Deny Prasetyo
Cloud Automation Lead - Gopay Indonesia
Nur Rohman
Chief Product Officer at Dicoding Indonesia
Reviewer
52Code Reviewer yang akan me-review tugas dan kode Anda:
Nur Rohman
Chief Product Officer at Dicoding Indonesia
Bayu teguh pamuji
Android Developer at Hepicar
Rizqi Aryansa
External Code Reviewer at Dicoding Indonesia
Lihat semua kontributor dan reviewer
Lihat semua kontributor dan reviewerKontributor kelas
Curriculum Developer yang membangun kelas ini:
Deny Prasetyo
Cloud Automation Lead - Gopay Indonesia
Nur Rohman
Chief Product Officer at Dicoding Indonesia
Alfian Yusuf Abdullah
Head of Reviewer at Dicoding Indonesia
Ahmad Arif Faizin
Curriculum Developer at Dicoding Indonesia
Indratama Pangasian Manalu
Curriculum Developer at Dicoding Indonesia
Achmad Ilham
Curriculum Developer at Dicoding Indonesia
Tim Reviewer
Code Reviewer yang akan me-review tugas dan kode Anda:
Nur Rohman
Chief Product Officer at Dicoding Indonesia
Bayu teguh pamuji
Android Developer at Hepicar
Rizqi Aryansa
External Code Reviewer at Dicoding Indonesia
Fajar Septian
Software Engineer - Android at Quipper
Danviero Yuzwan Pratama
Android Engineer at Gojek
Vincentius Jordan H Tampubolon
External Code Reviewer At Dicoding Indonesia
Amril Hakim Sihotang
External Code Reviewer at Dicoding Indonesia
Arief Turbagus Nuril
Mobile App Developer at SALT Indonesia
Taufik Hidayat
Android Developer at PT Bank Rakyat Indonesia (Persero) Tbk
Ahmad Emir Al Fatah
External Code Reviewer at Dicoding Indonesia
Ivana Natalia Gabriella Situmorang
External Code Reviewer at Dicoding Indonesia
khairul anas
External Code Reviewer at Dicoding Indonesia
• Dicoding Graduate
• Flutter Developer
• Mobile & Web Enthusiast
Deny Prasetyo
Cloud Automation Lead - Gopay Indonesia
Aditya Rohman
Flutter Developer at Koltiva
Have 2+ years of experience in building mobile applications. Familiar with various mobile development tools and frameworks like Android native with Java or Kotlin, Flutter with Dart, and iOS native with Swift. Besides mobile development-specific areas, I also have a good understanding of general software engineering practices such as writing clean and maintainable code, conducting the Test-Driven Development (TDD) process, writing tests (unit, instrumental, integration), implementing clean architecture approaches, and design patterns.
Thingkilia Finnatia Husin
External Code Reviewer at Dicoding Indonesia
Augie Afriyansyah
External Code Reviewer at Dicoding
- Bangkit Academy 2021 Graduate
Muhammad Reinaldy Hermawan
External Code Reviewer at Dicoding Indonesia
- Mobile Software Enthusiast
- Google Bangkit 2021 Graduate
Ahmad Sufyan Tsauri
Mobile Developer
- External Code Reviewer
- Google certified Associate Android Developer
Muhammad Nazar Alwi
External Code Reviewer at Dicoding Indonesia
Bervianto Leo Pratama
External Code Reviewer at Dicoding Indonesia
Microsoft Certified
AWS Certified
Cisco Certified
Google Certified
Community
Achievements
Ivan Andrianto
Aditiya Ihzar Eka Prayogo
Android Engineer at PT. Hitachi Channel Solutions Indonesia
● Ex-Android Engineer at Kompas Gramedia
● Ex-Android Engineer at Waresix
● Google Bangkit 2021 Graduate
Muammar Ahlan Abimanyu
External Code Reviewer at Dicoding Indonesia
Android Enthusiast
Kotlin Enthusiast
Sesaka Aji Nursah Bantani
External Reviewer Dicoding at Dicoding Indonesia
M Hassan Thalib
External Code Reviewer at Dicoding Indonesia
Kotlin & Android Enthusiast
Baso Rizky Hamdana
External Code Reviewer at Dicoding Indonesia
Samodra
External Code Reviewer at Dicoding Indonesia
Muhammad Amru Salim
External Code Reviewer at Dicoding Indonesia
Dicky Arya Pratama
Android Developer At PT Bank Mandiri Tbk
My LinkedIn
My Personal Web Dicky Arya Pratama
Android Developer At PT Bank Mandiri Tbk. | Bangkit Instructor | Dicoding Elite | Google Certified - Associate Android Developer | Bangkit 2021 Graduate | Ex-GDSC Lead | MBKM Dicoding Alumni | Startup Campus Alumni | Machine Learning Enthusiast
Lalu Naufal Azmi
Software Engineer @ DKatalis
- Google Certified - Associate Android Developer
- Software Engineer Part Time @ DKatalis
Galah Seno Adjie
External Code Reviewer at Dicoding Indonesia
Rivaldo Fernandes
iOS and Android Expert
Mobile Developer Enthusiast
iOS Developer at PT Bank Syariah Indonesia
Mohammad Bijantium Sinatria
External Code Reviewer
You can reach out me on my Linkedin.
Abraham Bulyan Zebua
make something from nothing
I love design and make new things especially for make an app and my desire is to make apps looks nice and friendly for user not just nice for eye but easy to use
Sofyan Egi Lesmana
You can reach out me on my Linkedin.
Louis Aldorio
External Code Reviewer at Dicoding Indonesia
Machine Learning Enthusiast And Software Engineer specialized in GO
Dimas Catur Wibowo
Code Reviewer at Dicoding Indonesia
Deden Muhamad Furqon
Academy Code Reviewer at Dicoding Indonesia
Google Certified - Associate Android Developer
Listra Julias Bethzeta
External Code Reviewer at Dicoding Indonesia
- Digital Marketing Intern at Jababeka Infrastructure
- UI/UX Enthusiast
- VR/AR Enthusiast
Nur Rohman
Chief Product Officer at Dicoding Indonesia
Bayu teguh pamuji
Android Developer at Hepicar
Buchori Rafsanjani
Curriculum Developer at Dicoding Indonesia
Rizqi Aryansa
External Code Reviewer at Dicoding Indonesia
Khrisna Indrawan Eka Putra
Ahmad Arif Faizin
Curriculum Developer at Dicoding Indonesia
Fajar Septian
Software Engineer - Android at Quipper
Danviero Yuzwan Pratama
Android Engineer at Gojek
Vincentius Jordan H Tampubolon
External Code Reviewer At Dicoding Indonesia
Amril Hakim Sihotang
External Code Reviewer at Dicoding Indonesia
Arief Turbagus Nuril
Mobile App Developer at SALT Indonesia
Moh Sihabudin
Android Developer at Metranet
Taufik Hidayat
Android Developer at PT Bank Rakyat Indonesia (Persero) Tbk
Agista Septiyanto
Product Engineer at Dicoding
Ahmad Emir Al Fatah
External Code Reviewer at Dicoding Indonesia
Rizki Maulana
Mobile Engineer at majoo Indonesia
Ivana Natalia Gabriella Situmorang
External Code Reviewer at Dicoding Indonesia
Aditya Tri Nugroho
Android Developer at Bank DBS Indonesia
Ari Sastro Wardoyo Supiatma
Android Developer
khairul anas
External Code Reviewer at Dicoding Indonesia
• Dicoding Graduate
• Flutter Developer
• Mobile & Web Enthusiast
Deny Prasetyo
Cloud Automation Lead - Gopay Indonesia
Aditya Rohman
Flutter Developer at Koltiva
Have 2+ years of experience in building mobile applications. Familiar with various mobile development tools and frameworks like Android native with Java or Kotlin, Flutter with Dart, and iOS native with Swift. Besides mobile development-specific areas, I also have a good understanding of general software engineering practices such as writing clean and maintainable code, conducting the Test-Driven Development (TDD) process, writing tests (unit, instrumental, integration), implementing clean architecture approaches, and design patterns.
Thingkilia Finnatia Husin
External Code Reviewer at Dicoding Indonesia
Augie Afriyansyah
External Code Reviewer at Dicoding
- Bangkit Academy 2021 Graduate
Muhammad Reinaldy Hermawan
External Code Reviewer at Dicoding Indonesia
- Mobile Software Enthusiast
- Google Bangkit 2021 Graduate
Ahmad Sufyan Tsauri
Mobile Developer
- External Code Reviewer
- Google certified Associate Android Developer
Kiki Abdullah
Muhammad Nazar Alwi
External Code Reviewer at Dicoding Indonesia
Bervianto Leo Pratama
External Code Reviewer at Dicoding Indonesia
Microsoft Certified
AWS Certified
Cisco Certified
Google Certified
Community
Achievements
Ivan Andrianto
Aditiya Ihzar Eka Prayogo
Android Engineer at PT. Hitachi Channel Solutions Indonesia
● Ex-Android Engineer at Kompas Gramedia
● Ex-Android Engineer at Waresix
● Google Bangkit 2021 Graduate
Muammar Ahlan Abimanyu
External Code Reviewer at Dicoding Indonesia
Android Enthusiast
Kotlin Enthusiast
Sesaka Aji Nursah Bantani
External Reviewer Dicoding at Dicoding Indonesia
M Hassan Thalib
External Code Reviewer at Dicoding Indonesia
Kotlin & Android Enthusiast
Baso Rizky Hamdana
External Code Reviewer at Dicoding Indonesia
Samodra
External Code Reviewer at Dicoding Indonesia
Muhammad Amru Salim
External Code Reviewer at Dicoding Indonesia
Rama Febriansyah
Mobile Developer Student
Dicky Arya Pratama
Android Developer At PT Bank Mandiri Tbk
My LinkedIn
My Personal Web Dicky Arya Pratama
Android Developer At PT Bank Mandiri Tbk. | Bangkit Instructor | Dicoding Elite | Google Certified - Associate Android Developer | Bangkit 2021 Graduate | Ex-GDSC Lead | MBKM Dicoding Alumni | Startup Campus Alumni | Machine Learning Enthusiast
Lalu Naufal Azmi
Software Engineer @ DKatalis
- Google Certified - Associate Android Developer
- Software Engineer Part Time @ DKatalis
Galah Seno Adjie
External Code Reviewer at Dicoding Indonesia
Rivaldo Fernandes
iOS and Android Expert
Mobile Developer Enthusiast
iOS Developer at PT Bank Syariah Indonesia
Mohammad Bijantium Sinatria
External Code Reviewer
You can reach out me on my Linkedin.
Abdan Zaki Alifian
Android Developer at CIMB Niaga
Muhammad Hadi Selamet Hariyanto
Abraham Bulyan Zebua
make something from nothing
I love design and make new things especially for make an app and my desire is to make apps looks nice and friendly for user not just nice for eye but easy to use
Sofyan Egi Lesmana
You can reach out me on my Linkedin.
Louis Aldorio
External Code Reviewer at Dicoding Indonesia
Machine Learning Enthusiast And Software Engineer specialized in GO
Dimas Catur Wibowo
Code Reviewer at Dicoding Indonesia
Deden Muhamad Furqon
Academy Code Reviewer at Dicoding Indonesia
Google Certified - Associate Android Developer
Listra Julias Bethzeta
External Code Reviewer at Dicoding Indonesia
- Digital Marketing Intern at Jababeka Infrastructure
- UI/UX Enthusiast
- VR/AR Enthusiast
Keris - Kotlin Exam Review Assist
Ribuan siswa sukses belajar di Dicoding Academy. Apa kata mereka? Berikut adalah testimoni asli mereka.
Berikut adalah beberapa pertanyaan yang paling sering ditanyakan.
Materi yang akan Anda pelajari pada kelas ini.
Memahami HAKI, mekanisme belajar, forum diskusi, glosarium, dan daftar referensi.
1 Menit
5 Menit
5 Menit
9 Menit
5 Menit
5 Menit
Memperkenalkan sejarah Kotlin, mengapa harus mempelajari Kotlin, karakteristik Kotlin, dan bagaimana Kotlin berperan dalam pengembangan aplikasi. Akan dibahas juga tentang ekosistem Kotlin.
25 Menit
10 Menit
30 Menit
20 Menit
20 Menit
20 Menit
30 Menit
10 Menit
30 Menit
10 Menit
5 Menit
Membuat program pertama di Kotlin dan menjalankannya. Selain itu, Anda akan belajar bagaimana menyiapkan dan menginstal beberapa tools seperti IDE dan build tools. Materi ini akan fokus pada penggunaan Gradle sebagai build tools dan menggunakan Kotlin DSL sebagai bahasa pada Gradle. Selain itu, pada materi ini akan membahas tentang struktur Gradle, cara menambahkan dependensi, menambahkan plugin, dan cara mengkonfigurasi plugin.
25 Menit
35 Menit
30 Menit
20 Menit
30 Menit
30 Menit
55 Menit
30 Menit
40 Menit
Kuis Persiapan Membangun dan Menjalankan Program Kotlin
5 Menit
Memahami tentang teori dasar Kotlin dengan mempelajari konsep dasar dari Kotlin seperti menggunakan tipe data, membuat fungsi dasar, menangani tipe data null, dan membuat String Template.
Kotlin Fundamental
20 Menit
Data Types & Variable
35 Menit
Char
20 Menit
String
35 Menit
String Template
10 Menit
If Expressions
30 Menit
Boolean
15 Menit
Numbers
20 Menit
Arrays
15 Menit
Nullable Types
20 Menit
Safe Calls dan Elvis Operator
15 Menit
Functions
35 Menit
Anatomi Function
25 Menit
Named dan Default Argument
20 Menit
Vararg (Variable Argument)
30 Menit
Rangkuman dari Kotlin Fundamental
10 Menit
Kuis Kotlin Fundamental
5 Menit
Mempelajari perbedaan antara expression dan statement, cara menggunakan enumeration, cara mengontrol aliran program menggunakan ekspresi if dan when, dan bagaimana menerapkan perulangan menggunakan while, do-while, dan break and continue.
Komponen Control Flow
15 Menit
Expressions dan Statements
30 Menit
When Expressions
40 Menit
While dan Do While
30 Menit
Range
30 Menit
For Loop
30 Menit
Break dan Continue
15 Menit
Rangkuman dari Control Flow
15 Menit
Kuis Control Flow
5 Menit
Memahami mengenai konsep OOP pada Kotlin, bagaimana membuat sebuah class, properti dan fungsi dari class, dan menyimulasikan problematika dunia nyata dalam paradigma object-oriented programming (OOP). Memahami konsep OOP dengan mempelajari inheritance, abstract class, interface, visibility modifier, dan overloading.
Konsep Object-Oriented Programming
5 Menit
Object Everywhere
15 Menit
Class
15 Menit
Membuat Class
15 Menit
Properties
20 Menit
Lateinit & Lazy Property
20 Menit
Property Delegation
40 Menit
Primary Constructor
30 Menit
Secondary Constructor
15 Menit
Visibility Modifiers
30 Menit
Overloading
30 Menit
Inheritances
35 Menit
Abstract Class
25 Menit
Interfaces
30 Menit
Extensions
40 Menit
Nullable Receiver
10 Menit
Import dan Packages
15 Menit
Membuat Package Baru
25 Menit
Exception
15 Menit
Exception Handling
25 Menit
Rangkuman Kotlin Object-Oriented Programming
20 Menit
Kuis Kotlin Object-Oriented Programming
5 Menit
Fokus pada bagaimana mengelola data di Kotlin dengan menggunakan special class dan collection. Anda juga akan belajar mengenai perbedaan antara collection yang ada pada Kotlin dan menggunakannya.
Special Class dan Collection
10 Menit
Data Class
20 Menit
Penggunaan Data Class
30 Menit
Menyalin dan Memodifikasi Data Class
20 Menit
Destructuring Declarations
25 Menit
Nested Classs & Inner Class
20 Menit
Enum Class
40 Menit
Sealed Class
15 Menit
Singleton Object, Companion Object, & Anonymous Class
20 Menit
List
45 Menit
Set
25 Menit
Map
15 Menit
Collections Operations
35 Menit
Fold, Drop, dan Take
30 Menit
Slice, Distinct, dan Chuncked
30 Menit
Sequences
25 Menit
Rangkuman dari Special Class dan Collection
10 Menit
Kuis Special Class dan Collection
5 Menit
Memahami konsep function programing dengan mempelajari extension, lambda, higher-order function, recursion serta melihat contoh penerapannya pada collection operator dan scope function.
Konsep Functional Programming
20 Menit
Function Type
25 Menit
Lambda
35 Menit
Higher-Order Function
20 Menit
Lambda with receiver
25 Menit
Kotlin Standard Library
25 Menit
Scope Function with Lambda Receiver
20 Menit
Scope Function with Lambda Argument
15 Menit
Member References
20 Menit
Function Inside Function
25 Menit
Recursion
25 Menit
Rangkuman dari Kotlin Functional Programming
10 Menit
Kuis Kotlin Functional Programming
5 Menit
Belajar tentang variance dan cara menggunakan generic untuk membuat kelas yang dapat menerima berbagai jenis tipe data.
Konsep Generics pada Kotlin
20 Menit
Mendeklarasikan Kelas Generic
25 Menit
Mendeklarasikan Fungsi Generic
25 Menit
Constraint Type Parameter
25 Menit
Variance
25 Menit
Rangkuman dari Kotlin Generics
25 Menit
Kuis Kotlin Generics
5 Menit
Belajar dasar dari konsep concurrency seperti process dan thread. Anda juga akan diajarkan tentang permasalahan dalam proses yang bersamaan seperti deadlock, livelock, starvation, dan race condition. Dengan memahami permasalahan tersebut, Anda akan belajar menggunakan Coroutine dalam menyelesaikannya.
Concurrency pada Kotlin
15 Menit
Concurrency vs Parallelism
15 Menit
Process, Thread, I/O-Bound
30 Menit
Permasalahan Deadlocks dan Livelocks
20 Menit
Permasalahan Starvation dan Race Conditions
15 Menit
Kotlin Coroutines
15 Menit
Memulai Coroutines
25 Menit
Coroutines Builder
40 Menit
Job
25 Menit
Membuat dan Menjalankan Job Baru
25 Menit
Membatalkan Job
25 Menit
Deferred
25 Menit
Coroutine Dispatcher
15 Menit
Channels
15 Menit
Rangkuman dari Berkenalan dengan Coroutines
20 Menit
Kuis Berkenalan dengan Coroutines
5 Menit
Ujian dan Proyek akhir yang harus diselesaikan untuk lulus dari kelas ini
Rangkuman Kelas
60 Menit
Exam Kelas Kotlin
60 Menit
Proyek Akhir
120 Menit