Quiz RPL

download Quiz RPL

of 7

Transcript of Quiz RPL

Nama: M.Wichal DasstuNim: 3411111032Mata Kuliah: Rekayasa Perangkat LunakPertanyaan

1. Mengapa diperlukan pengujian terhadap perangkat lunak?2. Ada berapa metode pengujian, sebutkan dan jelaskan, kemudian berikan contohnya?3. Mengapa diperlukan perawatan terhadap perangkat lunak?4. Berikan contoh model perawatan perangkat lunak?5. Tolong carikan model pengembangan perangkat lunak berorientasi objek,selain RUP (Rasional unifite project),kemudian berikan gambaran perbandingannya??6. Jelaskan kendala dalam menyelesaikan proyek tugas kelompok!

Jawaban

1. Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan spesifikasi, desain dan pengkodean.

Meningkatnya visibilitas (kemampuan) perangkat lunak sebagai suatu elemen sistem dan biaya yang muncul akibat kegagalan perangkat lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang teliti. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat dianggap sebagai hal yang merusak daripada membangun.

2. Dalam melakukan uji coba ada 2 masalah penting yang akan dibahas, yaitu :

A. Teknik uji coba perangkat lunakB. Strategi uji coba perangkat lunak

Pada dasarnya, pengujian merupakan suatu proses rekayasa perangkat lunak yg dapat dianggap (secara psikologis) sebagai hal yg destruktif daripada konstruktif.

SASARAN PENGUJIAN (Glen Myers) : Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan. Test case yg baik adalah test case yg memiliki probabilitas tinggi untuk menemukan kesalahan yg belum pernah ditemukan sebalumnya. Pengujian yg sukses adalah pengujian yg mengungkap semua kesalahan yg belum pernah ditemukan sebelumnya. PRINSIP PENGUJIAN (diusulkan Davis) : Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan. Pengujian harus direncanakan lama sebelum pengujian itu dimulai. Prinsip Pareto berlaku untuk pengujian perangkat lunak. Prinsip Pareto mengimplikasikan 80% dari semua kesalahan yg ditemukan selama pengujian sepertinya akan dapat ditelusuri sampai 20% dari semua modul program. Pengujian harus mulai "dari yg kecil" dan berkembang ke pengujian "yang besar". Pengujian yg mendalam tidak mungkin. Paling efektif, pengujian dilakukan oleh pihak ketiga yg independen.

TESTABILITAS

Testabilitas perangkat lunak adalah seberapa mudah sebuah program komputer dapat diuji. Karena pengujian sangat sulit, perlu diketahui apa yg dapat dilakukan untuk membuatnya menjadi mudah.

Karakteristik perangkat lunak yg diuji : OPERABILITAS, semakin baik dia bekerja semakin efisien dia dapat diuji. OBSERVABILITAS, apa yg anda lihat adalah apa yg anda uji. KONTROLABILITAS, semakin baik kita dapat mengontrol perangkat lunak semakin banyak pengujian yg adapat diotomatisasi dan dioptimalkan. DEKOMPOSABILITAS, dengan mengontrol ruang lingkup pengujian kita dapat lebih cepat mengisolasi masalah dan melakukan pengujian kembali. KESEDERHANAAN, semakin sedikit yg diuji semakin cepat pengujian. STABILITAS, semakin sedikit perubahan semakin sedikit gangguan pengujian. KEMAMPUAN DIPAHAMI, semakin banyak informasi yg dimiliki semakin detail pengujiannya.

ATRIBUT PENGUJIAN YG BAIK : Memiliki probabilitas yg tinggi menemukan kesalahan. Tidak redundan. Harusnya jenis terbaik. Tidak boleh terlalu sederhana atau terlalu kompleks.

DESAIN TEST CASE

Terdapat bermacam-macam rancangan metode test case yg dapat digunakan, semua menyediakan pendekatan sistematis untuk uji coba, yg terpenting metode menyediakan kemungkinan yg cukup tinggi menemukan kesalahan.

Terdapat 2 macam test case:

Pengetahuan fungsi yg spesifik dari produk yg telah dirancang untuk diperlihatkan, test dapat dilakukan untuk menilai masing-masing fungsi apakah telah berjalan sebagaimana yg diharapkan. Pengetahuan tentang cara kerja dari produk, test dapat dilakukan untuk memperlihatkan cara kerja dari produk secara rinci sesuai dengan spesifikasinya.

Dua macam pendekatan test yaitu :a. Black Box Testing

Test case ini bertujuan untuk menunjukkan fungsi perangkat lunak tentang cara beroperasinya, apakah pemasukan data keluaran telah berjalan sebagaimana yang diharapkan dan apakah informasi yang disimpan secara eksternal selalu dijaga kemutakhirannya.

Tehnik pengujian black-box berfokus pada domain informasi dari perangkat lunak, dengan melakukan test case dengan menpartisi domain input dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam.

b. White Box Testing

White Box Testing Adalah meramalkan cara kerja perangkat lunak secara rinci, karenanya logikal path (jalur logika) perangkat lunak akan ditest dengan menyediakan test case yang akan mengerjakan kumpulan kondisi dan atau pengulangan secara spesifik. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%.

Pengujian white-box berfokus pada struktur control program. Test case dilakukan untuk memastikan bahwa semua statemen pada program telah dieksekusi paling tidak satu kali selama pengujian dan bahwa semua kondisi logis telah diuji. Pengujian basic path, tehnik pengujian white-box, menggunakan grafik (matriks grafiks) untuk melakukan serangkaian pengujian yang independent secara linear yang akan memastikan cakupan.

3. Istilah pemeliharaan perangkat lunak digunakan untuk menjabarkan aktivitas dari analis sistem (software engineering) yang terjadi pada saat hasil produk perangkat lunak sudah dipergunakan oleh pemakai (user).Biasanya pengembangan produk perangkat lunak memerlukan waktu antara 1 sampai dengan 2 tahun, tetapi pada pase pemeliharaan perangkat lunak menghabiskan 5 sampai dengan 10 tahun. Aktivitas yang terjadi pada pase pemeliharaan antara lain: penambahan atau peningkatan atau juga perbaikan untuk produk perangkat lunak adaptasi produk dengan lingkungan mesin yang baru pembetulan permasalahan yang timbul4. Pemeliharaan atau perawatan perangkat lunak merupakan proses memodifikasi system perangkat lunak atau komponennya setelah penggunaan oleh konsumen untuk memperbaiki kerusakan, meningkatkan kinerja , manfaat, atau kualitas lainnya atau untuk menyesuaikan system perangkat lunak dengan lingkungan yang berubah. Definisi ini menegaskan bahwa proses pemeliharaan atau perawatan perangkat lunak merupakan proses yang bersifat post-deliferi, artinya dilakukan setelah system perangkat lunak di gunakan oleh konsumen.Dari defenisi tersebut kesimpulan yang dapat diambil adalah perawatan perangkat lunak.a.Adalah aktivitas PosT-delivery Tidak ada aktifitas perawatan saat pembangunan PL. Aktifitas perawatan dilakukan setelah product PL beroperasi/berproduksi.

b.Dilakukan dengan: Memperbaiki (to correct) Meningkatkan kinerja (to improve) Menyusuaikan (to adapt)c.Dengan tujuan menjaga: Operasional Responsivitas IntegrityKategori Perawatan Perangkat LunakLientz dan swanson membagi pemeliharaan perangkat lunak kedalam tiga komponen, yakni pemeliharaan korektif, adaptif dan perfektif. Pemeliharaan korektif, mencakup semua perubahan yang dilakukan untuk menghilangkan kerusakan actual pada perangkat lunak. Pemeliharaan adaptif, mencakup semua perubahan yang di butuhkan sebagai konsekuensi dari perubahan lingkungan dimana system beroprasi, misalkan perubahan perangkat keras, system operasi, DBMS, atau jaringan computer. Pemeliharaan perfektif, mencakup semua perubahan yang berasal dari permintaan pengguna.Persentase dari masing-masing kategori pemeliharaan dapat dilihat pada diagram berikut ini :

Pigoski menggabungkan pemeliharaan adaptif dan perfektif sebagai enhancement karena kedua tipe ini tidak bersifat korektif, namun merupakan peningkatan kemampuan perangkat lunak.Namun sebagian organisasi menggunakn istilah pmeliharaan perangkat lunak jika itu berkaitan dengan perubahan kecil pada system perangkat lunak disebut dengan pengembangan perangkat lunak.Idealnya pemeliharaan tidak boleh mengurangi reabilitas dan struktur dari system, sebab akan menyusahkan perubahan dimasa yang akan dating.Model TradisionalPerawatan perangkat lunak Model tradisional mendefinisikan bahwa perwatan perangkat lunak adalah aktifitas yang dimulai setelah perangkat luank dioperasikan. Model tradisional memiliki banyak pendapat pendapat tentang apa itu model tradisional perawatan perangkat lunak, antara lain;a) Menurut Sharpley (1977), Difokuskan pada perawatan koreksi dan langkah langkahnya terdiri dari : Verivikasi problem. Diagnosis problem. Reprogramming. Verivikasi baseline.b) Menurut Yau dan Collofello (1980) : Menentukan objektif perawatan. Memahami program. Genetate perubahannya . Perhitungkan efek bandulannya. e.Lakukan tes regresi.c) Menurut Calliss and Calliss (1992), mengelompokkan model perawatan : Berorientasi proses (Boehm 76, Chapin 87, Yau&Collofello 80) Memandang dari sisi aktivitas-2 yang dilakukan Cara melukan aktivitas2 tsb Berorientasi organisasional (Pressman 92, Gamalel-Din dan Osterweil 88) Memandang dari sisi aktifitas-2 yang dilakukan Aliran informasi diantara aktifitas tsb.

d) Menurut Scacchi (2001), Evolusi Model perangkat lunak tradisional telah lama menjadi software engineering.Life cycleperangkat lunak yang klasik yang terkenal yaitu Waterfall dan model stepwise refinementsecara luas tertulis dan dibahas oleh semua buku pada praktek pemrograman modern dan rekayasa perangkat lunak. Modelincrementalmerilis model yang berhubungan erat dengan praktek industri yang sering terjadi di lapangan.Military standardmendasarkan pada model yang mempunyai format tertentu berdasarkan modellife cycleklasik ke dalam praktek yang diperlukan untuk pemerintahan. Masing-masing empat model ini menggunakan hal-hal yang kasar atau karakteristik makroskopik ketika ingin menggambarkan evolusi perangkat lunak.Suatu langkah yang progresif, evolusi perangkat lunak sering dijelaskan dalam beberapa langkah, seperti spesifikasi kebutuhan, disain persiapan, dan implementasi. Hal tersebut pada umumnya hanya mempunyai sedikit atau tidak ada sama sekali karakteristik lebih lanjut selain dari daftar atribut produk dari langkah-langkah yang dilaluinya . Lebih lanjut, model ini adalah tidak terikat pada pengembangan organisasi, pilihan bahasa program, daerah aplikasi perangkat lunak dan lain lain. Singkatnya, model tradisional adalahcontext-freedibandingkan dengan context-sensitive. Tetapi semualife cyclemodel ini telah digunakan pada beberapa waktu yang lalu dan kita mengacu pada model tradisional serta memberikan karakteristik masing-masing pada gilirannya.

Perawatan dan KonfigurasiKetika 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 2. 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.

5.