Implementasi Deteksi Tepi Canny Dan Isotropik Dengan Transformasi Power Law Studi Kasus Kanker Mulut Rahim (Serviks) Chapter III V

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).

Universitas Sumatera Utara

Pada gambar 3.1 merupakan gambaran masalah secara umum dari penelitian
dengan menggunakan diagram Ishikawa (fishbone/cause and effect diagram).

Material

Pengguna
Pengguna ingin
mendapatkan hasil deteksi

kanker serviks dengan cepat
Besarnya biaya untuk
melakukan deteksi kanker
serviks
Belum ada metode
algoritma canny
dan isotropic
dengan
transformasi power
law untuk

Citra berwarna *png
hasil dari kolposkopi

Membuat aplikasi
deteksi kanker
serviks

Belum ada aplikasi
pendeteksi kanker serviks

yang memberikan solusi
Masih sedikit aplikasi yang
dapat mendeteksi hasil
kolposkopi dengan akurat

Metode

Mesin

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 tulangtulang yang mengarah ke 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 :

Universitas Sumatera Utara

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.


Universitas Sumatera Utara

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.

Universitas Sumatera Utara

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

Input citra
kolposkopi

transformasi

power law

Deteksi tepi Isotropik

hitung running time, MSE,PSNR
Hitung Euclidean
& simpan gambar
distance

user memilih
metode deteksi tepi

tampilan running time, nilai MSE,
PSNR hasil deteksi tepi, diagnosa,
dan pengobatan

hitung running time, MSE,PSNR
& simpan gambar

Hitung Euclidean

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

Universitas Sumatera Utara


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

Universitas Sumatera Utara

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
Skenario use case dapat dilihat pada table 3.2 di bawah ini.

Universitas Sumatera Utara

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

Alternate Flow

-

Universitas Sumatera Utara

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
Skenario use case dapat dilihat pada table 3.6 di bawah ini.

Universitas Sumatera Utara

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

Alternate Flow

-

Universitas Sumatera Utara

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.
4. Pengguna memilih gambar yang ingin dipilih.

Universitas Sumatera Utara

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.

Universitas Sumatera Utara

Menghitung Running
time, Mse dan Psnr

Gambar 3.4. Activity Diagram form deteksi tepi

Gambar 3.5. Activity Diagram form deteksi kanker

Universitas Sumatera Utara

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.

Gambar 3.6. Sequence Diagram sistem

Universitas Sumatera Utara

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