• Tidak ada hasil yang ditemukan

Penelusuran Bug Program Simulasi Pencetakan Transkrip Siakad. Unila Dengan Metode Whitebox Dan Solusi Menggunakan Variabel. Memori

N/A
N/A
Protected

Academic year: 2021

Membagikan "Penelusuran Bug Program Simulasi Pencetakan Transkrip Siakad. Unila Dengan Metode Whitebox Dan Solusi Menggunakan Variabel. Memori"

Copied!
8
0
0

Teks penuh

(1)

Penelusuran Bug Program Simulasi Pencetakan Transkrip Siakad

Unila Dengan Metode Whitebox Dan Solusi Menggunakan Variabel

Memori

1Dwi Sakethi, 2Wamiliana, 3Wisnu Wardhana, 1Alifah Zahroh

1Jurusan IlmuKomputer FMIPA Unila 2Jurusan Matematika FMIPA Unila 3

Linux Lampung

Abstract

In tracking of SIAKAD transcript, there was found a bug, that is the arrangement of the lesson position at the tenth till fifteenth semester located between first and second semester. Process tracking bug did in simulation program. In this research, carried out a development of the original program Siakad as simulation program that will be analyzed, to find out where is bug in the system. Development this program using PHP and MySQL database software. Tracking bug using whitebox testing method, it can be determined whether there is a bug in the procedural structure of the program or just on the operational function of the system itself. Bugs can be repaired by adding some changes on source code of the program. The changes are determination of new variables as memory variables and application of Bubble sort method on sorting proccess. The result shows bugs on the program is fixed.

Keywords: Bubble sort, Bug, MySQL, PHP, Siakad, Whitebox

1. Pendahuluan

Siakad adalah sebuah sistem khusus yang digunakan untuk keperluan pengelolaan data-data akademik dengan menerapkan teknologi komputer, baik hardware maupun software. Siakad digunakan untuk mengambil mata kuliah mahasiswa sesuai dengan fakultas dan jurusan, merencanakan studi atau yang disebut dengan KRS, melihat nilai mata kuliah, mencetak transkrip atau nilai keseluruhan mahasiswa, melihat daftar dosen di setiap fakultas dan jurusan masing-masing.

Siakad atau sistem informasi akademik, sebagai penyedia data pendukung harus mampu memberikan data dan informasi secara cepat dan akurat untuk memberikan informasi kepada

user. Apabila sistem yang digunakan belum berfungsi secara sempurna sesuai dengan kebutuhan programmer dan user, maka diperlukan perbaikan dan pengembangan pada sistem, sehingga

(2)

Testing.

Hasil pencetakan transkrip SIAKAD Unila terdapat kekeliruan yaitu pada output pencetakan. Kekeliruan ini hanya ditemukan pada transkrip pada mahasiswa yang mengambil mata kuliah lebih dari 9 semester yaitu 10, 10P, 11, 12,12P, 13, 14, 14P, dengan mengisi KRS (Kartu Rencana Studi) di semester-semester tersebut.

Pada penelitian yang dilakukan sebelumnya oleh Selva Apriliyani (2011), telah diberikan solusi mengenai penemuan bug atau kekeliruan tersebut yaitu dengan menambahkan tabel semester baru pada database.

Untuk itu, pada penelitian lanjutan ini, dilakukan hal yang sama yaitu menelusuri kesalahan yang terdapat pada pencetakan transkrip SIAKAD Unila. Kemudian diberikan solusi pada bug yang terdapat pada program simulasi dengan metode whitebox dan memperbaiki source code program simulasi tanpa melakukan perubahan pada database sistem dan menambah tabel pada database seperti yang telah dibuat pada penelitan sebelumnya.

2. Metode Penelitian

2.1 Studi Literatur

Studi literatur dimaksudkan untuk mempelajari berbagai sumber referensi yang diperoleh baik itu jurnal, E-book, buku, dan lain-lain yang berkaitan dengan pembuatan dan perancangan sistem. Literatur yang dipelajari adalah yang berkaitan dengan :

1. PHP MySQL

2. Metode Pengurutan (Sorting). 3. Metode Pengujian Whitebox.

2.2 Pembuaan Program Simulasi

Merupakan proses pembuatan program simulasi pencetakan transkip Siakad dengan menggunakan software PHPMyadmin dan MySQL. Program simulasi dimodifikasi sesuai dengan tampilan output program pencetakan transkrip Siakad Unila.

2.3 Memperbaiki Program Simulasi

Pada penelitian sebelumnya dilakukan penelusuran bug pada program simulasi pencetakan transkip siakad unila dengan menggunkan metode whitebox testing. Pada penelitian lanjutan ini akan dilakukan hal yang sama, dengan tidak mengubah database, namun hanya memperbaiki

(3)

2.3 Uji Coba Whitebox

Pengujian bug program Siakad menggunakan metode whitebox. Merupakan metode yang digunakan untuk pengujian perangkat lunak. Whitebox testing adalah jenis pengujian software yang berkonsentrasi pada source code perangkat lunak, sehingga membutuhkan waktu yang lebih lama karena membutuhkan ketelitian dari para tester serta kemampuan teknik pemrograman bagi para tester.

3. Pembahasan

3.1 Pembuatan Program Simulasi

Tahap ini merupakan tahapan awal dalam persiapan melakukan pengujian. Pada pembuatan program simulasi ini, sudah diketahui dimana letak kesalahan atau bug yang akan dibuat solusinya.

Tahapan lain yang dilakukan adalah membuat database dan instalasi software yang diperlukan dalam proses pembuatan program simulasi pencetakan transkrip siakad unila. Program dibuat dengan menggunakan bahasa pemrograman PHP dan MySQL.

3.1.1 Pembuatan Database

Database yang dibuat dalam pembuatan program ini terdiri dari 3 tabel yaitu tabel mahasiswa,

matakuliah, dan tabel mkmahasiswa. Tabel mahasiswa berisi identitas mahasiswa. Tabel ini terdiri dari 2 field yaitu npm dan nama mahasiswa, dengan npm sebagai primary key.

Tabel yang kedua adalah tabel matakuliah, yang berisi tentang informasi data-data mata kuliah pada jurusan masing-masing. Pada tabel ini terdiri dari 3 field yaitu kode_mk, nama_mk, dan sks, dengan kode_mk sebagai primary key nya.

Tabel mkmahasiswa terdiri dari 4 field yaitu npm, kode_mk, semester, dan nilai_mk, dimana kode_mk sebagai foreign key.

3.1.2 Pembuatan Program Simulasi

Tahap ini merupakan tahap pembuatan program simulasi pencetakan transkrip Unila, untuk mengetahui dimana letak kesalahan dalam pengurutan data semester. Berikut ini adalah potongan program yang telah dibuat.

(4)

4 from mkmahasiswa order by Semester ASC"; 5 mysql_select_db($database, $Siakad);

6 $hasil_kueri = mysql_query($baca_mk, $Siakad); 7 ?> 8 <?php 9 $no = 0; 10 while($data_nilai = mysql_fetch_row($hasil_kueri)){ 11 $npm[$no] = $data_nilai[0]; 12 $kode[$no] = $data_nilai[1]; 13 $semester[$no] = $data_nilai[2]; 14 $nilai[$no] = $data_nilai[3]; 15 $no++; 16 }; 17 ?>

Berdasarkan program simulasi yang dibuat, ditemukan kesalahan atau bug dalam pencetakan transkrip tersebut. Kesalahan terletak pada pengambilan mata kuliah di atas semester 9, yaitu semester 10, 10P, 11, 12, 12P, 13, 14, 14P, dan 15. Bug ditemukan pada penggunaan tipe data untuk field semester, yaitu char. Terdapat perintah order by semester pada program simulasi dan juga membaca data mk_mahasiswa yang di order by semester.

Pada dasarnya data yang bertipe char akan menampilkan data sesuai dengan data alfanumerik, yaitu aa, ab, ac, ad, ae, dan seterusnya serta dibaca sesuai dengan order by semester. Sehingga semester yang diambil lebih dari semester 9 akan dibaca 1, (1,0), (1,1), (1,2), (1,3), (1,4) dan seterusnya.

3.2 Pembuatan Program Solusi

Untuk mengatasi kekeliruan yang telah ditemukan pada program simulasi tersebut, maka peneliti membuat program solusi untuk mengatasi kekeliruan tersebut. Berikut ini adalah potongan program solusi yang telah dibuat :

1 <?php

2require_once('koneksi.php');

3 $baca_mk = "select * from mkmahasiswa";

4 $baca_mk = "select NPM, Kode_MK, Semester, Nilai_MK from mkmahasiswa”;

5

6 mysql_select_db($database, $Siakad); 7 $hasil_kueri = mysql_query($baca_mk);

(5)

8 $jumlah_data = mysql_num_rows($hasil_kueri); 9 ?> 10 <?php 11 $no = 0; 12 while($data_nilai =mysql_fetch_row($hasil_kueri)){ 13 $npm[$no] = $data_nilai[0]; 14 $kode[$no] = $data_nilai[1]; 15 $semester[$no] = $data_nilai[2]; 16 $nilai[$no] = $data_nilai[3]; 17 if(($semester[$no][1] == "P") || 18 ($semester[$no][2] == "P")){ 19 $nsemester[$no] = ($semester[$no] + 0.5) * 10; 20 } 21 else{ 22 $nsemester[$no] = $semester[$no] * 10; 23 }; 24 $no++; 25 }; 26

27 for ($i=0; $i<$no-1 ;$i++) 28 {

29 for ($j=$i+1; $j<$no; $j++) 30 { 31 if ($nsemester[$i] > $nsemester[$j]) 32 33 { 34 $temp = $npm[$i]; 35 $npm[$i] = $npm[$j]; 36 $npm[$j] = $temp; 37 38 $temp = $kode[$i]; 39 $kode[$i] = $kode[$j]; 40 $kode[$j] = $temp; 41 42 $temp = $semester[$i]; 43 $semester[$i] = $semester[$j]; 44 $semester[$j] = $temp; 45 46 $temp = $nilai[$i]; 47 $nilai[$i] = $nilai[$j]; 48 $nilai[$j] = $temp; 49

(6)

52 $nsemester[$j] = $temp; 53 }

54 } 55 }

56

57 for ($i=0; $i<$no ; $i++) 58 {

Berdasarkan program solusi yang telah dibuat pada penelitian ini hanya menggunakan variabel memori, yaitu dengan mengubah source code program serta mengkonversikan tipe data char atau string ke dalam bentuk integer. Hasil konversi nilai semester yang disimpan dalam variabel nsemester.

Setelah dilakukannya proses konversi nilai semester, maka akan dilakukan proses sorting atau proses pengurutan data dengan menggunakan metode bubble sort. Pengurutan dengan metode

bubble sort didasarkan pada perbandingan data secara berurut dari awal hingga akhir dengan

menempatkan data yang lebih besar di sebelah kanan. Penukaran terus dilakukan, selama masih ditemukan data yang belum terurut. Pengurutan data dilakukan dengan cara membandingkan semua elemen array satu per satu. Dengan menggunakan metode sorting maka hasil yang didapatkan akan berbeda.

Metode bubble sort juga dikenal dengan nama pengurutan Apung karena terinspirasi dari gelembung sabun yang berada di atas air. Karena berat jenis gelembung lebih ringan dibandingkan dengan berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Secara umum, benda-benda yang berat tenggelam dan benda-benda ringan terapung ke atas permukaan. Prinsip pengapungan ini juga digunakan pada pengurutan apung. (Rinaldi,2007)

3.3 Uji Coba Whitebox

Penelusuran bug dilakukan dengan menggunakan metode Whitebox Testing. Metode ini melalui beberapa tahapan diantaranya adalah menterjemahkan source code kedalam flowgraph, menentukan cyclometic complexity, dan membuat test case. (Ayuliana,2009)

3.3.1 Menterjemahkan Source Code Ke dalam CFG

Pada tahap ini, uji coba whitebox dilakukan dengan menterjemahkan source code program simulasi ke dalam bentuk flowgraph. Flowgraph adalah notasi sederhana untuk mempresentasikan alur kontrol. Flowgraph terdiri dari beberapa elemen yaitu node, edges, dan

(7)

Figure 1 Flowgraph dan Daerah Region

3.3.2 Menentukan Cyclometic Complexity

Terdapat tiga proses dalam menentukan nilai CC yang dilakukan agar didapat nilai CC yang tepat. Setiap proses dilakukan dengan rumus dan cara yang berbeda. (Busono,2010)

Proses CC 1

Jumlah node(N)/lingkaran = 24 Jumlah edges(E)/tanda panah = 29 Rumus CC = E - N + 2 CC = 29 - 24 + 2 = 7 Proses CC II Predicate node = 3(4,5,7,8), 5(6,8), 12(13,14,8) = 16(17,19,8), 9(20,21,22,24,8), 22(23,8) = 6 + 1 = 7 Proses CC III

Proses CC III dapat dilihat pada Gambar 7. Kesimpulan dari gambar tersebut adalah: Region 1 = 3;4;5;7;8 Region 2 = 5;6;7;8 Region 3 = 12;13;14;8 Region 4 = 16;17;18;19;8 Region 5 = 9;20;21;22;24;8 Region 6 = 22;23;8

Region 7 adalah daerah diluar node dan edge.

3.3.3 Perancangan Test Case

Perancangan test case merupakan tahapan dalam uji coba whitebox. Test case ini dilakukan pada

(8)

Path 1 = 1,2,3,9,10,11,12,14,15,16,,18,19,8 Path 2 = 1,2,3,4,5,6,8 Path 3 = 1,2,4,5,6,8 Path 4 = 1,2,12,13,14,15,16,18,19,8 Path 5 = 1,2,16,17,19,8 Path 6 = 1,2,9,20,21,22,24,8 Path 7 = 1,2,22,23,8

4. Kesimpulan

Berdasarkan hasil dari penelitian yang dilakukan maka didapatkan kesimpulansebagai berikut : (a) Bug atau kesalahan yang ditemukan disebabkan karena tipe data pada field semester yang bertipe data char yang berurut sesuai dengan aturan alfanumerik dan perintah query pada program simulasi. (b) Ditemukan alternatif solusi yang terdapat pada kesalahan program simulasi pencetakan transkrip SIAKAD Unila yaitu menggunakan variabel memori dengan mengubah source code program.

5. Referensi

Apriliana, S. 2011. Penelusuran Bug Program Simulasi Pencetakan Transkrip Siakad Unila dengan Metode Whitebox dan Solusinya. Skripsi. Fakultas Matematika dan Ilmu

Pengetahuan Alam Universitas Lampung.

Ayuliana, 2009. Pertemuan04-Software Testing Techniques.pdf

Busono, Pranto. 2010. Testing dan Implementasi Pengujian WhiteBox Basis Path Testing.Doc.

ModulVII. Universitas Mercubuana

Rao, A. dan Kiran Kumar. 2011. An Approach to Cost Effective Regression Testing in Blackbox

Testing Environment. International Journal of Computer Science Issue Vol.8,issue 3.No1. India

Munir, Rinaldi. 2007Algortima dan Pengurutan Dalam Bahasa Pascal dan C hal 428-432. Bandung:INFORMATIKA.

Gambar

Figure 1    Flowgraph dan Daerah Region

Referensi

Dokumen terkait

Menurut anda apa yang perlu diperbaiki dalam pengelolaan bahan dan alat kotrasepsi di Kabupaten Asahan?... Daftar Pertanyaan Kepala Bidang pelayanan BPPKB Kab Asahan

Populasi dalam penelitian ini adalah delapan belas jurnal yang meneliti tentang efektivitas hasil belajar siswa SD dengan menggunakan model pembelajaran kooperatif tipe

Dari hasil pengamatan dapat disimpulkan bahwa jumlah leukosit total dan persentase monosit masih berada dalam kisaran nilai normal, persentase limfosit lebih rendah dari kisaran

standar mutu yang ditetapkan oleh BAN-PT dengan merujuk pada standar nasional pendidikan yang termasuk dalam Peraturan Pemerintah Np.19 tahun 2005 tentang Standar

bahwa dalam rangka pelaksanaan ketentuan Pasal 8 Peraturan Daerah Kota Surabaya Nomor 5 Tahun 2008 tentang Kawasan Tanpa Rokok dan Kawasan Terbatas Merokok dan

Mengatur pelaksanaan pengabdian masyarakat serta hubungan masyarakat, dalam hal ini dapat didelegasikan kepada Wakil Kepala Sekolah urusan kerjasama dengan

Melihat masih banyaknya kasus permasalahan perdangan narkoba maupun pengguna dari narkoba jenis crystalline methamphetamine, Indonesia membutuhkan bantuan-bantuan baik

National Institute for Occupational Safety and Health (NIOSH) memberi definisi kasus sueveilans asma kerja; yang memerlukan diagnosis asma dari dokter, adanya