TUGAS 8 Nama : Daniel Saputra Nim : 41813010198 Study : Rekayasa Perangkat Lunak DESAIN PERANGKAT LUNAK DAN REKAYASA PERANGKAT LUNAK PRINSIP DESAIN KONSEP DESAIN 1. DESAIN PERANGKAT LUNAK DAN REKAYASA PERANGKAT LUNAK Desain adalah langkah pertama 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. 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 1
Selama desain, kita dapat membuat keputusan yang akan mempengaruhi kesuksesan konstruksi perangkat lunak dan kemudahan maintenance - nya. Desain sangat Penting karena dapat menentukan kualitas dari suatu perangkat lunak. Desain perangkat lunak adalah suatu proses interaktif yang melaluinya persyaratan REKAYASA PERANGKAT LUNAK Rekayasa perangkat lunak (RPL atau SE [Software Engineering]) adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembangan perangkat lunak, dan sebagainya. Proses rekayasa perangkat lunak adalah proses yang terus berulang, karena karakteristik perangkat lunak yang membutuhkan pemeliharaan dan pengembangan berkelanjutan agar perangkat lunak tidak kadarluasa. Dalam proses pemeliharaan dilakukan koreksi kesalahan, adaptasi kebutuhan, peningkatan kemampuan atau fungsi dan bentuk pencegahan lainnya agar perangkat lunak tersebut tidak kadarluasa. Metode rekayasa perangkat lunak menyediakan teknis untuk membangun perangkat lunak dan mengandalkan seperangkat prinsip-prinsip dasar yang mengatur setiap bidang teknologi dan mencakup kegiatan pemodelan dan teknik deskriptif lainnya. Alat rekayasa perangkat lunak merupakan unsur yang mendukung proses dan metode. Ketika alat-alat yang terhubung satu sama lain dan memberi informasi, serta informasi yang dibuat oleh salah satu alat dapat digunakan oleh yang lain, sistem untuk mendukung pengembangan perangkat lunak dapat dibangun dengan menggunakan bantuan komputer. Pekerjaan yang berhubungan dengan rekayasa perangkat lunak dapat dikategorikan ke dalam tiga fase generik, yaitu: 1. Tahap definisi berfokus pada what. Pada fase ini mengidentifikasi informasi apa yang akan diproses, apa fungsi dan kinerja yang diinginkan, perilaku system apa yang dapat diharapkan, apa antarmuka yang akan didirikan, apa desain kendala yang ada, dan apa kriteria validasi yang diperlukan untuk menentukan sistem yang sukses. Persyaratan utama dari sistem dan perangkat lunak diidentifikasi. Meskipun metode yang diterapkan selama fase definisi akan bervariasi tergantung pada paradigma rekayasa perangkat lunak (atau kombinasi paradigma) yang diterapkan, tiga tugas utama akan 2
terjadi dalam beberapa bentuk: sistem atau teknik informasi, perencanaan proyek perangkat lunak, dan analisis kebutuhan. 2. Tahap pengembangan berfokus pada how. Selama pengembangan perangkat lunak didefinisikan bagaimana data harus terstruktur, bagaimana fungsi diimplementasikan dalam arsitektur perangkat lunak, bagaimana detail prosedural untuk dilaksanakan, bagaimana interface yang akan ditandai, bagaimana desain akan diterjemahkan ke dalam bahasa pemrograman (atau bahasa nonprocedural), dan bagaimana pengujian akan dilakukan. Metode yang diterapkan dalam tahap pengembangan akan bervariasi, tetapi tiga tugas teknis tertentu harus selalu terjadi: desain perangkat lunak generasi kode, dan pengujian perangkat lunak. 3. Fase dukungan berfokus pada perubahan yang terkait dengan koreksi kesalahan. 3
PRINSIP DESAIN Prinsip-prinsip desain adalah suatu guide yang dapat membantu anda dalam membuat desain sehingga desain akan mudah dan dapat menghasilkan desain yang good layout dan tidak menghasilkan desain yang dazzling. Dengan menggunakan prinsip desain tersebut seorang desainer dapat dengan mudah menyatukan komposisi dan kesan yang akan disampaikan pada sebuah desain. Sehingga prinsip desain ini dapat dikatakan sebagai sebuah rule/aturan dasar yang harus diikuti untuk mendapatkan desain yang bagus. Berikut ini diuraikan mengenai prinsip-prinsip desain : a. Keselarasan (Harmoni) Keselarasan merupakan prinsip desain yang diartikan sebagai keteraturan tatanan diantara bagian-bagian suatu karya. Keselarasan dalam desain merupakan pembentukan unsur-unsur keseimbangan, keteraturan, kesatuan, dan perpaduan yang masing-masing saling mengisi dan menimbang. Keselarasan (harmoni) bertindak sebagai faktor pengaman untuk mencapai keserasian seluruh rancangan penyajian. b. Kesebandingan (Proporsi) Kesebandingan (proporsi) merupakan hubungan perbandingan antara bagian dengan bagian lain atau bagian dengan elemen keseluruhan. Kesebandingan dapat dijangkau dengan menunjukkan hubungan antara: 1. Suatu elemen dengan elemen yang lain, 2. Elemen bidang/ ruang dengan dimensi bidang/ruangnya, 3. Dimensi bidang/ruang itu sendiri. Dalam grafis komunikasi, semua unsur berperan menentukan proporsi, seperti hadirnya warna cerah yang diletakkan pada bidang/ruang sempit atau kecil. c. Irama (Ritme) Irama (ritme) dapat kita rasakan. Ritme terjadi karena adanya pengulangan pada bidang/ruang yang menyebabkan kita dapat merasakan adanya perakan, getaran, atau perpindahan dari unsur satu ke unsur lain. Gerak dan pengulangan tersebut mengajak mata mengikuti arah gerakan yang terjadi pada sebuah karya. d. Keseimbangan (Balance) 4
Tujuan utama sebuah karya diskomvis adalah menarik dilihat. Disain komunikasi visual sebagai media komunikasi yang bertujuan untuk mentransfer informasi secara jelas sekaligus estetis memerlukan keadaan keseimbangan pada unsur-unsur yang ada di dalamnya. Bentuk keseimbangan yang sederhana adalah keseimbangan simetris yang terkesan resmi atau formal, sedangkan keseimbangan asimetris terkesan informal dan lebih dinamis. Keseimbangan dipengaruhi berbagai faktor, antara lain faktor tempat posisi suatu elemen, perpaduan antar elemen, besar kecilnya elemen, dan kehadiran lemen pada luasnya bidang. Keseimbangan akan terjadi bila elemen-elemen ditempatkan dan disusun dengan rasa serasi atau sepadan. Dengan kata lain bila bobot elemen-elemen itu setelah disusun memberi kesan mantap dan tepat pada tempatnya. e. Penekanan (Emphasis) Dalam setiap bentuk komunikasi ada beberapa bahan atau gagasan yang lebih perlu ditampilkan dari pada yang lain. Tujuan utama dalam pemberian penekanan (emphasis) adalah untuk mengarahkan pandangan pembaca pada suatu yang ditonjolkan. Emphasis dapat dicapai misalnya mengganti ukuran, bentuk, irama dan arah dari unsur-unsur karya desain. Ide sangat penting dalam pembuatan desain. Ide adalah modal utama bagi para desainer dalam mencari solusi untuk masalah desain yang dihadapinya. Ide dapat mengubah sesuatu yang sederhana menjadi sesuatu yang kompleks, sesuatu yang biasa menjadi luar biasa, yang bagus menjadi sangat indah. 5
KONSEP DESAIN Konsep desain adalah dasar pemikiran desainer didalam usahanya memecahkan tuntutan desain maupun problem desain. Pengertian konsep menurut Peorwadarminta; berasal dari kata bahasa latin yaitu Conseptus yang berarti tangkapan. Jadi konsep adalah hasil dari tangkapan atau hasil penerjamahan manusia, ketika dihadapkan pada sebuah tuntutan. 1. Abstraction Abstraction adalah gambaran dari fungsi suatu program. Gambaran ini bisa bertingkat-tingkat. 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. Pada saat beralih dari tingkat ke tingkat, kita menggunakan procedural dan data abstraction. Procedural abstraction adalah urutan instrasi yang mempunyai tujuan khusus,dan data abstraction adalah koleksi data yang digunakan pada fungsi tersebut. 2. Penyaringan Penyaringan sebenarnya adalah proses elaborasi (penggarapan secara tekun dan cermat). 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. 3. Modularitas 5 kriteria mengevaluasi metode desain menurut Meyer : a. Dekomposabilitas Modular dekomposisi b. Komposabilitas Modular c. Kemampuan Pemahaman Modular d. Kontinuitas Modular e. Proteksi Modular Arsitektur Perangkat Lunak Sekumpulan properti sebagai bagian dari desain arsitektural (Shaw dan Garlan ) : 1.Properti Struktural 2.Properti Ekstra Fungsional 3.Keluarga dari sistem yang berhubungan 6
4. 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. 5. Hierarki Kontrol Yang paling umum digunakan adalah diagram pohon Depth (kedalaman) dan width (lebar) 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 Visibilitas (komponen program yang dapat dipakai sebagai data oleh komponen lainnya) Konektivitas (Komponen yang dipakai secara tidak langsung oleh sebuah modul yang ditetapkan) 6. Partisi Struktural Partisi Vertikal Didesain sehingga pengambilan keputusan dan pekerjaan distratifikasi Modul pengambilan keputusan tetap ada di puncak arsitektur 7. Partisi Horizontal Tentukan cabang yang terpisah pada hierarki modul untuk setiap fungsi utama Gunakan modul kontrol untuk koodinasi komunikasi antar fungsi 8. Struktur Data Struktur Data menentukan : Organisasi dan kompleksitas Item Skalar Metode akses Vektor Sekuensial 7
Referensi Raymond McLeod, Jr., Management Information System A Study of Computer Based Information Systems, Prentice Hall, Inc, 1995. Roger S. Pressman, "Software Engineering, a Practitioner's Approach" Fourth Edition, McGraw Hill, 1997. Roger S. Pressman, "Software Engineering, A Beginner's Guide", McGraw Hill, 1998. Barbee Teasley Mynatt, "Software Engineering with Student Project Guidance", Prentice Hall, Inc, 1990. Coad, Peter and Edward Yourdan. 1991. Object Oriented Analysis. New Jersey : PrenticeHall. Coad, Peter and Edward Yourdan. 1991. Object Oriented Design. New Jersey : Prentice Hall.Goodland, Mike. 1995. SSADM A Practical Approach Version 4. London : Mc Graw Hill Handoko, Mary. 1999. Bahan Kuliah Manajemen Proyek Perangkat Lunak. Bandung :Magister Informatika ITB Jacobson, I. 1995. Object Oriented Software Engineering. Edinburg Gate Harlow : Addison Wesley. Laksmiwati, Hira. 1998. Bahan-bahan Kuliah Rekayasa dan Analisis Perangkat Lunak.Bandung : Magister Informatika ITB Mahyuzir, Tavri D. 1989. Analisisa dan Perancangan Sistem Pengolahan Data. Jakarta :Elex Media Komputindo Mahyuzir, Tavri D. 1991. Pengantar Analisis dan Perancangan Perangkat Lunak. Jakarta :Elex Media Komputindo Mardiyanto, M. Sukrisno 1998. Bahan-bahan Kuliah Pembangunan Sistem Perangkat Lunak. Bandung : Magister Informatika ITB 8
Santoso. Oerip S. 1999. Bahan-bahan Kuliah Uji Kualitas Perangkat Lunak. Bandung :Magister Informatika ITB Sucahyo, Yudho Giri. 1997. Bahan Kuliah Rekayasa Perangkat Lunak. Jakarta : Ilmu Komputer UI Roger S. Pressman, Ph.D, Rekayasa Perangkat Lunak, Pendekatan Praktisi (Buku Satu ), ANDI Yogyakarta Roger S. Pressman, "Software Engineering, a Practitioner's Approach" Fourth Edition, McGraw Hill, 1997. Barbee Teasley Mynatt, "Software Engineering with Student Project Guidance", Prentice Hall Int. 1990. Roger S. Pressman, "Software Engineering, A Beginner's Guide", McGraw Hill, 1998. http://kuliah.dinus.ac.id/ika/prc3.html http://parno.staff.gunadarma.ac.id/downloads/files/11337/si_10_kamus_data.pdf 9