Rekayasa Perangkat Lunak€¦ · Aunur R. Mulyanto REKAYASA PERANGKAT LUNAK JILID 2 SMK
1 - Konsep Dasar Rekayasa Perangkat Lunak (1)
-
Upload
bruceyogiaritanan -
Category
Documents
-
view
45 -
download
1
description
Transcript of 1 - Konsep Dasar Rekayasa Perangkat Lunak (1)
19 Agustus 2015
Konsep Dasar Rekayasa Perangkat Lunak
Sekumpulan baris kode yang ditulis menurut
aturan bahasa pemrograman tertentu, disimpan
dan dijalankan pada arsitektur perangkat keras
untuk menjalankan fungsi fungsi tertentu.‐
Apa itu Perangkat Lunak?
• Instruksi• Atau program komputer yang ketika dieksekusi akan
memberi fungsi dan hasil yang diinginkan.
• Struktur data• Yang memungkinkan program memanipulasi informasi
• Dokumen• Yang menggambarkan operasi dan penggunaan program.
Apa itu Perangkat Lunak?
Sistem Operasi
Sistem Tertanam
Perangkat Lunak Aplikasi: Bisnis, ilmiah, lini produk
Aplikasi Web
Aplikasi Mobile
Utility
Kecerdasan Buatan
Jenis Perangkat Lunak
PL dikembangkan bukan diproduksi: Kualitas PL tidak terlihat secara fisik, harga dapat ditentukan konsumen
PL tidak mengalami ke ausan: PL tidak dipengaruhi ‐lingkungan: debu, cuaca, goncangan; PL tdk memilki suku cadang
PL dapat digunakan kembali (reusable): Komponen PL dapat digunakan berulang ulang meskipun dengan ‐platform berbeda
Karakteristik Perangkat Lunak
Perangkat lunak telah diselesaikan dan diserahkan (delivered) tetapi tidak pernah digunakan (47%).
Pemakai (user) sudah membayar untuk perangkat lunak tetapi tidak pernah jadi dan diserahkan (29,7%).
Perangkat lunak digunakan sebagaimana mestinya (2%).
Masalah dalam Perangkat Lunak
Bagaimana memenuhi kebutuhan pelanggan terhadap perangkat lunak?
Bagaimana membuat harga PL lebih terjangkau?
Bagaimana merancangan sebuah PL yang baik?
Bagaimana dapat membuat PL secara cepat sesuai jadwal?
Bagaimana membuat perangkat lunak yang dpt diandalkan?
Bagaimana perangkat lunak tetap dapat dirawat/dipelihara?
Tantangan Perangkat Lunak
Ada banyak buku membahas mengenai perangkat lunak, bukankah itu cukup untuk memandu developer membuat perangkat lunak?
Apakah disadari keberadaannya, apa dpt dijangkau, apakah isi tsb cukup lengkap mengatasi persoalan yg dihadapi, apa isi buku up to date dengan permasalahan?
Mitos Perangkat Lunak: Manager
Ketika jadwal deadline sudah dekat menambah jumlah developer akan mempercepat waktu pengerjaan perangkat lunak?
Menambahkan orang ke dalam proyek perangkat lunak tidak serta merta mempercepat waktu penyelesaian ‐proyek karena pendatang baru harus beradaptasi dan perlu diajari sehingga memerlukan waktu tambahan
Mitos Perangkat Lunak: Manager
Menyatakan tujuan umum cukup untuk memulai membuat program?
Pernyataan tujuan harus bersifat definitive tdk boleh ambigu diperlukan untuk memulai membuat program
Mitos Perangkat Lunak: Pelanggan
Kebutuhan perangkat lunak terus berubah dan itu merupakan hal yang mudah karena perangkat lunak bersifat fleksibel?
Perangkat lunak memang bisa berubah setiap saat akan tetapi hal tersebut membutuhkan biaya lebih besar, ketika perubahan baru didefinisikan saat program sudah memasuki tahap konstruksi ketimbang pada tahap perancangan
Mitos Perangkat Lunak: Pelanggan
Begitu selesai menuliskan kode program berarti program sudah selesai?
Kenyataan 60 80% proses perangkat lunak ‐dikerjakan ketika produk sudah diserahkan ke pelanggan
Mitos Perangkat Lunak: Developer
Sampai program selesai dibuat, tidak ada cara untuk menjalankanya/mengujinya?
Pengujian sudah dapat dilakukan sejak awal program dibuat maupun saat program dibuat
Mitos Perangkat Lunak: Developer
Satu satunya goal adalah membuat ‐program aplikasi berjalan?
Program/aplikasi bukan satu satunya ‐tujuan. Di samping itu terdapat model, perencanaan, dokumentasi yang terkadang justru lebih penting
Mitos Perangkat Lunak: Developer
Ilmu yang mempelajari tehnik
pembuatan software yang baik
dengan pendekatan tehnik
(Engineering approach)
Rekayasa Perangkat Lunak?
Metodologi / prinsip prinsip untuk ‐mengembangkan perangkat lunak
yang handal, efisien, tepat waktu
sesuai kebutuhan pelanggan
Rekayasa Perangkat Lunak?
1. Fase Definisi (What)
Merupakan fase indentifikasi informasi yang akan diproses.
2. Fase Pengembangan (How)
Berfokus pada bagaimana pengembangan perangkat lunak dilakukan ?
3. Fase Pemeliharaan (Change).
Berhubungan dengan koreksi kesalahan dan penyesuaian yang dibutuhkan.
Empat tipe perubahan dalam fase pemeliharaan adalah Koreksi, Adaptasi, Perkembangan dan Pencegahan
Fase dalam Rekayasa Perangkat Lunak
1. PL telah menyatu dengan kehidupan sehari hari, banyak ‐suara yang harus didengar, beda pelanggan berbeda kebutuhan, sehingga memahami masalah harus didahulukan sebelum solusi dibuat.
2. Kebutuhan PL telah berkembang pesat ke dalam bentuk‐bentuk yang lebih rumit, lebih canggih, sehingga kompleksitas ini menuntut perancangan sebagai kegiatan yang penting dilakukan
Langkah-langkah dalam Rekayasa Perangkat Lunak?
3. Individu mapun organisasi organisasi semakin ‐mengandalkan PL untuk menunjang keputusan taktis maupun strategis, PL yang gagal berdampak buruk terhadap individu atau organisasi tersebut oleh karena itu PL harus dapat diandalkan setiap saat.
4. Seiring dengan kemajuan teknologi, bertambahnya pengguna maka tuntutan untuk beradaptasi dan peningkatan mutu bertambah pula, maka PL harus bersifat dapat dirawat/diperbarui.
Langkah-langkah dalam Rekayasa Perangkat Lunak?
1. Pahami Permasalahannya: siapa yang terkait dgn
masalah, fitur apa yg dibutuhkan, dapatkah masalah
dianalisis dan dikategorikan.
2. Rancang Solusinya: Pernahkan Anda atau anggota tim
menghadapi masalah yang serupa, dapatkah model
perancangan diajukan.
Solusi Praktis
3. Laksanakan Rancangannya: Pernahkah kode program
yang dibuat/algoritma diulas, apakah kode program
dapat dilacak melalui rancangannya.
4. Periksa Hasilnya: Mungkinkah untuk menguji solusi
yang diajukan, apakah solusi sudah menghasilkan
informasi yang dinginkan pelanggan.
Solusi Praktis
3. Laksanakan Rancangannya: Pernahkah kode program
yang dibuat/algoritma telah diulas? Apakah kode
program dapat dilacakmelalui rancangannya?
4. Periksa Hasilnya: Mungkinkah untuk menguji solusi
yang diajukan? Apakah solusi sudahmenghasilkan
informasi yang dinginkan pelanggan?
Solusi Praktis
Masalahnya adalah kompleksitas Banyak dibutuhkan sumber-sumber, tetapi kuncinya adalah
ukuran (size) : UNIX berisi 4 juta lines of code. Windows 2000 berisi 108 lines of code yang dikerjakan oleh Tim dengan
anggota 1400 orang.
Soft. Engineering adalah bagaimana mengelola kompleksitas tersebut dan dapat bekerja dalam
satu Team Work
Mengapa perlu RPL?
Bagaimana bekerja dalam suatu proyek skala besar, kompleks & melibatkan banyak orang ?
1. Spesifikasi Kebutuhan (requirement specification)
2. Analisis (analysis)
3. Perancangan (design)
4. Implementasi & Pengujian (implementastion & testing)
5. Perawatan & Up-grade (maintenance & upgrade)
Tahapan Pengembangan RPL
Evolusi Perangkat Lunak
Tahun-tahun Pertama• Batch Orientation
Suatu orientasi di mana proses dilakukan setelah data dikumpulkan dalam satuan waktu tertentu, atau proses dilakukan setelah data terkumpul, lawan dari batch adalah ONLINE atau Interactive Process. Keuntungan dari Interactive adalah mendapatkan data yang selalu up to date.
• Limited distribution
Suatu penyebaran software yang terbatas pada perusahaan-perusahaan tertentu.
• Custom software
Software yang dikembangkan berdasarkan keinginan perusahaan-perusahaan tertentu.
Era KeduaMulti user
Suatu sistem di mana satu komputer digunakan oleh beberapa user pada saat yang sama.
Real Time
Suatu sistem yang dapat mengumpulkan, menganalisa dan mentransformasikan data dari berbagai sumber, mengontrol proses dan menghasilkan output dalam mili second.
Era KeduaDatabase
Perkembangan yang pesat dari alat penyimpan data yang OnLine menyebabkan muncul generasi pertama DBMS (Database Management System).
Product Software
Adalah software yang dikembangkan untuk dijual kepada masyarakat luas.
Era Ketiga• Distributed system
Suatu sistem yang tidak hanya dipusatkan pada komputer induk (Host computer), daerah atau bidang lainnya yang juga memiliki komputer yang ukurannya lebih kecil dari komputer induk. Lawan dari distributed system adalah Centralized System.
• Embedded Intelegence
Suatu product yang diberi tambahan “Intellegence” dan biasanya ditambahkan mikroprocessor yang mutakhir. Contohnya adalah automobil, robot, peralatan diagnostic serum darah.
Era Ketiga• Low Cost Hardware
Harga hardware yang semakin rendah, ini dimungkinkan karena munculnya Personal Computer.
• Consumer Impact
Adanya perkembangan komputer yang murah menyebabkan banyaknya software yang dikembangkan, software ini memberi dampak yang besar terhadap masyarakat.
Era Keempat• Expert system
Suatu penerapan A.I. (Artificial Intellegence) pada bidang-bidang tertentu, misalnya bidang kedokteran, komunikasi, dll.
• AI Machine
Suatu mesin yang dapat meniru kerja dari sebagian otak manusia. Misalnya mesin robot, komputer catur.
• Parallel Architecture
Arsitektur komputer yang memungkinkan proses kerja LAN paralel, yang dimungkinkan adanya prosesor berbeda dalam satu komputer