PERANCANGAN PERANGKAT LUNAK ( PL )
Perancangan adalah proses untuk mengapli- kasikan berbagai macam teknik dan prinsip untuk tujuan pendefenisian secara rinci suatu perangkat ,proses atau sistem agar dapat direalisasikan dalam suatu bentuk fisik. Tujuan Perancangan adalah menghasilkan suatu model atau penggambaran dari suatu entity yang akan dibangun kemudian.
Pengertian Perancangan PL Perancangan Perangkat Lunak adalah suatu proses bertahap dimana semua kebutuhan atau persyaratan yang ada pada dokumen SRS diterjemahkan menjadi Cetak Biru (Blue Print) yang akan digunakan membangun Perangkat Lunak.
Dokumen Software Requirement Specifications (SRS) Dokumen yang menjelaskan tentang berbagai kebutuhan yang harus dipenuhi oleh suatu software. Dokumen ini dibuat oleh developer (pembuat software) setelah menggali informasi dari calon pemakai software. Pembuatannya pun seharusnya mengikuti standar yang ada dan paling diakui oleh para praktisi rekayasa software di dunia. Oleh karena itu, standar yang akan dibahas di sini adalah standar dari IEEE.
Tahapan Perancangan PL Pada tahap awal cetak biru (Blue Print) melukiskan suatu gambaran umum PL. Pada tahap selanjutnya penjelasan rinci dilakukan hingga pada tingkat penjelasan paling rendah. Perancangan PL dilakukan dengan asumsi spesifikasi kebutuhan PL sudah terdefenisikan dalam model-model analisis. Model-model yang dihasilkan selama perancangan menggambarkan bagaimana permasalahan diselesaikan dalam spesifikasi PL yg siap diimplementasikan.
Tujuan Perancangan PL Tujuan dilakukannya perancangan oleh seorang designer system (software engineer) adalah : Mendekomposisi sistem (PL) menjadi komponen-komponennya (data, antarmuka, prosedur, arsitektur). Menentukan relasi antar komponen. Menentukan mekanisme komunikasi antar komponen. Menentukan antarmuka komponen. Menjelaskan fungsionalitas masing-masing komponen.
Prinsip Perancangan PL Menurut Davis yang perlu diketahui oleh desainer untuk dapat mengendalikan proses perancangan PL, yaitu : Perancangan harus dapat ditelusuri sampai ke model analisis. Perancangan tidak boleh berulang, maksudnya dapatmengunakan kembali rancangan yang sudah ada sebelumnya(reusable component). Perancangan dapat diperbaiki atau diubah tanpa merusakkeseluruhan sistem. Perancangan harus dinilai kualitasnya pada saat perancangan,bukan setelah sistem jadi dengan kata lain siapdiimplementasikan Perancangan harus mengungkap keseragaman dan integrasi
Lanj … Perancangan-Perancangan harus mempunyai beberapa pendekatan alternatif rancangan. Perancangan harus meminimalkan kesenjangan intektual antara perangkat lunak dan masalah yang ada didunia nyata. Maksudnya perancangan perangkat lunak harus mencerminkan struktur domain permasalahan. Perancangan bukanlah pengkodean dan pengkodean bukanlah perancangan. Perancangan harus dikaji untuk meminimalkan kesalahan-kesalahan konseptual Jika prinsip perancangan diaplikasikan dengan baik, maka desainer telah mampu menciptakan sebuah perancangan yang mengungkapkan faktor-faktor kualitas eksternal dan internal
Konsep Perancangan PL Ada beberapa konsep perancangan yang dikemukakan oleh Pressman dan perlu dipahami oleh seorang desainer agar mendapatkan perancangan yang berkualitas tinggi : 1. Modularitas 5. Kohesi 2. Penyembunyian Informasi 6. Integritas 3. Abstraksi 7. Ekstensibilitas. 4. Kopling
Modularitas Prosedur PL dibagi atas beberapa Modul. Sebuah modul dapat dibagi atas beberapa sub modul . Modul memiliki nama unik. Sebuah modul dapat memanggil (mengirim pesan) modul lainnya.
Penyembunyian Informasi Merupakan prinsip dasar dalam pembentukan modul,yaitu struktur data dan logik program pada suatu modul bersifat terselubung. Modul dipandang sebagai Kotak Hitam artinya dengan masukan tertentu akan menghasilkan keluaran yang diharapkan tanpa perlu mengetahui proses yang terjadi di dalamnya.
Abstraksi Perancangan secara modular memungkinkan beberapa tingkatan abstraksi dapat diperoleh,sehingga perancang dapat berkonsentrasi pada setiap tingkatan abstraksi tanpa memperdulikan tingkatan abstraksi yang lebih rinci.
Kopling adalah ketergantungan antar modul satu dengan modul lainnya. Bayangkan jika anda mengubah 1 modul A tapi karena modul lain memiliki ketergantungan terhadap modul A, maka efek perubahan ini mungkin saja punya impact terhadap modul lain. Contoh : Terdapat 1 modul Transaksi untuk Penjualan dan Pembelian. Karena Pembelian dan Penjualan bisa dipisahkan (Pembelian adalah transaksi ke supplier, sedangkan Penjualan adalah transaksi ke Customer) adalah suatu hal yang terpisah, maka modul Transaksi dapat dibagi menjadi 2 modul terpisah yaitu modul Pembelian dan modul Penjualan. Sehingga perubahan terhadap Penjualan tidak mempengaruhi Pembelian.
Kohesi adalah ukuran keterpaduan, kekuatan, atau pengikatan dimana derajat hubungan antara elemen-elemen dalam suatu modul jelas dan terstruktur. Kriteria ini untuk mengukur seberapa independen sebuah program dari pada prosesnya sendiri, mempunyai satu fungsi tunggal yangberkaitan dengan masalah. Untuk kriteria perancangan sistem yang baik adalah dengan ciri modul yang dirancang memiliki kohesi yang tinggi. Contoh : 1 class Lampu memiliki 1 tanggung jawab untuk Lampu saja. Fungsi-fungsi seperti turningOn, turningOff, changeColour, dll harus identik dengan tanggung jawab terhadap prilaku lampu secara umum.
Integritas Setiap modul harus bisa menjaga integritasnya masing-masing. Ekstensibilitas Mampu beradaptasi terhadap perubahan spesifikasi.
Perancangan yang Baik : Melaksanakan seluruh kebutuhan/ persyaratan yang tercantum pada dokumen SRS. Merupakan acuan yang dapat dibaca, dimengerti oleh pembuat program dan penguji PL.
Menyediakan gambaran yang lengkap tentang PL mencakup data,fungsi dan tanggapan dalam perspektif pelaksanaan pembuatan PL. Menghasilkan model atau representasi dari PL untuk digunakan dalam proses implementasi atau coding.
Proses Perancangan Merupakan proses Kreatif dalam pembangunan PL untuk memecahkan suatu persoalan. Model dari proses perancangan secara garis besar terdiri dari 4 tahap proses : 1. Mengemukakan suatu solusi 2. Membangun model dari solusi tersebut 3. Evaluasi model terhadap spesifikasi yang ada. 4. Menjabarkan rincian spesifikasi dari solusi tsb.
Proses Perancangan mempunyai masukan,fungsi dan Keluaran. Masukan Proses Perancangan Model informasi,model fungsional dan model behavioral dan spesifikasi kebutuhan lain yang diperoleh setelah proses analisis kebutuhan.
Fungsi Proses Perancangan Ada dua fungsi yang dipunyai proses perancangan yaitu Translasi/pengembangan dari spesifikasi PL dan Penjabaran bagaimana PL menjadi berfungsi dan bagaimana spesifikasi PL diimplementasikan. Keluaran Proses Perancangan Perancangan Data,perancangan arsitektural, perancangan prosedural dan perancangan antar muka pemakai.
Tahapan Perancangan Dari sudut pandang Manajemen Proyek perancangan terdiri dari 2(dua) bagian.yaitu: 1. Perancangan Awal (Preliminary Design) Menentukan arsitektur PL secara keseluruhan : a. Bagaimana lingkungan programnya ? b. Bagaimana bentuk penyimpanan data? c. Bagaimana bentuk Interfacenya ?
2. Perancangan Rinci (Detailed Design) Menentukan Modul Program(prosedural) yang harus dibuat. Dari sudut pandang Teknis kegiatan perancangan terdiri atas aktivitas sebagai berikut : 1. Perancangan Data. 2. Perancangan Arsitektural. 3. Perancangan Prosedural 4. Perancangan Interface.
Hasil perancangan didokumentasikan dalam SDD (Software Design Description) yang berisi model atau representasi perangkat lunak untuk digunakan sebagai dasar proses implementasi (coding).
Teknik Perancangan PL Ada beberapa teknik dan pendekatan yang dapat digunakan pada saat merancang Perangkat Lunak. Salah satu teknik tersebut adalah Teknik Perancangan Terstruktur (Structured Design) yang dilaksanakan berdasarkan aliran data.
Tahap Perancangan Terstruktur Nyatakan hasil perancangan sebagai aliran data yang melalui sekumpulan proses-proses dan gambarkan DFDnya. Nyatakan hasil perancangan sebagai hierarki dari fungsi (atau komponen-komponen prosedural) dengan structure chart berdasarkan DFD yang didapat. Evaluasi dan perbaiki hasil rancangan. Siapkan hasil rancangan untuk tahap penerapan.
Perangkat Pemodelan Perancangan Terstruktur Ada beberapa perangkat pemodelan yang dapat digunakan untuk menggambarkan hasil dari Perancangan Terstruktur. Dari beberapa perangkat pemodelan tersebut yang paling umum digunakan diantaranya adalah DFD,Structure Chart dan Pseudocode.