BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Analisis sistem adalah sebuah teknik pemecahan masalah yang menguraikan sebuah sistem menjadi bagian – bagian komponen dengan tujuan mempelajari seberapa baik setiap komponen tersebut bekerja dan berinteraksi untuk meraih tujuan mereka. Analisis sistem memiliki tiga fase untuk mendeskripsikan pengembangan sistem yaitu, analisis masalah, analisis kebutuhan, dan analisis proses. Tujuan analisis masalah adalah mempelajari dan memahami bidang masalah dengan cukup baik untuk secara menyeluruh menganalisis masalah, kesempatan dan batasannya (Whitten et al. 2004).
3.1.1.Analisis Masalah
Analisis masalah merupakan langkah pertama yang dilakukan dalam tahap analisis sistem. Masalah dapat diartikan sebagai suatu pertanyaan yang diinginkan untuk dipecahkan. Masalah utama yang diangkat dari penelitian ini adaah bagaimana mendeteksi kanker dengan tepat menggunakan deteksi tepi citra digital. Pada penelian ini, citra yang akan dideteksi adalah citra hasil kolposkopi dengan format jpg yang berukuran 200 x 200 piksel. Sistem akan melakukan pendeteksian tepi citra hasil kolposkopi terlebih dahulu dengan pilihan, yaitu Canny dan Isotropik, selanjutnya citra hasil deteksi tepi tersebut disimpan dalam sebuah folder. Setelah itu sistem akan melakukan pendeteksian kanker dengan menghitung nilai Euclidean distance citra yang telah mengalami proses deteksi tepi.
Cara populer yang sering digunakan untuk menganalisis, mengidentifikasi, dan menyelesaikan masalah sering disebut Ishikawa diagram/diagram Ishikawa. Konsep dasar dari diagram fishbone adalah nama masalah yang mendapat perhatian dicantumkan di sebelah kanan diagram dan penyebab masalah yang mungkin digambarkan sebagai tulang – tulang dari tulang utama. (Whitten et al. 2004).
Pada gambar 3.1 merupakan gambaran masalah secara umum dari penelitian dengan menggunakan diagram Ishikawa (fishbone/cause and effect diagram).
Gambar 3.1. Diagram Ishikawa untuk Analisis Masalah Pada gambar 3.1. kotak paling kanan (atau pada kepala ikan) nama masalah yaitu bagaimana membuat aplikasi pendeteksian kanker serviks menggunakan algoritma canny dan isotropik dengan transformasi power law. Kemudian tulang-tulang yang mengarah ke tulang-tulang utama (garis horizontal yang menuju ke kepala ikan) adalah kategori masalah yaitu pengguna, material, metode dan mesin. Dan tanda panah kecil yang menuju kategori masalah adalah sebab dari masalah yang berada pada kepala ikan.
3.1.2 Analisis Kebutuhan
Analisis kebutuhan terbagi atas dua bagian, yaitu kebutuhan fungsional dan kebutuhan nonfungsional. Kebutuhan fungsional mendeskripsikan aktivitas yang disediakan suatu sistem. Sedangkan kebutuhan nonfungsional mendeskripsikan fitur, karakteristik dan batasan lainnya (Whitten, 2004).
3.1.2.1 Kebutuhan Fungsional
Kebutuhan fungsional adalah segala hal yang harus dimiliki oleh sistem. Terdapat beberapa hal yang menjadi kebutuhan fungsional antara lain adalah :
Membuat aplikasi deteksi kanker serviks Pengguna Material Metode Mesin Pengguna ingin
mendapatkan hasil deteksi kanker serviks dengan cepat
Citra berwarna *png hasil dari kolposkopi
Belum ada aplikasi pendeteksi kanker serviks yang memberikan solusi Belum ada metode
algoritma canny dan isotropic dengan
transformasi power law untuk
Masih sedikit aplikasi yang dapat mendeteksi hasil kolposkopi dengan akurat Besarnya biaya untuk
melakukan deteksi kanker serviks
1. Perangkat lunak yang dibangun menggunakan citra berwarna hasil kolposkopi dengan format (*.png).
2. Perangkat lunak yang dibangun dapat melakukan proses deteksi tepi dengan metode Canny dan Isotropik.
3. Perangkat lunak yang dibangun menggunakan menggunakan transformasi power law root power.
4. Perangkat lunak yang dibangun menggunakan ukuran citra 200 x 200 piksel.
3.1.2.2 Kebutuhan Nonfungsional
Kebutuhan nonfungsional adalah beberapa kebutuhan yang harus dilakukan oleh sistem. Kebutuhan nonfungsional tersebut antara lain adalah:
1. Performa
Perangkat lunak yang dibangun dapat menunjukkan hasil dari proses deteksi tepi pada citra hasil kolposkopi.
2. Mudah Dipelajari dan Digunakan
Tampilan dari perangkat lunak yang dibangun adalah ramah pengguna (user friendly) dan sederhana.
3. Hemat Biaya
Perangkat lunak yang dibangun adalah hemat biaya karena dapat diakses tanpa menggunakan jaringan internet dan tidak berbayar.
4. Dokumentasi
Perangkat lunak yang akan dibangun harus bisa menyimpan citra hasil proses deteksi tepi.
5. Kontrol
Perangkat lunak yang akan dibangun harus dapat menampilkan dialog error ketika user salah dalam menginputkan citra.
6. Manajemen kualitas
Perangkat lunak yang akan dibangun harus memiliki kualitas yang baik yaitu dapat menghitung nilai Euclidean Distance dan menampilkan hasil prediksi kanker serviks dan solusinya dengan tepat.
3.1.3 Analisis Proses
Dalam bagian ini terdapat 2 proses dasar yaitu deteksi tepi dan deteksi kanker. Deteksi tepi yang digunakan adalah deteksi tepi canny dan isotropic dengan transformasi power law. Setelah itu dilakukan deteksi kanker serviks dengan melakukan perhitungan Euclidean Distance yang kemudian sistem akan menampilkan hasil prediksi stadium kanker dan solusi terhadap kanker tersebut.
3.2 Perancangan Sistem
Perancangan sistem merupakan cara untuk mendapatkan gambaran dengan jelas tentang apa yang akan dikerjakan pada analisis sistem dan dilanjutkan dengan memikirkan bagaimana membuat sistem tersebut. Perancangan sistem adalah suatu fase dimana diperlukan suatu keahlian perancangan untuk elemen-elemen komputer yang akan menggunakan sistem, yaitu pemilihan peralatan dan program komputer untuk sistem baru.
Tujuan dari tahap perancangan sistem ini adalah untuk memenuhi kebutuhan pengguna sistem dan memberikan gambaran yang jelas serta menghasilkan rancang bangun yang lengkap kepada pemrogram komputer dan ahli-ahli teknik lainnya yang terlibat di dalam pengembangan atau pengguna sistem.
Pada penelitian ini, penulis menggunakan UML (Unified Modeling Language) sebagai bahasa pemodelan untuk merancang sistem pendiagnosa tingkat stadium kanker dengan menggunakan operator deteksi tepi Canny dan Isotropik. Adapun model UML yang akan dipakai adalah general arsitektur sistem, use case diagram, activity diagram, sequence diagram, dan flowchart.
3.2.1. General Arsitektur Perancangan Sistem
General arsitektur perancangan sistem adalah gambaran sistem secara keseluruhan yang meliputi proses input data, proses sistem berlangsung, dan output data yang dikeluarkan dari sistem.
Deteksi tepi canny hitung running time, MSE,PSNR Hitung Euclidean & simpan gambar distance
Input citra transformasi user memilih tampilan running time, nilai MSE,
kolposkopi power law metode deteksi tepi PSNR hasil deteksi tepi, diagnosa, dan pengobatan
Deteksi tepi Isotropik hitung running time, MSE,PSNR Hitung Euclidean & simpan gambar distance
Gambar 3.2. General arsitektur perancangan sistem
General arsitektur sistem pada gambar 3.2. diatas menunjukkan interaksi yang dilakukan pengguna kepada sistem. Tahap pertama pengguna memasukkan citra asli hasil kolposkopi yang berasal dari situs resmi departemen kesehatan. Kemudian sistem melakukan proses transformasi power law. Setelah itu pengguna memilih metode mana yang ingin diproses terlebih dahulu. Jika pengguna ingin melakukan proses detesi tepi dengan metode canny maka sistem memproses deteksi tepi dengan metode Canny serta penghitungan running time, MSE, dan PSNR begitu juga dengan metode isotropik. Selanjutnya pengguna menyimpan gambar hasil deteksi tepi dan sistem melakukan penyimpanan citra. Untuk tahap kedua pengguna memasukkan citra hasil deteksi tepi kemudian melakukan diagnosa dengan menghitung nilai Euclidean Distance. Untuk penghitungan Euclidean distance penulis menggunakan klasifikasi tiap stadium menjadi 4 klasifikasi yaitu Serviks normal, Stadium 1, Stadium 2, Stadium 3, dan Stadium 4. Gambar acuan yang disediakan untuk tiap stadium ada 3 gambar. Bahan acuan yang digunakan adalah gambar yang sudah memiliki tepi-tepi
artinya gambar acuan adalah gambar yang telah melalui proses deteksi tepi. Tahap terakhir sistem menampilkan hasil deteksi tepi, diagnosa kanker serviks dan solusi pengobatan kanker.
3.2.2. Use Case Diagram
Diagram use case (use case diagram) adalah diagram atau alur yang merepresentasikan interaksi yang terjadi antara pengguna dan sistem. Diagram ini mendeskripsikan siapa saja yang dapat berinteraksi dengan sistem dan bagaimana cara mereka berinteraksi. Diagram ini divisualisasikan dengan actor, use case, dan relasinya sebagai suatu urutan tindakan yang memberikan nilai terukur untuk actor. Sebuah use case digambarkan sebagai elips horizontal dalam suatu diagram use case (Haviluddin, 2011).
Pada sistem deteksi kanker, ada beberapa interaksi yang dapat dilakukan pengguna kepada sistem, yaitu seperti yang ditunjukkan pada Gambar 3.3. berikut.
Gambar 3.3. Use Case Diagram Sistem
Diagram use case pada Gambar 3.3. menunjukkan interaksi sistem yang akan dijalankan sistem kepada pengguna. Dapat dilihat dari use case diatas pengguna dapat memilih dua langkah besar. Pertama, pengguna akan memilih deteksi tepi dimana pengguna akan memasukkan citra, selanjutnya memilih proses transformasi citra
kemudian memilih deteksi tepi mana yang ingin diproses terlebih dahulu, kemudian sistem melakukan perhitungan running time, nilai MSE dan PSNR setelah proses deteksi tepi dan perhitungan running time, mse, dan psnr selesai pengguna dapat menyimpan dan menghapus citra. Langkah kedua, pengguna memilih deteksi kanker dengan memasukkan citra hasil deteksi tepi masing – masing metode. Kemudian pengguna memilih Euclidean Distance untuk menghitung nilai kemiripan citra hasil dengan citra sumber sehingga akan diketahui hasil prediksi tingkat stadium dan solusi kanker yang terdeteksi.
3.2.2.1. Skenario Use Case Deteksi Tepi
Skenario use case dapat dilihat pada table 3.1 di bawah ini.
Tabel 3.1 Skenario use case deteksi tepi
Name Deteksi Tepi
Actors Pengguna
Trigger Pengguna memilih menu Deteksi tepi
Description 1. Penguna memilih menu Deteksi Tepi. 2. Sistem menampilkan halaman Deteksi Tepi. 3. Pengguna menginputkan citra.
4. Pengguna mengeksekusi tombol Transformasi. 5. Pengguna mengeksekusi tombol Canny. 6. Pengguna mengeksekusi tombol Isotropik.
7. Pengguna dapat melihat gambar hasil deteksi tepi. 8. Pengguna Menyimpan gambar hasil deteksi tepi. 9. Pengguna mengeksekusi tombol Clear.
Pre Condition Pengguna menggunakan Aplikasi Deteksi Tepi dengan operator Canny dan Isotropik
Post Condition Sistem menampilkan gambar hasil deteksi tepi.
Alternate Flow -
3.2.2.2. Skenario Use Case Input Citra
Tabel 3.2 Skenario use case input citra
Name Input Citra
Actors Pengguna
Trigger Pengguna memilih menu Deteksi tepi
Description 1. Penguna memilih menu Deteksi Tepi. 2. Pengguna mengeksekusi tombol input citra
3. Sistem menampilkan pop-up window Open Image untuk menampilkan lokasi penyimpanan gambar.
4. Pengguna memilih gambar yang ingin dipilih.
5. Sistem akan menampilkan gambar yang telah dipilih.
Pre Condition Pengguna menggunakan Aplikasi Deteksi Tepi dengan operator Canny dan Isotropik
Post Condition Sistem menampilkan gambar yang telah dipilih
Alternate Flow -
3.2.2.3. Skenario Use Case Transformasi
Skenario use case dapat dilihat pada table 3.3 di bawah ini.
Tabel 3.3 Skenario use case Transformasi
Name Transformasi
Actors Pengguna
Trigger Pengguna memilih menu Deteksi tepi
Description 1. Penguna memilih menu Deteksi Tepi.
2. Pengguna mengeksekusi tombol Transformasi
3. Sistem melakukan proses Transformasi dan menampilkan hasilnya.
4. Pengguna dapat melihat hasil citra tranformasi
Pre Condition Pengguna menggunakan Aplikasi Deteksi Tepi dengan operator Canny dan Isotropik
Post Condition Sistem menampilkan gambar hasil transformasi
3.2.2.4. Skenario Use Case Canny
Skenario use case dapat dilihat pada table 3.4 di bawah ini.
Tabel 3.4 Skenario use case Canny
Name Canny
Actors Pengguna
Trigger Pengguna melihat button Canny
Description 1. Penguna mengeksekusi tombol Canny. 2. Sistem melakukan proses deteksi tepi Canny.
3. Sistem menampilkan hasil gambar deteksi tepi Canny
Pre Condition Pengguna menggunakan Aplikasi Deteksi Tepi dengan operator Canny dan Isotropik
Post Condition Sistem menampilkan gambar hasil deteksi tepi Canny
Alternate Flow -
3.2.2.5. Skenario Use Case Isotropik
Skenario use case dapat dilihat pada table 3.5 di bawah ini.
Tabel 3.5 Skenario use case Isotropik
Name Input Citra
Actors Pengguna
Trigger Pengguna telah melihat button Isotropik
Description 1. Penguna mengeksekusi tombol Isotropik. 2. Sistem melakukan proses deteksi tepi Isotropik.
3. Sistem menampilkan hasil gambar deteksi tepi Isotropik.
Pre Condition Pengguna menggunakan Aplikasi Deteksi Tepi dengan operator Canny dan Isotropik
Post Condition Sistem menampilkan gambar hasil deteksi tepi Isotropik
Alternate Flow -
3.2.2.6. Skenario Use Case Save
Tabel 3.6 Skenario use case Save
Name Save
Actors Pengguna
Trigger Pengguna melihat hasil deteksi tepi canny dan Isotropik
Description 4. Penguna telah melihat hasil deteksi tepi Canny dan Isotropik. 5. Pengguna mengeksekusi tombol save.
6. Sistem menampilkan pop-up window Open Image untuk menampilkan lokasi penyimpanan gambar.
7. Pengguna menyimpan citra hasil deteksi tepi. 8. Sistem akan menyimpan citra hasil deteksi tepi.
Pre Condition Pengguna telah melihat hasil deteksi tepi.
Post Condition Sistem menyimpan file citra hasil deteksi tepi.
Alternate Flow -
3.2.2.7. Skenario Use Case Deteksi Kanker
Skenario use case dapat dilihat pada table 3.7 di bawah ini.
Tabel 3.7 Skenario use case Deteksi Kanker
Name Deteksi kanker
Actors Pengguna
Trigger Pengguna memilih menu Deteksi kanker
Description 1. Penguna memilih menu Deteksi kanker 2. Sistem menampilkan halaman Deteksi kanker 3. Pengguna mencari citra.
4. Sistem menampilkan citra yang dipilih. 5. Pengguna mengeksekusi tombol Deteksi. 6. Pengguna melihat hasil deteksi kanker.
Pre Condition Pengguna memilih menu Deteksi kanker
Post Condition Sistem menampilkan gambar hasil deteksi Kanker dan prediksi stadium kanker
3.2.2.8. Skenario Use Case Browser Canny
Skenario use case dapat dilihat pada table 3.8 di bawah ini.
Tabel 3.8 Skenario use case Browser Canny
Name Browser Canny
Actors Pengguna
Trigger Pengguna melihat citra hasil deteksi tepi canny yang dipilih
untuk proses deteksi kanker
Description 1. Penguna telah melihat citrta hasil deteksi tepi canny yang dipilih untuk proses deteksi Kanker
2. Pengguna mengeksekusi tombol Browser.
3. Sistem menampilkan pop-up window Open Image untuk menampilkan lokasi penyimpanan gambar.
4. Pengguna memilih gambar yang ingin dipilih.
5. Sistem akan menampilkan gambar yang telah dipilih.
Pre Condition Pengguna memilih menu Deteksi kanker
Post Condition Sistem menampilkan gambar yang dipilih
Alternate Flow -
3.2.2.9. Skenario Use Case Browser Isotropik
Skenario use case dapat dilihat pada table 3.9 di bawah ini.
Tabel 3.9 Skenario use case Browser Isotropik
Name Browser Isotropik
Actors Pengguna
Trigger Pengguna melihat citra hasil deteksi tepi canny yang dipilih
untuk proses deteksi kanker
Description 1. Penguna telah melihat citrta hasil deteksi tepi canny yang dipilih untuk proses deteksi Kanker
2. Pengguna mengeksekusi tombol Browser.
3. Sistem menampilkan pop-up window Open Image untuk menampilkan lokasi penyimpanan gambar.
5. Sistem akan menampilkan gambar yang telah dipilih.
Pre Condition Pengguna memilih menu Deteksi kanker
Post Condition Sistem menampilkan gambar yang dipilih.
Alternate Flow -
3.2.2.10. Skenario Use Case Deteksi
Skenario use case dapat dilihat pada table 3.10 di bawah ini. Tabel 3.10 Skenario use case Deteksi
Name Deteksi
Actors Pengguna
Trigger Pengguna melihat citra hasil deteksi tepi canny yang dipilih
untuk proses deteksi kanker
Description 1. Penguna telah melihat citrta hasil deteksi tepi canny yang dipilih untuk proses deteksi Kanker
2. Pengguna mengeksekusi tombol Deteksi
3. Sistem akan melakukan Proses Perhitungan nilai Euclidean Distance.
4. Sistem menampilkan hasil prediksi stadium kanker dan pengobatannya.
5. Pengguna dapat melihat hasil prediksi stadium kanker dan pengobatannya.
Pre Condition Pengguna melihat citra hasil deteksi tepi canny yang dipilih untuk proses deteksi kanker
Post Condition Sistem menampilkan hasil prediksi stadium kanker dan
pengobatannya.
Alternate Flow - 3.2.3. Activity Diagram
Diagram aktivitas atau activity diagram menggambarkan aliran kerja (workflow) atau aktivitas dari sebuah sistem atau proses bisnis. Activity diagram ini menggambarkan aktivitas suatu sistem serta proses timbal balik antar sistem tersebut (Setiady, et al.2013). Activity diagram pada sistem deteksi tepi ini akan ditunjukkan pada Gambar 3.4.
Gambar 3.4. Activity Diagram form deteksi tepi
Gambar 3.5. Activity Diagram form deteksi kanker
Menghitung Running time, Mse dan Psnr
3.2.4. Sequence Diagram
Sequence diagram menggambarkan perilaku objek pada use case dengan mendeskripsikan waktu hidup objek dan pesan yang dikirimkan dan diterima antar objek (Setiady, et al. 2013). Sequence diagram ini memperlihatkan kolaborasi dinamik antara objek-objek dengan suatu urutan pesan diantara objek tersebut. Sequence diagram pada sistem deteksi tepi ini akan ditunjukkan pada Gambar 3.6. berikut.
3.2.5.Pseudocode
Pseudocode merupakan sebuah kode yang digunakan untuk menuliskan sebuah algoritma dengan cara yang bebas yang tidak terkait dengan bahasa pemrograman tertentu. Pseudocode berisi langkah-langkah untuk menyelesaikan suatu permasalahan yang bentuknya sedikit berbeda dari algoritma. Pseudocode menggunakan bahasa yang hampir menyerupai bahasa pemrograman melainkan menggunakan bahasa yang mudah dipahami secara umum dan juga lebih ringkas.
3.2.5.1 Pseudocode Deteksi Tepi Canny 1. Melakukan Gaussian filter
Sigma <- 5 // pemberian nilai awal Size <- 30 // pemberian nilai awal x = (-size / 2, size / 2, size)
gaussfilter <- exp(-x .^ 2 / (2 * sigma ^ 2)) // perhitungan filter gausian gaussfilter <- gaussfilter / sum (gaussfilter) // perhitungan filter gausian 2. Menghitung gradient magnitude
For j <- 1 to b.tinggi – 2 //perulangan filter sobel For i <- 1 to b.lebar -2 //perulangan filter sobel
Gy[j][i] <- (p[j+1] [i-1].r - p[j-1] [i-1].r) + 2 * (p[j+1] [i].r – p[j-1][i].r) + (p[j+1] [i+1].r - p[j-1] [i+1].r) //proses mask dengan filter sobel untuk Gy
Gx[j][i] <- (p[j-1] [i+1].r – p[j][i].r) + 2 * (p[j][i-1].r) + (p[j+1][i+1].r – p[j+1][i-1].r) //proses mask dengan filter sobel untuk Gx
Mag[j][i] <- sqrt(gx[j][i] * gx[j][i] + gy[j][i] * gy[j][i]) // perhitungan nilai magnitudo
3. Non-maximum suppression
For j <- 1 to b.tinggi – 2 // perulangan nilai tangen For i <- 1 to b.lebar -2 // perulangan nilai tangen Dir <- arctan2 (gy[j][i], gx[j][i]) // perhitungan tangen Dx <- round (cos (dir)) // perhitungan tangent untuk sisi x Dy <- round (sin (dir)) // perhitungan tangent untuk sisi y
Edge[j][i] <- (mag[j][i] >= mag[j+dy][i+dx])&& (mag[j][i] >= mag[jdy][i-dx) //perhitungan nilai non maximum
4. Melakukan thresholding dan menentukan arah tepi Thrlow <- 10 // pemberian nilai batas bawah
Thrhigh <- 90 // pemberian nilai batas atas
For j <- 1 to b.tinggi - 2 //perulangan thresholding For i <- 1 to be.lebar – 2 //perulangan thresholding
Edge[j][i] && (mag[y][x] >= thrhigh) trace(i,j) // perhitungan thresholding
Pada Pseudocode deteksi tepi Canny citra akan dilakukan filtering dengan menggunakan Gaussian filter untuk menghilangkan derau yang ada pada citra. Setelah itu dilakukan menghitung gradient dengan mask Sobel, kemudian dilakukan Non maximum Suppression untuk menghilangkan nilai yang tidak maksimum dan mengubahnya dengan 0. Kemudian menentukan arah tepi dan melakukan thresholding untuk mengubah citra menjadi hitam putih.
3.2.5.2 Pseudocode Deteksi Tepi Isotropik 1. Menghitung mask Isotropik
For j <- 1 to b.tinggi - 2 //perulangan filter iso For i <- 1 to b.lebar - 2//perulangan filter iso
Gy[j][i] <- (p[j+1] [i-1].r - p[j-1] [i-1].r) + 1.41421* (p[j+1] [i].r – p[j-1][i].r) + (p[j+1] [i+1].r - p[j-1] [i+1].r) //proses mask dengan filter iso untuk Gy Gx[j][i] <- (p[j-1] [i+1].r – p[j][i].r) + 1.41421 * (p[j][i-1].r) + (p[j+1][i+1].r – p[j+1][i-1].r) //proses mask dengan filter iso untuk Gy
2. Menghitung gradien magnitudo
Mag[j][i] <- sqrt(gx[j][i] * gx[j][i] + gy[j][i] * gy[j][i]) // perhitungan nilai magnitude
3. Pemberian nilai thresholding
Thrlow <- 10 // pemberian nilai batas bawah Thrhigh <- 90 // pemberian nilai batas atas
For j <- 1 to b.tinggi - 2 //perulangan thresholding For i <- 1 to be.lebar – 2//perulangan thresholding
3.2.6 Flowchart
Flowchart adalah bentuk diagram alir dari algoritma-algoritma dalam suatu program yang menyatakan arah alur program tersebut. Dalam visualisasinya, flowchart dilambangkan dengan simbol-simbol tertentu yang masing-masing simbolnya memiliki arti yang berbeda.. Untuk flowchart sistem akan ditunjukkan pada Gambar 3.7. berikut ini Yes No yes No yes no no no yes yes yes no Selesai Mulai Input Citra
Proses deteksi tepi canny
Penghitungan nilai prediksi tingkat stadium kanker dengan
Euclidean distance Proses deteksi tepi
Isotropik
Hasil Deteksi tepi canny, isotropik, running time, MSE, PSNR, dan diagnosa
kanker, serta Transformasi power law Pilih Form Form Deteksi
tepi Form Deteksi Kanker
Citra hasil deteksi tepi Deteksi tepi canny Deteksi tepi canny Deteksi Tepi Hitung Running Time, Mse, dan Psnr
Hasil deteksi Canny
Hasil deteksi Isotropik Input Citra
Gambar 3.7. Flowchart sistem
Flowchart pada gambar 3.7 diatas menunjukkan alur sistem yang dibuat oleh penulis. Langkah pertama pengguna memilih form pengujian pada Sistem. Pilihan awal adalah form Deteksi tepi, maka pengguna memasukkan gambar, setelah itu menekan tombol Transformasi. Kemudian pengguna memilih operator deteksi tepi canny atau isotropik yang akan diproses terlebih dahulu . setelah hasil deteksi tepi dan nilai Running Time, MSE, dan PSNR tampil pengguna dapat menyimpan citra hasil deteksi tepi tersebut.
Langkah kedua adalah pengguna memilih form deteksi kanker. Pengguna memasukkan gambar hasil deteksi tepi canny dan isotropik. Setelah gambar tampil, pengguna memilih deteksi untuk menghitung nilai Euclidean Distance untuk melihat prediksi stadium kanker dan pengobatannya.
3.3 Perancangan Antarmuka Sistem (System Interface)
Proses perancangan antarmuka sistem adalah sebuah proses yang penting. Sebuah antarmuka sistem dirancang untuk memudahkan pengguna dalam menggunakan sistem tersebut sehingga memberikan kenyamanan dan kemudahan dalam penggunaannya. Proses perancangan sistem sepenuhnya harus memperhatikan faktor pengguna yang akan menggunakan sistem tersebut sehingga harus bersifat user friendly.
3.3.1. Rancangan Halaman Utama
Gambar 3.8 merupakan tampilan awal ketika aplikasi pertama kali dijalankan. Pada rancangan ini terdapat menu Home, Deteksi Tepi, Deteksi Kanker dan About. Menu Deteksi Tepi berfungsi untuk menampilkan halaman deteksi tepid an program deteksi tepi, Deteksi Kanker berfungsi untuk menampilkan halaman deteksi kanker dan program deteksi kanker dan About berfungsi untuk menampilkan keterangan seputar aplikasi yang dibangun.
Gambar 3.8. Rancangan Halaman Utama
Keterangan Gambar :
1) Button Home digunakan untuk menampilkan Halaman Utama Aplikasi
2) Button Deteksi Tepi digunakan untuk manjalankan program Deteksi tepi dan Menampilkan halaman Deteksi Tepi.
3) Button Deteksi Kanker digunakan untuk manjalankan program Deteksi Kanker dan menampilkan halaman Deteksi Kanker.
4) Button About digunakan untuk menampilkan halaman About. 5) Label digunakan untuk menampilkan judul Aplikasi.
6) Picture Box digunakan untuk menampilkan logo Universitas.
3.3.2. Rancangan Halaman Deteksi Tepi
Gambar 3.9 merupakan tampilan Deteksi Tepi. Rancangan ini merupakan rancangan pengolahan citra deteksi tepi dengan operator Canny dan Isotropik dimana gambar yang akan dideteksi mengalami transformasi power law terlebih dahulu. Citra yang diolah adalah citra kanker serviks dari alat kolposkop yang berformat jpg.
Home Deteksi Tepi Deteksi Kanker About
Judul Skripsi
Logo Usu
1 2 3 4
5
Home Deteksi Tepi Deteksi Kanker About
Gambar 3.9. Rancangan Deteksi Tepi
Keterangan Gambar :
1) Button Home digunakan untuk menampilkan Halaman Utama Aplikasi
2) Button Deteksi Tepi digunakan untuk manjalankan program Deteksi tepi dan Menampilkan halaman Deteksi Tepi.
3) Button Deteksi Kanker digunakan untuk manjalankan program Deteksi Kanker dan menampilkan halaman Deteksi Kanker.
4) Button About digunakan untuk menampilkan halaman About. 5) Picture Box digunakan untuk menampilkan citra masukan. 6) Text Box digunakan untuk menampilkan alamat citra. 7) Button digunakan untuk memasukkan citra.
8) Button digunakan untuk melakukan proses transformasi.
9) Picture Box digunakan untuk menampilkan citra hasil transformasi. 10) Text Box digunakan untuk menampilkan alamat citra.
11) Button digunakan untuk melakukan proses deteksi tepi operator canny. 12) Picture Box digunakan untuk menampilkan citra hasil deteksi tepi canny. 13) Text Box digunakan untuk menampilkan alamat citra.
Home Deteksi Tepi Deteksi Kanker About
1 1 2 3 4 5 9 1 10 6 1 13 20 19 18 21 7 11 16 15 8 1 22 23 24 25
15) Button digunakan untuk menyimpan citra hasil deteksi canny.
16) Button digunakan untuk melakukan proses deteksi tepi operator Isotropik. 17) Picture Box digunakan untuk menampilkan citra hasil deteksi tepi Isotropik. 18) Text Box digunakan untuk menampilkan alamat citra.
19) Text Box digunakan untuk menampilkan nilai running time isotropik. 20) Button digunakan untuk menyimpan citra hasil deteksi Isotropik. 21) Button digunakan untuk menghapus semua citra dan nilai Clear 22) Text Box digunakan untuk menampilkan Nilai Mse Canny 23) Text Box digunakan untuk menampilkan Nilai Psnr Canny 24) Text Box digunakan untuk menampilkan Nilai Mse Isotropik 25) Text Box digunakan untuk menampilkan Nilai Psnr Isotropik
3.3.3. Rancangan Halaman Deteksi Kanker
Gambar 3.10 merupakan tampilan Deteksi Kanker. Rancangan ini merupakan rancangan untuk memproses deteksi kanker dengan citra hasil deteksi tepi operator canny dan isotropik. Pada rancangan ini juga terdapat tombol deteksi yang berfungsi memproses perhitungan kemiripan citra dengan Euclidean distance.
Home Deteksi Tepi Deteksi Kanker About
1 2 3 4 5 10 6 11 12 7 9 13 8 14
Gambar 3.10. Rancangan Deteksi Kanker
Keterangan Gambar :
1) Button Home digunakan untuk menampilkan Halaman Utama Aplikasi 2) Button Deteksi Tepi digunakan untuk manjalankan program Deteksi tepi dan
Menampilkan halaman Deteksi Tepi.
3) Button Deteksi Kanker digunakan untuk manjalankan program Deteksi Kanker dan menampilkan halaman Deteksi Kanker.
4) Button About digunakan untuk menampilkan halaman About.
5) Button Browser digunakan untuk mencari citra canny yang ingin dimasukkan.
6) Text Box digunakan untuk menampilkan alamat citra.
7) Picture Box digunakan untuk menampilkan citra hasil deteksi tepi Canny. 8) Button Deteksi digunakan untuk menghitung nilai Euclidean Distance
Canny.
9) Label digunakan untuk menampilkan komentar hasil deteksi.
10) Button Browser digunakan untuk mencari citra isotropik yang ingin dimasukkan.
11) Text Box digunakan untuk menampilkan alamat citra.
12) Picture Box digunakan untuk menampilkan citra hasil deteksi tepi Isotropik. 13) Label digunakan untuk menampilkan komentar hasil deteksi.
14) Button Deteksi digunakan untuk menghitung nilai Euclidean Distance Isotropik.
3.3.4. Rancangan Halaman Tentang
Pada halaman tentang memuat tentang identitas singkat dari penulis dan judul penelitian ini. Adapun tampilan dari halaman tentang dapat ditunjukkan pada gambar 3.11 berikut ini.
Home Deteksi Tepi Deteksi Kanker About
Gambar 3.11. Rancangan Tentang
Keterangan Gambar :
1) Button Home digunakan untuk menampilkan Halaman Utama Aplikasi 2) Button Deteksi Tepi digunakan untuk manjalankan program Deteksi tepi dan
Menampilkan halaman Deteksi Tepi.
3) Button Deteksi Kanker digunakan untuk manjalankan program Deteksi Kanker dan menampilkan halaman Deteksi Kanker.
4) Button About digunakan untuk menampilkan halaman About. 5) Label digunakan untuk menampilkan judul Aplikasi.
6) Picture Box digunakan untuk menampilkan logo Universitas.
7) Label digunakan untuk menampilkan Program Studi, Fakultas, Universitas, kota dan tahun.
Home Deteksi Tepi Deteksi Kanker About
Judul Skripsi Logo Usu 1 2 3 4 5 6 7
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1. Implementasi
Tahap implementasi sistem merupakan langkah lanjutan dari tahapan analisis dan perancangan sistem yang dirangkum di bab tiga. Implementasi merupakan tahap dimana sistem melakukan fungsionalitas utamanya setelah suatu program atau perangkat lunak selesai dirancang. Sedangkan tahap pengujian merupakan tahap yang dilakukan setelah proses implementasi selesai dan sampai proses uji coba sesuai dengan criteria yang diinginkan pengguna pada tahap perancangan sistem. Sistem yang dibangun menggunakan bahasa pemrograman C#. pada sistem terdapat 4 form, yaitu form Home, form Deteksi Tepi, form Deteksi Kanker, dan form About.
4.1.1 Form Home
Form Home merupakan tampilan awal sistem ketika pertama kali dijalankan. Form ini berisi tentang informasi judul, nama dan nim penulis, dan logo universitas serta menu untuk memanggil form Home, form Deteksi Tepi, form Deteksi Kanker, dan Form About yang dapat dilihat pada Gambar 4.1. Dibelakang.
Gambar 4.1 Form Home
4.1.2 Form Deteksi Tepi
Form Deteksi Tepi merupakan halaman yang digunakan melakukan proses Deteksi tepi. Tahapan awal menginputkan citra png dengan ukuran piksel 200 x 200. Kemudian citra tersebut ditransformasi dengan 𝑛𝑛𝑡𝑡ℎ root power. Setelah itu dilakukan deteksi tepi dengan operator Canny dan Isotropik. Form Deteksi Tepi dapat dilihat pada gambar 4.2.
Gambar 4.2 Form Deteksi Tepi 4.1.3. Form Deteksi Kanker
Form Deteksi Kanker adalah halaman yang digunakan melakukan proses Diagnosa Kanker. Tahapan awal menginputkan citrayang merupakan hasil deteksi tepi operator Canny dan Isotropik. Kemudian dilakukan Deteksi yang merupakan perhitungan kemiripan gambar dengan Euclidean Distance. Setelah itu keluar lah hasil diagnosa kanker dan cara pengobatannya. Form Deteksi kanker dapat dilihat pada gambar 4.3.
Gambar 4.3 Form Deteksi Kanker 4.1.4. Form Tentang
Form About merupakan halaman yang digunakan untuk melihat informasi tentang pembuat sistem. Form About dapat dilihat pada Gambar 4.4 Berikut ini.
4.2 Pengujian
Terdapat dua jenis pengujian yang akan dilakukan dalam sistem. Pertama pengujian terhadap proses Form Deteksi Tepi dan kedua pengujian tyerhadap proses Form deteksi kanker. Pengujian sistem dilakukan pada citra png dengan ukuran 200 x 200 piksel.
4.2.1 Pengujian Form Deteksi Tepi
Proses pada Form Deteksi Tepi bertujuan untuk melakukan deteksi tepi pada citra hasil kolposkopi dengan ukuran 200 x 200 piksel. Pada form ini juga dilakukan proses running time untuk melihat berapa lama sistem melakukan proses deteksi tepi. Tahap awal pengguna memasukkan citra hasil kolposkopi, kemudian citra tersebut ditransformasi dengan transformasi 𝑛𝑛𝑡𝑡ℎ Root Power. Setelah itu dilakukanlah proses deteksi tepi dengan menggunakan operator Canny dan Isotropik. Proses Deteksi Tepi dapat dilihat pada Gambar 4.5 Berikut ini.
Gambar 4.5 Proses Deteksi Tepi
4.2.1 Pengujian Form Deteksi Kanker
Proses pada Form Deteksi Kanker bertujuan untuk melakukan perhitungan diagnosa kanker terhadap gambar hasil deteksi tepi yang teplah dilakukan terlebih dahulu. Perhitungan diagnosa kanker menggunakan perhitungan jarak Euclidean Distance dari
situlah nanti akan didapat hasil diagnosanya. Tahap awal pada proses ini pengguna memasukkan gambar hasil deteksi tepi yang telah disimpan dengan ukuran 200 x 200 piksel. Kemudian dilakukan proses diagnose kanker dengan Euclidean Distance. Setelah proses selesai tampillah hasil diagnosa Kanker dan cara Pengobatannya. Proses diagnose kanker dapat dilihat pada Gambar 4.6 berikut.
Gambar 4.6 Proses Diagnosa Kanker
4.3 Hasil Pengujian
4.3.1 Hasil Pengujian dengan operator Canny
Hasil pengujian dengan operator Canny bertujuan untuk mengetahui hasil deteksi tepi operator Canny dan ketepatan diagnose kanker serta running time operator Canny. Hasil pengujian dengan operator Canny dapatdilihat pada tabel 4.1berikut ini.
Tabel 4.1 Pengujian dengan menggunakan Operator Canny Diagnosa Citra asli Transformasi
𝒏𝒏𝒕𝒕𝒕𝒕 root power Operato canny
Solusi Serviks normal Running time: 0.3744 ms MSE : 13495,8 PSNR : 0. 6828 - Stadium 1 Running time: 0.3588ms MSE : 14405,8 PSNR : 0.6545 1. Operasi 2. Radioterapi Stadium 2 Running time : 0.3432 ms MSE : 14756,7 PNSR: 0. 6440 1. Operasi 2. Gabungan Kemoterapi dan Radioterapi (Chemoradio therapy) Stadium 3 Running time : 1. Kombinasi Kemoterapi dan Radioterapi (Chemoradio therapy)
0.3588ms MSE : 11615,7 PSNR : 0,7480 Stadium 4 Running time : 0.3744 ms MSE : 13422,8 PSNR : 0,6852 1. Kombinasi Operasi Radikal, Kemoterapi dan Radioterapi (Chemoradio therapy)
4.3.2 Hasil Pengujian dengan operator Isotropik
Hasil pengujian dengan operator Isotropik bertujuan untuk mengetahui hasil deteksi tepi operator Isotropik dan ketepatan diagnosa kanker serta running time operator Isotropik. Hasil pengujian dengan operator Canny dapat dilihat pada tabel 4.2 berikut ini.
Tabel 4.2 Pengujian dengan menggunakan Operator Isotropik Diagnos
a
Citra asli Transformasi
𝒏𝒏𝒕𝒕𝒕𝒕 root power Operator isotropik
Solusi Serviks normal Running time : 1.2168 ms MSE : 11808,6 PSNR : 0,7408 - Stadium 1 Running time : 1.2012 ms MSE : 12820,7 PSNR : 0,7051 1. Operasi 2. Radioterapi Stadium 2 Running time : 1.2948 ms MSE : 13462,1 PSNR : 0,68396 1. Operasi 2. Gabungan Kemoterapi dan Radioterapi (Chemoradiot herapy) Stadium 3 Running time : 2.0124 ms 1. Kombinasi Kemoterapi dan Radioterapi (Chemoradioth erapy)
MSE : 8163,0 PSNR : 0,9012 Stadium 4 Running time : 1.7316 ms MSE : 11643,7 PNSR : 0,7469 1. Kombinasi Operasi Radikal, Kemoterapi dan Radioterapi (Chemoradioth erapy)
Tabel 4.3 Tabel perbandingan running time operator Canny dan operator Isotropik No Jenis Operator Serviks Normal Stadium 1 Stadium 2 Stadium 3 Stadium 4 Nilai Rata-rata 1 Operator Canny 0.3744006 ms 0.3588006 ms 0.3432006 ms 0.3588006 ms 0.3744006 ms 0.3619206 ms 2 Operator Isotropik 1.2168022 ms 1.2012021 ms 1.2948022 ms 2.0124035 ms 1.7316031 ms 1.49136262 ms
Tabel 4.3 diatas menunjukan perbandingan running time operator Canny dan Operator Isotropik, dimana running time terendah terjadi pada operator Canny dengan diagnosa Stadium 2 dengan nilai running time 0. 3432006 ms, sementara pada operator Isotropik nilai running time terendah 1.2012021 ms dengan diagnosa Stadium 1.
Berikut Gambar 4.7 menunjukan perbandingan running time dari operator Canny dengan operator Isotropik. Dimana dapat dilihat dari Grafik operator Canny melakukan proses deteksi tepi lebih cepat dibandingkan operator Isotropik. Gambar grafik running time dapat dilihat pada gambar dibawah ini.
Gambar 4.7 Perbandingan hasil running time operator Canny dengan Operator Isotropik
Tabel berikut adalah tabel perbandingan nilai antara deteksi Operator Canny dengan Deteksi operator isotropik. Nilai rata-ratanya dapat langsung dilihat pada tabel 4.4 berikut
4.4 Tabel perbandingan Mse dan Psnr operator Canny dan operator Isotropik No Jenis Operator Serviks Normal Stadium 1 Stadium 2 Stadium 3 Stadium 4 Nilai Rata-rata 1 Operator Canny MSE : 13495,8 PSNR : 0. 6828 MSE : 14405,8 PSNR : 0.6545 MSE : 14756,7 PSNR : 0. 6440 MSE : 11615,7 PSNR : 0,7480 MSE : 13422,8 PSNR : 0,6852 MSE : 13539.36 PSNR : 0, 6829 2 Operator Isotropik MSE : 11808,6 PSNR : 0,7408 MSE : 12820,7 PSNR : 0,7051 MSE : 13462,1 PSNR : 0,68396 MSE : 8163,0 PSNR: 0,9012 MSE : 11643,7 PSNR : 0,7469 MSE: 11579,62 PSNR : 0,7556
Dari tabel 4.4 dapat kita lihat nilai MSE dari operator Isotropik lebih rendah dengan rata-rata nilai MSE 11579,62 yang berarti citra hasil lebih mendekati citra asli sedangkan nilai MSE untuk operator Canny 13539,36. Untuk nilai PSNR tertinggi pada operator Isotropik yaitu 0,7556 dB artinya citra hasil memiliki kualitas yang lebih baik. Sedangkan nilai rata-rata PSNR operator Canny 0,6829 dB. Untuk lebih jelas hasil perbandingan MSE dan PSNR operator Canny dan Isotropik dapat dilihat pada Gambar Grafik 4.8
0 0,5 1 1,5 2 2,5 Serviks normal Stadium 1 Stadium 2 Stadium 3 Stadium 4
Running time
Operator Canny Operator IsotropikGambar 4.8 Perbandingan hasil MSE operator Canny dengan Operator Isotropik
Gambar 4.9 Perbandingan hasil PSNR operator Canny dengan Operator Isotropik
Gambar 4.9 di atas menunjukkan grafik perbandingan PSNR. Dari hasil perbandingan tersebut dapat kita lihat yang memiliki nilai PSNR terkecil pada operator Canny dan yang lebih besar pada Operator Isotropik
0 2000 4000 6000 8000 10000 12000 14000 16000 Serviks
Normal Stadium 1 Stadium 2 Stadium 3 Stadium 4
Canny Isotropik 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 Serviks
Normal Stadium 1 Stadium 2 Stadium 3 Stadium 4
Canny Isotropik
4.4 Perhitungan Akurasi Citra
Tabel 4.5 berikut menunjukkan kesesuaian gambar pengujian dengan gambar acuan sistem.
Tabel 4.5. Tabel Akurasi Citra
No Nama Citra Kesesuaian
1 Citra 1 Sesuai
2 Citra 2 Sesuai
3 Citra 3 Sesuai
4 Citra 4 Sesuai
5 Citra 5 Tidak Sesuai
6 Citra 6 Sesuai
7 Citra 7 Sesuai
8 Citra 8 Sesuai
9 Citra 9 Tidak Sesuai
10 Citra 10 Sesuai
11 Citra 11 Tidak Sesuai
12 Citra 12 Sesuai
13 Citra 13 Sesuai
14 Citra 14 Sesuai
15 Citra 15 Sesuai
Dari hasil pengujian Kesesuaian Citra yang telah di lakukan maka perhitungan akurasi dapat diperoleh dari rumus persentase adalah :
Persentase Akurasi = Jumlah Citra yang Sesuai
Jumlah keseluruhan Citra uji x 100%
Persentase Akurasi = 12
15 x 100% = 80 %
BAB 5
KESIMPULAN DAN SARAN 5.1. Kesimpulan
Berdasarkan analisis, perancangan, dan pengujian dari penelitian, maka dapat diperoleh kesimpulan sebagai berikut :
1. Diagnosa tingkat stadium kanker pada citra hasil kolposkopi dapat terdeteksi dengan menggunakan operator deteksi tepi Canny dan Isotropik.
2. Hasil deteksi tepi dengan menggunakan operator Canny lebih baik dapat dilihat dari hasil tepi – tepi citra yang jelas sehingga lesi kanker dapat terlihat dengan jelas, sementara dengan menggunakan operator Isotropik tepian masih terlihat buram atau tidak jelas.
3. Hasil pengujian menunjukkan operator Canny melakukan proses deteksi tepi dengan cepat yaitu dengan nilai running time 0.3619206 ms, sementara nilai running time operator Isotropik 1.49136262 ms. Untuk nilai rata-rata MSE operator Isotropik yang lebih kecil yaitu 11579,62 dan Nilai rata-rata PSNR lebih besar yaitu 0,7556 dB. Sedangkan nilai rata-rata MSE operator Canny yaitu 13539.36 dan nilai rata-rata PSNR yaitu 0, 6829 dB.
4. Validasi sistem berdasarkan diagnosa dokter hanya tiga gambar yang tidak sesuai, sehingga persentasi akurasi sistem 80%.
5.2 Saran
Pada penelitian ini, terdapat beberapa saran yang dapat dipertimbangkan. Untuk pengembangan penelitian selanjutnya, penulis memberikan beberapa saran, yaitu sebagai berikut:
1. Sistem ini dapat dikembangkan dengan menambah format citra lainnya seperti *.bmp, *.jpg, dan *.jpeg
2. Dalam melakukan deteksi tepi untuk citra Kolposkopi sebaiknya menggunakan Gambar yang benar-benar jelas, sehingga tepi lesi yang terdeteksi akan lebih akurat.
3. Sistem ini hanya menggunakan pendeteksian tepi sebaiknya ditambahkan metode lain untuk memproses Citra Kolposkopi seperti Metode Active Contours Without Edge (ACWE).
4. Dapat mengembangkan sistem ke dalam basis lainnya, seperti basis mobile atau web sehingga tidak hanya berbasis desktop saja.