VI.
VI.1
Bab V Implementasi dan Pengujian
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
d. Bahasa Pemrograman : Java ( J2SE 1.4.1_02) - Servlet 2.4 API
44
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
1.
user
2. 3.
fractalcoder admin
Kelas SearchPage SearchEngine FractalCoder AdminPage DataUpdater
Nama File SearchPage.java SearchEngine.java FractalCoder.java 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
45
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.
Gambar V.2. Implementasi antarmuka LoginPage
46
(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.
Gambar V.4. Implementasi antarmuka EditCategoryPage
47
(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.
48
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.
Gambar V.7. Implementasi antarmuka DeleteDocPage
49
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 WhiteBox Testing. Black-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 masingmasing use case dalam sistem. Daftar use case, metode uji dan kriteria evaluasi hasil sistem SPECKTRAL dinyatakan dalam Tabel V.2.
50
Tabel V.2. Metode dan kriteria evaluasi hasil uji No Use Case T1. Browse Citra
Metode Pengujian Black-box
T2. Cari File
Black-box
T3. Cari Citra
Black-box, White-Box
T4. Login
Black-box, White-Box
T5. Tambah Kategori
Black-Box
T6. Edit Kategori
Black-Box
T7. Tambah Dokumen
Black-Box
T8. Edit Dokumen
Black-Box
T9. Hapus Dokumen
Black-Box
Kriteria Evaluasi Hasil Program dapat menampilkan semua citra yang termasuk dalam kategori yang telah dipilih pengguna dengan cara mengklik link kategori yang tersedia. Program dapat menampilkan semua file dengan nama yang sama atau mirip dengan keyword yang dimasukkan pengguna 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. Program dapat memvalidasi nama user dan password. Jika nama user dan password cocok maka user dapat masuk ke sistem Kategori citra dalam basis data bertambah setelah admin memasukkan nama kategori Nama kategori dalam basis data yang dipilih admin berubah sesuai dengan masukan nama baru Dokumen citra dalam basis data bertambah setelah admin memasukkan lokasi citra beserta nama kategori Nama dokumen dan kategori dokumen dalam basis data yang dipilih admin berubah sesuai dengan masukan nama dokumen dan kategori yang baru 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.
51
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
Gambar V.9. Hasil query koleksi citra Brodatz
52
Koleksi citra Brodatz telah dikelompokkan menjadi 13 kelompok yang masingmasing 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 01 02 03 04 05 06 07 08 09 10 11 12 13
Jumlah citra 3 3 3 3 3 3 3 3 3 3 3 3 3
Nilai Recall Ranking 10 teratas 66,67% 66,67% 100% 33,33% 66,67% 100% 33,33% 66,67% 33,33% 66,67% 66,67% 100% 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.
53
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 DocCage Fence Grass-01 Grass-02 Prison-01 Prison-02
Jumlah citra
Nilai Recall Ranking 10 teratas
3 3 6 3 4 8
100% 100% 60% 66,67% 75% 37,5%
54
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
Gambar V.11. Hasil query koleksi citra Vistex-Flat
55
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 Bark Building Fabric-01 Fabric-02 Flower Food Metal Tile
Jumlah citra
Nilai Recall Ranking 10 teratas
4 8 4 3 4 4 5 4
50% 75% 50% 66,67% 100% 25% 40% 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.
56