1 Jelaskan definisi dari rekayasa perangkat lunak
Jawab :
Definisi Rekayasa Perangkat Lunak Menurut Fritz Bauer :
"Penerapan dan pemanfaatan prinsip-prinsip rekayasa untuk menghasilkan perngkat lunak yang ekonomis yang handal dan bekerja secara efisisen pada mesin-mesin yang nyata"
Menurut Pressman (2002), perangkat lunak dapat di definisikan sebagai berikut :
1. Perintah (program komputer) yang bila di eksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan.
2. Struktur data yang memungkinkan program memanipulasi informasu secara proposional.
3. Dokumen yang menggambarkan informasi dan kegunaan program.
2 Metode rekayasa perangkat lunak memberikan teknik bagaimana membangun perangkat lunak. Jelaskan aktifitas apa saja yang termasuk dalam metode tersebut.
Jawab :
1. Analisis sistem adalah sebuah teknik pemecahan masalah yang menguraikan sebuah sistem menjadi komponen-komponennya dengan tujuan mempelajari seberapa bagus komponen-komponen tersebut bekerja dan berinteraksi untuk meraih tujuan mereka.
Analisis mungkin adalah bagian terpenting dari proses rekayasa perangkat lunak. Karena semua proses lanjutan akan sangat bergantung pada baik tidaknya hasil analisis. Ada satu bagian penting yang biasanya dilakukan dalam tahapan analisis yaitu pemodelan proses bisnis.
2. Model proses adalah model yang memfokuskan pada seluruh proses di dalam sistem yang mentransformasikan data menjadi informasi (Harris, 2003). Model proses juga menunjukkan aliran data yang masuk dan keluar pada suatu proses. Biasanya model ini digambarkan dalam bentuk Diagram Arus Data (Data Flow Diagram / DFD). DFD meyajikan gambaran apa yang manusia, proses dan prosedur lakukan untuk mentransformasi data menjadi informasi.
3. Disain perangkat lunak adalah tugas, tahapan atau aktivitas yang difokuskan pada spesifikasi detil dari solusi berbasis computer (Whitten et al, 2004).
Disain perangkat lunak sering juga disebut sebagai physical design. Jika tahapan analisis sistem menekankan pada masalah bisnis (business rule), maka sebaliknya disain perangkat lunak fokus pada sisi teknis dan implementasi sebuah perangkat lunak (Whitten et al, 2004).
Output utama dari tahapan disain perangkat lunak adalah spesifikasi disain. Spesifikasi ini meliputi spesifikasi disain umum yang akan disampaikan kepada stakeholder sistem dan spesifikasi disain rinci yang akan digunakan pada tahap implementasi. Spesifikasi disain umum hanya berisi gambaran umum agar stakeholder sistem mengerti akan seperti apa perangkat lunak yang akan dibangun. Biasanya diagram USD tentang perangkat lunak yang baru merupakan point penting dibagian ini. Spesifikasi disain rinci atau kadang disebut disain arsitektur rinci perangkat lunak diperlukan untuk merancang sistem sehingga memiliki konstruksi yang baik, proses pengolahan data yang tepat dan akurat, bernilai, memiliki aspek user friendly dan memiliki dasar-dasar untuk pengembangan selanjutnya.
Desain arsitektur ini terdiri dari desain database, desain proses, desain user interface yang mencakup desain input, output form dan report, desain hardware, software dan jaringan. Desain proses merupakan kelanjutan dari pemodelan proses yang dilakukan pada tahapan analisis.
4. Konstruksi adalah tahapan menerjemahkan hasil disain logis dan fisik ke dalam kode-kode program komputer.
5. Pengujian sistem melibatkan semua kelompok pengguna yang telah direncanakan pada tahap sebelumnya. Pengujian tingkat penerimaan terhadap perangkat lunak akan berakhir ketika dirasa semua kelompok pengguna menyatakan bisa menerima perangkat lunak tersebut berdasarkan kriteria-kriteria yang telah ditetapkan.
6. Perawatan dan Konfigurasi. Ketika sebuah perangkat lunak telah dianggap layak untuk dijalankan, maka tahapan baru menjadi muncul yaitu perawatan perangkat lunak. Ada beberapa tipe perawatan yang biasa dikenal dalam dunia perangkat lunak seperti terlihat pada diagram di Gambar di bawah ini :
Gambar 5. Tipe-tipe perawatan.
- Tipe perawatan corrective dilakukan jika terjadi kesalahan atau biasa dikenal sebagai bugs. Perawatan bisa dilakukan dengan memperbaiki kode program, menambah bagian yang dirasa perlu atau malah menghilangkan bagian-bagian tertentu.
- Tipe perawatan routine biasa juga disebut preventive maintenance dilakukan secara rutin untuk melihat kinerja perangkat lunak ada atau tidak ada kesalahan.
- Tipe perawatan sistem upgrade dilakukan jika ada perubahan dari komponen-komponen yang terlibat dalam perangkat lunak tersebut. Sebagai contoh perubahan platform sistem operasi dari versi lama ke versi baru menyebabkan perangkat lunak harus diupgrade.
3 Jelaskan apa yang anda ketahui mengenai CASE (Computer Aided Software Engineering).
Jawab :
CASE (Computer-Aided Software Engineering) adalah berbagai macam program yang digunakan untuk mendukung semua kegiatan perangkat lunak seperti analisa persyaratan, permodelan sistem, debugging, dan pengujian.
CASE systems : ini sering digunakan untuk mendukung metode.
Upper-CASE : Alat untuk mendukung kegiatan proses awal persyaratan dan desain;
Lower-CASE
Alat untuk mendukung kegiatan kemudian seperti pemrograman, debugging dan pengujian.
4 Pekerjaan yang berhubungan dengan RPL bisa dikategorikan ke dalam 3 fase umum tanpa memandang area aplikasi, ukuran proyek atau kompleksitas. Sebutkan dan jelaskan 3 fase tersebut.
Jawab :
1. Fase Definisi (Definition Phase)
Fase ini ber fokus pada “apa” ( what); di mana pada definisi ini pengembang perangkat lunak harus mengidentifikasi informasi apa yang akan diproses, fungsi dan unjuk ker ja apa yang dibutuhkan, tingkah laku sistem seperti apa yang diharapkan, interface apa yang akan dibangun, batasan desain apa yang ada, dan kriteria validasi apa yang dibutuhkan untuk mendefinisikan sistem yang sukses. Kebutuhan ( requirement) adalah kunci dari sistem dan perangkat lunak yang didefinisikan. Metode yang diaplikasikan selama fase definisi berbeda, tergantung pada paradigma rekayasa perngakat lunak (atau kombinasi par adigma) yang diaplikasikan. Ada tiga tugas utama yang berada dalam bentuk yang sama yaitu:
- Sistem atau rekayasa informasi
- Perencanaan proyek perangkat lunak
- Analisis kebutuhan
2. Fase Pengembangan ( Development Phase)
Fase ini ber fokus pada how (bagaimana); di mana selama masa pengembangan perangkat lunak, teknisi harus mendefinisikan bagaimana data dikonstruksikan, bagaimana fungsi-fungsi diimplementasikan sebagai sebuah arsitektur perangkat lunak, bagaimana detail prosedur akan diimplementasikan, bagaimana interface ditandai (dikar akterisasi), bagaimana rancangan akan diter jemahkan ke dalam bahasa pemr ograman (atau bahasa non-prosedural), serta bagaimana pengujian akan dilakukan. Metode-metode yang diaplikasikan selama masa pengembangan program akan bervariasi, tetapi ada tiga tugas teknis yang khusus yang harus selalu ada, yaitu:
- Rancangan perangkat lunak
- Pemunculan kode
- Pengujian perangkat lunak
3. Fase Pemeliharaan (Maintenace Phase)
Fase ini berfokus pada perubahan ( change), yang dihubungkan dengan koreksi kesalahan, penyesuaian yang dibutuhkan ketika lingkungan perangkat lunak berkembang, serta perubahan sehubungan dengan perkembangan yang disebabkan oleh perubahan kebutuhan pelanggan. Fase pemeliharaan mengaplikasikan lagi langkah-langkah pada fase definisi dan fase pengembangan, tetapi semuanya tetap tergantung pada konteks perangkat lunak yang ada. Ada empat tipe perubahan yang terjadi selama masa fase pengembangan yaitu:
- Koreksi
Meskipun dengan jaminan kualitas yang terbaik, sepertinya pelanggan akan tetap
menemukan cacat pada perangkat lunak. Pemeliharaan korektif (Corrective maintenance) mengubah perangkat lunak, membetulkan cacat atau rusak.
- Adaptasi
Dari waktu ke waktu, lingkungan original (contohnya CPU, sistem operasi, aturan-aturan bisnis, karakterisasi produk eksternal) di mana perangkat lunak dikembangkan akan terus berubah. Pemeliharaan adaptif (Adaptif maintenance) menghasilkan modifikasi kepada perangkat lunak untuk mengakomodasi perubahan pada kebutuhan fungsional original.
- Perkembangan (Enhancement)
Ketika perangkat lunak dipakai, pemakai/pelanggan akan mengenali fungsi-fungsi tambahan yang memberi mereka keuntungan. Perfective maintenance memper luas perangkat lunak sehingga melampaui kebutuhan fungsi originalnya.
- Pecegahan
Keadaan perangkat lunak semakin memburuk sehubungan dengan waktu, dan karena itu, preventive maintenance yang ser ing juga disebut software engineering (rekayasa perangkat lunak), harus dilakukan untuk memungkinkan perangkat lunak melayani kebutuhan para pemakainya. Pada dasarnya preventive maintenance melakukan perubahan pada program komputer sehingga bisa menjadi lebih mudah untuk dikoreksi, disesuaikan dan dikembangkan. Fase dan langkah-langkah yang berhubungan harus diimbangi dengan sejumlah aktivitas pelindung (umbrella activities). Kegiatan-kegiatan khusus di dalam kategori ini menyangkut:
- Kontrol dan pelacakan proyek perangkat lunak
- Review teknis formal
- Jaminan kualitas perangkat lunak
- Penghasilan dan penyiapan dokumen
- Manajemen reusabilitas
- Pengukuran
- Manajemen resiko
Aktivitas pelindung diaplikasikan ke seluruh proses perangkat lunak.
5 Fase maintenance difokuskan pada perubahan sehubungan dengan adanya koreksi kesalahan, adaptasi dan pengembangan yang dikehendaki customer. Sebutkan dan jelaskan 4 tipe perubahan yang dapat dilakukan pada fase maintenance tersebut.
- Koreksi
Meskipun dengan jaminan kualitas yang terbaik, sepertinya pelanggan akan tetap menemukan cacat pada perangkat lunak. Pemeliharaan korektif ( Corrective maintenance) mengubah perangkat lunak, membetulkan cacat atau rusak.
- Adaptasi
Dari waktu ke waktu, lingkungan original (contohnya CPU, sistem operasi, aturan-aturan bisnis, karakterisasi produk eksternal) di mana perangkat lunak dikembangkan akan terus berubah. Pemeliharaan adaptif (Adaptif maintenance) menghasilkan modifikasi kepada perangkat lunak untuk mengakomodasi perubahan pada kebutuhan fungsional original.
- Perkembangan (Enhancement)
Ketika perangkat lunak dipakai, pemakai/pelanggan akan mengenali fungsi-fungsi tambahan yang memberi mereka keuntungan. Perfective maintenance memper luas perangkat lunak sehingga melampaui kebutuhan fungsi originalnya.
- Pecegahan
Keadaan perangkat lunak semakin memburuk sehubungan dengan waktu, dan karena itu, preventive maintenance yang ser ing juga disebut software engineering (rekayasa perangkat lunak), harus dilakukan untuk memungkinkan perangkat lunak melayani kebutuhan para pemakainya. Pada dasarnya preventive maintenance melakukan perubahan pada program komputer sehingga bisa menjadi lebih mudah untuk dikoreksi, disesuaikan dan dikembangkan. Fase dan langkah-langkah yang berhubungan harus diimbangi dengan sejumlah aktivitas pelindung (umbrella activities). Kegiatan-kegiatan khusus di dalam kategori ini menyangkut:
- Kontrol dan pelacakan proyek perangkat lunak
- Review teknis formal
- Jaminan kualitas perangkat lunak
- Penghasilan dan penyiapan dokumen
- Manajemen reusabilitas
- Pengukuran
- Manajemen resiko
6 Jelaskan apa yang anda ketahui mengenai "umbrella activity" dalam proses pengembangan perangkat lunak.
Jawab :
Umbrella Activity yaitu akifitas pelindung.
- mengatur proyek software
- menjamin kwalitas software
- mengatur konfigurasi software
- membuat dan mempersiapkan dokumentasi
- meninjau secara formal dan teknis
- pengukuran terhadap sofware
- mengatur resiko software
7 Sebutkan dan jelaskan tahapan proses pengembangan perangkat lunak dengan mempergunakan "linier sequential model".
1. Analisa Kebutuhan Software
Untuk memahami program yang harus dibuat, analis harus mengetahui domain informasi untuk software tersebut seperti:
o Fungsi
o Tingkah Laku
o Kinerja
o Antarmuka
Kebutuhan sistem dan software dokumentasi didiskusikan dengan customer.
2. Desain
Desain software ini sebenarnya merupakan proses beberapa tahap yang difokuskan pada 4 atribut yang berbeda dari sebuah program yaitu:
- Struktur Data
- Arsitektur software
- Tampilan antarmuka
- Algoritma (prosedur)
Desain ini didokumentasikan dan menjadi bagian dari konfigurasi software.
3. Pembuatan program
Berdasarkan desain yang ada, dilakukan translasi ke bentuk yang bisa dibaca.
4. Pengujian
Setelah program dibuat, maka dilakukan pengujian program. Pengujian difokuskan pada:
· Logika internal software (untuk menjamin semua statement telah diuji).
· Fungsi eksternal test untuk menguji jikalau terjadi kesalahan.
5. Perawatan
Perubahan mesin mungkin terjadi setelah software diserahkan ke customer. Perubahan tersebut antara lain:
· Terjadi error
· Terjadi perubahan lingkungan eksternal (misal: sistem operasi baru atau peralatan baru).
· Kebutuhan peningkatan fungsional.
· Peningkatan kinerja.
8 Untuk mengetahui kebutuhan pengembangan sistem informasi maka diperlukan beberapa domain informasi. Jelaskan apa saja domain informasi tersebut.
Jawab :
1. Aliran Informasi
Merupakan gambaran data dari satu data ke data lain.
2. Isi Informasi
Isi informasi menggambarkan item-item data yang menyusun item lebih bear dan berisikan informasi yang lengkap.
Contoh :
Record penggajian terdiri dari item nomor induk karyawan, nama karyawan, alamat karyawan, dll.
3. Struktur Informasi
Menggambarkan organisasi data secara logika dalam bentuk tabel, hirarki atau tree.
9 Desain software sebenarnya merupakan proses beberapa tahap yang difokuskan pada 4 atribut yang berbeda dari sebuah program. Sebutkan dan jelaskan 4 macam atribut tersebut.
· Data design mengubah informasi menjadi struktur data untuk mengimplementasikan software. Data design dibuat berdasarkan data dictionary dan ERD.
· Architectural design mendefinisikan relasi antara elemen-elemen struktural utama, pola desain yang digunakan untuk mencapai kebutuhan yang ditentukan untuk sistem dan batasan-batasan yang mempengaruhi bagaimana desain arsitektural ini diterapkan. Desain ini berdasarkan spesifikasi sistem, modelanalisis (bagian DFD) dan interaksi antara subsistem.
· Interface design menjelaskan bagaimana software berkomunikasi dalam dirinya, dengan sistem yang bertukar informasi dengannya, dan dengan manusia yang menggunakannya. DFD diperlukan untuk desain ini.
· Component-level design menghasilkan deskripsi prosedur software.
10 Setelah program dibuat, maka perlu dilakukan pengujian program. Jelaskan fokus pengujian tersebut.
Jawab :
Logika internal software (untuk menjamin semua statement telah diuji).
Fungsi eksternal test untuk menguji jikalau terjadi kesalahan.
11 Perubahan software mungkin terjadi setelah software diserahkan ke customer. Jelaskan perubahan apa saja yang dapat terjadi.
Jawab :
dalam hal ini, dibagi 2 yaitu :
1. offline (contohnya program hasil olahan bahasa pemrograman standar, VB, Pascal, Delphi, dll)
2. online (contohnya program hasil olahan bahasa pemrograman web. php, asp, dll)
Online kemungkinan perubahan software nya hampir tidak ada, karena proses compiling di server. Sedangkan untuk offline ini yang biasanya banyak masalah dan perubahan seperti plugins, addons dan runtime nya...
Biasanya seorang programmer akan memberitahukan dan menyertakan addons, pulugins, atau apa saja yang memang digunakan untuk software tersebut, dan dijadikan satu dalam paket penjualannya. atau minimal memberikan informasi sejelas-jelasnya (bisa melalui readme.txt) atau secara lisan.
12 Jelaskan beberapa problem yang dapat terjadi dalam pengembangan perangkat lunak yang mempergunakan "linier sequential model"
Jawab :
· Jarang sekali proyek yang prosesnya bisa dilakukan secara sequencial.
· Sukar bagi customer untuk secara explicit mengemukakan semua kebutuhannya.
· Customer harus sabar.
Developer sering menunda pekerjaan. Anggota tim harus menunggu anggota lainnya
thnks informasi yg membantu
BalasHapusMy blog