Hai semua kembali lagi di artikel tutorial dumetschool, dan untuk artikel kali ini saya akan memeberikan materi pembahasan tentang Penjelasan Tentang Prinsip S.O.L.I.D Pada Konsep OOP.

Beberapa waktu belakangan ini sedang hangat di bicarakan tentang sebuah konsep dalam OOP atau object oriented programing yang dimana tujuan di bentuknya prinsip ini adalah agar untuk menulis kode yang bersih, yang kemudian membuatnya lebih mudah untuk berubah, mempertahankan dan memperluasnya di masa depan. Mereka adalah rekomendasi yang, bila diterapkan pada kode sumber, memiliki efek positif pada pemeliharaan.

Solid sendiri memiliki makna tersendiri yang di wakili oleh masing-masing hurufnya yaitu :

  • Single-Responsiblity Principle
  • Open-closed principle
  • Liskov substitution principle
  • Interface segregation principle
  • Dependency inversion principle

Yang mana jika ke lima prinsip ini jika di implementasikan akan menjadikan program kita bersih, ramah terhadap perubahan, dan mudah di maintenance.

Saya akan menjelaskan semua dan membaginya ke dalam BEBERAPA artikel yang berbeda, baiklah langsung saja kita memahami prinsip yang pertama:

1. SINGLE RESPONSIBILITY PRINCIPLE
Prinsip ini mengandung makna dimana satu class SEHARUSNYA hanya memiliki satu pekerjaan saja. Maksudnya adalah di dalam satu class , class tersebut seharusnya  hanya bertanggung jawab atas satu bagian dari fungsionalitas yang disediakan oleh perangkat lunak, dan tanggung jawab itu dienkapsulasi oleh class.
“A class should have one and only one reason to change, meaning that a class should have only one job.”

Jika di analogikan seperti ini , jika di dalam sebuah kelas di sebuah sekolah maka kelas tersebut memiliki struktur-struktur kelas seperti ketua kelas yang memiliki tugas mencari guru yang telat, lalu bendahara meminta uang kas, petugas piket membersihkan ruangan, nah lalu jika ketua kelas bertugas mencari guru tetapi juga bertugas mengecek kelas lain juga yang gurunya kosong ya bakal repot dan ribet kan ? 😀  Maka dari itu alangkah lebih baik kalau satu pekerjaan (role) dilakukan oleh satu orang (aktor) yang memiliki tugas tersebut. Jadi sama seperti di dunia pemrograman, prinsip “satu untuk satu” akan jauh lebih mudah dipahami dan dipelihara.

Berikut adalah contoh dari penerapan SRP :

Ini mungkin baik untuk mencetak informasi ke frontend tapi bagaimana jika Anda perlu mendapatkan informasi itu di JSON atau sebagai array?
anda bisa menggunakan class atau interface dengan peran yang didefinisikan, sehingga memisahkan logika bisnis dari lapisan presentasi :

BAiklah itu saja pembahasn tentang solid SRP, untuk sekanjutnya kita bahas di artikel yg lainya.