Evolusi desain PL

Evolusi desain PL

•Suatu proses kontinu yg terus berlangsung selama tiga dekade
•Kerja desain awal dikonsentrasikan pd kriteria u/ pengemb.program moduler dan metode u/ menyaring arsitektur PL dg cara top-down
•Aspek prosedural dari definisi desain yg tercakup dalam suatu filosofi (perograman terstruktur)
•Usaha selanjutnya mengusulkan metode struktur data ke dalam definisi desain
•Pendekatan yg lebih baru mengusulkan suatu pendekatan orientasi objek ke desain
Prinsip desain
•Desain perangkat lunak berupa proses dan model
•Proses desain à seragkaian langkah iteratif yg memungkinkan desainer menggambarkan semua aspek PL dibangun
•Keahlian kreatif, pengalaman, rasa tentang apa yg membuat PL baik, dan keseluruhan komitmen thd kualitas à faktor2 sukses bagi suatu desain kompeten
•Model desain à ekivalen rencana arsitek u/ sebuah rumah (dari betuk 3dàpembentukan detail spt layout pipa)
Konsep-konsep desain
•Abstraksi
•Penyaringan
•Modularitas
•Arsitektur PL
•Hirarki kontrol
•Partisi struktural
•Struktur data
•Prosedur PL
•Penyembunyian informasi
Abstraksi
•Pada saat kita bergerak melalui tingkat abstraksi yg berbeda, kita bekerja u/ membuat abstraksi data dan prosedural
•Abstraksi data à sekumpulan data yang menggambarkan objek data. Ex: pintu (tipe pintu, arah buka, berat, dimensi dsb)
•Abstraksi prosedural à urutan instruksi yang diberi nama yg mempunyai fungsi tertentu dan terbatas. Ex: kata “open” pada sebuah pintu. Open mengimplementasikan urutan panjang mulai dari berjalan k pintuàmeraih tombolàmembuka tombol dst
Penyaringan
•Penyaringan stepwise (seragkaian langkah) à strategi desain top down yg diusulkan o/ Wiklaus Wirth
•Arsitektur program dikembangkan dengan cara urut menyaring tingkat detail prosedural
Modularitas
•Adalah atribut tunggal dari PL yang memungkinkan sebuha program u/ dikelola secara intelektual
•PL monolitik (program besar yg terdiri dari modul tunggal) tidak dapat dipahami dengan mudah oleh pembaca
•Jumlah alur kontrol, cakupan referensi, jumlah variabel dan kompleksitas keseluruhan akan membuat pemahaman menjadi hampir tidak mungkin
•rumus
•Bagaimana kita menentukan sebuah modul yg sesuai u/ suatu ukuran yg diberikan? Meyer menyebutkan 5 kriteria yg memungkinkan kita mengevaluasi suatu metode desain
1.Dekomposabilitas modular
2.Komposabilitas modular
3.Kemampuan pemahaman modular
4.Kontinuitas modular
5.Proteksi modular
1.Dekomposabilitas modular (dekomposisi masalah menjadi submasalah2)
2.Komposabilitas modular (komponen desain reusable dipasang ke dalam sistem baru)
3.Kemampuan pemahaman modular (unit yg berdiri sendiri maka modul akan lebih mudah dibangun dan diubah)
4.Kontinuitas modular (meminimalisir efek dari perubahan kecil yg tjd)
5.Proteksi modular (bila tjd kondisi yg menyimpang pada modul pengaruh efek samping bisa diminimalisir)
Arsitektur PL
  • Mencakup struktur keseluruhan PL dan cara dimana struktur memberikan integrasi konseptual bagi suatu sistem
  • Arsitektur merupakan struktur  hirarki dari komponen program, cara bagaimana komponen tsb berinteraksi dll

Hirarki kontrol

•Disebut juga struktur program à merepresentasikan organisasi komponen program serta mengimplikasikan suatu hirarki kontrol

•hirarki kontrol merepresentasikan 2 karakteristik yg berbeda dari arsitektur PL à visibilitas dan konektivitas

•Visibilitas menunjukkan serangkaian komp.program yg dapat diminta / dipakai sbg data o/ komponen yg diberikan (ex:modul pd sistem BO dpt memilliki akses ke suatu array dar atribut data)
•Konektivitas: mengindikasikan serangkaian komponen yg diminta secara tidak langsung / digunakan sbg data o/ sebuah modul yg ditetapkan (ex. Sebuah modul yg secara langsung menyebabkan modul lain memulai eksekusi akan disambungkan dengan modul tsb)
Partisi struktural
•Struktur program harus dipartisi secara horisontal maupun vertikal
•Partisi arsitektur secara horisontal memberkan keuntungan:
1.Menghasilkan PL yg lebih mudah diuji
2.Membawa kpd PL yg lebih mudah dipelihara
3.Menghasilkan penyebaran efek samping yg lebih sedikit
4.Menghasilkan PL yg lebih mudah u/ diperluas
•Partisi vertikal (pemfaktoran):menyatakan bahwa kontrol (pembuatan keputusan) dan kerja harus didistribusikan secara top down dlm arsitektur program
Struktur data
•Representasi dari hubungan logis antara elemen2 data individual
•Struktur data seperti struktur program dapat direpresentasikan pada tingkat abstraksi yg berbeda
•Ex: stack à model konseptual dari suatu struktur data yg dpt dimplementasi sbg vendor/ linked list
Prosedur PL
•Berfokus pada detail2 pemrosesan dari masing2 modul secara individual
•Prosedur harus memberikan spesifikasi yg teliti thd pemrosesan, menckup urutan event, point2 keputusan, operasi dan struktur data itu sendiri
Penyembunyian informasi
•Bagaimana mendekomposisi suatu solusi PL u/ mendapatkan serangkaian modul terbaik?
•Menyatakan bahwa modul ditandai dg keputusan desain yg masing2 tersembunyi dari semua desain lain
Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s