RESUME

B. Pengujian Program dan Menangani kesalahan

Menurut Rini Astuti dalam Testing Tahap Pemrograman, testing program merupakan proses mengoperasikan program komputer pada saat program atau komponen program pada kondisi tertentu, mengamati atau mencatat hasilnya, dan membuat evaluasi terhadap aspek-aspek dari program dan komponen program tersebut.

Pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat dianggap (paling tidak secara psikologis) sebagai hal yang destruktif daripada konstruktif.

1. Prinsip Pengujian

Meliputi beberapa prinsip sebagai berikut.

a. Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan.

b. Pengujian harus direncanakan lama sebelum pengujian itu mulai.

c. Prinsip Pareto berlaku untuk pengujian perangkat lunak.

d. Pengujian harus mulai dari yang kecil dan berkembang ke pengujian yang besar.

e. Pengujian yang mendalam tidak mungkin dilakukan.

f. Untuk menjadi paling efektif, pengujian harus dilakukan oleh pihak ketiga yang independen.

2. Pengujian (Testabilitas)

Checklist yang memberikan serangkaian karakteristik yang membawa kepada perangkat lunak yang dapat diuji.

a. Operabilitas (semakin baik ia bekerja, semakin efisien ia dapat diuji.

b. Observabilitas (apa yang Anda lihat adalah apa yang Anda uji).

c. Kontrolabilitas (semakin baik kita dapat mengontrol perangkat lunak, semakin banyak pengujian yang dapat diotomatisasi dan dioptimalkan).

d. Dekomposabilitas (dengan mengontrol ruang lingkup pengujian, kita dapat dengan lebih cepat mengisolasi masalah dan melakukan pengujian kembali secara lebih halus).

e. Kesederhanaan (semakin sedikit yang diuji, semakin cepat kita dapat mengujinya).

f. Stabilitas (semakin sedikit perubahan, semakin sedikit gangguan dalam pengujian).

g. Kemampuan untuk dapat dipahami (semakin banyak informasi yang kita miliki, semakin halus pengujian yang akan dilakukan).

Atribut-atribut pengujian yang baik.

a. Memiliki probalitas yang tinggi untuk menemukan kesalahan.

b. Tidak redudan.

c. Pengujian yang baik tidak boleh terlalu sederhana atau terlalu kompleks.

3. Tujuan Testing

a. Menilai apakah sistem yang dikembangkan telah sesuai dan memenuhi kebutuhan yang sudah ditetapkan.

b. Menemukan kesalahan pada sistem yang tidak terlihat sebelumnya.

c. Menilai apakah sistem sudah beroperasi dengan benar.

4. Prosedur Testing

a. Tentukan yang akan diuji.

b. Menemukan cara pelaksanaan pengujian.

c. Membuatkan kasus uji.

d. Menentukan hasil yang diharapkan.

e. Melaksanakan pengujian.

f. Melakukan perbandingan antara hasil uji dan hasil yang diharapkan.

Terdapat dua jenis teknik yang biasa digunakan untuk mengunci program atau aplikasi,yaitu:

a. Black Box Testing

Pengujian black box berfokus pada pengujian persyaratan fungsional perangkat lunak untuk mendapatkan serangkaian kondisi input yang sesuai dengan persyaratan fungsional suatu program.

Pengujian black box berusaha menemukan kesalahan dalam kategori sebagai berikut.

1) Fungsi-fungsi yang tidak benar atau hilang.

2) Kesalahan interface.

3) Kesalahan dalam struktur data atau akses database eksternal.

4) Kesalahan kinerja.

5) Inisialisasi dan kesalahan terminasi.

Metode black box testing terdiri dari tiga cara yaitu sebagai berikut.

1) Pengujian Graph Based

Tiga pola link weight sebagai berikut.

a) Transitivitas, yaitu hubungan antara tiga objek atau lebih yang menentukan bagaimana pengaruh hubungan tersebut menyebar pada objek yang ditentukan.

a) Simetris, yaitu hubungan antara dua objek secara dua arah.

c) Refleksif, yaitu hubungan yang mengarah pada node itu sendiri atau loop null.

Beberapa metode pengujian black box menggunakan graph.

a) Transaction flow modelling (pemodelan aliran transaksi).

b) Finite state modelling (pemodelan keadaan terbatas).

c) Data flow modelling (pemodelan aliran data).

d) Timing modelling (pemodelan pemilihan waktu).

2) Ekuivalence Partitioning (Partisi Ekuivalensi)

Ekuivalence partitioning merupakan metode uji coba black box yang membagi domain input dari program menjadi beberapa kelas data, menentukan kasus pengujian dengan mengungkapkan kelas-kelas kesalahan sehingga akan mengurangi jumlah kasus pengujian.

Cara menentukan kelas ekuivalensi.
a) Jika kondisi input berupa suatu range, maka input kasus ujinya 1 valid dan 2 invalid.
b) Jika kondisi input berupa harga khusus, maka input kasus ujinya 1 valid dan 2 invalid.
c) Jika kondisi input berupa anggota himpunan, maka input kasus ujinya 1 valid dan 2 invalid.
d) Jika kondisi input berupa anggota Boolean, kasus ujungnya 1 valid dan 1 invalid.

3). Boundary Value Analysis(analisis nilai batas)

Fokus pada satu batasan nilai di mana kemungkinan terdapat cacat yang tersembunyi.

Berikut langkah-langkah pengujian menggunakan BV.
1. Identifikasi kelas-kelas yang ekuivalen.
2. Identifikasi batas untuk tiap ekuivalensi class.
3. Buat tes case untuk tiap batasan suatu nilai dengan memilih titik pada batasan, 1 titik pada nilai bawah batasan dan satu titik pada nilai atas batasan.

b. White Box Testing.

Adalah pengujian yang didasarkan pada pengecekan terhadap detail perancangan menggunakan struktur kontrol dari desain program secara prosedural untuk membagi pengujian ke dalam beberapa kasus pengujian . Pengujian ini bertujuan menguji semua statemen program.

Terdapat tiga jenis kesalahan yang sering muncul saat membuat program yaitu:

5. Bentuk Kesalahan

a. Kesalahan semantik

Kesalahan ini terjadi ketika susunan syntax mengandung hasil yang maknanya berbeda dari tujuan sebenarnya atau salah. contoh kesalahan semantic error yang sering terjadi adalah saat Anda menjumlahkan atau menggabungkan dua jenis data yang berbeda jenis. Alhasil output yang didapatkan pun akan berbeda alias keliru.

Berikut beberapa hal yang termasuk dalam kesalahan semantik.
1. Tipe data atau ukuran variabel yang salah.
2. Nama variabel tidak ada atau variabel belum didefinisikan.
3. Array berada di luar jangkauan.
4. Memasukkan nilai variabel dengan tipe data yang tidak sesuai.
5. Tidak ada nilai kembalian fungsi.
6. Pembagian dengan bilangan nol.

b. Kesalahan sintaksis

Merupakan jenis kesalahan yang sering dialami oleh setiap programmer baik yang sudah profesional ataupun pemula. kesalahan ini adalah hal yang wajar dan dimaklumi sebab kita mengenal banyak bahasa pemrograman dan setiap bahasa pemrograman mempunyai aturan penulisan yang berbeda-beda . Kesalahan ini adalah jenis kesalahan yang paling mudah ditemukan dan dilakukan perbaikan. Pengecekan ini juga sering menunjukkan lokasi baris terjadinya error di syntax. Contoh kesalahan tanda baca seperti (; )di akhir baris.

c. Kesalahan logika

Kesalahan logika merupakan kesalahan logika atau semantik . Jika terjadi kesalahan tipe ini maka program akan tetap berjalan dengan sukses tanpa pesan kesalahan. namun program tersebut tidak menjalankan program dengan benar atau tidak menjalankan program sesuai dengan maksud yang diinginkan programmer. Contoh saat dijalankan program tidak mengalami error namun hasil yang ditampilkan tidak sesuai.

6. Jenis pesan error dalam C++

1. Declaration syntax error, statement missing. Penyebabnya terdapat simbol yang kurang (belum dimasukkan) . Cara mengatasinya tambahkan kurung kurawal ({) setelah syntax int main ().

2. Unable to open include file”cnio.h”. Penyebabnya adalah kesalahan penulisan headerfile Cara mengatasi dengan headearfile conio diganti conio.h.

3. Invalid operands. Penyebabnya kurang tanda <setelah cout. Cara mengatasinya dengan tambahkan tanda<setelah cout.

4. Expected. Penyebabnya salah meletakkan syntax. Cara mengatasinya dengan pindahkan syntax system “color 4,8″di bawah int main () {

5. Invalid preprocessing directive . Penyebabnya adalah salah penulisan. Cara mengatasinya dengan ganti syntax defie dengan define.

7. Exception Handling

Expection merupakan sebuah fitur khusus yang disediakan oleh bahasa pemrograman C++. Expection ini digunakan untuk menangani kondisi error pada saat program sedang berjalan untuk mencegah adanya pemberhentian program karena kesalahan kode atau program ,sebagai gantinya programmer secara manual melakukan penanganan atas eror tersebut.

Terdapat tiga kata kunci dalam exception handling yaitu:
1. Try, sebuah blok dari kumpulan kode di mana biasanya sebuah kesalahan muncul dan tempat di mana kita juga dapat memberikan tugas pengecualian.
2. Catch, sebuah sebuah blok yang akan dieksekusi ketika sebuah pengecualian telah dilemparkan.
3. Throw, sebuah pertanyaan yang digunakan untuk melemparkan sebuah pengecualian secara manual oleh programmer.

Rancang situs seperti ini dengan WordPress.com
Mulai