Langsung ke konten utama

Postingan

Menampilkan postingan dengan label Object Oriented

SOLID - Prinsip Desain Arsitektur Di Dalam Pemrograman Object Oriented (Liskov's Substitution Principal)

Liskov's Subtitution Principal Pada prinsip ketiga ini, berkaitan erat dengan prinsip kedua yaitu Open / CLose Principal, namun lebih fokus terhadap behaviour antara Parent Class dan Child Class. Let  Φ(x)  be a property provable about objects  x  of type  T . Then  Φ(y)  should be true for objects  y  of type  S  where  S  is a subtype of  T  bingung ? oke kira-kira simpelnya gini:  Object dari Parent Class bisa diganti dengan Object dari Child Class tanpa merusak aplikasi / membuat aplikasi berhenti (error) Jadi suatu object dari Parent Class atau turunannya, harus bisa dengan mudah diganti dengan Object / Instance dari Class Turunan tanpa mengganggu jalannya program. Kita bisa menerapkan konsep ini dengan menggunakan abstraksi / interface. Kalau masih bingung, mari kita belajar langsung dengan contoh. Contoh Kasus Bayangkan kita punya 1 soket lampu di teras rumah yang mati dan akan kita ganti dengan yang ...

SOLID - Prinsip Desain Arsitektur Di Dalam Pemrograman Object Oriented (Open / Close Principal)

 O - Open / Close  Bayangkan jika kita punya sepeda motor atau barang apapun yang sudah satu kesatuan yang ketika rusak sparepart nya tidak bisa diganti. Bayangkan jika ketika komponent nya rusak, kita harus langsung memperbaikinya di komponen tersebut tanpa bisa di ganti dengan komponen sejenis yang baru. Pasti akan sangat merepotkan bukan ?. Nah pada prinsipnya Open / Close ini untuk menghindari hal-hal yang demikian. Objects or entities should be open for extension but closed for modification. Prinsip Open / Close mengharuskan suatu Class / Komponen untuk bisa dimodifikasi logic / behaviour melalui Class turunan (Open) tanpa harus memodifikasi langsung pada kode di Class Utama (Close). Prinsip ini bertujuan agar kode yang kita buat bisa dengan mudah untuk di modifikasi logic / alur dalam melakukan sesuatu melalui Class turunan nya tanpa harus merubah kode yang ada di Class yang bersangkutan. Implementasi Bayangkan kita punya 1 buah blender, dimana blender ini bisa melakukan...

SOLID - Prinsip Desain Arsitektur Di Dalam Pemrograman Object Oriented (Single Responsibility)

Pendahuluan Ketika kita menulis program dengan menggunakan paradigma OOP / Object Oriented baik menggunakan Java, PHP ataupun yang lain, kita akan banyak berinteraksi dengan Class maupun Object. Dan tidak dapat dipungkiri bahwa interaksi antar Object tersebut akan memunculkan tantangan baru, yaitu kode akan susah dibaca, kode menjadi susah dikembangkan, dan ketika di kembangkan memunculkan BUG dan lain sebagainya. Oleh karena beberapa kendala tersebut, maka ada baiknya kita perlu mempelajari beberapa prinsip penulisan kode di dalam OOP yang dikenal dengan nama SOLID.  SOLID SOLID sendiri merupakan sebuah prinsip yang dikenalkan oleh RObert J Martin (Uncle Bob) di dalam paper yang diterbitkan pada tahun 2000 dengan tujuan untuk membuat kode yang lebih mudah dimengerti, dapat dibaca dan mudah dalam melakukan testing.  tonton di sini . SOLID sendiri merupakan singkatan / akronim dari beberapa prinsip, antara lain:  S - Single Responsibility O - Open / Close L - Liskov Substi...

Service Container di Symfony

Project kita di symfony merupakan sekumpulan object yang saling bekerja sama untuk menyelesaikan suatu pekerjaan. Ketika kita menginstall suatu bundle, kita menambahkan obbject pada project kita. Di symfony, object-object tersebut disebut sebagai  Service.  Contoh beberapa Service bawaan Symfony seperti Mail, Logger, dll yang spesifik digunakan untuk melakukan tugas tertentu. Notes :  Untuk project latihan, silahkan download sorce code latihan dari seri tulisan symfony ini di akun github saya di  https://github.com/kematjaya0/tutorial .  dan untuk seri tulisan saya sebelumnya bisa dibaca di :  1.  Membuat Project Symfony 4 2.  Membuat Halaman Web Di Symfony 4 3.  Penggunaan Doctrine 4.  Membuat API CRUD di Symfony 4 5.  Validasi Di Symfony 4 6.  Membuat API CRUD Menggunakan FOS REST Bundle 7.  Translation 8.  Translation di URL Artikel resimi mengenai Service Container bisa dilihat di hal...

Menambahkan Translator di URL Symfony 4

melanjutkan tulisan saya sebelumnya tentang Translation di symfony 4, kali ini saya lanjutkan dengan translation di routing symfony. Contoh penggunaan translation di url adalah seperti url berikut :  versi bahasa inggris,  https://phptherightway.com/pages/Design-Patterns.html dan di versi bahasa indonesia,  http://id.phptherightway.com/pages/Design-Patterns.html nah kira kira kita akan belajar membuat translation di url.  Event pertama kita buat folder baru bernama EventSubscriber di dalam folder src.  Oh iya, bagi yang belum punya bahan untuk latihan kali ini, silahkan download di akun github saya di  https://github.com/kematjaya0/tutorial  atau silahkan baca ditulisan saya sebelumnya di  https://catatan-pemrograman.blogspot.com/2018/10/menggunakan-translation-di-symfony-4.html .  Kemudian buat file baru bernama  LocaleRewriteListener,php yang implements class  EventSubscriberInterface.php. Seperti pada kode beri...