Prinsip SOLID merupakan seperangkat prinsip yang dibuat untuk membantu developer dalam menulis kode yang bersih dan maintainable.
Prinsip ini diperkenalkan oleh Robert C. Martin atau lebih dikenal dengan sebutan Uncle Bob. Prinsip SOLID ini banyak digunakan dalam pemrograman berorientasi objek.
Adapun manfaat dalam menerapkan prinsip SOLID yaitu:
- mampu menghasilkan kode yang lebih mudah dipahami. Setiap prinsip menekankan aspek spesifik dari desain kode bersih. Sehingga memudahkan untuk mengidentifikasi dan memperbaiki masalah atau menambah fitur baru tanpa mempengaruhi kode pada bagian lain.
- Prinsip SOLID mendorong kode yang terbuka untuk ekstensi melalui pewarisan, komposisi, atau penggunaan antarmuka. Dalam hal ini kita dapat menambahkan fungsionalitas baru atau mengubah perlikau yang suda ada tanpa mengubah kode yang ada, sehingga dapat mengurangi terjadinya bug.
- Prinsip ini dapat diterapkan di berbagai bahasa pemrograman yang berparadigma OOP.
Singkatnya, dalam menerapkan prinsip SOLID pada pengembangan perangkat lunak menjadikan kode yang kita buata lebih dapat dipelihari, fleksibel, dapat digunakan kembali, dan dapat diuji.
Prinsip SOLID ini meningkatkan kualitas kode dan meningkatkan kolaborasi antar developer, sehingga terciptalah sistem yang lebih kuat.
S.O.L.I.D sendiri merupakan sebuah akronim dari 5 prinsip. Adapun penjelasan mengenai prinsip-prinsipnya sebagai berikut:
S : Single Responsibility Principle (SRP)
Kelas harus mempunyai satu tugas yang artinya bahwa kelas harus memiliki satu tanggung jawab atau tujuan. Sehingga kelas tersebut hanya mempunyai saru alasan untuk berubah, yakni merubah satu tugas yang diberikan.
O : Open-Closed Principle (OCP)
Entitpas perangkat lunak (kelas, modul, fungsi, dll.) harus mudah untuk diwariskan dan tidak boleh diubah-ubah. Adapun cara mengubahnya dapat dengan pewarisan, komposisi, dan interface.
L : Liskov Substitution Principle (LSP)
Kelas turunan harus bisa menjadi sebagai pengganti kelas parrent-nya. jadi kelas turunan harus dapat meneruskan objek ke metode apa pun yang mengharapkan objek kelas parrent-nya dan metode tersebut tidak boleh memberikan keluaran yang aneh.
I : Interface Segregation Principle (ISP)
Prinsip ini menekankan pentingnya membuat interface yang kecil dan fokus dengan memenuhi kebutuhan. Dengan cara memisahkan interface berdasarkan fungsionalitas tertentu.
D : Dependency Inversion Principle (DIP)
Modul level tinggi tidak boleh bergantung pada modul tingkat rendah. Keduanya harus bergantung pada bastraksi. Pada perinsip ini mempromosikan penggunaan abstraksi untuk memisahkan modul level tinggi dari detail implementasi level rendah.
Kesimpulan
Dalam artikel ini kita telah membahas mengenai 5 prinsip solid code. Adapun manfaat dalam menerapkan prinsip SOLID yaitu dapat membantu developer untuk menulis kode yang lebih mudah dipelihari, fleksibel, dan dapat diperluas.
Sekian penjelasan mengenai prinsip S.O.L.I.D semoga bermanfaat.