Memulai Pemrograman Dengan Kotlin

Memulai Pemrograman Dengan Kotlin

Disusun oleh: Dicoding Indonesia Level: Dasar - Pemula Estimasi: 50 jam
Teknologi:Android|Multi Platform
Bagikan kelas ini:

Deskripsi

2021042310413070b2661f8f3aa6683e6317b44a753ecd.jpgKotlin 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.

  • Materi relevan dengan tools dan framework yang banyak dipakai sekarang. 
  • Dengan menggunakan Kotlin pengembangan aplikasi akan jauh lebih cepat. 
  • Pengembangan aplikasi menggunakan Kotlin bisa berjalan bersamaan dengan Java dalam satu project. 
  • Kotlin menjadi bahasa resmi yang direkomendasikan dalam pengembangan Android. 
  • Kotlin juga dapat digunakan untuk pengembangan platform selain seperti server, back-end, dan website.


Target dan Sasaran Siswa

  • Kelas ini ditujukan bagi yang ingin belajar dasar bahasa pemrograman Kotlin dengan mengacu pada standar kompetensi internasional milik Google Developers Authorized Training Partner.  
  • Kelas dapat diikuti oleh siswa yang melek IT sehingga wajib memiliki dan dapat mengoperasikan komputer dengan baik. 
  • Kelas ini didesain untuk pemula sehingga tidak ada prasyarat dalam pemahaman pemrograman sebelumnya. Namun lulus dari kelas Pengenalan ke Dasar Pemrograman (Basic Programming 101) dan Pengenalan ke Logika Pemrograman (Programming Logic 101) akan mempermudah pembelajaran. 
  • Siswa harus bisa belajar mandiri, berkomitmen, benar-benar punya rasa ingin tahu, dan tertarik pada subjek materi, karena sebaik apa pun materi kelas ini, tidak akan berguna tanpa keseriusan siswa untuk belajar, berlatih, dan mencoba. 
  • Di akhir kelas, siswa paham tentang konsep dasar bahasa pemrograman, functional programming, serta object-oriented programming (OOP) dengan menggunakan Kotlin.


Silabus

  • Pendahuluan : Memperkenalkan sejarah Kotlin, mengapa harus mempelajari Kotlin, karakteristik Kotlin, dan bagaimana Kotlin berperan dalam pengembangan aplikasi. Akan dibahas juga tentang ekosistem Kotlin. (4 jam 30 menit) 
  • Persiapan Membangun dan Menjalankan Program Kotlin : 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. (5 jam) 
  • Kotlin Fundamental : Memahami tentang teori dasar Kotlinengan mempelajari konsep dasar dari Kotlin seperti menggunakan tipe data, membuat fungsi dasar, menangani tipe data null, dan membuat String Template. (5 jam) 
  • Control Flow : 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. (4 jam) 
  • Data Classes dan Collections : Fokus pada bagaimana mengelola data di Kotlin dengan menggunakan data class dan collection. Anda juga akan belajar mengenai perbedaan antara collection yang ada pada Kotlin dan menggunakannya. (4 jam 30 menit) 
  • Kotlin Functional Programming : Memahami konsep function programing dengan mempelajari extension, lambda, higher-order function, recursion serta melihat contoh penerapannya pada collection operator dan scope function. (7 jam 30 menit)
  • Kotlin Object-Oriented Programming : Memahami mengenai konsep OOP pada Kotlin, bagaimana membuat sebuah class, properti dan fungsi dari class, dan mensimulasikan problematika dunia nyata dalam paradigma object-oriented programming (OOP). Memahami konsep OOP dengan mempelajari inheritance, abstract class, interface, visibility modifier, dan overloading. (7 jam 20 menit) 
  • Kotlin Generics : Belajar tentang variance dan cara menggunakan generic untuk membuat kelas yang dapat menerima berbagai jenis tipe data. (2 jam 30 menit) 
  • Berkenalan dengan Coroutines : 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. (5 jam 25 menit)


Metode Ajar

  • Online - Self-paced Learning
    • Total jam belajar : 50 jam
    • Rekomendasi waktu belajar : 10 jam per minggu (selesai dalam 35 hari)
    • Anda tentukan sendiri berapa lama waktu yang akan digunakan untuk belajar materi kelas ini selama masih aktif terdaftar pada kelas.
  • Fasilitas Pengajaran
    • Materi bacaan elektronik : Materi akan disajikan dalam bentuk teks dan bacaan.
    • Forum diskusi : Setiap kelas memiliki sebuah forum diskusi yang dapat Anda gunakan untuk bertanya dan berdiskusi.
    • Evaluasi pembelajaran :
      • Ujian akhir kelas
      • Submission (proyek akhir) berupa proyek latihan yang berisi hasil pembelajaran mulai dari dasar Kotlin hingga concurrency.
    • Sertifikat kompetensi.


Peralatan Belajar

  • Siswa wajib memiliki akses internet melalui komputer yang menggunakan Windows/Mac/Linux. 
  • Spesifikasi minimal komputer milik siswa:   
    • Sistem operasi : Windows, Linux, atau MacOS (64-bit).
    • Prosesor : Intel Core i3 (Rekomendasi Core i5 ke atas).
    • RAM : 2 GB (Rekomendasi 8 GB). 
    • Resolusi layar : 1024 x 768 (Rekomendasi Full HD 1920 x 1080).
  • Software
    • OpenJDK. Cara instalasi akan diajarkan pada kelas ini. 
    • Gradle. Cara instalasi akan diajarkan pada kelas ini. 
    • Intellij Idea Community. Cara instalasi akan diajarkan pada kelas ini. 


Alur Belajar

Langkah ke-1 Android Developer Learning Path

Langkah ke-1 persiapan sertifikasi internasional Associate Android Developer

Apa kata lulusan Dicoding Academy?

Sudah ribuan siswa yang sukses belajar di Dicoding Academy. Mau tau pendapat dari sisi mereka? Ini adalah testimoni asli mereka. Mau tahu lebih banyak? Lihat testimoni siswa lainnya.

Pertanyaan

Bila Anda memiliki pertanyaan / kendala ketika belajar di kelas ini, Anda dapat membaca pertanyaan-pertanyaan yang sering diajukan di FAQ.

Tim Reviewer

Arik Achmad Efendy
Arik Achmad Efendy
Lead Mobile Developer at Radyalabs
  • Kotlin Enthusiast
  • UI/UX Enthusiast
Nur Rohman
Nur Rohman
Chief Product Officer at Dicoding Indonesia
Bayu Teguh Pamuji
Bayu Teguh Pamuji
Android Developer at Hepicar
  • Android Developer
  • Dicoding Graduate
Buchori Rafsanjani
Buchori Rafsanjani
Curriculum Developer at Dicoding Indonesia
Rizqi Aryansa
Rizqi Aryansa
External Code Reviewer at Dicoding Indonesia
  • Software Engineer at Tokopedia
  • Associate Android Developer
  • Dicoding Graduate
Khrisna Indrawan
Khrisna Indrawan
Head of Reviewer at Dicoding Indonesia
Ahmad Arif Faizin
Ahmad Arif Faizin
Academy Content Writer at Dicoding Indonesia
Fajar Septian
Fajar Septian
Mobile Developer at Doctor To Doctor
  • Google Certified - Associate Android Developer
  • Dicoding Graduate
  • Android Developer Serang
Danviero Yuzwan Pratama
Danviero Yuzwan Pratama
Android Engineer at LOKET
  • Android Enthusiast
Dimas Catur Wibowo
Dimas Catur Wibowo
Code Reviewer at Dicoding Indonesia
  • Associate Android Developer


Vincentius Jordan H Tampubolon
Vincentius Jordan H Tampubolon
External Code Reviewer At Dicoding Indonesia
Agista Septiyanto
Agista Septiyanto
Code Reviewer at Dicoding Indonesia
Alfian Yusuf Abdullah
Alfian Yusuf Abdullah
Code Reviewer at Dicoding Indonesia
  • Associate Android Developer
  • Kotlin Enthusiast
  • UI/UX Enthusiast
Ivana Natalia Gabriella Situmorang
Ivana Natalia Gabriella Situmorang
External Code Reviewer at Dicoding Indonesia
  • Android Engineer
  • Kotlin and Flutter Enthusiast
Aditya Tri Nugroho
Aditya Tri Nugroho
Android Developer at Bank DBS Indonesia
Deny Prasetyo
Deny Prasetyo
Cloud Automation Lead - Gopay Indonesia
  • Kotlin Enthusiast. 
  • Co-organizer KotlinID. Writer in Progress! 
  • Backend and System Engineer


Fariz Ramadhan
Fariz Ramadhan
External Code Reviewer at Dicoding Indonesia
  • Content Writer at Farizdotid Blog
  • ADB ( Android Developer Bandung )
Anda belum dapat mempelajari kelas ini. Yuk berlangganan sekarang agar bisa belajar di Kelas ini dan juga Kelas Dicoding Academy lainnya.

Daftar sekarang untuk dapat mengikuti pembelajaran

Daftar Sekarang

Atau Anda dapat mencoba modul gratis yang ditawarkan di Kelas ini

Coba Modul Gratis
Kunjungi Online Store Kami

Kelas ini disusun oleh:

Dicoding Indonesia
Dicoding Indonesia

Decode Ideas
Discover Potentials