PENGUJIAN, IMPLEMENTASI, DAN PEMELIHARAAN SISTEM

BAB V PENGUJIAN, IMPLEMENTASI, DAN PEMELIHARAAN SISTEM

A. FILOSOFI PENGUJIAN

Pengujian sistem merupakan proses mengeksekusi sistem perangkat lunak untuk menentukan apakah sistem perangkat lunak tersebut cocok dengan spesifikasi sistem dan berjalan sesuai dengan lingkungan yang diinginkan. Pengujian sistem sering diasosiasikan dengan pencarian bug, ketidaksempurnaan program, kesalahan pada baris program yang menyebabkan kegagalan eksekusi sistem perangkat lunak.

Ada 2 metode untuk melakukan unit testing, yaitu :

1. Black Box Testing Terfokus pada apakah unit program memenuhi kebutuhan (requirement) yang disebutkan dalam spesifikasi. Pada black box testing, cara pengujian hanya dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit itu sesuai dengan proses sistem yang diinginkan. Jika ada unit yang tidak sesuai outputnya, maka untuk menyelesaikannya, diteruskan pada pengujian yang kedua, yaitu white box testing.

2. White Box Testing White box testing adalah cara pengujian dengan melihat ke dalam modul untuk meneliti kode-kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses sistem yang dilakukan, maka baris-baris program, variable, dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki, kemudian di compile ulang.

Page 66 - 74

Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu pada kualitas perangkat lunak tidak dapat terlalu ditekan karena melibatkan sederetan aktivitas produksi di mana peluang terjadinya kesalahan manusia sangat besar dan arena ketidakmampuan manusia untuk melakukan dan berkomunikasi dengan sempurna maka pengembangan perangkat lunak diiringi dengan aktivitas jaminan kualitas.

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.

Sejumlah aturan yang berfungsi sebagai sasaran pengujian pada perangkat lunak adalah:

1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan

2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya

3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya Sasaran itu berlawanan dengan pandangan yang biasanya dipegang yang

menyatakan bahwa pengujian yang berhasil adalah pengujian yang tidak ada kesalahan yang ditemukan. Data yang dikumpulkan pada saat pengujian dilakukan memberikan indikasi yang baik mengenai reliabilitas perangkat lunak dan beberapa menunjukkan kualitas perangkat lunak secara keseluruhan, tetapi ada satu hal yang tidak dapat dilakukan oleh pengujian, yaitu pengujian tidak dapat memperlihatkan tidak adanya cacat, pengujian hanya dapat memperlihatkan bahwa ada kesalahan perangkat lunak.

Sebelum mengaplikasikan metode untuk mendesain test case yang efektif, perekayasa perangkat lunak harus memahami prinsip dasar yang menuntun pengujian perangkat lunak, yaitu:

Page 67 - 74

 semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan, maksudnya mengungkap kesalahan dari cacat yang menyebabkan program gagal.

 Pengujian harus direncanakan lama sebelum pengujian itu mulai, maksudnya semua pengujian dapat direncanakan dan dirancang sebelum semua kode dijalankan.

 Prinsip Pareto berlaku untuk pengujian perangkat lunak, maksudnya dari 80% kesalahan yang ditemukan selama pengujian dapat ditelusuri sampai 20% dari semua modul program.

 Pengujian harus mulai “dari yang kecil” dan berkembang ke pengujian “yang besar”, Selagi pengujian berlangsung maju, pengujian mengubah focus dalam usaha menemukan kesalahan pada cluster modul yang terintegrasi dan akhirnya pada sistem.

 Pengujian yang mendalam tidak mungkin karena tidak mungkin mengeksekusi setiap kombinasi jalur skema pengujian dikarenakan jumlah jalur permutasi untuk program menengah pun sangat besar.

 Untuk menjadi paling efektif, pengujian harus dilakukan oleh pihak ketiga yang independent

Dalam lingkungan yang ideal, perekayasa perangkat lunak mendesain suatu program computer, sebuah sistem atau produk dengan testabilitas dalam pikirannya. Hal ini memungkinkan individu yang berurusan dengan pengujian mendesain test case yang efektif secara lebih mudah. Testabilitas adalah seberapa mudah sebuah program computer dapat diuji. Karena sangat sulit, perlu diketahui apa yang dapat dilakukan untuk membuatnya menjadi lebih mudah. Procedural dan menggunakannya sebagai pedoman untuk menetapkan basis set dari jalur eksekusi.

Sasaran utama desain test case adalah untuk mendapatkan serangkaian pengujian yang memiliki kemungkinan tertinggi di dalam pengungkapan kesalahan pada perangkat lunak. Untuk mencapai sasaran tersebut, digunakan 4 kategori yang berbeda dari tehnik desain test case: Pengujian white-box, pengujian black-box, Integrasi Bottom-Up dan Integrasi Top-Down.

Page 68 - 74

B. FOKUS PENGUJIAN

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.

Pengujian aliran data dan kondisi lebih lanjut menggunakan logika program dan pengujian loop menyempurnakan tehnik white-box yang lain dengan memberikan sebuah prosedur untuk menguji loop dari tingkat kompleksitas yang bervariasi. Pengujian black-box didesain untuk mengungkap kesalahan pada persyaratan fungsional tanpa mengabaikan kerja internal dari suatu program.

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.

Metode pengujian graph-based mengeksplorasi hubungan antara dan tingkah laku objek-objek program. Partisi ekivalensi membagi domain input ke dalam kelas data yang mungkin untuk melakukan fungsi perangkat lunak tertentu. Analisis nilai batas memeriksaa kemampuan program untuk menangani data pada batas yang dapat diterima.

Metode pengujian yang terspesialisasi meliputi sejumlah luas kemampuan perangkat lunak dan area aplikasi. GUI, arsitektur client/ server, dokumentasi dan fasilitas help dan sistem real time masing-masing membutuhkan pedoman dan tehnik khusus untuk pengujian perangkat lunak.

Integrasi Top-Down adalah pendekatan incremental dengan menggerakkan ke bawah melalui hirarki control, dimulai dengan control utama. Strategi intergrasi top-down memeriksa control mayor atau keputusan pada saat awal di dalam proses pengujian. Pada struktur program yang difaktorkan dengan

Page 69 - 74 Page 69 - 74

Strategi top-down kelihatannya tidak sangat rumit, tetapi di dalam praktenya banyak menimbulkan masalah logistic. Biasanya masalah ini terjadi jika dibutuhkan pemrosesan di dalam hirarki pada tingkat rendah untuk menguji secara memadai tingkat yang lebih tinggi.

Pengujian Integrasi Bottom-up memulai konstruksi dan pengujian dengan modul atomic (modul pada tingkat paling rendah pada struktur program). Karena modul diintegrasikan dari bawah ke atas, maka pemrosesan yang diperlukan untuk modul subordinate ke suatu tuingkat yang diberikan akan selalu tersedia dan kebutuhan akan stub dapat dieliminasi. Strategi integrasi bottom-up dapat diimplementasi dengan langkah-langkah:

1. Modul tingkat rendah digabung ke dalam cluster (build) yang melakukan subfungsi perangkat lunak spesifik.

2. Driver (program control untuk pengujian) ditulis untuk mengkoordinasi input dan output test case

3. Cluster diuji

4. Driver diganti dan cluster digabungkan dengan menggerakkannya ke atas di dalam struktur program .

Page 70 - 74

B. IMPLEMENTASI SISTEM

Tahapan implementasi sistem dapat terdiri dari langkah-langkah berikut :  Menerapkan rencana implementasi  Melakukan kegiatan implementasi

 Tindak lanjut implementasi

1. Kegiatan implementasi

Kegiatan yang dilakukan dalam tahapan implementasi adalah :  Pemilihan dan pelatihan personel

 Pemilihan tempat dan instalasi perangkat lunak dan perangkat keras  Pemrograman dan pengujian program  Pengujian sistem  Konversi sistem

2. Pemiliharaan Dan Pelatihan Personel

Pelatihan karyawan : Ada beberapa pendekatan pelatihan, yaitu :

 Ceramah/seminar  Pelatihan procedural  Pelatihan tutorial  Simulasi\latihan langsung di pekerjaan (on the job training).

Page 71 - 74

C. PENERAPAN dan PEMELIHARAAN SIM

Langkah-langkah Penerapan

Setelah desain Sistem selesai dibuat, ada empat metode dasar yang dapat digunakan untuk penerapan MIS tersebut. Ini meliputi :

1. Pasang sebuah sistem dalam suatu organisasi yang baru dibentuk

Hentikan pemakaian sistem lama, dan pasang sistem baru. Ini menimbulkan kesenjangan waktu (time gap), di mana tidak ada satu sistem pun yang dioperasikan. Hal ini praktis hanta untuk sebuah perusahaan kecil atau untuk sistem yang kecil, dimana pemasangannya hanya membutuhkan satu atau dua hari saja. Kecuali kalau pemasangan sistem yang lebih besar dilakukan selama pabrik ditutup karena libur, atau pada periode tidak ada kegiatan apa pun di pabrik tersebut Alihkan atau pindahkan operasinya secara bertahap. Cara ini juga merujuk kepada “tahapan masuk” (phasing in) dari sistem baru yang bersangkutan. Bagian yang kecil atau subsistem dan sistem baru digantikan terhadap sistem lama. Jika cara ini mungkin dilaksanakan, perlu rasanya sistem baru itu dinilai secara seksama Jalankan sistem baru dan sistem lama secara paralel dan lakukan pengalihan secara bertahap. Sistem baru dipasang dan dijalankan secara pararel dengan sistem lama yang ada, sampai seluruh fungsinya telah berjalan dengan baik, kemudian sistem lama dihentikan. Keuntungan utama dari cara ini adalah kesempatan untuk melakukan koreksi (debugging) yang diperlukan sambil berjalan, sehingga sistem ini dapat diandalkan untuk sistem informasi utama dari perusahaan.

2. Buat rencana penerapannya Ketiga tahapan utama dalam penerapannya, merupakan satu seri atau berurutan, yaitu pemasangan awal, uji-coba sistem secara menyeluruh, dan tahap evaluasi, pemeliharaan serta kontrol dari sistem tersebut. Sebaliknya, sebagian besar dari

Page 72 - 74 Page 72 - 74

a. Identifikasi tugas-tugas penerapan

Tugas-tugas utama dalam penerapan ini, patokannya, pada umumnya terdiri dari :  Merencanakan kegiatan penerapan

 Mencari tempat yang sesuai, dan membuat tata-letak (layout) untuk peralatan dan kantor-kantor

 Menyusun organisasi personalia untuk penerapan ini  Menyiapkan prosedur-prosedur untuk pemasangan atau instalisasi, dan

untuk diuji-coba  Menyiapkan program latihan kerja untuk pegawai yang akan menjalankan tugas operasinya.  Menyiapkan perangkat lunak yang diperlukan  Membeli perangkat keras yang diperlukan

 Menyusun arsip-arsipnya (files)  Membuat formulir-formulir yang diperlukan  Menguji-coba keseluruhan sistem  Menyelesaikan peralihan dari sistem lama ke sistem baru  Mendokumentasikan sistemnya  Menyediakan pemeliharaan sistemnya (untuk menyempurnakan/

memperbaiki kekurangan atau kemacetan, dan untuk meningkatkan dayagunanya = debugging and improving)

b. Susun hubungan antara tugas-tugas

Untuk proyek yang kecil, urutan tugas yang harus dilaksanakan dapat dicantumkan dalam bentuk instruksi tertulis yang sederhana. Meskipun demikian, dalam proyek yang kecil sekalipun

c. Buatkan jadwalnya

Taksiran (estimasi) pertama dari jadwal dibuat berdasarkan taksiran perancang sistem mengenal waktu yang dibutuhkan antara setiap tahapan dari program

Page 73 - 74 Page 73 - 74

d. Susun sistem laporan dan pengendalian

Laporan dan pengendalian dari pekerjaan dalam pelaksanaan ini dapat diperoleh dengan mewngadakan rapat mingguan yang dihadiri oleh semua petugas kunci yang terlibat, atau dengan laporan kemajuan kerja tertulis dan singkat. Tujuan dari system pengendalian adalah untuk mengurangi kekacauan tersebut sampai seminimal mungkin dan berbagai akibatnya dalam bentuk penundaan waktu serta tambahan biaya.

Jenis-jenis pemeliharaan perangkat lunak meliputi :

 Korektif, yaitu pemeliharaan yang dilakukan apabila terjadi kesalahan atau kerusakan

 Adaptif atau produktif, yaitu pemeliharaan yang dilakukan secara terus- menerus melalui proses monitoring  Penyempurnaan, yaitu pemeliharaan sebagai hasil dari penemuan perawatan adaptif.  Preventif, yaitu pemeliharaan yang dilakukan untuk pencegahan kerusakan

Page 74 - 74