BAB IV IMPLEMENTASI DAN PENGUJIAN
Bab ini membahas tentang implementasi dan pengujian perangkat lunak yang dibangun pada tugas akhir ini. Implementasi akan dibahas pada Subbab 4.1 sedangkan terkait pengujian akan dibahas pada Subbab 4.2.
4.1 Implementasi Pada subbab implementasi akan dijelaskan mengenai lingkungan perangkat keras dan perangkat lunak, batasan implementasi, serta implementasi yang dilakukan berdasarkan perancangan.
4.1.1 Lingkungan Pengembangan Perangkat lunak yang dikembangkan menggunakan spesifikasi perangkat keras dan perangkat lunak sebagai berikut:
1. Sistem Operasi Windows 7 Professional 2. Prosesor Intel Core i7 3. RAM 2 GB 4. Borland Delphi 7 5. MySQL UDF wrapper class for Delphi, ditulis oleh: Nicholas Sherlock 6. MySQL Server 5.6.11
4.1.2 Batasan Implementasi Sebagai batasan implementasi decoder ISO-8583 UDF pada MySQL saat ini belum dilihat mengenai utilitas memori pada server yang digunakan. Sehingga
39
40
ada kemungkinan jika terjadi memory leak pada modul UDF maka mempengaruhi performa server MySQL.
4.1.3 Proses dan Hasil Implementasi Pengembangan aplikasi terdiri dua tahap, yaitu tahapan pengembangan kelas ISO-8583 decoder dan pengembangan modul standar UDF MySQL (shared library). Kelas decoder ISO-8583 merupakan kelas utama yang akan dipergunakan dalam melakukan decode data ISO-8583. Proses implementasi modul UDF dilakukan dengan tahapan melakukan kompilasi modul UDF (shared library). Hasil dari tahapan ini adalah sebuah library bernama iso8583_UDF.dll. Selanjutnya shared library tersebut dicopy pada direktori lib pada MySQL server (MySQL Server 5.6\lib\plugin). Tahapan implementasi selanjutnya adalah dengan mengenalkan sebuah fungsi baru bernama “ISO8583” pada server MySQL. Mengikuti standar instalasi UDF MySQL sebagai berikut: DROP FUNCTION IF EXISTS ISO8583; CREATE FUNCTION ISO8583 RETURNS STRING SONAME 'iso8583_UDF.dll';
41
4.2 Pengujian 4.2.1 Tujuan Pengujian Terdapat beberapa hal yang menjadi tujuan pengujian terhadap perangkat lunak yang dikembangkan, yaitu: 1. Memeriksa apakah modul yang dibuat dapat berjalan sesuai dengan fungsi yang telah didefinisikan sebelumnya 2. Mengetahui apakah modul yang dibuat dapat menyelesaikan beberapa permasalahan yang timbul terkait lamanya proses 3. Memeriksa
apakah
penambahan
modul
decoder
tidak
mempengaruhi fungsi MySQL
4.2.2 Lingkungan Pengujian Modul atau aplikasi diuji dengan menggunakan spesifikasi perangkat keras dan perangkat lunak sebagai berikut: 1. Sistem Operasi Windows 7 Professional 2. Prosesor Intel Core i7 3. RAM 2 GB 4. MySQL Server 5.6.11 5. Program uji yang dikembangkan oleh penulis 6. HeidiSQL
42
4.2.3 Data Uji Pengujian modul dilakukan dengan menggunakan data dummy hasil generate aplikasi bantu (spesifikasi data dummy dapat dilihat pada Lampiran 9). Data uji ditampung dalam sebuah table dengan struktur sebagai berikut:
Tabel 4.1 Struktur Table Untuk Pengujian TableName: MSG_XXXX ISO_MSG VARCHAR Beberapa table telah disiapkan dengan jumlah message ISO-8583 yang berbeda. Berikut merupakan data nama table serta jumlah message ISO-8583:
Tabel 4.2 Tabel Data Uji Nama Table
Jumlah Data ISO-8583
MSG_1jt
1.000.000
MSG_500rb
500.000
MSG_250rb
250.000
MSG_100rb
100.000
4.2.4 Skenario Pengujian Fungsi Decode ISO-8583 Skenario ini bertujuan untuk melihat apakah proses decode message ISO8583 berfungsi sesuai dengan spesifikasi ISO-8583. Pengujian dilakukan dengan melakukan decode seluruh Data Element dalam sebuah data ISO-8583 dan melihat hasil . Data pembanding merupakan hasil decode contoh data ISO-8583 yang dilakukan secara manual. Tabel 4.3 menunjukan hasil decode message secara manual.
43
Tabel 4.3 Data Hasil Decode Secara Manual No
Index Data Element
Nilai
1
Bitmap
323E800128801000
2
MTI
0200
3
3 - Processing code
011000
4
4 - Amount, transaction
000050000000
5
7 - Transmission date & time
0317121200
6
11 - System trace audit number
002050
7
12 - Time, local transaction (hhmmss)
121200
8
13 - Date, local transaction (MMDD)
0317
9
14 - Date, expiration
0005
10
15 - Date, settlement
7813
11
17 - Date, capture
2710
12
32 - Acquiring institution identification code
2804
13
35 - Track 2 data
6212345678901234567=1212
14
37 - Retrieval reference number
000000230579
15
41 - Card acceptor terminal identification
A1B2C3D4
16
52 - Personal identification number data
FFFFFFFFFFFFFFFF
Query pengujian untuk masung-masing data element dapat dilihat pada Lampiran 4: Script Tes Query Data Element. Resume hasil pengujian masingmasing query dapat dilihat dalam tabel berikut:
44
Tabel 4.4 Hasil Pengujian Fungsi Decode ISO-8583 No
Materi Test (Script)
Hasil
Hasil Test
1
Query Bitmap
323E800128801000
Sesuai
2
Query MTI
0200
Sesuai
3
Query Data Element 3
011000
Sesuai
4
Query Data Element 4
000050000000
Sesuai
5
Query Data Element 7
0317121200
Sesuai
6
Query Data Element 11
002050
Sesuai
7
Query Data Element 12
121200
Sesuai
8
Query Data Element 13
0317
Sesuai
9
Query Data Element 14
0005
Sesuai
10
Query Data Element 15
7813
Sesuai
11
Query Data Element 17
2710
Sesuai
12
Query Data Element 32
2804
Sesuai
13
Query Data Element 35
6212345678901234567=1212
Sesuai
14
Query Data Element 37
000000230579
Sesuai
15
Query Data Element 41
A1B2C3D4
Sesuai
16
Query Data Element 52
FFFFFFFFFFFFFFFF
Sesuai
4.2.5 Skenario Pengujian Waktu Eksekusi Pengujian ini ditujukan untuk mengetahui waktu eksekusi modul decoder data ISO-8583 dalam menangani proses decode secara berlanjut dengan variasi jumlah data yang sesuai dengan data uji yang ada pada Tabel 4.2. Sebagai pembanding adalah waktu proses yang diperlukan dengan menggunakan pendekatan proses decode data ISO-8583 pada level aplikasi. Tabel 4.5 menunjukan hasil yang diperoleh.
45
Tabel 4.5 Hasil Pengujian Waktu Eksekusi Waktu (dalam mili detik) Jumlah record
Decode pada aplikasi
Dengan UDF
1 Juta
95.196
6.639
500 Ribu
46.382
2.961
250 Ribu
21.650
1.648
100 Ribu
8.774
644
Representasi dalam grafik dapat dilihat pada Gambar 4.1 berikut. 100.000 90.000
Waktu (mili second)
80.000 70.000 60.000 50.000
Decode Pada Aplikasi
40.000
Dengan UDF ISO-8583
30.000 20.000 10.000 -
100.000
250.000
500.000
1.000.000
Gambar 4.1 Grafik Hasil Pengujian
4.2.6 Skenario Pengujian Dampak Instalasi Modul Pengujian ini ditujukan untuk dapat melihat bahwa fungsi-fungsi dasar MySQL tidak terpengaruh dengan adanya penambahan modul decoder ISO-8583. Pengujian yang dilakukan adalah dengan melakukan fungsi Data Manipulation Language (DML) dasar. Tabel hasil pengujian DML dasar dapat dilihat pada Tabel 4.6 berikut.
46
Tabel 4.5 Hasil Pengujian Fungsi DML MySQL No
Jenis query
Hasil
1
INSERT INTO table VALUES (value1, [value2, ... ]);
Sesuai
2
DELETE FROM table_name [WHERE condition];
Sesuai
3
UPDATE table_name SET column_name = value [, column_name = value ...] [WHERE condition];
Sesuai
Detil hasil pengujian dapat dilihat pada Lampiran 8: Hasil Pengujian Dampak Instalasi.