Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ......
Transcript of Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ......
![Page 1: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/1.jpg)
Pertemuan 9
PRINSIP DAN KONSEP DESAIN
![Page 2: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/2.jpg)
Pokok Bahasan dalam RPL :
Desain PL dan Rekayasa PL
Prinsip Desain
Konsep Desain
Desain Modular Afektif
Model Desain
Dokumentasi Desain
![Page 3: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/3.jpg)
Buku Referensi :
• Pressman, RS., 2008, Software Engineering: A
Practitioner’s Approach, New York: McGraw-Hill
• Sommerville, I, 2007, Software Engineering,
Addsion Wesley
![Page 4: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/4.jpg)
TUJUAN PRINSIP DAN KONSEP DESAIN
• Memahami konsep dan prinsip desain PL
• Mengerti desain secara modular dapat mengurangikompleksitas program dan mudah dimplementasikan
• Memahami model desain
• Membuat dan mengetahui isi dari dokumentasi
![Page 5: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/5.jpg)
Desain dan Rekayasa Perangkat Lunak
Hal yang harus diperhatikan :
• Desain Data
• Desain Arsitektur
• Desain Interface
• Desain Prosedural
![Page 6: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/6.jpg)
DESAIN PL DAN REKAYASA PL (lanjutan)
![Page 7: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/7.jpg)
PROSES DESAIN
3 karakteristik pedoman bagi evaluasi Desain :• Desain mengimplementasikan semua kebutuhan
eksplisit yang ada dalam model analisis, danmengakomodasi semua kebutuhan implisit yangdiinginkan oleh konsumen.
• Desain harus dapat berupa panduan yang dapatdibaca dan dipahami oleh orang-orang yang akanmembuat kode, dan mereka yang menguji sertanantinya mendukung PL
• Desain harus menyediakan gambaran utuh dari PL,menggambarkan domain data, fungsional, danperilaku dari perspektif implementasi.
![Page 8: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/8.jpg)
Evolusi Desain Perangkat Lunak
• Karakteristik Umum :
1. Mekanisme penerjemahan suatu model analisis kedalam representasi desain.
2. Notasi untuk merepresentasikan komponen-komponen fungsional dan interfacenya.
3. Heuristik bagi penyaringan dan partisi.
4. Pedoman bagi penilaian kualitas.
![Page 9: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/9.jpg)
KONSEP – KONSEP DESAIN
Konsep desain PL fundamental memberikan kerangka kerjauntuk mendapatkan program yang berfungsi dengan benar.
• Abstraksi
• Penyaringan
• modularitas
• Arsitektur perangkat Lunak
• Hirarki Kontrol / struktur Program
• Partisi Struktural
• Struktur data
• Prosedur perangkat lunak
• Penyembunyian Informasi
![Page 10: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/10.jpg)
Penyaringan
• Penyaringan sebenarnya adalah proses elaborasi . Dimulai dengan suatu statemen fungsi pada suatu tingkat abstraksi tinggi.
• Statemen fungsi adalah statemen yang menggambarkan fungsi atau informasi secara konseptual.
• Penyaringan membantu desainer untuk mengungkapkan detail tingkat rendah ketika desain berjalan.
![Page 11: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/11.jpg)
Modularitas
• 5 kriteria mengevaluasi metode desainmenurut Meyer :
1. Dekomposabilitas Modular dekomposisi
2. Komposabilitas Modular
3. Kemampuan Pemahaman Modular
4. Kontinuitas Modular
5. Ptoreksi Modular
![Page 12: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/12.jpg)
Arsitektur Perangkat Lunak
• Sekumpulan properti sebagai bagian dari desainarsitektural (Shaw dan Garlan ) :
1. Properti Struktural
2. Properti Ekstra Fungsional
3. Keluarga dari sistem yang berhubungan
![Page 13: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/13.jpg)
Patern / Pola
• Design Pattern
adalah sebuah istilah (English) dalam Rekayasa PerangkatLunak (Software Engineering) yang mengacu kepada solusi umum yangdapat digunakan secara berulang kali untuk menyelesaikan masalah-masalah umum yang ditemukan dalam disain perangkat lunak.
![Page 14: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/14.jpg)
Hierarki Kontrol
• Yang paling umum digunakan adalah diagram pohon
• Depth dan width mengindikasikan jumlah modul yang dikontrol dan rentang keseluruan kontrol
• Fan-out pengukuran jumlah modul yang dikontrol secara langsung oleh modul yang lain.
• Fan-in mengindikasikan berapa banyak modul yang secara langsung mengontrol sebuah modul yang diberikan.
• Hubungan kontrol diantara kontrol :
– Superordinat (modul yang mengontrol modul lain).
– Subordinat (modul yang dikontrol modul lain
![Page 15: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/15.jpg)
Hierarki Kontrol (2)
• Visibilitas (komponen program yang dapat dipakai sebagai data oleh komponen lainnya)
• Konektivitas (Komponen yang dipakai secara tidak langsung oleh sebuah modul yang ditetapkan)
![Page 16: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/16.jpg)
Partisi Struktural
• Partisi Vertikal
• Didesain sehingga pengambilan keputusan dan pekerjaan distratifikasi
• Modul pengambilan keputusan tetap ada di puncak arsitektur
workers
decision-makers
![Page 17: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/17.jpg)
Partisi Struktural (lanjutan)
• Partisi Horizontal
• Tentukan cabang yang terpisah pada hierarki modul untuk setiap fungsi utama
• Gunakan modul kontrol untuk koodinasi komunikasi antar fungsi2x function 1 function 3
function 2
![Page 18: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/18.jpg)
Struktur Data
Struktur Data menentukan :
• Organisasi dan kompleksitas
• Item Skalar
• Metode akses
• Vektor Sekuensial
![Page 19: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/19.jpg)
DESAIN MODULAR AFEKTIF
• Mudah untuk dibangun, mudah untuk dirubah dan mudah untuk ditetapkan…
![Page 20: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/20.jpg)
Modularitas
• Berapakah jumlah modul yang pas untuk desainPL tertentu?
![Page 21: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/21.jpg)
Penyembunyian Informasi
![Page 22: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/22.jpg)
Mengapa Informasi disembunyikan?
1. Mengurangi “efek samping”
2. Membatasi pengaruh global dari keputusan desainlokal
3. Menekankan komunikasi melalui interface yang terkendali
4. Mengurangi penggunaan data global
5. Merujuk pada enkapsulasi—sebuah atribut daridesain kualitas tinggi
6. Menghasilkan PL dengan kualitas tinggi
![Page 23: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/23.jpg)
Indepedensi Fungsi
• Independensi diukur dengan menggunakan 2 kriteria kualitatif
1.Kohesi
2.Coupling
Macam-macam Kohesi• Coincidnetal Jelek/lemah• Logical• Temporal• Procedural• Communicational• Sequential• Functional baik/kuat
![Page 24: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/24.jpg)
Indepedensi Fungsi (lanjutan)
• Modul melakukan tugas :1. Menghitung data suplemen yang didasarkan pada data yang
dihitung secara orisinil.2. Menghasilkan laporan kesalahan pada workstation pemakai.3. Melakukan kalkulasi follow up yang diminta oleh pemakai.4. Memperbaharui basis data.5. Memungkinkan pemilian menu untuk pemesanan
berikutnya.• Kohesif Prosedural
Elemen pemrosesan dari suatu modul dihubungkan dan harusdieksekusi dalam suatu urutan yang spesifik.
• Kohesi Komunikasional• Semua elemen pemrosesan berkonsentrasi pada satu area
dari suatu struktur data.
![Page 25: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/25.jpg)
Perangkaian
Merupakan : Pengukuran interkoneksi diantara modul-modul pada sebuah struktur program
Heuristik Desain
1. Evaluasi ”iterasi pertama” dari struktur program untuk mengurangi perangkaian dan meningkatkan kohesi.
2. Usahakan meminimalkan struktur dengan fan-out yang tinggi ; usahakan untuk melakukan fan-in pada saat kedalaman bertambah.
3. Jaga lingkup efek dari suatu modul ada dalam lingkup kontrol dari modul itu.
4. Evaluasi interface modul untuk mengurangi kompleksitas dan redudansi dan meningkatkan konsistensi
![Page 26: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/26.jpg)
Perangkaian (lanjutan)
5. Tetapkan modul-modul yang fungsinya dapat diprediksi, tetapi hindari modul yang terlalu restriktif.
6. Usahakan modul–modul ”entri terkontrol” menghindari ”hubungan patologis”dengan
7. Kemaslah PL berdasarkan batasan desain dan persyaratan.
![Page 27: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/27.jpg)
MODEL DESAIN
• Direpresentasikan sebagai sebuah piramid.
Konsep Desain OO
• Desain Class
- Entity classes
- Boundary classes
- Controller classes
• Inheritance—semua tanggung jawab superclass akan diwarisi oleh semua subclassnya
• Messages—stimulasi beberapa perilaku yang dapat terjadi pada objek penerima pesan
• Polymorphism—sebuah karakteristik yang mengurangi usaha yang dibutuhkan untuk memperluas desain
![Page 28: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/28.jpg)
Model Desain
![Page 29: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/29.jpg)
Elemen Model Desain
• Elemen-elemen DataData model --> struktur dataData model --> arsitektur database
• Elemen-elemen arsitekturDomain aplikasiClass-class analisis, relasinya, kolaborasi dan perilaku diubah menjadi realisasi desainPatterns dam “styles” (Chapter 10)
• Elemen-elemen interfaceuser interface (UI) Interface external pada sistem lain, piranti-piranti, jaringan-jaringan atau produsen maupun konsumen informasi lainnyaInterface internal antara komponen-komponen desain.
• Elemen-elemen komponen• Elemen-elemen deploy
![Page 30: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/30.jpg)
Elemen Interface
![Page 31: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/31.jpg)
Elemen Komponen
![Page 32: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/32.jpg)
Frameworks
• Sebuah framework bukan merupakan pattern arsitektur, namun lebih merupakan kerangka dengan sekumpulan “plug points” (yang juga disebut hooksdan slots) yang memungkinkannya untuk beradaptasi dengan domain permasalahan tertentu.
• Gamma et al mencatat bahwa:
Design patterns adalah elemen-elemen arsitektural yang lebih kecil daripada frameworks
Design patterns lebih umum daripada frameworks
![Page 33: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/33.jpg)
DOKUMENTASI DESAIN
• Ruang lingkupa. sasaran sistemb. persyaratan utama PLc. batasan dan pembatasan desain
• Desain Dataa. Obyek dan struktur data resultanb. Struktur file dan database
1. struktur file eksternal2. data global
a. struktur logisb. deskripsi record logisc. metode akses
3. file dan referensi lintas data
![Page 34: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/34.jpg)
DOKUMENTASI DESAIN (lanjutan)
• Desain arsitekturala. Kajian data dan aliran kontrolb. Struktur program yang diperoleh
• Desain interfacea. Spesifikasi interfacde manusia – mesinb. Aturan desain interface manusia – mesinc. Desain interface eksternal
1. Interface untuk data eksternal2. Interface untuk sistem atau peralatan eksternal
• Desain proseduralUntuk masing-masing modela. Naratif pemrosesanb. Deskripsi interfacec. Deskripsi bahasa (atau lainnya) desain
![Page 35: Pertemuan 9€¦ · · 2015-12-07Keluarga dari sistem yang berhubungan. Patern / Pola ... Menghasilkan laporan kesalahan pada workstation pemakai. 3. ... Memperbaharui basis data.](https://reader033.fdocuments.us/reader033/viewer/2022052712/5ae2e70c7f8b9a595d8dc284/html5/thumbnails/35.jpg)
DOKUMENTASI DESAIN (lanjutan)
c. Deskripsi bahasa (atau lainnya) desain
d. Modul yang digunakan
e. Struktur data internal
f. Keterangan / larangan / pembatasan
• Persyaratan lintas referensi
• Ketentuan Pengujian
– Panduan pengujian
– Strategi integrasi
– Pertimbangan khusus
• Catatan Khusus
• Lampiran