Madhata,S.KomRekayasa Perangkat Lunak 1 bimocahyo1 SOFTWARE DESIGN.

Slides:



Advertisements
Presentasi serupa
Solusi Persamaan Diferensial Biasa (Bag. 1)
Advertisements

Pemrograman Terstruktur
Selamat Datang Dalam Kuliah Terbuka Ini
Memahami Etimologi Multimedia
Menunjukkan berbagai peralatan TIK melalui gambar
Komponen Dan Model Sistem Informasi
Translasi Rotasi Refleksi Dilatasi
KONSEP PENGEMBANGAN REKAYASA PERANGKAT LUNAK
©Ayi Purbasari, S.T., /2008 Materi 3 Kuliah IT-505 PSBO ©Ayi Purbasari, S.T., /2008.
DASAR-DASAR PENGUJIAN PERANGKAT LUNAK
Tugas Praktikum 1 Dani Firdaus  1,12,23,34 Amanda  2,13,24,35 Dede  3,14,25,36 Gregorius  4,15,26,37 Mirza  5,16,27,38 M. Ari  6,17,28,39 Mughni.
Input/Output.
Tugas: Perangkat Keras Komputer Versi:1.0.0 Materi: Installing Windows 98 Penyaji: Zulkarnaen NS 1.
Bab 6 PERANCANGAN PERANGKAT LUNAK
PERANGKAT AKREDITASI SD/MI
DESAIN ARSITEKTUR PERANGKAT LUNAK
Menentukan komposisi dua fungsi dan invers suatu fungsi
Nama: AGUS PRAYOGA INSTALASI WINDOWS XP Kelas : X_TKJ_1.
Perancangan Perangkat Lunak lanjutan Kuliah - 7
KETENTUAN SOAL - Untuk soal no. 1 s/d 15, pilihlah salah satu
1 Calculation Specification untuk mendefinisikan seluruh kalkulasi yang dibutuhkan dalam program termasuk logika dan proses,dapat juga digunalan sebagai.
Input Specification1 untuk mendefinisikan semua file input yang digunakan dalam program (file yang akan digunakan telah didefinisikan pada coding F), mencakup.
BAB 2 PENERAPAN HUKUM I PADA SISTEM TERTUTUP.
Selamat Datang Dalam Kuliah Terbuka Analisis Rangkaian Listrik Sesi-9
MATRIKS Trihastuti Agustinah.
KONSEP DESAIN SOFTWARE DATABASE
WEEK 6 Teknik Elektro – UIN SGD Bandung PERULANGAN - LOOPING.
WORKSHOP INTERNAL SIM BOK
Pertemuan 8 Proyek Sistem Informasi Viska Armalina, ST., M.Eng
Tugas: Power Point Nama : cici indah sari NIM : DOSEN : suartin marzuki.
Integral Lipat-Tiga.
Selamat Datang Dalam Kuliah Terbuka Ini
: : Sisa Waktu.
Luas Daerah ( Integral ).
PEMINDAHAN HAK DENGAN INBRENG
Fungsi Invers, Eksponensial, Logaritma, dan Trigonometri
FUNGSI MATEMATIKA DISKRIT K- 6 Universitas Indonesia
Pemrograman Terstruktur
EKUIVALENSI LOGIKA PERTEMUAN KE-7 OLEH: SUHARMAWAN, S.Pd., S.Kom.
Turunan Numerik Bahan Kuliah IF4058 Topik Khusus Informatika I
KONTROL ALUR EKSEKUSI PROGRAM
Selamat Datang Dalam Kuliah Terbuka Ini
Graf.
6 Managing Software Requirement Perancangan
Komunikasi Antar Modul,
Situasi Saat Program Berjalan (Run-time Environment)
PERANCANGAN PERANGKAT LUNAK
1 OOAD Classes. 2 Diagram Kelas Diagram kelas digunakan untuk: Memodelkan vocabulary sistem: menggambarkan abstraksi-abstraksi yang terdapat pada sistem.
DEA (Data Encryption Algorithm)
Suwirno Mawlan, S.Kom., M.T.I
Selamat … Hari Raya Idul Fithri 1424 H Mohon Maaf Lahir Batin
FUNGSI STRUKTUR DISKRIT K-8 Program Studi Teknik Komputer
G RAF 1. P ENDAHULUAN 2 3 D EFINISI G RAF 4 5.
Bahan Kuliah IF2091 Struktur Diskrit
Algoritma Branch and Bound
Analisis Kebutuhan dan Spesifikasi Perangkat Lunak
PERANCANGAN KASUS UJI.
Bahan Kuliah IF2120 Matematika Diskrit
PERANCANGAN ANTARMUKA ATAU LAYAR.
Pohon (bagian ke 6) Matematika Diskrit.
Proses Oleh : Wahyu Andhyka Kusuma
PERANCANGAN SISTEM.
Pengantar sistem informasi Rahma dhania salamah msp.
PERANCANGAN PERANGKAT LUNAK ( PL )
PENGEMBANGAN PERANCANGAN SISTEM
PERTEMUAN 13.
Analisa Perancangan Sistem
ANALISIS KEBUTUHAN PERANGKAT LUNAK
Rekayasa Perangkat Lunak
Analisa Perancangan Sistem
Transcript presentasi:

Madhata,S.KomRekayasa Perangkat Lunak 1 bimocahyo1 SOFTWARE DESIGN

Madhata,S.KomRekayasa Perangkat Lunak 2 bimocahyo2  Merancang adalah proses kreatif  Kuncinya harus sering berlatih  Tiga tahap mengatasi problema dalam perancangan Stages of design PELAJARI & PAHAMI PERMASALAHAN TENTUKAN RANCANGAN GLOBAL BUAT RANCANGAN RINCI

Madhata,S.KomRekayasa Perangkat Lunak 3 bimocahyo3 Stages of design  Tiga tahap mengatasi problema dalam perancangan(ljt)  Pelajari & pahami permasalahan  Tanpa pemahaman tidak bermanfaat  Pemahaman bisa salah  Pemahaman yg salah membawa kearah yg salah  Pemahaman yang benar  Memudahkan penerimaan oleh user

Madhata,S.KomRekayasa Perangkat Lunak 4 bimocahyo4 Stages of design  Lihat dari berbagai sudut pandang  Kebutuhan bisa terlihat berbeda  Cara memahami kebutuhan  Gunakan berbagai pemodelan

Madhata,S.KomRekayasa Perangkat Lunak 5 bimocahyo5 Stages of design  Tiga tahap mengatasi problema dalam perancangan(ljt)  Tentukan rancangan global  Buat garis besar pemecahan permasalahan  Rancang lebih dari satu alternatif  kemudian lakukan evaluasi bersama user  Pilihan solusi tergantung  Pengalaman & pengetahuan perancang  Mempengaruhi bentuk & pilihan solusi

Madhata,S.KomRekayasa Perangkat Lunak 6 bimocahyo6 Stages of design  Ketersediaan reusable component  Komponen yang diadopsi dari sistem lain  Kesederhanaan (simplicity )  rancangan harus diupayakan sederhana

Madhata,S.KomRekayasa Perangkat Lunak 7 bimocahyo7 Stages of design  Tiga tahap mengatasi problema dalam perancangan (ljt)  Buat rancangan rinci  Solusi yang terpilih dirinci  Dilakukan tahap-tahap implementasi  Terdiri dari-tahap-tahap  Perancangan antar muka  Perancangan komponen  Perancangan struktur data  Perancangan algoritma

Madhata,S.KomRekayasa Perangkat Lunak 8 bimocahyo8 Stages of design  Rancangan rinci bisa memperlihatkan  Kesalahan  ketidak lengkapan TEMUKAN & PERBAIKI

Madhata,S.KomRekayasa Perangkat Lunak 9 bimocahyo9 Tahap-tahap perancangan SPESIFIKASI KEBUTUHAN RANCANGAN ARSITEKTUR SPESIFIKASI ABSTRAK RANCANGAN ANTAR-MUKA RANCANGAN KOMPONEN RANCANGAN STRUKTUR DATA RANCANGAN ALGORITMA ARSITEKTUR SISTEM SPESIFIKASI PERANGKAT LUNAK SPESIFIKASI ANTAR-MUKA SPESIFIKASI KOMPONEN SPESIFIKASI STRUKTUR DATA SPESIFIKASI ALGORITMA

Madhata,S.KomRekayasa Perangkat Lunak 10 bimocahyo10 Tahap-tahap perancangan Rancangan arsitektur  Rancangan arsitektur  Sistem akan berisi apa saja  Komponen apa yang terdapat di dalam sistem  Penentuan sub-sistem yang mendukung  Interaksi sistem dengan lingkungannya  Sistem apa saja yang ada disekitarnya  Apa yang dibutuhkan dari sistem disekitarnya  Apa yang dapat diberikan untuk sistem disekitarnya

Madhata,S.KomRekayasa Perangkat Lunak 11 bimocahyo11 Tahap-tahap perancangan Spesifikasi abstrak  Spesifikasi abstrak  Spesifikasi tentang perilaku sistem  Dibuat untuk tiap sub-sistem  Satu untuk tiap sub-sistem  Menjelaskan tentang:  Kemampuan sistem  Apa yang dapat dilakukan oleh sistem  Apa yang tidak dapat dilakukan oleh sistem  batasan sistem  Bagaimana sistem melakukan proses

Madhata,S.KomRekayasa Perangkat Lunak 12 bimocahyo12 Tahap-tahap perancangan Rancangan antar-muka  Rancangan antar-muka  Penghubung antara sistem dengan dunia luar  Sistem dengan sistem lainnya  Sistem dengan user  Sub-sistem satu dengan lainnya Rancangan komponen  Rancangan komponen  Proses dikelompokkan  Ditempatkan ke dalam modul-modul terpisah  Penentuan antar-muka antar komponen

Madhata,S.KomRekayasa Perangkat Lunak 13 bimocahyo13 Tahap-tahap perancangan  Rancangan struktur-data  Rincian struktur-data yang dipakai oleh sistem  Pilihan struktur data ditentukan Rancangan algoritma  Rancangan algoritma  Rincian algoritma pemecahan masalah  Pilihan pemanfaatan algoritma tertentu

Madhata,S.KomRekayasa Perangkat Lunak 14 bimocahyo14 Strategi perancangan STRATEGI PERANCANGAN FUNCTIONAL DESIGN OBJECT-ORIENTED DESIGN

Madhata,S.KomRekayasa Perangkat Lunak 15 bimocahyo15 Strategi perancangan Rancangan fungsional  Rancangan fungsional  Sistem dirancang dengan melihat proses apa saja yang ada di dalamnya  Bertahap dari high-level ke detail design  Strategi yang dipakai structure design memanfaatkan :  Data-flow model  Entity-relationship model  Structural model  Structure chart

Madhata,S.KomRekayasa Perangkat Lunak 16 bimocahyo16 Strategi perancangan  Alternatif strategi  Jackson method  Warnier-orr method

Madhata,S.KomRekayasa Perangkat Lunak 17 bimocahyo17 Strategi perancangan Rancangan berorientasi obyek  Rancangan berorientasi obyek  Sistem dirancang sebagai koleksi dari obyek  Ide dasarnya adalah information hiding  Penyembunyian informasi  Tiap obyek mempunyai  sejumlah attribut  Operasi berdasarkan attribut yang ada  Obyek bisa mempunyai attribut yang diturunkan dari obyek lainnya  Obyek berkomunikasi dengan obyek lainnya  Melalui message

Madhata,S.KomRekayasa Perangkat Lunak 18 bimocahyo18 Kualitas Rancangan  Tidak ada kesepakatan tentang rancangan yang baik.  Yang penting rancangan sesuai spesifikasi.  Rancangan yang baik kemungkinan berbentuk.  Rancangan efisien  Menghasilkan program yang bekerja dengan efisien  Rancangan minimal  Menghasilkan program sangat kompak  Ukurannya kecil

Madhata,S.KomRekayasa Perangkat Lunak 19 bimocahyo19 Kualitas Rancangan  Rancangan yang mudah dirawat  Mudah diadaptasi  Disesuaikan dengan kebutuhan, diubah/ ditambah/dikurangi  Rancangan terpadu  Perubahan bersifat lokal  Kohesi tinggi  Kopling rendah

Madhata,S.KomRekayasa Perangkat Lunak 20 bimocahyo20 Elemen Proses Perancangan  Perancangan Data Transformasi model data yang dihasilkan oleh proses analisis menjadi struktur data yang dibutuhkan pada saat implementasi.  Perancangan Arsitektur Definisi keterkaitan antar elemen-elemen utama yang akan membentuk program

Madhata,S.KomRekayasa Perangkat Lunak 21 bimocahyo21  Perancangan Antarmuka Penjabaran komunikasi : internal PL; antar PL dengan sistem diluarnya dan antara PL dengan usernya.  Perancangan Prosedural Transformasi dari elemen struktur dari arsitektur program menjadi deskripsi prosedur. Elemen Proses Perancangan

Madhata,S.KomRekayasa Perangkat Lunak 22 bimocahyo22 Posisi Perancangan  Merupakan proses kreatif dalam memecahkan dan memberikan solusi atas pembangunan PL  Filosofi proses perancangan : -Mengemukakan suatu solusi -Membangun model dari suatu solusi -Evaluasi terhadap kebutuhan -Penjabaran atas solusi tersebut

Madhata,S.KomRekayasa Perangkat Lunak 23 bimocahyo23 Fungsi Proses Perancangan  Translasi/pengembangan spesifikasi PL  Penjabaran bagaimana PL dapat berfungsi  Penjabaran bagaimana spesifikasi PL dapat diimplementasikan.

Madhata,S.KomRekayasa Perangkat Lunak 24 bimocahyo24 Perancangan vs Kualitas PL  Selama proses perancangan kualitas perancangan selalu dipantau melalui “review teknik formal”  Petunjuk untuk evaluasi kualitas (Mcglaughlin)  Perancangan harus mengimplementasikan semua kebutuhan PL baik secara implisit dan eksplisit.  Harus readable, understandable, khususnya bagi programmer, tester dan pelaku maintenance.  Harus menyajikan gambaran lengkap PL meliputi : model data, fungsi, prilaku PL dari sudut pandang prefektif implementasi.

Madhata,S.KomRekayasa Perangkat Lunak 25 bimocahyo25 Prinsip-prinsip Perancangan oMempertimbangkan beberapa alternatif solusi oTraceable (dapat dilacak) terhadap model analisis. oMempertimbangkan dan menghasilkan komponen reusable oMeminimasi kesenjangan antara PL dengan kondisi nyata oMemperlihatkan keragaman dan integrasi oMengakomodasi perubahan oAbstrak lebih detail dari analisis & lebih tinggi dari coding oHarus di-review untuk meminimasi kesalahan.

Madhata,S.KomRekayasa Perangkat Lunak 26 bimocahyo26 Perancangan Data oMemilih respresentasi lojik dari objek data yang ditemukan pada proses analisis. oRefinement (perbaikan) terhadap data dictionary menjadi : -Struktur data -Struktur file/database oPenentuan struktur data dan struktur file membutuhkan kreativitas dan sistematika yang rapih agar tidak menyulitkan untuk proses perancangan berikutnya

Madhata,S.KomRekayasa Perangkat Lunak 27 bimocahyo27 Perancangan Data oHasil Perancangan Data adalah : -Struktur data siap diprogram -Struktur basis data siap dibuat oleh programmer -Prosedur/operasi untuk mengakses data siap diprogram.

Madhata,S.KomRekayasa Perangkat Lunak 28 bimocahyo28 Fokus : oAntarmuka antar modul-modul PL oAntarmuka antar PL dengan sumber informasi selain manusia (external Entity) oAntarmuka antar manusia (users) dengan komputernya Perancangan Antarmuka

Madhata,S.KomRekayasa Perangkat Lunak 29 bimocahyo29 Hal penting dalam perancangan antarmuka : o Harus konsisten (font, warna, bahasa) o Memberikan umpan balik ke pengguna o Efisiensi dialog, gerak dan pikiran pengguna o Mengelompokkan aktivitas berdasarkan fungsi o Sediakan bantuan (help) o Pesan kesalahan harus berarti o Sesuaikan dengan kubutuhan dan kebiasaan user. Perancangan Antarmuka

Madhata,S.KomRekayasa Perangkat Lunak 30 bimocahyo30 o Perancangan antarmuka dapat dilakukan secara : -Manual, dilakukan pada kertas -Bantuan alat bantu berupa software o Hasil perancangan antarmuka : -Definisi antarmuka modul yang siap untuk diprogram -Definisi/format rancangan yang siap diimplementasikan Perancangan Antarmuka

Madhata,S.KomRekayasa Perangkat Lunak 31 bimocahyo31 Perancangan Prosedural  Tahapan akhir pada proses perancangan  Membentuk algoritma siap program dengan menggunakan dan mengacu pada : -Struktur data yang terbentuk pada perancangan data -Struktur modul kendali pada structure chart hasil perancangan arsitektur. -Struktur, rancangan menu dan format layar hasil perancangan antarmuka.

Madhata,S.KomRekayasa Perangkat Lunak 32 bimocahyo32  Dua hal yang harus diperhatikan : -Coupling : ukuran kekuatan saling ketegantungan antar modul-modul software. -Cohesion : Ukuran kekuatan modul- modul perangkat lunak secara fungsional relatis terhadap modul perangkat lunak itu sendiri. Perancangan Prosedural

Madhata,S.KomRekayasa Perangkat Lunak 33 bimocahyo33 K o h e s i • Keterkaitan aktifitas di dalam modul • Semakin tinggi kohesi semakin baik • Kohesi ada 7 macam 1 Functional cohesion 2 Sequential cohesion 3 Communicational cohesion 4 Procedural cohesion 5 Temporal cohesion 6 Logical cohesion 7 Coincidental cohesion

Madhata,S.KomRekayasa Perangkat Lunak 34 bimocahyo34 K o h e s i Functional cohesion 1 Functional cohesion  Hanya mengerjakan satu tugas  Hanya mempunyai satu tujuan FUNCTIONAL DESIGN Module Calculate Salary Input Work_Days, Pay_Per_Day Salary = Work_Days X Pay_Per_Day End Module

Madhata,S.KomRekayasa Perangkat Lunak 35 bimocahyo35 Informational (sequential) cohesion 2 Informational (sequential) cohesion  Modul mengerjakan urutan tugas  Dengan memakai struktur data yang sama O-O DESIGN K o h e s i Module Calculate Final_Grade Input Absen, Mid_Term, Final Calculate Final_Point Transfer Final_Point into Grade End Module

Madhata,S.KomRekayasa Perangkat Lunak 36 bimocahyo36 K o h e s i Communicational cohesion 3 Communicational cohesion  Modul berisi sejumlah aktifitas Dengan memakai data yg sama Module Calculate Input Length, Wide Keliling = (Length + Wide) X 2 Area = Length X Wide End Module

Madhata,S.KomRekayasa Perangkat Lunak 37 bimocahyo37 K o h e s i Procedural cohesion 4. Procedural cohesion  Modul mengerjakan urutan proses tertentu Module Entry_Student Open Student_File Input Student_Data Write Student_Data Close Student_File End Module

Madhata,S.KomRekayasa Perangkat Lunak 38 bimocahyo38 K o h e s i Temporal cohesion 5 Temporal cohesion  Modul berisi kelompok komponen-komponen modul  Terkelompok karena kesamaan waktu eksekusi Module Begin Line_Number = 0 Page_Number = 0 Total = 0 Clear Buffer End Module

Madhata,S.KomRekayasa Perangkat Lunak 39 bimocahyo39 K o h e s i Logical cohesion 6 Logical cohesion  Modul berisi komponen yang mengerjakan tugas yang sama  Contoh: Sebuah modul yang berisi semua kegiatan mencetak Module Open_Files Open Student_File Open Course_File Open Lecture_File End Module Module Checking Find Maximum Find Minimum Find Avegrae End Module

Madhata,S.KomRekayasa Perangkat Lunak 40 bimocahyo40 K o h e s i Coincidental cohesion 7 Coincidental cohesion  Modul mengerjakan beragam tugas  Yang tidak saling terkait  Biasanya berisi 25 sampai 50 baris program Module Process Open Student_File Find Maximum_Salary Print Lecture_Data Calculate Gross_Income End Module

Madhata,S.KomRekayasa Perangkat Lunak 41 bimocahyo41 One Task? YES NO 6. Logical 7. Coincidental 1. Functional YES NO BY SEQUENCE YES NO 2. Sequential 3. Communicational DATA YES NO 4. Procedural 5. Temporal NONE FLOW OF CONTROL Activity Connected By BY SEQUENCE SAME ACTIVYTIES Good Design Guideline

Madhata,S.KomRekayasa Perangkat Lunak 42 bimocahyo42 K o p l i n g • Keterkaitan modul satu dengan lainnya • Semakin rendah kopling semakin baik • Kelompok kopling ada 3 : 1 Normal coupling a. Data coupling b. Stamp coupling c. Control coupling 2 Common coupling 3 Content coupling

Madhata,S.KomRekayasa Perangkat Lunak 43 bimocahyo43 K o p l i n g Normal coupling 1 Normal coupling a. Data coupling • Komunikasi dengan data b. Stamp coupling • Komunikasi dengan struktur data (Keseluruhan record) c. Control coupling • Komunikasi dengan flag/switch

Madhata,S.KomRekayasa Perangkat Lunak 44 bimocahyo44 K o p l i n g a. Data coupling • Komunikasi dengan data CALCULATE FINAL-GRADE CONVERT GRADE ALPHABET-G NUMBER-G

Madhata,S.KomRekayasa Perangkat Lunak 45 bimocahyo45 K o p l i n g b. Stamp coupling • Komunikasi dengan struktur data (Keseluruhan record) FIND-DATA READ F-STUDENT STUDENT-REC

Madhata,S.KomRekayasa Perangkat Lunak 46 bimocahyo46 K o p l i n g c. Control coupling • Komunikasi dengan flag/switch COLLECT-DATA READ F-STUDENT STUDENT-REC EOF

Madhata,S.KomRekayasa Perangkat Lunak 47 bimocahyo47 K o p l i n g Common coupling 2 Common coupling • Komunikasi menggunakan global variable Content coupling 3 Content coupling • Modul mempengaruhi bentuk statement pada modul yang dipanggil ataupun sebaliknya

Madhata,S.KomRekayasa Perangkat Lunak 48 bimocahyo48  Alat bantu yang dapat digunakan : -Flowchart -Algoritma/psedoucode/Program design language (PDL) Perancangan Prosedural