Dengan menggunakan Apache XML-RPC komunikasi antara klien dan server dapat beroperasi dalam mode streaming. Dengan menggunakan mode streaming
pemeliharaan sumber daya jauh lebih baik daripada mode standar yang berdasarkan pada besarnya array byte internal. Pembagian sumber daya bersama ketika lebih dari
satu klien berkomunikasi dengan server akan dilakukan secara paralel dengan menggunakan eksekusi multiple threads. Hal ini akan menyebabkan waktu proses
pengolahan citra medis akan lebih lama ketika pada saat bersamaan lebih satu klien yang berkomunikasi dengan server.
3.6 Pembuatan Aplikasi Standalone
Pembuatan aplikasi standalone dilakukan sebagai bagian dari penelitian untuk kebutuhan analisa perbandingan terhadap system berbasis jaringan yang
dikembangkan. Aplikasi ini dibangun dengan menggunakan bahasa pemrograman Java dan librari ITK. Aplikasi yang dibuat merupakan aplikasi segmentasi citra medis
dengan menggunakan metode Otsu. Aplikasi melakukan segmentasi terhadap citra medis dengan format DICOM dengan jumlah threshold tertentu sesuai dengan
parameter yang dikirim. Untuk dapat melakukan pembacaan citra medis dengan format DICOM
aplikasi meng-import paket itkImageFileReader dari librari ITK. Dari paket tersebut akan digunakan prosedur ImageFileReader untuk pembacaan citra medis dengan
format DICOM. Selanjutnya dilakukan proses segmentasi dengan menggunakan prosedur
OtsuMultipleThresholdsCalculator yang
di-import dari
paket
Universitas Sumatera Utara
itkOtsuMultipleThresholdsCalculator untuk melakukan segmentasi untuk berbagai masukan jumlah threshold yang diinginkan. Hasil dari proses segmentasi tersebut
berupa citra medis yang telah tersegmentasi berdasarkan jumlah threshold yang diberikan. Citra medis hasil segmentasi berupa citra yang telah dipadatkan dengan
format PNG.
3.7 Pembuatan Prototipe Sistem
Untuk menguji apakah sistem berbasis jaringan dapat melakukan pendistribusian hasil pengolahan citra medis maka dilakukan pembuatan prototipe
sistem. Prototipe dibuat berdasarkan pemodelan sistem yang telah dilakukan. Pembuatan prototipe
ini menggunakan bahasa pemrograman Java. Dalam perancangan prototipe digunakan diagram kelas untuk menggambarkan struktur statis
dan diagram activity digunakan untuk menggambarkan prilaku dinamis dari sistem. Karena pada sistem yang dibangun terdiri dari dua bagian aplikasi klien dan
aplikasi server, maka terdapat dua diagram kelas untuk menggambarkan struktur statis dari masing-masing bagian. Diagram kelas pada aplikasi klien terlihat pada
Gambar 3.3 sedangkan diagram kelas pada aplikasi server terlihat pada Gambar 3.4. Pada diagram kelas aplikasi klien terdapat tiga kelas berdasarkan diagram use case
yang telah dibuat sebelumnya. Selain itu, pada aplikasi klien ditambah satu kelas untuk proses XML-RPC client. Sedangkan pada diagram kelas server terdapat dua
kelas untuk proses segmentasi dengan metode segmentasi Otsu dan kelas untuk proses XML-RPC server.
Universitas Sumatera Utara
Gambar 3.3 Diagram Kelas Klien
+Segmentation : object -Image : byte
-LevelParamter : int
OtsuSegmentation
+Execute : object -Parameter : object
XML-RPC Server
Gambar 3.4 Diagram Kelas Server
Selanjutnya dilakukan pembuatan diagram activity untuk setiap proses penggunan fitur-fitur yang ada pada sistem. Diagram activity adalah teknik
menggambarkan logika prosedural, proses bisnis, dan jalur kerja. Dalam beberapa hal diagram activity memainkan peran mirip sebuah diagram alir. Perbedaan prinsip
antara diagram activity dan notasi diagram alir adalah diagram ini mendukung behavior paralel. Hal ini sesuai untuk menggambarkan proses pada sistem yang
berbasis jaringan.
Universitas Sumatera Utara
Diagram activity untuk proses segmentasi Otsu terdapat pada Gambar 3.5. Proses untuk segmentasi citra medis dengan metode segmentasi Otsu dimulai dengan
memilih citra medis dengan format DICOM dari komputer lokal pada aplikasi klien. Selanjutnya User mengirimkan citra medis berserta parameter yang diperlukan ke
server. Server akan melakukan proses segementasi pada citra medis yang dikirimkan aplikasi klien. Setelah proses segmentasi berhasil dilakukan, server akan
mengirimkan data hasil segmentasi tersebut ke aplikasi klien.
Gambar 3.5 Digram Activity Segmentasi Otsu
Universitas Sumatera Utara
Untuk diagram activity proses segmentasi multilevel tidak terlalu berbeda dengan diagram activity segmentasi Otsu. Hal ini karena proses yang terjadi pada
segmentasi multilevel hampir sama dengan segmentasi sebelumnya. Perbedaanya terdapat pada pemilihan citra medis yang akan disegmentasi. Pada multilevel
segmentasi, citra medis dipilih dari citra medis yang telah disegmentasi sebelumnya. Diagram activity untuk proses multilevel segmentasi terdapat pada Gambar 3.6
Pilih Citra M edis Pilih Paramater
Call XML-RPC Method XML-RPC Listener
Segmentasi
Return R esponse Parsing Data XML
Tampilkan Hasil
Klien Server
Segmentasi Otsu
Gambar 3.6 Diagram Activity Segmentasi Multilevel
Universitas Sumatera Utara
Diagram activity terakhir adalah proses penyimpanan hasil segmentasi. Diagram activity tersebut terdapat pada Gambar 3.7. Pada proses ini User akan
melakukan penyimpanan data seluruh proses segmentasi yang telah dilakukan. Data yang disimpan merupakan seluruh citra medis yang telah disegmentasi termasuk
hasil multilevel segmentasi. Selain itu juga tersimpan data text yang berisi keterangan proses segmentasi yang dilakukan dan data threshold pada tiap proses
segmentasi.
Gambar 3.7 Diagram Activity Simpan
Universitas Sumatera Utara
3.7.1 Pembuatan Aplikasi Server
Pembuatan aplikasi server dimulai dengan pembuatan prosedur untuk melakukan segmentasi. Metode segmentasi yang dilakukan adalah metode segmentasi
Otsu. Algoritma segmentasi Otsu menggunakan algoritma yang telah tersedia pada librari ITK. Prosedur segmentasi akan menerima empat parameter yang dilewatkan,
yaitu citra medis, nama file hasil segmentasi, jumlah iterasi segmentasi dan tipe file hasil segmentasi. Prosedur segmentasi ini akan mengembalikan citra medis dan nilai
threshold hasil segmentasi yang dipaketkan dalam variabel objek Vector pada bahasa pemrograman Java.
Selanjutnya dilakukan pembuatan prosedur XML-RPC Listener yang akan menerima request dari aplikasi klien. Prosedur ini akan meng-import paket
org.apache.xmlrpc.XmlRpcServer untuk menggunakan objek WebServer. Objek ini akan mendefinisikan aplikasi sebagai server ketika dipanggil dengan melewatkan
parameter berupa nomor port tipe data int yang akan digunakan. Selanjutnya objek WebServer akan memanggil method addHandler untuk mendefinisikan nama objek
server XML-RPC. Untuk mulai menjalankan server objek WebServer akan memanggil method start;
XML-RPC Listener menerima paket data XML dari klien yang berisi method yang akan dipanggil beserta paramater yang dilewatkan. XML-RPC Listener akan
mem-parsing parameter-parameter yang ada dan mendefinisikan tipe data pada paket XML menjadi tipe data pada bahasa pemrograman Java.
Universitas Sumatera Utara
3.7.2 Pembuatan Aplikasi Klien
Aplikasi klien dibuat dengan menggunakan Java Applet. Hal ini dilakukan agar aplikasi dapat berjalan pada sebuah browser sehingga tidak memerlukan
instalasi dan dapat berjalan pada lintas platform. Pembuatan aplikasi klien terdiri dari pembuatan grafis antarmuka serta pembuatan prosedur pemanggilan method web
services pada server. Pembuatan grafis antar muka dilakukan dengan meng-import paket
javax.swing pada bahasa pemrograman Java. Komponen grafis antar muka terdiri dari filechooser, radio button, text area, label, dan button. Filechooser digunakan untuk
mencari file citra medis yang akan disegmentasi pada komputer lokal. Pada grafis antar muka terdapat tiga radio button untuk menentukan parameter nilai dari iterasi
segmentasi. Text area digunakan untuk menampilkan nilai threshold dari segmentasi yang dilakukan. Selanjutnya terdapat dua komponen button digunakan untuk
melakukan aksi proses pemanggilan method segmentasi pada server dan melakukan penyimpanan hasil proses segmentasi. Sedangkan komponen label digunakan untuk
menampilkan citra yang disegmentasi. Komponen label juga diberikan aksi untuk memilih citra hasil segmentasi untuk dilakukan segmentasi lagi pada proses
segmentasi multilevel. Prosedur pemanggilan method segmentasi dilakukan dengan meng-import
paket org.apache.xmlrpc.XmlRpcClient. Dari paket tersebut digunakan objek XmlRpcClient dengan melewatkan parameter URL dari server pada konstruktor objek
tersebut. Pada prosedur ini juga digunakan objek Vector untuk memuat seluruh
Universitas Sumatera Utara
variabel yang akan dijadikan parameter. Selanjutnya objek XmlRpcClient akan memanggil method execute dengan melewatkan parameter yang terdiri method yang
akan dipanggil dan objek Vector yang menyimpan parameter yang akan dilewatkan pada objek tersebut. Parameter yang dikirim oleh klien akan dibungkus menjadi data
XML. Setelah server mengembalikan nilai response maka aplikasi pada klien akan
mem-parsing data XML yang diterima. Data XML yang diterima akan dikonversi menjadi tipe data yang ada pada bahasa pemrograman Java. Dalam aplikasi ini nilai
yang diterima berupa data citra dengan tipe data byte[] dan nilai threshold. Tipe data citra tersebut akan dikonversi menjadi tipe data Image agar bisa ditampilkan dan
disimpan pada komputer lokal.
3.8 Instrumen Penelitian