VI.
Bab V Implementasi dan Pengujian
VI.1 Implementasi Sistem
Hasil rancangan sistem SPECKTRAL yang telah didapat pada tahap ini akan diimplementasikan ke dalam bentuk program komputer yang siap digunakan.. Dalam tahap ini dilakukan transformasi fungsionalitas program ke dalam bentuk kode-kode program. Impelementasi dilakukan untuk tiap-tiap kelas dan antarmuka yang telah dirancang. Tahap implementasi ini spesifik ke lingkungan pengembangan yang dipilih termasuk di dalamnya bahasa pemrograman yang digunakan. Aspek utama yang perlu diperhatikan dalam implementasi adalah kesesuaian program yang dihasilkan dengan rancangan yang telah ada.
VI.1.1 Lingkungan Implementasi
SPECKTRAL merupakan program berbasis web yang dan mengunakan sistem basis data dalam pengelolaan datanya. Lingkungan implementasi SPECKTRAL yang terdiri dari lingkungan perangkat keras dan perangkat lunak, dapat dirinci sebagai berikut :
1. Perangkat Keras
a. Prosesor : Pentium III – 800 MHz – ke atas b. RAM : 128 MB - ke atas
c. Harddisk : 10 GB – ke atas 2. Perangkat Lunak
a. Sistem Operasi : Windows 98/2000/XP, Linux b. Web Server : Apache Tomcat 5.0.28 c. Database Server : MySQL versi 4.1
VI.1.2 Implementasi Paket dan Kelas
Implementasi paket dan kelas mengacu pada rangcangan arsitektur dan rancangan kelas yang telah dibuat. Rancangan paket dan kelas diimplementasikan dalam bahasa pemrograman Java. Kelas-kelas bawaan yang telah dimiliki framework Java seperti yang telah disebutkan pada bagian diagram kelas pada subbab IV.3.1 tidak dimasukkan dalam implementasi. Daftar implementasi paket dan kelas pada SPECKTRAL diperlihatkan pada tabel berikut :
Tabel V.1. Implementasi paket dan kelas
No Paket Kelas Nama File
1. user SearchPage SearchEngine
SearchPage.java SearchEngine.java 2. fractalcoder FractalCoder FractalCoder.java 3. admin AdminPage
DataUpdater
AdminPage.java DataUpdater.java Listing kode untuk masing-masing kelas dapat dilihat pada Lampiran D. VI.1.3 Implementasi Antarmuka
Antarmuka SPECKTRAL diimplementasikan dalam bentuk halaman web (web page) dengan format HTML. Untuk mempermudah implementasi, masing-masing halaman web tersebut dibangkitkan (generate) oleh program di server melalui method/operasi yang dimiliki oleh kelas-kelas yang menangani antarmuka yaitu SearchPage dan AdminPage. Hasil implementasi untuk masing-masing antarmuka adalah sebagai berikut :
(1) Antarmuka SearchPage
Antarmuka utama ini akan muncul pertama kali apabila user mengakses program melalui URL yang telah ditentukan. Halaman ini terbagi menjadi tiga bagian yaitu bagian header dibagian atas yang berisi logo dan keterangan program, bagian menu pencarian dibagian kiri dan bagian tampilan citra di bagian tengah, seperti terlihat pada Gambar V.1
Gambar V.1. Implementasi antarmuka SearchPage
(2) Antarmuka LoginPage
Antarmuka ini akan muncul pertama kali apabila Administrator mengakses program melalui URL yang telah ditentukan. Tampilan antarmuka ini seperti pada Gambar V.2.
(3) Antarmuka InsertCategoryPage
Administrator menambahkan kategori baru melalui antarmuka ini dengan mengisi nama kategori pada textfield yang tersedia, dan setelah ditambahkan akan muncul pada tabel daftar kategori, seperti pada Gambar V.3.
Gambar V.3. Implementasi antarmuka InsertCategoryPage
(4) Antarmuka EditCategoryPage
Administrator mengedit kategori citra dengan memilih nama kategori yang akan diedit dari tabel kategori, kemudian memasukkan nama kategori yang baru pada textfield yang tersedia. Tampilan antarmuka ini seperti Gambar V.4.
(5) Antarmuka InsertDocPage
Administrator menambahkan dokumen citra baru dengan memilih file yang akan dimasukkan dengan mengklik tombol Browse. Kemudian memilih kategori citra untuk dokumen tersebut menggunakan obyek ComboBox yang tersedia. Setelah dokumen ditambahkan, maka akan muncul dalam tabel daftar dokumen. Implementasi antarmuka ini dinyatakan dalam Gambar V.5.
Gambar V.5. Implementasi antarmuka InsertDocPage
(6) Antarmuka EditDocPage
Administrator mengedit dokumen citra dengan memilih dokumen yang akan diedit dari tabel dokumen, kemudian memasukkan nama dokumen yang baru pada TextField yang tersedia atau dapat merubah kategori dokumen melalui obyek ComboBox yang tersedia. Tampilan antarmuka ini seperti dalam Gambar V.6.
Gambar V.6. Implementasi antarmuka EditDocPage
(7) Antarmuka DeleteDocPage
Administrator menghapus dokumen citra dengan memilih dokumen yang akan dihapus dari tabel daftar dokumen, kemudian mengklik link untuk menghapus dokumen. Implementasi antarmuka ini dinyatakan dalam Gambar V.7.
VI.2 Pengujian Sistem
Setelah sistem diimplementasikan, kemudian dilakukan pengujian terhadap sistem. Pengujian dilakukan untuk menemukan kesalahan pada sistem yang telah dibangun untuk selanjutnya dilakukan perbaikan. Pengujian dilakukan pada setiap use case yang muncul dalam sistem untuk mengetahui kesesuaian fungsi yang dimiliki sistem. Metode pengujian yang digunakan adalah Black-Box dan White-Box Testing. Black-White-Box mefokuskan pada penemuan kesalahan fungsi sistem tanpa memperhatikan struktur internal sistem, sedangkan White-Box memfokuskan pada penemuan kesalahan struktur kode dan logik internal sistem. Dalam pengujian sistem berorientasi obyek, pengujian dilakukan pula pada kebenaran model yang digunakan baik kebenaran sintaks maupun kebenaran semantik dan juga konsistensi model yang digunakan. Strategi pengujian yang dilakukan yaitu pengujian terhadap unit terkecil dari sistem berorientasi obyek yaitu kelas, dan melakukan pengujian terhadap masalah integritas yaitu ketidak konsistenan yang muncul ketika obyek-obyek penyusun sistem saling berkomunikasi.
VI.2.1 Prosedur Pengujian
Prosedur pengujian pada sistem SPECKTRAL adalah sebagai berikut :
(1) Menentukan data tes yang akan digunakan dalam pengujian sistem. Dalam pengujian ini digunakan data tes dari koleksi citra Black-White, Brodatz dan Vistex.
(2) Menentukan metode pengujian dan kriteria evaluasi hasil untuk masing-masing use case dalam sistem. Daftar use case, metode uji dan kriteria evaluasi hasil sistem SPECKTRAL dinyatakan dalam Tabel V.2.
Tabel V.2. Metode dan kriteria evaluasi hasil uji
No Use Case Metode Pengujian Kriteria Evaluasi Hasil T1. Browse Citra Black-box Program dapat menampilkan
semua citra yang termasuk dalam kategori yang telah dipilih pengguna dengan cara mengklik link kategori yang tersedia.
T2. Cari File Black-box Program dapat menampilkan semua file dengan nama yang sama atau mirip dengan
keyword yang dimasukkan
pengguna
T3. Cari Citra Black-box, White-Box Program dapat menampilkan citra-citra yang mirip kode fraktalnya dengan citra yang dipilih pengguna setelah pengguna melakukan browsing atau pencarian nama file citra. Citra ditampilkan berdasarkan urutan kemiripan.
T4. Login Black-box, White-Box Program dapat memvalidasi nama user dan password. Jika nama user dan password cocok maka user dapat masuk ke sistem
T5. Tambah Kategori Black-Box Kategori citra dalam basis data bertambah setelah admin memasukkan nama kategori T6. Edit Kategori Black-Box Nama kategori dalam basis
data yang dipilih admin berubah sesuai dengan masukan nama baru
T7. Tambah Dokumen Black-Box Dokumen citra dalam basis data bertambah setelah admin memasukkan lokasi citra beserta nama kategori
T8. Edit Dokumen Black-Box Nama dokumen dan kategori dokumen dalam basis data yang dipilih admin berubah sesuai dengan masukan nama dokumen dan kategori yang baru
T9. Hapus Dokumen Black-Box Dokumen citra dalam basis data yang dipilih admin dihapus oleh program
(3) Melakukan pengujian untuk masing-masing use case dalam Tabel V.2 menggunakan data tes yang telah ditentukan, dan membandingkan hasilnya dengan kriteria evaluasi hasil uji.
VI.2.2 Hasil Pengujian
Hasil pengujian yang akan dibahas lebih lanjut dalam bagian ini adalah hasil pengujian untuk use case yang mewakili fungsi utama sistem ini yaitu use case Cari Citra. Pengujian use case Cari Citra dilakukan dengan 3 (tiga) koleksi citra yaitu Brodatz ( 39 citra ukuran 128x128 piksel), Vistex-Scene (60 citra ukuran 128x128 piksel) dan Vistex-Flat (167 citra ukuran 128x128 piksel). Hasil pengujian dari masing-masing koleksi citra tersebut adalah sebagai berikut :
(1) Koleksi citra Brodatz
Salah satu contoh citra query pada koleksi citra Brodatz yaitu citra 1.1.12.jpg menghasilkan citra-citra pada Gambar V.9 yang terurut dari kiri ke kanan berdasarkan nilai jaraknya.
1.1.12.jpg 1.1.12.jpg jarak:0.0 1.3.12.jpg jarak:3.49915 1.1.09.jpg jarak:4.7311 1.2.12.jpg jarak:5.13422 1.1.02.jpg jarak:5.35959 1.3.02.jpg jarak:5.42845 1.1.03.jpg jarak:5.46886 1.1.08.jpg jarak:5.77976 1.3.08.jpg jarak:6.37517
Koleksi citra Brodatz telah dikelompokkan menjadi 13 kelompok yang masing-masing terdiri dari 3 citra yang memiliki kemiripan tekstur. Pengujian dilakukan dengan menggunakan salah satu citra dari setiap kelompok sebagai citra query, kemudian menganalisis nilai recall dari hasil query ranking 10 teratas. Hasil percobaan ditunjukkan Tabel V.3
Tabel V.3. Hasil query koleksi citra Brodatz Kelompok Jumlah citra Nilai Recall Ranking 10 teratas 01 3 66,67% 02 3 66,67% 03 3 100% 04 3 33,33% 05 3 66,67% 06 3 100% 07 3 33,33% 08 3 66,67% 09 3 33,33% 10 3 66,67% 11 3 66,67% 12 3 100% 13 3 66,67%
Dari hasil pengujian query pada koleksi citra Brodatz di atas dapat disimpulkan bahwa sistem memiliki nilai recall pada ranking 10 teratas rata-rata sebesar 66,67 % yang berarti sistem dapat menempatkan 0,67 dari keseluruhan jumlah citra yang yang relevan terhadap citra query pada ranking 10 teratas.
(2) Koleksi citra Vistex-Scene
Salah satu contoh citra query pada koleksi citra Vistex-Scene yaitu citra DocCageCity.0002.jpg menghasilkan citra-citra pada Gambar V.10 yang terurut dari kiri ke kanan berdasarkan nilai jaraknya.
DocCageCity.0002.jpg DocCageCity.0002.jpg jarak:0.0 DocCageCity.0004.jpg jarak:4.49475 DocCageCity.0003.jpg jarak:5.18733 GroundWaterCity.0004.jpg jarak:6.77871 GrassPlantsSky.0006.jpg jarak:7.34427 FenceSign.0000.jpg jarak:7.75077 FenceSign.0001.jpg jarak:7.88607 GroundWaterCity.0002.jpg jarak:8.25557 DocCageCity.0007.jpg jarak:8.29556
Gambar V.10. Hasil query koleksi citra Vistex-Scene
Dari koleksi citra Vistex-Scene dibentuk 6 kelompok yang masing-masing terdiri dari 3 sampai 8 citra yang memiliki kemiripan tekstur. Pengujian dilakukan dengan menggunakan salah satu citra dari setiap kelompok sebagai citra query, kemudian menganalisis nilai recall dari hasil query ranking 10 teratas. Hasil percobaan ditunjukkan Tabel V.4
Tabel V.4. Hasil query koleksi citra Brodatz Kelompok Jumlah citra Nilai Recall Ranking 10 teratas DocCage 3 100% Fence 3 100% Grass-01 6 60% Grass-02 3 66,67% Prison-01 4 75% Prison-02 8 37,5%
Dari hasil pengujian query pada koleksi citra Vistex-Scene di atas dapat disimpulkan bahwa sistem memiliki nilai recall pada ranking 10 teratas rata-rata sebesar 73,19 % yang berarti sistem dapat menempatkan 0,73 dari keseluruhan jumlah citra yang yang relevan terhadap citra query pada ranking 10 teratas.
(3) Koleksi citra Vistex-Flat
Salah satu contoh citra query pada koleksi citra Vistex-Flat yaitu citra Buildings.0001.jpg menghasilkan citra-citra pada Gambar V.11 yang terurut dari kiri ke kanan berdasarkan nilai jaraknya.
Buildings.0001.jpg Buildings.0001.jpg jarak:0.0 Buildings.0002.jpg jarak:3.52379 Buildings.0006.jpg jarak:5.0389 Buildings.0005.jpg jarak:6.11017 Buildings.0007.jpg jarak:6.27926 Brick.0006.jpg jarak:6.37273 Brick.0003.jpg jarak:7.31109 Brick.0002.jpg jarak:7.62208 Buildings.0003.jpg jarak:7.80783
Dari koleksi citra Vistex-Flat dibentuk 8 kelompok yang masing-masing terdiri dari 3 sampai 8 citra yang memiliki kemiripan tekstur. Pengujian dilakukan dengan menggunakan salah satu citra dari setiap kelompok sebagai citra query, kemudian menganalisis nilai recall dari hasil query ranking 10 teratas. Hasil percobaan ditunjukkan Tabel V.5
Tabel V.5. Hasil query koleksi citra Brodatz Kelompok Jumlah citra Nilai Recall Ranking 10 teratas Bark 4 50% Building 8 75% Fabric-01 4 50% Fabric-02 3 66,67% Flower 4 100% Food 4 25% Metal 5 40% Tile 4 66,67%
Dari hasil pengujian query pada koleksi citra Vistex-Flat di atas dapat disimpulkan bahwa sistem memiliki nilai recall pada ranking 10 teratas rata-rata sebesar 53,96 % yang berarti sistem dapat menempatkan 0,54 dari keseluruhan jumlah citra yang yang relevan terhadap citra query pada ranking 10 teratas.