Prinsip Perancangan
1. Jelaskan posisi perancangan dalam Rekayasa Perangkat Lunak !
Jawab :
- Sebagai technical kernel dari proses pembangunan Perangkat Lunak
- Merupakan proses kreatif dalam pembangunan Perangkat Lunak untuk memecahkan persoalan
2. Apa fungsi proses ‘perancangan’ ?
Jawab :
- Translasi / pengembangan spesifikasi Perangkat Lunak
- Penjabaran bagaimana Perangkat Lunak dapat berfungsi
- Penjabaran bagaimana spesifikasi Perangkat Lunak dapat diimplementasikan
- Input : SRS
- Output : SDD
3. Sebutkan dan Jelaskan elemen-elemen proses perancangan! [Juga HAPALKAN!]
Jawab :
- 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
- Perancangan Antarmuka
Penjabaran komunikasi: interna Perangkat Lunak, antara Perangkat Lunak dengan system di luarnya, dan antara Perangkat Lunak dengan usernya
- Perancangan Prosedur
Transformasi elemen struktural dari arsitektur program menjadi deskripsi prosedur
4. Jelaskan prinsip-prinsip perancangan !
Jawab :
- Mempertimbangkan beberapa alternative model solusi
- Traceable terhadap model analisis
- Mempertimbangkan dan menghasilkan komponen reusable
- Meminimasi kesenjangan antara Perangkat Lunak dengan kondisi nyata
- Memperlihatkan keseragaman dan integrasi
- Mengakomodasi perubahan
- Mengakomodasi kondisi-kondisi insidentil yang mungkin terjadi
- Abstraksi lebih detil dari analisis, tetapi lebih tinggi dari coding
- Dapat terukur kualitasnya
- Harus di-review untuk meminimasia kesalahan semantik
5. Konsep Perancangan: Jelaskan tentang konsep modularitas ! [Bisa Dilihat di Buku Roger S. Pressman]
Jawab :
Modularitas merupakan atribut tunggal dari perangkat lunak yang memungkinkan sebuah program untuk dikelola secara intelektual.
Konsepnya:
a. Dekomposisi modular.
b. Komposabilitas modular.
c. Kemampuan pemahaman modular.
d. Kontinuitas modular.
e. Proteksi modular.
6. Konsep Perancangan – Arsitektur Perangkat Lunak: Jelaskan mengenai Fan-in dan Fan-out ? [Bisa Dilihat di Buku Roger S. Pressman]
Jawab :
Fan-in mengindikasikan berapa banyak modul yang secara langsung mengontrol sebuah modul yang diberikan
Fan-out adalah pengukuran jumlah modul yang dikontrol secara langsung oleh modul yang lain
7. Konsep Perancangan – Partisi Struktur: Jelaskan apa perbedaan vertical partitioning dan vertical horizontal !
Jawab :
Vertical Partitioning memaparkan kontrol dan work yang harus terdistribusi top-down dalam struktur program
Horizontal Partitioning menggambarkan cabang-cabang yang terbagi dari hierarki modular untuk tiap fungsi program utama
8. Jelaskan mengenai Cohesian dan Coupling !
Jawab :
Cohesian merupakan sebuah ekstensi alami dari konsep informasi yang disimpan pada sebuah modul dan dapat menampilkan sejumlah task
Coupling adalah suatu ukuran interkoneksi antar modul-modul dalam sebuah struktur program
9. Apa perbedaan antara Cohesian dan Coupling ?
Jawab :
Cohesian adalah keterikatan fungsi-fungsi di dalam suatu modul, sedangkan Coupling adalah ketergantungan suatu modul terhadap modul lainnya
10. Jelaskan mengenai perancangan Heuristik !
Jawab :
Perancangan heuristik adalah suatu cara pemeriksaan usability untuk perangkat lunak komputer yang membantu mengenali masalah-masalah usability pada rancangan antarmuka.
Tahap Perancangan
1. Sebutkan tahap-tahap perancangan dan jelaskan secara singkat mengenai tahapan-tahapan tsb !
Jawab :
- Perancangan Data
Memilih representasi logic dari objek data yang ditemukan pada proses analisis
- Perancangan Arsitektural
Membangun struktur program modular dan merepresentasikan keterkaitan kendali antar modul, dan memadukan struktur program dan struktur data
- Perancangan Antarmuka
Menjelaskan antarmuka antar modul-modul Perangkat Lunak, antarmuka antara Perangkat Lunak dengan sumber informasi selain manusia [external entities], antarmuka antara user dengan komputer
- Perancangan Prosedural
Membentuk algoritma siap program dengan menggunakan dan mengacu pada berbagai struktur
2. Jelaskan hasil dari masing-masing tahapan !
Jawab :
a. Perancangan Data :
- Struktur data siap deprogram
- Struktur basis data siap dibuat oleh pemrogram
- Prosedur/operasi untuk mengakses data, siap diprogram
b. Perancangan Arsitektural
- Struktur chart yang merepresentasikan gambaran menyeluruh struktur Perangkat Lunak, beserta seluruh hierarki kendali, yang siap dituliskan dalam bentuk modul program
c. Perancangan Antarmuka
- Definisi antarmuka modul yang siap untuk deprogram
- Definisi/format rancangan layar yang siap diimplementasikan
d. Perancangan Prosedural
- Algoritma program
3. Perancangan data: sebutkan petunjuk teknis yang harus dilakukan pada perancangan data.
Jawab :
- Menerapkan prinsip-prinsip analisis sitematis
- Mengidentifikasi semua struktur data dan prosedur yang akan digunakan untuk mengakses data tersebut
- Me-refine isi data dictionary
- Menunda perancangan data yang low-level sampai diakhir-akhir proses perancangan
- Merepresentasikan struktur data sedemikian rupa sehingga hanya modul yang menggunakan data tersebut yang dapat mengaksesnya
- Membangun pustaka untuk struktur data dan prosedur yang sering digunakan
- Mendukung spesifikasi dan realisasi ADT
4. Perancangan arsitektural: rincikan langkah-langkah pada aliran transformasional dan aliran transaksional !
Jawab :
Aliran Transformasional
- Kaji ulang model sistem dasarnya
- Kaji ulang dan perhalus DFD-nya
- Tentukan apakah DFD memiliki jenis aliran transformasional dan atau aliran transaksional
- Isolasi pusat transaksi dengan menentukan batas aliran incoming dan outgoing
- Lakukan faktorisasi level satu
- Lakukan faktorisasi level dua
- Perhalus struktur program yang diperoleh dari iterasi tahap pertama ini dengan heuristik
Aliran Transaksional
- Kaji ulang model sistem dasarnya
- Kaji ulang dan perhalus DFD-nya
- Tentukan apakah DFD memiliki jenis aliran transformasional dan atau aliran transaksional
- Tentukan pusat transaksi dan jenis aliran di sepanjang setiap jalur aksi [action paths]
- Petakan DFD ke dalam struktur program sesuai proses transaksinya
- Faktorisasi dan perhalus struktur transaksi dan juga struktur di setiap halur aksi
- Perhalus struktur program yang diperoleh dari iterasi tahap pertama ini dengan heuristik
5. Perancangan arsitektural: apa perbedaan aliran transformasional dan aliran transaksional ?
Jawab :
Aliran Transformasional melakukan faktorisasi level satu dan level dua, dan mengisolasi pusat transaksi [incoming dan outgoing], sedangkan Aliran Transaksional hanya melakukan faktorisasi tanpa menggunakan faktorisasi level satu dan level dua dan menentukan pusat transaksi [action paths]
6. Perancangan antarmuka: sebutkan bagian-bagian dalam perancangan antarmuka !
Jawab :
- Antarmuka antar modul-modul Perangkat Lunak
- Antarmuka antara Perangkat lunak dengan sumber informasi selain manusia [external entities]
- Antarmuka antara manusia [user] dengan komputernya
7. Perancangan antarmuka: jelaskan hal-hal yang harus diperhatikan pada perancangan antarmuka !
Jawab :
- Harus konsisten
- Memberikan umpan balik ke pengguna
- Meminta verifikasi untuk semua aksi destruktif penting
- Memungkinkan aksi reversal
- Mengurangi jumlah informasi yang harus diingat antar aksi
- Efisiensi dialog, gerak dan pikiran pengguna
- Mengelompokkan aktivitas berdasarkan fungsi & mengatur layar sesuai dengan pengelompokkan tersebut
- Sediakan bantuan [help] - Tampilkan info yang sesuai dengan konteks
8. Perancangan prosedural: jelaskan 2 hal utama yang harus diperhatikan dalam perancangan prosedural !
Jawab :
- Coupling : ukuran kekuatan saling kebergantungan antar modul-modul software
- Cohesion : ukuran kekuatan modul-modul perangkat lunak secara fungsional relatif terhadap modul perangkat lunak itu sendiri
9. Perancangan prosedural: sebutkan alat bantu pada perancangan prosedural !
Jawab :
- Flow-chart
- Algoritma/pseudocode/program design language
10. Buat kesimpulan mengenai tahap perancangan !
Jawab :
· Perancangan Data
o hasilnya : Struktur data dan basis data
· Perancangan Arsitektural
o Hasilnya : Struktur chart
· Perancangan Antarmuka
o Hasilnya : Definisi parameter passing dan format layar/menu
· Perancangan Prosedural
o Hasilnya : Algoritma program
Semua hasil tersebut harus dituangkan dalam SDD [Software Design Description]
Page 2