PENGETAHUAN PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK
Apakah Perangkat Lunak itu ? Program komputer juga perangkat lunak, tatapi tidak hanya itu saja konfigurasi data yg terelasi serta dokumen-dokumen yang memuat tentang rekayasa dan petunjuk operasional manual, juga disebut perangkat lunak.
Apakah Perangkat Lunak itu? Merupakan program-program komputer dan dokumentasi yang berkaitan, Produk perangkat lunak dibuat untuk pelanggan tertentu ataupun untuk pasar umum Produk perangkat lunak tersebut: Generik – dibuat untuk dijual ke suatu kumpulan pengguna yang berbeda Bespoke (custom) – dibuat untuk suatu pengguna tunggal sesuai dengan spesifikasinya.
MENGAPA PERANGKAT LUNAK? (1) Perangkat lunak dibuat supaya bisa digunakan (oleh pemakai) untuk membantu menyelesaikan masalah/ pekerjaan. Perangkat lunak digunakan oleh pemakai di lingkungan operasional dengan teknologi tertentu sebagai bagian dari sistem yang lebih besar. Perangkat lunak yang dibuat harus memenuhi apa yang diinginkan oleh pemakai (bukan yang diinginkan developer), ekonomis (memberikan keuntungan bagi developer), dan andal (dapat digunakan dalam jangka waktu yang lama).
MENGAPA PERANGKAT LUNAK? (2) Perangkat lunak sudah 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 sudah digunakan tetapi kritis atau ditinggalkan (19%). Perangkat lunak digunakan setelah dilakukan modifikasi (3%). Hanya sebagian kecil perangkat lunak yang dapat digunakan sebagaimana mestinya (2%).
KAPAN PERANGKAT LUNAK ? Ukuran perangkat lunak besar: Cakupan atau ruang lingkup persoalan luas dan dalam. Kompleksitas masalah dan tingkat kekritisan tinggi. Melibatkan banyak personal pelaksana. Waktu dan anggaran pengembangan terbatas.
Karakteristik Perangkat Lunak Dikembangkan/direkayasa Tidak dibuat secara masal Tidak ‘Usang’ mengalami penyusutan Dibuat secara khusus Tidak disusun dari komponen yang sudah ada
Problem Perangkat lunak Tidak berfungsi secara baik Ketidak tepatan penjadwalan proses dan biaya produksi. Produktivitas yang belum dapat memenuhi tuntutan kebutuhan pemakai. Pemeliharaan yang sukar. Perkembangan teknologi perangkat keras di luar kemampuan programmer
Atribut-atribut Perangkat Lunak Perangkat lunak memiliki karakteristik/perilaku yang ditunjukkan pada saat perangkat lunak tersebut dioperasikan/dipakai, hal tersebut yang dinamakan atribut-atribut perangkat lunak. Contohnya: Waktu respon ke user Dapat dipelihara Keandalan, tidak akan rusak bila gagal
Attribut-Attribut Perangkat Lunak Perangkat lunak harus: Memberikan fungsionalitas dan kinerja yang dibutuhkan user, Dapat dipelihara: perangkat lunak dapat diubah sesuai perubahan kebutuhan user. Dapat diandalkan: perangkat lunak harus memiliki keandalan, keamanan dan keselamatan. Perangkat lunak yang baik tidak menyebabkan kerusakan fisik atau ekonomi bila terjadi kegagalan sistem Dapat digunakan: perangkat lunak harus memiliki user interface yang baik dan dokumentasi yang mencukupi
Macam-Macam Perangkat Lunak Perangkat Lunak Berdasarkan Pemakai o Generik: Perangkat lunak yang bisa digunakan secara umum o Spesifik: Perangkat lunak yang dibuat berdasarkan pesanan Perangkat Lunak Berdasarkan Fungsional o Interfacing o Operating System o Perangkat Lunak Aplikasi o CASE Tools
Perangkat Lunak Berdasarkan Pemakai Generik: Perangkat lunak yang digunakan secara umum. Sebagai contoh: o operating system seperti Microsoft Windows, o Word processing seperti Microsoft Word, WordPad o Spreadsheet seperti Microsoft Excell o Beberapa aplikasi khusus bisa dibuat menjadi generik dengan membuatnya general dan mudah digunakan siapa saja seperti aplikasi akuntansi, aplikasi sekolah dan lain-lain Spesifik: Perangkat lunak yang dibuat berdasarkanpesanan. Banyak Software House yang menghasilkan perangkat lunak ini berdasarkan proyek/pesanan tertentu. Sebagai contoh aplikasi Rumah Sakit, aplikasi Pendidikan, Aplikasi Kesehatan dan lain-lain.
Perangkat Lunak Berdasarkan Fungsionalnya 1. INTERFACING: Perangkat lunak ini menghubungkan suatu perangkat keras tertentu, seperti hardware driver, interfaces dengan perangkat keras lain. Contoh: o Driver untuk Kamera, Handphone datau perangkat keras lainnya o Program interface seperti sensor suhu dengan LM555, PPI 8255, Komunikasi Serial RS232.
OPERATING SYSTEM Perangkat lunak yang menjalankan sistem komputer dan merupakan interface dari sistem komputer dan program aplikasi yang berjalan di atasnya. 3. Beberapa OS yang dikenal secara luas: o Windows o Linux dan variansnya, seperti Redhat, Suse, Mandrake, Debian dll. o Unix o FreeBSD o Machintos (Apple)
PROGRAM APLIKASI, Program ini digunakan untuk keperluan tertentu, yang tujuan membantu pekerjaan manusia menjadi lebih mudah. Progranm ini yang banyak dibahas dalam pembuatan perangkat lunak. 5. Program Aplikasi ini tergantung pada kebutuhan dari program itu sendiri, seperti o Program Office o Program Graphics Design o Program Multimedia o Dan Lain-lain
Tipe perangkat lunak Paket program yang diproduksi oleh organisasi pengembang dan dijual ke pasar bebas, seperti data base dan program perkantoran disebut sebagai tipe produk generik. Sistem informasi yang dikembangkan secara khusus oleh kontraktor perangkat lunak yang diperuntukkan pelanggan/user tertentu dikatakan sebagai perangkat lunak tipe produk pesanan.
Apakah Rekayasa Perangkat Lunak itu? Rekayasa: aplikasi keilmuan untuk penyelesaian permasalah an praktis Rekayasa Perangkat Lunak: aplikasi ilmu komputer untuk membangun sistem perangkat lunak praktis adalah suatu disiplin rekayasa yang berkonsentrasi ter hadap seluruh aspek produksi perangkat lunak. mengadopsi pendekatan yang sistematis dan terorganisir terhadap pekerjaannya dan menggunakan tool yang sesuai serta teknik yang ditentukan berdasarkan masalah yang akan dipecahkan, kendala pengembangan dan sumber daya yang tersedia
Pemrograman o Individu menulis keseluruhan program o Satu orang, satu komputer o Well-defined Problem o Programming-in-the-Small Rekayasa Perangkat Lunak o Individu menulis komponen program o Tim membangun keseluruhan prgram o Programming-in-the-Large
Aplikasi dari merekayasa perangkat lunak Wilayah Computer Science Engineering yang berhubungan dengan Sistem Perangkat Lunak o Besar dan kompleks o Dibangun oleh tim o Terdapat beberapa versi o Berakhir beberapa tahun o Undergo changes Definisi o Aplikasi yang menggunakan pendekatan sistematis, disiplin, terukur untuk mengembangkan, mengoperasikan dan memelihara perangkat lunak (IEEE 1990) o Pembangunan oleh banyak orang (multi-person) dari perangkat lunak multi-version (Parnas 1978)
Mengapa Rekayasa Perangkat lunak ? Kompleksitas program melebihi programmer individu Rekayasa perangkat lunak ditarget untuk o Membangun aplikasi perangkat lunak besar o Mendefinisikan permasalahan dengan jelas dan komplit o Perangkat dan teknik untuk mendukung proses o Team-Oriented experience Rekayasa perangkat lunak harus berkembang menjadi Engineering discipline Rekayasa perangkat lunak harus memajukan dan mendukung konstruksi multi-person dari perangkat lunak multi-version
Tujuan RPL Diartikan bahwa bidang rekayasa akan selalu berusaha menghasilkan output yang kinerjanya tinggi, biaya rendah dan waktu penyelesaian yang tepat.
Apa tujuan RPL ? a. Memperoleh biaya produksi perangkat lunak yang rendah. b. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu. c. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform. d. Menghasilkan perangkat lunak yang biaya perawatannya rendah.
MANFAAT RPL Perangkat lunak yang dihasilkan sesuai dengan kebutuhan yang diinginkan. Perangkat lunak dapat digunakan dan beroperasi dengan benar di lingkungan sebenarnya. Perangkat lunak memberikan manfaat bagi pemakai yang menggunakannya. Biaya yang dikeluarkan untuk membuatnya rendah (efisien), efektif dan sesuai dengan anggaran yang telah ditetapkan. Tepat waktu, baik saat pembuatan, penyerahan ke pemakai, maupun instalasinya. Setiap tahap pekerjaan terjamin kualitasnya, terdokumentasi, dan dapat dipertanggungjawabkan kebenarannya (ada proses verifikasi dan validasi).
Elemen-elemen Kunci dalam RPL - Metode : 'how to' yang bersifat teknis , meliputi bidang- bidang perencanaan proyek, estimasi, analisis persyaratan, perancangan, coding, pengujian, dan pemeliharaan. - Tool : Memberikan dukungan automasi bagi metode - Prosedur : mengintegrasikan metode dan tool
Ruang lingkup Rekayasa Perangkat lunak . Perangkat Lunak
Software design mencakup proses penentuan arsitektur, - Software requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak. Software design mencakup proses penentuan arsitektur, komponen,antarmuka, dan karakteristik lain dari perangkat lunak. Software construction berhubungan dengan detil pengembangan perangkat lunak, termasuk algoritma, pengkodean, pengujian, dan pencarian kesalahan. Software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak. - Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan.
Software configuration management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu. Software engineering management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak. Software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL. Software engineering process berhubungan dengan definisi, implementasi, pengukuran, pengelolaan, perubahan dan perbaikan proses RPL. - Software quality menitikberatkan pada kualitas dan daur hidup perangkat lunak.
Keterkaitan RPL dengan Ilmu lain
Keterkaitan RPL dengan Ilmu lain Bidang ilmu manajemen meliputi akutansi, finansial, pemasaran, manajemen operasi, ekonomi, analisis kuantitatif, manajemen sumber daya manusia, kebijakan dan strategi bisnis. Bidang ilmu matematika meliputi aljabar linier, kalkulus, peluang, statistik, analisis numerik dan matematika diskrit. Bidang ilmu manajemen proyek meliputi semua hal yang berkaitan dengan proyek, seperti ruang lingkup proyek, anggaran, tenaga kerja, kualitas, manajemen resiko, dan penjadwalan proyek.
Keterkaitan RPL dengan Ilmu lain Bidang ilmu manajemen kualitas meliputi pengembangan sistem kualitas, manajemen resiko dan keandalan, perbaikan kualitas, dan metode-metode kuantitatif. Bidang ilmu ergonomika menyangkut hubungan (interaksi) antara manusia dengan komponen-komponen lain dalam sistem komputer. Bidang ilmu rekayasa sistem meliputi teori sistem, analisis biayakeuntungan, pemodelan, simulasi, proses dan operasi bisnis.
Biaya rekayasa perangkat lunak Sekitar 60% untuk biaya pengembangan, 40% biaya pengujian. Untuk perangkat lunak berbasis pengguna (custom), biaya evolusi biasanya melebihi biaya pengembangan. Biaya beragam tergantung pada tipe sistem yang akan dikembangkan dan kebutuhan sistem seperti unjuk kerja dan kehandalan sistem, Distribusi biaya bergantung pada model pengembangan yang digunakan.