April 6th, 2009

Pola Desain (Design Pattern) Apa dan Mengapa?

Pola desain (design pattern) telah menjadi suatu hal yang penting dalam dunia rekayasa perangkat lunak (software engineering) saat ini. Keberadaannya telah menjadikan sebuah acuan apakah suatu perangkat lunak (software) dibuat dengan baik ataukah tidak. Dia juga membantu para arsitektur dalam mendesain sebuah perangkat lunak (software). Apakah pola desain (design pattern) itu? Dan mengapa begitu penting? Silahkan simak artikel ini.

Apakah Design Pattern Itu?

Berikut ini beberapa definisi pola desain (design pattern) menurut beberapa tokoh:

In the world of software,apattern is atangible manifestation of an organization’s tribal
memory.

—Grady Booch in Core J2EE Patterns

[A pattern is] asolution to aproblem in acontext.
—The Gang of Four, Design Patterns:Elements of Reusable Object-Oriented Software

“Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice” —Christopher Alexander

Design pattern merupakan solusi yang bisa dipakai-ulang yang bersifat umum yang berguna untuk menyelesaikan masalah yang umum terjadi di bidang rekayasa perangkat lunak (software engineering).

Ilustransinya seperti ini: Anda seorang pengembang software, suatu saat menemukan masalah dan kemudian
anda mempunyai desin solusi untuk masalah Anda tersebut. Kemudian Anda menemukan masalah yang sama atau
mirip pada proyek-proyek selanjutnya, maka Anda dapat menggunakan desain yang pernah Anda pakai sebelumnya. Desain Anda inilah yang disebut sebagai pola desain (design pattern). Ketika Anda mempublikasikan pola desain Anda tersebut, orang lainpun dapat menggunakannya.

Karena pola desain (design pattern) merupakan desain objek serta hubungan antar objek, maka pola desain (design pattern) tidak tergantung dengan bahasa tertentu. Bahasa pemrograman yang sudah mendukung OOP akan bisa mengimplementasikan desaign pattern ini, tak terkecuali PHP).

Di sini lah, mengapa design pattern itu penting, kita bisa menggunakan desain dari problem yang pernah dihadapi
oleh para developer berkualitas.

Mengapa Menggunakan Pola Desain (Design Pattern)?

Pola Desain (Design Pattern) Mendefinisikan Masalah
Suatu saat Anda mungkin berada suatu tahap dimana proyek Anda tidak mengalami kemajuan. Kemudian Anda perlu melacak balik suatu jalan untuk memulai kembali.

Dengan mendefinisikan masalah umum, pola yang dapat membantu Anda untuk meningkatkan desain. Kadang-kadang, langkah awal untuk solusi adalah mengakui bahwa anda mempunyai masalah.

Pola Desain (Design Pattern) Mendefinisikan Solusi
Jika Anda sudah menetapkan masalah Anda menjadi masalah yang benar, maka Anda dapat mencari solusi dari pola-pola desain yang sudah ada, tentu saja dengan analisa konsekuansi pemakaian pola tersebut.

Yang perlu diingat, Anda tidak bisa berlepas-tangan dari keputusan untuk menggunakan pola desain desaign pattern) tertentu dengan segala implikasinya. Bagaimanapun juga Anda telah menggunakan teknik yang sudah dicoba dan diuji.

Pola Desain (Design Pattern) Tidak Tergantung dengan Bahasa Tertentu
Pola (pattern) mendefinisikan objek dan solusi dalam hal berorientasi objek. Hal ini berarti bahwa banyak pola berlaku di lebih dari satu bahasa. Pola dapat membantu Anda saat Anda bergerak di antara bahasa.
Dengan kata lain, aplikasi yang dibangun dengan prinsip-prinsip desain berorientasi objek yang baik, relatif lebih mudah jika Anda ingin mengganti (porting) dengan bahasa lain.

Pola Desain (Design Pattern) Mendefinisikan Kosa-kata
Mungkin Anda pernah membaca kode yang mempunyai nama kelas (class) yang mengandung kata-kata berikut:
Facade, Factory, Singleton, Proxy, Adapter, dll. Kata-kata tersebut menunjukkan pola desain apa yang dipakai.
Hal ini akan memudahkan jika ada pengembang lain yang berusaha memahami sebuah kode program.

Pola Desain (Design Pattern) Sudah Dicoba dan Diuji.
Inilah yang menyenangkan, pola-pola yang ada pada umumnya dibuat oleh pakar-pakar dibidangnya ketika menyelesaikan masalah tertentu, dan tentu saja sudah dicoba dan diuji. Dengan menggunakan pola desain yang sudah ada, kita telah menghemat sumber-daya, karena kalau kita yang mencari pola-pola tersebut tentu saja akan memakan biaya yang tidak sedikit.

Pola Desain (Design Pattern) Mempromosikan Desain yang Bagus
Pola desain(desain pattern) menunjukkan dan menerapkan prinsip-prinsip desain yang berorientasi objek. Sehingga kajian pola desain dapat menghasilkan lebih dari solusi yang spesifik dalam konteks. Anda bisa masuk dengan
perspektif baru pada cara dimana objek dan kelas-kelas dapat dipadukan untuk mencapai suatu tujuan.

Demikian, smoga bermanfaat

Agus Suhartono

2 Responsesto “Pola Desain (Design Pattern) Apa dan Mengapa?”

  1. Bayu HernantoSays:
    September 12th, 2009at 14:51

    Saya punya note di facebook tentang design pattern dengan PHP, ngebahas tentang decorator pattern. Disini http://www.facebook.com/note.php?note_id=50769727368. Mohon kritik dan masukannya. Thanks!

  2. terima kasih mas Bayu infonya

Leave a Reply