MAKALAH REKAYASA PERANGKAT LUNAK DESAIN PERANGKAT LUNAK Disusun Oleh : Agung Surya Tamaka Bima Ahida Indaka S Febrita Dian P Nadhifatul Laeily ( 1541180137 ) ( 1541180171 ) ( 1541180211 ) ( 1541180030 ) POLITEKNIK NEGERI MALANG JURUSAN TEKNOLOGI INFORMASI PRODI TEKNIK INFORMATIKA 2017 DAFTAR ISI Contents DAFTAR ISI............................................................................................................................................... 2 BAB 1 ....................................................................................................................................................... 3 PENDAHULUAN ....................................................................................................................................... 3 1. LATAR BELAKANG........................................................................................................................ 3 2. RUMUSAN MASALAH .................................................................................................................. 3 BAB 2 ....................................................................................................................................................... 4 PEMBAHASAN ......................................................................................................................................... 4 1. PENGERTIAN DESAIN PERANGKAT LUNAK.................................................................................. 4 2. SYARAT DESAIN PERANGKAT LUNAK .......................................................................................... 4 3. TUJUAN DESAIN PERANGKAT LUNAK ......................................................................................... 6 4. PRINSIP DESAIN PERANGKAT LUNAK .......................................................................................... 7 5. KONSEP DESAIN PERANGKAT LUNAK ......................................................................................... 7 BAB 3 ..................................................................................................................................................... 11 PENUTUP ............................................................................................................................................... 11 1. KESIMPULAN ............................................................................................................................. 11 2|MAKALAH CBIS ( COMPUTER BASED INFORMATION SYSTEM ) BAB 1 PENDAHULUAN 1. LATAR BELAKANG Pengembangan suatu perangkat pada era sekarang sudah begitu marak dilakukan oleh sebagian besar developer program. Perangkat lunak yang dihasilkan juga berbagai macam jenis serta fungsinya dan manfaat yang dirasakan oleh para user atau brainware dari setiap program. Program yang dibuat pada saat ini banyak sekali memberikan kemudahan pada setiap user baru yang menggunakan program tersebut. Selain itu setiap tahun selalu muncul sebuah teknologi baru atau transformasi baru dari program yang ditawarkan kepada usernya. Kemudahan akses serta pengoperasian selalu diincar oleh para user. Selain itu kecocokan program dengan bidang user juga sangat diperhitungkan. Namun dengan kemajuan teknologi yang begitu cepat melesat, membuat user tidak kebigungan dalam menentukan program atau aplikasi yang dirasanya tepat. Dari uraian diatas relevan dengan kondisi yang saat ini sedang terjadi pada lingkungan bisnis. Uraian diatas menunjukkan dimana user selalu mengincar sebuah teknologi program yang dapat digunakan dengan mudah. Selain itu munculnya teori tentang Desain Perangkat Lunak membuat developer menjadi mudah mengidentifikasi kebutuhan dari user. Selain itu dari penerapan Desain Perangkat Lunak ini membuat program yang dihasilkan dapat tepat sasaran pada setiap bidang kebutuhan dari user. Karena adanya Desain Perangakat Lunak ini membuat user diberikan kemudahan dalam menentukan program yang digunakan. 2. RUMUSAN MASALAH Rumusan masalah yang akan kita bahas kali ini adalah : 1. 2. 3. 4. 5. Apa itu Desain Perangkat Lunak ? Apa syarat dalam Desain Perangkat Lunak ? Mengapa perlu dilakukan Desain Perangkat Lunak ? Apa saja prinsip yang terdapat dalam Desain Perangkat Lunak ? Bagaimana konsep Desain Perangkat Lunak ? 3|MAKALAH CBIS ( COMPUTER BASED INFORMATION SYSTEM ) BAB 2 PEMBAHASAN 1. PENGERTIAN DESAIN PERANGKAT LUNAK Desain perangkat lunak bukan hanya sebuah perancangan berupa interface (antar muka) sebuah perangkat lunak, tetapi memiliki lingkup yang jauh lebih luas. Sebuah proses untuk mendefinisikan sesuatu yang akan dikerjakan dengan menggunakan teknik yang bervariasi serta didalamnya melibatkan deskripsi mengenai arsitektur serta detail komponen dan juga keterbatasan yang akan dialami dalam proses pengerjaannya. Sebuah proses perancangan membutuhkan pengetahuan mengenai berbagai teknik atau model perancangan yang dapat digunakan. Selain itu, sebuah perancangan membutuhkan hasil analisa yang telah mampu mendeskripsikan kebutuhan dari sistem yang akan dibuat.Dan seorang desainer harus memahami kendala atau hambatan yang mungkin terjadi pada saat implementasi. Ini berarti bahwa sebuah proses perancangan memiliki 3 unsur penting, yakni : a) Pengetahuan mengenai teknik perancangan b) Kebutuhan sistem c) Kendala yang mungkin terjadi Desain Perangkat Lunak merupakan sebuah proses yang berkelanjutan dari analisa dan didalamnya melakukan identifikasi hasil analisa serta menghasilkan konsep dasar untuk kepentingan pengembangan perangkat lunak. Dalam pengertian yang sama, dapat digolongkan bahwa perancangan adalah mengubah dari “apa” yang menjadi kebutuhan, menjadi “bagaimana” mendefinisikan kebutuhan tersebut menjadi sebuah perangkat lunak. Acuan umum untuk menilai bahwa hasil perancangan merupakan hasil perancangan yang baik a) Hasil perancangan harus mengimplementaasikan hasil analisa secara eksplisit dan memenuhi kebutuhan pengguna secara implisit b) Hasil perancangan harus dapat dimengerti oleh pihak pengembang perangkat lunak yang akan mengimplementasikan ke dalam bahasa pemrograman c) Hasil perancangan harus menyediakan gambaran yang lengkap mengenai perangkat lunak yang akan dibuat, baik dari segi data, fungsi serta perilaku yang akan dijalankan oleh perangkat lunak tsb. 2. SYARAT DESAIN PERANGKAT LUNAK Sebuah perancangan perangkat lunak yang baik harus memenuhi syarat-syarat berikut : 4|MAKALAH CBIS ( COMPUTER BASED INFORMATION SYSTEM ) a. Fleksibel Setiap program atau aplikasi yang dibuat harus fleksibel dalam artian program harus mudah diatur atau mudah dalam pengoperasiannya. Hal ini dimaksudkan agar setiap user pemakai mudah dalam pengoperasian aplikasi tersebut b. Mudah ditransfer Data maupun program harus mudah ditransfer kepada media lain. Data atau aplikasi ini harus dapat dipindahkan dari satu device ke device lain dengan mudah agar proses pengerjaan dapat dilakukan dengan mudah dan tidak monoton pada satu device tertentu c. Mudah dimodifikasi Aplikasi atau program harus dapat dimodifikasi, namun modifikasi ini bukan dilakukan oleh user melainkan oleh pihak developer. Hal ini dimaksudkan untuk mempermudah pihak developer dalam pengembangan aplikasi. Jadi jika terdapat suatu masalah atau perbaharuan aplikasi dapat dilakukan dengan mudah tanpa harus memulai dari awal d. Mudah digunakan Seringkali kita temui banyak aplikasi yang digunakan sangat sulit dioperasikan oleh user baru. Program yang dibuat haruslah mudah dalam pengoperasian karena kita tidak tahu siapa pengguna dari aplikasi kita nanti. Selain itu kemudahan dalam pengoperasian ini ditujukan agar pihak developer tidak usah repot-repot untuk melakukan seminar ataupun tutorial bagi user yang menggunakannya e. Handal Program atau aplikasi yang dibuat harusalah handal. Program yang handal tentu tidak akan mengganggu kinerja dari user. User akan lancar mengoperasikan karena tidak akan takut jika terdapat suatu bug. Selain itu kehandalan dari program merupakan salah satu incaran dari user yang menggunakan. Jadi dapat dikatan program yang laku dalam perdagangan adalah program yang handal dibidangnya f. Aman Program yang didevelop haruslah aman digunakan oleh user. Keamanan ini mencakup kerahasiaan data yang diolah oleh user. Data yang diolah tidak boleh tersebar atau terpublikasi secara public ke dunia. Selain itu aman dari sebuah aplikasi juga dikaji dari virus-virus. Aplikasi yang dibuat haruslah bebas dari serangan maupun penyebaran virus yang dapat mengganggu serta membahayakan user maupun data. g. Tidak Mahal 5|MAKALAH CBIS ( COMPUTER BASED INFORMATION SYSTEM ) Yang paling umum dan penting dalam pengembangan suatu aplikasi adalah aplikasi yang dibuat haruslah tidak mahal. Tidak mahal ini dikaji dari dua sisi, yaitu sisi pengembangan dan pemasaran. Aplikasi yang dikembangkan dengan biaya yang mahal akan menyebabkan mahal juga dalam develop aplikasi. 3. TUJUAN DESAIN PERANGKAT LUNAK Tujuan dilakukannya perancangan oleh seorang designer system (software engineer) adalah a. b. c. d. e. Mendekomposisi sistem (perangkat lunak) menjadi komponen-komponennya (data, antarmuka, prosedur, arsitektur). Sebagai gambaran, pada gambar 5.1 menunjukkan dekomposisi perangkat lunak menjadi halaman web (antarmuka), script (prosedur) dan basisdata/tabel data (desain data). Menentukan relasi antar komponen. Menentukan mekanisme komunikasi antar komponen.Sebagai gambaran, pada gambar 5.2 yang menunjukkan mekanisme dan relasi antar komponen perangkat lunak yaitu relasi antarmuka pemakai ke prosedur/script untuk meminta sebuah data yang diinginkan pengguna serta bagaimana sebuah prosedur mengakses tabel data agar dapat ditampilkan sesuai dengan permintaan pemakai pada antarmuka pemakai. Menentukan antarmuka komponen. Menjelaskan fungsionalitas masing-masing komponen. Gambar 1 : Dekomposisi perangkat lunak menjadi komponen-komponennya Gambar 2 : Mekanisme dan relasi antar komponen perangkat lunak 6|MAKALAH CBIS ( COMPUTER BASED INFORMATION SYSTEM ) 4. PRINSIP DESAIN PERANGKAT LUNAK Perancangan perangkat lunak merupakan model dan proses. Proses perancangan merupakan serangkaian langkah yang memungkinkan seorang desainer menggambarkan semua aspek perangkat lunak yang dibangun, sedangkan model perancangan hampir sama dengan rencana arsitek untuk sebuah rumah yaitu memulai dengan menyajikan totalitas hal yang akan dibangun (misal pandangan 3 dimensi dari rumah yang akan dibangun, setelah itu akan disaring hal-hal yang memberikan panduan bagi pembangunan setiap detail dari rumah, seperti layout ruangan, layout pipa dan lainnya). Sama halnya dengan model perancangan yang dibuat untuk perangkat lunak memberikan berbagai pandangan yang berbeda terhadap program komputer. Ada beberapa prinsip yang dikemukakan oleh Davis [DAV95] yang perlu diketahui oleh desainer untuk dapat mengendalikan proses perancangan, yaitu a. Perancangan harus dapat ditelusuri sampai ke model analisis. b. Perancangan tidak boleh berulang, maksudnya dapat mengunakan kembali rancangan yang sudah ada sebelumnya (reusable component). c. Perancangan dapat diperbaiki atau diubah tanpa merusak keseluruhan sistem. d. Perancangan harus dinilai kualitasnya pada saat perancangan, bukan setelah sistem jadi dengan kata lain siap diimplementasikan. e. Perancangan harus mempunyai beberapa pendekatan alternatif rancangan. f. Perancangan harus mengungkap keseragaman dan integrasi g. Perancangan harus meminimalkan kesenjangan intektual antara perangkat lunak dan masalah yang ada didunia nyata. Maksudnya perancangan perangkat lunak harus mencerminkan struktur domain permasalahan. h. Perancangan bukanlah pengkodean dan pengkodean bukanlah perancangan. i. Perancangan harus dikaji untuk meminimalkan kesalahan-kesalahan konseptual. Desainer harus menekankan pada hal-hal yang penting seperti elemen-elemen konseptual (ambiguitas, inkonsisten). Jika prinsip perancangan diatas diaplikasikan dengan baik, maka desainer telah mampu menciptakan sebuah perancangan yang mengungkapkan faktor-faktor kualitas eksternal dan internal[MEY88]. Faktor-faktor eksternal adalah sifat-sifat perangkat lunak yang dapat diamati oleh pemakai (misal kecepatan, reliabilitas, ketepatan, usabilitas). Sedangkan faktor internal lebih membawa pada perancangan berkualitas tinggi dan perspektif teknis dari perangkat lunak yang sangat penting bagi para perekayasa perangkat lunak. Untuk mencapai kulitas faktor internal, seorang desainer harus memahami konsepkonsep dari perancangan perangkat lunak. 5. KONSEP DESAIN PERANGKAT LUNAK Pada dasarnya konsep perancangan memberikan kerangka kerja atau pedoman untuk mendapatkan perangkat lunak yang bisa berjalan dengan baik. Ada beberapa konsep perancangan yang dikemukakan oleh Pressman [PRE01] dan perlu dipahami oleh seorang desainer agar mendapatkan perancangan yang berkualitas tinggi yaitu 7|MAKALAH CBIS ( COMPUTER BASED INFORMATION SYSTEM ) 1. Abstraksi Abstraksi merupakan cara untuk mengatur kompleksitas sistem dengan menekankan karakteristik yang penting dan menyembunyikan detail dari implementasi. Tiga mekanisme dasar dari abstraksi yaitu : a) Abstraksi Prosedural, urutan instruksi yang mempunyai sebuah nama yang menggambrakan fungsi tertentu b) Abstraksi Data, kumpulan data yang mempunya nama yang menggambarkan objek data. c) Abstraksi Control, mengimplikasikan sebuah mekanisme kontrol dari program. 2. Dekomposisi Dekomposisi merupakan mekanisme untuk merepresentasikan detail-detail dari fungsionalitas. Dengan adanya dekomposisi membantu para desainer mengungkapkan detail tingkat rendah ketika perancangan sedang berjalan. Jadi dekomposisi membagi perancangan secara top-down/menyaring tingkat detail dari prosedural. 3. Modularitas Mekanisme membagi perangkat lunak ke dalam elemen-elemen kecil dan dapat dipanggil secara terpisah, biasanya elemen ini sering disebut dengan modul. Modularitas merupakan karakteristik penting dalam perancangan yang baik karena a) Menyediakan pemisahaan fungsionalitas yang ada pada perangkat lunak. b) Memungkinkan pengembang mengurangi kompleksitas dari sistem. c) Meningkatkan skalabilitas, sehingga perangkat lunak dapat dikembangkan oleh banyak personal. Modularitas perangkat lunak ditentukan oleh coupling dan cohesion: a) Coupling: derajat ketergantungan antar modul yang berinteraksi. b) Cohesion: derajat kekuatan fungsional dalam suatu modul Modul yang baik harus mempunyai chesion yang tinggi dan coupling yang rendah. Faktor-faktor yang mempengaruhi coupling: a) Banyaknya data yang dilewatkan antar modul (passing parameter) b) Banyaknya kontrol data yang dilewatkan antar modul. c) Banyaknya data global yang digunakan bersama oleh beberapa modul. 4. Arsitektur Perangkat Lunak Arsitektur perangkat lunak merupakan struktur hirarki dari komponen program (modul), cara bagaimana komponen tersebut berinteraksi dan struktur data yang digunakan oleh komponen. 8|MAKALAH CBIS ( COMPUTER BASED INFORMATION SYSTEM ) 5. Hirarki Kontrol Hirarki kontrol disebut juga dengan struktur program, yang merepresentasikan oraganisasi (hirarki) komponen program (modul) serta mengimplikasikan suatu hirarki kontrol. Hirarki kontrol tidak mengimplikasikan aspek prosedural dari perangkat lunak, seperti urutan proses, kejadian/urutan keputusan, atau pengulangan operasi. Hirarki kontrol juga merepresentasikan dua karakteristik yang berbeda dari arsitektur peragkat lunak yaitu visibilitas dan konektivitas. Visibilitas menunjukkan serangkaian komponen program yang dapat diminta dan dipakai sebagai data oleh komponen yang diberikan dan dilakukan secara tidak langsung. Sedangkan konektivitas mengindikasikan serangkaian komponen program yang diminta secara tidak langsung atau digunakan data oleh sebuah modul yang ditetapkan. 6. Partisi Struktural Struktur program harus dipartisi secara horisontal maupun struktural. Partisi ini membagi cabang-cabang yang terpisah dari hirarki modul untuk menjadi sebuah fungsi program. Ada beberapa keuntungan yang didapat mempartisi arsitektur secara horisontal, yaitu a) b) c) d) Menghasilkan perangkat luank yang mudaj diuji. Menghasilkan penyebaran efek samping yang sedikit. Menghasilkan perangkat lunak yang lebih mudah diperluas. Menghasilkan perangkat lunak yang lebih mudah dipelihara. Selain struktur program bisa dipartisi secara horisontal bisa juga dipartisi secara vertikal, dimana kontrol dan kerja dari arsitektur program didistribusikan secara top-down. 7. Struktur Data Struktur data merepresentasikan hubungan logis antara elemen-elemen data. Selain itu struktur data juga menentukan organisasi, metode akses, tingkat assosiativitas dan alternatif pemrosesan untuk informasi. 8. Prosedur Perangkat Lunak Prosedur perangkat lunak lebih berfokus pada detail-detail pemrosesan dari masing-masing modul. Prosedur harus memberikan spesifikasi yang teliti terhadap pemrosesan, mencakup event, keputusan, operasi, dan struktur data. 9. Penyembunyian Informasi Sebuah mekanisme perancangan modul sehingga informasi yang terkandung dalam modul tidak dapat diakses oleh modul lain yang tidak berkepentingan dengan informasi tersebut. Informasi yang disembunyikan terdiri dari a) Representasi data b) Algorita seperti teknik pengurutan dan pencarian 9|MAKALAH CBIS ( COMPUTER BASED INFORMATION SYSTEM ) c) Format masukan dan keluaran d) Perbedaan mekanisme/kebijakan e) Antarmuka modul tiangkat rendah Ada beberapa alasan kenapa konsep perancangan ini perlu dipahami oleh desainer yaitu f) Mengatur sistem perangkat lunak yang kompleks. g) Meningkatkan kualitas faktor dari perangkat lunak. h) Memudahkan penggunaan kembali simantik sistem atau perangkat lunak. i) Memecahkan permasalahan-permasalahan perancangan yang ada pada umumnya. 10 | M A K A L A H C B I S ( C O M P U T E R B A S E D I N F O R M A T I O N S Y S T E M ) BAB 3 PENUTUP 1. KESIMPULAN Perkembangan teknologi saat ini berkembang dengan cepat. Metode-metode dalam pengembangan suatu aplikasipun juga beragam dilakukan. Selain itu pemenuhan kebutuhan user oleh aplikasi yang dikembangkan menjadi semakin mudah karena adanya metode desain dari perangkat lunak yang memiliki banyak persyaratan serta poin-poin yang perlu diperhatikan. Dalam metode desain perangkat lunak juga dimuat banyak materi dan step-step yang harus dijalankan oleh setiap developer yang mengembangkan aplikasi tersebut. Oleh karena itu dengan adanya metode Desain Perangkat Lunak ini dapat menghindari program yang di develop lepas dari kegunaan dari user yang menggunakan. Selain itu dengan dilakukan desain dari perangkat lunak membuat aplikasi dapat tepat sasaran pada user yang menggunakan 11 | M A K A L A H C B I S ( C O M P U T E R B A S E D I N F O R M A T I O N S Y S T E M )