Apa dan Kenapa: “Software Design Pattern”

Pendahuluan

Permasalahan dalam membuat sebuah perangkat lunak dari sejak awal sejarah perkembangan komputer selalu ada. Permasalahan tersebut dapat berupa hal yang bersifat teknis berhubungan langsung dengan arsitektur perangkat lunak yang dipakai dan juga bersifat perancangan yang lebih bersifat umum. Kedua hal tersebut adalah hal yang wajib dalam pembuatan sebuah perangkat lunak.

Bagaimanakah cara untuk mengelola spesifikasi yang ada sekarang secara efisien untuk kemudian mampu untuk menghadapi perubahan dan spesifikasi yang akan datang dalam kontek pembuatan dan pengembangan sebuah sistem adalah sebuah permasalahan lain.

Hambatan-hambatan yang sering dijumpai dalam pengembangan perangkat lunak tersebut antara lain.

1. kebutuhan yang akan datang sering tidak bisa dipahami dan merupakan sebuah hal yang sering sekali berubah.

2. usaha untuk menggunakan kembali (reuse) sering kali berujung melibatkan komponen-komponen yang sebenarnya tidak bisa digunakan kembali (not reusable) dan sering kali gagal untuk dilakukan.

3. sering sekali terjadi, programer dan sistem analis kehilangan gambaran secara umum tentang apa yang dimaksud dengan kebutuhan yang akan datang.

4. dan yang paling penting adalah para pengembang cenderung melihat permasalahan ke arah permasalahan coding. Pengembang gagal melihat bahwa penyelesaian masalah melalui kekuatan perancangan/desain adalah sesuatu yang patut dipertimbangkan dan merupakan jalur yang tepat.

Apakah Design Pattern tersebut?

Design Pattern adalah sebuah solusi yang berulang-ulang untuk permasalahan yang dijumpai berulang kali didalam sebuah pengembangan aplikasi di dunia nyata (dofactory, 2009). Pendekatan ini akan membuat sebuah gambaran tentang sebuah kumpulan pola dalam kode program dan membuat kategorisasi dari hal tersebut. Kategorisasi tersebut menghasilkan sebuah nama Design Pattern. Selain itu, sebuah design pattern bisa dibentuk dari kesamaan fungsi dan kebutuhan sistem. Continue reading “Apa dan Kenapa: “Software Design Pattern””