Prinsip dan Konsep Desain Perangkat Lunak

dokumen-dokumen yang mirip
Pertemuan 5 Konsep dan Prinsip Desain TIK : Menjelaskan konsep, prinsip dan tahapan dalam perancangan software

Tujuan. Menghasilkan suatu model atau representasi dari entitas yang kemudian akan dibangun. Tim RPL 1 2

REKAYASA PERANGKAT LUNAK MATERI TM 10

BAB V KONSEP DAN PRINSIP DESAIN

Tujuan 04/07/ :01

Software Design. Konsep dan Prinsip Desain Struktur Desain. Mira/Rpl/Design

Minggu 6 Prinsip & Konsep Desain

Analisis dan desain model

Rekayasa Perangkat Lunak

MODEL DESAIN DOKUMENTASI DESAIN

Tujuan. entitas yang kemudian akan dibangun. ó Menghasilkan suatu model atau representasi dari. Tim RPL 1 2

Bab 6 PERANCANGAN PERANGKAT LUNAK

KONSEP DAN PRINSIP DESAIN. Oleh I Made Cipta Wahyudi

Pertemuan 9 PRINSIP DAN KONSEP DESAIN

MAKALAH DESAIN PERANGKAT LUNAK. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

MAKALAH REKAYASA PERANGKAT LUNAK ( KONSEP DESAIN PERANGKAT LUNAK )

PRINSIP DAN KONSEP DESAIN

REKAYASA PERANGKAT LUNAK LANJUT DESIGN ENGINEERING. Defri Kurniawan M.Kom

Design Engineering. Tim RPL. Program Studi Teknik Informatika

DESAIN PERANGKAT LUNAK

Prinsip & Konsep Perancangan Sistem

P10 Konsep & Prinsip Desain. A. Sidiq P.

Pengayaan Software/Hardware dan Pengantarmukaan

: ENDRO HASSRIE. Nim : : REKAYASA PERANGKAT LUNAK DESAIN PERANG LUNAK DAN REKAYASA PERANGKAT LUNAK

Prinsip Fundamental dalam Desain Perangkat Lunak

REKAYASA PERANGKAT LUNAK

Terjemahan model analisis menjadi desain software

Dibuat Oleh : 1. Andrey ( )

5 Perancangan Perangkat Lunak

pada masalah pengumpulan kebutuhan pengguna pada tingkatan sistem (system requirements) dengan mendefinisikan konsep sistem beserta interface yang

DESAIN PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK

10/4/2007. Posisi Perancangan dalam RPL. Fungsi Proses Perancangan. Elemen Proses Perancangan (1) Perancangan vs Kualitas PL

Perspektif Alur-kerja (workflow) - barisan kegiatan Perspektif Alur Data (Data flow) alur informasi Perspektif Peran/Aksi siapa melakukan apa.

REKAYASA PERANGKAT LUNAK MATERI TM 12

PROSES MODEL DESAIN PERANGKAT LUNAK

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

MODEL DESAIN & DOKUMENTASI DESAIN

2. BAB II LANDASAN TEORI. lanjut sehingga terbentuk suatu aplikasi yang sesuai dengan tujuan awal.

DESAIN SISTEM AKUNTANSI TERINCI

13. KONSEP DAN PRINSIP PERANCANGAN (DESAIN)

MAKALAH DESAIN DATA DAN ARSITEKTUR. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

Metode Perancangan. Tahap Perancangan

Rekayasa Perangkat Lunak (Software Engineering)

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

BAB III METODOLOGI PENELITIAN

PENDAHULUAN. A. Berorientasi Objek. 1. Karakteristik dari Objek

SOFTWARE TESTING. Ratna Wardani

BAB I PENDAHULUAN. yaitu sistematika penulisan yang merupakan indeks laporan tugas akhir, dimana. tiap sub bab berisi penjelasan ringkasan perbab.

BAB III METODOLOGI PENELITIAN. tools yang akan digunakan untuk merancang aplikasi generator denah

A. Model Desain Perangkat Lunak

BAB V PERANCANGAN MOXIE

DESAIN PERANGKAT LUNAK DAN REKAYASA PERANGKAT LUNAK PRINSIP DESAIN KONSEP DESAIN

DESAIN PERANGKAT LUNAK. Ign.F.Bayu Andoro.S, M.Kom

BAB I PENDAHULUAN. Badan Perencanaan Pembangunan Daerah (Bappeda) Kota Bandung adalah salah

Nama : Rendi Setiawan Nim :

IMPLEMENTASI PERANGKAT LUNAK

BAB III METODOLOGI PENELITIAN. Desain penelitian disusun berdasarkan tahapan sebagai berikut:

Produk perangkat lunak tersebut:

Konsep Perancangan Perangkat Lunak

BAB II LANDASAN TEORI. sehingga komputer dapat memproses input menjadi output.

Konsep Desain Software

DESAIN TEST CASE. Tugas ke 11 Rekayasa Perangkat Lunak

SATUAN ACARA PERKULIAHAN

MAKALAH MODEL DESAIN DAN DOKUMENTASI DESAIN. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

Tugas Rekayasa Perangkat Lunak

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. Pada saat ini perkembangan informasi telah berkembang dengan sangat pesat,

BAB III METODOLOGI PENELITIAN

BAB II DASAR TEORI. 2.2 Sistem Suku Bunga Secara umum terdapat dua metode dalam perhitungan bunga, yaitu metode Flat dan Efektif.

MAKALAH REKAYASA PERANGKAT LUNAK ( SIKLUS HIDUP PERANGKAT LUNAK )

A. Pengujian Perangkat Lunak

BAB III METODOLOGI PENELITIAN. 3.1 Desain Penelitian Gambar desain penelitian adalah sebagai berikut:

BAB III METODE PENELITIAN. a. Menentukan kebutuhan data yang dibutuhkan. b. Mengumpulkan semua data yang dibutuhkan.

MAKALAH REKAYASA PERANGKAT LUNAK ( PEMODELAN DATA )

Garis-Garis Besar Program Pembelajaran Berbasis Kompetensi

TEKNIK PENGUJIAN PERANGKAT LUNAK (Software Testing Techniques)

ANALISIS DAN PERANCANGAN SISTEM (APS) Konsep Perancangan

Nama : Rendi Setiawan Nim :

Review of Process Model. SE 3773 Manajemen Proyek Teknologi Informasi *Imelda Atastina*

12. KONSEP DAN PRINSIP ANALISIS

Implementasi Sistem dan Maintenace Sistem. Sistem Informasi Universitas Gunadarma 2012/2013

BAB III LANDASAN TEORI

BAB 1 PENDAHULUAN. Kantor Pelayanan Pajak Pratama Jakarta Kramat Jati merupakan suatu

Object-Oriented Design

BAB I PENDAHULUAN. CV. Ikhlas Maju Sejahtera didirikan pada tanggal 23 Februari 2010.

PERANCANGAN BERORIENTASI OBJEK

PEMROGRAMAN TERSTRUKTUR

BAB III OBJEK DAN METODE PENELITIAN. Dalam penelitian ini yang menjadi objek penelitian yaitu Apotek Cibatu

BAB III LANDASAN TEORI. mengumpulkan (input), memanipulasi (process), menyimpan, dan menghasilkan

BAB III LANDASAN TEORI. Dalam mendefinisikan istilah bimbingan, para ahli bidang bimbingan dan

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

Tugas 5 Rekayasa Perangkat Lunak. Artikel mengenai Modularity dalam perangkat Lunak

BAB II LANDASAN TEORI. pembelian dilakukan dengan mengubah bentuk barang. 2003). Menurut Soemarso S.R (1994) kegiatan pembelian dalam perusahaan

BAB III METODOLOGI PENELITIAN

BAB II LANDASAN TEORI

BAB III METODOLOGI PENELITIAN

Dibuat Oleh : 1. Andrey ( )

Hanif Fakhrurroja, MT

BAB III OBJEK DAN METODE PENELITIAN. Objek penelitian yang di ambil penulis adalah Apotek Century Jalan

BAB III TEORI PENUNJANG. semua bentuk kegiatan pencatatan yang berkaitan dengan pemanfaatan,

Transkripsi:

Prinsip dan Konsep Desain Perangkat Lunak Desain adalah salah satu langkah dalam fase pengembangan bagi setiap produk atau sistem yang direkayasa. Desain dapat didefinisikan berbagai proses aplikasi berbagai teknik dan prinsip bagi tujuan pendefinisian suatu perangkat, suatu proses atau sistem dalam detail yang memadai untuk memungkinkan realisasi fisiknya [TAY59] Proses terdiri dari 2 tahap : 1. Preliminary Design pada tahap ini difokuskan dengan transformasi dari keperluan / kebutuhan ke dalam data dan arsitektur software. 2. Detail Design difokuskan pada penghalusan representasi arsitektur yang berisi struktur data detail dan algoritma untuk software. Tujuan desainer adalah untuk menghasilkan suatu model atau representasi dari entitas yang kemudian akan dibangun.desain perangkat lunak berada pada inti teknik dari proses rekayasa perangkat lunak dan diaplikasikan tanpa memperhatikan model proses perangkat lunak yang digunakan. Begitu persyaratan perangkat lunak telah mulai dianalisis dan ditentukan, maka desain perangkat lunak menjadi yang pertama dari tiga aktivitas teknik desain, pembuatan kode dan pengujian yang diperlukan untuk membangun dan menguji perangkat lunak. Persyaratan perangkat lunak, yang dimanifestasi oleh data, fungsional, dan model-model perilaku, mengisi langkah desain. Dengan menggunakan satu dari sejumlah metode desain, langkah desain menghasilkan : desain data desain arsitektur desain interface desain prosedural Selama desain, kita dapat membuat keputusan yang akan mempengaruhi kesuksesan konstruksi perangkat lunak dan kemudahan maintenancenya.

Desain sangat penting karena dapat menentukan kualitas dari suatu perangkat lunak.desain perangkat lunak adalah suatu proses interaktif yang melaluinya persyaratan diterjemahkan ke dalam suatu cetak biru untuk membangun perangkat lunak. Cetak biru menggambarkan suatu pandangan menyeluruh perangkat lunak, yaitu bahwa desain dihadirkan pada tingkat abstraksi yang tinggi (dapat secara langsung ditelusuri sampai data spesifik, fungsional, dan persyaratan behavioral) Data design mengubah informasi menjadi struktur data untuk mengimplementasikan software Data design dibuat berdasarkan data dictionary dan ERD. Architectural design mendefinisikan relasi antara elemen - elemen structural utama, pola desain yang digunakan untuk mencapai kebutuhan yang ditentukan untuk sistem dan batasanbatasan yang mempengaruhi bagaimana desain arsitektural ini diterapkan. Desain ini berdasarkan spesifikasi sistem, model analisis (bagian DFD) dan interaksi antara subsistem. Interface design menjelaskan bagaimana software berkomunikasi dalam dirinya, dengan sistem yang bertukar informasi dengannya, dan dengan manusia yang menggunakannya. DFD diperlukan untuk desain ini. Component - level design menghasilkan deskripsi prosedur software. Kualitas desain dan software Agar dihasilkan desain yang baik suatu desain haruslah : Memperlihatkan organisasi hirarki yang mengontrol elemen-elemen software. Software secara logika terbagi dalam elemen-elemen yang membentuk fungsi dan sub fungsi. Berisi representasi yang berbeda dan terpisah dari data dan prosedur. Membentuk modul ( contoh subroutine dan procedure ) yang memperlihatkan karakteristik fungsi yang tidak saling bergantung. Diturunkan dengan menggunakan metode perulangan yang didukung oleh informasi yang ada selama analisa kebutuhan software

Program structure Program structure menampilkan / menyajikan organisasi ( seringkali organisasi hirarki ) dari komponen-komponen program ( modul-modul ) dan mengandung arti hirarki dari kontrol program. Notasi yang digunakan adalah diagram tree. Biasanya dinamakan structure chart. Prinsip Desain David [DAV95] memaparkan sekumpulan prinsip untuk desain software : Proses desain seharusnya tidak bertahan dari tunnel vision. Desain harus dapat di trace ke model analisa. Desain seharusnya tidak menemukan/invent wheel. Desain harus memperkecil jarak intellectual antara software dan masalah-masalah pada dunia nyata. Desain harus mengeluarkan uniformity dan integrasi. Desain harus terstruktur untuk mengakomodasi perubahan. Desain harus terstruktur untuk mendegradasi secara halus(degrade gently). Desain bukan coding. Desain harus di-assessed untuk kualitas. Desain harus diulang untuk meminimalis kesalahan konsep. Konsep Desain Abstraction Abstraction adalah gambaran dari fungsi suatu program. Gambaran ini bisa bertingkattingkat. Tingkat yang paling atas adalah gambaran suatu fungsi program dengan menggunakan bahasa alami. Pada tingkat terendah, menghasilkan abstraksi yang bersifat prosedural/ langkah perlangkah dengan menggunakan istilah yang teknis dan bisa diimplementasikan menjadi fungsi program. Refinement Penjelasan detil dari abstraction refinement membantu designer untuk memperlihatkan detil dari lowest level dari abstraction. Abstraction dan refinement merupakan konsep yang saling melengkapi.

Konsep Desain Modularity Software dibagi komponen dengan nama dan alamat yang berbeda, disebut modul. Meyer [MEY88] mendefenisikan beberapa kriteria yang memungkinkan kita mengevaluasi sebuah metode desain Modular composability: sebuah metode desain memungkinkan komponen desain yang telah ada dirakit ke sebuah sistem baru. Modular understandability: sebuah modul dapat dimengerti sebagai sebuah unit yang berdiri sendiri dan akan lebih mudah membangun dan mengubahnya. Modular continuity: perubahan kecil terhadap kebutuhan sistem menghasilkan perubahan pada tiap modul, dibanding perubahan system-wide. Modular protection: sebuah kondisi aberrant terjadi dalam sebuah modul dan efeknya di-constrain dalam modul. Desain Arsitektur Software Suatu sistem, entah itu besar atau tidak, dibangun dari sub-sub sistem yang lebih kecil. Sub-sub sistem ini memiliki fungsi sendiri-sendiri. Proses merancang untuk menentukan sub-sub sistem dan membangun kerangka kerja untuk kendali dan komunikasi antar sub sistem disebut

design arsitektural. Proses merancang ini menghasilkan arsitektur software atau arsitektur sistem. Desain arsitektur adalah aktifitas desain yang pertama dalam pembangunan software Desain arsitektur memberikan 3 keuntungan yaitu: arsitektur software menjadi media komunikasi dan diskusi karena mudah dipahami memberi kemudahan dalam melakukan analisis terhadap software yang akan dibangun arsitekturnya bisa digunakan lagi untuk sistem selanjutnya (reusable) Tiap perancang sistem memiliki kemampuan dan pengetahuan yang berbeda dalam merancang arsitektural. Aktifitas - aktifitas berikut adalah aktifitas dalam merancang dan aktifitas ini tidak dikerjakan satu persatu berurutan, tapi bisa dilakukan bersamaan, yang meliputi : Menyusun sistem (system structuring) sistem disusun menjadi beberapa subsistem utama, dimana subsistem adalah unit bagian software yang berdiri sendiri. Membuat model kendali (Control modelling) berkaitan dengan hubungan antara bagian dalam sistem. Membuat pembagian sistem menjadi modul-modul (modular decomposition) membagi sub-sub sistem menjadi modul-modul. Software procedure Fokus pada detil proses pada tiap modul. Prosedur menjelaskan proses, urutan kejadian, proses perulangan, penentuan keputusan/arah. Ini bisa digambarkan dengan menggunakan Flow Chart yang bertingkat. Information Hiding Ide dari information hiding (menyembunyikan informasi) adalah modul dirancang sedemikian rupa sehinga inforamsi (prosedur dan data) yang di dalamnya tidak dapat di akses oleh modul lain yang tidak memerlukannya.

Desain Modular Efektif Modular design mereduksi komplesitas masalah, menyediakan fasilitas untuk melakukan perubahan ( dalam hal pemeliharaan ), dan memudahkan implementasi dengan pengembangan paralel dari bagian-bagian yang berbeda dalam suatu sistem. 1. Module types : abstraksi dan penyembunyian informasi dipakai untuk mendefinisikan modul-modul di dalam lingkungan software architecture. Suatu modul mungkin dikategorikan sebagai berikut: Sequential module dieksekusi tanpa interupsi yang dilakukan software aplikasi, Incremental module dapat diinterupsi oleh program aplikasi dan kemudian kembali ke titik semula setelah interupsi selesai,parallel module dieksekusi secara simultan dengan modul lain dalam lingkungan Concurrent multiprocessor 2. Independensi Fungsional : konsep functional independence berkembang dari modularitas dan konsep abstraksi serta information hiding. Independence diukur dengan menggunakan 2 kriteria kualitatif, yaitu : cohesion, coupling. 3. Cohesion ( keterpautan ) : suatu modul kohesif membentuk sebuah tugas tunggal di dalam suatu software prosedur dan memerlukan sedikit interaksi dengan prosedur yang dibuat dalam bagian lain dari suatu program. Coincidental cohesion : sebuah modul yang membentuk sejumlah tugas yang berhubungan satu sama lain dengan longgar Logically cohesion : sebuah modul yang membentuk tugas-tugas yang dihubungkan secara logical Temporal cohesion : jika sebuah modul berisi sejumlah tugas yang dihubungkan dengan segala yang harus dieksekusi di dalam waktu yang bersamaan. Procedural cohesion : jika pemrosesan elemen-elemen dari suatu modul dihubungkan dan harus dieksekusi dalam urutan spesifik Communication cohesion : jika pemrosesan elemen-elemen dikonsentrasikan pada satu area dari suatu struktur data. 4. Coupling ( bergandengan ) : merupakan suatu pengukuran dari keterkaitan / keterhubungan antara sejumlah modul dalam struktur program. Heuristik desain bagi modularitas yang efektif 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 (depth) bertambah. 3. Jagalah supaya lingkup efek dari suatu model ada dalam lingkup control. 4. Evaluasi interface modul untuk mengurangi kompleksitas dan redundansi. 5. Tetapkan modul-modul yang fungsinya dapat diprediksi, tetapi hindari modul yang terlalu restriktif. 6. Usahakan modul-modul entri kontrol" dengan menghindari hubungan patalogis 7. Kemaslah software berdasarkan batasan desain dan persyaratan probabilitas.

Model Desain Prinsip dan konsep desain yang dibicarakan pada bab ini membangun sebuah fondasi untuk pembuatan model desain yang mencakup representasi data, arsitektur, interface dan prosedur.