Pembuatan Aplikasi Standalone Pembuatan Prototipe Sistem

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