Langsung ke konten utama

Perancangan Berbasis Pola


2.1         PERANCANGAN BERBASIS POLA


Gamma et.al [4] mengutip perkataan Christopher Alexander mengatakan bahwa:
"Setiap pola menggambarkan masalah yang terjadi berulang-ulang di lingkungan kita, dan kemudian menggambarkan inti dari solusi untuk masalah itu, sedemikian rupa sehingga Anda dapat menggunakan solusi ini satu juta kali lebih, tanpa pernah melakukan dengan cara yang sama dua kali "

Perancangan berbasis pola menurut Pressman [12] adalah suatu teknik untuk membuat aplikasi yang baru dengan menemukan sejumlah solusi-solusi permasalahan yang telah terbukti berhasil untuk kemudian menggunakannya secara berhasil menyelesaikan permasalahan-permasalahan yang ada saat ini.
Penciptaan desain pola mengabstraki proses Instansiasi. Mereka membantu membuat sistem independen dari bagaimana objek yang diciptakan, terdiri, dan mewakili. Pola penciptaan kelas menggunakan warisan untuk beragam kelas yang terinstansiasi, sedangkan pola penciptaan objek akan mendelegasikan instansiasi ke obyek lain.
Gamma, et.al  [4] menyebutkan sejumlah pola perancangan dikelompokkan pada kategori-kategori sebagai berikut, penyusun hanya membahas pola yang digunakan untuk pengembangan aplikasi:


2.7.1   Pola Pembuatan  - Abstract Factory


Menyediakan antarmuka untuk menciptakan keluarga dari objek yang terkait dan yang tergantung tanpa  menentukan kelas konkritnya.
Menggunakan pola Abstract Factory ketika:
·                Sistem harus independen dari bagaimana produk tersebut dibuat, tersusun, dan memainkan perannya.
·                Sistem harus dikonfigurasi dengan satu dari beberapa macam produk.
·                Keluarga dari obyek produk terkait dirancang untuk digunakan bersama-sama, dan Anda perlu untuk menegakkan pembatas ini.
·                Anda ingin menyediakan perpustakaan kelas produk, dan Anda ingin mengungkapkan hanya interface mereka,  tanpa  implementasinya.



Gambar 2.10 Struktur Abstract Factory


2.7.2   Pola Struktural -  Façade


Menyediakan antarmuka yang seragam untuk satu set antarmuka dalam subsistem. Facade mendefinisikan antarmuka tingkat yang lebih tinggi yang membuat subsistem dapat lebih mudah digunakan.
Gunakan pola Facade ketika:
·                Jika ingin menyediakan antarmuka sederhana untuk subsistem yang kompleks. Subsistem sering menjadi lebih kompleks karena mereka berevolusi. Kebanyakan pola, bila diterapkan, menghasilkan kelas lebih banyak dan lebih kecil. Hal ini membuat subsistem yang lebih dapat digunakan kembali dan mudah untuk menyesuaikan, tetapi juga menjadi lebih sulit untuk digunakan untuk klien yang tidak perlu menyesuaikannya. Sebuah fasad dapat memberikan tampilan default sederhana dari subsistem yang cukup baik untuk kebanyakan klien.
·                ada banyak dependensi antara klien dan kelas implementasi dari sebuah abstraksi. Menggunakan fasad untuk memisahkan subsistem dari klien dan subsistem lainnya, sehingga meningkatkan kemandirian subsistem dan portabilitas.
·                Jika ingin membuat lapisan. Gunakan fasad untuk menentukan titik masuk untuk masing-masing tingkat subsistem. Jika subsistem itu memiliki ketergantungan, maka Anda dapat menyederhanakan ketergantungan di antara mereka dengan membuat mereka berkomunikasi satu sama lain hanya melalui fasad mereka.
 
Gambar 2.12 Struktur Facade

Komentar

Postingan populer dari blog ini

Arsitektur Aplikasi Web

  Arsitektur aplikasi web pada dasarnya mendekripsikan suatu infrastruktur yang memungkinkan sistem atau aplikasi berbasis web untuk mencapai sasaran-sasaran bisnisnya. Aplikasi web seharusnya dikembangkan dengan lapisan-lapisan (layer) yang masing-masing memberikan perhatian-perhatian yang berbeda-beda. (Pressman [12]) Menurut Gamma et.al [4] bahwa arsitektur Model / View / Controller (MVC) tiga serangkai kelas  digunakan untuk membangun user interface di Smalltalk-80. Melihat pola desain dalam MVC akan membantu Anda melihat apa yang kita maksud dengan istilah "pola." MVC terdiri dari tiga macam objek. Model ini adalah objek aplikasi, View adalah layar presentasi, dan Controller mendefinisikan cara user interface bereaksi terhadap input pengguna. Sebelum MVC, pengguna desain antarmuka cenderung menggumpalkan obyek-objek secara bersamaan. MVC memisahkan mereka untuk meningkatkan fleksibilitas dan reuse. Arsitektur MVC merupakan satu dari sejumlah model infrast...

Rekayasa Perangkat Lunak (Software Engineering)

Kata “Rekayasa Perangkat Lunak” atau Software Engineering dalam Bahasa Inggris terdiri dari kata “Rekayasa” dan “Perangkat Lunak”. Kata rekayasa menurut kamus Bahasa Indonesia adalah penerapan kaidah-kaidah ilmu dalam pelaksanaan (seperti perancangan, pembuatan kontstruksi, serta pengoperasian kerangka, peralatan, dan system yang ekonomis dan efisien). (kamusbahasaindonesia.org). Sedangkan perangkat lunak menurut definisi yang ditulis Pressman [12] mengutip Fritz Bauer adalah pembuatan dan penggunaan prinsip-prinsip penting rekayasa supaya pengguna bisa memperoleh perangkat lunak secara murah yang dapat diandalkan dan bekerja secara efisien pada mesin-mesin yang sesungguhnya. Definisi Rekayasa Perangkat Lunak dari berbagai literatur adalah: “ Suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal requirement capturing (analisa kebutuhan pengguna), s pecification (menentukan spesifikasi dari kebutuhan pengguna), desain, coding, testing ...