Desain instruksional yang mengintegrasikan teknologi digital dan kegiatan kelas tatap muka tradisional yang memfasilitasi siswa untuk mengarahkan sendiri proses belajarnya dengan memilih metode dan materi pembelajaran yang tersedia yang paling sesuai dengan karakteristik dan kebutuhan individualnya yang berorientasi untuk mencapai tujuan pembelajaran.
Setiap elemen HTML yang kita buat memiliki property css display, pada slide ini akan dibahas bagaimana masing-masing perilaku dari value pada properti display tersebut.
value yang dapat digunakan adalah :
- inline
- inline-block
- block
- none
slide bantuan untuk video youtube:
https://youtu.be/VPaIdiPvWQM
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVCrizki adam kurniawan
Â
Materi yang ada pada slide ini berisi :
TEORI :
APA ITU JDBC
APA ITU API
GAMBARAN DB API
ARSITEKTUR JDBC
JDBC INTERFACE CLASS
PRAKTIK :
Akses full source code nya di link ini :
https://github.com/RizkiAdamKurniawan/JAVA-DAO-MVC
Akses video tutorial nya di link ini :
TAHAP 1. Membuat Project Baru & Package Baru : https://youtu.be/s-6IdMJKhuw
TAHAP 2. Membuat Database : https://youtu.be/W5lR4CBq81g
TAHAP 3. Mapping Database ke Entitas : https://youtu.be/3wdvh3yH3rY
TAHAP 4. Membuat Koneksi : https://youtu.be/if7LPrGMLRY
TAHAP 5. Membuat Service DAO : https://youtu.be/-jMaNzjolXc
TAHAP 6. Membuat Fungsi CRUD : https://youtu.be/R0NwAnUyHx4
TAHAP 7. Membuat Management Transaksi DAO : https://youtu.be/lBzE7G6GM2w
TAHAP 8. Membuat View : https://youtu.be/hgyoI3iW12I
TAHAP 9. Membuat Model : https://youtu.be/VvTiNQtmpDM
TAHAP 10. Membuat Controller : https://youtu.be/OC3Zi2G4fqc
TAHAP 11. Komunikasikan di View : https://youtu.be/k1BFJ3UEf7E
TAHAP 12. Testing Apps : https://youtu.be/cNo8prJlLmc
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Implementasi Polimorphism
Overloading method VS Overriding Method
Ad Hoc & Subtyping Polimorphism
Latihan 5 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Desain instruksional yang mengintegrasikan teknologi digital dan kegiatan kelas tatap muka tradisional yang memfasilitasi siswa untuk mengarahkan sendiri proses belajarnya dengan memilih metode dan materi pembelajaran yang tersedia yang paling sesuai dengan karakteristik dan kebutuhan individualnya yang berorientasi untuk mencapai tujuan pembelajaran.
Setiap elemen HTML yang kita buat memiliki property css display, pada slide ini akan dibahas bagaimana masing-masing perilaku dari value pada properti display tersebut.
value yang dapat digunakan adalah :
- inline
- inline-block
- block
- none
slide bantuan untuk video youtube:
https://youtu.be/VPaIdiPvWQM
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVCrizki adam kurniawan
Â
Materi yang ada pada slide ini berisi :
TEORI :
APA ITU JDBC
APA ITU API
GAMBARAN DB API
ARSITEKTUR JDBC
JDBC INTERFACE CLASS
PRAKTIK :
Akses full source code nya di link ini :
https://github.com/RizkiAdamKurniawan/JAVA-DAO-MVC
Akses video tutorial nya di link ini :
TAHAP 1. Membuat Project Baru & Package Baru : https://youtu.be/s-6IdMJKhuw
TAHAP 2. Membuat Database : https://youtu.be/W5lR4CBq81g
TAHAP 3. Mapping Database ke Entitas : https://youtu.be/3wdvh3yH3rY
TAHAP 4. Membuat Koneksi : https://youtu.be/if7LPrGMLRY
TAHAP 5. Membuat Service DAO : https://youtu.be/-jMaNzjolXc
TAHAP 6. Membuat Fungsi CRUD : https://youtu.be/R0NwAnUyHx4
TAHAP 7. Membuat Management Transaksi DAO : https://youtu.be/lBzE7G6GM2w
TAHAP 8. Membuat View : https://youtu.be/hgyoI3iW12I
TAHAP 9. Membuat Model : https://youtu.be/VvTiNQtmpDM
TAHAP 10. Membuat Controller : https://youtu.be/OC3Zi2G4fqc
TAHAP 11. Komunikasikan di View : https://youtu.be/k1BFJ3UEf7E
TAHAP 12. Testing Apps : https://youtu.be/cNo8prJlLmc
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Implementasi Polimorphism
Overloading method VS Overriding Method
Ad Hoc & Subtyping Polimorphism
Latihan 5 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Dalam dunia pengembangan perangkat lunak, prinsip SOLID dan pola desain adalah fondasi yang penting untuk menciptakan kode yang maintainable, scalable, dan mudah dimengerti. Di artikel ini, kita akan menjelajahi setiap prinsip SOLID dan bagaimana pola desain mendukung implementasinya.
Prinsip SOLID: Fondasi Desain Perangkat Lunak yang Kuat
Single Responsibility Principle (SRP): Memahami kenapa setiap kelas atau modul seharusnya memiliki satu tanggung jawab utama dan bagaimana hal ini mengarah pada kode yang mudah dimengerti dan di-maintain.
Open/Closed Principle (OCP): Mengerti konsep bahwa kelas-kelas seharusnya terbuka untuk ekstensi tapi tertutup untuk modifikasi, dan bagaimana pola desain seperti Polimorfisme dapat membantu dalam mencapai hal ini.
Liskov Substitution Principle (LSP): Mempelajari bagaimana sub-kelas seharusnya dapat digunakan sebagai pengganti untuk kelas induknya tanpa mengubah perilaku aplikasi yang ada.
Interface Segregation Principle (ISP): Memahami pentingnya memisahkan antarmuka yang besar dan tidak spesifik menjadi beberapa antarmuka yang lebih kecil dan spesifik.
Pola Desain yang Mendukung SOLID: Mempraktikkan Konsep-konsep dalam Kode
Factory Method: Bagaimana pola ini mendukung OCP dengan memungkinkan penciptaan objek tanpa harus mengubah kode yang sudah ada.
Strategy Pattern: Bagaimana pola ini membantu menerapkan OCP dan LSP dengan memungkinkan pemilihan algoritma pada saat runtime.
Dependency Injection: Mengapa penggunaan pola ini sangat penting dalam mematuhi prinsip DIP dengan memisahkan pembuatan objek dari kelas yang menggunakannya.
Studi Kasus: Implementasi SOLID dan Pola Desain dalam Proyek Nyata
Melalui sebuah studi kasus, kita akan melihat bagaimana prinsip-prinsip SOLID diterapkan dalam pengembangan perangkat lunak yang nyata, dan bagaimana pemilihan pola desain yang tepat dapat membantu dalam mencapai tujuan tersebut.
Tantangan dan Manfaat dalam Menerapkan SOLID dan Pola Desain
Mengidentifikasi tantangan yang mungkin dihadapi saat menerapkan prinsip SOLID dan pola desain, serta manfaat jangka panjang yang diperoleh dari praktik tersebut.
Tips Praktis untuk Menerapkan SOLID dan Pola Desain
Memberikan beberapa tips praktis bagi para pengembang perangkat lunak untuk memulai menerapkan prinsip SOLID dan pola desain dalam proyek mereka.
Kesimpulan:
Dengan memahami prinsip-prinsip SOLID dan pola desain yang mendukungnya, pengembang perangkat lunak dapat menciptakan kode yang lebih maintainable, scalable, dan mudah dimengerti. Dengan menerapkan prinsip-prinsip ini dalam proyek-proyek mereka, mereka dapat menghasilkan perangkat lunak yang lebih kuat dan dapat berkembang dengan baik.
2. Apa itu Polimorfisme?
Poly artinya banyak, morfisme artinya bentuk.
Polimorfisme (bahasa inggris polymorphism) adalah sebuah prinsip dalam biologi di mana
oraganisme atau spesies dapat memiliki banyak bentuk atau tahapan (stages).
Prinsip ini juga diadopsi pada pemrograman berorientasikan objek.
Sehingga kita dapat definisikan sebagai berikut:
Polimorfisme dalam OOP adalah sebuah prinsip di mana class dapat memiliki banyak “bentuk”
method yang berbeda-beda meskipun namanya sama.
“Bentuk” di sini dapat kita artikan: isinya berbeda, parameternya berbeda, dan tipe datanya
berbeda.
3. Polimorfisme pada Java ada dua macam:
1. Static Polymorphism (Polimorfisme statis);
2. Dynamic Polymorphism (Polimorfisme dinamis).
Beda dari keduanya terletak pada cara membuat polimorfismenya.
Polimorfisme statis menggunakan method overloading sedangkan polimorfisme dinamis
menggunakan method overriding.
4. Perbedaan Method Overloading dengan
Method Overriding
Method overloading terjadi pada sebuah class yang memiliki nama method yang sama tapi
memiliki parameter dan tipe data yang berbeda.
Kata kunci yang perlu kamu ingat:
“Dalam satu class”
“Nama method sama”
“Tipe data dan parameter beda”
Itulah method Overloading.
Contohnya, misalkan kita memiliki class Lingkaran.java. Pada class ini terdapat method luas().
Nah, si method luas() ini bisa saja memiliki parameter yang berbeda.
5. Misalnya kita ingin menghitung luas berdasarkan jari-jari (radius) atau diameter.
Maka kita dapat membuat class-nya seperti ini:
6. Coba perhatikan!
Class Lingkaran memiliki dua method yang namanya sama, yakni luas().
Tapi parameter dan tipe datanya berbeda dan juga isi atau rumus di dalamnya berbeda.
Inilah yang disebut polimorfisme statis.
Sudah paham?
Lalu Polimorfisme yang dinamis bagaimana?
Polimorfisme dinamis biasanya terjadi saat kita menggunakan pewarisan (inheritance) dan
implementasi interface.
Seperti yang sudah kita ketahui:
Pada pewarisan, kita bisa mewariskan atribut dan method dari class induk ke class anak.
Class anak akan memiliki nama method yang sama dengan class induk dan anak yang lainnya.
Nah! Di sinilah akan terjadi polimorfisme.
7. Class anak akan memiliki nama method yang sama, tapi
nanti isi dan parameternya bisa berbeda dari class induk.
Karena si class anak melakukan method overriding
(mendindih method) yang diwariskannya.
Polimofisme dinamis juga bisa terjadi saat menggunakan
interface.
8. Oh iya, buat kamu yang belum tahu interface:
Interface adalah class kosong yang berisi nama-nama method yang nanti harus
diimplementasikan pada class lain. Dalam pengimplementasiannya bisa saja tiap-tiap class akan
mengimplementasikan secara berbeda dengan nama method yang sama.
Nah, kelihatan kan bedanya?
Jadi polimorfisme statis hanya terjadi dalam satu class saja.
Sedangkan polimorfisme dinamis terjadi pada saat ada hubungan dengan class lain seperti
inheritance.
Oke, sekarang mari kita lihat contohnya.
9. Contoh Program Polimorfisme Dinamis
Perhatikan diagram ini:
Pada diagram tersebut, terdapat class BangunDatar yang
memiliki tiga subclass, yaitu: Persegi, Lingkaran dan
Segitiga.
Setiap class memiliki method yang sama yaitu luas() dan
keliling(). Akan tetapi method-method ini memiliki isi
rumus yang berbeda.
Mari kita coba buat dalam program Java.
10. Buatlah class baru dengan BangunDatar, kemudian isi dengan kode berikut:
15. Mau Contoh Lagi?
Oke, di contoh yang kedua ini kita akan membuat aplikasi untuk mengirim notifikasi dengan
Interface.
Ini adalah bentuk diagramnya:
16. Buatlah class baru dengan nama InterfaceNotifikasi dan isi kodenya seperti ini:
Berikutnya, buatlah class baru dengan nama EmailNotification dan isi seperti ini:
17. Berikutnya, buatlah class baru dengan nama SMSNotification dan isi seperti ini:
Berikutnya, buatlah class baru dengan nama PushNotification dan isi seperti ini:
19. Hasilnya:
Walapun semua isi method sendMessage() sama, namun nanti pada implementasinya di dunia nyata akan
beda-beda.
EmailNotification biasanya akan mengirim email dengan metode SMTP atau API. Sedangkan SMS bisa melalui
SMS Gateway.
Begitu juga dengan PushNotofication, nanti akan menggunakan API yang berbeda.
Nah itulah contoh polimorfisme dengan interface.
Sumber referensi: https://www.petanikode.com/java-oop-polimorfisme/