• Tidak ada hasil yang ditemukan

DETEKSI KESIKUAN DAN KECACATAN KERAMIK MENGGUNAKAN METODE TRANSFORMASI HOUGH.

N/A
N/A
Protected

Academic year: 2017

Membagikan "DETEKSI KESIKUAN DAN KECACATAN KERAMIK MENGGUNAKAN METODE TRANSFORMASI HOUGH."

Copied!
74
0
0

Teks penuh

(1)

DETEKSI KESIKUAN DAN KECACATAN KERAMIK

MENGGUNAKAN METODE TRANSFORMASI HOUGH

TUGAS AKHIR

Disusun oleh :

AMELIA KUSUMA WARDANI

NPM. 0934010199

J URUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

J AWA TIMUR

(2)

DETEKSI KESIKUAN DAN KECACATAN KERAMIK MENGGUNAKAN METODE TRANSFORMASI HOUGH

Disusun Oleh :

AMELIA KUSUMA WARDANI NPM. 0934010199

Telah dipertahankan dihadapkan dan diterima oleh Tim Penguji Skr ipsi Pr ogram Studi Teknik Infor matika Fakultas Teknologi Industri

Univer sitas Pembangunan Nasional “Veteran” J awa Timur Pada Tanggal 13 J uni 2014

Mengetahui,

Dekan Fakultas Teknologi Industri

Univer sitas Pembangunan Nasional ”Veteran” J awa Timur

Ir. Sutiyono, MT NIP. 19600713 198703 1 001 Pembimbing :

(3)

DETEKSI KESIKUAN DAN KECACATAN KERAMIK MENGGUNAKAN METODE TRANSFORMASI HOUGH

Disusun Oleh :

AMELIA KUSUMA WARDANI NPM. 0934010199

Telah disetujui mengikuti Ujian Negara Lisan Gelombang VTahun Akademik 2013/2014

Menyetujui,

Pembimbing Utama Pembimbing Pendamping

Intan Yuniar P., S.Kom, M.Sc Wahyu S. J . Saputr a, S.Kom, M.Kom NPT. 3 8006 04 0198 1 NPT. 3 8608 10 0295 1

Mengetahui,

Ketua J urusan Teknik Infor matika Fakultas Teknologi Industri UPN ”Veteran” J awa Timur

(4)

UCAPAN TERIMA KASIH

Ucapan terima kasih ini kami persembahkan sebagai perwujudan rasa syukur atas

terselesaikannya Skripsi. Ucapan terima kasih ini kami tujukan kepada :

1. Allah SWT, karena berkat rahmat dan berkahNya penulis dapat menyusun dan

menyelesaikan Tugas Akhir ini hingga selesai.

2. Bapak dan Ibu tercinta, serta keluarga tersayang, terima kasih atas semua doa,

dukungan serta harapan-harapannya pada saat penulis menyelesaikan Tugas

Akhir ini.

3. Bapak Ir. Sutiyono, MS selaku Dekan Fakultas Teknologi Industri. Serta Ibu

Dr. Ir. Ni Ketut Sari, MT selaku ketua jurusan Teknik Informatika, UPN

“Veteran” Jawa Timur.

4. Ibu Intan Yuniar Purbasari, S.Kom, M.Sc dan Bapak Wahyu S.J. Saputra,

S.Kom, M.Kom selaku Dosen Pembimbing yang telah meluangkan begitu

banyak waktu, tenaga dan pikiran serta dengan sabar membimbing penulis dari

awal hingga Laporan Tugas Akhir ini dapat terselesaikan.

5. Mas Ahmad Fashiha Hastawan, mentor virtual yang dengan kesabarannya telah

banyak membantu dan membimbing penulis dalam menyelesaikan Tugas Akhir

ini.

6. Wahyu, Mas Rully, Mas Asep, dan Febi yang telah berjasa banyak

menyumbangkan ide, saran dan sarana untuk penulis selama mengerjakan

(5)

7. Gadang, Firna, Kanti, Siska, Mas Nyo, Bang Satrio, Idham, Gabo, Lutfi, Man,

Adi, Umam, Arka, Radit, David, serta teman-teman Informatic Dhe lainnya

yang sudah mensupport dan menemani penulis selama masa kuliah.

8. Nuning dan Dindit —teman akrab yang laiknya saudara— yang banyak

memberi dukungan moril untuk penulis selama masa perjuangan di Surabaya,

pun sampai saat ini.

9. Meme, Kaksim, Ucup, Rijal, dan Kopral —teman-teman piknik seperjuangan

yang selalu dan selalu mengingatkan untuk segera merampungkan Tugas Akhir

ini.

10. Radiohead, Coldplay, Explosions in the Sky, Sigur Rós, First Aid Kit, The

Smiths, The Strokes, Efek Rumah Kaca, Pure Saturday, Dialog Dini Hari, Sore,

Float, The Trees and The Wild serta musisi-musisi lainnya yang banyak

menemani penulis melalui musik yang tak pernah jenuh diputar selama proses

(6)

Syukur Alhamdulillahi Rabbil ‘Alamin terucap ke hadirat Allah SWT atas segala limpahan Kekuatan-Nya sehingga dengan segala keterbatasan waktu, tenaga, pikiran dan keburutungan yang dimiliki peneliti, akhirnya peneliti dapat menyelesaikan Skripsi Yang berjudul “Deteksi Kesikuan dan Kecacatan Keramik Menggunakan Metode Transfomasi Hough” tepat waktu.

Skripsi dengan beban 4 SKS ini disusun guna di ajukan sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada jurusan Teknik Informatika, Fakultas Teknologi Industri, UPN “Veteran “ Jawa Timur.

Melalui Skripsi ini peneliti merasa mendapatkan kesempatan emas untuk memperdalam ilmu pengetahuan yang diperoleh selama di bangku perkulihan, terutama berkenaan tentang penerapan teknologi perangkat bergerak, Namun, penyusun menyadari bahwa Skripsi ini masih jauh dari sempurna. Oleh karena itu penyusun sangat mengharapkan saran dan kritik dari para pembaca untuk pengembangan aplikasi lebih lanjut.

Surabaya, April 2014

(7)

DAFTAR ISI

Halaman

ABSTRAK ... i

KATA PE NGANTAR ... ii

UCAPAN TERIMA KASIH ... iii

DAFTAR ISI ... v

1.6. Metodelogi Penelitian ... 4

1.7. Sistematika Penulisan ... 5

BAB II TINJ AUAN PUSTAKA ... 7

2.1. Penelitian Terdahulu ... 7

2.2. Artifical Intelligence ... 7

2.3. Image ... 8

2.4. Computer Vision ... 9

2.5. Pengolahan Citra Digital ... 13

2.5.1. Grayscale ... 16

2.5.2. Thresholding ... 16

2.5.3. Segmentasi Citra ... 19

(8)

2.5.5. Metode Canny ... 22

2.6. Transformasi Hough ... 23

2.6.1. Fungsi Garis ... 25

2.6.2. Array Akumulator ... 25

2.7. Matlab ... 27

BAB III METODOLOGI PENELITIAN ... 29

3.1. Data Set... 29

3.2. Analisis Data ... 29

3.3. Gambaran Aplikasi secara Umum ... 30

3.4. Perancangan Proses. ... 33

3.4.1. Grayscale ... 33

3.4.2. Thresholding. ... 34

3.4.3. Deteksi Tepi Canny... 35

3.4.4. Transformasi Hough. ... 36

3.4.5. Perhitungan Sudut. ... 39

3.5. Perancangan Tampilan Antarmuka. ... 40

BAB IV HASIL DAN PEMBAHASAN ... 43

4.1. Kebutuhan Hardware dan Software ... 43

4.2. Implementasi Data ... 44

4.3. Implementasi Antarmuka ... 44

4.4. Implementasi Proses ... 45

4.4.1. Proses Pilih Image. ... 45

4.4.2. Proses Deteksi Kesikuan dan Kecacatan. ... 46

4.5. Uji Program ... 47

4.5.1. Skenario Uji Program. ... 48

4.5.2. Pelaksanaan Uji Coba... 48

4.6. Analisa Aplikasi. ... 50

(9)

4.6.2. Pengujian Validitas Aplikasi……….…58

BAB V KESIMPULAN DAN SARAN ... 59

5.1. Kesimpulan ... 59

5.2. Saran ... 60

(10)

Penyusun : Amelia Kusuma War dani

Pembimbing I : Intan Yuniar Pur basar i, S.Kom, M.Sc

Pembimbing II : Wahyu S. J . Saputr a, S.Kom, M.Kom

ABSTRAK

Sistem computer vision yang handal diperlukan untuk melakukan sistem pengenalan yang konsisten terhadap beberapa kemungkinan gangguan, terutama untuk pengenalan objek yang memiliki karakter khusus, seperti deteksi kesikuan dan kecacatan keramik. Dengan salah satu metode yang diterapkan adalah dengan menggunakan Transformasi Hough.

Transformasi Hough adalah teknik ekstraksi fitur yang digunakan dalam proses pengolahan citra digital. Transformasi Hough menggunakan voting untuk menentukan garis. Untuk memilih lebih dari 1 garis, maka perlu memberikan nilai ambang batas (threshold) karena memang yang dibutuhkan adalah observasi terhadap nilai threshold yang diberikan. Untuk mendeteksi garis dengan cara menemukan semua garis yang ditentukan oleh dua buah piksel. Garis yang terdeteksi akan diketahui titik ujung dan titik pangkalnya dan dari titik-titik tersebut dihitung koefisien sudut dari dua garis yang saling tegak lurus untuk menentukan apakah suatu sudut keramik siku atau cacat.

Dari hasil pengujian sistem terhadap 30 citra, prosentase keberhasilan mencapai 100%. Hal ini menunjukkan bahwa sistem pengenalan yang telah dirancang ini berjalan dengan baik sesuai harapan perancang sistem. Namun tidak dapat dipungkiri terdapat beberapa faktor-faktor yang sangat mempengaruhi dalam hasil pengenalan terhadap citra keramik tersebut, seperti tingkat kecerahan, hasil deteksi tepi citra, hasil deteksi Transformasi Hough serta penentuan parameter toleransi perbedaan piksel dan panjang toleransi sudut.

(11)

PENDAHULUAN

1.1. Latar Belakang

Keramik pada awalnya berasal dari bahasa Yunani keramikos yang artinya suatu bentuk dari tanah liat yang telah mengalami proses pembakaran. Kamus dan ensiklopedia tahun 1950-an mendefinisikan keramik sebagai suatu hasil seni dan teknologi untuk menghasilkan barang dari tanah liat yang dibakar seperti gerabah, genteng, tembikar dan sebagainya. Tetapi saat ini tidak semua keramik berasal dari tanah liat. Definisi pengertian keramik terbaru mencakup semua bahan bukan logam dan anorgamik yang berbentuk padat. (Yusuf, 1998:2). Menurut Kamus Besar Bahasa Indonesia keramik memiliki arti barang-barang yang terbuat dari tanah liat, dicampur dengan bahan-bahan lain dan kemudian dibakar barang tembikar (porselen).

(12)

pengolahan citra. Perkembangan teknologi industri yang semakin canggih dan pengolahan citra yang sudah maju saat ini dapat diterapkan pada permasalahan pengklasifikasian kualitas keramik tersebut.

Penentuan kualitas keramik didasarkan pada sedikit banyaknya cacat yang teridentifikasi. Terdapat 2 kategori umum cacat keramik yaitu cacat permukaan (shadding, bertumpuk, bintik hitam, bubbles, cooling crack, crawling/cakar ayam, gelombang, glazur/terkelupas, goresan, pin holes, powdering, retak biskuit, tetesan air, masa melekat dan stempel kotor) dan cacat dimensi (ketebalan, kedataran permukaan, kesikuan dan kelurusan sisi). Berdasarkan permasalahan tersebut, dalam Tugas Akhir ini dilakukan penelitian untuk mengidentifikasi kesikuan pada keramik. Pendeteksian kesikuan dan kecacatan keramik menggunakan metode Transformasi Hough. Untuk mengidentifikasi kesikuan dan kecacatan keramik ditentukan dengan cara menghitung sudut kesikuannya.

1.2. Rumusan Masalah

Berdasarkan latar belakang yang telah diuraikan sebelumnya maka dapat dirumuskan masalah, yaitu :

a. Bagaimana membentuk kerangka luar keramik dalam mendeteksi citra kesikuan keramik?

b. Bagaimana mencari tiap sudut keramik dengan menerapkan Transformasi Hough?

(13)

1.3. Batasan Masalah

Adapun batasan-batasan masalah yang dibuat agar dalam pengerjaan tugas akhir ini dapat berjalan degan baik adalah sebagai berikut :

a. Penelitian difokuskan pada pengidentifikasian siku dan cacat keramik melalui pengolahan citra.

b. Keramik yang digunakan adalah keramik lantai yang memiliki ukuran 30 cm x 30 cm serta bermotif halus.

c. Pengambilan citra keramik dilakukan di dalam ruangan dengan menggunakan kamera digital.

d. Citra yang diproses adalah citra yang telah diedit untuk menghasilkan citra yang optimal.

e. Penentuan siku tidaknya keramik berdasarkan nilai sudut yang terdeteksi.

f. Metode yang digunakan untuk penelitian adalah Transformasi Hough.

g. Citra beresolusi 300x300 pixel berformat .jpg.

1.4. Tujuan

(14)

1.5. Manfaat

Manfaat dari penulisan tugas akhir ini adalah :

a. Untuk mengetahui keakurasian metode Transformasi Hough dalam mendeteksi kesikuan keramik.

b. Menyebarluaskan informasi tentang pemanfaatan pendeteksian tepi pada suatu citra yang dapat diaplikasikan dalam kehidupan sehari-hari.

c. Dapat dipergunakan sebagai dasar penelitian selanjutnya untuk pendeteksian kesikuan dan teknik-teknik pengolahan citra digital lainnya.

1.6. Metodologi Penelitian

Beberapa metode dan teknik yang dipergunakan dalam pengumpulan dan pengolahan data skripsi ini antara lain:

a. Library Research

Pada tahap ini, penulis mempelajari dan membaca buku diktat, referensi, buletin perpustakaan sebagai acuan yang berkaitan dengan permasalahan yang akan dibahas.

b. Documentation

Penulis melakukan pencatatan terhadap aktifitas yang berhubungan dengan pengamatannya, apabila diperlukan pencatatan.

c. Perancangan dan Pembuatan Sistem

(15)

adalah pembuatan sistem yang benar, agar sesuai dengan rancangan. Pada tahap ini juga dilakukan perancangan struktur data, algoritma dan diagram alur yang akan digunakan untuk implementasi dalam perangkat lunak yang akan dibuat. Kemudian dilakukan pengimplementasian struktur data dan algoritma yang telah dirancang ke dalam bahasa pemrograman.

d. Pengujian dan Evaluasi Perangkat Lunak

Tahap ini dulakukan pengujian pada perangkat lunak yang telah dibuat, pengevaluasian hasil yang diperoleh serta perbaikan program (revisi), jika hasil belum sesuai dengan tujuan yang diharapkan.

e. Pembuatan Naskah Skripsi

Pada tahap ini dilakukan pendokumentasian dari semua tahap agar dcatat dipelajari untuk pengembangan lebih lanjut. Memaparkan dasar-dasar teori dan metode yang terlibat di dalamnya, diantaranya desain perangkat lunak dan implementasinya, hasil pengujian sistem termasuk juga perbaikan.

1.7. Sistematika Penulisan

Dalam penyusunan tugas akhir, sistematika pembahasan diatur dan disusun dalam enam bab, dan tiap-tiap bab terdiri dari sub-sub bab. Untuk memberikan gambaran yang lebih jelas, maka diuraikan secara singkat mengenai materi dari bab-bab dalam penulisan tugas akhir ini sebagai berikut:

BAB I PENDAHULUAN

(16)

BAB II TINJ AUAN PUSTAKA

Bab ini menjelaskan mengenai landasan teori-teori pendukung pembuatan tugas akhir ini.

BAB III METODOLOGI PENELITIAN

Bab ini berisi tentang analisa dan perancangan sistem dalam pembuatan Tugas Akhir yang digunakan untuk mengolah sumber data yang dibutuhkan sistem anatara lain: Flowchart.

BAB IV HASIL DAN PEMBAHASAN

Pada bab ini akan membahas tentang kerja dari sistem secara keseluruhan. Pada bab ini menjelaskan tentang pelaksanaan uji coba dan evaluasi dari pelaksanaan uji coba dari program yang dibuat. Uji coba dapat dilakukan pada akhir dari tahap-tahap analisa sistem, desain sistem dan tahap penerapan sistem atau implementasi. Sasaran dari ujicoba program adalah untuk menemukan kesalahn-kesalahan dari program yang mungkin terjadi sehingga dapat diperbaiki.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan saran dari penulis untuk pengembangan sistem.

DAFTAR PUSTAKA

(17)

TINJ AUAN PUSTAKA

2.1. Penelitian Terdahulu

Dalam penelitian terdahulu pengidentifikasian cacat kesikuan keramik dilakukan dengan menggunakan teknik morfologi dengan tujuan untuk mengklasifikasikan kualitas keramik secara otomatis. Penelitian yang dilakukan dengan mengimplementasikan teknik pengolahan citra dan pengoperasian morfologikal pada proses pendeteksian cacat pada keramik (Kurniawan, 2012). Cacat pada keramik diantaranya adalah cacat pada pinggiran dan sudut (kesikuan) keramik.

Dalam tugas akhir ini, penelitian lebih ditekankan pada keakuratan metode Transformasi Hough untuk mendeteksi kesikuan keramik. Hasil pendeteksian tepi adalah citra tepi yang nilai pixelnya menyatakan kekuatan tepi. Pixel tepi dinyatakan putih, sedangkan pixel bukan tepi dinyatakan hitam. Metode Canny adalah algoritma yang paling optimum dalam mendeteksi tepi citra. Setelah citra dideteksi tepi, selanjutnya akan dilakukan proses sesuai algoritma Transformasi Hough untuk menetukan kesikuan keramik dan perhitungan sudut kesikuan.

2.2. Artificial Intelligence

(18)

kemampuan penalaran manusia dengan mengorganisasi dan memanipulasi pengetahuan faktual dan heuristik. Bidang aktivitas AI meliputi sistem pakar, pengenalan bahasa alami, pengenalan suara, penglihatan komputer (Computer Vision) dan robotika (Anonim, 1996).

2.3. Image

Data masukan yang diproses adalah suatu image. Image merupakan sebuah representasi khusus dari suatu obyek, baik obyek dua dimensi maupun tiga dimensi. Di mana representasi tersebut dinyatakan dalam bentuk dua dimensi. Image dapat berbentuk nyata, maya, ataupun dalam bentuk optik. Selain itu, image juga dapat berupa rekaman, seperti video image, digital image, atau sebuah gambar. Image dapat dikategorikan sebagai menjadi 2, yaitu analog

image dan digital image.

Menurut Shapiro dan Stockman (2001), Analog image adalah image 2D F (x, y) yang memiliki ketelitian tidak terbatas dalam parameter spasial x dan y dan ketelitian tak terbatas pada intensitas tiap titik spasial (x, y).

Digital image adalah image2D I[r,c] yang direpresentasikan oleh array diskrit 2D dari intensitas sampel, dimana masing-masing titik direpresentasikan dengan ketelitian terbatas.

(19)

alat dan teknik pengambil gambar, seperti kamera digital, scanner, radar, dan sebagainya. Dapat pula disintesis dari data seperti fungsi matematika dan lain lain.

Pixel adalah sampel dari intensitas image yang terkuantisasi ke dalam nilai integer. Sementara Image merupakan array dua dimensi dari pixel-pixel

tersebut. Image inilah yang akan menjadi input awal dalam Computer Vision. Beberapa bentuk digital image yang sering digunakan dalam Computer Vision:

Binary image, yaitu digital image dengan nilai pixel 1 atau 0.

Gray scale image, yaitu digital image monokrom dengan satu nilai intensitas tiap pixel.

Multispectral image, adalah image 2D yang memiliki vektor nilai pada tiap pixel, jika image-nya berwarna maka vektornya memiliki 3 elemen. • Labeled image, adalah digital image dimana nilai pixel-nya adalah simbol

dari alfabet terbatas.

2.4. Computer Vision

Computer Vision (sering disebut juga dengan Machine Vision) dapat dideskripsikan sebagai ilmu yang mempelajari metode yang dapat digunakan untuk membuat komputer mengerti gambar atau data banyak dimensi umumnya.

Sementara definisi Computer Vision adalah penyimpulan (deduksi) otomatis akan struktur atau properti dari dunia tiga dimensi dari satu atau lebih

(20)

properti-properti ini, atau secara singkatnya yaitu proses mengenali objek tertentu dari suatu image (Kulkarni, 2001).

Tujuan dari Computer Vision adalah untuk membuat keputusan yang berguna tentang objek dunia nyata dan keadaan (scene) berdasarkan image yang diambil. Untuk membuat keputusan akan objek nyata, sangat penting untuk membangun deskripsi atau model objek tersebut dari gambar. Karena itu dapat dikatakan bahwa tujuan dari Computer Vision adalah untuk membangun deskripsi keadaan dari image.

Artificial Intelligence digunakan untuk menganalisis keadaan dengan memproses representasi simbolik dari isi lingkungan setelah image telah diproses untuk diambil fiturnya. Banyak teknik dari Artificial Intelligence berperan penting didalam seluruh aspek Computer Vision. Pada dasarnya Computer Vision merupakan cabang dari Artificial Intelligence.

Secara garis besar tahapan tahapan dalam pemrosesan image dalam

Computer Vision terdiri dari: a. Image Acquisition

Tahapan awal dalam Computer Vision adalah Image Acquisition

(pengambilan digital image). Image Acquisition berhubungan dengan sensor yang mengambil image. Sensor yang digunakan bisa kamera atau scanner. Sifat dari sensor dan image yang dihasilkan ditentukan dari aplikasinya.

b. Image Enhancement

Setelah digital image diperoleh, tahapan selanjutnya adalah image enhancement yang termasuk dalam tahap prepocessing, image enhancement

(21)

mendukung tahapan selanjutnya. Tujuan dari image enhancement ini secara teknis untuk menghilangkan noise, memperhalus gambar, mempertajam gambar (menghilangkan blur), serta mengatur pencahayaan (brightness, contrast). Berdasarkan domainnya teknik peningkatan image dapat dibedakan menjadi 2 metode, yaitu domain spasial dan domain frekuensi.

Metode domain spasial didasarkan pada manipulasi langsung dari nilai

gray (keabuan) dari pixel-pixel suatu image. Sedangkan metode domain frekuensi didasarkan pada modifikasi fourier transform dari suatu image. Fourier transformmadalah suatu cara memetakan sinyal pada frekuensi-frekuensi komponennya.

Sementara beberapa teknik image enhancement yang digunakan antara lain:

Grayscale manipulation (manipulasi nilai keabuan)

Merupakan teknik pemetaan intensitas dimana tiap pixel diberikan nilai keabuan yang baru untuk meningkatkan ketajaman gambar. Operasi ini tidak merubah bentuk dan geometri image, yang berubah cuma level intensitasnya. Teknik ini dilakukan dengan cara memproses histogram tingkat keabuan (gray level histogram) dari image.

Untuk mengubah image berwarna yang mempunyai nilai matrik masing-masing r, g dan b menjadi image grayscale dengan nilai s, maka konversi dapat dilakukan dengan mengambil rata-rata dari nilai r, g dan b sehingga dituliskan :

………..……….(2.1)

= + +

(22)

Histogram dalam computer vision adalah representasi dari image yang diperoleh dengan cara menghitung nilai tiap pixel. Singkatnya histogram merupakan grafik yang menggambarkan distribusi intensitas pixel dari suatu

image atau bagian tertentu di dalam citra. Histogram menunjukkan frekuensi kemunculan intensitas pada image.

Gambar 2.1. Image sebelum dilakukan manipulasi. (Kulkarni, 2001) Sementara gray level histogram adalah histogram yang menampilkan dalam tiap tingkat jumlah pixel dalam gambar yang memiliki tingkat keabuan (gray-level) tertentu. Histogram ini dimanipulasi dengan cara di stretch, shrink, atau slide.

Filtering (convolution)

(23)

dikalikan dengan bobot dan ditambahkan sebagai nilai keseluruhan, jumlah tersebut menjadi nilai baru bagi pixel ditengah template, inilah yang menjadi pixel

bagi image baru. Proses ini diulang pada semua pixel dalam gambar. Operator yang sering digunakan adalah averaging, gaussian, dan median filtering.

Gambar 2.2. Image setelah dilakukan manipulasi (dari kiri ke kanan): stretch,

shrink dan slide pada histogramnya. (Kulkarni, 2001)

2.5. Pengolahan Citr a Digital

(24)

Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu bahwa citra kaya dengan informasi. Citra juga dapat dikelompokkan menjadi dua yaitu citra tampak (foto, gambar, lukisan, apa yang nampak di layar monitor/televisi, hologram, dan lain-lain) dan citra tidak tampak (data foto/gambar dalam bentuk file, citra yang direpresentasikan dalam fungsi matematis). Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat optik berupa foto, analog berupa sinyal video seperti gambar pada monitor televisi, dan digital yang dapat langsung disimpan pada media penyimpan magnetik. Citra digital adalah citra yang disimpan dalam format digital (dalam bentuk file). Hanya citra digital yang dapat diolah menggunakan komputer. Jenis citra lain jika akan diolah dengan komputer harus diubah dulu menjadi citra digital. Citra digital tersusun atas sejumlah berhingga elemen, masing-masing memiliki lokasi dan nilai/intensitas tertentu. Elemen-elemen ini disebut elemen gambar, elemen citra, pels, dan juga piksel. Pencitraan (imaging) adalah kegiatan mengubah informasi dari citra tampak/citra non digital menjadi citra digital. Beberapa alat yang dapat digunakan untuk pencitraan adalah scanner, kamera digital, kamera sinar-x/sinar infra merah, dan lain-lain. Jadi, pengolahan citra digital adalah proses yang bertujuan untuk memanipulasi dan menganalisis citra digital dengan bantuan komputer. Masukannya adalah citra dan keluarannya juga citra tapi dengan kualitas lebih baik daripada citra masukan.

(25)

dan keluarannya juga berupa citra dengan kualitas lebih baik daripada citra inputan sebelumnya.

Gambar 2.3. Pengolahan citra (Agung Priyo, 2005)

Pengenalan Pola, mengelompokkan data numeric dan simbolik (termasuk citra) secara otomatis, oleh mesin (dalam hal ini komputer). Tujuan pengelompokan adalah untuk mengenali suatu objek di dalam citra. Manusia bisa mengenali objek yang dilihatnya karena otak manusia telah belajar mengklasifikasi objek-objek di alam sehingga mampu membedakan suatu objek dengan objek lainnya. Kemampuan sistem visual manusia inilah yang dicoba ditiru oleh mesin. Komputer menerima masukan berupa citra objek yang akan diidentifikasi, memproses citra tersebut dan memberikan keluaran berupa deskripsi objek didalam citra. (Agung Priyo, 2005)

Selain dalam dunia fotografi pengolahan citra digunakan juga dalam dunia kedokteran terutama untuk memperjelas citra hasil sinar-x organ tubuh manusia, pengolahan citra juga digunakan dalam bidang lain seperti penyiaran, telekomunikasi digital, sistem multimedia, bilogi, sistem penginderaan jauh, seni grafis, percetakan, militer, bidang pertanian dan masih banyak bidang lainnya.

(26)

Gambar 2.4 Pengenalan Pola (Agung Priyo, 2005) 2.5.1. Grayscale

Mencari tingkat keabuan adalah proses pengubahan warna citra menjadi format warna yang hanya berdasarkan tingkat keabuan. Proses ini menghilangkan informasi hue dan saturation dari piksel dan hanya meninggalkan nilai brightness. Setiap piksel dari tingkat keabuan citra memiliki nilai brightness antara 0 (hitam) sampai 255 (putih). Foto hitam putih merupakan contoh umum dari model warna tingkat keabuan. Walaupun disebut hitam putih, sesungguhnya foto tersebut terbentuk dari banyak warna abu-abu yang berbeda. Tujuan perhitungan tingkat keabuan adalah memudahkan proses selanjutnya yaitu proses thresholding. Dengan algoritma perhitungan tingkat keabuan, piksel dari suatu citra yang mengandung warna-warna RGB (merah, hijau dan biru) diubah menjadi warna-warna dalam berbagai tingkat keabuan dengan menjumlahkan nilai warna merah, hijau dan biru kemudian dibagi tiga sehingga didapatkan nilai rata-rata dari ketiga warna.

2.5.2. Thresholding

Thresholding adalah proses mengubah citra berderajat keabuan menjadi citra biner atau hitam putih sehingga dapat diketahui daerah mana yang termasuk

Citra Pengenalan pola

(27)

obyek dan background dari citra secara jelas. Salah satu metode yang sering digunakan dalam pengolahan citra digital atau image processing adalah

thresholding citra.

Tujuan dari thresholding adalah untuk memisahkan pixelyang mempunyai nilai keabuan (gray value) lebih tinggi dengan yang lebih rendah. Misalnya pixel

yang nilai keabuannya lebih tinggi diberi nilai biner 1 sedangkan pixel dengan nilai keabuan lebih rendah diberi nilai biner 0.

Berdasarkan penentuan nilai threshold-nya, metode thresholding dapat dibedakan menjadi metode manual dimana nilai threshold adalah tetap dan ditentukan secara manual, dan metode otomatis, dimana nilai threshold

ditentukan oleh sistem secara otomatis berdasarkan pengetahuan sistem akan objek, lingkungan dan aplikasinya (misalnya karakteristik intensitas objek, ukuran objek, daerah image yang diduduki objek, jumlah jenis objek dalam image).

Thresholding otomatis menganalisis penyebaran nilai keabuan dalam image

dengan menggunakan histogram dan pengetahuan akan aplikasi tersebut untuk menemukan threshold paling cocok.

(28)

Pada umumnya ada 2 (dua) jenis Thresholding yang sering di gunakan yaitu : Thresholding tunggal dan Thresholding ganda. Untuk Thresholding

tunggal, dapat dilihat melalui fungsi berikut :

g( , ) = 0 ( , ) <

1 ( , ) ≥ ...(2.2) Atau

g( , ) = 0 ( , ) ≥

1 ( , ) < ...(2.3)

Sedangkan untuk thresholding ganda, dapat dilihat melalui fungsi berikut :

g( , ) = 0 min≤ ( , ) ≤

1 ...(2.4)

Atau

g( , ) = 1 min≤ ( , ) ≤

0 ...(2.5)

Nilai Thresholding (T) dapat di peroleh dengan berbagai cara, salah satu caranya adalah dengan melakukan perhitungan sederhana, dimana nilai rata-rata jumlah piksel yang memiliki nilai dibawah T sama dengan nilai rata-rata jumlah piksel yang memiliki nilai diatas T. Untuk perhitungan ini, nilai T yang didapat untuk gambar yang memiliki histogram yang telah ter-equalize adalah berkisar antara 127 dan 128. Nilai dari maksimum T adalah nilai tertinggi dari system

warna yang digunakan dan nilai minimum dari T adalah nilai terendah dari system

(29)

2.5.3. Segmentasi Citr a

Segmentasi citra merupakan bagian dari proses pengolahan citra. Proses segmentasi citra ini lebih banyak merupakan suatu proses pra pengolahan pada sistem pengenalan objek dalam citra. Segmentasi citra (image segmentation) mempunyai arti membagi suatu citra menjadi wilayah-wilayah yang homogen berdasarkan kriteria keserupaan yang tertentu antara tingkat keabuan suatu piksel dengan tingkat keabuan piksel – piksel tetangganya, kemudian hasil dari proses segmentasi ini akan digunakan untuk proses tingkat tinggi lebih lanjut yang dapat dilakukan terhadap suatu citra, misalnya proses klasifikasi citra dan proses identifikasi objek. Adapun dalam proses segmentasi citra itu sendiri terdapat beberapa algoritma, diantaranya: algoritma Deteksi Titik, Deteksi Garis, dan Deteksi Sisi ( berdasarkan Operator Robert dan Operator Sobel ).

(30)

2.5.4. Deteksi Tepi

Deteksi tepi merupakan sebuah proses di mana proses tersebut berfungsi untuk mendeteksi garis tepi yang membatasi dua wilayah citra. Saat ini telah banyak operator – operator yang dapat digunakan dalam pembuatan deteksi tepi, contohnya adalah operator Robert , Prewitt, Sobel, serta operator turunan seperti

Laplace. Deteksi tepi itu sendiri bertujuan untuk menandai bagian yang menjadi detail citra, dan memperbaiki serta mengubah citra.

Pendeteksian tepi merupakan langkah pertama untuk melingkupi informasi di dalam citra. Tepi mencirikan batas-batas objek dan karena itu tepi berguna untuk proses segmentasi dan identifikasi objek di dalam citra. Tujuan operasi pendeteksian tepi adalah untuk meningkatkan penampakan garis batas suatu daerah atau objek di dalam citra. Karena tepi termasuk ke dalam komponen berfrekuensi tinggi, maka pendeteksian tepi dapat dilakukan dengan penapis lolos-tinggi. (Rinaldi Munir, 2004 )

Pendeteksian tepi menghasilkan citra tepi yang berupa citra biner (pixel tapi berwarna putih, sedangkan pixel bukan-tepi berwarna hitam). Rangkaian pixel-pixel tepi yang membentuk batas daerah disebut kontur. Pixel-pixel di dalam daerah dapat ditemukan dengan algoritma pengisian.

(31)

pengenalan plat kendaraan, aplikasi pengenalan sidik jari, dan untuk membedakan uang asli dengan uang palsu.

Terdapat beberapa teknik yang digunakan untuk mendeteksi tepi, antara lain:

• Operator gradien pertama (differential gradient)

mendeteksi tepi di dalam citra, yaitu operator gradien selisih-terpusat, operator Sobel, operator Prewitt, operator Roberts, operator

Canny.

• Operator turunan kedua (Laplacian)

Operator Laplace mendeteksi lokasi tepi khususnya pada citra tepi yang curam. Pada tepi yang curam, turunan keduanya mempunyai persilangan nol, yaitu titik di mana terdapat pergantian tanda nilai turunan kedua, sedangkan pada tepi yang landai tidak terdapat persilangan nol.

• Operator kompas (compass operator)

Digunakan untuk mendeteksi semua tepi dari berbagai arah di dalam citra. Operator kompas yang dipakai untuk deteksi tepi menampilkan tepi dari 8 macam arah mata angin yaitu Utara, Timur Laut, Timur, Tenggara, Selatan, Barat, Barat Daya, dan Barat Laut.

Contoh beberapa gradien pertama yang dapat digunakan untuk turunan pertama menghasilkan tepi yang lebih tebal, sedangkan turunan kedua menghasilkan tepi yang lebih tipis. Ada tiga macam tepi yang terdapat di dalam citra digital. Ketiganya adalah:

(32)

Tepi dengan perubahan intensitas yang tajam. Arah tepi berkisar 90°. b. Tepi landau

Disebut juga tepi lebar, yaitu tepi dengan sudut arah yang kecil. Tepi landau dapat dianggap terdiri dari sejumlah tepi-tepi lokal yang lokasinya berdekatan.

c. Tepi yang mengandung derau (noise)

Umumnya tepi yang terdapat pada aplikasi computer vision mengandung derau. Operasi peningkatan kualitas citra (image enhancement) dapat dilakukan terlebih dahulu sebelum pendeteksian tepi. (Rinaldi Munir, 2004)

2.5.5. Metode Canny

Salah satu algoritma deteksi tepi modern adalah deteksi tepi dengan menggunakan metode Canny. Deteksi tepi Canny ditemukan oleh Marr dan Hildreth yang meneliti pemodelan persepsi visual manusia.

Ada beberapa kriteria pendeteksi tepian paling optimum yang dapat dipenuhi oleh algoritma Canny:

a. Mendeteksi dengan baik (kriteria deteksi)

Kemampuan untuk meletakkan dan menandai semua tepi yang ada sesuai dengan pemilihan parameter-parameter konvolusi yang dilakukan. Sekaligus juga memberikan fleksibilitas yang sangat tinggi dalam hal menentukan tingkat deteksi ketebalan tepi sesuai yang diinginkan.

b. Melokalisasi dengan baik (kriteria lokalisasi)

Dengan Canny dimungkinkan dihasilkan jarak yang minimum antara tepi yang dideteksi dengan tepi yang asli.

(33)

Hanya ada satu respon untuk tiap tepi. Sehingga mudah dideteksi dan tidak menimbulkan kerancuan pada pengolahan citra selanjutnya. Pemilihan parameter deteksi tepi Canny sangat mempengaruhi hasil dari tepian yang dihasilkan. Beberapa parameter tersebut antara lain:

1. Nilai Standart Deviasi Gaussian 2. Nilai Ambang

Gambar 2.5. Jenis – jenis tepi. (Rinaldi Munir, 2004)

Di dalam Matlab untuk menghitung piksel warna putih dengan menggunakan fungsi nnz (number of nonzero entries). Pada callback edge detectionnya diberi imbuhan nnz kemudian pemanggilan variable dari deteksi tepi metode Canny.

2.6. Transfor masi Hough

(34)

transformasi citra yang dapat digunakan untuk mengisolasi atau dengan kata lain memperoleh fitur dari sebuah citra. Karena tujuan dari sebuah transformasi adalah mendapatkan suatu fitur yang lebih spesifik, Classical Hough Transform

merupakan teknik yang paling umum digunakan untuk mendeteksi objek yang berbentuk kurva seperti garis, lingkaran, elips dan parabola. Keuntungan utama dari Transformasi Hough adalah dapat mendeteksi sebuah tepian dengan celah pada batas fitur dan secara relatif tidak dipengaruhi oleh derau atau noise.

Menurut Brigida (2012), Transformasi Hough bekerja dengan memproyeksikan objek dari koordinat xy ke koordinat lingkaran. Sehingga sebuah garis bisa diwakilkan oleh 2 komponen, yakni jari-jari (rho) dan sudut (theta). Dengan kemampuannya mengembalikan 2 variabel ini kita bisa juga menggunakannya untuk rekonstruksi citra yakni perbaikan geometri kemiringan.

Transformasi Hough menspesifikasikan kurva dalam bentuk parametric. Kurva dinyatakan sebagai bentuk parametric (x(u, y(u)). Bentuk parametric tersebut menspesifikasikan titik-titik sepanjang kurva p = (x(u ), y(u )) ke titik akhir p² = (x(u²), y(u²)).

Transformasi Hough menggunakan voting untuk menentukan garis. Untuk memilih lebih dari 1 garis, maka perlu memberikan nilai ambang batas (threshold) karena memang yang dibutuhkan hanya observasi terhadap hasil threshold yang diberikan.

Dalam Matlab dikenal ada 3 parameter penting untuk Hough, yaitu: a. Hough: Untuk menghitung nilai dari Transformasi Hough.

(35)

didapat, kita akan mendapat nilai theta (kemiringan) dari citra. Demikian juga untuk mengetahui nilai rho terbesar.

c. Houghlines: Toolbox ini berkaitan dengan point ke 2, fungsi ini untuk mendeteksi garis dan melakukan plot pada figure sesuai nilai Hough yang dipilih menggunakan nilai ambang batas (threshold).

2.6.1. Fungsi Garis

Transformasi Hough memiliki beberapa perbedaan rumus yang diterapkan. Semuanya tergantung pada jenis objek yang dicari, misalnya untuk mencari objek garis akan digunakan fungsi garis seperti berikut ini:

………....(2.6) Dengan x dan y merupakan titik koordinat yang menyusun objek garis tersebut, sedangkan teta adalah sudut yang dibentuk antara objek garis dengan sumbu x, dan r merupakan jarak antara garis dengan titik pusat (0,0). Untuk lebih jelasnya dapat diilustrasikan dengan menggunakan gambar berikut:

Gambar 2.6. Fungsi garis Transformasi Hough. (Brigida, 2012) 2.6.2. Ar ray Akumulator

Secara umum Transformasi Hough bekerja dengan memanfaatkan sebuah deret Array yang dinamakan akumulator. Array akumulator ini memiliki dimensi

(36)

yang berbeda-beda tergantung dari jumlah parameter dari objek yang dicari. Misalnya pada Transformasi Garis Hough memerlukan 2 buah parameter yakni r dan teta, maka dibentuklah sebuah deret array akumulator yang berdimensi 2.

Gambar 2.7. Citra input array akumulator. (Brigida, 2012)

Pencarian kemudian dilakukan terhadap sebuah area pixel dengan mencari kemungkinan hubungan atau garis yang ada. Setiap kemungkinan hubungan garis dihitung nilai r dan teta–nya terhadap titik pusat. Selanjutnya menyimpan nilai r dan teta-nya dari setiap kemungkinan hubungan tersebut pada array akumulator. Nilai-nilai akumulator akan dipetakan ke dalam sebuah grafik yang dinamakan grafik akumulator dengan teta sebagai absis dan r sebagai koordinat. Berikut ini adalah salah satu contoh citra input dan bentuk grafik akumulatornya.

(37)

2.7. MATLAB

MATLAB adalah sebuah bahasa dengan (high-performance) kinerja tinggi untuk komputasi masalah teknik. Matlab mengintegrasikan komputasi, visualisasi, dan pemrograman dalam suatu model yang sangat mudah untuk pakai dimana masalah-masalah dan penyelesaiannya diekspresikan dalam notasi matematika yang familiar. Penggunaan Matlab meliputi bidang–bidang:

• Matematika dan Komputasi • Pembentukan Algorithm • Akusisi Data

• Pemodelan, simulasi, dan pembuatan prototipe • Analisa data, explorasi, dan visualisasi

• Grafik Keilmuan dan bidang Rekayasa

(38)

Dalam lingkungan perguruan tinggi teknik, Matlab merupakan perangkat standar untuk memperkenalkan dan mengembangkan penyajian materi matematika, rekayasa dan kelimuan. Di industri, MATLAB merupakan perangkat pilihan untuk penelitian dengan produktifitas yang tingi, pengembangan dan analisanya. Fitur-fitur MATLAB sudah banyak dikembangkan, dan lebih kita kenal dengan nama toolbox. Sangat penting bagi seorang pengguna Matlab, toolbox mana yang mandukung untuk learn dan apply technologi yang sedang dipelajarinya. Toolbox ini merupakan kumpulan dari fungsi-fungsi MATLAB (Mfiles) yang telah dikembangkan ke suatu lingkungan kerja MATLAB untuk memecahkan masalah dalam kelas particular. Area-area yang sudah bisa dipecahkan dengan toolbox saat ini meliputi pengolahan sinyal, sistem kontrol,

(39)
(40)

Pada bab ini akan dijelaskan mengenai proses pembuatan program deteksi kesikuan dan cacat keramik menggunakan metode Transformasi Hough. Proses perancangan program dalam sub-bab ini akan dibagi menjadi beberapa tahap anatara lain: analisis, gambaran aplikasi secara umum, perancangan proses.

3.1. Data Set

Data set diperoleh dari pengambilan gambar di sebuah toko bangunan. Gambar diambil menggunakan kamera digital. Gambar yang diambil berupa keramik dengan ukuran 30x30, beberapa keramik normal dan keramik yang gompel dibagian sudutnya. Informasi mengenai data set dapat dilihat pada lampiran.

3.2. Analisis Data

Program untuk deteksi kesikuan keramik menggunakan metode Transformasi Hough. Bahasa pemrograman yang digunakan adalah Matlab. Citra diambil dengan menggunakan kamera digital setelah itu dilakukan tahap pre-processing untuk mendapatkan hasil yang optimal pada tahap proses pendeteksian kesikuan keramik dengan menggunakan Transformasi Hough.

(41)

biner. Citra biner adalah citra yang terdiri dari dua derajat keabuan. Untuk merubah citra tersebut menjadi citra biner, maka kita perlu suatu threshold. Setelah kedua proses tersebut selesai, maka akan dilakukan deteksi tepi dengan metode Canny untuk mendapatkan garis tepi pada image keramik. Setelah didapatkan garis tepi, dilakukan proses penentuan segmen garis dengan menggunakan Transformasi Hough. Hal ini bertujuan untuk mendapatkan nilai piksel dari garis tepi, kemudian Transformasi Hough akan memproses nilai piksel pada masing-masing garis untuk mendapatkan titik pangkal dan titik ujung masing-masing garis. Langkah selanjutnya adalah menghitung sudut pada keramik, sebelum menghitung sudut terlebih dahulu dilakukan pencarian titik-titik pada tiap garis yang saling berhimpit berdasarkan nilai piksel yang berdekatan pada titik pangkal dan titik ujung garis. Dalam hal ini, diberikan batas toleransi untuk nilai piksel dari titik yang berdekatan sebesar 3. Setelah didapatkan dua titik yang saling berhimpitan dari dua garis baru sudut keramik bisa dihitung. Jika nilai keempat sudut bernilai 90 maka keramik dinyatakan normal (tidak cacat), sedangkan jika terdapat salah satu sudut keramik yang bernilai kurang dari 90 atau tidak terdapat nilai sudutnya maka keramik dinyatakan cacat.

3.3. Gambaran Aplikasi secara Umum

Untuk alur program pendeteksian keramik yang pertama adalah memilih

image kemudian dilakukan proses grayscale, threshold, deteksi tepi Canny dan Transformasi Hough untuk menentukan segmen garis pada citra. Kemudian hasil

(42)

atan2 (abs ((x2-x1) * (y4-y3) - (y2-y1) * (x4-x3)), (x2-x1) * (x4-x3) + (y2-y1) * (y4-y3))

Gambar 3.1. Alur Pendeteksian Kesikuan Keramik

Image

Grayscale

Hasil

Hough Transform

Deteksi Tepi Canny

Threshold

Start

(43)

Secara garis besar untuk mendeteksi kesikuan keramik dengan metode Transformasi Hough melalui beberapa proses berikut:

1. Citra masukan berupa citra berwarna

Input diperoleh dari pengambilan gambar (image) melalui kamera digital, berupa gambar keramik. Setelah itu dilakukan pre-processing untuk mendapatkan hasil yang optimal. Gambar yang digunakan berformat .JPG. Gambar ini yang menjadi input awal bagi proses-proses selanjutnya.

Gambar 3.2. Gambar input 2. Baca inputan citra yang akan diproses menjadi:

Grayscale

Thresholding

• Deteksi tepi Canny

• Transformasi Hough • Hasil Keluaran 3. Output

(44)

3.4. Perancangan pr oses

Untuk mengetahui proses-proses yang dilakukan maka akan dijelaskan sebagai berikut:

3.4.1. Grayscale

Grayscale merupakan proses pengolahan citra dengan cara mengubah nilai-nilai piksel awal citra menjadi sebuah citra keabuan.

Gambar 3.3. FlowchartGrayscale

Langkah awal yang ditunjukkan pada Gambar 3.3 adalah citra masukan berwarna yang kemudian akan diproses menjadi citra grayscale. Citra keabuan adalah citra yang setiap pikselnya mengandung satu layer dimana nilai intensitasnya berada pada interval 0-255, sehingga nilai-nilai piksel pada citra keabuan tersebut dapat direpresentasikan dalam sebuah matriks yang dapat memudahkan proses perhitungan pada operasi berikutnya. Di dalam MATLAB untuk menggubah piksel RGB ( Red Green Blue) menjadi skala keabu – abuan dengan menggunakan fungsi rgb2gray.

(45)

Variabel gray berfungsi menampung hasil konversi citra RGB ke citra abu – abu. Citra dikonversi adalah citra kain batik yang ditampung dalam variable I. 3.4.2. Thresholding

Proses selanjutnya adalah melakukan thresholding pada image yang diperoleh dari proses grayscale dan pada image masukan awal.

Gambar 3.4. Flowchart Thresholding

(46)

Karena threshold dinormalisasikan dalam range [0, 1], maka harus diskalakan ke

range gray level yang benar dari citra sebelum digunakan. Flowchart bisa dilihat pada gambar 3.4.

3.4.3. Deteksi Tepi Canny

Pada proses ini akan dideteksi tepi. Deteksi tepi yang digunakan adalah

canny.

Gambar 3.5. Flowchart Deteksi Tepi Canny

Algoritma ini dikenal sebagai algoritma yang baik untuk mendeteksi tepi. Deteksi tepi ini pertama-tama menghaluskan gambar dengan menyingkirkan

(47)

mempunyai ruang kepalsuan yang tinggi. Algoritma ini lalu mengambil jalur sepanjang ruang tersebut dan menekan pixel yang tidak maximum (penekanan

non-maximum). Berikut adalah potongan baris program deteksi tepi Canny. BW=edge(gr ay,' canny');

Sesuai dengan flowchart algoritma Canny yang dapat dilihat pada gambar 3.5, dengan menggunakan metode Canny tepian yang dihasilkan lebih jelas, perbedaan tepian dengan background citra terlihat nyata. Noise pada citra masukan dapat dijadikan sebagai salah satu parameter yang menentukan tingkat tampilan dari beberapa metode untuk melacak tepian suatu objek.

3.4.4. Transfor masi Hough

Proses selanjutnya setelah deteksi tepi, dilakukan penentuan segmen garis lurus dengan menggunakan Transformasi Hough.

Pada umumnya, Transformasi Hough digunakan dengan gambar biner, dengan H = (ө , p) yang memberikan jumlah sinusoid yang melintasi di titik (ө, p), dan jumlah total poin terbentuk, dapat membentuk garis pada citra.

Misalkan citra tepi berukuran n = N X M pixel. Cara yang paling sederhana mendeteksi garis lurus adalah menemukan senua garis yang ditentukan oleh dua buah pixel dan memeriksa apakah sebagian dari pixel tepi termasuk ke dalam garis tersebut (cara exhaustive search).

Jumlah maksimum garis yang dideteksi adalah n(n-1)/2. Karena setiap

(48)

y = mx + c

c = y - mx

r = x cos ө + y sin ө

bentuk parametric dan menggunakan mekanisme pemungutan suara terbanyak

(voting) untuk menentukan nilai parameter yang tepat. Tinjau persamaan garis

lurus:

……….(3.1)

Dalam bentuk parametric, setiap garis dinyatakan sebagai (m’, c’) di dalam

ruang parameter m-c. Persamaan 3.1 dapat ditulis menjadi:

……….………….(3.2)

Sembarang titik (x,y) pada bidang planar X-Y berkoresponden dengan

sebuah garis lurus pada ruang parameter m-c. Dengan cara ini, maka setiap pixel

pada garis lurus di bidang citra berkoresponden dengan sejumlah garis lurus yang

melalui satu titik tertentu di ruang parameter m-c. Sifat ini dimanfaatkan untuk

mendeteksi garis lurus.

Model parametric pada persamaan 3.1 tidak dapat digunakan untuk

mendeteksi garis vertical atau hamper vertical karena gradiennya (m) menuju nilai

tak-berhingga. Karena itu, garis dinyatakan dalam representasi polar:

……….(3.3)

Yang dalam hal ini r adalah jarak garis ke titik asal. Sedangkan

Sembarang garis yang melalui (x1,y1) pada ruang x-y berkoresponden dengan

kurva sinusoida r = x1 cos ө + y1 sin ө pada ruang r-ө. Pixel-pixel yang terletak

segaris pada citra tepi berkoresponden dengan titik potong seluruh kurva

sinusoidanya pada ruang parameter r-ө. Flowchart Transformasi Hough dapat

(49)

Algoritma Transformasi Hough diperlihatkan pada tabel source code 3.1.

Algoritma tersebut mengasumsikan citra tepi disimpan dalam matriks

Edge[0..N-1,0..M-1]. Ruang parameter r-ө dinyatakan sebagai matriks P

yang berukuran nxm. Nilai cosinus dan sinus disimpan di dalam lookup table

COS[0..p-1] dan SIN[0..p-1].

Sour ce Code 3.1. Algoritma Transformasi Hough

void Hough(citra Edge, int N, int M, imatriks P, int n, int m, float *COS, float *SIN)

/* prosedur yang melakukan Transformasi Hough. Masukan: citra tepi Edge yang berukuran N x M. Keluaran: matriks parameter P yang berukuran n x m */

{

int k, l, i, j, kk, ll; float r, b;

float SQRTD =sqrt((float)N*(float)N + (float)M*(float)M); /* inisialisasi P[0..p-1, 0,,q-1] dengan 0 */

for(kk=0;kk<=p-1;kk++) for(ll=0;ll<=q-1;ll++) P[kk][ll]=0;

/*telusuri citra tepi. Jika pixel merupakan tepi, lakukan pemungutan

suara pada elemen matriks P yang bersesuaian. tetha dari –pi/2 sampai pi/2.

r dari –sqrt(N*N+M*M) sampai sqrt(N*N+M*M).*/ for (k=0;k<=N-1;k++)

/* Membuat tabel cosinus dan sinus untuk fungsi COS dan SIN. Masukan: m adalah jumlah baris tabel

Keluaran: tabel COS dan tabel SIN*/ {

int i;

(50)

3.4.5. Perhitungan Sudut

Dari proses Transformasi Hough akan didapatkan nilai titik pangkal dan

titik ujung dari setiap pixel pada garis lurus. Untuk titik pangkal garis lurus

digunakan variabel (xi, yi), untuk titik ujungnya digunakan variabel (xj, yj).

Sebelum dilakukan perhitungan sudut, dilakukan pendeteksian garis-garis

yang saling tegak lurus. Karena Transformasi Hough bekerja secara random

dalam penentuan garis (tidak berurutan), maka untuk mencari garis-garis yang

saling tegak lurus titik pangkal garis pertama digunakan perulangan untuk

mencari titik ujung garis lainnya yang saling berhimpit. Begitu seterusnya sampai

ditemukan 8 titik yang saling berhimpitan antara garis satu dengan garis lainnya.

Selanjutnya perhitungan sudut dihitung berdasarkan nilai titik-titik yang saling

berhimpitan tadi. Berikut rumus perhitungan sudut:

angle = atan² ((x2-x1)*(y4-y3)-(y2-1)*(x4-x3)),((x2-x1)*(x4-x3)+(y2-y1)*(y4-y3))

Dimana:

(x1, y1) = titik pangkal garis pertama

(x2, y2) = titik ujung garis pertama

(x3, y3) = titik pangkal garis kedua

(x4, y4) = titik ujung garis kedua

Dalam hal ini, diberikan batas toleransi untuk nilai piksel dari sebesar 3

untuk titik-titik yang saling berhimpitan. Jika titik-titik yang berhimpitan tersebut

(51)

cacat. Serta dari perhitungan sudut tersebut jika didapat nilai sudut adalah 90º,

maka keramik dinyatakan siku. Jika nilai sudut yang didapat kurang atau lebih

dari 90 º atau tidak terdapat nilai sudutnya maka keramik dinyatakan cacat.

Gambar 3.6. Flowchart Transformasi Hough

3.5. Perancangan Tampilan Antar muka

Pada perancangan antarmuka yang akan dibuat nantinya merupakan suatu

halaman untuk berinteraksi bagi pemakai/pengguna program dan diharapkan

(52)

deteksi kesikuan dan kecacatan keramik menggunakan metode Transformasi

Hough akan dirancang tampilan GUI maka akan menghasilkan 2 file yaitu

namafile.fig dimana GUI disimpan dan namafile.m dimana eksekusi program

terkumpul. Masing-masing fig-file ini menghasilkan m-file dengan nama yang

sama.

Table 3.1 berisi objek-objek yang dibutuhkan dalam perancangan tampilan/

antarmuka pada pembuatan program deteksi kesikuan dan kecacatan keramik

menggunakan metode Transformasi Hough.

Tabel 3.1. Perancangan Program

Fig-file Komponen Nama Fungsi

TAkeramik Text1 Deteksi Kesikuan… Judul

Panel1 Panel proses Background dari proses

Pushbutton1 Open Mengakses file inputan

Pushbutton2 Proses Memproses file inputan

Axes1 - Menampilkan citra

Axes2 - Menampilkan citra

Axes3 - Menampilkan citra

Axes4 - Menampilkan citra

Axes5 - Menampilkan citra

Axes6 - Menampilkan citra

Axes7 - Menampilkan citra

Panel2 Hasil pengamatan… Background dari hasil

Text2 Citra Menampilkan tulisan

Text3 Grayscale Menampilkan tulisan

Text4 Threshold Menampilkan tulisan

Text5 Edge detection Menampilkan tulisan

Text6 Hough transform Menampilkan tulisan

Text7 Keluaran akhir Menampilkan tulisan

Text8 - Menampilkan tulisan

Panel3 - Background dari logo

Axes8 - Menampilkan logo UPN

Pushbutton3 Keluar Keluar dari program

Tampilan antarmuka tersebut diharapkan dapat memudahkan pengguna

(53)

Pada Gambar 3.7 adalah rancangan tampilan awal antarmuka di mana di

dalamnya ada isi dari tabel 3.1.

(54)

43

BAB IV

HASIL DAN PEMBAHASAN

Pada bab IV ini akan dijelaskan mengenai implementasi, hasil uji coba dan

evaluasi dari rancangan program yang telah dibuat pada bab III. Bagian implementasi

aplikasi kali ini meliputi: lingkungan implementasi, implementasi data, implementasi

antarmuka dan implementasi proses.

4.1. Kebutuhan Har dwar e dan Softwar e

Pada bagian ini akan dijelaskan mengenai perangkat keras dan perangkat

lunak yang digunakan pada implementasi aplikasi ini.

Kebutuhan Har dwar e :

a) Komputer dengan processor Intel (R) Core(TM)2Duo CPU P8700 2,5GHz b) RAM (2048MB)

c) VGA Card share memory up to 1274 MegaByte

d) Monitor 14”

e) Hard Disk 320 GigaByte

Kebutuhan Softwar e :

a) Sistem Operasi Windows 7. b) Matlab 7.0

(55)

4.2. Implementasi Data

Seperti yang telah dijelaskan secara konseptual pada Bab 3, maka data yang

akan diimplementasikan pada aplikasi ini berupa gambar-gambar keramik yang telah

diambil melalui kamera digital yang nantinya akan diproses melalui beberapa

tahapan. Dimana output berupa tampilan jumlah sudut terdeteksi dan keterangan siku tidaknya suatu keramik.

4.3. Implementasi Antar muka

Pada implementasi antarmuka ini merupakan interaksi antara pemakai (user) dengan sistem. Halaman form utama ini merupakan tampilan awal saat program dijalankan. Pada form utama ini terdapat program secara keseluruhan beserta dengan prosedur-prosedur programnya. Pada masing – masing menu memiliki fungsi yang

berbeda – beda pada aplikasi ini. Berikut penjelasan dari setiap form pada menu utama ini :

a. Open : untuk memilih input gambar yang akan diproses.

b. Proses : untuk melakukan tahapan-tahapan proses eksekusi inputan.

c. Keluar : untuk keluar dari aplikasi ini.

Pada tampilan form utama terdapat 7 kolom yang mempunyai fungsi

berbeda-beda. Kolom pertama dengan nama citra berfungsi untuk menampilkan image yang

akan diproses. Kolom kedua dengan nama grayscale berfungsi untuk merubah citra yang berwarna menjadi keabu-abuan. Kolom ketiga diberi nama threshold berfungsi untuk merubah citra yang sudah digrayscale menjadi citra hitam putih. Kolom

(56)

proyek=guidata(gcbo);

[namafile,direktori]=uigetfile({'*.jpg';'*.png';

'*.tif''*.bmp';},'Buka Gambar');

if isequal(namafile,0)

return;

end;

I=imread(strcat(direktori,namafile));

set(proyek.figure1,'CurrentAxes',proyek.axes1);

set(imshow(I));

set(proyek.axes1,'Userdata',I);

set(proyek.figure1,'Userdata',I);

Kolom kelima menampilkan hasil dari hough transform berupa citra yang telah terdeteksi garisnya. Kolom keenam menampilkan hasil sudut, sedang kolom ketujuh

berupa textbox yang akan menampilkan keterangan siku tidaknya keramik.

4.4. Implementasi Proses

Bagian implementasi proses ini menjelaskan mengenai implementasi

proses-proses sesuai dengan konsep yang telah dibuat pada bab 3. Seperti yang telah

digambarkan dalam flowchart.

4.4.1. Pr oses Pilih Image

Proses Pilih Image merupakan proses yang bertujuan untuk memilih inputan berupa gambar yang akan ditampilkan pada form utama. (Source code 4.1)

(57)

4.4.2. Pr oses Deteksi Kesikuan dan Kecacatan Keramik

Pada tahap selanjutnya dilakukan segmentasi citra dan penentuan kesikuan

keramik dengan menekan tombol Proses. Image yang berwarna citra RGB akan diubah menjadi grayscale serta dithreshold untuk kemudian dilakukan deteksi tepi dengan menggunakan metode Canny. Kemudian citra akan terdeteksi garis tepinya. Setelah itu dilakukan proses Hough Transform untuk menentukan segmen garis. Dari Transformasi Hough akan didapat nilai piksel garis yang terdeteksi, kemudian

didapatkan titik pangkal dan titik ujung masing-masing garis. Setelah itu dilakukan

pencarian titik-titik yang saling berhimpitan untuk menghitung nilai dari

masing-masing sudut. Source code 4.2 menerangkan code untuk proses pendeteksian tepi

xlabel('\theta'), ylabel('\rho');

(58)

P = houghpeaks(H,26,'threshold',ceil(0.5*max(H(:))));

plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green');

plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','red');

Sour ce Code 4.2. Proses Deteksi Kesikuan dan Kecacatan Keramik

4.5. Uji Coba Pr ogr am

Pada sub bab ini akan dibahas mengenai uji coba terhadap aplikasi yang telah

dibuat dan selanjutnya akan dievaluasi dari hasil uji coba tersebut. Uji coba

dilaksanakan untuk mengetahui kemampuan aplikasi dapat berjalan dengan baik

sesuai dengan rancangan. Evaluasi dilakukan untuk menentukan tingkat keberhasilan

(59)

4.5.1. Skenar io Uji Coba

Untuk memastikan bahwa aplikasi ini berjalan dengan baik, diperlukan

adanya skenario yang akan dicoba, antara lain :

a. Memilih inputan citra pada data set yang telah disediakan

b. Melakukan proses grayscale, threshold, edge detection, hough transform dan hasil keluaran. Hasil dari proses berupa tampilan keterangan kesikuan keramik 4.5.2. Pelaksanaa Uji Coba

Langkah pertama dalam membuat program deteksi kesikuan keramik

adalah dengan merancang tampilan program dengan menggunakan GUI pada

Matlab.

Ga mbar 4.1. Tampilan Awal Aplikasi

Setelah perancangan program dibuat dengan menggunakan GUI, dilakukan

(60)

terakhir adalah dengan mencoba program tersebut. Dengan menekan tombol Run, maka akan muncul figure tampilan seperti pada gambar 4.1.

Klik menu open pada tampilan program berfungsi untuk memasukkan citra pada data set yang akan diproses. Pada data set disediakan citra keramik sebanyak 30

gambar. Kemudian citra akan tampil pada form pertama seperti pada gambar 4.2.

Gambar 4.2. Tampilan Image yang telah dipilih

Tombol proses berfungsi untuk menjalankan proses deteksi kesikuan

keramik. Inputan citra yang akan diproses terlebih dahulu tampil pada kolom citra

yang berupa citra berwarna RGB (gambar 4.2).

Setelah menekan tombol proses maka akan muncul keenam tahapan proses

(61)

kolom yang tersedia sesuai dengan keterangan yang tertera pada tampilan figure. Dalam eksekusi tombol proses didapatkan juga keterangan apakah citra keramik yang

diuji siku atau cacat yang berupa message text seperti pada gambar 4.3. Jika semua proses pengujian selesai dan sudah didapatkan hasilnya, maka ditekan tombol keluar

untuk keluar dari aplikasi.

Gambar 4.3. Tampilan citra yang telah diproses

4.6. Analisa Aplikasi

Berdasarkan hasil uji coba yang telah dilakukan untuk mendeteksi kesikuan

dan kecacatan keramik, maka akan dilakukan analisa proses, antara lain sebagai

(62)

4.6.1. Analisis Pr oses Ber dasar kan Gambar

Pada analisa proses berdasarkan gambar didapatkan hasil gambar dari

program, mulai dari citra input sebagai citra awalan yang akan diproses dengan

segmentasi citra, Hough Transform dan keluaran akhir yang menampakkan hasil sudut dan keterangan kesikuan. Hasil output citra program bisa dilihat pada tabel 4.1.

Tabel 4.1. Tabel Uji Coba Citra Deteksi Kesikuan Keramik

Citr a Ker amik Hough Tr ansfor m Keluar an Akhir Keterangan

Keramik

siku-siku

Keramik

siku-siku

Keramik

(63)

Keramik

siku-siku

Keramik

siku-siku

Keramik

siku-siku

Keramik

siku-siku

Keramik

(64)

Keramik

siku-siku

Keramik

siku-siku

Terdapat

bagian

keramik

yang miring

Terdapat

bagian

keramik

yang miring

Terdapat

bagian

keramik

(65)

Terdapat

bagian

keramik

yang miring

Terdapat

bagian

keramik

yang miring

Terdapat

bagian

keramik

yang miring

Terdapat

bagian

keramik

yang miring

Terdapat

kecacatan

pada

(66)

Terdapat

kecacatan

pada

keramik

Terdapat

kecacatan

pada

keramik

Terdapat

kecacatan

pada

keramik

Terdapat

kecacatan

pada

keramik

Terdapat

kecacatan

pada

(67)

Terdapat

kecacatan

pada

keramik

Terdapat

kecacatan

pada

keramik

Terdapat

kecacatan

pada

keramik

Terdapat

kecacatan

pada

keramik

Terdapat

kecacatan

pada

(68)

Terdapat

kecacatan

pada

keramik

Terdapat

kecacatan

pada

keramik

Tabel 4.1 menjelaskan citra input untuk inputan awal lalu diproses ke

grayscale, threshold dan deteksi tepi dengan menggunakan metode Canny. Setelah itu dilakukan proses Transformasi Hough untuk mendapatkan segmen garis. Dari

segmen garis yang terdeteksi oleh Transfomasi Hough akan didapatkan nilai

pikselnya untuk masing-masing titik pangkal dan titik ujung dari segmen garis

tersebut. Dalam hal ini, diberikan batas toleransi jumlah piksel sebesar 3 untuk

titik-titik yang saling berhimpitan dari garis yang saling tegak lurus. Dari titik-titik-titik-titik

tersebut dilakukan perhitungan sudut. Jika sudut yang dihasilkan 90 maka keramik

dinyatakan siku atau tidak cacat, sedangkan jika sudut yang dihasilkan kurang atau

lebih dari 90 maka keramik dinyatakan miring. Jika pada citra uji ditemukan sudut

(69)

4.6.2. Pengujian Validitas Aplikasi

Berdasarkan pengujian terhadap citra uji yang sudah dilakukan, dapat

dilakukan penilaian tingkat keberhasilan program yang disajikan dalam Tabel 4.2.

Penilaian ini berdasarkan hasil visualisasi yang tampak dari citra keramik, proses

Transformasi Hough dan keluaran akhir. Beberapa keluaran akhir tidak selaras

dengan citra keramik dan proses Transformasi Hough.

Tabel 4.2. Penilaian Tingkat Keberhasilan Program Menguji Citra Uji

Nama Citr a Hasil Deteksi

Tr ansfomasi Hough Keluar an Akhir Keter angan

1_normal_1.jpg Keempat sudut

11_miring_1.jpg Terdapat sudut yang tampak tidak siku

(70)

tampak tidak siku sudut tidak suku siku/ Keramik miring

14_miring_4.jpg Terdapat sudut yang tampak tidak siku

15_miring_5.jpg Terdapat sudut yang tampak tidak siku

16_miring_6.jpg Terdapat sudut yang tampak tidak siku

17_miring_7.jpg Terdapat sudut yang tampak tidak siku

18_gompel_1.jpg Terdapat sudut yang tampak gompel

Terdapat sudut yang tampak gompel

Keramik gompel

19_gompel_2.jpg Terdapat sudut yang tampak gompel

Terdapat sudut yang tampak gompel

Keramik gompel

20_gompel_3.jpg Terdapat sudut yang tampak gompel

Terdapat sudut yang tampak gompel

Keramik gompel

21_gompel_4.jpg Terdapat sudut yang tampak gompel

Terdapat sudut yang tampak gompel

Keramik gompel

22_gompel_5.jpg Terdapat sudut yang tampak gompel

Terdapat sudut yang tampak gompel

Keramik gompel

23_gompel_6.jpg Terdapat sudut yang tampak gompel

Terdapat sudut yang tampak gompel

Keramik gompel

24_gompel_7.jpg Terdapat sudut yang tampak gompel

Terdapat sudut yang tampak gompel

Keramik gompel

25_gompel_8.jpg Terdapat sudut yang tampak gompel

Terdapat sudut yang tampak gompel

Keramik gompel

26_gompel_9.jpg Terdapat sudut yang tampak gompel

Terdapat sudut yang tampak gompel

Keramik gompel

27_gompel_10.jpg Terdapat sudut yang tampak gompel

Terdapat sudut yang tampak gompel

Keramik gompel

28_gompel_11.jpg Terdapat sudut yang tampak gompel

Terdapat sudut yang tampak gompel

Keramik gompel

29_gompel_12.jpg Terdapat sudut yang tampak gompel

Terdapat sudut yang tampak gompel

Keramik gompel

30_gompel_13.jpg Terdapat sudut yang tampak gompel

Terdapat sudut yang tampak gompel

(71)

Berdasarkan Tabel 4.2 ternyata citra keramik yang terindentifikasi siku

berdasarkan 30 dataset yang telah disediakan adalah 10 keramik, sedangkan yang

teridentifikasi tidak siku, miring atau gompel adalah 20 keramik. Maka prosentase

keberhasilan berdasarkan tabel 4.2 sesuai dengan kondisi keramik berdasarkan

penglihatan mata (lihat pada lampiran) adalah sebesar 100%. Hal ini menunjukkan

bahwa sistem pengenalan yang telah dirancang ini berjalan dengan baik sesuai

harapan perancang sistem. Namun tidak dapat dipungkiri terdapat beberapa

faktor-faktor yang sangat mempengaruhi dalam hasil pengenalan terhadap citra keramik

tersebut. Faktor-faktor yang mempengaruhi tersebut adalah tingkat kecerahan, hasil

deteksi tepi citra, hasil deteksi Transformasi Hough, serta faktor penentuan parameter

Gambar

Gambar 2.1. Image sebelum dilakukan manipulasi. (Kulkarni, 2001)
Gambar 2.2. Image setelah dilakukan manipulasi (dari kiri ke kanan): stretch, shrink dan slide pada histogramnya
Gambar 2.3. Pengolahan citra (Agung Priyo, 2005)
Gambar 2.4 Pengenalan Pola (Agung Priyo, 2005)
+7

Referensi

Dokumen terkait

ditunjukkan dan tidak dihadapan orang lain (penonton) sama halnya dengan lesbian sebagai subjek, menyadari dirinya adalah pelaku lesbian maka mereka bertindak

Pada periode Klasik, istilah sonata cenderung mengacu kepada komposisi untuk satu atau dua instrumen saja, contohnya Piano Sonata, yang merupakan komposisi untuk piano

Latar belakang pembuatan tugas akhir ini adalah proses perhitungan kum untuk dosen Politeknik Negeri Medan masih dilakukan secara manual sehingga mengakibatkan

Penelitian ini bertujuan untuk menghasilkan produk LKS yang sesuai dengan karakteristik pendekatan kerja laboratorium, kemudian untuk mengetahui ketercapaian

Hal ini berarti siswa dengan berpikir secara intuisi dapat meningkatkan hasil belajar matematika di kelas, maka dari itu akan dikembangkan sebuah model Intuition

Kegiatan ini penting dilakukan oleh mahasiswa peserta PPL agar memperoleh gambaran bagaimana cara menciptakan suasana belajar rmengajar di dalam kelas sebelum mengajar

CARTA ORGANISASI RANCANGAN ORGANISASI PENGURUS BESAR AMAT ROSLAN PENGURUS PEMASARAN NAZA IDRIS PENGURUS KEWANGAN JAAFAR SAARI PENGURUS PENTADBIRAN SAMSURI BUANG PENGURUS

biasanya memiliki kelainan struktur jantung yang lebih kompleks dan hanya dapat ditangani dengan tindakan bedah.Sementara penyakit jantung bawaan asianotik umumnya memiliki