PERANCANGAN SISTEM PENGENAL DIGIT ANGKA
METER AIR MENGGUNAKAN JARINGAN SYARAF
TIRUAN KOHONEN
Diajukan untuk memenuhi salah satu persyaratan dalam
menyelesaikan pendidikan sarjana (S-1) pada Departemen Teknik Elektro Sub Konsentrasi Sistem Pengaturan dan Komputer
Oleh
TEGUH TRIANTORO
090402013
DEPARTEMEN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
MEDAN
▸ Baca selengkapnya: dua digit (atau tiga digit) pertama menunjukkan kekuatan tarik minimum dalam…
(2)ABSTRAK
Tugas akhir ini dibuat untuk merancang dan menguji coba sistem yang dapat
mengenali digit angka pada meter air PDAM Tirtanadi di kota Medan dari citra hasil
pemotretan kamera digital telepon selular dengan menggunakan jaringan syaraf tiruan
model Kohonen sebagai metode pengenalannya.
Terdapat beberapa proses yang digunakan dalam pembuatan sistem yaitu
proses akuisisi citra, preprocessing, proses segmentasi, pelatihan menggunakan
jaringan syaraf tiruan model Kohonen dan proses identifikasi digit angka. Pada tahap
akusisi citra menjelaskan objek yang akan dikenali dari meter air. Pada tahap
preprocessing bertujuan untuk meningkatkan kualitas citra pada meter air. Proses
segmentasi bertujuan untuk mengekstraksi karakter dari background. Pada tahap
pelatihan jaringan bertujuan untuk pembentukan suatu database angka yang akan
dibutuhkan pada tahap pengenalan. Tahap identifikasi bertujuan untuk mengenali
angka pada meter air. Analisa dilakukan bertujuan untuk mengetahui kesalahan pada
tahap preprocessing dan identifikasi.
Berdasarkan hasil simulasi, sistem pengenal digit angka yang dibuat telah
berhasil mengenali pola digit angka dengan tingkat akurasi 95.56% dan pengenalan
indikator meter air secara keseluruhan dengan tingkat akurasi 86.67%.
KATA PENGANTAR
Bismillahirrahmanirrahim
Dengan segala kerendahan hati, penulis mengucapkan puji syukur kepada
Allah SWT yang telah memberikan anugerah dan rahmat-Nya yang berlimpah kepada
penulis sehingga penulis dapat menyelesaikan Tugas Akhir yang berjudul:
“Perancangan Sistem Pengenal Digit Angka Meter Air Menggunakan Jaringan
Syaraf Tiruan Kohonen”
Tugas akhir ini dibuat sebagai syarat untuk menyelesaikan pendidikan Sarjana
(S-1) di Departemen Teknik Elektro Fakultas Teknik Universitas Sumatera Utara.
Penulis berharap ke depannya Tugas Akhir ini dapat menjadi inspirasi bagi
mahasiswa dalam mengembangkan penelitian.
Tugas Akhir ini penulis persembahkan kepada yang teristimewa, mereka yang
selama ini telah mendidik dan menjadi contoh terbaik dalam hidup ini, Ananda belum
bisa membahagiakan kalian, semoga Allah memberikan kesempatan untuk itu.
Mereka adalah, Ayahanda tercinta Almarhum Drs. Siswo Suroso, M.SP. yang telah
berpulang kepada-Nya disaat awal penulis memasuki dunia perkuliahan. Beliau
seorang Ayah sekaligus seorang dosen yang sangat penulis kagumi dan sayangi yang
telah banyak memberikan ilmu serta banyak mengambil pelajaran hidup yang sangat
berguna bagi penulis untuk menjalani kehidupan di dunia ini, hingga pada saat awal
penulis menentukan pilihan untuk kuliah dan terakhir berbincang setelah
pengumuman masuk kuliah, tanpa do’a, cinta dan semangatnya penulis tidak akan
iii
perhatiannya sudah menjaga, membimbing dan mendidik hingga penulis menjadi
seperti sekarang ini. Walau kini Ibunda sudah menjadi single parent, namun do’a dan
semangatnya yang tak pernah terhenti diberikan kepada penulis hingga
terselesaikannya Tugas Akhir ini. Selalu menjadi orang tua yang terbaik dan tangguh
buat kami, Bunda. Untuk saudara-saudara penulis Mas Teguh Hariwibowo, S.Farm.,
dan Mas Teguh Haryo Yudanto, S.Kom., penulis ucapkan terima kasih karena telah
selalu mendo’akan, membantu dan men-support penulis dalam setiap kesempatan dan
selalu berharap kelak penulis nantinya mampu menjadi manusia yang berguna.
Dalam proses penyelesaian Tugas Akhir ini, penulis tidak hanya
mengandalkan kemapuan diri sendiri. Begitu banyak pihak yang memberi kontribusi,
baik berupa materi, pikiran, maupun dorongan semangat dan motivasi. Oleh karena
itu melalui kata pengantar ini penulis menyampaikan terima kasih kepada:
1. Bapak Ir. Surya Tarmizi Kasim, M.Si., dan Bapak Rahmad Fauzi, S.T., M.T.,
selaku Ketua dan juga Sekretaris Departemen Teknik Elektro yang
memberikan motivasi dan dukungan serta begitu baik memperlakukan
penulis selama proses pengerjaan Tugas Akhir.
2. Bapak Fahruddin Rizal Batubara, S.T., M.T.I., selaku Dosen Pembimbing
Tugas Akhir penulis yang bersedia dan senantiasa bersabar membimbing,
membantu, memberikan ide dan masukan yang membangun sehingga penulis
termotivasi untuk terus belajar khususnya dalam menyelesaikan Tugas Akhir
3. Bapak Ir. A. Rachman Hasibuan, selaku Dosen Wali penulis yang
membimbing dan mengarahkan penulis sampai menyelesaikan pendidikan
dikampus USU.
4. Bapak Fahmi, S.T., M.Sc., selaku Dosen yang banyak memberikan bantuan,
ide, dan masukan positif yang membangun bagi penulis dalam penelitian
Tugas Akhir ini, sehingga penulis termotivasi untuk membuat suatu
penelitian yang cukup menantang dan terus belajar untuk meraih cita-cita.
5. Seluruh Dosen di Departemen Teknik Elektro USU yang selalu memberikan
contoh, ilmu serta teladan yang baik oleh penulis berupa semangat untuk
terus belajar meraih cita-cita dan seluruh Staf Pegawai di Departemen Teknik
Elektro USU.
6. Seluruh sahabat penulis, Arfan, Rizal, Tondy, Rizky, Hawira, Yuli, Adit,
Agung, Dimas, Faya, Adly, Rizi, Afit, Ahmad, Doni, Fahrul, Eko, Nuzul, dan
teman-teman Teknik Elektro angkatan 2009 lainnya yang tidak bisa penulis
sebutkan satu persatu untuk dorongan semangat dan kebersamaanya selama
penulis bergelut dikampus.
7. Arif, Reza, Budi, Mahdi, Adityas, Fadlan, Royansyah, Bang Recky, Bang
Indra dan Keluarga Besar Laboratorium Sistem Pengaturan & Komputer
USU juga COMLABS USU untuk kritikan yang sangat berharga, serta buat
segala macam tingkah laku kalian yang mengisi hari-hari penulis selama
kuliah hingga Tugas Akhir, penulis harap kita akan terus seperti saudara.
8. Seluruh senior dan junior di Departemen Teknik Elektro, atas bantuan dan
v
9. Bang Teguh, Rhobby, Saddam, Nur, sahabat dan junior yang tidak bisa
penulis sebutkan satu per satu, seluruh robot yang pernah dibuat dan
Keluarga Besar UKM ROBOTIK SIKONEK USU, untuk kebersamaan,
sharing ilmu, pengalaman merakit robot, ikut kompetisi dan banyak
pengalaman yang sangat berharga yang tidak bisa penulis ceritakan. Tetap
semangat walau berat, sukses untuk kita semua!
10.Dani, Yudith, Bang Fran, sahabat dan Bapak/Ibu para pengurus juga donatur
Keluarga Besar Yayasan Karya Salemba Empat untuk bantuan beasiswa,
semangat dan kebersamaan yang tercipta tanpa rencana ini. Semoga kita
dapat bertemu dan berkumpul kembali di satu titik, yaitu KesuKSEsan. Keep
Sharing, Networking, and Developing, Guys!
11.Terakhir, untuk semua orang yang pernah mengisi setiap detik waktu yang
telah dilalui bersama penulis dengan masing-masing ceritanya yang tidak
dapat penulis sebutkan satu per satu. Tanpa kalian pengalaman penulis
tidaklah lengkap, terima kasih.
Tentunya Tugas Akhir ini masih sangat jauh dari sempurna oleh karena itu penulis
senantiasa mengharapkan kritik serta saran demi perbaikan ke depan.
Semoga Tugas Akhir ini bermanfaat bagi seluruh pihak. Terima kasih.
Medan, Juni 2014
DAFTAR ISI
ABSTRAK ... i
KATA PENGANTAR ... ii
DAFTAR ISI ... vi
DAFTAR GAMBAR ... ix
DAFTAR TABEL ... xi
BAB I. PENDAHULUAN 1.1 Latar Belakang Masalah ... 1
1.2 Perumusan Masalah ... 3
1.3 Tujuan Penelitian ... 3
1.4 Batasan Masalah ... 3
1.5 Metodologi Penelitian ... 4
1.6 Sistematika Penulisan ... 5
BAB II. DASAR TEORI 2.1 Meter Air ... 7
2.1.1 Unit Indikator/ Alat Penunjuk ... 8
2.1.2 Tipe Alat Penunjuk ... 8
2.2 Pengolahan Citra ... 9
2.2.1 Akuisisi Citra dan Sampling ... 10
vii
2.2.2.1 Perbaikan Kualitas Citra dan Grayscaling ... 11
2.2.2.2 Peredaman Derau ... 12
2.2.2.3 Ekualisasi Histogram ... 14
2.2.2.4 Segmentasi Citra ... 14
2.3 Sistem Pengenalan Pola ... 14
2.4 Jaringan Syaraf Tiruan ... 16
2.5 Jaringan Syaraf Tiruan Kohonen ... 20
2.5.1 Arsitektur Jaringan Syaraf Tiruan Kohonen ... 20
BAB III. PERANCANGAN SISTEM 3.1 Umum ... 24
3.2 Perancangan Sistem ... 25
3.3 Akuisisi Citra dan Sampling ... 26
3.4 Proses Awal (Preprocessing) ... 27
3.5 Proses Segmentasi ... 32
3.6 Proses Pelatihan Karakter Angka Digit Meter Air Dengan Jaringan Syaraf Tiruan Kohonen ... 37
3.6.1 Preprocessing Tahap Pelatihan ... 38
3.6.2 Proses Pelatihan Angka ... 40
3.7 Proses Identifikasi Digit Angka ... 43
4.1.1 Hasil Uji Coba dengan 10 Sampel Training ... 47
4.1.2 Hasil Uji Coba dengan 30 Sampel Training ... 48
4.2 Pengolahan Hasil Uji Coba ... 49
4.3 Analisa Sistem ... 50
4.3.1 Pengaruh Jumlah Sampel Training ... 50
4.3.2 Analisa Kesalahan Pada Tahap Preprocessing dan Segmentasi ... 50
4.3.2 Analisa Kesalahan Pada Tahap Identifikasi ... 52
BAB V. KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 55
5.2 Saran ... 56
DAFTAR PUSTAKA ... 57
ix
DAFTAR GAMBAR
Gambar 2.1 Meter Air ... 7
Gambar 2.2 Meter Air Analog ... 9
Gambar 2.3 Pengolahan Citra Memungkinkan Perubahan Kontras Pada Citra ... 12
Gambar 2.4 Contoh Penerapan Filter Median ... 13
Gambar 2.5 Struktur Sistem Pengenalan Pola ... 15
Gambar 2.6 Bentuk Dasar Jaringan Syaraf Tiruan ... 17
Gambar 2.7 Arsitektur Jaringan Kohonen ... 21
Gambar 2.8 Vektor w Berupa Vektor 1 Dimensi ... 22
Gambar 2.9 Vektor w Berupa Vektor 2 Dimensi ... 22
Gambar 3.1 Blok Diagram Aplikasi Pengenalan Angka Pada Digit Meter Air ... 25
Gambar 3.2 Akuisisi Citra Meter Air ... 26
Gambar 3.3 Indikator Digit Angka Pada Meter Air ... 27
Gambar 3.4 Diagram Alir Preprocessing ... 28
Gambar 3.5 Hasil Grayscaling Citra ... 29
Gambar 3.6 Hasil Contrasting ... 30
Gambar 3.7 Hasil Ekualisasi Histogram ... 30
Gambar 3.8 Filter Median ... 31
Gambar 3.9 Citra Hasil Proses Binarization ... 31
Gambar 3.10 Diagram Alir Proses Segmentasi ... 33
Gambar 3.13 Diagram Alir Proses Pelatihan ... 38
Gambar 3.14 Citra Angka 6 ... 39
Gambar 3.15 Hasil Grayscaling ... 39
Gambar 3.16 Hasil Proses Binarization dan Resizing ... 40
Gambar 3.17 Proses Pelatihan Angka ... 41
Gambar 3.18 Diagram Alir Proses Identifikasi ... 44
Gambar 4.1 Perbandingan Sebelum dan Sesudah Preprocessing ... 51
Gambar 4.1 Contoh Indikator yang Tidak Diidentifikasi Dengan Benar ... 53
xi
DAFTAR TABEL
Tabel IV.1 Hasil Pengenalan Menggunakan 10 Sampel Training ... 47
Tabel IV.1 Hasil Pengenalan Menggunakan 30 Sampel Training ... 48
Tabel IV.3 Presentasi Keakurasian Pengenalan ... 49
Tabel V.1 Database Kelas Angka dengan 10 Sampel Training ... 58
ABSTRAK
Tugas akhir ini dibuat untuk merancang dan menguji coba sistem yang dapat
mengenali digit angka pada meter air PDAM Tirtanadi di kota Medan dari citra hasil
pemotretan kamera digital telepon selular dengan menggunakan jaringan syaraf tiruan
model Kohonen sebagai metode pengenalannya.
Terdapat beberapa proses yang digunakan dalam pembuatan sistem yaitu
proses akuisisi citra, preprocessing, proses segmentasi, pelatihan menggunakan
jaringan syaraf tiruan model Kohonen dan proses identifikasi digit angka. Pada tahap
akusisi citra menjelaskan objek yang akan dikenali dari meter air. Pada tahap
preprocessing bertujuan untuk meningkatkan kualitas citra pada meter air. Proses
segmentasi bertujuan untuk mengekstraksi karakter dari background. Pada tahap
pelatihan jaringan bertujuan untuk pembentukan suatu database angka yang akan
dibutuhkan pada tahap pengenalan. Tahap identifikasi bertujuan untuk mengenali
angka pada meter air. Analisa dilakukan bertujuan untuk mengetahui kesalahan pada
tahap preprocessing dan identifikasi.
Berdasarkan hasil simulasi, sistem pengenal digit angka yang dibuat telah
berhasil mengenali pola digit angka dengan tingkat akurasi 95.56% dan pengenalan
indikator meter air secara keseluruhan dengan tingkat akurasi 86.67%.
Kata Kunci : Pengenalan Angka, Meter Air, Preprocessing, Jaringan Syaraf Tiruan,
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Meter air merupakan alat untuk mengukur banyaknya air yang digunakan oleh
pelanggan. Alat ini biasa diletakkan di rumah-rumah yang menggunakan penyediaan
air bersih dari pemerintah atau badan-badan usaha, salah satunya PDAM (Perusahaan
Daerah Air Minum) Tirtanadi. Adapun standar dari spesifikasi meter air yang
digunakan harus sesuai SNI (Standar Nasional Indonesia) yang ditetapkan oleh BSN
(Badan Standarisasi Nasional). Sebagai pengukur penggunaan air, alat ini dilengkapi
beberapa karakteristik metrologis salah satunya alat penunjuk yang berfungsi untuk
mengukur volume air yang digunakan dengan satuan meter kubik. Bentuk fisik dari
alat penunjuk salah satunya adalah digit angka. Digit angka dari penunjuk ini
nantinya akan dicatat oleh petugas pencatat meter air setiap bulannya yang datang ke
rumah pelanggan secara manual dengan menggunakan alat tulis dan kartu pencatatan.
Angka yang dicatat oleh petugas tersebut dimasukkan ke dalam program komputer
secara manual diseluruh cabang terkait diproses menjadi tagihan yang harus dibayar
oleh pelanggan. Dengan sistem seperti ini banyak terjadi kelemahan diantaranya data
hasil pencatatan tidak bersifat valid karena bukti petugas mendatangi rumah
pelanggan tidak ada sehingga petugas bisa saja melakukan manipulasi data, begitu
pula angka meter yang diisikan oleh petugas baca meter tidak terverifikasi serta
Di era modern ini, berkembangnya ilmu pengetahuan, teknologi yang cukup
pesat diharapkan akan lebih membantu mempermudah dan mempercepat pekerjaan
manusia. Salah satunya adalah kebutuhan akan aplikasi yang mampu mengenali pola.
Aplikasi ini memiliki peranan penting untuk mampu membaca digit angka pada
meter air. Untuk membuat aplikasi tersebut hendaknya memanfaatkan metode yang
optimal pada proses komputasi dan pengenalan polanya, salah satunya menggunakan
Jaringan Saraf Tiruan (Neural Network). Jaringan Syaraf Tiruan berusaha
memodelkan cara kerja jaringan syaraf manusia sebagai model matematis
berdasarkan pemahaman manusia dibidang biologi tentang saraf otak manusia dengan
menggunakan mekanisme pemrosesan paralel, yaitu neuron sebagai elemen-elemen
pemroses yang saling berhubungan. Keunggulan metode ini adalah kemampuan
belajar yang memecahkan hubungan antara data masukan dan data keluaran yang
rumit. Suatu sistem Jaringan Syaraf Tiruan pada dasarnya akan mempelajari pola
perubahan nilai berdasarkan pola yang terbentuk pada inputnya, oleh karena itu salah
satu penggunaan Jaringan Syaraf Tiruan sebagai Pengenalan Pola (Pattern
Recognition).
Berdasarkan penelitian mengenai pengenalan pola menggunakan Jaringan
Syaraf Tiruan yang terus meningkat, penulis merasa bahwa metode Jaringan Syaraf
Tiruan dapat digunakan untuk membantu mengembangkan sebuah sistem perangkat
lunak untuk pengenalan digit angka meter air. Metode tadi diharapkan dapat
mengurangi permasalahan yang terjadi pada sistem pencatatan meter air, terutama
14
1.2 Perumusan Masalah
Adapun rumusan masalah dari Tugas Akhir ini adalah sebagai berikut:
1. Bagaimana proses akuisi citra yang optimal untuk sistem pengenalan digit
angka meter air.
2. Bagaimana proses filtering terhadap noise dan segmentasi digit angka dari
background.
3. Bagaimana proses ekstraksi masing-masing digit angka yang terdapat pada
meter air.
4. Bagaimana proses pengenalan angka yang telah di ekstraksi.
1.3 Tujuan Penelitian
Merancang aplikasi dengan memanfaatkan pengolahan citra untuk
mengekstraksi masing-masing digit angka dan metode jaringan kohonen untuk
mengenali angka yang ada di dalam digit angka meter air.
1.4 Batasan Masalah
Untuk memudahkan pembahasan dalam tulisan ini maka dibuat batasan masalah
sebagai berikut:
1. Hanya membahas pembuatan aplikasi pengenalan angka pada indikator digit
angka meter air menggunakan jaringan kohonen.
2. Tidak membahas proses pendeteksian indikator digit angka meter air.
4. Pemrosesan citra dilakukan secara offline dimana citra yang akan diproses
telah di akuisisi terlebih dahulu menggunakan kamera digital telepon selular.
5. Sampel digit angka meter air yang diambil memiliki 6 digit angka.
6. Tidak menangani perhitungan rekening air.
7. Tidak mengambil citra yang tidak perlu, hanya mengambil citra pada
indikator digit angka meter air nya saja.
1.5 Metodologi Penelitian
Metodologi penelitian yang digunakan dalam tugas akhir ini adalah:
1. Menetapkan Defenisi Kebutuhan
Dilakukan pendefenisian kebutuhan yang sesuai untuk memecahkan masalah
yang sudah dirumuskan. Sistem mampu memecahkan masalah 2-3 pada tahap
preprocessing, dan untuk masalah 4 menggunakan tahap identifikasi
menggunakan jaringan kohonen.
2. Perancangan Proses yang Mendukung Sistem
Dilakukan perancangan terhadap beberapa proses awal (preprocessing) yang
mendukung sistem dapat mengenali citra dengan optimal, diantaranya proses
akuisi citra, proses filtering dan segmentasi, proses ekstraksi karakter dan
proses pengenalan.
3. Perancangan dan Pembuatan Perangkat Lunak
Dilakukan perancangan perangkat lunak dengan membuat algoritma
16
membuat flowchart nya. Perangkat lunak yang digunakan untuk pembuatan
sistem adalah MATLAB.
4. Pengujian dan Analisa
Pada tahap ini dilakukan pengujian aplikasi terhadap algoritma pencitraannya
lalu pengujian aplikasinya terhadap beberapa sampel meter air yang
jumlahnya telah disepakati dan menganalisa hasil pengujian, hingga hasil
yang sesuai atau tidak menyimpang terlalu jauh dari defenisi kebutuhan.
5. Penyusunan Naskah Tugas Akhir
Pada tahap ini dilakukan penulisan naskah, dimana didalamnya menjelaskan
teori yang dipergunakan serta penyusunan laporan penelitian yang telah
dilakukan.
1.6 Sistematika Penulisan
Materi pembahasan dalam tugas akhir ini diurutkan dalam beberapa bab yang
diuraikan sebagai berikut:
BAB I : PENDAHULUAN
Bab ini merupakan gambaran menyeluruh tentang apa yang diuraikan dalam
Tugas Akhir ini, yaitu pembahasan tentang latar belakang, tujuan penulisan,
batasan masalah, metode penelitian, dan sistematika penulisan.
BAB II : DASAR TEORI
Bab ini membahas mengenai indikator digit meter air yang akan dikenali
kohonen dan tools yang digunakan dalam pembuatan aplikasi pengenalan
digit angka pada meter air.
BAB III : PERANCANGAN SISTEM
Bab ini membahas tentang proses akusisi citra, proses perancangan dan
pembuatan aplikasi pengenal angka pada digit meter air menggunakan
jaringan syaraf tiruan kohonen sesuai metodologi penelitian.
BAB IV : HASIL PENGUJIAN DAN ANALISA
Bab ini membahas tentang pengujian dan analisa aplikasi yang dibuat dari
hasil simulasi terhadap sampel. Baik pengujian pada algoritma pencitraan,
pengenalan digit angka pada masing-masing digit dan pengenalan indikator
secara keseluruhan.
BAB V : KESIMPULAN DAN SARAN
BAB II
DASAR TEORI
2.1 Meter Air
Gambar 2.1 Meter Air
Meter air merupakan alat untuk mengukur banyaknya aliran air secara terus
menerus melalui sistem kerja peralatan yang dilengkapi dengan unit sensor, unit
perhitungan dan unit indikator pengukur unruk menyatakan volume air yang lewat.
Bagian utama yang ada ditengahnya merupakan ruang untuk menempatkan alat
hitung yang mempunyai saluran masuk dan saluran keluar pada sisi yang berlawanan.
Unit indikator/ alat penunjuk pengukur terletak pada bagian utama, bagian ini
merupakan bagian dari meter air yang menunjukan hasil pengukuran [4], dapat secara
kontinu atau sesuai permintaan tergantung jenis meter airnya. Beberapa meter air
yang sudah digunakan dapat dilihat pada gambar 2.1. Pada Tugas Akhir ini, bagian
menggunakan pengenalan pola. Adapun persyaratan umum dari meter air menurut
Badan Standarisasi Nasional (BSN) adalah sebagai berikut:
2.1.1 Unit Indikator/ Alat Penunjuk
Satuan pengukuran alat penunjuk volume air dinyatakan dalam satuan meter
kubik. Satuan m3 harus terdapat pada dial atau berdampingan dengan angka yang
ditampilkan. Alat penunjuk dilengkapi warna sebagai pengenal kelipatannya, warna
hitam digunakan untuk menunjukan meter kubik dan kelipatannya. Warna merah
digunakan untuk menunjukan sub-kelipatan dari meter kubik, warna-warna ini harus
digunakan pada jarum penunjuk, indeks, angka, roda, cakram, jarum, atau angka
jarum [4].
2.1.2 Tipe Alat Penunjuk
Tipe alat penunjuk pada meter air ada dua macam yaitu alat analog, alat
digital dan kombinasi alat analog dan digital. Namun pada Tugas Akhir ini hanya
dibahas bagian alat analog saja dikarenakan meter air di kota Medan hanya
menggunakan alat analog.
Volume ditunjukkan dengan gerakan kontinu dari satu atau lebih jarum
penunjuk yang bergerak relatif terhadap skala berjenjang atau skala melingkar
melalui suatu indeks. Nilai dinyatakan dalam meter kubik, untuk setiap skala divisi
20
dinyatakan dalam meter kubik atau disertai dengan suatu faktor pengali (x 0,001; x
0,01; x 0,1; x 1; x 10; x 100; x 1000) dan seterusnya.
Gerakan linier jarum penunjuk atau skala-skala harus dari kiri ke kanan dan
searah jarum jam. Gerakan indikator-indikator roda di angka (drums) harus bergerak
keatas [4].
Secara ksesluruhan, meter air analog dapat dilihat pada gambar 2.2 (a) dan
gambar 2.2 (b).
Gambar 2.2 Meter Air Analog
2.2 Pengolahan Citra
Pengolahan citra adalah istilah umum untuk berbagai teknik yang dilakukan
untuk memanipulasi dan memodifikasi citra dengan bebagai teknik. Pengolahan citra
merupakan bagian penting yang mendasari berbagai aplikasi nyata, seperti
pengenalan pola, penginderaan jarak jauh melalui pesawat udara atau satelit dan
machine vision [1]. Pada pengenalan pola, pengolahan citra antara lain berperan
dalam memisahkan objek dari latar belakang dan mengklasifikasikannya secara
Di dalam aplikasinya, citra seringkali mengalami degredasi, seperti misalnya
mengandung cacat atau derau, warna yang terlalu kontras, kabur, kurang tajam dan
sebagainya. Agar citra tersebut dapat secara tepat diinterpretasikan, maka citra
tersebut perlu dimanipulasi menjadi citra yang kualitasnya menjadi lebih baik.
Operasi-operasi pengolahan citra yang dapat diterapkan pada citra apabila:
1. Perbaikan atau modifikasi citra perlu dilakukan untuk meningkatkan
kualitas penampakan atau untuk menonjolkan beberapa aspek informasi
yang terkandung di dalam citra.
2. Elemen di dalam citra perli dikelompokkan, dicocokkan dan diukur.
2.2.1 Akuisisi Citra dan Sampling
Citra digital merupakan suatu citra kontinyu yang diubah kedalam bentuk
disktrit, baik koordinat maupun intensitas cahayanya. Dengan kata lain, citra digital
dibuat dengan cara mencuplik suatu citra kontinyu dengan jarak seragam. Suatu titik
terkecil pada citra sering disebut pixel. Citra ini mengandung persamaan-persamaan
matematis dari bentuk-bentuk dasar yang membentuk citra tersebut. Setelah citra
diakuisisi selanjutnya proses sampling, dimana suatu citra f(x,y) disampling dan
menjadi N x M array maka setiap elemen dari array merupakan kuantitas diskrit dari
citra yang disampling [2].
2.2.2 Pengolahan Awal Citra (Image Preprocessing)
Pengolahan awal perlu dilakukan untuk menyesuaikan hal-hal yang
22
yang dilakukan pada citra digital. Operasi pengolahan citra banyak jenisnya. Namun
penulis memperkirakan untuk menggunakan beberapa operasi citra berikut dalam
aplikasi yang dibuat:
1. Perbaikan kualitas citra (Image enchancement) dan Grayscaling
2. Peredaman derau: lolos-rendah (Noise filter: low-pass)
3. Ekualisasi histogram (Histogram equalitation)
4. Segmentasi citra (Image segmentation)
2.2.2.1 Perbaikan Kualitas Citra dan Grayscaling
Proses perbaikan kualitas citra bertujuan untuk memperbaiki kualitas citra
dengan cara memanipulasi parameter-parameter citra. Dengan cara seperti ini ciri-ciri
khusus yang terdapat di dalam citra lebih ditonjolkan. Contoh-contoh operasi
perbaikan kualitas:
1. Perbaikan kontras.
2. Perbaikan tepian objek.
(a) (b)
Gambar 2.3 Pengolahan citra memungkinkan pengubahan kontras pada citra
Gambar 2.3(a) kurang jelas, tetapi melalui pengolahan citra dengan mengubah
nilai kontras pada citra yang gambarnya hendak dibuat lebih jelas seperti pada
gambar 2.3 (b) [1].
Selanjutnya, dilakukan proses grayscaling dimana citra berwarna diubah
menjadi citra beraras keabuan dengan bilangan bulat dengan intensitas pada setiap
pikselnya sekitar 0 hingga 255, karena untuk memproses citra dibutuhkan sebuah
parameter yang dapat dijadikan representasi karakteristik dari citra tersebut. Salah
satu pendekatan yang dapat dijadikan parameter karakteristik dari sebuah citra adalah
aras keabuannya.
2.2.2.2 Peredaman Derau
Derau yang diterima dalam citra umumnya memiliki spektrum frekuensi yang
lebih tinggi dari pada komponen citra. Oleh karena itu, filter lolos-rendah dapat
24
Filter lolos-rendah (low-pass filter) adalah filter dengan sifat dapat
meloloskan bagian berfrekuensi rendah dan menghilangkan yang berfrekuensi tinggi
[1]. Efek filter ini membuat perubahan aras keabuan menjadi lebih lembut. Filter ini
berguna untuk menghaluskan derau atau untuk kepentingan interpolasi tepi dalam
citra. Penulis menggunakan filter median, dimana setiap piksel dari citra diganti
dengan median dari tetangga piksel tersebut, contoh penggunaanya dapat dilihat pada
Gambar 2.4.
(a) Citra mobil dengan
bintik-bintik putih (b) Hasil pemrosesan terhadap gambar (a)
(c) Citra boneka dengan
derau (d) Hasil pemrosesan terhadap gambar (c)
2.2.2.3 Ekualisasi Histogram
Ekualisasi histogram merupakan suatu cara yang bertujuan untuk memperoleh
histogram dengan intensitas terdistribusi secara seragam pada citra. Namun, dalam
praktik hasilnya tidak benar-benar seragam [1]. Pendekatan yang dilakukan adalah
untuk mendapatkan aras keabuan yang lebih luas pada daerah yang memiliki banyak
piksel dan mempersempit aras keabuan pada daerah berpiksel sedikit. Efeknya dapat
digunakan untuk meningkatkan kontras secara menyeluruh.
2.2.2.4 Segmentasi Citra
Jenis operasi ini bertujuan untuk mendapatkan objek-objek yang diinginkan
(region of interest) dalam citra. Jenis operasi ini berkaitan erat dengan pengenalan
pola.
2.3 Sistem Pengenalan Pola
Sistem Pengenalan pola adalah proses identifikasi suatu objek dalam citra
dengan tujuan untuk mengklasifikasikan dan mendeskripsikan pola atau objek
kompleks melalui pengetahuan sifat-sifat atau ciri-ciri objek tersebut, sehingga
kelompok atau kategori pola berdasarkan ciri-ciri yang dimiliki oleh pola tersebut
dapat ditentukan. Dengan kata lain, pengenalan pola membedakan suatu objek
dengan objek lain.
Secara umum struktur dari sistem pengenalan pola ditunjukan pada Gambar
2.5. Sistem terdiri atas sensor (misalnya kamera), suatu algoritma atau mekanisme
26
pendekatan yang dilakukan) [2]. Sebagai tambahan, biasanya beberapa data yang
sudah diklasifikasikan diasumsikan telah tersedia untuk melatih sistem.
Gambar 2.5 Struktur Sistem Pengenalan Pola
Sensor berfungsi untuk menangkap objek dari dunia nyata dan selanjutnya diubah
menjadi sinyal digital (sinyal yang terdiri atas sekumpulan bilangan) melalui proses
digitalisasi.
Preprocessing berfungsi mempersiapkan citra atau sinyal agar dapat menghasilkan
ciri yang lebih baik pada tahap berikutnya. Pada tahap ini sinyal informasi
ditonjolkan dan sinyal pengganggu (derau) diminimalisir.
Pencarian dan seleksi fitur berfungsi menemukan karakteristik pembeda yang
mewakili sifat utama sinyal dan sekaligus mengurangi dimensi sinyal menjadi
sekumpulan bilangan yang lebih sedikit tetapi representatif.
Algoritma klasifikasi berfungsi unutk mengelompokan fitur ke dalam kelas yang
sesuai.
2.4 Jaringan Syaraf Tiruan
Jaringan syaraf tiruan (JST) diketahui sebagai suatu sistem pemroses
informasi yang memiliki karakteristik mirip dengan jaringan syaraf manusia
(biologi). Jaringan syaraf tiruan terbentuk sebagai generalisasi model matematika
jaringan syaraf manusia didasarkan pada asumsi berikut [3]:
1. Pemrosesan informasi terjadi pada banyak elemen sederhana yang disebut
neuron.
2. Sinyal mengalir diantara neuron/sel syaraf melalui penghubung.
3. Setiap penghubung memiliki bobot yang independen. Bobot ini akan
digunakan untuk menggandakan sinyal yang dikirim melaluinya.
4. Setiap neuron/sel syaraf akan menerapkan fungsi aktivasi terhadap sinyal hasil
penjumlahan bobot yang masuk untuk menentukan sinyal keluarannya.
Model syaraf pada jaringan syaraf tiruan akan mempengaruhi kemampuan
dalam proses hingga hasilnya. Kemampuan yang dimiliki jaringan syaraf tiruan dapat
digunakan untuk belajar dan menghasilkan aturan atau parameter dari beberapa
contoh input yang dimasukkan dan membuat prediksi tentang kemungkinan output
yang akan muncul atau menyimpan karakteristik dari input yang diperolehnya.
Jaringan syaraf tiruan memiliki suatu bentuk arsitektur terdistribusi paralel
dengan sejumlah besar node dan hubungan antara node tersebut. Tiap titik hubungan
dari suatu node ke node lain memiliki nilai yang nantinya dihubungkan dengan bobot
dimana hasilnya merupakan suatu nilai yang juga akan dihubungkan dengan nilai
aktivasi node tersebut.
28
1. Pola hubungan antara neuron (disebut arsitektur jaringan).
2. Metode untuk menentukan bobot penghubung (disebut metode
training/learning/algoritma).
3. Fungsi aktivasi.
Neuron merupakan hasil pemodelan dari sel syaraf manusia (biologi) yang
sebenarnya. Gambar 2.6 merupakan bentuk dasar dari struktur unit jaringan syaraf
tiruan.
Gambar 2.6 Bentuk Dasar Jaringan Syaraf Tiruan
Pada Gambar 2.6 sisi sebelah kiri merupakan masukan menuju ke unit
pengolahan dimana masing-masing masukan datang dari unit berbeda X(n). Setiap
sambungan dari masukan ke unit pengolah memiliki kekuatan hubungan bervariasi
yang sering disebut dengan ‘bobot’ yang disimbolkan dengan w(n). Unit pengolahan
akan membentuk penjumlahan dari tiap masukan-masukan dengan bobot yang
dimilikinya dan menggunakan fungsi ambang yang disebut sebagai fungsi aktivasi
untuk menghitung hasil keluarannya. Hasil perhitungan akan dikirim melalui
sambungan unit pengolah menuju keluaran seperti tampak pada sisi sebelah kanan
Pada masing-masing sambungan antar unit pengolah dan masukan berperan
sebagai penghubung. Nilai-nilai numerik dilewatkan sepanjang sambungan ini dari
masukan ke unit pengolah dan ke unit pengolah lainnya. Ketika unit pengolah
melakukan perhitungan, nilai-nilai ini diberi bobot berdasarkan kekuatan hubungan.
Kekuatan hubungan pada setiap sambungan akan disesuaikan selama tahap pelatihan
sehingga pada akhir pelatihan dihasilkan jaringan dengan bobot yang mantab.
Sebagian besar jaringan syaraf tiruan mengalami penyesuaian bobot pada saat
proses pelatihan. Pelatihan pada jaringan dapat berupa pelatihan terbimbing
(supervised) dan pelatihan tak terbimbing (unsupervised). Pada pelatihan terbimbing
dibutuhkan pasangan masukan dan sasaran untuk tiap pola yang dilatih, sehingga
jaringan akan menyesuaikan pola masukan yang dilatih terhadap sasarannya.
Sedangkan pelatihan tak terbimbing, penyesuaian bobot sebagai tanggapan terhadap
masukan, tak perlu disertai sasaran. Dalam pelatihan tak terbimbing, jaringan
mengklasifikasikan pola-pola yang ada berdasarkan kategori kesamaan pola-pola
masukan [3].
Jaringan syaraf tiruan dirancang dengan menggunakan suatu standar peraturan
dimana seluruh model jaringan memiliki konsep dasar yang sama. Banyak model
yang dapat digunakan sebagai jaringan syaraf tiruan, dimana model sebuah jaringan
akan menentukan keberhasilan sasaran yang dicapai karena tidak semua
permasalahan dapat diselesaikan dengan model arsitektur yang sama.
Seperti yang telah dijelaskan sebelumnya pada beberapa model jaringan
30
algoritma. Beberapa fungsi yang digunakan dalam jaringan syaraf tiruan diantaranya
adalah:
1. Fungsi threshold (dengan batas ambang)
f(x )= 1 ≥
0 < ... (2.1)
Untuk beberapa kasus, fungsi threshold yang dibuat tidak berharga 0 atau 1,
tapi berharga -1 atau 1 (sering disebut threshold bipolar). Maka persamaan
fungsi menjadi:
f(x) = 1 ≥
−1 < ... (2.2)
2. Fungsi Sigmoid
f(x) = ... (2.3)
Fungsi sigmoid sering dipakai karena nilai fungsinya yang terletak antara 0
dan 1 dan dapat diturunkan dengan persamaan berikut:
f’(x) = f(x) (1-f(x)) ... (2.4)
3. Fungsi Identitas
f(x) = x ... (2.5)
Fungsi identitas sering dipakai apabila kita menginginkan keluaran jaringan
berupa sebarang bilangan riil (bukan hanya pada range [0,1] atau [-1,1]
Jaringan syaraf tiruan Kohonen merupakan salah satu model jaringan syaraf
pola pada aplikasi yang dirancang. Penjelasan mengenai jaringan syaraf tiruan
Kohonen lebih lengkapnya akan dijelaskan pada subbab 2.5.
2.5 Jaringan Syaraf Tiruan Kohonen
Jaringan yang ditemukan oleh Kohonen merupakan salah satu model jaringan
syaraf tiruan yang banyak digunakan. Pada jaringan ini, suatu lapisan yang terdiri dari
kumpulan neuron-neuron akan menyusun dirinya sendiri berdasarkan input nilai
tertentu menjadi kelompok-kelompok yang dikenal dengan istilah cluster [3]. Selama
proses penyusunan (pelatihan), kelompok atau cluster yang memiliki vektor bobot
yang paling cocok dengan pola input (memiliki jarak paling dekat) akan terpilih
sebagai pemenang.
2.5.1 Arsitektur Jaringan Kohonen
Jika masukan jaringan berupa vektor yang memiliki n komponen (tuple) yang
akan dikelompokkan dalam maksimum m buah kelompok (disebut vektor contoh).
Keluaran jaringan adalah kelompok yang paling dekat dengan masukan yang
diberikan. Ada beberapa ukuran kedekatan yang dapat dipakai. Ukuran yang sering
digunakan adalah jarak euclidean yang paling minimum [3].
Bobot-bobot pada vektor contoh berfungsi sebagai penentu kedekatan vektor
contoh tersebut dengan masukan yang diberikan. Selama proses identifikasi, vektor
contoh yang pada saat itu paling dekat dengan masukan akan muncul sebagai
pemenang. Vektor pemenang (dan vektor-vektor sekitarnya) akan dimodifikasi
32
Arsitektur jaringan syaraf tiruan kohonen dapat dilihat pada Gambar 2.7.
Gambar 2.7 Arsitektur Jaringan Kohonen
Dari Gambar 2.7, dapat dilihat arsitektur ini mirip dengan model jaringan
syaraf tiruan pada umumnya yang menunjukkan arsitektur jaringan dengan n unit
input (x1, x2, …, xn) dan m buah unit output (y1, y2, …, ym). Semua unit input
dihubungkan dengan semua unit output, meskipun dengan bobot yang berbeda-beda.
Besaran wji menyatakan bobot hubungan antara unit ke-i dalam input dengan unit ke-j
dalam output. Bobot-bobot ini saling independen. Selama proses pelatihan,
bobot-bobot tersebut dimodifikasi untuk meningkatkan keakurasian hasil. Hanya saja
jaringan Kohonen tidak menggunakan perhitungan net (hasil kali masukan dengan
bobot) maupun fungsi aktivasi. Misalkan pada suatu iterasi tertentu, vektor contoh w
menjadi pemenang. Maka pada iterasi berikutnya, vektor w dan vektor-vektor
sekitarnya akan dimodifikasi bobotnya. Gambar 2.8 menunjukkan kasus untuk vektor
w berupa vektor 1 dimensi (dengan jarak R=2), sedangkan Gambar 2.9 a dan b
menunjukkan vektor sekitar w jika w direpresentasikan dalam 2 dimensi dengan R=1
disertai vektor w (gambar 2.9 a). Tetapi jika menggunakan bentuk heksagonal ada 6
vektor disekitar vektor w (gambar 2.9 b).
Gambar 2.8 Vektor w Berupa Vektor 1 Dimensi
Gambar 2.9 Vektor w Berupa Vektor 2 Dimensi
Algoritma pengelompokan pola jaringan Kohonen adalah sebagai berikut:
1. Inisialisasi
a. Bobot wji (acak).
b. Laju pemahaman awal dan faktor penurunannya.
c. Bentuk dan jari-jari (=R) topologi sekitarnya.
2. Selama kondisi penghentian bernilai salah, lakukan langkah 2 sampai
34
3. Untuk setiap vektor masukan x, dilakukan langkah 3 sampai langkah 5
4. Hitung
( ) = ∑ (
w
ji-xi
)
2 untuk semua j ... (2.6)5. Tentukan indeks J sedemikian sehingga D(J) minimum
6. Untuk setiap unit j disekitar J modifikasi bobot:
W
jibaru= W
jilama+ α(x
i– W
jilama)
... (2.7)7. Modifikasi laju pemahaman
8. Uji kondisi penghentian
Kondisi penghentian iterasi adalah selisih antara wji saat itu dengan wji iterasi
sebelumnya. Apabila semua wji akan berubah sedikit saja, berarti iterasi sudah
BAB III
PERANCANGAN SISTEM
3.1 Umum
Sistem ini tidak jauh berbeda dengan sistem pengenal angka pada umumnya.
Dari tahapan preprocessing hingga proses training dan identifikasi digit angka
algoritma dirancang hanya untuk mengenal objek berupa indikator digit angka meter
air dengan 6 digit angka sehingga membutuhkan proses pengolahan citra yang terkait
dengan karakteristik citra indikator digit angka meter air termasuk teknik pada proses
akuisisinya, sistem dibuat menggunakan software MATLAB dan pada bab ini akan
dibahas mengenai proses perancangan bagaimana proses awal hingga sistem dapat
mengenali angka pada indikator digit meter air.
Secara umum jaringan syaraf tiruan digunakan pada tahap pelatihan (training)
pola yang diketahui hingga memberikan keluaran yang berperan pada proses
identifikasi pola. Sistem ini merupakan rancangan awal yang belum memiliki
algoritma pendeteksian letak indikator digit angka pada meter air sehingga masukan
sistem hanya berupa citra indikator meter air saja.
Pada bab ini akan dibahas proses akusisi citra, preprocessing, proses
segmentasi, pembentukan jaringan hingga training jaringan dan proses identifikasi
digit angka menggunakan jaringan syaraf tiruan Kohonen sebagai unit pengolah
36
3.2 Perancangan Sistem
Sasaran dari tugas akhir ini ialah sistem mampu mengenali angka pada
indikator digit meter air dengan menggunakan jaringan syaraf tiruan Kohonen sebagai
sistem pemroses informasinya. Aplikasi yang dibuat terdiri dari 5 tahap yaitu akuisi
citra, tahapan preprocessing, proses segmentasi hingga proses training dan
identifikasi digit angka. Blok diagram aplikasi pengenal angka pada indikator digit
angka meter air dapat dilihat pada Gambar 3.1.
Gambar 3.1 Blok Diagram Aplikasi Pengenalan Angka Pada Digit Meter Air
Pengujian algoritma pencitraan hingga menampilkan hasil identifikasi dibuat
menggunakan software MATLAB. Aplikasi pengenal angka digit meter air dirancang
dengan menggunakan komputer dengan spesifiksi sebagai berikut:
Sistem Operasi : Windows 7 Ultimate
Processor : Pentium® Dual Core 3.00 GHz
VGA Card : ATI RADEON 5500 HD
Memory : 2048 GB DDR2
3.3 Akusisi Citra dan Sampling
Tahap akusisi citra menjadi hal yang cukup berpengaruh untuk proses
pengolahan citra selanjutnya karena proses pengambilan informasi yang diinginkan
pada citra digit angka meter air yang akan dikenali terjadi pada tahap ini. Sasaran
citra pada sistem ini adalah digit angka pada indikator meter air yang ditandai pada
kotak berwarna kuning seperti tampak pada Gambar 3.2.
Gambar 3.2 Sasaran Citra pada Sistem
Penulis membatasi penelitian sesuai batasan masalah yaitu berfokus pada
pembahasan mengenai segmentasi dan pengenalan angka pada digit angka di
indikator meter airnya saja. Sehingga citra yang diambil sebagai objek yang akan
dikenali sistem hanya bagian indikator digit angka pada meter airnya saja, seperti
38
Gambar 3.3 Citra Indikator Digit Angka sebagai Objek yang Diproses Sistem
Citra indikator digit angka yang diperoleh ini selanjutnya akan diproses oleh
sistem ke tahap sampling yaitu citra dari domain spasial didijitasi menjadi suatu array
(matriks) berukuran N x M dan setiap elemen pada matrik ini merupakan kuantitas
diskrit. Proses sampling citra pada MATLAB menggunakan perintah imread [1].
3.4 Proses Awal (Preprocessing)
Citra yang diinginkan adalah digit angka dengan angka yang terletak tepat
ditengah segmen kotak pada masing-masing angka, tidak ada pantulan/ atau bias
cahaya pada meter air dan debu atau pasir yang menghalangi sehingga angka dapat
jelas terlihat. Namun pada kenyataannya banyak meter air yang dalam keadaan kotor,
berpasir, kaca pelindung indikator dalam keadaan lecet (banyak goresan) dan
peletakan meter air yang tidak mendukung. Sehingga penulis melakukan tahap
preprocessing untuk mengurangi noise/ gangguan yang disebutkan, penulis
menggambarkan proses preprocessing menggunakan diagram alir yang tampak pada
Gambar 3.4 Diagram Alir Preprocessing
Adapun tahapan yang terkait didalam proses ini yaitu proses yaitu:
1. Proses Grayscaling
2. Proses Contrasting
3. Ekualisasi Histogram
4. Low-pass Filter Median
40
1. Proses Grayscaling
Proses ini dilakukan dengan mengkonversi citra berwarna dengan tiga elemen
RGB (Red Green Blue) menjadi bentuk grayscale dengan level 28 atau citra berskala
keabuan 0-255. Proses ini dilakukan pada setiap piksel citra, dengan cara ini setiap
piksel memiliki satu jenis warna dengan intensitas yang berbeda-beda. Tujuannya
adalah untuk menghasilkan citra dengan intensitas yang lebih terukur agar dapat
dilakukan pengolahan selanjutnya. Hasil grayscaling citra dapat dilihat pada Gambar
3.5.
Gambar 3.5 Hasil Grayscaling Citra
2. Proses Contrasting
Pada Gambar 3.5 citra indikator digit angka masih terlihat terlalu gelap dan
informasi yang akan disegmentasi yaitu angka belum mengalami perbedaan yang
cukup signifikan terhadap objek lain pada citra. Sehingga perlu dilakukan
penambahan level contrast citra dan melakukan pengaturan pada nilai intensitas citra
dengan menggunakan fungsi imadjust. Hasil dari proses ini ditunjukan pada Gambar
Gambar 3.6 Hasil Contrasting
3. Ekualisasi Histogram
Citra yang diperoleh setelah proses contrasting yang tambak pada Gambar 3.6
dirasa masih membutuhkan peningkatan contras lebih menyeluruh terhadap citra
yang bertujuan untuk mempertegas batas antara angka dan yang bukan. Maka pada
citra perlu dilakukan proses ekualisasi histogram dengan menggunakan perintah
histeq. Hasil dari prosesnya dapat dilihat pada Gambar 3.7.
Gambar 3.7 Hasil Ekualisasi Histogram
4. Low-pass Filter Median
Pada gambar 3.7 dapat dilihat antara background dan digit angka bisa kita
bedakan dimana warna hitam keabuan untuk digit angka dan warna putih untuk
background namun citra yang diperoleh bisa saja masih memiliki derau bintik-bintik
42
karena itu, untuk meredam derau bintik-bintik yang ada dapat digunakan fungsi
medfilt2 yang akan membuat citra kelihatan lebih halus seperti tampak pada gambar
3.8.
Gambar 3.8 Filter Median
5. Proses Binarization
Pada Gambar 3.8 antara background dan objek bisa kita bedakan dimana
warna putih untuk background dan warna hitam untuk karakter. Akan tetapi warna
putih pada objek belum begitu sempurna, begitu juga pada warna hitam untuk
background. Oleh karena itu, dibutuhkan proses binarization dimana citra
sepenuhnya diubah menjadi hitam putih (citra binary). Proses ini dapat dilakukan
dengan menggunakan fungsi im2bw. Maka tampak pada Gambar 3.9 hasil proses
binarization, yang membuat sepenuhnya citra menjadi putih dan hitam dengan
karakteristik seperti yang disebutkan.
Pada gambar 3.9 dapat dilihat masih terdapat beberapa piksel yang bukan
termasuk karakter dan background atau disebut juga sebagai noise, untuk meredam
atau menghilangkan noise tersebut terdapat pada tahap segmentasi yang akan dibahas
pada subbab 3.5.
3.5 Proses Segmentasi
Proses segmentasi dibutuhkan untuk melanjutkan hasil dari tahap
44
Gambar 3.10 Diagram Alir Proses Segmentasi
Adapun beberapa tahapan yang dilakukan pada proses segementasi adalah:
1. Proses pembagian dan filtering
2. Ekstraksi Karakter
1. Proses Pembagian dan Filtering
Pada citra hasil preprocessing dapat dilihat masih terdapat beberapa piksel
yang bukan karakter yang diinginkan, ada piksel garis batas segmen antar angka dan
beberapa objek lain yang bukan termasuk karakter atau disebut juga noise. Sebelum
menghilangkan noise ini citra indikator digit air dibagi menjadi 6 bagian dan
disimpan dalam kontainer-kontainer. Proses pembagian ini bertujuan untuk
memudahkan proses filter noise yang ada pada citra sehingga informasi yang
diinginkan dapat diperoleh dengan baik dan dapat dilakukan segmentasi citra yang
baik. Berikut ini merupakan program untuk melakukan proses pemisahan 6 bagian
citra.
% Membagi citra menjadi 6 segmen
% Memfilter noise garis segmen pada citra digit angka meter air [tinggi,lebar]=size(img);
imgseg = imcrop(img, [xmin ymin width height]); imgseg = imclearborder(imgseg);
46
Program diatas berfungsi untuk melakukan segmentasi dengan membagi citra
menjadi 6 bagian dengan lebar keseluruhan dari citra sebagai acuannya. Lebar citra
yang diperoleh lalu dibagi 6 dan hasil pembagian dibulatkan tujuannya adalah untuk
memperoleh batas lebar setiap segmen, lalu citra tersebut dipotong menggunakan
fungsi imcrop menggunakan parameter batas lebar segmen dari hasil pembagian lebar
keseluruhan citra dibagi 6 dan tinggi citra. Pada saat pemotongan terjadi dilakukan
juga filter terhadap noise garis pemisah antara digit angka yang menyentuh batas citra
hasil segmentasi tadi menggunakan fungsi imclearborder dan setelahnya juga
dilakukan filter dengan memberi batasan piksel menggunakan fungsi bwareaopen.
Misalkan apabila jumlah piksel dibawah 2000 (satuan piksel) maka piksel tersebut
akan dihilangkan atau dihapus. Hasil dari proses ini ditunjukan pada Gambar 3.11.
(a) (b) (c) (d) (e) (f)
Gambar 3.11 Hasil Proses Pembagian dan Filtering
Hasil dari proses pembagian dan filtering yang tampak pada Gambar 3.11
dapat dilihat citra sudah lebih jelas dari proses-proses sebelumnya. Dimana citra
hanya memiliki 2 buah komponen warna yaitu putih untuk angka dan hitam untuk
background tanpa ada piksel lain yang mengganggu informasi yang kita ingin kita
2. Ekstraksi Karakter
Pada Gambar 3.11 sudah terlihat jelas antara karakter dan background. Proses
selanjutnya yaitu ekstraksi karakter angka. Berikut ini program untuk melakukan
proses ekstraksi masing-masing karakter angka dari Gambar 3.11.
% Ekstraksi karakter angka dan me-resize hasil segmentasi menjadi citra berukuran 40x20
% Reshape citra menjadi vektor nx1 L = bwlabeln(imseg1);
Program diatas berfungsi untuk mengekstraksi karakter yang terdapat pada
citra dengan menerapkan prinsip melabel komponen yang terhubung pada gambar
biner [3] menggunakan fungsi bwlabeln. Lalu mengukur luasan region menggunakan
regionprops dari komponen yang sudah di label sebelumnya. Jika hanya ada satu
label komponen maka potong gambar dengan menggunakan parameter luasan region
yang telah diperoleh dari pengukuran. Setelah proses itu lalu citra di resize menjadi
ukuran 40x20 menggunakan fungsi imresize yang hasilnya dapat dilihat pada gambar
3.12. Selanjutnya mengubah bentuk citra menjadi vektor N x 1 dengan menggunakan
48
training dan juga pada tahap proses identifikasi jaringan menggunakan syaraf tiruan
yang akan dibahas pada subbab berikutnya.
(a) (b) (c) (d) (e) (f)
Gambar 3.12 Hasil Ekstraksi dan Resize Karakter dengan Ukuran 40x20
3.6 Proses Pelatihan Karakter Angka Digit Meter Air Dengan Jaringan
Syaraf Tiruan Kohonen
Proses pelatihan menggunakan jaringan syaraf tiruan model Kohonen.
Jaringan kohonen digunakan untuk membagi pola masukan hingga pola masukan
yang berdekatan satu sama lain akan berada pada kelompok yang sama. Pelatihan
jaringan dengan menggunakan model Kohonen merupakan pelatihan jaringan tanpa
supervisi (bimbingan), dimana nantinya neuron akan berkompetisi untuk menjadi
pemenang terhadap vektor masukan yang diberikan. Bobot neuron pemenang akan
diperbaiki pada iterasi berikutnya [3]. Proses ini digambarkan pada diagram alir yang
Gambar 3.13 Diagram Alir Proses Pelatihan
3.6.1 Preprocessing Tahap Pelatihan
Pada Gambar 3.13 dapat dilihat sebelum pola dilatih, dibutuhkan beberapa
tahapan proses untuk menentukan inputan pada proses pelatihan jaringan, proses ini
disebut juga tahap preprocessing untuk pelatihan jaringan. Beberapa tahap
preprocessing yang dilakukan sebagai berikut:
1. Sampling dan Grayscaling
2. Binarization dan Resizeing
3. Reshaping
1. Sampling dan Grayscaling
Pada tahap ini dilakukan proses sampling pada citra karakter yang nantinya
50
untuk keseluruhan proses pelatihan penulis menggunakan citra karakter angka 6 yang
ditunjukan pada Gambar 3.14.
Gambar 3.14 Citra Angka 6
Citra karakter ini diubah menjadi suatu matriks menggunakan fungsi imread
dengan perintah sebagai berikut:
>> img6 = imread('6.jpg');
Berikutnya citra diubah kedalam bentuk grayscale dengan menggunakan fungsi
rgb2gray, proses ini disebut dengan grayscaling. Hasil dari tahap ini dapat dilihat
pada Gambar 3.15.
Gambar 3.15 Hasil grayscaling
2. Binarization dan Resizing
Setelah diperoleh citra grayscale maka citra selanjutnya akan diubah menjadi
mengubah citra menjadi bentuk citra hitam putih maka digunakan fungsi im2bw. Lalu
citra di resize menjadi citra dengan ukuran 40 x 20 dengan fungsi imresize maka
diperoleh citra hitam putih dengan ukuran 40 x 20 seperti tampak pada gambar 3.16.
Gambar 3.16 Hasil Proses Binarization dan Resizing
3. Reshaping
Selanjutnya citra diubah menjadi 1 kolom dengan fungsi reshape, dengan
perintah sebagai berikut:
>> P6 = reshape(img6, [], 1);
P6 inilah nantinya yang akan menjadi inputan untuk pelatihan angka 6. Untuk
sebuah angka 6 yang sebelumnya memiliki ukuran 40x20, maka sekarang P6 akan
berukuran 800x1 dan apabila nantinya angka 6 akan dilatih dengan 10 sampel maka
matriks P6 akan berukuran 800x10. Begitu juga untuk pengenalan nantinya akan
dilakukan proses reshaping.
3.6.2 Proses Pelatihan Angka
Pada proses pelatihan angka, dibutuhkan sampel sebanyak 10 buah untuk
setiap masing-masing angka. Contohnya angka 0 dilatih dengan 10 buah angka 0
52
Untuk simulasi dari sistem ini digunakan Neural Network Toolbox pada
MATLAB. Proses pelatihan jaringan menggunakan MATLAB digambarkan pada
diagram alir yang tampak pada Gambar 3.17.
Gambar 3.17 Proses Pelatihan Angka
Proses pelatihan angka terdiri dari 4 tahap yaitu:
1. Input Jaringan
2. Pembentukan Jaringan
3. Training Jaringan
4. Simulasi Jaringan
1. Input Jaringan
Hasil dari proses preprocessing yang telah dibahas sebelumnya menjadi
>> Pangka = [P0 P1 P2 P3 P4 P5 P6 P7 P8 P9];
Seperti yang dijelaskan sebelumnya, P0 merupakan matriks berukuran
800x10, matriks ini memiliki baris sebanyak 800 karena hasil reshaping dari citra
angka 0 yang berukuran 40x20 dan matriks ini memiliki kolom sebanyak 10 karena
sampel yang digunakan untuk melatih angka 0 sebanyak 10 buah. Hal ini berlaku
untuk P1 P2 hingga P9.
2. Pembentukan Jaringan
Pada MATLAB, jaringan Kohonen dibentuk dengan perintah newsom yang
formatnya sebagai berikut:
>> net = newsom (PR, [D1,D2,...], TFCN, DFCN, OLR, OSTEPS, TLR, TND)
Dengan keterangan sebagai berikut:
PR :Matriks Rx2 yang berisi nilai minimum dan maksimum R buah
elemen masukan
Di :Ukuran topologi layar (default=[5 8])
TFCN :Fungsi topologi (default=’hextop’)
DFCN :Fungsi jarak (dafault=’linkdist’)
OLR :Laju pemahaman fase pengaturan(ordering). Default=0.9
OSTEPS :Jumlah iterasi langkah pengaturan. Default=1000
TLR :Laju pemahaman fase penyempurnaan(tuning). Default=0.02
TND :Jarak sekitar neuron pemenang pada fase penyempurnaan. Default=1
Pada pelatihan jaringan ini semua parameter di set default sehingga topologi yang
54
3. Training Jaringan
Untuk melatih jaringan digunakan fungsi train, formatnya sebagai berikut:
>> net = train(net,Pangka);
4. Simulasi Jaringan
Untuk simulasi jaringan digunakan fungsi sim, programnya sebagai berikut:
>> dbangka = sim(net,Pangka); >> [dbangka k]= find(dbangka==1); >> dbangka = reshape(dbangka,10,10);
Program diatas berfungsi untuk melakukan simulasi jaringan terhadap
variabel Pangka yang menyimpan gabungan pola angka yang diperoleh lalu hasil
simulasi disimpan pada variabel dbangka, perintah selanjutnya mengambil nilai kelas
dan menyusun kelas-kelas yang diperoleh tersebut menjadi matriks ukuran 10x10.
Lalu dbangka disimpan dengan ekstensi .mat sebagai database yang menyimpan nilai
kelas angka dari hasil pelatihan.
3.7 Proses Identifikasi Digit Angka
Pada proses pelatihan diperoleh database angka yang menyimpan kelompok
kelas untuk mengklasifikasikan angka kedalam kelasnya masing-masing saat proses
Gambar 3.18 Diagram Alir Proses Identifikasi
Berikut ini merupakan penjelasan proses identifikasi digit angka:
1. Load file database angka dari hasil proses training dan load file jaringan yang
sudah dibentuk dari proses pelatihan.
load dbangka.mat; load net.mat;
2. Load hasil ekstraksi karakter dari proses segmentasi dan reshaping, sehingga
citra masing-masing digit sudah diubah menjadi 1 kolom berupa vektor
56
3. Citra angka disimulasikan ke database angka. Database angka merupakan
kelompok kelas hasil dari proses pelatihan, berfungsi untuk
mengklasifikasikan angka kedalam kelasnya masing-masing. Database dapat
dilihat pada lampiran.
Berikut contoh program pengenalan angka 6 yang sebelumnya telah di
reshape dan disimpan pada variabel ed6
output=sim(net,ed6);
Program diatas berfungsi untuk melakukan simulasi pada citra yang akan
dikenali lalu mencari kesamaan hasil simulasi dengan database angka dan
menjumlahkan sesuai kesamaan hasil agar diperoleh nilai kolom yang
menunjuk kepada kelas angka dari hasil pengelompokkan, fungsi tampildigit
adalah untuk menampilkan angka sesuai dengan nilai kolom yang diperoleh.
digit='8';
elseif hasildigit==10 digit='9';
else
digit='0'; end
Potongan program diatas adalah fungsi tampildigit yang menampilkan hasil
digit sesuai dengan nilai kolom yang diperoleh pada tahap identifikasi.
Keuntungan membuat program dalam format fungsi adalah kemudahannya
BAB IV
HASIL PENGUJIAN DAN ANALISA
4.1 Hasil Uji Coba
Untuk menguji sistem yang dibuat maka dilakukan uji coba pengenalan digit
angka pada meter air sebanyak 15 buah yang diambil dari beberapa rumah yang
menggunakan meter air PDAM Tirtanadi. Uji coba pengenalan digit angka meter air
terdiri dari 2 bagian:
1. Uji coba dengan menggunakan 10 sampel training
2. Uji coba dengan menggunakan 30 sampel training
Sistem yang dibuat menggunakan jumlah training yang sama untuk tiap digit
angka. Pengambilan citra indikator meter air dilakukan pada pagi hari hingga sore
hari berkisar dari pukul 10.00-15.00 WIB dengan kondisi cuaca cerah, citra diambil
tegak lurus dari objek. Pengambilan citra dilakukan dengan menggunakan kamera
digital Handphone LENOVO A800 dengan resolusi 5 MegaPiksel.
4.1.1 Hasil Uji Coba Dengan 10 Sampel Training
Pada uji coba ini digunakan 10 buah sampel training untuk tiap angka. Pada
Tabel IV.1 tampak hasil uji coba pada masing-masing indikator digit angka.
Tabel IV.1 Hasil Pengenalan Menggunakan 10 Sampel Training
No Data
1 046407 Benar Benar Benar Benar Benar Benar 046407 100%
4.1.2 Hasil Uji Coba Dengan 30 Sampel Training
Pada uji coba ini digunakan 30 buah sampel training untuk tiap angka. Pada
Tabel IV.2 tampak hasil uji coba pada masing-masing indikator digit angka.
Tabel IV.2 Hasil Pengenalan Menggunakan 30 Sampel Training
60
13 413530 Benar Benar Benar Benar Benar Benar 413530 100% 14 357252 Benar Benar Benar Salah Benar Benar 357052 83.33%
15 353909 Salah Salah Benar Benar Benar Salah 013900 50%
4.2 Pengolahan Hasil Uji Coba
Dari Tabel IV.1 dan Tabel IV.2 dapat diperoleh beberapa hal yang dapat
dibandingkan, antara lain:
1. Perbandingan presentase keberhasilan dalam pengenalan digit angka
2. Perbandingan presentase keseluruhan indikator digit angka yang berhasil
diidentifikasi dengan benar.
Dari Tabel IV.1 dan Tabel IV.2 diperoleh jumlah kesalahan dalam pengenalan
baik pada angka maupun keseluruhan pembacaan pada masing-masing digit angka
meter air, setiap kesalahan dalam pengenalan angka dijumlahkan untuk memperoleh
presentase keberhasilan dalam pengenalan karakter. Hasil pengolahan data
ditunjukkan pada Tabel IV.3.
Tabel IV.3 Presentasi Keakurasian Pengenalan
Jumlah
4.3 Analisa Sistem
Analisa sistem dibutuhkan untuk menentukan parameter apa saja yang
dibutuhkan agar dihasilkan suatu sistem pengenalan angka pada digit meter air yang
baik. Analisa dilakukan untuk mengetahui parameter-parameter yang dapat
menyebabkan kegagalan pada sistem baik pengaruh pada jumlah sampel training,
pada tahap preprocessing dan segmentasi maupun pada tahap identifikasi.
4.3.1 Pengaruh Jumlah Sampel Training
Jumlah training memiliki pengaruh yang cukup besar didalam pengenalan
pola digit angka, dapat dilihat dari Tabel IV.3 diperoleh bahwa pada sistem yang
menggunakan training sebanyak 10 sampel hanya mampu mengenali 10 indikator
meter air, namun jika jumlah sampel ditambah menjadi 30 sampel, terdapat 13
indikator meter air yang dapat dikenali dengan benar dari total indikator sebanyak 15
buah sehingga diperoleh presentase pengenalan indikator dengan benar sebesar
86.67%. Semakin banyak sampel training yang digunakan maka akan dihasilkan
suatu jaringan yang memiliki daya klasifikasi pola yang lebih baik.
4.3.2 Analisa Kesalahan Pada Tahap Preprocessing dan Segmentasi
Pada sistem pengenal indikator meter air ini penulis memiliki dua tahap yang
saling berkaitan erat yaitu tahap preprocessing dan segmentasi, dimana tahap ini
62
1. Tahap Preprocessing
Pada tahap preprocessing bertujuan untuk memperjelas karakter angka pada
citra indikator meter air, jika tahap ini gagal maka tahap selanjutnya akan gagal juga
atau proses pengenalan tidak akurat. Tahap preprocessing bergantung pada kejelasan
meter air dimana hal ini terkait dengan posisi meter air diletakan, kondisi lapisan
pelindung kaca yang ada pada meter air dan pantulan sinar atau bias cahaya saat
akuisisi citra, sehingga tahap preprocessing tidak berhasil memperjelas karakter
angka, hal ini terjadi pada beberapa sampel salah satunya tampak pada Gambar 4.1.
(a)
(b)
Gambar 4.1 Perbandingan Sebelum dan Sesudah Preprocessing
Pada Gambar 4.1 (a) adalah sampel sebelum diproses pada tahap preprocessing,
sampel terlihat memiliki pelindung kaca yang cukup buram, terdapat bercak
kehijauan pada lapisan kaca, sebaran cahaya dan tingkat kecerahan yang tidak merata
dikarenakan posisi meter jauh dari cahaya. Pada saat akusisi citra kamera yang
menjadi hal yang juga sangat berpengaruh karena tingkat kecerahan tidak bisa
diseimbangkan. Gambar 4.1 (b) merupakan hasil dari tahap preprocessing yang tidak
berhasil memperjelas keseluruhan karakter angka pada meter air, hal ini dialami pada
beberapa sampel sehingga pada tahap selanjutnya keseluruhan meter air tidak
dikenali dengan benar.
Oleh karena itu, sampel citra yang diambil sebisa mungkin dalam keadaan
bagus dan tidak memiliki bias cahaya atau pantulan cahaya yang mengganggu
kejelasan angka. Umumnya tahap preprocessing pada sistem dapat memperjelas
objek angka indikator.
2. Tahap Segmentasi
Hasil dari preprocessing selanjutnya akan diproses pada tahap segmentasi
dimana pada tahap ini berfokus pada proses ekstraksi karakter digit angka dari objek
yang tidak perlu (tidak untuk dikenali). Namun hasil ekstraksi akan mengalami
kegagalan apabila jumlah karakter angka pada indikator meter air lebih dari 6 digit,
hal ini sesuai dengan batasan masalah yang penulis buat yaitu sampel indikator digit
angka yang digunakan terdiri dari 6 digit sehingga penulis membuat program
ekstraksi yang membagi citra indikator digit angka meter air seperti tampak pada
Gambar 3.12. menjadi 6 bagian.
4.3.3 Analisa Kesalahan Pada Tahap Identifikasi
Analisa kesalahan dilakukan untuk mengetahui parameter apa saja yang
64
pola yang tidak diidentifikasi dengan benar. Sistem mengenali digit angka yang ada
pada citra yaitu 001700 yang tampak pada Gambar 4.1 seharusnya 001703.
Gambar 4.1 Contoh Indikator Meter Air yang Tidak Diidentifikasi Dengan
Benar
Hal ini dikarenakan pola angka 3 pada citra yang sebenarnya memiliki bentuk
yang kurang proporsional terhadap angka 3 dan hasil dari tahap preprocessing tidak
dapat meningkatkan kejelasan citra yang justru menyebabkan angka membentuk pola
yang tidak diketahui, seperti tampak pada Gambar 4.2. Kemiripannya terhadap angka
3 sangat jauh dari ukuran maupun nilai intensitas yang mewakili ciri angka 3.
Gambar 4.2 Hasil Preprocessing yang Tidak Berhasil Meningkatkan Kualitas
Citra
Kesalahan juga bisa terjadi pada pembentukan database angka. Contohnya
mewakili kemiripan yang proporsional baik dari ukuran maupun nilai intensitas
angka 3 pada Gambar 4.2, sehingga pada saat pengklasifikasian pola, angka tersebut
bisa saja tidak dalam satu kelompok atau tidak masuk dalam kelompok manapun
namun kesalahan seperti ini mampu diatasi dengan cara menambah sampel training
agar jaringan memiliki daya pengklasifikasian pola yang lebih variatif terhadap digit
angka yang akan dikenali.
Kesalahan juga bisa terjadi dikarenakan hasil ekstraksi karakter yang hanya di
normalisasi ukuran dan ekstraksi karakter tanpa mengalami pengolahan citra yang
lebih jauh sebelum citra diproses pada tahap pengenalan seperti pembersihan citra
yang lebih jauh, dilatasi dan sebagainya. Tentunya dengan pengolahan citra yang
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil pengujian dan analisa yang telah dilakukan dan dijelaskan pada bab
sebelumnya, maka dapat diperoleh kesimpulan sebagai berikut:
1. Aplikasi pengenal angka pada indikator digit angka meter air yang dibuat
telah berhasil mengenali digit angka dengan tingkat akurasi 95.56% dan
pengenalan keseluruhan digit angka pada indikator meter air memiliki tingkat
keakurasian 86.67%.
2. Banyak jumlah sampel training pada jaringan meningkatkan hasil identifikasi
jaringan menjadi lebih baik.
3. Dibutuhkan tahapan preproccessing yang berbeda untuk menangani citra yang
kualitasnya tidak berhasil ditingkatkan atau memiliki karakteristik noise yang
berbeda.
4. Terdapat beberapa faktor yang mempengaruhi hasil pengenalan yaitu jenis
kamera yang digunakan, jenis dari meter air, posisi meter air terhadap sumber
cahaya, kebersihan dari lapisan kaca, tingkat kecerahan citra, bias cahaya pada
saat akuisisi, kurang maksimalnya hasil preprocessing, dan posisi karakter