Belajar Prinsip Pemrograman SOLID
Teknologi:
iOS Android +2 lainnyaLevel: Menengah
Siswa Terdaftar
Teknologi:
iOS Android +2 lainnyaLevel: Menengah
Siswa Terdaftar
Kelas ini merupakan langkah ke-lima Anda untuk menjadi Multi-Platform App Developer.
Kelas ini merupakan langkah ke-lima Anda untuk menjadi Android Developer.
Kelas ini merupakan langkah ke-empat Anda untuk menjadi iOS Developer.
Semua orang bisa membuat kode program selama dia tahu suatu bahasa pemrograman. Tetapi membuat kode program yang mudah dimengerti, mudah dikelola, dan mudah dikembangkan adalah tantangan yang nyata, bahkan untuk seorang yang sudah menjadi programmer sekalipun. Di dalam paradigma OOP (object-oriented programming), terdapat prinsip SOLID sebagai solusi yang bisa digunakan untuk menyelesaikan problem tersebut. Prinsip ini dikenalkan oleh Robert C. Martin, seorang engineer dan penulis dari buku Clean Code.Â
Kelas ini merupakan langkah ke-lima Anda untuk menjadi Multi-Platform App Developer.
Peralatan Belajar
Spesifikasi minimal perangkat:
Prosesor
Intel Dual Core (Rekomendasi Core i3 ke atas)
Tools yang dibutuhkan untuk belajar:
Teks Editor (Notepad++) atau IDE (PyCharm,dll)
Lihat semua peralatan belajar
Lihat semua peralatan belajarKelas ini membutuhkan spesifikasi perangkat seperti berikut:
RAM
1 GB (Rekomendasi 2 GB).
Layar
1366 x 768 (Rekomendasi Full HD 1920 x 1080)
Sistem Operasi
Windows, Linux, MacOS
Prosesor
Intel Dual Core (Rekomendasi Core i3 ke atas)
Kelas ini membutuhkan beberapa tools berikut:
Teks Editor (Notepad++) atau IDE (PyCharm,dll)
Glot.io dan Replit
Metode Ajar
Lihat semua metode ajar
Lihat semua metode ajarKontributor
3Curriculum Developer yang membangun kelas ini:
Danviero Yuzwan Pratama
Android Engineer at Gojek
Alfian Yusuf Abdullah
Head of Reviewer at Dicoding Indonesia
Reviewer
8Code Reviewer yang akan me-review tugas dan kode Anda:
Lihat semua kontributor dan reviewer
Lihat semua kontributor dan reviewerKontributor kelas
Curriculum Developer yang membangun kelas ini:
Danviero Yuzwan Pratama
Android Engineer at Gojek
Alfian Yusuf Abdullah
Head of Reviewer at Dicoding Indonesia
Ahmad Arif Faizin
Curriculum Developer Lead at Dicoding Indonesia
Tim Reviewer
Code Reviewer yang akan me-review tugas dan kode Anda:
Danviero Yuzwan Pratama
Android Engineer at Gojek
Alfian Yusuf Abdullah
Head of Reviewer at Dicoding Indonesia
Gilang Ramadhan
Curriculum Developer at Dicoding Indonesia
Our team at Dicoding Indonesia thrives under my coordination, where we've honed a robust curriculum enhancing the Android and iOS development skills of our students. With a rich educational backdrop that spans from Politeknik Negeri Semarang to specialized certifications from Udacity and the University of Toronto, I've forged a path that intersects innovative teaching with cutting-edge technology.
As a Curriculum Developer and Contributor Coordinator, my focus is on crafting high-quality educational content and managing our elite contributors. Our success is evident in the elevated learning experiences we deliver, rooted in my expertise in UX Design, Android Development, iOS Development, and Project Management, ensuring that every student is equipped for the dynamic demands of the tech industry.
Widyarso Joko Purnomo
Khrisna Indrawan Eka Putra
Ahmad Arif Faizin
Curriculum Developer at Dicoding Indonesia
Danviero Yuzwan Pratama
Android Engineer at Gojek
Ahmad dari Dicoding
Managing Editor at Dicoding Indonesia
Alfian Yusuf Abdullah
Head of Reviewer at Dicoding Indonesia
Dimas Maulana Dwi Saputra
Curriculum Developer at Dicoding Indonesia
Gilang Ramadhan
Curriculum Developer at Dicoding Indonesia
Our team at Dicoding Indonesia thrives under my coordination, where we've honed a robust curriculum enhancing the Android and iOS development skills of our students. With a rich educational backdrop that spans from Politeknik Negeri Semarang to specialized certifications from Udacity and the University of Toronto, I've forged a path that intersects innovative teaching with cutting-edge technology.
As a Curriculum Developer and Contributor Coordinator, my focus is on crafting high-quality educational content and managing our elite contributors. Our success is evident in the elevated learning experiences we deliver, rooted in my expertise in UX Design, Android Development, iOS Development, and Project Management, ensuring that every student is equipped for the dynamic demands of the tech industry.
Ribuan siswa sukses belajar di Dicoding Academy. Apa kata mereka? Berikut adalah testimoni asli mereka.
Lihat semua testimoni
Lihat semua testimoniBerikut 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.
2 Menit
20 Menit
10 Menit
20 Menit
10 Menit
8 Menit
Mengenalkan pilar OOP yakni Inheritance, Encapsulation, Abstraction, dan Polymorphism.
40 Menit
10 Menit
40 Menit
15 Menit
15 Menit
30 Menit
10 Menit
Knowledge Check: OOP
10 Menit
Mengetahui macam-macam hubungan antar objek di OOP seperti association, agregation, composition, dependency, generalization, specialization, dan implementation.
Pengenalan Relasi pada OOP
10 Menit
Association, Aggregation, dan Composition
50 Menit
Dependency
20 Menit
Generalization dan Specialization
30 Menit
Realization atau Implementation
10 Menit
Rangkuman: Relasi pada OOP
10 Menit
Knowledge Check: Relasi pada OOP
10 Menit
Menjelaskan tentang kenapa seorang developer harus memahami software design principle jika ingin membangun suatu aplikasi yang berbasis OOP. Dipelajari juga 3 karakteristik penting dari design buruk yang perlu dihindari yakni rigidity, fragility, dan immobility.
Pengenalan Software Design
15 Menit
Software Design Principle
15 Menit
Rangkuman: Software Design
10 Menit
Knowledge Check: Software Design
10 Menit
Mengenalkan satu per satu prinsip dari SOLID yaitu Single Responsibility, Open Closed, Liskov Substitution, Interface Segregation, dan Dependency Inversion.
Pengenalan S.O.L.I.D
20 Menit
Single Responsibility Principle (SRP)
25 Menit
Contoh Kasus SRP
50 Menit
Open/Close Principle (OCP)
25 Menit
Contoh Kasus OCP
35 Menit
Liskov Substitution Principle (LSP)
25 Menit
Contoh Kasus LSP
35 Menit
Interface Segregation Principle (ISP)
25 Menit
Contoh Kasus ISP
40 Menit
Dependency Inversion Principle (DIP)
25 Menit
Contoh Kasus DIP
45 Menit
Studi Kasus S.O.L.I.D
20 Menit
Rangkuman: S.O.L.I.D
10 Menit
Knowledge Check: S.O.L.I.D
10 Menit
Ujian akhir yang harus ditempuh untuk lulus dari kelas ini.
Rangkuman Kelas
20 Menit
Ujian Akhir
60 Menit