Anda di halaman 1dari 125

i

DETEKSI OSTEOPOROSIS DENGAN TRESHOLDING


METODE OTSU PADA CITRA X-RAY TULANG RAHANG
SKRIPSI
Oleh :
SRI CAHYANINGSIH
NIM : 04540003
JURUSAN FISIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI
MAULANA MALIK IBRAHIM MALANG
2010
ii
DETEKSI OSTEOPOROSIS DENGAN TRESHOLDING
METODE OTSU PADA CITRA X-RAY TULANG RAHANG
SKRIPSI
Diajukan Kepada :
Universitas Islam Negeri Malang
Untuk Memenuhi Salah Satu Persyaratan Dalam
Memperoleh Gelar Sarjana Sains (S.Si)
Oleh :
SRI CAHYANINGSIH
NIM : 04540003
JURUSAN FISIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI
MAULANA MALIK IBRAHIM MALANG
2010
iii
DETEKSI OSTEOPOROSIS DENGAN TRESHOLDING
METODE OTSU PADA CITRA X-RAY TULANG RAHANG
SKRIPSI
Oleh :
SRI CAHYANINGSIH
NIM : 04540003
Telah Disetujui Oleh :
Pembimbing I
DR. Agus Mulyono, S.Pd, M. Kes
NIP. 19750808 199903 1 003
Pembimbing II
DR.Munirul Abidin, M. Ag
NIP. 19720420 200212 1 003
Malang, 28 April 2010
Mengetahui
Ketua Jurusan Fisika
Fakultas Sains Dan Teknologi Universitas Islam Negeri (UIN)
Maulana Malik Ibrahim Malang
Drs. M. Tirono, M.Si
NIP. 19641211 199111 1 001
iv
HALAMAN PENGESAHAN
DETEKSI OSTEOPOROSIS DENGAN TRESHOLDING METODE OTSU
PADA CITRA X-RAY TULANG RAHANG
SKRIPSI
Oleh :
Sri Cahyaningsih
NIM : 04540003
Telah Dipertahankan di Depan Dewan Penguji Skripsi dan
Dinyatakan Diterima Sebagai Salah Satu Persyaratan
Untuk Memperoleh Gelar Sarjana Sains (S.Si)
Malang, 28 April 2010
Susunan dewan Penguji: Tanda Tangan
1. Penguji Utama : Imam Tazi, M.Si (....................)
2. Ketua Penguji : Farid Samsu H, S.Si (....................)
3. Sekr. Penguji : DR. Agus Mulyono, M. Kes (....................)
4. Anggota Penguji : DR.Munirul Abidin, M. Ag (....................)
Mengetahui dan Mengesahkan
Ketua Jurusan Fisika
Fakultas Sains Dan Teknologi Universitas Islam Negeri (UIN)
Maulana Malik Ibrahim Malang
Drs. M. Tirono, M. Si
NIP. 19641211 199111 1 001
v
PERSEMBAHAN
Alhamdulillah, atas iringan doa dan dukungannya sehingga karya kecil ini dapat
terselesaikan. Izinkan disini Aning persembahkan karya kecil ini untuk:
Kedua orang tua tercnta; Ayahanda Teguh dan Ibunda Rusmi
yang selalu ada dan berjuang dalam memberikan motivasi untukku
Serta buat Mbak Hida, Mas Tio, Adek_q Rahma, Kedua Keponakanku (Tsabita n Tsania)
Serta seluruh keluarga yang selalu memberi warna dalam hidupku
Seluruh Dosen Fisika yang dengan tulus telah menyalurkan ilmunya kepadaku selama study
dan penyusunan skripsi ini
Teruntuk Someone yang menyayangiku, seseorang yang setia menemaniku dalam mencari
arti kehidupan serta tanpa lelah selalu memotivasiku selama ini
Teman2 seperjuangan Fisika (Komputasi and Instrumenstasi) 2004
serta seluruh komunitas Fisika UIN MALIKI Malang
Matur suwun atas semua pengalaman yang diberikan selama ini,
Yuk, Fisika lebih diramaikan lagi dengan segala kreatifitas yang ada. Oyieee..
Teman2 kost Kertopamuji 1A thanks for u All
Untuk semuanya, untuk semangat n ketawanya yang menghibur di hari-hari penuh
perjuangan n cobaan dalam penyelesaian skripsi ini
Dan semua pihak baik yang telah membantu serta mendukung
dalam penyelesaian skripsi ini
Thanks Very Much
vi
MOTTO
_. _., < _-> . l>>:
Barangsiapa bertakwa kepada Allah niscaya Dia akan mengadakan
baginya jalan keluar (QS Ath-Thalaaq : 2)
Dengan usaha yang keras saya pasti bisa melakukan itu
Kesempatan tidak akan datang untuk yang kedua kali
Jikalau gagal saya akan mendapatkan pengalaman berharga
vii
KATA PENGANTAR
Puji syukur Alhamdulillah penulis haturkan kepada Allah SWT atas
limpahan rahmat, taufik serta hidayah-Nya sehingga skripsi ini dapat
terselesaikandengan judul:DETEKSI OSTEOPOROSIS DENGAN
TRESHOLDING METODE OTSU PADA CITRA X-RAY TULANG
RAHANG , sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains
(S.Si).
Shalawat serta salam semoga tetap terlimpahkan kehariban junjungan kita
Nabi Muhammad SAW, yang telah membawa petunjuk kebenaran seluruh umat
Islam yaitu Ad-Din Al-Islam yang kita harapkan syafaatnya di dunia dan akherat.
Penulis menyadari bahwa baik dalam perjalanan study maupun dalam
penyelesaian skripsi ini banyak memperoleh bimbingan dan motivasi dari
berbagai pihak. Oleh karena itu, pada kesempatan ini penulis menyampaikan rasa
syukur dan terima kasih yang sebesar-besarnya kepada:
1. Prof. Dr. Imam Suprayogo, selaku rektor Universitas Islam Negeri (UIN)
Maulana Malik Ibrahim Malang.
2. Prof. Dr. Sutiman Bambang,S.U.,D.Sc, selaku Dekan Fakultas Sains dan
Teknologi Universitas Islam Negeri (UIN) Maulana Malik Ibrahim
Malang.
3. Drs. M. Tirono, M.Si, selaku Ketua Jurusan Fisika Universitas Islam
Negeri (UIN) Maulana Malik Ibrahim Malang.
4. DR. Agus Mulyono,S.Pd,M.Kes, selaku dosen pembimbing yang memberi
masukan, saran serta bimbingan dalam proses menyelesaikan skripsi ini.
viii
5. DR. Munirul Abidin,M.Ag, selaku dosen pembimbing Integrasi Sains dan
Islam Universitas Islam Negeri (UIN) Maulana Malik Ibrahim Malang,
yang telah memberikan bimbingan agama dan mengarahkan penulisan
skripsi ini.
6. Seluruh dosen Fisika yang telah banyak memberikan ilmunya dan motivasi
yang berhubungan dengan penulisan skripsi ini.
7. Bapak, Ibu serta seluruh keluarga yang selalu membimbing, mendidik,
mengarahkan dan mendoakan sampai detik-detik penulisan skripsi ini.
8. Teman-teman Fisika 2004 dan semua pihak yang tidak dapat disebutkan
satu persatu yang telah menjadi motivator demi selesainya penyusunan
skripsi ini.
Tiada kata yang dapat penulis haturkan kecuali Jazaakumullah Ahsanal
Jazaa semoga semua amal baiknya diterima Allah SWT.
Penulis sadar bahwa tidak ada sesuatu pun yang sempurna kecuali Allah
SWT. Oleh karena itu, dengan senang hati penulis menerima kritik dan saran yang
bersifat membangun. Semoga skripsi ini dapat menambah khasanah ilmu
pengetahuan dan bermanfaat bagi semua pihak.
Amin Ya Rabbal Alamin
Malang, April 2010
Penulis
ix
DAFTAR ISI
HALAMAN JUDUL...................................................................................... i
HALAMAN PERSETUJUAN ..................................................................... iii
HALAMAN PENGESAHAN....................................................................... iv
HALAMAN PERSEMBAHAN .................................................................... v
MOTTO......................................................................................................... vi
KATA PENGANTAR................................................................................... vii
DAFTAR ISI.................................................................................................. ix
DAFTAR TABEL ......................................................................................... xi
DAFTAR GAMBAR..................................................................................... xii
DAFTAR LAMPIRAN................................................................................. xii
ABSTRAK.................................................................................................... xiv
ABSTRAC...................................................................................................... xv
BAB I : PENDAHULUAN .......................................................................... 1
1.1 Latar Belakang ................................................................................. 1
1.2 Rumusan Masalah............................................................................. 7
1.3 Tujuan Penelitian.............................................................................. 8
1.4 Manfaat Penelitian................................................................ ............ 8
BAB II : KAJIAN PUSTAKA...................................................................... 9
2.1 Tulang ............................................................................................. 9
2.2 Osteoporosis .................................................................................... 11
2.3 Sinar-X............................................................................................. 17
2.4 Pengolahan Citra.............................................................................. 18
2.4.1 Citra ........................................................................................... 19
2.4.2 Segmentasi Citra........................................................................ 20
2.4.2.1 Histogram Citra ................................................................... 21
2.4.2.2 Ekualisasi Citra.................................................................... 23
2.4.2.3 Tresholding.......................................................................... 24
x
2.5 Metode Otsu..................................................................................... 30
BAB III : METODE PENELITIAN............................................................. 34
3.1 Tempat dan Waktu Penelitian........................................................... 34
3.2 Bahan dan Alat ................................................................................. 34
3.3 Sampel Penelitian ............................................................................. 34
3.4 Tahapan Implementasi...................................................................... 35
3.4.1 Skema Kerja .............................................................................. 35
3.4.2 Perancangan Perangkat Lunak................................................... 36
BAB IV : HASIL DAN PEMBAHASAN..................................................... 44
4.1 Hasil Penelitian................................................................................. 44
4.1.1 Citra X-Ray Tulang Rahang ..................................................... 44
4.1.2 Analisis Ekualisasi .................................................................... 45
4.1.3 Analisis Proses Otsu ................................................................. 48
4.1.4 Analisis Thresholding............................................................... 51
4.1.5 Tahapan Implementasi .............................................................. 53
4.2 Pembahasan Hasil Penelitian............................................................ 60
BAB V : PENUTUP ....................................................................................... 72
5.1 Kesimpulan....................................................................................... 72
5.2 Saran ................................................................................................. 72
DAFTAR PUSTAKA
LAMPIRAN
xi
DAFTAR TABEL
Tabel 4.1 Citra hasil ekualisasi ....................................................................... 46
Tabel 4.2 Citra hasil Otsu................................................................................ 50
Tabel 4.3 Hasil Thresholding.......................................................................... 53
Tabel 4.4 Prosentase Piksel Putih dan klasifikasi Osteoporosis Dengan
Thresholding Metode Otsu Dan Hasil DXA.................................. 59
Tabel 4.5 Jumlah piksel warna putih dan hitam prosentase warna putih dari
setiap citra....................................................................................... 65
Tabel 4.6 Klasifikasi prosentase warna putih dari setiap citra........................ 67
xii
DAFTAR GAMBAR
Gambar 2.1 Struktur tulang............................................................................. 11
Gambar 2.2 Tulang normal dan osteoporosis ................................................. 14
Gambar 2.3 Contoh skala yang digunakan pada grayscale ............................ 19
Gambar 2.4 Citra x-ray dental panoramic radiography .................................. 20
Gambar 2.5 Histogram citra............................................................................ 21
Gambar 2.6 Image original dan hasil thresholding......................................... 27
Gambar 2.7 Contoh pengambilan nilai thresholding dengan metode Otsu .... 34
Gambar 2.8 Contoh hasil thresholding dengan metode Otsu pada tulang
Rahang......................................................................................... 34
Gambar 3.1 Blok diagram sistem pengenalan................................................. 36
Gambar 3.2 Proses ekualisasi.......................................................................... 38
Gambar 3.3 Proses Otsu.................................................................................. 40
Gambar 3.4 Proses Thresholding.................................................................... 42
Gambar 4.1 Citra x-ray tulang rahang............................................................. 44
Gambar 4.1 Objek citra yang akan digunakan untuk analisa dengan thresholding
dengan metode Otsu pada tulang.................................................. 45
Gambar 4.3 Splash Screen ............................................................................... 53
Gambar 4.4 Form utama aplikasi .................................................................... 54
Gambar 4.5 Memilih image tulang ................................................................. 57
Gambar 4.6 Pengujian tulang.......................................................................... 58
Gambar 4.7 Form setup aplikasi ..................................................................... 58
xiii
DAFTAR LAMPIRAN
Lampiran 1 Splash Screen ........................................................................... 76
Lampiran 2 Form Utama Aplikasi ............................................................... 76
Lampiran 3 Memilih Image Tulang............................................................. 77
Lampiran 4 Pengujian Tulang...................................................................... 77
Lampiran 5 Form Setup Aplikasi................................................................. 78
Lampiran 6 Data Citra Tulang Rahang........................................................ 78
Lampiran 7 Data Citra Tulang Jari Rahang Asli dan Citra Hasil DXA,
Ekualisasi serta Otsu ................................................................ 80
Lampiran 8 Jumlah Piksel Warna Putih Dan Hitam Prosentase Warna Putih
dari Citra Tulang Rahang......................................................... 81
Lampiran 9 Klasifikasi prosentase warna putih dari setiap citra ................. 82
Lampiran 10 Listing ekualisasi ...................................................................... 83
Lampiran 11 Listing proses otsu.................................................................... 83
Lampiran 12 Listing thresholding ................................................................ 84
Lampiran 13 Listing setup............................................................................ 85
Lampiran 14 Listing Program keseluruhan.................................................. 85
xiv
ABSTRAK
Cahyaningsih, Sri. 2010. Deteksi Osteoporosis Dengan Thresholding Metode
Otsu Pada Citra X-Ray Tulang Rahang. Skripsi. Jurusan
Fisika, Fakultas Sains dan Teknologi. Universitas Islam Negeri
(UIN) Maulana Malik Ibrahim Malang.
Pembimbing : 1. DR. Agus Mulyono, S.Pd, M.Kes
2. DR. Munirul Abidin, M. Ag
Kata Kunci: Osteoporosis, Thresholding, Metode Otsu
Osteoporosis atau keropos tulang adalah penyakit silent epidemic, yang
berarti pengeroposan tulang yang berlangsung secara diam-diam dan terus
menerus. Untuk melakukan diagnosa dini terhadap osteoporosis tidak mudah,
karena tidak ada gejala yang khas. Gold standar untuk diagnosis osteoporosis di
Indonesia dengan menggunakan Dual X-ray Absorptiometry (DXA), tetapi alat ini
masih terbatas. Pemeriksaan radiologi konvensional (morfometri) merupakan
salah satu sarana diagnostik osteoporosis yang relatif murah dan tersebar merata
di Indonesia. Akan tetapi, untuk membacanya hanya bisa dilakukan oleh dokter
ahli tulang dan ketajaman mata sangat berpengaruh terhadap hasil yang
didapatkan. Sehingga perlu dilakukan computer vision untuk membaca foto
rontgen agar hasil yang didapatkan lebih akurat.
Tujuan yang ingin dicapai dalam skripsi ini adalah untuk menghasilkan
metode baru untuk deteksi osteoporosis dengan memanfaatkan citra x-ray tulang
rahang dengan analisa thresholding metode Otsu dan dari metode tersebut dapat
diketahui tingkat akurasi kebenaran yang diperoleh, sehingga dapat dipergunakan
sebagai acuan layak tidaknya metode ini digunakan sebagai metode untuk
mendeteksi osteoporosis.
Penelitian ini menggunakan 19 citra x-ray tulang rahang dari 19 orang
wanita menopause. Data yang diperoleh kemudian dianalisis dengan metode
thresholding metode otsu dan hasilnya dibandingkan dengan hasil DXA.
Teknik yang dilakukan dalam penelitian ini meliputi ekualisasi, otsu dan
thresholding. Dalam proses ekualisasi citra akan ditajamkan antara bagian yang
hitam dan putih, sedangkan proses otsu bertujuan untuk mencari nilai threshold
yang tepat. Dan thresholding akan mengekskusi citra dimana citra berdasarkan
nilai ambangnya. Pada analisis DXA dari 19 citra x-ray tulang rahang diperoleh
hasil 8 tulang normal dan 13 tulang osteoporosis. Sedangkan dari pengujian
dengan mengunakan thresholding metode otsu, maka pada 19 citra x-ray,
mendapatkan hasil 6 tulang normal dan 13 tulang osteoporosis serta akurasi
kebenaran diperoleh 89,47%.
xv
ABSTRACT
Cahyaningsih, Sri. 2010. Detection of Osteoporosis With Otsu Thresholding
Method in X-ray image of jaw bones. Thesis. Department of
Physics, Faculty of Science and Technology. State Islamic
University (UIN) Malang Maulana Malik Ibrahim.
Advisors: 1. DR. Agus Mulyono, S. Pd, M. Kes
2. DR. Munirul Abidin, M. Ag
Keywords: Osteoporosis, Thresholding, Otsu Method
Osteoporosis or brittle bone disease is a silent epidemic, which means
bone loss that took place quietly and persistently. To make early diagnosis of
osteoporosis is not easy, because there are no typical symptoms. Gold standard for
diagnosis of osteoporosis in Indonesia by using Dual X-ray Absorptiometry
(DXA), but the tool is still limited. Conventional radiological examination
(morphometry) is one diagnostic tool for osteoporosis is relatively cheap and
spread evenly in Indonesia. However, to read it can only be done by doctors and
chiropractors sharpness of the eyes is very influential on the results obtained. So
that needs to be done on computer vision for reading x-rays to get more accurate
results.
Objectives to be achieved in this paper is to generate new methods for
detection of osteoporosis by using x-ray image of the jawbone with the analysis of
Otsu thresholding method and the method can know the truth level of accuracy
obtained, so it can be used as a reference for the proper of this method is used as a
method for detecting osteoporosis.
This study uses 19 X-ray image of the jaw bone of 19 postmenopausal
women. The data obtained were then analyzed by thresholding method, Otsu
method and the results were compared with results of DXA.
The technique applied in this research include equalization, and Otsu
thresholding. In the equalization process of the image will be sharpened between
the black and white, while Otsu process aims to find an appropriate threshold
value. And thresholding will mengekskusi image where the image based on
threshold values. In the DXA analysis of 19 x-ray image of the jaw bone to
normal bone obtained 8 and 13 bones of osteoporosis. While the tests using the
Otsu thresholding method, then at 19 x-ray image, get the 6 and 13 normal bone
osteoporosis bones truth and accuracy of 89.47% was obtained.
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Tubuh manusia terdiri dari susunan tulang, dimana tulang adalah organ
yang sudah terbentuk sejak masih dalam kandungan yang kemudian berkembang
terus-menerus sampai dekade kedua sehingga menjadi susunan yang teratur.
Fungsi dari organ ini sebagai organ yang mendukung struktur tubuh, melindungi
organ-organ internal serta memungkinkan pergerakan atau perpindahan yang
dikarenakan sebagai tempat melekatnya otot-otot.
Allah swt telah menceritakan proses penciptaan manusia di dalam Al-
Quran secara rinci. Allah berfirman dalam surat Al-Muminun;
.1l !.1l> _.. _. .l. _. _,L _ . ..l-> L. _ _,>. _ .
!.1l> L.l 1l. !.1l> 1l-l -.`. !.1l> -..l !..Ls !..>
.L-l !.>' . ..!: !1l> >, !,. < _.> _,1l.>' _
Artinya:Dan sesungguhnya Kami telah menciptakan manusia dari suatu saripati
(berasal) dari tanah. Kemudian Kami jadikan saripati itu air mani (yang
disimpan) dalam tempat yang kokoh (rahim). Kemudian air mani itu Kami
jadikan segumpal darah, lalu segumpal darah itu Kami jadikan segumpal
daging, dan segumpal daging itu Kami jadikan tulang belulang, lalu tulang
belulang itu Kami bungkus dengan daging. Kemudian Kami jadikan dia
makhluk yang (berbentuk) lain. Maka Maha Suci lah Allah, Pencipta Yang
Paling Baik. (Al-Mukminun : 12-14)
2
Dari ayat tersebut dapat dijelaskan bahwa janin mengalami pertumbuhan dan
perkembangan yang sangat cepat dan selain itu juga berlangsung serangkaian
proses pembentukan organ untuk menjadi bentuk yang lebih sempurna. Dalam
tahapan perkembangan janin dalam rahim ibu yang bermula dari jaringan tulang
rawan ketika masih pada embrio, kemudian jaringan tulang tersebut mulai
mengeras dan akhirnya menjadi tulang keras. Selanjutnya tulang-tulang ini
dibungkus oleh sel-sel otot. Allah swt menjelaskan perkembangan ini dalam ayat:
"dan segumpal daging itu Kami jadikan tulang belulang, lalu tulang belulang itu
Kami bungkus dengan daging". Maha benar Allah swt yang telah menurunkan Al-
Quran dengan ilmunya.
Prof. Dr. Hanifah Wijosastro, SPOG menjelaskan bahwa para dokter ilmu
kandungan menemukan dasar diciptakannya manusia yang bersumber dari tulang
sulbi, yaitu tulang belakang laki-laki dan tulang dada perempuan, yaitu tulang
rusuk perempuan. Penemuan ini selaras dengan firman Allah dalam surat Ath-
Thariq :
L.,l _... . _l> _ _l> _. ,!. _: _ _`> _. _,, l.l
.l _
Artinya:Maka hendaklah manusia memperhatikan dari apakah dia diciptakan? Dia
diciptakan dari air yang dipancarkan, yang keluar dari antara tulang sulbi laki-
laki dan tulang dada perempuan ( Ath-Thariq: 5-7)
Melalui konsep embriologi yang tersurat di dalam Al-Quran dapat
dipelajari bahwa Allah swt menciptakan manusia melalui beberapa proses untuk
memperoleh bentuk yang sempurna. Dan para dokter kandungan membuktikan
3
bahwa semua yang disebutkan di dalam Al-Quran dan hadits-hadits Rasululullah
saw tentang proses penciptaan manusia adalah sesuai dengan yang ditemukan
pada ilmu modern.
Dengan bertambahnya usia dan dipengaruhi hormon maka tulang akan
mengalami perkembangan. Tetapi jika produksi hormon menurun dan disertai
dengan kemunduran fungsi pencernaan, gaya hidup yang tidak sehat, kurangnya
asupan kalsium dan fosfor, serta berkurangnya aktivitas fisik maka akan
berpengaruh terkena osteoporosis. Osteoporosis atau keropos tulang merupakan
penyakit kronik yang ditandai dengan rendahnya massa tulang yang disertai
perubahan mikro arsitektur tulang dan penurunan kualitas jaringan tulang yang
dapat menimbulkan kerapuhan tulang, sehingga tulang mudah retak atau bahkan
patah tulang. Patah tulang sering terjadi adalah pada pergelangan tangan, tulang
belakang, serta tulang pinggul (Zaviera, 2007).
Untuk melakukan diagnosa dini terhadap osteoporosis tidak mudah, karena
tidak ada gejala yang khas. Kebanyakan pasien tidak menyadari bahwa menderita
penyakit ini. Mereka baru menyadari ketika tulang sudah sedemikian lemah dan
rapuh, sehingga apabila terjadi persinggungan atau kecelakaan (terjatuh) dapat
menyebabkan patah tulang. Dengan gejala yang tidak diketahui itu, tidak
berlebihan jika penyakit ini disebut silent disease (penyakit diam-diam).
Saat ini osteoporosis merupakan masalah kesehatan dunia (global issue),
karena tidak hanya menyerang kelompok wanita yang berusia lanjut tetapi juga
pada kelompok wanita yang berusia lebih muda yang mengalami penghentian
siklus menstruasi. Hasil penelitian terakhir menunjukkan kecenderungan
4
prevalensi (keadaan umum) pada pria meningkat dibandingkan penelitian
sebelumnya. Prevalensi tertinggi dari kelompok yang terkena osteoporosis
terdapat pada kelompok usia lanjut. Dengan meningkatnya taraf hidup
masyarakat, akan berpengaruh terhadap meningkatnya usia harapan hidup
sehingga populasi lansia akan meningkat. Dampak yang akan ditimbulkan adalah
akan terjadi peningkatan kasus osteoporosis. Sekitar 80% penderita penyakit
osteoporosis adalah wanita, termasuk wanita muda yang mengalami penghentian
siklus menstruasi (amenorrhea). Sedangkan yang 20% penyakit osteoporosis pada
pria yang juga dipengaruhi hormon estrogen. Bedanya dengan wanita, laki-laki
tidak mengalami menopause, sehingga osteoporosis datang lebih lambat.
Dengan tidak diketahuinya tanda-tanda osteoporosis, maka penting untuk
dilakukan deteksi dini akan kehilangan massa tulang yang merupakan kunci
dalam usaha pencegahan osteoporosis. Pengukuran bone mineral density (BMD)
adalah cara yang efektif dalam diagnosis dan juga untuk memantau efek
pengobatan. Beberapa teknik radiologi yang dapat digunakan untuk menentukan
bone mineral density antara lain X-Ray konvensional (morfometri), Radioisotop,
Quantitative Computed Tomography (QCT ), Dual X-ray Absorptiometry (DXA),
total body neutron activation analysis, Magnetic Resonansi Imaging (MRI),
Sonodensitometri.
Saat ini di Indonesia DXA digunakan sebagai gold standar untuk diagnosa
osteoporosis, akan tetapi jumlahnya masih terbatas hanya terdapat di beberapa
kota besar dan juga biaya pemeriksaannya relatif mahal. Oleh karena itu
pemeriksaan radiologi konvensional masih mempunyai peranan penting dalam
5
diagnosa osteoporosis dan merupakan sarana/alat yang relatif tersebar merata di
seluruh Indonesia dan biaya yang relatif murah (Ilyas, 2005).
Ada beberapa penelitian yang telah dilakukan dengan memanfaatkan citra
x-ray hasil pemeriksaan radiologi untuk diagnosa dini osteoporosis. Penelitian
yang telah dilakukan oleh Arifin (2006) menyebutkan bahwa dengan mengukur
ketebalan mandibular cortex citra dental panoramic radiograph dengan bantuan
komputer dapat digunakan untuk mendeteksi osteoporosis. Kemudian dilanjutkan
dengan penelitian Agus (2008) yang menyebutkan bahwa dengan analisis tekstur
dari gabungan citra x-ray tulang tangan, tulang lutut, dan tulang rahang dapat
digunakan untuk melengkapi interpretasi hasil x-ray konvensional sehingga dapat
digunakan untuk mendeteksi osteoporosis.
Hasil pemeriksanaan radiologi yang berupa foto citra x-ray dapat dianalisa
dengan menggunakan beberapa metode/pendekatan, antara lain dengan karakter
dari graph (Zainal, 2009), metode wavelet (Bulkis, 2008), metode region growing
(Sikna, 2009), metode otsu (Bertalya, 2008), pendekatan thresholding (Marvin,
2009), dan lain lain.
Penggunaan analisis dengan memanfaatkan thresholding metode Otsu dari
citra x-ray telah dilakukan Darma (2004) yang menyebutkan bahwa metode Otsu
dapat digunakan dalam binerisasi citra tangan. Kemudian Marvin dan Semuiil
(2009) juga menyebutkan bahwa nilai threshold pada segmentasi warna dapat
digunakan untuk mendeteksi kanker Trofoblas dengan tingkat akurasi sebesar
90%. Penelitian lainnya juga dilakukan Dewi yang menyebutkan bahwa dengan
pengambangan untuk meminimalisasikan varian dari piksel hitam dan putih
6
mengenai perbandingan kinerja metode deteksi tepi pada citra wajah yang dapat
memanfaatkan metode Otsu.
Analisis dengan memanfaatkan thresholding merupakan salah satu cara
untuk mengenali suatu citra sesuai dengan nilai ambangnya. Dalam analisisnya,
dengan memanfaatkan metode Otsu untuk menentukan nilai ambang dari suatu
citra. Metode Otsu merupakan sebuah metode untuk menghitung nilai ambang T
secara otomatis berdasarkan citra masukan. Pendekatan yang digunakan dalam
metode Otsu adalah dengan melakukan analisis diskriminan yaitu menentukan
suatu variabel yang dapat membedakan antara dua atau lebih kelompok yang
muncul secara alami.
Dalam prosesnya, metode Otsu akan menghasilkan citra yang memiliki
dua nilai tingkat keabuan yaitu hitam dan putih. Permasalahan utama dalam
metode Otsu adalah menentukan nilai ambang (threshold). Nilai ini akan
digunakan untuk mempartisi/membagi citra gray scale ke dalam dua nilai yaitu
hitam dan putih. Penentuan nilai ambang akan ditetapkan pada suatu nilai tertentu
(fixed threshold) yang diterapkan pada citra tulang rahang sehingga dapat
digunakan untuk proses penentuan ciri-ciri osteoporosis pada citra tulang rahang.
Dalam penelitian ini akan menghitung intensitas keabuan piksel yang berdasarkan
dari nilai piksel hitam dan putih.
Kelebihan dari metode Otsu akan memaksimalkan kecocokan dari sebuah
threshold sehingga dapat memisahkan objek dengan latar belakangnya. Semua ini
didapatkan dengan memilih nilai threshold yang memberikan pembagian kelas
yang terbaik untuk semua piksel yang ada dalam image. Dasar yang digunakan
7
adalah dengan menggunakan histogram yang telah dinormalisasi dimana jumlah
tiap poin pada setiap level dibagi dengan jumlah total poin pada image.
Hasil yang nanti akan didapatkan dari proses implementasi adalah
sekumpulan wilayah yang melingkupi citra tersebut, atau sekumpulan kontur yang
diekstrak dari image dan diharapkan akan mendapatkan suatu ciri citra dari tulang
yang kaitannya dengan tulang osteoporosis dan tulang normal. Serta diharapkan
dari hasil penelitian ini akan menghasilkan suatu metode baru untuk deteksi
osteoporosis yang lebih murah, mudah dan tepat sehingga menambah khasanah
keilmuan.
Berdasarkan analisa latar belakang, penulis akan mengimplementasikan
computer vision untuk mendeteksi osteoporosis dari citra tulang rahang dengan
menggunakan metode Otsu.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang diuraikan di atas, maka dirumuskan
masalah sebagai berikut :
1. Apakah analisa dengan thresholding metode Otsu dapat digunakan untuk
mendeteksi osteoporosis pada x-ray tulang rahang?
2. Berapakah akurasi kebenaran yang diperoleh dengan membandingkan
hasil DXA dan thresholding metode Otsu?
8
1.3 Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah :
1. Menghasilkan metode baru untuk deteksi osteoporosis dengan
memanfaatkan citra tulang rahang dengan analisa thresholding metode
Otsu.
2. Dengan mengetahui tingkat akurasi kebenaran yang diperoleh, maka dapat
dipergunakan sebagai acuan layak tidaknya metode ini digunakan sebagai
metode untuk mendeteksi osteoporosis.
1.4 Manfaat Penelitian
Hasil penelitian ini diharapkan dapat memperoleh manfaat sebagai berikut:
Teoritis : Menambah khasanah keilmuan tentang analisa thresholding metode
Otsu pada citra tulang serta aplikasi dalam bidang medis.
Praktis : Teknologi thresholding metode Otsu dapat digunakan untuk
melengkapi interpretasi hasil x-ray sehingga dapat digunakan untuk
mendeteksi osteoporosis dengan lebih mudah, murah dan tepat.
9
BAB II
DASAR TEORI
2.1 Tulang
Dalam proses penciptaan manusia ketika masih dalam kandungan, proses
ini akan diawali lebih dahulu dengan pertemuaan sel sperma dan sel telur. Sel
sperma diproduksi dalam alat reproduksi laki-laki sedangkan sel telur diproduksi
dalam alat reproduksi wanita. Dalam prosesnya, sel telur akan mengeluarkan
sebuah cairan untuk memikat sel sperma, sehingga ketika sel telur sedang
melewati tuba palopi sekitar 15 cm darinya. Sel sperma akan menangkap sinyal
dari sel telur, sel sperma akan berenang menuju sel telur dan terjadilah
pembuahan.
Setelah sel sperma masuk ke dalam sel telur maka bergabunglah DNA sel
sperma dengan DNA sel telur dan membentuk satu sel tunggal baru bernama
zigot. Zigot tersebut merupakan benih manusia baru dalam kandungan seorang
ibu. Sekitar 4 hari setelah pembuahan dalam tuba palopi, zigot mencapai rahim
sang ibu pada tempat yang tepat. Agar tidak dikeluarkan dari tubuh maka ia harus
menempel pada rahim. Hal ini selaras dengan firman Allah swt dalam surat al-
Muminun;12:
. ..l-> L. _ _,>. _
Artinya : Kemudian Kami jadikan saripati itu air mani (yang disimpan) dalam tempat
yang kokoh (rahim).
9
10
Dalam tahap perkembangan janin ketika masih dalam rahim ibu
dipaparkan dalam Al Qur'an, sebagaiman yang diuraikan dalam ayat ke-14 surat
Al Mu'minuun, bahwa jaringan tulang rawan pada embrio di rahim ibu yang pada
mulanya tulang rawan kemudian mulai mengeras dan akhirnya menjadi tulang
keras. Lalu tulang ini dibungkus oleh sel-sel otot. Allah menjelaskan
perkembangan ini dalam ayat sebagai berikut:
!.1l> -..l !..Ls !..> .L-l !.>'
Artinya: "dan segumpal daging itu Kami jadikan tulang belulang, lalu tulang
belulang itu Kami bungkus dengan daging".
Tulang sebagai jaringan paling tangguh dalam tubuh sehingga dapat
menopang aktifitas tubuh merupakan salah satu keajaiban penciptaan Allah SWT.
Dari surat Al Mu'minuun di atas mengindikasikan bahwa setelah tahap
mudhghoh, tulang belulang dan otot akan terbentuk. Proses ini sesuai dengan
perkembangan embriologi. Pada awalnya jaringan tulang rawan ketika masih
dalam embrio akan mulai mengeras. Kemudian sel-sel otot yang terpilih dari
jaringan di sekitar tulang akan bergabung dan membungkus tulang-tulang ini
(Aceng, 2007 : 84-89).
Peristiwa ini digambarkan bahwa ketika embrio memasuki waktu minggu
ke-tujuh, rangka mulai tersebar ke seluruh tubuh dan tulang-tulang mencapai
bentuknya. Pada akhir minggu ke-tujuh dan selama minggu ke-delapan, otot-otot
akan menempati posisinya di sekeliling bentukan tulang.
11
Tulang disebut alat gerak pasif karena digerakkan oleh otot. Tetapi tulang
tetap punya peranan penting karena gerak tidak akan terjadi tanpa adanya tulang.
Kalsium (Ca), fosfor (P), dan magnesium (Mg) merupakan komponen utama
pembentuk tulang (American College of Rheumatology, 2008).
Gambar 2.1 Struktur tulang
2.2 Osteoporosis
Tulang merupakan jaringan dalam tubuh yang terus menerus akan
mengalami pertumbuhan. Pada proses pertumbuhan tulang meliputi proses sekresi
dan pemadatan untuk menyusun matrik tulang. Kekuatan tulang selain ditentukan
oleh kandungan mineral massa tulang juga ditentukan oleh karakteristik struktural
tulang, yang meliputi ukuran, bentuk dan susunan arsitektur tulang. Penurunan
massa tulang selain diidentifikasi dari kepadatan tulang, juga dapat diprediksi dari
12
perubahan struktural tulang tersebut, misalnya perubahan massa bagian kortikal
dan trabekula.
Selain pertumbuhan, tulang juga mengalami regenerasi yaitu pergantian
tulang-tulang yang sudah tua diganti dengan tulang yang baru yang masih muda,
dimana proses ini berjalan seimbang sehingga terbentuk puncak massa tulang
yang pengaturannya dilakukan oleh hormon. Tugas hormon ini adalah mengatur
kadar kalsium dalam darah. Peningkatan kadar kalsium dalam darah akan
meningkatkan pembentukan jaringan baru dan sebaliknya penurunan kadar
kalsium dalam darah akan meningkatkan proses resorpsi. Serta dalam proses
pembentukannya, tulang akan mengalami yaitu pergantian tulang-tulang yang
sudah tua diganti dengan tulang yang baru yang masih muda, dimana proses ini
berjalan seimbang sehingga terbentuk puncak massa tulang. Setelah puncak massa
tulang terbentuk, tulang masih mengalami pergantian tulang yang sudah tua
dengan tulang yang masih muda. Tetapi pada prosesnya jika tidak berjalan
seimbang dimana tulang yang diserap untuk diganti lebih banyak dari tulang yang
menggantikannya maka terjadi penurunan massa tulang, dan bila keadaan ini
berjalan terus-menerus akan terjadi osteoporosis. Selain itu, osteoporosis juga
dipengaruhi dengan bertambahnya usia yang disertai dengan kemunduran fungsi
pencernaan, gaya hidup tidak sehat.
Osteoporosis adalah suatu kelainan yang ditandai berkurangnya kekuatan
tulang, sehingga menyebabkan meningkatnya resiko patah tulang (fraktur).
Kekuatan tulang ditentukan oleh dua faktor, yaitu kepadatan (densitas) tulang dan
kualitas tulang. Densitas ulang dapat diukur dengan berbagai macam cara,
13
sedangkan kualitas tulang belum dapat dinilai secara kuantitatif. Daerah yang
paling sering timbul keretakan di bagian pergelangan tangan, tulang belakang
serta tulang pinggul (Ulfah, 2008).
Setiap jenis tulang terdiri dari bagian kortikal dan trabekula yang
mempunyai proporsi tertentu tergantung pada jenis tulang. Terdapat perbedaan
nyata antara daerah kortikal dan trabekula yaitu pada kortikal 80% hingga 90%
volumenya termineralisasi. Sedangkan pada trabekula, volume tulang yang
termineralisasi hanya 20% karena sebagian besar terdiri atas sumsum yang
mengandung lemak dan jaringan hematopoetik. Berdasarkan besarnya massa yang
terminerelisasi tersebut, maka bagian kortikal berfungsi mekanik sedangkan
bagian trabekula berfungsi metabolik.
Perubahan massa pada daerah kortikal dan trabekula berpengaruh terhadap
kekuatan tulang yang mana disebabkan oleh adanya perbedaan kandungan mineral
yang menentukan fungsi kedua daerah tersebut. Menurut Anthoni (1998) bagian
kortikal berfungsi mekanik sedangkan bagian trabekula adalah metabolik.
Trabekula mempunyai keaktifan metabolik lebih besar yaitu lebih sering terjadi
perubahan mineral dibanding kortikal sehingga mempunyai prediposisi untuk
terjadi kekurangan massa tulang (Sari, 2001).
Secara umum dipercaya bahwa foto x-ray dapat mendeteksi osteoporosis
apabila defisit mineral tulangnya mencapai > 30%. Lachmann dan Welan
melaporkan defisit mineral yang lebih kecil (8-14%) dapat dideteksi pada tulang-
tulang dengan komponen trabekula yang tinggi (misal vertebra, femur dan
metakarpal) sehingga cepat mengalami perubahan metabolik aktif trabekula.
14
Korpus vertebra, ujung tulang panjang dan os ilium mengandung lebih banyak
tulang trabekular, yang mempunyai permukaan tulang yang lebih luas dan
mempunyai keaktifan metabolik yang lebih besar dibandingkan dengan tulang
kortikal, artinya mempunyai porositas yang lebih besar, sehingga akan lebih
mudah kehilangan massa tulang (Agus, 2008).
Gambar 2.2 Tulang normal dan osteoporosis
Kelompok kerja World Health Organisation (WHO) dan consensus ahli
mendefinisikan mengenai osteoporosis menjelaskan hanya spesifik pada tulang
merupakan risiko terjadinya fraktur. Ini dipengaruhi oleh densitas tulang yang
merupakan resiko terjadinya fraktur. Ini dipengaruhi oleh densitas tulang.
Kelompok kerja WHO menggunakan teknik ini untuk melakukan penggolongan
ukran densitas mineral tulang:
Normal : Densitas tulang kurang dari 1 standar deviasi dibawah rata rata
wanita muda normal (T>-1)
Osteopenia : Densitas tulang antara 1 standar deviasi dan 2,5 standar deviasi
dibawah rata-rata wanita muda normal (-2,5<T<-1)
Osteoporosis : Densitas tulang lebih dari 2,5 standar deviasi dibawah rata-rata
wanita muda normal (T<-2,5).
15
Pada beberapa tahun pertama pasca menopause akan terjadi penurunan
massa tulang yang cepat sebesar 5% pertahun pada tulang trabekular dan 2-3%
pertahun pada tulang kortikal. Hal ini disebabkan dengan meningkatnya aktifitas
osteoklas dan didominasi oleh osteoblas dan hilangnya massa tulang 1-2% per
tahun.
Osteoporosis diklasifikasikan menjadi dua klasifikasi, yaitu:
1. Osteoporosis primer
Lebih sering pada wanita yang berhubungan dengan kelainan hormonal,
usia yang semakin bertambah/ketuaan. Dihubungkan dengan faktor resiko
meliputi merokok, aktifitas, pubertas tertunda, berat badan rendah, alkohol, ras
kulit putih/asia, riwayat keluarga, postur tubuh, dan asupan kalsium yang rendah.
Tipe I (post menapausal)
Terjadi 15-20 tahun setelah menopause (53-75 tahun). Ditandai oleh
fraktur tulang belakang dan berkurangnya gigi geligi. Ini disebabkan
luasnya jaringan trabekular tersebut. Dimana jaringan trabekular lebih
responsif terhadap defisiensi estrogen.
Tipe II (senile)
Terjadi pada pria dan wanita usia 70 tahun. Ditandai oleh fraktur panggul
dan tulang belakang tipe wedge. Hilangnya massa tulang kortikal terbesar
terjadi pada usia tersebut.
2. Osteoporosis sekunder
Osteoporosis jenis ini terjadi pada tiap kelompok umur. Penyakit ini
disebabkan oleh tulang yang sudah tidak berfungsi lagi sebagai akibat dari
16
paralisis (kelemahan) atau kondisi lainnya, yang meliputi defisiensi estrogen,
faktor genetik dan obat-obatan (Zaviera, 2007:25-28).
Diagnosis osteoporosis umumnya secara klinis sulit dinilai, karena tidak
ada rasa nyeri pada tulang saat osteoporosis terjadi walau osteoporosis lanjut..
Gejala klinis ini sering tidak jelas, sehingga untuk mendiagnosa dini diperlukan
pengukuran densitas atau kepadatan tulang yang umumnya menggunakan alat
Bone Mineral. Beberapa teknik pengukuran massa tulang dan kepadatan mineral
tulang telah dikembangkan dalam lima puluh tahun terakhir, khususnya sepuluh
tahun terakhir ini. Semua teknik ini bergantung pada teknologi yang rumit,
keakuratannya sangat penting karena perubahan yang kecil saja pada massa dan
kepadatan tulang bisa mencerminkan perubahan besar di dalam kekuatan tulang.
Densitometer merupakan salah satu cara untuk mendeteksi penyusutan massa
tulang. Teknik pemeriksanaannya sangat sederhana, cepat dan tidak menyakitkan.
Teknik pemeriksaan BMD paling akurat dan menjadi gold standard saat ini adalah
teknik Dual energy X-ray Absorptiometry (DXA) (Joan, 2006:72-73).
Remodeling tulang terjadi setiap permukaan tulang dan berlanjut
sepanjang hidup. Jika massa tulang tetap pada dewasa, menunjukkan terjadinya
keseimbangan antara formasi dan resorpsi tulang. Keseimbangan ini dilaksanakan
oleh osteoblas dan osteoklas pada unit remodeling tulang. Remodeling dibutuhkan
untuk menjaga kekuatan tulang. Osteoblas dan osteoklas dikontrol oleh hormon
sistemik dan sitokin (Zaviera, 2007:70).
Proses remodelling tulang melibatkan Osteoklas dan Osteoblas. Osteoklas
dapat mengeluarkan enzim yang dapat melarutkan atau menghancurkan tulang,
17
dan kemudian melepaskan mineral yang tersimpan di dalam tulang, termasuk
kalsium. Osteoblas bertugas membentuk sel-sel tulang baru. Proses pergantian
tulang ini berkaitan dengan pelepasan dan penambahan kalsium pada massa
tulang. Pada saat terjadi penghancuran, terjadi pelepasan kalsium tulang ke dalam
darah untuk dimanfaatkan oleh organ lain misalnya untuk menurunkan kadar
kolesterol dalam darah oleh organ lain misalnya untuk menurunkan dan
mengaktifkan vitamin K guna mempercepat proses penyembuhan. Sebaliknya
pada proses pembentukan tulang diperlukan kalsium untuk mengisi matriks tulang
agar tulang menjadi padat dan kuat. Apabila Osteoklas bekerja lebih aktif maka
keseimbangan proses remodelling akan terganggu, dan akibatnya massa tulang
berkurang perlahan, beberapa waktu kemudian menjadi keropos dan mudah patah
(Agus, 2008 : 15 - 16).
2.3 Sinar-X
Sinar-X ditemukan oleh Wilhelm Conrad Rontgen pada tanggal 08
Nopember 1895 yang merupakan ilmuwan Jerman sangat membantu di bidang
medis. Pada waktu itu, Rontgen sedang mempelajari pancaran electron dari
tabung katode. Lempeng logam yang letaknya di dekat tabung katode
memancarkan sinar flueresens selama elektron dialirkan. Oleh sebab itu, Rontgen
menyimpulkan bahwa sinar tersebut di sebabkan oleh radiasi dari suatu atom.
Karena tidak dikenal dalam ilmu, maka Rontgen memberikan nama dengan
sebutan sinar-X (Susworo, 2007).
18
Sinar-X yang dihasilkan dengan tenaga 20-40 keV mempunyai panjang
gelombang 10
-7
cm dan sinar ini dikatakan sinar-X lembut. Sinar-X yang
dihasilkan dengan 40-125 keV mempunyai gelombang 10
-8
cm. Sinar ini kerap
digunakan untuk pemeriksaan X-ray diagnostik, manakala panjang gelombang
yang lebih pendek lagi yang dihasilkan dengan tenaga 200-1000 keV digunakan
dalam rawatan radioterapi yang lebih dalam (deep radiotheraphy). Sinar ini
biasanya berukuran < 10
-8
cm (hard-rays).
Radiograf adalah gambar bayangan material yang transparan oleh radiasi.
Sinar-X dapat menggelapkan film sehingga daerah dengan kerapatan lebih rendah
akan terlihat lebih gelap pada negatif film daripada daerah dengan kerapatan
tinggi. Sehingga lubang atau retak muncul sebagai daerah yang lebih gelap,
sedangkan inklusi tembaga pada paduan aluminium muncul lebih terang. Dalam
hal ini, lubang pada tulang dikenali dikenali sebagai gambaran tulang yang
terkena osteoporosis.
Manfaat sinar-X dalam ilmu kedokteran, yaitu sinar-X dapat digunakan
untuk melihat kondisi tulang, gigi serta organ tubuh yang lain tanpa melakukun
pembedahan langsung pada tubuh pasien. Selain bermanfaat, sinar-X mempunyai
efek/dampak yang sangat berbahaya bagi tubuh kita yaitu apabila digunakan
secara berlebihan karena akan dapat menimbulkan penyakit yang berbahaya,
misalnya kanker. Oleh sebab itu para dokter tidak menganjurkan terlalu sering
memakai foto rontgen secara berlebihan (Gabriel, 1996 : 282-283).
19
2.4 Pengolahan Citra
Pengolahan citra adalah kegiatan memperbaiki kualitas citra agar mudah
diinterpretasi oleh manusia komputer. Inputnya adalah citra dan keluarannya juga
citra tapi dengan kualitas lebih baik daripada citra masukan misal citra warnanya
kurang tajam, kabur, mengandung noise (misal bintik-bintik putih) sehingga perlu
pemrosesan untuk memperbaiki citra karena akan sulit diinterpretasikan sebab
informasi yang disampaikan menjadi berkurang. Pengolahan citra bersifat
multidisiplin, yaitu merambah ke banyak aspek, antara lain: fisika, elektronika,
matematika, seni, bidang medis, dan teknologi komputer (Usman, 2005 : 4-6).
2.4.1 Citra
Secara Harfiah, citra adalah gambar pada bidang dwimantra (dua dimensi).
Ditinjau dari sudut pandang matematis, citra merupakan fungsi kontinu dari
intensitas cahaya pada bidang dwimantra. Sumber cahaya menerangi objek, objek
memantulkan kembali sebagian dari berkas cahaya tersebut (Munir, 2004: 2).
Sebuah citra dapat didefinisikan sebagai fungsi f(x,y), dimana x dan y
adalah koordinat ruang dan amplitudo dari f dapat disebut intensitas atau gray-
level dari sebuah citra pada titik yang terletak pada koordinat x dan y. Jika x,y dan
nilai amplitudo dari f adalah terbatas dan dapat ditentukan nilainya maka citra
tersebut adalah citra digital. Citra digital dibentuk dari beberapa elemen, yang
tiap-tiap elemennya meliiki posisi dan nilai tertentu. Salah satu elemen yang
paling sering digunakan adalah piksel. Piksel a dalah titik yang berisi nilai tertentu
yang membentuk sebuah citra yang lokasinya ditentukan oleh kombinasi x dan y.
20
Citra gray scale adalah sebuah citra yang memiliki nilai dari putih yang
memiliki intensitas paling besar (255) sampai hitam yang memiliki intensitas
paling rendah (0) seperti yang terlihat pada gambar berikut (Indra, 2008).:
Gambar 2.3 contoh skala yang digunakan pada greyscale
Citra X-ray tulang adalah citra yang diperoleh dari alat/pesawat X-ray.
Kualitas citra yang didapat dari alat sangat bergantung pada tegangan tinggi (kV),
arus tabung (mA) dan waktu paparan (s) (Agus, 2008 : 21-23).
Gambar 2.4 Citra x-ray dental panoramic radiography
2.4.2 Segmentasi Citra
Segmentasi citra merupakan proses yang bertujuan untuk memisahkan
suatu daerah pada citra dengan daerah lainnya. Segmentasi mengacu pada operasi
pemisahan sebuah citra menjadi bagian-bagian atau membagi citra menjadi bagian
yang diharapkan termasuk objek yang dianalisis yang ada pada citra tersebut.
Memilih bentuk dalam sebuah citra sangat berguna dalam pengukuran atau
pemahaman citra. Secara tradisional, segmentasi didefinisikan sebagai proses
pendefinisian jangkauan nilai gelap dan terang pada citra yang sebenarnya,
21
memilih piksel dalam jangkauan ini sebagai latar depan dan menolak sisanya
sebagai latar belakang. Dengan demikian, citra terbagi atas dua bagian, yaitu
bagian hitam dan bagian putih, atau warna yang membatasi setiap wilayah. Salah
satu metode yang efektif dalam segmentasi citra biner adalah dengan memeriksa
hubungan piksel dengan tetangganya dan memberinya label. Metode ini disebut
pelabelan komponen. Pembagian citra menjadi beberapa daerah, berdasarkan
sifat-sifat tertentu dari citra yang dapat dijadikan pembeda, disebut juga
segmentasi citra. Suatu daerah dalam citra adalah sekumpulan piksel yang
terkoneksi satu sama lain dan mempunyai sifat yang secara umum sama. Dalam
citra ideal, sebuah daerah akan dibatasi dengan kurva tertutup, artinya objek yang
berada di dalam citra itu tampil utuh, tidak terpotong atau menyentuh tepi bingkai
citra. Pada prinsipnya, segmentasi daerah dan deteksi tepi membuahkan hasil yang
sama, yaitu memisahkan objek atau objek yang menjadi pusat perhatian dalam
menginterpresentasi suatu citra (Munir, 2004).
2.4.2.1 Histogram Citra
Informasi penting mengenai isi dari sebuah citra digital dapat diketahui
dengan membuat histogram citra. Histogram citra adalah grafik yang
menggambarkan penyebaran kuantitatif nilai derajat keabuan (grey level) piksel di
dalam (atau bagian tertentu) dari citra. Misalkan citra digital memiliki L derajat
keabuan, yaitu dari nilai 0 sampai L 1 (misalnya pada citra dengan kuantisasi
derajat keabuan 8-bit, nilai derajat keabuan dari 0 sampai 255). Gambar 2.5
memperlihatkan contoh sebuah histogram citra, yang dalam hal ini k menyatakan
derajat keabuan dan nk menyatakan jumlah piksel yang memiliki nilai keabuan k.
22
Gambar 2.5 Histogram citra
Pada beberapa operasi pengolahan citra jumlah piksel yang memiliki
derajat keabuan k dinormalkan terhadap jumlah seluruh pixel di dalam citra,
(1)
Persamaan 1 di atas menyatakan frekuensi kemunculan relative dari
derajat keabuan pada citra tersebut. Akan tetapi khusus untuk citra berwarna,
histogramnya dibuat untuk setiap kanal RGB (merah, hijau, dan biru). Histogram
citra menunjukkan banyak hal tentang kecerahan (brightness) dan kontas
(contrast) dari sebuah gambar. Puncak histogram menunjukkan intensitas piksel
yang menonjol. Lebar dari puncak menunjukkan rentang kontras dari sebuah citra.
Citra yang mempunyai kontras terlalu terang (overexposed) atau terlalu gelap
(underexposed) memiliki histogram yang sempit. Histogramnya terlihat hanya
menggunakan setengah dari daerah derajat keabuan. Citra yang baik memiliki
histogram yang mengisi daerah derajat keabuan secara penuh dengan distribusi
yang merata pada setiap derajat keabuan piksel.
Histogram adalah alat bantu yang berharga dalam pekerjaan pengolahan
citra baik secara kualitatif maupun kuantitatif. Histogram berguna antara lain
untuk perbaikan kontras dengan teknik histogram equalization dan memilih nilai
ambang untuk melakukan segmentasi objek (Munir, 2006 : 1-2).
23
2.4.2.2 Ekualisasi Histogram
Salah satu cara untuk memperbaiki citra digital adalah dengan mengatur
level dari brightness dan contrastnya. Pertama, digambarkan variasi sebuah
brightness pada citra menggunakan histogram citra tersebut dan bagaimana suatu
citra dapat dimanipulasi dengan merubah histogram citra tersebut.
Histogram akan menempatkan beberapa piksel dengan brightness levelnya
yang sesuai. Untuk piksel dengan ukuran level brightness sebesar 8-bit maka
brightness akan memiliki grey level yang berkisar antara nol (hitam) sampai 255
(putih). Histogram keabuan adalah suatu fungsi yang menunjukkan jumlah titik
yang ada di dalam suatu citra untuk setiap tingkat keabuan. Absis (sumbu x)nya
adalah tingkat keabuan, dan ordinat (sumbu y)nya adalah frekuensi kemunculan
atau banyaknya titik dengan nilai keabuan tertentu. Sehingga histogram yang
memiliki nilai brightness yang lebih kecil akan terlihat lebih gelap dibandingkan
dengan yang memiliki nilai lebih besar (Balza, 2005 : 12 13).
Ekualisasi histogram merupakan operasi peningkatan kontras yang
optimal, kurva histogram sehingga memiliki rentang yang maksimum, dari batas
kiri ke batas kanan histogram. Cara lain yang dapat dilakukan untuk mendapatkan
kontras yang optimal adalah dengan mendistribusikan kembali skala-skala
keabuan citra agar memperoleh kurva histogram yang datar atau seragam.
Pada citra gray scale histogram citra hasil idealnya memiliki jumlah titik
yang untuk setiap tingkat keabuan. Untuk citra skala keabuan k bit yang berukuran
tinggi h dan lebar w, maka jumlah titik untuk setiap tingkat keabuan adalah
seragam sebesar (w.h/2
k
). Secara matematis proses ekualisasi sebagai berikut:
24
K
0
= round (2)
dimana C
i
adalah cacah komulatif nilai skala keabuan ke-i dari citra asli dan
fungsi round adalah untuk pembulatan ke bilangan bulat terdekat (Balza, 2005 :
87 88).
2.4.2.3 Thresholding
Pengambangan citra (image thresholding) merupakan metode yang paling
sederhana untuk melakukan segmentasi. Thresholding digunakan untuk mengatur
jumlah derajat keabuan yang ada pada citra. Proses thresholding ini pada dasarnya
adalah proses penggubahan kuantisasi pada citra. Untuk mendapatkan hasil
segmentasi yang bagus, beberapa operasi perbaikan kualitas citra dilakukan
terlabih dahulu untuk mempertajam batas antara objek dengan latar belakangnya
(Usman, 2005: 81).
Thresholding adalah suatu proses yang digunakan untuk menghasilkan
citra biner yaitu citra yang memiliki dua nilai tingkat keabuan, yaitu : hitam dan
putih bergantung apakah nilai piksel asli tersebut lebih besar atau lebih kecil dari
nilai T. Piksel akan diubah menjadi putih jika nilai tingkat keabuannya lebih besar
daripada T, dan akan diubah menjadi hitam jika nilai tingkat keabuannya lebih
kecil atau sama dengan T.
Thresholding berfungsi untuk mengatur jumlah derajat keabuan pada citra
sesuai keinginan. Misalnya, jika ingin menggunakan derajat keabuan 16, maka
harus membagi nilai derajat keabuan dengan 16. Pada dasarnya, proses
thresholding merupakan proses pengubahan kuantisasi citra. Dapat dirumuskan
(Riyanto, 2005 : 24) :
25
x = b.int (3)
b = int (4)
dimana:
w = nilai derajat keabuan sebelum thresholding
x = nilai derajat keabuan setelah thresholding
Nilai T dapat ditentukan dengan banyak cara, salah satunya adalah melalui
perhitungan dimana nilai rata-rata jumlah piksel yang memiliki nilai di bawah T
sama dengan nilai rata-rata piksel yang memilliki nilai di atas T. Untuk
perhitungan ini, nilai T yang didapat untuk citra yang memiliki histogram yang
telah ter-ekualisasi adalah berkisar antara 127 dan 128. Nilai maksimum dari T
adalah nilai tertinggi dari sistem warna yang digunakan dan nilai minimum dari T
adalah nilai terendah dari sistem warna yang digunakan. Untuk 256 gray level
maka nilai tertinggi T adalah 255 dan nilai terendahnya adalah 0.
Misal pada sebuah citra f(x,y), tersusun dari objek yang terang pada sebuah
background yang gelap. Gray-level milik objek dan milik background terkumpul
menjadi 2 group yang dominan, salah satu cara untuk mengambil objek dari
backgroundnya adalah dengan memilih sebuah nilai treshold T yang memisahkan
grup yang satu dengan grup yang lain. Maka semua piksel yang memiliki nilai > T
disebut titik objek, yang lain disebut titik background. Proses ini disebut
thresholding. Secara umum, proses binerisasi citra gray scale untuk menghasilkan
citra biner adalah sebagai berikut:
(5)
26
dengan g(x,y) adalah citra biner dari citra grayscale f(x,y) dan T
menyatakan nilai ambang.
Thresholding terdiri dari dua jenisnya, yaitu:
a) Thresholding global
Salah satu cara untuk memilih nilai ambang adalah dengan melihat dari
histogram citra tersebut. Histogram adalah menggambarkan citra yang memiliki
dua mode berbeda sehingga memudahkan untuk memilih T ambang batas yang
memisahkannya. Cara lain untuk memilih T adalah dengan trial and error,
memilih nilai ambang batas yang berbeda hingga ada yang ditemukan sehingga
menghasilkan hasil yang baik.
b) Thresholding lokal
Metode thresholding global dapat gagal jika kontras latar belakang tidak
merata. Thresholding akan dikatakan sebagai thresholding lokal jika nilai T (nilai
ambang) bergantung pada nilai gray level f(x,y) dan nilai properti lokal citra
p(x,y). Dalam thresholding lokal citra akan dibagi ke dalam bagian yang lebih
kecil kecil dan proses pengambangan akan dilakukan secara lokal. Kelebihan
yang dimiliki thresholding adalah secara subyektif, citra yang dihasilkan lebih
bagus. Thresholding lokal dapat ditunjukkan bahwa proses ini adalah setara
dengan thresholding f (x, y) dengan fungsi lokal yang bervariasi T ambang (x, y):
(6)
Dimana
(7)
27
F
0
(x, y) adalah membuka morfologi dari f, dan T
0
konstan adalah hasil
dari fungsi graythresh digunakan pada F
0
(Rafael, 2004 : 404-407
Bentuk teknik thresholding ada 2 macam, yaitu: Uniform Thresholding
dan Adaptive Thresholding. Didalam uniform thresholding metode yang
digunakan adalah dengan menentukan batas level, yang akan dipergunakan untuk
menentukan warna piksel. Piksel yang levelnya lebih dari threshold level akan
diubah menjadi putih, dan sebaliknya piksel yang levelnya ada di bawah dari level
threshold akan diubah menjadi hitam. Seperti yang ditampilkan pada gambar
sebelah kiri berikut merupakan gambar original dan gambar sebelah kanan adalah
hasil thresholding.
Gambar 2.6 image original dan hasil thresholding
Gambar 2.8 menunjukkan citra hasil thresholding dengan nilai threshold
sebesar 128 dimana piksel-piksel yang memiliki nilai 128 ke atas diubah menjadi
putih dan piksel yang bernilai 128 ke bawah diubah menjadi hitam (Indra, 2008).
28
a) Double Thresholding
Jika dipilih dua nilai T
1
dan T
2
dan digunakan untuk operasi
pengambangan atau thresholding, maka operasi double thresholding
diimplementasikan dengan cara :
y = (8)
dengan x adalah nilai aras keabuan dari citra input (asli), T
1
dan T
2
adalah nilai
ambang yang dipilih, dan y adalah keluaran.
Aplikasi thresholding antara lain:
1. Menghilangkan detail yang tidak dikehendaki pada citra sehingga dapat
berfokus pada bagian yang dikehendaki saja. Hal ini tampak pada contoh
thresholding pada citra. Informasi yang didapat dari citra hasil thresholding
dapat digunakan untuk mengetahui ukuran, bentuk, atau jumlah objek.
2. Memunculkan detail yang sebelumnya tersembunyi. Jika dinyatakan dalam
citra aras keabuan 8 bit maka mata manusia tidak mampu membedakan
perbedaan yang kecil pada nilai tingkat keabuan citra, namun setelah dilakukan
thresholding maka tampak detail yang sebelumnya tersembunyi.
3. Menghilangkan latar belakang yang bervariasi pada teks atau gambar.
b) Adaptive Thresholding
Pada beberapa kasus tidak dimungkinkan untuk memilih satu atau dua nilai
ambang yang dapat mengisolasi objek secara keseluruhan. Hal ini misalnya terjadi
jika baik objek maupun latar belakang cita sangat bervariasi (Indah, 2009 : 6-9).
29
2.5 Metode Otsu
Metode Otsu merupakan suatu metode dalam segmentasi yang menghitung
nilai ambang T secara otomatis berdasarkan citra masukan. Pendekatan yang
digunakan oleh metode Otsu adalah dengan melakukan analisis diskriminan yaitu
menentukan suatu variabel yang dapat membedakan antara dua atau lebih
kelompok yang muncul secara alami. Analisis Diskriminan akan
memaksimumkan variabel tersebut agar dapat memisahkan objek dengan latar
belakang.
Untuk memilih nilai ambang batas secara otomatis, Gonzalez dan Woods
(2002) menggambarkan prosedur iterasi sebagai berikut:
1. Dipilih dahulu perkiraan awal untuk T. (disarankan estimasi awal adalah
titik tengah antara nilai-nilai intensitas minimum dan maksimum citra).
2. Bagi citra menggunakan T. Ini akan menghasilkan dua kelompok piksel
G1, yang terdiri dari semua piksel dengan nilai-nilai intensitas T, dan
G2, yang terdiri dari piksel dengan nilai-nilai <T.
3. Menghitung nilai rata-rata intensitas 1 dan 2 untuk piksel di daerah G1
dan G2.
4. Menghitung nilai ambang baru dengan persamaan :
( ) (9)
5. Ulangi langkah 2 hingga 4 sampai perbedaan T di iterasi berturut-turut
lebih kecil dari T
0
parameter standar.
Sebuah fungsi yang menghitung graythresh disebut batas menggunakan
metode Otsu (Otsu, 1979). Formulasi dari metode otsu adalah sebagai berikut:
30
Nilai ambang yang akan dicari dari suatu citra gray level dinyatakan dengan
k. Nilai k berkisar antara 1 sampai dengan L, dengan nilai L = 255. Sedangkan
jumlah piksel pada tingkat keabuan i dilambangkan oleh n
i
dan jumlah piksel pada
citra oleh N = n
1
+ n
2
+.+ n
L
.
Untuk menguji perumusan metode berdasarkan histogram, dengan
meninjau histogram yang dinormalisasi sebagai fungsi kepadatan probabilitas
diskrit. Probabilitas setiap piksel pada level ke i dinyatakan dengan :
, (10)
Kemudian pada bagian piksel dibagi menjadi dua kelas C
0
dan C
1
(latar
belakang dan objek, atau sebaliknya) dengan nilai ambang k; C
0
menunjukkan
level piksel dengan nilai [1,,k], dan C
1
menunjukkan level piksel dengan nilai [k
+ 1,.,L]. Nilai momen kumulatif ke-nol, momen kumulatif ke-satu, dan nilai
rata-rata berturut-turut dapat dinyatakan sebagai berikut :
Dan
dimana
31
dan
Dari hasilnya dan urutan momen pertama komulatif dari histogram sampai
level ke-k masing-masing, dengan;
Ini adalah total rata-rata level dari citra aslinya. Untuk dapat dengan
mudah memverifikasi hubungan, berikut ini untuk setiap pilihan dari k:
(18)
Sedangkan varians kelas diberikan oleh
(19)
(20)
Untuk menguji/evaluasi dari nilai ambang (pada level k), digunakan
langkah-langkah dengan analisis diskriminan (Fukunage, 1972 : 260-267):
dimana
(22)
32
= (23)
(Karena (18)) dan
(24)
Ini adalah varians dalam kelas, varians antara kelas, dan total varians dari
tingkat masing-masing. Kemudian masalah kita berkurang dari sini jelas dapat
diketahui bahwa pengambangan akan dipisahkan di level abu-abu dan kontras,
sehingga nilai ambang yang terbaik akan memberikan pemisahan terbaik pada
intensitas abu-abu.
Analisis diskriminan akan memaksimalkan nilai , k, dan , yang masing-
masing akan berpengaruh pada k, akan tetapi untuk ekuivalent pada k = + 1 dan
= / + 1), karena keadaan berpengaruh terhadap hubungan dasar ;
Hal ini dapat dilihat bahwa adalah fungsi batas nilai dari nilai
ambang k, tetapi adalah nilai mutlak dari k. Hal ini juga menjelaskan bahwa
didasarkan pada urutan kedua statistik (varians kelas), sedangkan didasarkan
pada statistik orde pertama (yang berarti kelas). Oleh karena itu, paling
sederhana adalah mengukur hubungan dengan k. Jadi dengan mengadopsi
/mengambil sebagai meas untuk mengevaluasi/menguji dengan sempurna dari
nilai ambang level k.
Nilai k* merupakan batas optimal yang akan memaksimalkan , atau yang
dipilih ekuivalennya dari akan memaksimalkan dalam pencarian sekuensial
33
dengan menggunakan jumlah komulatif sederhana (15) dan (16), atau secara
eksplisit menggunakan (11) - (14):
Nilai ambang k dapat ditentukan dengan memaksimumkan persamaan :
Dari persamaan tersebut, maka kisaran k maksimum dapat dicari dengan
dibatasi untuk;
S
*
=
Ini dapat disebut dengan jarak efektif histogram level abu-abu. Dari
persamaan (14), ukuran (atau ) dapat mengambil nilai minimum nol untuk k
seperti S - S* = hasilnya yaitu, membuat semua piksel baik C
1
atau C
0
(yang nilainya tentu saja tidak dapat diperhatikan dan akan mengambil
nilai positif serta dibatasi untuk k S
*
.
Pada teknik thresholding, sebenarnya masih ada lagi teknik lebih lanjut,
teknik ini dikenal dengan optimal thresholding. Teknik ini digunakan untuk
memisahkan suatu objek gambar dengan latar belakangnya. Teknik ini dapat
melihat perbedaan intensitas yang terdapat pada latar belakang dan objek
sehingga dapat menentukan nilai sebuah threshold yang sesuai.
34
Gambar 2.7 contoh pengambilan nilai thresholding dengan metode Otsu
Metode ini adalah metode yang paling populer diantara semua metode
thresholding yang ada. Teknik Otsu ini memaksimalkan kecocokan dari sebuah
threshold sehingga dapat memisahkan objek dengan latar belakangnya. Semua
didapatkan dengan memilih nilai threshold yang memberikan pembagian kelas
yang terbaik untuk semua piksel yang ada di dalam image. Dasarnya adalah
dengan menggunakan histogram yang telah dinormalisasi dimana jumlah tiap poin
pada setiap level dibagi dengan jumlah total poin pada image (Indra, 2008).
Gambar 2.8 contoh hasil thresholding dengan metode Otsu pada tulang
rahang
35
BAB III
METODOLOGI PENELITIAN
3.1 Tempat dan Waktu Penelitian
Penelitian ini dilaksanakan mulai bulan Agustus 2009 sampai dengan
bulan Maret 2010. Sedangkan lokasi penelitian bertempat di Laboratorium Fisika
Komputasi Universitas Islam Negeri (UIN) Maulana Malik Ibrahim Malang.
3.2 Bahan dan Alat
Data yang digunakan adalah citra sekunder dari sampel foto x-ray untuk
mendapatkan citra tulang rahang sebanyak 19 sampel. Penelitian ini menggunakan
seperangkat PC dan bahasa pemrograman Delphi 7.0 untuk membuat aplikasi
pengenalan.
3.3 Sampel Penelitian
Sampel yang akan digunakan dalam penelitian ini adalah hasil
pemeriksaan radiologi berupa citra x-ray tulang rahang dari 19 orang wanita
menopause. Selanjutnya 19 citra x-ray tulang rahang tersebut kemudian diukur
nilai bone mineral, density (BMD) atau tingkat osteoporosisnya dengan
menggunakan DXA yang menghasilkan 8 tulang normal dan 11 tulang
osteoporosis. Dari citra x-ray tersebut bagian yang akan diteliti yaitu bagian
trabekula pada citra x-ray tulang rahang, sehingga citra tersebut dilakukan
35
36
pemotongan dengan ukuran 100 x 50. Serta citra yang akan dikenali dalam
aplikasi adalah dalam bentuk file bitmap.
3.4 Tahapan Implementasi
Tahapan implementasi adalah langkah-langkah yang digunakan untuk
pembuatan aplikasi deteksi osteoporosis dengan thresholding metode Otsu
menggunakan Delphi 7.0 Skema tahapan implementasi dapat dilihat pada gambar
3.1, sedangkan flowchart program oleh Delphi dapat dilihat pada gambar 3.2
sampai 3.4.
3.4.1 Skema Kerja
Agar penelitian dapat berjalan secara sistematis, maka diperlukan
rancangan penelitian / langkah-langkah dalam penelitian. Adapun tahapan
implementasi dalam penelitian sebagai berikut :
Gambar 3.1 Blok diagram sistem pengenalan
37
3.4.2 Perancangan Perangkat Lunak
Setelah semua citra x-ray diambil pada bagian trabekula pada citra x-ray
tulang rahang dengan ukuran 100 x 50 serta dalam format bitmap, kemudian
dilanjutkan ke tahap perancangan perangkat lunak yang didalamnya dilakukan
beberapa proses, sebagai berikut:
1. Proses Ekualisasi
Citra masukan yang sudah dalam citra gray scale dan dalam format bitmap
maka dilanjutkan ke proses ekualisasi yang bertujuan untuk menajamkan bagian
yang hitam (lembah) dan bagian yang putih (puncak) dari kontur tulang. Bagian
lembah adalah bagian yang osteoporosis, sedangkan bagian puncak adalah bagian
tulang yang masih sehat. Dalam proses ekualisasi ini akan menampilkan citra asli
yang akan diekualisasi, kemudian citra asli tersebut dihitung lebar (w) dan tinggi
(h) citra. Kemudian dengan intensitas citra gray scale (i) yang bernilai 0-255
maka dihitung cacah komulatif semua piksel keabuan (c
i
) dari citra tersebut.
Selanjutnya citra akan dihitung nilai ekualisasi dari citra dengan memanfaatkan
nilai cacah komulatif semua piksel keabuan (c
i
), yang mana dalam proses ini nilai
intensitasnya di source code sudah menggunakan 255 sebagai hasil perhitungan da
ri rumus 2
k
-1 (k merupakan nilai bit yang mana disini adalah citra gray scale yaitu
8 sehingga dihasilkan nilai 255). Dari citra hasil ekualisasi, piksel-piksel citra
belum meyebar merata sesuai dengan warna piksel sehingga perlu dilakukan
proses untuk memeratakan piksel yang mana hasilnya akan lebih kelihatan dalan
histogram citra tersebu. Berikut ini flowchart untuk proses ekualisasi :
38
Gambar 3.2 Proses Ekualisasi
2. Proses Otsu
Apabila proses ekualisasi telah selesai langsung masuk ke proses Otsu
yang bertujuan untuk mencari nilai threshold (ambang) yang tepat agar dapat
memisahkan manakah bagian yang cenderung hitam (osteoporosis) dalam suatu
39
tulang dan manakah bagian yang cenderung terang / putih (sehat) dalam tulang
yang sama. Proses otsu akan diawali dengan menghitung luas citra yang diuji
(jpixtot). Kemudian proses akan dilanjutkan untuk menghitung mean/nilai rata-
rata dari warna piksel (muT). Dalam proses ini nantinya akan menghitung nilai
piksel setiap baris sampai setinggi citra, yang mana proses ini dimulai dari piksel
awal sampai teerakhir serta nilai yang didapatkan akan diakumulasikan.
Selanjutnya juga akan dihitung nilai pikselnya untuk setiap kolom sampai selebar
citra tersebut dan juga serta nilai yang didapatkan akan diakumulasikan. Dari
proses ini akan didapatkan nilai ambang/posisi otsunya. Berikut ini flowchart
untuk proses otsu yang dilakukan :
40
Gambar 3.3 Proses Otsu
41
3. Proses Tresholding
Proses Tresholding adalah implementasi lanjutan dari Otsu dengan tujuan
untuk mengekskusi citra sesuai dengan nilai ambangnya. Walaupun sebagai
implementasi lanjutan otsu, proses ini akan tetap menghitung nilai keabuan untuk
setiap baris sampai setinggi citra dan setiap kolom sampai selebar dari citra hasil
otsu. Dari sini, maka akan didapatkan nilai gray dari citra yang diuji sehingga
citra langsung diekskusi berdasarkan nilai gray dan nilai ambang dari citra yang
diujikan. Dan hasil yang dihasilkan yaitu apabila nilai piksel-piksel (gray) citra
yang di bawah ambang akan dieksekusi menjadi bernilai 0 (hitam) dan piksel -
piksel citra yang diatas ambang akan dieksekusi menjadi bernilai 255 (putih).
Hasil akhir yang didapatkan dalam besarnya piksel dari warna hitam atau putih.
Dan berikut ini flowchart untuk proses thresholding yang dilakukan :
42
Gambar 3.4 Proses Tresholding
Kemudian dari hasil proses thresholding tersebut dapat dihitung berapa
perbandingan jumlah piksel putih dan jumlah piksel hitam. Jumlah kedua piksel
tersebut diperbandingkan dalam aplikasi dengan rumus :
Perbandingan = Piksel Putih/(Piksel Putih + Piksel Hitam) x 100%
Setelah diketahui prosentase piksel dari warna putih (tulang normal), maka
hasil yang didapatkan kemudian dikelompokkan ke dalam tulang normal dan
43
tulang osteoporosis dengan acuan hasil DXA yang telah dilakukan sebelumnya.
Kemudian dicari nilai batas bawah dari tulang normal yang selanjutnya akan
dijadikan sebagai SETUP untuk batas minimal prosentase dari tulang normal.
Apabila prosentase warna putih lebih besar dari nilai setupnya, maka akan
dikenali sebagai tulang normal. Dan jika prosentase warna putih lebih kecil dari
nilai setupnya, maka akan dikenali sebagai tulang osteoporosis.
44
BAB IV
HASIL DAN PEMBAHASAN
Dalam bab ini membahas mengenai hasil penelitian, tahapan implementasi
dan hasil uji coba program yang telah dirancang dan dibuat serta pembahasan
terhadap hasil yang telah didapatkan. Uji coba dilakukan untuk mengetahui
apakah program dapat berjalan sebagaimana mestinya dengan lingkungan uji coba
yang telah ditentukan sesuai dengan skenario uji coba.
4.1 Hasil Penelitian
4.1.1 Citra X-Ray Tulang Rahang
Citra X-Ray tulang rahang adalah citra yang diperoleh dari alat atau
pesawat X-Ray. Dari citra yang didapatkan yang mana kualitas citranya sangat
bergantung kualitas dari alat X-Ray, meliputi tegangan tinggi (kV), arus tabung
(mA) dan waktu paparan (s). Dari hasil foto panoramic (tulang rahang) dengan
menggunakan spesifikasi alat PANORAMIC VATECH PaX-150C didapatkan
contoh citra sebagai berikut :
Gambar 4.1 Citra x-ray tulang rahang
44
45
Dalam penelitian ini dengan analisis thresholding metode Otsu akan
digunakan untuk mendeteksi osteoporosis. Maka dari objek citra x-ray tersebut
diambil objek yang digunakan sampel, yaitu dipilih bagian trabekula dengan
ukuran 100 x 50. Sehingga diperoleh hasil seperti berikut:
Gambar 4.2 Objek citra yang digunakan untuk analisa dengan thresholding metode
Otsu
4.1.2 Analisis Ekualisasi
Setelah citra masukan di-input maka akan diproses secara ekualisasi.
Dalam proses ekualisasi ini citra akan lebih diperlihatkan mana bagian yang hitam
(lembah) dan mana bagian yang putih (puncak) dari kontur tulang. Bagian lembah
adalah bagian yang osteoporosis, sedangkan bagian puncak adalah bagian tulang
yang masih sehat.
Untuk listing program untuk ekualisasi data sebagai berikut:
w := Image6.Picture.Width;
h := Image6.Picture.Height;
cKum[0] := nilai pixel ke 0;
for i := 1 to 255 do
begin
46
cKum[i] := cKum[i-1]+nilai pixel ke i;
end;
for i := 0 to 255 do
begin
Ko[i] := Round(255*cKum[i]/(w*h));
end;
for i:= 0 to h-1 do
begin
PC := Image6.Picture.BitMap.ScanLine[i];
PH := Image5.Picture.BitMap.ScanLine[i];
for j:= 0 to w-1 do
begin
PH[3*j] := Bo[PC[3*j]];
PH[3*j+1] := Go[PC[3*j+1]];
PH[3*j+2] := Ro[PC[3*j+2]];
end;
end;
Dengan menggunakan Delphi versi 7.0, maka dari proses ekualisasi
didapatkan hasil citra sebagai berikut:
Citra Asli Tulang Rahang Status
Keterangan Citra Hasil
DXA Ekualisasi
aa1 Normal
aa2 Osteoporosis
aa3 Osteoporosis
aa4 Osteoporosis
aa5 Osteoporosis
aa6 Osteoporosis
47
aa7 Normal
aa8 Osteoporosis
aa9 Osteoporosis
aa10 Normal
aa11 Normal
aa12 Normal
aa13 Osteoporosis
aa14 Osteoporosis
aa15 Osteoporosis
aa16 Osteoporosis
aa17 Normal
aa18 Normal
aa19 Normal
Tabel 4.1 Citra Hasil Ekualisasi
Di dalam proses ekualisasi akan menguatkan piksel-piksel yang dominan
dalam citra tersebut dan melemahkan piksel-piksel yang tidak dominan. Sehingga
proses ekualisasi akan membutuhkan histogram citra grayscale dari citra asli.
48
Setiap kode warna dalam setiap piksel memiliki nilai dalam histogram citra. Nilai
tersebut yang digunakan sebagai nilai pengganti dalam setiap piksel citra tersebut.
Hasilnya image hasil ekualisasi akan tampil lebih jelas bagian yang gelap dan
bagian yang terang. Proses ini penting jika tujuan pengolahan citra adalah hendak
membedakan bagian yang bersifat cekung (lembah/tulang yang osteoporosis) serta
bagian yang cembung (puncak/tulang yang normal).
4.1.3 Analisis Proses Otsu
Apabila proses ekualisasi sudah selesai yang mana citra akan lebih
kelihatan bagian yang putih dan hitam, maka akan dilanjutkan pada proses Otsu.
Pada proses ini bertujuan untuk mencari nilai threshold (ambang) yang tepat
untuk memisahkan manakah bagian yang cenderung hitam (osteoporosis) dalam
suatu tulang dan manakah bagian yang cenderung terang / putih (sehat) dalam
tulang yang sama.
Untuk listing program untuk proses Otsu sebagai berikut:
jpixtot := image1.picture.Width*image1.picture.Height;
sigmamax := 0;
muT := 0;
for i := 0 to l-1 do
begin
pt := dgray[i]/jpixtot;
muT := muT + i*pt;
end;
for t:= 0 to l-1 do
begin
omega1t := 0;
for i := 0 to t do
omega1t := omega1t + dgray[i]/jpixtot;
omega2t := 0;
49
for i := t+1 to l-1 do
omega2t := omega2t + dgray[i]/jpixtot;
mu1t := 0;
for i := 0 to t do
begin
pt := dgray[i]/jpixtot;
mu1t := mu1t + i*pt/omega1t;
end;
mu2t := 0;
for i := t+1 to l-1 do
begin
pt := dgray[i]/jpixtot;
mu2t := mu2t + i*pt/omega2t;
end;
sigma2b := omega1t*sqr(mu1t-muT)+omega2t*sqr(mu2t-muT);
if sigma2b > sigmamax then
begin
sigmamax := sigma2b;
totsu := t;
end;
end;
otsu := tposisi[totsu];
Di dalam proses Otsu ini menghasilkan nilai ambang (threshold) sehingga
citra akan dipisahkan antara warna putih (bagian tulang normal/sehat) dan warna
hitam (bagian tulang yang osteoporosis). Citra yang dihasilkan dari proses otsu
akan jauh lebih jelas diibandingkan citra hasil ekualisasi. Berikut ini citra hasil
ekualisasi yang sudah melalui proses Otsu:
50
Citra Asli Tulang
Rahang
Status
Keterangan Citra Hasil
DXA Ekualisasi Otsu
aa1 Normal
aa2 Osteoporosis
aa3 Osteoporosis
aa4 Osteoporosis
aa5 Osteoporosis
aa6 Osteoporosis
aa7 Normal
aa8 Osteoporosis
aa9 Osteoporosis
aa10 Normal
aa11 Normal
aa12 Normal
aa13 Osteoporosis
aa14 Osteoporosis
aa15 Osteoporosis
51
aa16 Osteoporosis
aa17 Normal
aa18 Normal
aa19 Normal
Tabel 4.2 Citra hasil Otsu
4.1.4 Analisis Thresholding
Proses terakhir adalah proses tresholding yang merupakan implementasi
lanjutan dari Otsu. Pada bagian ini piksel - piksel citra yang di bawah nilai
ambang akan dieksekusi menjadi bernilai 0 (hitam) dan piksel - piksel citra yang
di atas nilai ambang akan dieksekusi menjadi bernilai 255 (putih). Hasil yang
didapatkan adalah citra otsu black white.
Listing program untuk thresholding sebagai berikut
for i:= 0 to Image1.Picture.Height-1 do
begin
PC := Image5.Picture.Bitmap.ScanLine[i];
PH := Image8.Picture.Bitmap.ScanLine[i];
for j:= 0 to Image1.Picture.Width-1 do
begin
gray := Round((PC[3*j]+PC[3*j+1]+PC[3*j+2])/3);
if (gray < Ambang) then
begin
PH[3*j] := 0;
PH[3*j+1] := 0;
PH[3*j+2] := 0;
inc(hitam);
end
else
52
begin
PH[3*j] := 255;
PH[3*j+1] := 255;
PH[3*j+2] := 255;
inc(putih);
end
end;
Setelah dari proses thresholding maka dapat dihitung berapa jumlah piksel
putih dan jumlah piksel hitam. Kemudian dari jumlah kedua piksel tersebut
diperbandingkan dalam aplikasi dengan rumus :
Perbandingan = piksel putih/(piksel putih + piksel hitam) x 100%
Dan disini user dapat menentukan nilai ambang batas prosentase suatu citra tulang
adalah normal atau osteoporosis.
Jika nilai perbandingan di atas lebih dari nilai ambang batas yang
ditentukan maka tulang tersebut adalah tulang normal, dan jika kurang dari nilai
ambang batas maka tulang tersebut cenderung osteoporosis.
Listing program untuk setup sebagai berikut :
porsiputih:=putih/(putih+hitam)*100;
if porsiputih>=strtofloat(fsetup.dbedit1.text) then
label11.Caption:='Normal (putih : '+floattostr(porsiputih)+'%)'
else

label11.Caption:='Osteoporosis(putih:'+floattostr(porsiputih)+'%);
Dari proses thresholding ini, didapatkan jumlah piksel hitam dan putih
yang diikuti dengan prosentase warna putih disertai status tulang yang diuji
sebagai berikut:
53
Citra
Jumlah
piksel hitam
Jumlah
piksel putih
Prosentase Warna
Putih (%)
Status
aa1 2327 2673 53,46 Normal
aa2 2359 2641 52,82 Osteoporosis
aa3 2390 2610 52,2 Osteoporosis
aa4 2390 2610 52,2 Osteoporosis
aa5 2359 2641 52,82 Osteoporosis
aa6 2393 2607 52,14 Osteoporosis
aa7 2356 2644 52,88 Normal
aa8 2406 2594 51,88 Osteoporosis
aa9 2524 2476 49,52 Osteoporosis
aa10 2324 2676 53,52 Normal
aa11 2332 2668 53,36 Normal
aa12 2433 2567 51,34 Osteoporosis
aa13 2384 2616 52,32 Osteoporosis
aa14 2427 2573 51,46 Osteoporosis
aa15 2466 2534 50,68 Osteoporosis
aa16 2435 2565 51,3 Osteoporosis
aa17 2299 2701 54,02 Normal
aa18 2430 2570 51,4 Normal
aa19 2306 2694 53,88 Osteoporosis
Tabel 4.3 Hasil Thresholding
4.1.5 Tahapan Implementasi
Tahapan implementasi menjelaskan bagaimana penggunaan aplikasi untuk
mendeteksi osteoporosis. Untuk dapat menggunakan aplikasi ini membutuhkan
citra hasil rontgen tulang rahang dalam bentuk image bitmap 24 bit dan berupa
citra grayscale. Jika citra - citra tersebut sudah tersedia maka citra tersebut siap
diolah oleh aplikasi. Aplikasi diinstal dalam komputer dengan sistem operasi
minimal Windows XP. Urutan proses penggunaan aplikasi adalah sebagai berikut.
1. Menampilkan Splash Screen Ketika Pertama Kali Menjalankan Aplikasi
Gambar 4.3 Splash Screen
54
Splash Screen berfungsi sebagai informasi singkat tentang aplikasi dan akan
tampil selama kurang lebih tiga detik.
2. Menampilkan Form Utama Aplikasi
Kemudian muncul halaman utama dari aplikasi sebagai berikut :
Gambar 4.4 Form Utama Aplikasi
Halaman utama aplikasi masih kosong, karena belum digunakan untuk
menguji citra tulang rahang. Dalam form utama aplikasi ini terdapat beberapa
komponen, sebagai berikut:
1. Komponen Buka File
Komponen ini berfungsi untuk membuka citra - citra yang akan diuji.
2. Komponen Pengolahan Citra
Di dalam komponen pengolahan citra mempunyai beberapa bagian yang
pada inti bertujuan untuk menampilkan hasil dari proses pengolahan citra yang
55
sudah diuji sehingga hasil yang didapatkan mudah untuk dianalisa. Bagian
bagian tersebut adalah sebagai berikut ini :
a) Citra asli, hasil ekualisasi dan proses otsu
Pada bagian ini akan menampilkan citra asli dari citra tulang yang diuji
serta kemudian diikuti oleh citra hasil dari analisa ekualisasi dan proses otsu. Citra
yang ditampilkan juga disertai dengan histogram dari citra yang sudah diuji
sebelumnya.
b) Setup
Apabila citra yang diuji telah diketahui jumlah pikselnya, dimana agar
citra tersebut dapat dikenali apakah masuk ke dalam golongan tulang normal
ataukah tulang osteoporosis maka dipergunakan SETUP. Penggunaan SETUP
ini pada dasarnya untuk mengatur prosentase warna putih dan hitam sehingga citra
yang diuji dapat diketahui keadaannya.
c) Status citra
Setelah citra berhasil diuji yang hasilnya sudah ditampilkan melalui
histogram dan database maka untuk lebih dapat memudahkan mengetahui hasil
dari pengujian citra, maka ditampilkan status dari citra yang diuji tersebut. Dalam
statusnya, citra yang diuji akan dikenali dengan dua status, yaitu status sebagai
tulang normal dan tulang osteoporosis.
d) Database citra
Sedangkan dalam bagian database citra tulang ini berfungsi untuk
menampilkan jumlah piksel warna hitam dan putih dari citra yang diuji
56
sebelumnya serta data tulang tersebut dapat disimpan secara permanen dalam
database sehingga dapat digunakan kembali.
e) Simpan
Setelah citra dibuka, citra selanjutnya akan dianalisa maka akan
ditampilkan hasil yang didapatkan. Dari hasil yang sudah didapatkan, maka user
dapat menyimpannya dalam database. Maka disinilah bagian ini berfungi.
f) Navigasi
Bagian navigasi berfungsi untuk menjalankan database dari citra tulang
tangan yang sudah diuji sebelumnya serta sudah disimpan dalam database
tersebut.
3. Keluar
Setelah semua data citra selesai diuji dan hasil yang didapatkan juga sudah
disimpan di database, maka untuk keluar dari aplikasi user tinggal memilih
komponen keluar.
3. Pengujian Aplikasi
Kemudian untuk menguji sebuah citra tulang maka langkah pertama
adalah memilih tombol buka file. Setelah aplikasi ready akan meminta input file
citra tulang yang berbentuk file image bitmap gray scale 24 bit tersebut. Seperti
digambarkan sebagai berikut :
57
Gambar 4.5 Memilih Image Tulang
Jika citra tulang telah dibuka maka akan ditampilkan citra tulang tersebut
dalam kondisi sebenarnya. Untuk dapat menampilkan dalam kondisi diekualisasi
dan setelah dikenai threshold otsu maka dipilih tombol analisa yang terdapat pada
form utama aplikasi. Bagian bawah adalah hasil akhir threshold otsu sekaligus
hasil pengujian tulang.
Setiap proses pengujian terdapat tampilan grafik histogram citra.
Histogram citra asli, citra hasil ekualisasi, dan citra otsu ditampilkan untuk
memperjelas perbedaan masing-masing. Berikut tampilan proses pengujian citra
tulang - tulang tersebut :
58
Gambar 4.6 Pengujian Tulang
Dari hasil pengujian tulang pada gambar 4.6 menunjukkan bahwa tulang
yang diuji merupakan tulang normal karena prosentase warna putih (berarti tulang
tersebut sehat) adalah 52.869%. Untuk menentukan batas persentase tersebut
digunakan form setup yang telah disediakan dalam aplikasi. Form setup tersebut
adalah sebagai berikut :
Gambar 4.7 Form Setup Aplikasi
Dalam hal ini, penggunaan setup sebesar 52.869% mengacu dengan
melihat hasil pengklasifikasian dari data hasil citra tersebut diteliti dengan DXA
59
dan jumlah prosentase warna putih dari citra dengan thresholding metode otsu.
Berikut ini tabel hasil dengan setup 52.869% dan telah diklasifikasikan menurut
hasil pemeriksanaan dengan DXA (alat untuk mengukur Bone Mineral Density) :
Citra
Prosentase
Warna Putih (%)
Hasil Dengan DXA
Tulang Normal Tulang Osteoporosis
aa1 53.46
aa2 52.82
aa3 52.2
aa4 52.2
aa5 52.82
aa6 52.14
aa7 52.88
aa8 51.88
aa9 49.52
aa10 53.52
aa11 53.36
aa12 51.34
aa13 52.32
aa14 51.46
aa15 50.68
aa16 51.3
aa17 54.02
aa18 51.4
aa19 53.88
Tabel 4.4 Prosentase Piksel Putih dan klasifikasi Osteoporosis Dengan Thresholding
Metode Otsu Dan Hasil dengan DXA
Dari hasil yang diperoleh, dapat dilihat dari prosentase warna putih citra
yang diteliti menunjukkan bahwa tulang osteoporosis antara 49.52- 52.82% dan
tulang normal 52.88% - 54.02%. Maka dari hasil tersebut dapat digunakan untuk
menentukan batas antara tulang normal dengan osteoporosis dalam setup sebesar
52.869%. Yang artinya jika kadar warna putih dalam tulang tersebut lebih dari
52.869% akan dikenali sebagai tulang normal/sehat, sedangkan apabila citra
60
tersebut kadar warna putih dalam tulang tersebut di bawah 52.869% akan dikenali
sebagai tulang osteoporosis.
4.2 Pembahasan Hasil Penelitian
Citra hasil x-ray tulang merupakan hasil representasi dari keadaan tulang
dengan pemeriksaan radiologi. Citra x-ray tulang merupakan citra skala keabuan
yang dihasilkan dari paparan sinar-x terhadap tulang yang kemudian dipantulkan
dan ditangkap oleh film. Hasil citra x-ray yang didapatkan sangat tergantung pada
materi/bendanya. Daya tembus dari sinar-x berbeda-beda sesuai dengan
materi/benda yang dilaluinya. Benda yang mudah ditembus oleh sinar-x memberi
bayangan berwarna hitam (radiolusen), sedangkan benda yang sulit ditembus
sinar-x memberi bayangan berwarna putih (radioopak). Diantara radiolusen dan
radioopak terdapat bayangan perantara yaitu bayangan yang tidak terlalu hitam
atau radiolusen sedang (moderately radiolucent) dan bayangan tidak terlalu putih
atau radioopak sedang (moderately radio opaque). Diantara radiolusen sedang dan
radioopak sedang terdapat bayangan keputih-putihan (intermediate) (Rasad,
2005).
Dalam penelitian ini memanfaatkan citra hasil dari foto rontgen pada
bagian tulang rahang. Tulang adalah organ yang sudah terbentuk sejak masih
dalam kandungan dan kemudian berlangsung terus sampai dekade kedua dalam
susunan yang teratur. Organ ini merupakan organ yang mendukung struktur
tubuh, melindungi organ-organ internal serta memungkinkan pergerakan atau
perpindahan karena sebagai tempat melekat otot-otot.
61
Dari sisi penting lain tentang informasi yang disebutkan dalam Al-Quran
adalah tahap-tahap pembentukan manusia dalam rahim. Dalam konsep
embriologi, Allah SWT berfirman berkenaan tahap-tahap penciptaan manusia
dalam Surah Al-Muminuun : 14 :
. !.1l> L.l 1l. !.1l> 1l-l -.`. !.1l> -..l !..Ls !..>
.L-l !.>' . ..!: !1l> >, !,. < _.> _,1l.>' _
Arti : Kemudian air mani itu Kami jadikan segumpal darah, lalu segumpal darah itu
Kami jadikan segumpal daging, dan segumpal daging itu Kami jadikan tulang
belulang, lalu tulang belulang itu Kami bungkus dengan daging. kemudian Kami
jadikan Dia makhluk yang (berbentuk) lain. Maka Maha sucilah Allah, Pencipta
yang paling baik.
Disebutkan dalam Surah Al-Muminuun ayat ke-14 menjelaskan proses
penciptaan manusia mulai dari air mani sampai menjadi tulang. Tulang sebagai
jaringan paling tangguh tubuh sehingga menopang aktifitas tubuh merupakan
salah satu keajaiban penciptaan Allah SWT. Tulang yang terbentuk mulai sejak
bayi dalam kandungan dan kemudian berlangsung terus-menerus sampai dekade
kedua dalam susunan teratur. Ketika masih di dalam rahim, mula-mula tulang
terbentuk selanjutnya terbentuklah otot yang membungkus tulang-tulang.
Sebagaimana diuraikan dalam ayat ke-14 surat Al-Muminuun, jaringan tulang
rawan pada embrio di rahim ibu mulanya mengeras dan menjadi tulang keras.
Lalu tulang-tulang ini dibungkus oleh sel-sel otot. Allah menjelaskan
perkembangan ini dalam ayat:..dan segumpal daging itu Kami jadikan tulang
belulang, lalu tulang belulang itu Kami bungkus dengan daging. Sampai saat ini
62
para ahli embriologi beranggapan bahwa tulang dan otot dalam embrio terbentuk
secara bersamaan. Karena, sejak lama banyak orang yang menyatakan bahwa ayat
ini bertentangan dengan ilmu teknologi.
Dalam penelitian ini, untuk pengambilan sampel/bahan dengan
memanfaatkan sinar-x. Sinar-x adalah sinar yang terbentuk dari radiasi gelombang
elektromagnetik yang mempunyai panjang gelombang 10
-7
- 10
-8
cm dan
frekuensi sekitar 1016 -1021 Hz. Sinar-x sering digunakan di berbagai bidang
seperti bidang kedokteran, fisika, kimia, biologi. Dalam bidang medis, sinar-x
umumnya digunakan dalam diagnosis gambar medikal. Al-Quran dalam surat
An-Nuur : 35 memberikan penjelasan/gambaran ide tentang sinar sebagai berikut :
< '. ...l _ ` _.. .:. :>:. !, _!,`.. _!,`..l _
>l>` >l>l !.l ' _: .`, _. :>: .,. .., ,.
,,`s :l>, !., ',_.`, l `l `.... "!. . _ls . _. < .:`.l
_. ',!: . < _... _!.ll < _>, ,`_: ',l. __
Artinya : Allah (Pemberi) cahaya (kepada) langit dan bumi. perumpamaan cahaya
Allah, adalah seperti sebuah lubang yang tak tembus, yang di dalamnya ada
pelita besar. pelita itu di dalam kaca (dan) kaca itu seakan-akan bintang (yang
bercahaya) seperti mutiara, yang dinyalakan dengan minyak dari pohon yang
berkahnya, (yaitu) pohon zaitun yang tumbuh tidak di sebelah timur (sesuatu)
dan tidak pula di sebelah barat(nya), yang minyaknya (saja) Hampir-hampir
menerangi, walaupun tidak disentuh api. cahaya di atas cahaya (berlapis-
lapis), Allah membimbing kepada cahaya-Nya siapa yang Dia kehendaki, dan
Allah memperbuat perumpamaan-perumpamaan bagi manusia, dan Allah
Maha mengetahui segala sesuatu.
63
Dari surat an-Nuur tersebut di atas menggambarkan cahaya Allah
mempunyai kekuatan yang luar biasa sehingga tetap nampak/dapat menyinari
meskipun berada di dalam sebuah benda/tempat yang tak tembus pandang/tak
berlubang. Dari penafsiran ini dan dikaitkan dengan perkembangan teknologi,
maka sifat cahaya Allah tersebut sama dengan sifat sinar-x. Dimana sifat sinar-x
yaitu dapat menembus benda-benda lunak seperti daging dan kulit tetapi tidak
dapat menembus benda-benda keras seperti tulang, gigi dan logam.
Selain itu sinar-X juga mempunyai sifat yang dapat menggelapkan film
sehingga daerah dengan kerapatan lebih rendah akan terlihat lebih gelap pada
negatif film daripada daerah dengan kerapatan tinggi. Maka dengan sifat dapat
diartikan bahwa lubang atau retak muncul sebagai daerah yang lebih gelap,
sedangkan inklusi tembaga pada paduan aluminium muncul lebih terang. Dalam
hal ini, lubang pada tulang dikenali dikenali sebagai gambaran tulang yang
terkena osteoporosis.
Pada penelitian ini sampelnya dengan menggunakan citra x-ray tulang
rahang hasil dari pemeriksaan radiologi sebanyak 19 sampel. Kemudian dari citra
x-ray tulang rahang tersebut diambil (dilakukan pemotongan/dicrop) pada bagian
yang diteliti, yaitu bagian trabekula serta tidak sampai mengenai gigi dari citra-X
pada tulang rahang dengan ukuran 100 x 50 dan dalam format bitmap (BMP).
Sedangkan untuk proses implementasinya yaitu dengan melalui beberapa
proses. Setelah citra dikenali dalam bentuk aslinya yaitu citra gray scale maka
selanjutnya citra akan diekualisasi. Dalam proses ekualisasi ini, citra yang
dihasilkan yaitu citra yang lebih tajam/kelihatan bagian yang putih dan hitam.
64
Dimana dalam proses ekualisasi, dari citra yang diuji dihitung nilai keabuan untuk
setiap keabuan input-nya. Setelah itu, maka nilai keabuannya akan dihitung setiap
baris sampai setinggi citra dan setiap kolom sampai selebar citra, sehingga setiap
titik dari nilai keabuannya diketahui. Agar citra hasil ekualisasi merata, maka
dilakukan proses pemerataan yang mana bertujuan untuk lebih meratakan
histogram ke seluruh jangkuan keabuan agar lebih sempurna.
Selanjutnya, dari proses ekualisasi tersebut dilakukan ke proses otsu yang
bertujuan untuk mencari nilai threshold (ambang) yang tepat agar dapat
memisahkan bagian manakah yang cenderung hitam (osteoporosis) dalam suatu
tulang dan bagian manakah yang cenderung terang / putih (sehat) dalam citra
tulang yang sama. Proses otsu diawali dengan menghitung luas citra yang diuji
(jpixtot). Kemudian proses akan dilanjutkan untuk menghitung mean/nilai rata-
rata dari warna piksel (muT). Dalam proses ini nantinya akan menghitung nilai
piksel setiap baris sampai setinggi citra, yang mana proses ini dimulai dari piksel
awal sampai terakhir serta nilai yang didapatkan akan diakumulasikan.
Selanjutnya juga akan dihitung nilai pikselnya untuk setiap kolom sampai selebar
citra tersebut dan juga serta nilai yang didapatkan akan diakumulasikan. Dari
proses ini akan didapatkan nilai ambang/posisi otsunya. Maka dari nilai
ambang/posisi otsu ini yang digunakan untuk proses ekskusi dalam thresholding.
Dari proses otsu ini langsung dilanjutkan dalam proses thresholding.
Dalam proses thresholding ini sebagai lanjutan dari proses otsu. Yang mana
proses thresholding akan mengeksusi citra hasil otsu berdasarkan nilai ambangnya
(threshold). Dimana dari citra yang diuji apabila nilai pikselnya di bawah nilai
65
ambang maka akan diekskusi menjadi nilai 0 (hitam) dan apabila nilai pikselnya
di atas nilai ambang diekskusi menjadi nili 255 (putih). Walupun sebagai proses
lanjutan dari proses otsu, dalam proses thresholding ini tetap dihitung nilai
keabuan dari citra yang diuji. Dimana nilai keabuan dihitung untuk setiap baris
sampai setinggi citra dan setiap kolom sampai selebar citra tersebut. Setelah nilai
keabuan diketahui, maka dihitung nilai piksel-piksel citra tersebut dan selanjutnya
citra akan mengalami ekskusi. Dalam ekskusi ini, nilai piksel-piksel citra
dibandingkan dengan nilai ambangnya (threshold) yang telah diketahui/diperoleh
dari proses otsu. Dari perbandingan ini maka akan menghasilkan dua keadaan.
Apabila nilai piksel-piksel dari citra lebih kecil dari nilai ambang maka diekskusi
menjadi 0 (hitam). Sedangkan bilamana nilai piksel-piksel dari citra lebih besar
dari nilai ambang maka diekskusi menjadi 255 (putih). Dalam hal ini, warna hitam
merupakan warna dari citra yang dikenali sebagai citra yang osteoporosis.
Sedangkan warna putih adalah warna dari citra yang dikenali sebagai citra yang
sehat/normal.
Setelah semua proses selesai, maka diperoleh hasil yang ditunjukkan pada
tabel 4.5 di bawah ini yang merupakan data jumlah piksel warna putih dan hitam
serta prosentase warna putih dari setiap citra:
Citra
Jumlah
piksel hitam
Jumlah
piksel putih
Prosentase Warna
Putih (%)
aa1 2327 2673 53.46
aa2 2359 2641 52.82
aa3 2390 2610 52.2
aa4 2390 2610 52.2
aa5 2359 2641 52.82
aa6 2393 2607 52.14
aa7 2356 2644 52.88
aa8 2406 2594 51.88
66
aa9 2524 2476 49.52
aa10 2324 2676 53.52
aa11 2332 2668 53.36
aa12 2433 2567 51.34
aa13 2384 2616 52.32
aa14 2427 2573 51.46
aa15 2466 2534 50.68
aa16 2435 2565 51.3
aa17 2299 2701 54.02
aa18 2430 2570 51.4
aa19 2306 2694 53.88
Tabel 4.5 Jumlah piksel warna putih dan hitam prosentase warna putih dari setiap
citra
Setelah diperoleh besar prosentase warna putih dari setiap citra maka
selanjutnya hasil prosentase tersebut diklasifikasikan ke dalam tulang normal dan
osteoporosis dengan sumber dari data citra yang telah diteliti dengan DXA.
Berikut ini hasil prosentase warna putih dalam citra yang diperoleh sebagai
berikut :
67
Citra
Prosentase Warna
Putih (%)
Hasil DXA Hasil Thresholding Metode Otsu
Nilai kebenaran Tulang Normal Tulang
Osteoporosis
Tulang Normal Tulang
Osteoporosis
aa1 53.46 Benar Terklasifikasi
aa2 52.82 Benar Terklasifikasi
aa3 52.2 Benar Terklasifikasi
aa4 52.2 Benar Terklasifikasi
aa5 52.82 Benar Terklasifikasi
aa6 52.14 Benar Terklasifikasi
aa7 52.88 Benar Terklasifikasi
aa8 51.88 Benar Terklasifikasi
aa9 49.52 Benar Terklasifikasi
aa10 53.52 Benar Terklasifikasi
aa11 53.36 Benar Terklasifikasi
aa12 51.34 Salah Terklasifikasi
aa13 52.32 Benar Terklasifikasi
aa14 51.46 Benar Terklasifikasi
aa15 50.68 Benar Terklasifikasi
aa16 51.3 Benar Terklasifikasi
aa17 54.02 Benar Terklasifikasi
aa18 51.4 Benar Terklasifikasi
aa19 53.88 Salah Terklasifikasi
Tabel 4.6 Klasifikasi prosentase warna putih dari setiap citra
68
Dari data pengujian citra x-ray tulang rahang pada bagian trabekula di
atas, maka tingkat akurasi yang diperoleh :
= 89.47%
Dalam akurasi, jumlah nilai kebenaran diambil dari hasil analisa yang sama dari
hasil pengujian dengan thresholding metode otsu dibandingkan hasil DXA.
Pada penelitian ini memanfaatkan citra x-ray tulang rahang (dental
panoramic) dengan menggunakan thresholding metode otsu dapat mendeteksi
tulang normal atau tulang osteoporosis. Setelah dilakukan beberapa proses,
didapatkan nilai threshold (ambang) dari citra grayscale yang memiliki nilai putih
dengan intesitas paling besar sampai hitam dengan intesitas paling rendah. Setelah
diketahui nilai ambang dari citra gray scale maka dapat diketahui kondisi tulang
tersebut, apabila diatas lebih dari ambang batas yang ditentukan maka tulang
tersebut adalah tulang normal, dan jika kurang dari ambang batas maka tulang
tersebut cenderung osteoporosis.
Setelah dilakukan pengujian dengan thresholding metode otsu pada citra
x-ray tulang rahang yang hasil klasifikasinya menunjukkan tingkat akurasi
kebenaran sebesar 89.47%. Dari nilai tingkat akurasi yang telah didapatkan
tersebut menunjukkan ketepatan yang cukup tinggi. Ini menunjukkan bahwa
adanya perbedaan antara group osteoporosis dan normal, sehingga aplikasi yang
dibuat dapat digunakan untuk mendeteksi osteoporosis.
69
Dalam penentuan prosentase warna piksel putih yang digunakan untuk
patokan/standart agar tulang dapat dikenali sebagai tulang osteoporosis/normal
mempunyai keterkaitannya dengan Al-Quran. Keterkaitan dijelaskan melalui
firman Allah swt dalam surat Al-Qamar : 49:
!.| _ ,`_: ..1l> .1, __
Arti : Sesungguhnya Kami menciptakan segala sesuatu menurut ukuran
Dari surat al-Qamar ayat 49 dapat dijelaskan bahwa Allah swt
menciptakan segala sesuatu di alam ini sesuai dengan ukurannya. Ukuran yang
diberikan Allah swt adalah sesuai dengan kebutuhan manusia. Keterkaitan surat
al-Qamar:49 dalam penelitian ini yaitu digunakannya nilai prosentase warna
piksel putih sebesar 52.869%. Nilai/ukuran ini dikenali sebagai batas minimal
prosentase warna piksel putih dari sebuah citra yang diujikan. Apabila prosentase
warna piksel putihnya di bawah 52.869% maka dikenali sebagai tulang
osteoporosis, sedangkan apabila prosentase warna piksel putihnya di atas
52.869% maka dikenali sebagai tulang normal.
Hasil dari penelitian ini sejalan dengan penelitian terdahulu, dimana tulang
rahang dapat digunakan untuk mendeteksi osteoporosis, bedanya penelitian
terdahulu mengukur ketebalan bagian kortikal (Arifin, 2006, Taguchi et al, 1996).
Penelitian ini diharapkan agar penulis dapat menjadi seorang ilmuwan
yang ulul albab. Ditinjau dari pengertian lughawi, kata Albab adalah bentuk jamak
dari kata lubb yang berarti saripati sesuatu. Sehingga ulul albab adalah orang-
orang yang memiliki akal yang murni, yang tidak diselubungi oleh ide-ide yang
menimbulkan kerancuan dalam berfikir.
70
Ulul albab adalah intelektual muslim yang bukan sekedar sarjana tetapi
intelektual yang benar-benar merasa terpanggil untuk memperbaiki masyarakat
dan bangsanya, menangkap aspirasi kemudian merumuskan dan menawarkan
strategi serta alternatif pemecahannya. Tegasnya, intelektual bukan sekedar orang
yang hanya dapat berbicara di mimbar, dan kerja di belakang meja, melainkan
orang yang mempunyai konsep sekaligus mampu mengaplikasikannya. Dalam
islam, seseorang intelektual bukan sekedar orang yang sanggup melahirkan
gagasan normatif dan aplikasinya, tetapi sekaligus memahami ajaran dan sejarah
agamanya. Artinya, intelektual muslim harus menguasai ajaran-ajaran agamanya.
Ulul albab merupakan intelek yang membangun kepribadiannya dengan
dzikir dalam keadaan dan situasi apapun, sehingga mampu memanfaatkan gejala,
proses, dan sarana alamiah ini untuk kemaslahatan dan kebahagiaan seluruh umat.
Sehingga orang yang berzikir dan berfikir (secara murni) atau merenungkan
tentang fenomena alam raya, diharapkan dapat sampai kepada bukti yang sangat
nyata tentang keesaan dan kekuasaan Allah swt. Kata ulul albab dalam Al-Qur'an
terulang sebanyak 16 kali. Salah satu surah terkait adalah surah Az-Zumar: 9:
_. > .. ,!., _,l .>!. !.! '.> :> `>, .- ., _
_> _.`. _ .-, _ .l-, !..| `.., l` .,l _
Arti : (apakah kamu Hai orang musyrik yang lebih beruntung) ataukah orang yang
beribadat di waktu-waktu malam dengan sujud dan berdiri, sedang ia takut kepada
(azab) akhirat dan mengharapkan rahmat Tuhannya? Katakanlah: "Adakah sama
orang-orang yang mengetahui dengan orang-orang yang tidak mengetahui?"
Sesungguhnya orang yang berakallah yang dapat menerima pelajaran.
71
Keterkaitan surah az-Zumar ayat 9 dengan penelitian ini adalah di mana
manusia dituntut untuk bersyukur apa yang telah diciptakan Allah SWT di sekitar
kita dengan tujuan mengharapkan rahmat-Nya. Contohnya adalah dalam
penciptaan manusia seperti terbentuknya tulang mulai masih dalam kandungan.
Tentunya hal ini tidak hanya sekedar diciptakan tanpa ada manfaatnya. Manusia
hendaknya berfikir dengan manfaat yang dapat diambil dari tulang. Manfaat
penting dari tulang salah satunya adalah tempat melekatnya otot-otot sehingga
manusia dapat melakukan aktifitas sehari-hari. Untuk itulah kita sebagi orang
yang berilmu hendaknya meneladari ciri-ciri sebagai seorang yang ulul albab dan
menerapkannya untuk kemaslahatan umat.
Salah satu karakteristik ulul albab adalah orang yang selalu sadar akan
kehadiran Allah dalam segala situasi dan kondisi, baik saat bekerja maupun
beristirahat, dan berusaha mengenali Allah dengan dzikir serta mengenali alam
semesta dengan akal, sehingga sampai kepada bukti yang sangat nyata tentang
keesaan dan kekuasaan Allah SWT. Firman dalam surat Ali 'Imron: 190-191):
_| _ _l> ,...l _ .l.> _,l !.l ., _|` .,l
_ _ `., < !.., :`- _ls ,`.`> `., _ _l>
,.,.l _ !.`, !. 1l> ..> L., ,..>,. !.1 ,.s !.l _
Arti : "Sesungguhnya dalam penciptaan langit dan bumi, dan silih bergantinya malam
dan siang terdapat tanda-tanda bagi orang-orang yang berakal. (yaitu) orang-
orang yang mengingat Allah sambil berdiri atau duduk atau dalam keadan
berbaring dan mereka memikirkan tentang penciptaan langit dan bumi (seraya
berkata): "Ya Tuhan Kami, Tiadalah Engkau menciptakan ini dengan sia-sia,
Maha suci Engkau, Maka peliharalah Kami dari siksa neraka."
72
Dengan adanya penelitian ini, kita akan semakin terdorong untuk
senantiasa memikirkan kebesaran Allah dengan mengambil manfaat dari
ciptaaNya. Karena tak ada satupun ciptaanNya yang sia-sia di muka bumi ini.
Sebagai sarjana fisika hendaknya mempunyai atau meneladani sifat ulul
albab sekaligus sifat yang dekat dengan Allah. Selain itu juga sarjana fisika yang
ulul albab diharapkan suka merenungkan dan mengkaji ayat-ayat Allah baik yang
tanziliyah (wahyu) maupun yang kauniyah (alam semesta), dan berusaha
mengungkapkan pelajaran darinya.
Dengan demikian seorang sarjana fisika yang ulul albab diharapkan ia
bukan sekedar ilmuwan atu intelektual. Yang mana dalam diri ulul albab terpadu
sifat orang yang dekat dengan Allah. Dalam dunia pendidikan dewasa ini, sangat
diharapkan perguruan tinggi mampu mencetak sosok sarjana yang mempunyai
kemampuan keilmuan dan kepribadian seperti itu. Seorang sarjana yang benar-
benar sarjana, bukan hanya sekedar sarjana.
73
BAB V
PENUTUP
5.1 Kesimpulan
Dari hasil simulasi dan analisa tentang deteksi osteoporosis dengan
thresholding metode Otsu yang telah diuraikan maka dapat ditarik kesimpulan
sebagai berikut:
1. Dengan tresholding metode otsu dapat digunakan sebagai metode
alternatif untuk mendeteksi osteoporosis pada citra x-ray tulang rahang.
2. Dari pengujian pada citra x-ray tulang rahang dari objek trabekula yang
dilakukan dengan metode alternatif yang dibuat dapat dimanfaatkan untuk
mendeteksi osteoporosis dengan tingkat akurasi sebesar 89,47%.
5.2 Saran
Dari hasil kesimpulan yang diperoleh, maka ada beberapa saran yang perlu
menjadi bahan pertimbangan, yaitu :
1. Untuk memperoleh hasil yang lebih baik sebaiknya dilakukan penelitian
lebih lanjut dengan melakukan perbaikan pada kuantitas dan kualitas dari
data citra x-ray yang diuji serta dengan mengunakan metode lain.
2. Perlu dilakukan penelitian lanjutan pada bagian tulang tulang yang
lainnya dengan citra x-ray agar hasil yang didapatkan lebih valid guna
mendapatkan metode baru untuk mendeteksi tulang normal atau
osteoporosis.
73
74
DAFTAR PUSTAKA
Abidin, Zainal. 2009 . Analisa Kerapatan Trabecular Bone Berbasis Graph
Berbobot Pada Citra Panorama Gigi Untuk Identifikasi Osteoporosis
Vol. 7, No. 3 Januari. Jurusan Teknik Informatika, Fakultas Teknologi
Informasi, Institut Teknologi Sepuluh Nopember. Surabaya
Ahmad, Balza dan Firdausy, Kartika. 2005. Teknik Pengolahan Citra Digital
Menggunakan Delphi. Yogyakarta : Ardi publishing
Ahmad, Usman. 2005. Pengolahan Citra Digital dan Teknik
Pemrogramannya. Yogyakarta : Graha Ilmu
American College of Rheumatology. 2007. Osteoporosis, etiology and
Pathogenesis. http://www.rheumatology.org
Bertalya, Prihandoko, Djati Kerami. 2008. Penggunaan fitur tekstur local Pada
klasifikasi citra x-ray. Fakultas Ilmu Komputer dan Teknologi Informasi
Universitas Gunadarma : Jakarta
Chandra Wijaya, Marvin dan Tjiharjadi, Semuil. 2009. Mencari Nilai Threshold
Yang Tepat Untuk Perancangan Pendeteksi Kanker Trofoblas.
Jurusan Sistem Komputer, Fakultas Teknik,Universitas Kristen Maranatha
: Bandung
Consensus development conference. 1993. Diagnosis, Prophylaxis, and
Treatment of osteoporosis. Am J Med
Famalia, Sikna. 2009. Ekstraksi Karakter Berdasarkan Multilevel
Thresholding Dan Region Growing. Institus Teknologi Telkom :
Bandung
Gabriel, J.F. 1996. Fisika Kedokteran . Penerbit Buku Kedokteran; EGC :
Jakarta
Gomez, Joan. 2006. Awas Pengeroposan Tulang: Bagaimana Menghindari
dan Menghadapinya. Arcan : Jakarta
Gonzalez, R.C., Woods, R.E. (2004). Digital Image Processing Second Edition.
Prentice Hall, New Jersey
Haris Surahman, Aceng. 2007. The Journey of Soul. Yogyakarta : Uswah
Indra. 2008. Image Processing Part 1. http://ai.indra-ehm.net/2008/12/image
processing - part 1.html. Diakses 24 Januari 2010
75
Ilyas, Muhammad dan B, Olgavivera. 2005. Identifikasi Osteoporosis pada
Berbagai Kelompok Umur dengan Morfometri Femur dan
Metakarpal di Makassar Vol. 26 No.4 Oktober- Desember. Fakultas
Kedokteran, Universitas Hasanuddin : Makassar
K, Fukunage. 1972. Introduction to Statisticul Pattern Recogniition. New York
: Academic, , pp
Mulyono, Agus. 2008. Analisis Tekstur Citra X-Ray Tulang Tangan, Tulang
Lutut, Dan Tulang Rahang Untuk Deteksi Osteoporosis. Tesis,
Program Pascasarjana, Universitas Brawijaya : Malang
Munir, Rinaldi. 2004. Pengolahan Citra Digital Dengan Pendekatan
Algoritmik. Bandung : Informatika Bandung
Munir, Rinaldi. 2006. Aplikasi Image Thresholding Untuk Segmentasi Objek.
Sekolah Teknik Elektro dan Informatika. Institut Teknologi Bandung
Noboyuki, Otsu. 1979. A Threshold Selection Method from gray Level
histogram . IEEE Transantions on Systems, MAN Cybernetics, Vol.
SMC-9, No. 1. Janvani
Putra, Darma. 2004. Binerisasi Citra Tangan Dengan Metode Otsu Vol.3 No.2
Juli - Desember. Jurusan Teknik Elektro. Universitas Udayana
Sigit, Riyanto dkk. 2005. Step By Step Pengolahan Citra Digital. Yogyakarta :
Penerbit Andi
Susilawati, Indah. 2009. Teknik Pengolahan Citra. Program Studi Teknik
Elektro. Universitas Mercu Buana Yogyakarta
Ulfah, Nur Yunika. 2008. Epdiomologi Asupan Gizi Osteoporosis. www.
Wikipedia org/wiki. Diakses tanggal 01 April 2009
Zaviera VJ, Ghelman B. 2007. Osteoporosis: Deteksi Dini, Penanganan dan
Terapi Praktis. Kata Hati : Yogyakarta
76
Lampiran 1. Splash Screen
Lampiran 2. Form Utama Aplikasi
77
Lampiran 3. Memilih Image Tulang
Lampiran 4. Pengujian Tulang
78
Lampiran 5. Form Setup Aplikasi
Lampiran 6. Data Citra Tulang Rahang
Citra Tulang
Rahang
Status
Keterangan
Hasil DXA Hasil Thresholding Metode Otsu
aa1 Normal Normal
aa2 Osteoporosis Osteoporosis
aa3 Osteoporosis Osteoporosis
aa4 Osteoporosis Osteoporosis
aa5 Osteoporosis Osteoporosis
aa6 Osteoporosis Osteoporosis
aa7 Normal Normal
aa8 Osteoporosis Osteoporosis
aa9 Osteoporosis Osteoporosis
79
aa10 Normal Normal
aa11 Normal Normal
aa12 Normal Osteoporosis
aa13 Osteoporosis Osteoporosis
aa14 Osteoporosis Osteoporosis
aa15 Osteoporosis Osteoporosis
aa16 Osteoporosis Osteoporosis
aa17 Normal Normal
aa18 Normal Normal
aa19 Normal Osteoporosis
80
Lampiran 7. Data Citra Tulang Jari Rahang Asli dan Citra Hasil DXA,
Ekualisasi serta Otsu
Citra Asli Tulang
Rahang
Status
Keterangan Citra Hasil
DXA Ekualisasi Otsu
aa1 Normal
aa2 Osteoporosis
aa3 Osteoporosis
aa4 Osteoporosis
aa5 Osteoporosis
aa6 Osteoporosis
aa7 Normal
aa8 Osteoporosis
aa9 Osteoporosis
aa10 Normal
aa11 Normal
aa12 Normal
aa13 Osteoporosis
a14 Osteoporosis
81
aa15 Osteoporosis
aa16 Osteoporosis
aa17 Normal
aa18 Normal
aa19 Normal
Lampiran 8. Jumlah Piksel Warna Putih Dan Hitam Prosentase Warna
Putih Dari Citra Tulang Rahang
Citra
Jumlah
piksel hitam
Jumlah
piksel putih
Prosentase Warna
Putih (%)
aa1 2327 2673 53.46
aa2 2359 2641 52.82
aa3 2390 2610 52.2
aa4 2390 2610 52.2
aa5 2359 2641 52.82
aa6 2393 2607 52.14
aa7 2356 2644 52.88
aa8 2406 2594 51.88
aa9 2524 2476 49.52
aa10 2324 2676 53.52
aa11 2332 2668 53.36
aa12 2433 2567 51.34
aa13 2384 2616 52.32
aa14 2427 2573 51.46
aa15 2466 2534 50.68
aa16 2435 2565 51.3
aa17 2299 2701 54.02
aa18 2430 2570 51.4
aa19 2306 2694 53.88
82
Lampiran 9. Klasifikasi prosentase warna putih dari setiap citra
Citra
Prosentase Warna
Putih (%)
Hasil DXA Hasil Thresholding Metode Otsu
Nilai kebenaran Tulang Normal Tulang
Osteoporosis
Tulang Normal Tulang
Osteoporosis
aa1 53.46 Benar Terklasifikasi
aa2 52.82 Benar Terklasifikasi
aa3 52.2 Benar Terklasifikasi
aa4 52.2 Benar Terklasifikasi
aa5 52.82 Benar Terklasifikasi
aa6 52.14 Benar Terklasifikasi
aa7 52.88 Benar Terklasifikasi
aa8 51.88 Benar Terklasifikasi
aa9 49.52 Benar Terklasifikasi
aa10 53.52 Benar Terklasifikasi
aa11 53.36 Benar Terklasifikasi
aa12 51.34 Salah Terklasifikasi
aa13 52.32 Benar Terklasifikasi
aa14 51.46 Benar Terklasifikasi
aa15 50.68 Benar Terklasifikasi
aa16 51.3 Benar Terklasifikasi
aa17 54.02 Benar Terklasifikasi
aa18 51.4 Benar Terklasifikasi
aa19 53.88 Salah Terklasifikasi
83
Lampiran 10. Listing Ekualisasi
w := Image6.Picture.Width;
h := Image6.Picture.Height;
cKum[0] := nilai pixek ke 0;
for i := 1 to 255 do
begin
cKum[i] := cKum[i-1]+nilai pixel ke i;
end;
for i := 0 to 255 do
begin
Ko[i] := Round(255*cKum[i]/(w*h));
end;
for i:= 0 to h-1 do
begin
PC := Image6.Picture.BitMap.ScanLine[i];
PH := Image5.Picture.BitMap.ScanLine[i];
for j:= 0 to w-1 do
begin
PH[3*j] := Bo[PC[3*j]];
PH[3*j+1] := Go[PC[3*j+1]];
PH[3*j+2] := Ro[PC[3*j+2]];
end;
end;
Lampiran 11. Listing Proses Otsu
jpixtot := image1.picture.Width*image1.picture.Height;
sigmamax := 0;
muT := 0;
for i := 0 to l-1 do
begin
pt := dgray[i]/jpixtot;
muT := muT + i*pt;
end;
for t:= 0 to l-1 do
begin
omega1t := 0;
for i := 0 to t do
84
omega1t := omega1t + dgray[i]/jpixtot;
omega2t := 0;
for i := t+1 to l-1 do
omega2t := omega2t + dgray[i]/jpixtot;
mu1t := 0;
for i := 0 to t do
begin
pt := dgray[i]/jpixtot;
mu1t := mu1t + i*pt/omega1t;
end;
mu2t := 0;
for i := t+1 to l-1 do
begin
pt := dgray[i]/jpixtot;
mu2t := mu2t + i*pt/omega2t;
end;
sigma2b := omega1t*sqr(mu1t-muT)+omega2t*sqr(mu2t-muT);
if sigma2b > sigmamax then
begin
sigmamax := sigma2b;
totsu := t;
end;
end;
otsu := tposisi[totsu];
Lampiran 12. Listing Thresholding
for i:= 0 to Image1.Picture.Height-1 do
begin
PC := Image5.Picture.Bitmap.ScanLine[i];
PH := Image8.Picture.Bitmap.ScanLine[i];
for j:= 0 to Image1.Picture.Width-1 do
begin
gray := Round((PC[3*j]+PC[3*j+1]+PC[3*j+2])/3);
85
if (gray < Ambang) then
begin
PH[3*j] := 0;
PH[3*j+1] := 0;
PH[3*j+2] := 0;
inc(hitam);
end
else
begin
PH[3*j] := 255;
PH[3*j+1] := 255;
PH[3*j+2] := 255;
inc(putih);
end
end;
Listing 13. Setup
porsiputih:=hitam/(putih+hitam)*100;
if porsihitam>=strtofloat(fsetup.dbedit1.text) then
label11.Caption:='Normal (hitam : '+floattostr(porsiputih)+'
%)'
else

label11.Caption:='Osteoporosis(hitam:'+floattostr(porsiputih)+'
%)';
Lampiran 14. Listing Program Keseluruhan
unit unitutama;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, XPMan, ComCtrls, Menus, ExtDlgs,
DB,
86
DBTables,strutils, DBCtrls, Grids, DBGrids, ADODB;
type
TForm1 = class(TForm)
XPManifest1: TXPManifest;
Panel1: TPanel;
Button1: TButton;
Button3: TButton;
TabControl1: TTabControl;
ScrollBox1: TScrollBox;
StatusBar1: TStatusBar;
OpenPictureDialog1: TOpenPictureDialog;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Image1: TImage;
Panel5: TPanel;
Image2: TImage;
Panel6: TPanel;
Panel7: TPanel;
Panel8: TPanel;
Image3: TImage;
Panel9: TPanel;
Panel18: TPanel;
Panel19: TPanel;
Panel20: TPanel;
Image9: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
87
Panel14: TPanel;
Panel15: TPanel;
Panel16: TPanel;
Image11: TImage;
Panel17: TPanel;
Image12: TImage;
Panel25: TPanel;
Panel26: TPanel;
Panel27: TPanel;
Image18: TImage;
Panel28: TPanel;
Image5: TImage;
Panel29: TPanel;
Panel30: TPanel;
Panel31: TPanel;
Image23: TImage;
Panel32: TPanel;
Image8: TImage;
Image4: TImage;
Button2: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Panel33: TPanel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Panel34: TPanel;
Panel35: TPanel;
Image14: TImage;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
DBImage1: TDBImage;
DBImage3: TDBImage;
DBImage4: TDBImage;
88
DBText1: TDBText;
DataSource1: TDataSource;
ADOConnection1: TADOConnection;
TCitra: TADOTable;
Button8: TButton;
Button9: TButton;
Button10: TButton;
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Panel3MouseDown(Sender: TObject; Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel3MouseMove(Sender: TObject; Shift: TShiftState;
X,
Y: Integer);
procedure Image2Click(Sender: TObject);
procedure TabControl1Change(Sender: TObject);
procedure Panel7MouseDown(Sender: TObject; Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel7MouseMove(Sender: TObject; Shift: TShiftState;
X,
Y: Integer);
procedure Image3Click(Sender: TObject);
procedure hitunghistogram(max:integer; gpicture:Tpicture);
procedure gambarhistogram(var img2 : Timage; pan : Tpanel);
function otsu:integer;
procedure tab0;
procedure tab1;
procedure tab1b;
procedure ekualisasi;
procedure tab2;
// procedure olah;
procedure Panel11MouseDown(Sender: TObject; Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
89
procedure Panel15MouseDown(Sender: TObject; Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure threshold(ambang:integer;var hitam,putih : integer);
procedure Panel19MouseDown(Sender: TObject; Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel19MouseMove(Sender: TObject; Shift:
TShiftState; X,
Y: Integer);
procedure Image9Click(Sender: TObject);
procedure Panel30MouseDown(Sender: TObject; Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel22MouseDown(Sender: TObject; Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel26MouseDown(Sender: TObject; Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel22MouseMove(Sender: TObject; Shift:
TShiftState; X,
Y: Integer);
procedure Panel26MouseMove(Sender: TObject; Shift:
TShiftState; X,
Y: Integer);
procedure Panel11MouseMove(Sender: TObject; Shift:
TShiftState; X,
Y: Integer);
procedure Panel15MouseMove(Sender: TObject; Shift:
TShiftState; X,
Y: Integer);
procedure Panel30MouseMove(Sender: TObject; Shift:
TShiftState; X,
Y: Integer);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
90
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Prosesfile;
procedure Button9Click(Sender: TObject);
procedure TCitraAfterScroll(DataSet: TDataSet);
procedure Button10Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
psx, psy : integer;
nfile,fc : string;
dgray : array [0..255] of byte;
tposisi : array[0..255] of integer;
Picture: TPicture;
c, cR, cG, cB: array [0..255] of integer;
l, cMax,hitam,putih: integer;
implementation
uses Usetup;
type
LogPal = record
lpal: TLogPalette;
entry: array [0..255] of TPaletteEntry;
end;
var
PaletKeabuan: LogPal;
{$R *.dfm}
{procedure TForm1.Olah; //bikin grayscale
var
i, j: integer;
91
PC, PH: PByteArray;
begin
if (Image1.Picture.Bitmap.PixelFormat = pf8bit)
then
begin
Image6.Picture.Bitmap.PixelFormat := pf8bit;
Image6.Picture.Bitmap.Palette :=
CreatePalette(PaletKeabuan.lpal);
for i:= 0 to Image1.Picture.Height-1 do
begin
PC := Image1.Picture.BitMap.ScanLine[i];
PH := Image6.Picture.BitMap.ScanLine[i];
for j:= 0 to Image1.Picture.Width-1 do
PH[j] := Round((PC[3*j]+PC[3*j+1]+PC[3*j+2])/3);
end;
end;
if (Image1.Picture.Bitmap.PixelFormat = pf24bit)
then
for i:= 0 to Image1.Picture.Height-1 do
begin
PC := Image1.Picture.BitMap.ScanLine[i];
PH := Image6.Picture.BitMap.ScanLine[i];
for j:= 0 to Image1.Picture.Width-1 do
begin
PH[3*j] := Round((PC[3*j]+PC[3*j+1]+PC[3*j+2])/3);
PH[3*j+1] := Round((PC[3*j]+PC[3*j+1]+PC[3*j+2])/3);
PH[3*j+2] := Round((PC[3*j]+PC[3*j+1]+PC[3*j+2])/3);
end;
end;
end;
}
procedure TForm2. ekualisasi; //melakukan ekualisasi
var
i, j, w, h: integer;
cKum, cRKum, cGKum, cBKum: array [0..255] of integer;
92
Ko, Ro, Go, Bo: array [0..255] of byte;
PC, PH: PByteArray;
begin
hitunghistogram(0,Image1.picture);
w := Image1.Picture.Width;
h := Image1.Picture.Height;
if (Image1.Picture.Bitmap.PixelFormat = pf8bit)
then
begin
Image5.Picture.Bitmap.PixelFormat := pf8bit;
Image5.Picture.Bitmap.Palette :=
CreatePalette(PaletKeabuan.lpal);
cKum[0] := c[0];
for i := 1 to 255 do
cKum[i] := cKum[i-1]+c[i];
for i := 0 to 255 do
Ko[i] := Round(255*cKum[i]/(w*h));
for i:= 0 to h-1 do
begin
PC := Image1.Picture.BitMap.ScanLine[i];
PH := Image5.Picture.BitMap.ScanLine[i];
for j:= 0 to w-1 do
PH[j] := Ko[PC[j]];
end;
end;
if (Image1.Picture.Bitmap.PixelFormat = pf24bit)
then
begin
cRKum[0] := cR[0];
cGKum[0] := cG[0];
cBKum[0] := cB[0];
for i := 1 to 255 do
begin
cRKum[i] := cRKum[i-1]+cR[i];
cGKum[i] := cGKum[i-1]+cG[i];
cBKum[i] := cBKum[i-1]+cB[i];
end;
for i := 0 to 255 do
93
begin
Ro[i] := Round(255*cRKum[i]/(w*h));
Go[i] := Round(255*cGKum[i]/(w*h));
Bo[i] := Round(255*cBKum[i]/(w*h));
end;
for i:= 0 to h-1 do
begin
PC := Image1.Picture.BitMap.ScanLine[i];
PH := Image5.Picture.BitMap.ScanLine[i];
for j:= 0 to w-1 do
begin
PH[3*j] := Bo[PC[3*j]];
PH[3*j+1] := Go[PC[3*j+1]];
PH[3*j+2] := Ro[PC[3*j+2]];
end;
end;
end;
end;
//hitung histogram untuk semua hasil olah warna
procedure Tform1.hitunghistogram(max:integer; gpicture:Tpicture);
var
i, j: integer;
PC: PByteArray;
begin
picture := gpicture;
if (Picture = nil) then
exit;
if (Picture.Bitmap.PixelFormat = pf8bit) then
begin
for i := 0 to 255 do
c[i] := 0;
for i:= 0 to Picture.Height-1 do
begin
PC := Picture.Bitmap.ScanLine[i];
for j:= 0 to Picture.Width-1 do
Inc(c[PC[j]]);
94
end;
if (max <> 0) then
cMax := max
else
begin
cMax := 0;
l := 0;
for i := 0 to 255 do
begin
if (c[i] > cMax) then
cMax := c[i];
if (c[i]<> 0) then
begin
tposisi[l] := i;
dgray[l] := c[i];
inc(l);
end;
end;
end;
end;
if (Picture.Bitmap.PixelFormat = pf24bit) then
begin
for i := 0 to 255 do
begin
cR[i] := 0;
cG[i] := 0;
cB[i] := 0;
end;
for i:= 0 to Picture.Height-1 do
begin
PC := Picture.Bitmap.ScanLine[i];
for j:= 0 to Picture.Width-1 do
begin
Inc(cB[PC[3*j]]);
Inc(cG[PC[3*j+1]]);
Inc(cR[PC[3*j+2]]);
end;
end;
95
if (max <> 0) then
cMax := max
else
begin
cMax := 0;
l:=0;
for i := 0 to 255 do
begin
if (cR[i] > cMax) then
cMax := cR[i];
if (cG[i] > cMax) then
cMax := cG[i];
if (cB[i] > cMax) then
cMax := cB[i];
if (cMax<> 0) then
begin
tposisi[l] := i;
// gray := Round((PC[3*j]+PC[3*j+1]+PC[3*j+2])/3);
dgray[l] := round((cR[i]+cG[i]+cB[i])/3);
inc(l);
end;
end;
end;
end;
end;
//proses otsu, cari garis threshold
function Tform1.otsu : integer;
var t,i, jpixtot, totsu : integer;
pt, muT, omega1t, omega2t, mu1T, mu2T : real;
sigma2b, sigma2b1, sigmaMax : real;
begin
jpixtot := image1.picture.Width*image1.picture.Height;
sigmamax := 0;
muT := 0;
96
for i := 0 to l-1 do
begin
pt := dgray[i]/jpixtot;
muT := muT + i*pt;
end;
for t:= 0 to l-1 do
begin
omega1t := 0;
for i := 0 to t do
omega1t := omega1t + dgray[i]/jpixtot;
omega2t := 0;
for i := t+1 to l-1 do
omega2t := omega2t + dgray[i]/jpixtot;
mu1t := 0;
for i := 0 to t do
begin
pt := dgray[i]/jpixtot;
mu1t := mu1t + i*pt/omega1t;
end;
mu2t := 0;
for i := t+1 to l-1 do
begin
pt := dgray[i]/jpixtot;
mu2t := mu2t + i*pt/omega2t;
end;
sigma2b := omega1t*sqr(mu1t-muT)+omega2t*sqr(mu2t-muT);
if sigma2b > sigmamax then
begin
sigmamax := sigma2b;
totsu := t;
end;
end;
otsu := tposisi[totsu];
end;
97
//untuk menggambar histogram
procedure Tform1.gambarhistogram(var img2 : Timage;pan : Tpanel );
var
i, w, h: integer;
img : Timage;
begin
// img.Destroy;
img := Timage.Create(self);
img.Parent := pan;
img.Align := alclient;
if (Picture = nil) then
exit;
w := 290;
h := 190;
img.Canvas.Pen.Color := clBlack;
img.Canvas.Brush.Color := clWhite;
img.Canvas.Pen.Color := clSkyBlue;
img.Canvas.MoveTo(10, h);
img.Canvas.LineTo(10, 10);
img.Canvas.MoveTo(10, h);
img.Canvas.LineTo(w, h);
if (Picture.Bitmap.PixelFormat = pf8bit) then
begin
img.Canvas.Pen.Color := clBlack;
for i := 0 to 254 do
begin
img.Canvas.MoveTo(10+i, h-Round(c[i]/cMax*150));
img.Canvas.LineTo(11+i, h-Round(c[i+1]/cMax*150));
end;
end;
if (Picture.Bitmap.PixelFormat = pf24bit) then
begin
for i := 0 to 254 do
begin
img.Canvas.Pen.Color := clRed;
img.Canvas.MoveTo(10+i, h-Round(cR[i]/cMax*150));
98
img.Canvas.LineTo(11+i, h-Round(cR[i+1]/cMax*150));
img.Canvas.Pen.Color := clGreen;
img.Canvas.MoveTo(10+i, h-Round(cG[i]/cMax*150));
img.Canvas.LineTo(11+i, h-Round(cG[i+1]/cMax*150));
img.Canvas.Pen.Color := clBlue;
img.Canvas.MoveTo(10+i, h-Round(cB[i]/cMax*150));
img.Canvas.LineTo(11+i, h-Round(cB[i+1]/cMax*150));
end;
end;
img2:=img;
end;
//untuk membuat hasil otsu, dimana hasil threshold dijadikan
ambang
procedure Tform1.threshold(ambang:integer;var hitam,putih :
integer);
var
i, j, gray: integer;
PC, PH: PByteArray;
begin
hitam:=0;
putih:=0;
if (Image1.Picture.Bitmap.PixelFormat = pf8bit) then
begin
Image8.Picture.Bitmap.PixelFormat := pf8bit;
Image8.Picture.Bitmap.Palette :=
CreatePalette(PaletKeabuan.lpal);
for i:= 0 to Image1.Picture.Height-1 do
begin
PC := Image5.Picture.Bitmap.ScanLine[i];
PH := Image8.Picture.Bitmap.ScanLine[i];
for j:= 0 to Image1.Picture.Width-1 do
begin
if (PC[j] < ambang) then
begin
PH[j] := 0;
inc(hitam);
end
99
else
begin
PH[j] := 255;
inc(putih);
end;
end;
end;
end;
if (Image1.Picture.Bitmap.PixelFormat = pf24bit)
then
for i:= 0 to Image1.Picture.Height-1 do
begin
PC := Image5.Picture.Bitmap.ScanLine[i];
PH := Image8.Picture.Bitmap.ScanLine[i];
for j:= 0 to Image1.Picture.Width-1 do
begin
gray := Round((PC[3*j]+PC[3*j+1]+PC[3*j+2])/3);
if (gray < Ambang) then
begin
PH[3*j] := 0;
PH[3*j+1] := 0;
PH[3*j+2] := 0;
inc(hitam);
end
else
begin
PH[3*j] := 255;
PH[3*j+1] := 255;
PH[3*j+2] := 255;
inc(putih);
end
end;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
application.Terminate;
100
end;
procedure TForm1.prosesfile;
var hasil : integer;
porsiputih : real;
begin
image5.Picture := image1.Picture;
// image6.Picture := image1.Picture;
image8.Picture := image1.Picture;
// olah;
ekualisasi;
// panel2.Height := image1.Picture.Height+panel3.Height;
// panel2.Width := image1.Picture.Width;
image5.Picture.Bitmap.Width := image1.Picture.Width;
image5.Picture.Bitmap.height := image1.Picture.height;
{ image6.Picture.Bitmap.Width := image1.Picture.Width;
image6.Picture.Bitmap.height := image1.Picture.height;
} image8.Picture.Bitmap.Width := image1.Picture.Width;
image8.Picture.Bitmap.height := image1.Picture.height;
case (Image1.Picture.Bitmap.PixelFormat) of
pf1bit : fc := 'biner';
pf8bit : fc := 'keabuan';
pf24bit : fc := 'true color';
end;
tab0;
label6.Caption :=
inttostr(image1.Picture.width)+'x'+inttostr(image1.Picture.height)
;
label7.Caption := inttostr(image1.Picture.width *
image1.Picture.height);
label8.Caption := fc;
statusbar1.Panels[1].Text := nfile;
hitunghistogram(0,image1.picture);
gambarhistogram(image4,panel9);
// hitunghistogram(0,image6.Picture);
// gambarhistogram(image10,panel13);
101
hitunghistogram(0,image5.Picture);
gambarhistogram(image12,panel17);
hasil := otsu;
hitam:=0;
putih:=0;
threshold(hasil,hitam,putih);
image12.Canvas.Pen.Color := clPurple;
image12.Canvas.MoveTo(10+hasil, 10);
image12.Canvas.LineTo(10+hasil,190);
porsiputih:=putih/(putih+hitam)*100;
if porsiputih>=strtofloat(fsetup.dbedit1.text) then
label11.Caption:='Normal (putih :
'+floattostr(porsiputih)+' %)'
else
label11.Caption:='Osteoporosis (putih :
'+floattostr(porsiputih)+' %)';
label10.Caption := inttostr(hasil);
label9.Caption := inttostr(l);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if openpicturedialog1.Execute then
begin
nfile := openpicturedialog1.FileName;
if nfile <> '' then
begin
image1.Picture.LoadFromFile(nfile);
prosesfile;
button8.Enabled:=true;
end;
end;
end;
procedure Tform1.tab0;
begin
102
// panel18.Visible := true;
// panel6.Visible := true;
// panel2.Visible := true;
// image1.Visible := true;
// image5.Visible := false;
// image6.Visible := false;
/// image8.Visible := false;
// hitunghistogram(0,image1.picture);
// gambarhistogram;
end;
procedure Tform1.tab1;
begin
// panel18.Visible := true;
// panel6.Visible := true;
// panel2.Visible := true;
// image1.Visible := false;
// image6.Visible := true;
// image5.Visible := false;
// image8.Visible := false;
// hitunghistogram(0,image6.Picture);
// gambarhistogram;
// label9.Caption := inttostr(l);
end;
procedure Tform1.tab1b;
begin
panel18.Visible := true;
panel6.Visible := true;
panel2.Visible := true;
image1.Visible := false;
image5.Visible := true;
// image6.Visible := false;
image8.Visible := false;
// hitunghistogram(0,image5.Picture);
// gambarhistogram;
103
// label9.Caption := inttostr(l);
end;
procedure Tform1.tab2;
var hasil,hitam,putih : integer;
begin
// hasil := otsu;
// hitam:=0;
// // putih:=0;
// threshold(hasil,hitam,putih);
// if hitam<putih then label11.Caption:='Normal
'+floattostr(hitam/(putih+hitam)*100);
// if hitam>putih then label11.Caption:='Osteoporosis
'+floattostr(hitam/(putih+hitam)*100);
// label10.Caption := inttostr(hasil);
panel2.Visible := true;
//panel10.Visible := false;
panel6.Visible := true;
image1.Visible := false;
image5.Visible := false;
// image6.Visible := false;
image8.Visible := true;
panel18.Visible := true;
// hitunghistogram(0,image5.Picture);
// gambarhistogram;
// image4.Canvas.Pen.Color := clPurple;
// image4.Canvas.MoveTo(10+hasil, 10);
// image4.Canvas.LineTo(10+hasil,190);
end;
procedure TForm1.Panel3MouseDown(Sender: TObject; Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
psx := x;
psy := y;
end;
104
procedure TForm1.Panel3MouseMove(Sender: TObject; Shift:
TShiftState; X,
Y: Integer);
begin
if shift = [ssLeft] then
begin
panel2.Left := panel2.Left+x-psx;
panel2.Top := panel2.Top+y-psy;
end;
end;
procedure TForm1.Image2Click(Sender: TObject);
begin
panel2.Visible := false;
end;
procedure TForm1.TabControl1Change(Sender: TObject);
begin
if openpicturedialog1.FileName <> '' then
begin
if tabcontrol1.tabindex = 0 then tab0;
if tabcontrol1.tabindex = 1 then tab1;
if tabcontrol1.tabindex = 2 then tab1b;
if tabcontrol1.tabindex = 3 then tab2;
end;
end;
procedure TForm1.Panel7MouseDown(Sender: TObject; Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
psx := x;
psy := y;
end;
procedure TForm1.Panel7MouseMove(Sender: TObject; Shift:
TShiftState; X,
105
Y: Integer);
begin
if shift = [ssLeft] then
begin
panel6.Left := panel6.Left+x-psx;
panel6.Top := panel6.Top+y-psy;
end;
end;
procedure TForm1.Image3Click(Sender: TObject);
begin
panel6.Visible := false;
end;
procedure TForm1.Panel11MouseDown(Sender: TObject; Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
psx := x;
psy := y;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
begin
PaletKeabuan.lPal.palVersion := $300;
PaletKeabuan.lPal.palNumEntries := 256;
for i := 0 to 255 do
begin
dgray[i] := 0;
PaletKeabuan.entry[i].peRed := i;
PaletKeabuan.entry[i].peGreen := i;
PaletKeabuan.entry[i].peBlue := i;
end;
end;
106
procedure TForm1.Panel15MouseDown(Sender: TObject; Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
psx := x;
psy := y;
end;
procedure TForm1.Panel19MouseDown(Sender: TObject; Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
psx := x;
psy := y;
end;
procedure TForm1.Panel19MouseMove(Sender: TObject; Shift:
TShiftState; X,
Y: Integer);
begin
if shift = [ssLeft] then
begin
panel18.Left := panel18.Left+x-psx;
panel18.Top := panel18.Top+y-psy;
end;
end;
procedure TForm1.Image9Click(Sender: TObject);
begin
panel18.Visible := false;
end;
procedure TForm1.Panel30MouseDown(Sender: TObject; Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
psx := x;
psy := y;
107
end;
procedure TForm1.Panel22MouseDown(Sender: TObject; Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
psx := x;
psy := y;
end;
procedure TForm1.Panel26MouseDown(Sender: TObject; Button:
TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
psx := x;
psy := y;
end;
procedure TForm1.Panel22MouseMove(Sender: TObject; Shift:
TShiftState; X,
Y: Integer);
begin
if shift = [ssLeft] then
begin
// panel21.Left := panel21.Left+x-psx;
// panel21.Top := panel21.Top+y-psy;
end;
end;
procedure TForm1.Panel26MouseMove(Sender: TObject; Shift:
TShiftState; X,
Y: Integer);
begin
if shift = [ssLeft] then
begin
panel25.Left := panel25.Left+x-psx;
panel25.Top := panel25.Top+y-psy;
end;
108
end;
procedure TForm1.Panel11MouseMove(Sender: TObject; Shift:
TShiftState; X,
Y: Integer);
begin
if shift = [ssLeft] then
begin
// panel10.Left := panel10.Left+x-psx;
// panel10.Top := panel10.Top+y-psy;
end;
end;
procedure TForm1.Panel15MouseMove(Sender: TObject; Shift:
TShiftState; X,
Y: Integer);
begin
if shift = [ssLeft] then
begin
panel14.Left := panel14.Left+x-psx;
panel14.Top := panel14.Top+y-psy;
end;
end;
procedure TForm1.Panel30MouseMove(Sender: TObject; Shift:
TShiftState; X,
Y: Integer);
begin
if shift = [ssLeft] then
begin
panel29.Left := panel29.Left+x-psx;
panel29.Top := panel29.Top+y-psy;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
panel2.Visible:=true;
109
panel6.Visible:=true;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
//panel21.Visible:=true;
//panel10.Visible:=true;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
panel25.Visible:=true;
panel15.Visible:=true;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
panel29.Visible:=true;
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
panel18.Visible:=true;
end;
procedure TForm1.Button8Click(Sender: TObject);
var no : integer;
begin
Tcitra.Last;
no:= Tcitra.FieldByName('id').Asinteger;
Tcitra.Append;
Tcitra.FieldByName('id').Asinteger:=no+1;
Tcitra.FieldByName('namafile').AsString:=statusbar1.Panels[0].Text
;
dbimage1.Picture:=image1.Picture;
//dbimage2.Picture:=image6.Picture;
dbimage3.Picture:=image5.Picture;
dbimage4.Picture:=image8.Picture;
110
Tcitra.FieldByName('hitam').Asinteger:=hitam;
Tcitra.FieldByName('putih').Asinteger:=putih;
Tcitra.Post;
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
image1.Picture:=dbimage1.Picture;
prosesfile;
end;
procedure TForm1.TCitraAfterScroll(DataSet: TDataSet);
begin
button9.Enabled:=dbimage1.Showing;
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
fsetup.show;
end;
end.

Anda mungkin juga menyukai