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 Part 2.

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 kedua:

OPEN CLOSED PRINCIPLE
Sebelum kita mengenal dengan prinsip ini coba kalian lihat dulu kalimat defenisi berikut :

software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification”

Dari kalimat di atas bisa kita lihat sangat jelas menggambarkan tentang apa itu prinsip OCP(OPEN CLOSED PRINCIPLE) ini, dimana kalau kita artikan prinsip OCP ini adalah seperti ini , Setiap entitas software, baik itu Class, module, fungsi, seharusnya terbuka untuk perluasan, namun tertutup untuk modifikasi, tujuan utamanya adalah untuk menghindari keretakan software dikarenakan  perubahan secara langsung terhadap sebuah class, module, function, Seperti kita tahu salah satu  penyebab dari keretakan software adalah kita melanggar aturan ini.

Loh bukanya kita bisa merubah code kita kalau tidak pas dengan outputnya ? iya kita bisa dengan mudah untuk merubah atau memodifikasi code kita kalau masih tahap development tetapi yang jadi masalah kalau code kita sudah final rilis maka tidak semudah yang di bayangkan, makanya prinsip ini sangat penting untuk menyelsaikan persoalan tersebut.

Baik saya akan langsung contohkan saya :

Jika code di atas kita ingin menambahkan modul baru misal modul_terbang(), maka kita akan menambah else if nya saja kan ? tanpa harus mengubah logika if nya tersebut. nah kira2 seperti itulah contoh dari prinsip open closed .