• Tidak ada hasil yang ditemukan

PENGELOMPOKAN CITRA AKSARA BALI MENGGUNAKAN METODE SINGLE LINKAGE HIERARCHICAL CLUSTERING SKRIPSI

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENGELOMPOKAN CITRA AKSARA BALI MENGGUNAKAN METODE SINGLE LINKAGE HIERARCHICAL CLUSTERING SKRIPSI"

Copied!
207
0
0

Teks penuh

(1)

PENGELOMPOKAN CITRA AKSARA BALI

MENGGUNAKAN METODE SINGLE LINKAGE HIERARCHICAL CLUSTERING

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Program Studi Informatika

Oleh :

David Thanlian Kurniawan 165314089

PROGRAM STUDI INFORMATIKA JURUSAN INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA

YOGYAKARTA 2020

(2)

ii

BALINESE SCRIPT IMAGE CLUSTERING USING SINGLE LINKAGE HIERARCHICAL

CLUSTERING METHOD THESIS

Submitted in Partial Fulfillment of The Requirements For The Degree of Sarjana Komputer

In Informatics Study Program

By :

David Thanlian Kurniawan 165314089

INFORMATICS STUDY PROGRAM DEPARTMENT OF INFORMATICS FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY YOGYAKARTA

(3)

vii

ABSTRAK

Daun lontar merupakan alat komunikasi tradisional yang digunakan pada zaman kerajaan. Seiring berjalannya waktu, maka tidak menutup kemungkinan, bahwa pengetahuan atau informasi yang ada pada daun tersebut bisa saja hilang, seperti tulisan yang mulai memudar atau daun lontar tersebut menjadi lapuk. Dengan demikian, terpikirkanlah sebuah ide untuk membuat suatu sistem otomtasi yang dapat membaca aksara yang ada pada daun lontar tersebut. Ada beberapa tahap yang harus dilakukan agar dapat membentuk sistem tersebut, dan salah satunya ialah membentuk database berdasarkan aksara yang ada pada lontar tersebut. Adapun tahapan yang dilakukan yaitu mengambil data hasil segmentasi kemudian dilakukannya Proses Segmentasi lagi dan Noise Reduction, lalu melakukan proses preprocessing yang meliputi binerisasi, noise filtering, cropping, thinning. Setelah itu dilakukan ekstraksi ciri dengan menggunakan Intensity of Character. Hasil akurasi atau uji kekompakan cluster didapatkan dengan menggunakan Silhouette Coefficient untuk setiap data, lalu dilakukannya rerata dari untuk mendapatkan nilai tunggal Silhouette Coefficient. Berdasarkan penelitian, didapatkan hasil bahwa penggunaan silhouette coefficient sebagai media analisis masih kurang tepat, untuk mengetahui apakah citra aksara Bali sudah berada pada kelompok yang tepat atau tidak, dan penggunaan ciri mempengaruhi penggunaan rumus jarak agar terbentuknya cluster yang dikatakan layak.

Kata kunci : Clustering, Hierarchical Clustering, Agglomerative Clustering, Intensity of Character, Rosenfeld, Silhouette Coefficient.

(4)

viii

ABSTRACK

Palm leaves are a traditional communication tool used in royal times. Over time, it does not rule out the possibility that the knowledge or information on the leaf may be lost, such as hand-writing that begins to fade or the palm leaves become obsolete. Thus, an idea came to mind to create an automation system that could read the characters on the palm leaves. There are several steps that must be done in order to form the system, and one of them is to form a database based on the characters that exist in the palm leaves. The steps taken are taking the segmentation data and then doing the Segmentation Process again and Noise Reduction, then doing the preprocessing process which includes binarization, noise filtering, cropping, thinning. After that the feature extraction is done by using Intensity of Character. Accuracy or cluster compactness results are obtained using the Silhouette Coefficient for each data, then do the average of to get a single value of the Silhouette Coefficient. Based on the research, the results show that the use of silhouette coefficient as a medium of analysis is still inaccurate, to find out whether the Balinese script image is in the right group or not, and the use of features influences the use of distance formula in order to form a suitable cluster.

Keywords : Clustering, Hierarchical Clustering, Agglomerative Clustering, Intensity of Character, Rosenfeld, Silhouette Coefficient.

(5)

ix

LEMBAR PERSEMBAHAN

“Be like water”

-Bruce Lee-

Karya ini penulis persembahkan kepada : Tuhan Yang Maha Esa

Keluarga Almamater

(6)

x

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Tuhan Yang maha Esa atas segala berkat yang telah diberikan-Nya, sehingga penulis dapat menyelsaikan tugas akhir yang berjudul “Pengelompokan Citra Aksara Bali Menggunakan Single

Linkage Hierarchical Clustering”. Tugas akhir ini ditulis sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer, program studi Informatika, Fakultas Sains dan Teknologi, Universitas Sanata Dharma.

Selama proses penulisan tugas akhir ini, penulis menyadari adanya keterlibatan dari pihak lain. Oleh karena itu, penulis mengucapkan terima kasih kepada :

1. Tuhan Yang Maha Esa atas belas kasih-Nya

2. Ibu Dr. Anastasi Rita Widiarti selaku Dosen Pembimbing yang selalu memberikan masukan, arahan dan memotivasi penulis.

3. Ayah dan Ibu yang tak hentinya memberi doa, motivasi dan dukungan kepada penulis.

4. Saudara Khrisna dan Yos yang menjadi teman bertukar pikiran dalam pengerjaan tugas akhir ini.

5. Saudara Henki Yosua P yang meluangkan waktu untuk menghibur serta membantu penulis dalam bertukar pikir memilih kosa kata dalam tugas akhir.

6. Teman-teman ’16 yang memberikan hiburan serta semangat untuk penulis. Pada proses penulisan tugas akhir ini, penulis menyadari masih memiliki banyak kesalahan atau pun kekurangan. Oleh karena itu, penulis mengharapkan saran dan kritik untuk perbaikan atau pun pengembangan di masa yang akan datang. Semoga tugas akhir ini bermanfaat bagi banyak pihak.

Yogyakarta, 11 Juni 2020 Penulis

(7)

xi

DAFTAR ISI

HALAMAN JUDUL ... i

TITLE PAGE ... ii

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN ... iv

PERNYATAAN KEASLIAN KARYA ... v

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vi

ABSTRAK ... vii

ABSTRACK ... viii

LEMBAR PERSEMBAHAN ... ix

KATA PENGANTAR ... x

DAFTAR ISI ... xi

DAFTAR TABEL ... xiii

DAFTAR GAMBAR ... xiv

BAB I ... 1 1.1. Latar Belakang ... 1 1.2. Rumusan Masalah ... 3 1.3. Tujuan ... 3 1.4. Manfaat Penelitian ... 3 1.5. Batasan Masalah... 3 BAB II ... 4 2.1. Aksara Bali ... 4

2.1.1. Aksara Wyanjana (Huruf Konsonan) ... 4

2.1.2. Aksara Swara (Huruf Vokal) ... 5

2.2. Pengertian Citra ... 5 2.3. Pemrosesan Citra ... 6 2.4. Preprocessing ... 6 2.4.1. Binerisasi ... 6 2.4.2. Filtering... 7 2.4.3. Segmentasi ... 7 2.4.4. Thinning ... 8 2.5. Ekstraksi Ciri ... 8 2.6. Matrik Jarak ... 10 2.6.1. Euclidean Distance ... 10

2.6.2. City Block Distance ... 11

2.7. Agglomerative Hierarchical Clustering ... 11

(8)

xii

2.7.2. Dendrogram... 23

2.8. Silhouette Coefficient... 24

2.8.1. Interpretasi Silhouette Coefficient ... 26

2.9. Ground Truth ... 27

BAB III... 28

3.1. Deskripsi Data ... 28

3.2. Kebutuhan Perangkat Hardware dan Software ... 29

3.3. Preprocessing ... 30

3.3.1. Proses Segmentasi ... 30

3.3.2. Noise Reduction ... 35

3.4. Desain Alat Uji ... 37

3.4.1. Proses Ekstraksi Ciri ... 38

3.4.2. Clustering ... 41

3.4.3. Silhouette Coefficient... 45

3.5. Cara Analisis Data... 45

3.6. Desain User Interface ... 46

3.6.1. Preprocessing ... 46 3.6.2. Clustering ... 47 BAB IV ... 48 4.1. Deskripsi Data ... 48 4.2. Implementasi ... 48 4.2.1. Preprocessing ... 48

4.2.2. Proses Ekstraksi Ciri ... 54

4.2.3. Clustering ... 57 4.3. Analisis Hasil ... 107 4.3.1. Intensity of Character 4x4 ... 107 4.3.2. Intensity of Character 5x5 ... 112 4.3.3. Intensity of Character 6x6 ... 116 4.3.4. Intensity of Character 7x7 ... 120 4.3.5. Intensity of Character 8x8 ... 125 BAB V ... 129 5.1. Kesimpulan ... 129 5.2. Saran ... 129 Daftar Pustaka ... 130 LAMPIRAN ... 131

A. Tabel Ground Truth ... 131

B. Tabel 205 Cluster ... 142

C. Nilai Silhouette Cofficient dari Masing-masing 205 Cluster ... 160

(9)

xiii

DAFTAR TABEL

Tabel 2. 1 Aksara Wyanjana (Huruf Konsonan) ... 4

Tabel 2. 2 Aksara Swara (Huruf Vokal) ... 5

Tabel 2. 3 Contoh Matrik Jarak... 10

Tabel 2. 4 Contoh Data ... 12

Tabel 2. 5 Tabel Jarak City Block ... 17

Tabel 2. 6 Melakukan Pembaharuan Tabel Jarak Iterasi 1 ... 18

Tabel 2. 7 Melakukan Pembaharuan Tabel Jarak Iterasi 2 ... 19

Tabel 2. 8 Tabel 2. 8 Melakukan Pembaharuan Jarak Iterasi 3 ... 19

Tabel 2. 9 Melakukan Pembaharuan Jarak Iteriasi 4 ... 20

Tabel 2. 10 Melakukan Pembaharuan Jarak Iterasi 5 ... 20

Tabel 2. 11 Melakukan Pembaharuan Jarak Iterasi 6 ... 20

Tabel 2. 12 Melakukan Pembaharuan Jarak Interasi 7 ... 21

Tabel 2. 13 Melakukan Pembaharuan Jarak Iterasi 8 ... 21

Tabel 2. 14 Melakukan Pembaharuan Jarak Iterasi Terakhir ... 21

Tabel 2. 15 Tabel Level Cluster ... 23

Tabel 2. 16 Kualitas Cluster ... 26

Tabel 4. 1 10 Citra yang diambil secara random ... 57

Tabel 4. 2 Hasil Preprocessing ... 58

Tabel 4. 3 Hasil Rata-rata Silhouette Coefficient 24 Citra ... 63

Tabel 4. 4 Ground Truth 24 aksara random ... 66

Tabel 4. 5 Hasil cluster untuk 23 cluster ... 68

Tabel 4. 6 Hasil Ground Truth dari 23 Cluster ... 70

Tabel 4. 7 Citra 1 Daun Lontar : Data siap olah ... 73

Tabel 4. 8 Citra 1 Daun Lontar : Tidak siap olah... 81

Tabel 4. 9 Hasil Pra-Preprocessing 131 citra aksara Bali ... 86

Tabel 4. 10 Hasil Rata-rata Silhouette Coefficient 215 CitraAksara Bali ... 103

Tabel 4. 11 Silhouette Coefficient 4x4 ... 107

Tabel 4. 12 Silhouette Coefficient 5x5 ... 112

Tabel 4. 13 Silhouette Coefficient 6x6 ... 116

Tabel 4. 14 Silhouette Coefficient 7x7 ... 120

(10)

xiv

DAFTAR GAMBAR

Gambar 2. 1 Citra dengan ukuran 16x16 ... 9

Gambar 2. 2 Bentuk IoT 4x4 setelah penjumlahan setiap unit ... 9

Gambar 2. 3 Bentuk Dendrogram contoh data... 22

Gambar 2. 4 Dendrogram ... 23

Gambar 3. 1 Data dalam folder yang diperoleh ... 28

Gambar 3. 2 Kumpulan simbol aksara dalam satu citra... 29

Gambar 3. 3 Citra aksara yang memiliki noise bintik hitam... 29

Gambar 3. 4 Algoritma Pra-Preprocessing ... 30

Gambar 3. 5 Algoritma Proses Segmentasi... 31

Gambar 3. 6 Algoritma Noise Reduction ... 35

Gambar 3. 7 Sistem Clustering ... 37

Gambar 3. 8 Algoritma Proses Ekstraksi Ciri ... 38

Gambar 3. 9 Implementasi Hierarchical Clustering Agglomerative pada MATLAB ... 41

Gambar 3. 10 User Interface Preprocessing ... 46

Gambar 3. 11 User Interface Hierarchical Clustering ... 47

Gambar 4. 1 Proses Binerisasi - Symbol Segmentation ... 49

Gambar 4. 2 Proses Invers - Symbol Segmentation ... 49

Gambar 4. 3 Proses Filling - Symbol Segmentation ... 50

Gambar 4. 4 Proses Filtering - Symbol Segmentation ... 50

Gambar 4. 5 Hasil Proses Segmentasi... 51

Gambar 4. 6 Proses Binerisasi - Noise Reduction ... 52

Gambar 4. 7 Proses Invers - Noise Reduction ... 52

Gambar 4. 8 Proses Filtering - Noise Reduction... 53

Gambar 4. 9 Proses Invers kebentuk semula - Noise Reduction ... 53

Gambar 4. 10 Proses Binerisasi - Proses Ekstraksi Ciri... 54

Gambar 4. 11 Gambar 4. 11 Proses Cropping – Proses Ekstraksi Ciri ... 55

Gambar 4. 12 Proses Image Resize - Proses Ekstraksi Ciri ... 55

Gambar 4. 13 Proses Thinning - Proses Ekstraksi Ciri ... 56

Gambar 4. 14 Hasil Ekstraksi Ciri IoT 4x4... 56

Gambar 4. 15 Hasil Clustering 24 Citra Aksara Bali ... 61

Gambar 4. 16 Perbandingan gambar (11) dan (16) berdasarkan tabel 4.2 ... 62

Gambar 4. 17 Hasil Clustering 215 Citra Aksara Bali ... 101

(11)

1

BAB I

PENDAHULUAN

1.1.Latar Belakang

Daun lontar merupakan alat komunikasi tradisional yang digunakan pada zaman kerajaan. Daun lontar ini digunakan sebagai media untuk surat-menyurut atau digunakan sebagai media prasasti. Seiring berjalannya waktu, maka tidak menutup kemungkinan, bahwa pengetahuan atau informasi yang ada pada daun tersebut bisa saja hilang, seperti tulisan yang mulai memudar atau daun lontar tersebut menjadi lapuk.

Dengan demikian, terpikirkanlah sebuah ide untuk membuat suatu sistem otomtasi yang dapat membaca aksara yang ada pada daun lontar tersebut. Ada beberapa tahap yang harus dilakukan agar dapat membentuk sistem tersebut, dan salah satunya ialah membentuk database berdasarkan aksara yang ada pada lontar tersebut.

Salah satu daun lontar yang akan digunakan pada penelitian ini ialah aksara Bali. Sehingga, data set yang digunakan pada penelitian ini merupakan hasil dari sebuah penelitian mengenai segmentasi citra aksara Bali, walaupun hasil segmentasi tersebut tidak sempurna. Terdapat 131 citra aksara Bali yang mana aksara tersebut susah untuk dikenali agar dijadikan satu dengan kelompok aksaranya sendiri, yang berefek pada pemberian label pada masing-masing aksara tersebut.

Untuk mengatasi masalah pengelompokan tersebut, maka dapat diselesaikan dengan menggunakan metode clustering, sehingga citra aksara-aksara tersebut dapat berkumpul dengan aksara yang sejenisnya, yang mana hal ini akan membuat pemberian label menjadi lebih mudah pada tahap pembuatan database.

Clustering merupakan sebuah masalah mendasar yang berfokus besar dalam penelitian pembelajaran mesin, pengenalan pola dan statistika. Clustering adalah contoh dari unsupervised learning, yang artinya tidak memiliki training sample untuk dipelajari. Clustering secara otomatis akan membentuk kumpulan dari sampel-sampel yang terbilang cukup dekat.

(12)

Clustering juga dapat dikatakan unsupervised classification, karena clustering menghasilkan hasil seperti algoritma classification, akan tetapi tanpa adanya kelas-kelas yang sudah ditentukan sebelumnya.

Metode clustering terbagi menjadi partioning dan hierarchical. Dalam hal ini, penelitian akan menggunakan hierarchicalclustering dengan data yang diteliti, yaitu Citra Aksara Bali. Hierarchical clustering merupakan sebuah metode yang bekerja dengan mengelompokan data menjadi sebuah pohon cluster. Adapun kekurangan dari metode ini yaitu hanya bisa bergerak maju ketika proses pembuatan ‘pohon’, sehingga ketika terjadi ketidakcocokan antar data yang dikelompokkan, maka hierarchicalclustering tidak dapat memperbaikinya (Han & Kamber, 2006). Hierarchical Clustering terbagi menjadi dua, yaitu agglomerative atau yang dikenal “bottom up”, dan Divisive atau yang dikenal “top down”.

Algoritma agglomerative menegaskan bahwa setiap individu objek atau data dianggap sebagai cluster tersendiri, lalu dilakukan nya iterasi penggabungan hingga membentuk satu cluster besar. Sedangkan Algoritma Divisive adalah pendekatan untuk semua objek atau data dianggap satu cluster, lalu dilakukan nya iterasi pemisahan sehingga menjadi sub-cluster atau data tunggal.

Penelitian yang dilakukan akan menggunakan Hierarchical Clustering Agglomerative, yang dikarenakan algoritma ini cenderung lebih akurat ketimbang Hierarchical Clustering Divisive, tetapi memiliki computational cost yang lebih tinggi daripada Divisive (Nazari, Kang, Asharif, Sung, & Ogawa, 2015). Dengan menggunakan Agglomerative, untuk pengelompokan menggunakan metode Single Linkage, untuk mengelompokan citra aksara Bali.

Berdasarkan uraian diatas, maka hasil dari Agglomerative Hierarchical Clustering diharapkan dapat membentuk kelompok-kelompok aksara Bali yang mana saat ada sebuah data baru yang dimasukan, maka dapat mengenali aksara baru tersebut berdasarkan cluster yang telah terbentuk.

(13)

1.2.Rumusan Masalah

1. Bagaimana menerapkan algoritma hierarchical clustering untuk mengelompokan citra aksara Bali ?

2. Berapa tingkat akurasi cluster yang dihasilkan oleh Silhouette Coefficient ?

1.3.Tujuan

1) Menerapkan algoritma Hierarchical Clustering untuk mengelompokan aksara Bali.

2) Mengetahui cluster terbaik dengan melihat hasil akurasi tertinggi ketika menggunakan Silhoutte Coefficient.

1.4.

Manfaat Penelitian

Membantu pengelompokan citra aksara Bali dalam proses klasifikasi, yang mana pengelompokan citra aksara Bali tersebut menggunakan Hierarchical Clustering.

1.5.

Batasan Masalah

Dalam penelitian ini, ada beberapa batasan masalah sebagai berikut :

1) Data yang digunakan yaitu 1 daun lontar citra aksara Bali sejumlah 131 citra.

2) Rumus jarak Euclidean Distance dan City Block Distance.

3) Ekstraksi Ciri yang digunakan ialah Intensity of Character dengan ukuran window yaitu 4x4, 5x5, 6x6, 7x7 dan 8x8.

(14)

4

BAB II

LANDASAN TEORI

2.1.Aksara Bali

Aksara Bali atau yang juga dikenal hanacaraka, merupakan salah satu aksara tradisional Nusantara yang berkembang di Pulau Bali. Aksara ini umumnya digunakan untuk menulis bahasa Bali dan bahasa Sansekerta. Aksara Bali terdiri atas 33 huruf konsonan dan 14 huruf vocal (Wikipedia, 2019).

2.1.1.Aksara Wyanjana (Huruf Konsonan)

Tabel 2. 1 Aksara Wyanjana (Huruf Konsonan)

Warga Pancawalimukha Semivokal Sibilan Frikatif

Bersuara Nirsuara Sengau

Kanthya

Ka Kha Ga Gha Nga Ha

Talawya

Ca Cha Ja Jha Nya Ya Sa

Murdhan ya Ta Tha Da Dha Na Ra Sa Dantya Ta Tha Da Dha Na La Sa Osthya Pa Pha Ba Bha Ma Wa

(15)

2.1.2. Aksara Swara (Huruf Vokal)

Tabel 2. 2 Aksara Swara (Huruf Vokal)

Warga Vokal Pendek Vokal Panjang

Kantya A kara A kara Talawya I kara I kara Murdhanya Ra repa Ra repa Dantya La lenga La lenga Osthya U kara U kara Kanthya-Talawya E kara Airsanya Kanthya-Osthya O Au kara 2.2. Pengertian Citra

Citra atau gambar adalah suatu bentuk fungsi kontinu dari intensitas dalam bidang dua dimensi (2-D), pada citra dapat dinyatakan secara matematis :

0 < 𝑓(𝑥, 𝑦) < ∞ (2. 1)

Yang mana f(x,y) merupakan intensitas cahaya pada citra yang terletak dilokasi (x,y).

Citra digital dapat diartikan sebagai citra f(x,y) yang nilai nya berbentuk diskrit, baik untuk nilai koordinat (x,y) maupun nilai intensitas

(16)

cahaya nya. Citra digital digambarkan sebagai matrik yang terdiri atas baris dan kolom, yang mana setiap baris dan kolom akan berisikan elemen atau nilai intensitas kecerahan tertentu untuk setiap f(x,y) atau pixel (titik) pada bidang citra digital (Widiarti & Himamunanto, 2013).

2.3. Pemrosesan Citra

Pemrosesan citra merupakan metode-metode yang digunakan untuk mengolah citra digital agar citra tersebut memiliki kualitas yang lebih baik, sehingga dapat ditafsirkan manusia atau mesin. Konsep dasar yang ada dalam setiap metode pemrosesan citra ini yakni memodifikasi setiap pixel atau titik pada bidang citra sesuai dengan keperluan yang dibutuhkan (Widiarti & Himamunanto, 2013).

2.4. Preprocessing

Tahapan preprocessing berguna untuk menyiapkan data seperti mengubah ukuran citra, membuang noise, atau memisahkan latar belakang citra dengan objek nya, sebelum citra tersebut masuk ke tahap ekstraksi ciri. Pada tahapan ini, akan banyak mengimplementasikan metode-metode pemrosesan citra dalam mengolah citra aksara.

2.4.1. Binerisasi

Bineriasasi adalah tahap pertama dalam pengolahan data, dimana tahapan ini memisahkan objek yang ada di citra dengan latar belakang (background) yang tidak dibutuhkan. Tujuan utama dari proses ini adalah secara otomatis menentukan nilai ambang threshold yang akan membagi citra dalam dua kelompok, yaitu kelompok obyek dan kelompok latar belakang (background) (Widiarti & Himamunanto, 2013).

(17)

2.4.2. Filtering

Filtering merupakan tahapan untuk dilakukan nya reduksi derau atau noise reduction (Widiarti & Himamunanto, 2013). Adapun jenis-jenis noise yang mungkin dapat terjadi antara lain :

a) Gaussian noise : noise berupa titik-titik yang berwarna yang jumlahnya sama dengan presentase noise.

b) Specklenoise : noise berupa warna hitam pada titik yang terkena noise.

c) Salt and peppernoise : noise berupa warna putih pada titik yang terkena noise.

2.4.3. Segmentasi

Segmentasi merupakan proses pemecahan citra untuk memperoleh objek-objek yang terkandung dalam citra tersebut. Segmentasi terbagi menjadi dua tahap. Tahap pertama pemisahan objek (dalam penelitian ini berbentuk aksara Bali) dengan objek lain yang berada pada baris yang sama, lalu pada tahap kedua, yaitu mendapatkan huruf tersebut secara individu dengan mendapatkan kolom-kolom karakter citra aksara dari baris yang telah dipotong pada tahap pertama. Adapun salah satu metode umum yang dapat digunakan untuk proses segmentasi ini, yaitu Profil Proyeksi.

Profil proyeksi merupakan tahapan segmentasi citra, yang mana hasil dari tahapan ini ialah mendapatkan objek yang terpisah dari latar belakang nya dengan cara memotong secara vertical dan horizontal. Profil proyeksi vertical berguna untuk mendapatkan baris awal pixel objek hingga baris akhir pixel objek, sedangkan profil proyeksi horizontal berguna untuk mendapatkan kolom awal pixel objek hingga kolom akhir pixel objek (Widiarti & Himamunanto, 2013).

(18)

2.4.4. Thinning

Penipisan atau thinning merupakan metode yang digunakan untuk mendapatkan rangka objek (skeleton), dengan cara melakukan reduksi terhadap objek citra yang menjadi suatu informasi yang sifatnya mendasar(Widiarti & Himamunanto, 2013).

Ada beberapa metode dalam melakukan yang dapat digunakan dalam melakukan thinning, dan salah satunya ialah metode Rosenfeld, yang mana metode ini bekerja dengan cara membuang bagian pixel yang merupakan bagian tepi (edge) (Widiarti, 2011).

2.5. Ekstraksi Ciri

Ekstraksi ciri merupakan tahapan untuk memperoleh sifat pola dari suatu objek (dalam hal ini yaitu citra aksara Bali) yang ada pada citra, yang mana menjadikan objek tersebut berbeda dengan objek lainnya (Widiarti & Himamunanto, 2013). Salah satu metode yang cukup dikenal dalam melakukan tahapan ini ialah Intensity of Character.

Intensity of character merupakan metode yang digunakan untuk melakukan ekstraksi ciri. Intensity of character berbentuk matriks berukuran NxN, yang mana setiap unit 1x1 nya berisikan n pixel hasil penjumlahan pixel yang bernilai 0 (berwarna hitam) (Nugroho & Widiarti, 2016).

Sebagai contoh sederhana, proses berikut merupakan gambaran untuk mendapatkan ciri IoT berukuran 4x4 :

a) Terdapat citra yang telah di-resize sebesar 16x16, maka untuk setiap unit IoT 1x1 nya akan mencakup matrix sebesar 4x4.

(19)

Gambar 2. 1 Citra dengan ukuran 16x16

Untuk setiap unit 1x1, akan menyimpan nilai yang merupakan banyaknya anggota pixel berwarna hitam untuk setiap area 4x4 nya. b) Berikut adalah bentuk IoT 4x4 tersebut ketika telah dilakukannya

penjumlahan untuk setiap unit nya,

(20)

2.6. Matrik Jarak

Tabel 2. 3 Contoh Matrik Jarak

Data A B C D E A 0 2 5 6 1 B 2 0 4 7 9 C 5 4 0 13 4 D 6 7 13 0 11 E 1 9 4 11 0

Distance matrix atau matrik jarak merupakan matrik yang menampilkan relasi antara data dengan data lain nya. Hasil perhitungan jarak antar dataset dapat diperoleh dengan menggunakan rumus Euclidean atau City Block.

2.6.1. Euclidean Distance

Euclidean Distance merupakan rumus perhitungan jarak paling populer dalam menghitung kedekatan antara jarak objek yang satu dengan yang lain nya (Han & Kamber, 2012). Adapun rumus nya yaitu :

𝑑(𝑋1, 𝑋2) = √∑(𝑋𝑖1− 𝑋𝑖2)2 𝑛

𝑖=1

(2. 2)

Keterangan :

• X1 : Merupakan jarak dari objek atau data pertama • X2 : Merupakan jarak dari objek atau data kedua • d(X1, X2) ≥ 0 : Jarak harus bernilai non negative

• d(X1, X1) = 0 atau d(X2, X2) = 0 : Maka objek atau data tersebut hanya menunjuk ke dirinya sendiri.

(21)

2.6.2. City Block Distance

City Block Distance atau yang dikenal juga dengan nama Manhattan Distanca merupakan rumus perhitungan jarak yang dikenal cukup baik antara jarak objek atau data yang satu dengan yang lainnya (Han & Kamber, 2012). Adapun rumus nya sebagai berikut :

𝑑(𝑋1, 𝑋2) = ∑|𝑋𝑖1− 𝑋𝑖2|

𝑛 𝑖=1

(2. 3) Keterangan :

• X1 : Merupakan jarak dari objek atau data pertama • X2 : Merupakan jarak dari objek atau data kedua • d(X1, X2) ≥ 0 : Jarak harus bernilai non negative

• d(X1, X1) = 0 atau d(X2, X2) = 0 : Maka objek atau data tersebut hanya menunjuk ke dirinya sendiri.

2.7. Agglomerative Hierarchical Clustering

Hierarchical Clustering merupakan metode clustering yang digunakan untuk mengorganisir data dalam bentuk tree (Han & Kamber, 2006). Jenis Hierarchical yang digunakan pada penelitian ini ialah Bottom-Up (Agglomerative). Pada Agglomerative hierarchical clustering, setiap data ke-i diperlakukan sebagai suatu cluster tersendiri, lalu dilakukannya iterasi penggabungan antar data hingga membentuk suatu cluster tunggal. Adapun langkah pengerjaan nya :

1. Menghitung Matrik Jarak antar data.

2. Menggabungkan dua kelompok terdekat berdasarkan parameter kedekatan yang ditentukan.

3. Memperbaharui Matrik Jarak antar data untuk merepresentasikan kedekatan diantara kelompok baru dan kelompok yang masih tersisa.

(22)

Berikut adalah contoh dengan data sederhana untuk mengetahui bagaimana Hierarchical Clustering berjalan.

• Data yang berjumlah 10, dimana setiap data memiliki 4 feature. Tabel 2. 4 Contoh Data

Data X Y Q R 1 1 1 3 2 2 4 1 4 5 3 1 2 5 3 4 3 4 6 3 5 5 4 7 5 6 6 7 7 6 7 3 8 2 7 8 5 2 1 8 9 9 2 9 8 10 1 5 9 1

1) Menghitung jarak antar data

Perhitungan jarak antar data akan menggunakan City Block. Adapun rumus dari City Block yaitu :

𝐷(𝑥, 𝑦) = ∑ |𝑋𝑖− 𝑦𝑖 𝑛 𝑖=1 | (2. 4) Ket :

xi = merupakan ciri pertama yang dimiliki oleh data ke-i yi = merupakan ciri kedua yang dimiliki oleh data-i Sehingga, diperoleh perhitungan sebagai berikut :

a) Menghitung jarak Data 1 dengan sepuluh Data yang lain D(1,1) = |1-1|+|1-1|+|3-3|+|2-2| = 0

D(2,1) = |4-1|+|1-1|+|4-3|+|5-2| = 7 D(3,1) = |1-1|+|2-1|+|5-3|+|3-2| = 4 D(4,1) = |3-1|+|4-1|+|6-3|+|3-2| = 9 D(5,1) = |5-1|+|4-1|+|7-3|+|5-2| = 14

(23)

D(6,1) = |6-1|+|7-1|+|7-3|+|6-2| = 19 D(7,1) = |3-1|+|8-1|+|2-3|+|7-2| = 15 D(8,1) = |5-1|+|2-1|+|1-3|+|8-2| = 13 D(9,1) = |9-1|+|2-1|+|9-3|+|8-2| = 21 D(10,1) = |1-1|+|5-1|+|9-3|+|1-2| = 11

b) Menghitung jarak Data 2 dengan sepuluh Data yang lain D(1,2) = |1-4|+|1-1|+|3-4|+|2-5| = 7 D(2,2) = |4-4|+|1-1|+|4-4|+|5-5| = 0 D(3,2) = |1-4|+|2-1|+|5-4|+|3-5| = 7 D(4,2) = |3-4|+|4-1|+|6-4|+|3-5| = 8 D(5,2) = |5-4|+|4-1|+|7-4|+|5-5| = 7 D(6, 2) = |6-4|+|7-1|+|7-4|+|6-5| = 12 D(7,2) = |3-4|+|8-1|+|2-4|+|7-5| = 12 D(8,2) = |5-4|+|2-1|+|1-4|+|8-5| = 8 D(9,2) = |9-4|+|2-1|+|9-4|+|8-5| = 14 D(10,2) = |1-4|+|5-1|+|9-4|+|1-5| = 16

c) Menghitung jarak Data 3 dengan sepuluh Data yang lain D(1,3) = |1-1|+|1-2|+|3-5|+|2-3| = 4 D(2,3) = |4-1|+|1-2|+|4-5|+|5-3| = 7 D(3,3) = |1-1|+|2-2|+|5-5|+|3-3| = 0 D(4,3) = |3-1|+|4-2|+|6-5|+|3-3| = 5 D(5,3) = |5-1|+|4-2|+|7-5|+|5-3| = 10 D(6,3) = |6-1|+|7-2|+|7-5|+|6-3| = 15 D(7,3) = |3-1|+|8-2|+|2-5|+|7-3| = 15 D(8,3) = |5-1|+|2-2|+|1-5|+|8-3| = 13 D(9,3) = |9-1|+|2-2|+|9-5|+|8-3| = 17 D(10,3) = |1-1|+|5-2|+|9-5|+|1-3| = 9

(24)

d) Menghitung jarak Data 4 dengan sepuluh Data yang lain D(1,4) = |1-3|+|1-4|+|3-6|+|2-3| = 9 D(2,4) = |4-3|+|1-4|+|4-6|+|5-3| = 8 D(3,4) = |1-3|+|2-4|+|5-6|+|3-3| = 5 D(4,4) = |3-3|+|4-4|+|6-6|+|3-3| = 0 D(5,4) = |5-3|+|4-4|+|7-6|+|5-3| = 5 D(6,4) = |6-3|+|7-4|+|7-6|+|6-3| = 10 D(7,4) = |3-3|+|8-4|+|2-6|+|7-3| = 12 D(8,4) = |5-3|+|2-4|+|1-6|+|8-3| = 14 D(9,4) = |9-3|+|2-4|+|9-6|+|8-3| = 16 D(10,4) = |1-3|+|5-4|+|9-6|+|1-3| = 8

e) Menghitung jarak Data 5 dengan sepuluh Data yang lain D(1,5) = |1-5|+|1-4|+|3-7|+|2-5| = 14 D(2,5) = |4-5|+|1-4|+|4-7|+|5-5| = 7 D(3,5) = |1-5|+|2-4|+|5-7|+|3-5| = 10 D(4,5) = |3-5|+|4-4|+|6-7|+|3-5| = 5 D(5,5) = |5-5|+|4-4|+|7-7|+|5-5| = 0 D(6,5) = |6-5|+|7-4|+|7-7|+|6-5| = 5 D(7,5) = |3-5|+|8-4|+|2-7|+|7-5| = 13 D(8,5) = |5-5|+|2-4|+|1-7|+|8-5| = 11 D(9,5) = |9-5|+|2-4|+|9-7|+|8-5| = 11 D(10,5) = |1-5|+|5-4|+|9-7|+|1-5| = 11

f) Menghitung jarak Data 6 dengan sepuluh Data yang lain D(1,6) = |1-6|+|1-7|+|3-7|+|2-6| = 19 D(2,6) = |4-6|+|1-7|+|4-7|+|5-6| = 12 D(3,6) = |1-6|+|2-7|+|5-7|+|3-6| = 15 D(4,6) = |3-6|+|4-7|+|6-7|+|3-6| = 10 D(5,6) = |5-6|+|4-7|+|7-7|+|5-6| = 5 D(6,6) = |6-6|+|7-7|+|7-7|+|6-6| = 0

(25)

D(7,6) = |3-6|+|8-7|+|2-7|+|7-6| = 10 D(8,6) = |5-6|+|2-7|+|1-7|+|8-6| = 14 D(9,6) = |9-6|+|2-7|+|9-7|+|8-6| = 12 D(10,6) = |1-6|+|5-7|+|9-7|+|1-6| = 14

g) Menghitung jarak Data 7 dengan sepuluh Data yang lain D(1,7) = |1-3|+|1-8|+|3-2|+|2-7| = 15 D(2,7) = |4-3|+|1-8|+|4-2|+|5-7| = 12 D(3,7) = |1-3|+|2-8|+|5-2|+|3-7| = 15 D(4,7) = |3-3|+|4-8|+|6-2|+|3-7| = 12 D(5,7) = |5-3|+|4-8|+|7-2|+|5-7| = 13 D(6,7) = |6-2|+|7-8|+|7-2|+|6-7| = 10 D(7,7) = |3-3|+|8-8|+|2-2|+|7-7| = 0 D(8,7) = |5-3|+|2-8|+|1-2|+|8-7| = 10 D(9,7) = |9-3|+|2-8|+|9-2|+|8-7| = 20 D(10,7) = |1-3|+|5-8|+|9-2|+|1-7| = 18

h) Menghitung jarak Data 8 dengan sepuluh Data yang lain D(1,8) = |1-5|+|1-2|+|3-1|+|2-8| = 13 D(2,8) = |4-5|+|1-2|+|4-1|+|5-8| = 8 D(3,8) = |1-5|+|2-2|+|5-1|+|3-8| = 13 D(4,8) = |3-5|+|4-2|+|6-1|+|3-8| = 14 D(5,8) = |5-5|+|4-2|+|7-1|+|5-8| = 11 D(6,8) = |6-5|+|7-2|+|7-1|+|6-8| = 14 D(7,8) = |3-5|+|8-2|+|2-1|+|7-8| = 10 D(8,8) = |5-5|+|2-2|+|1-1|+|8-8| = 0 D(9,8) = |9-5|+|2-2|+|9-1|+|8-8| = 12 D(10,8) = |1-5|+|5-5|+|9-1|+|1-8| = 22

(26)

i) Menghitung jarak Data 9 dengan sepuluh Data yang lain D(1,9) = |1-9|+|1-2|+|3-9|+|2-8| = 21 D(2,9) = |4-9|+|1-2|+|4-9|+|5-8| = 14 D(3,9) = |1-9|+|2-2|+|5-9|+|3-8| = 17 D(4,9) = |3-9|+|4-2|+|6-9|+|3-8| = 16 D(5,9) = |5-9|+|4-2|+|7-9|+|5-8| = 11 D(6,9) = |6-9|+|7-2|+|7-9|+|6-8| = 12 D(7,9) = |3-9|+|8-2|+|2-9|+|7-8| = 20 D(8,9) = |5-9|+|2-2|+|1-9|+|8-8| = 12 D(9,9) = |9-9|+|2-2|+|9-9|+|8-8| = 0 D(10,9) = |1-9|+|5-2|+|9-9|+|1-8| = 18

j) Menghitung jarak Data 10 dengan sepuluh Data yang lain D(1,10) = |1-1|+|1-5|+|3-9|+|2-1| = 11 D(2,10) = |4-1|+|1-5|+|4-9|+|5-1| = 16 D(3,10) = |1-1|+|2-5|+|5-9|+|3-1| = 9 D(4,10) = |3-1|+|4-5|+|6-9|+|3-1| = 8 D(5,10) = |5-1|+|4-5|+|7-9|+|5-1| = 11 D(6,10) = |6-1|+|7-5|+|7-9|+|6-1| = 14 D(7,10) = |3-1|+|8-5|+|2-9|+|7-1| = 18 D(8,10) = |5-1|+|2-5|+|1-9|+|8-1| = 22 D(9,10) = |9-1|+|2-5|+|9-9|+|8-1| = 18 D(10,10) = |1-1|+|5-5|+|9-9|+|1-1| = 0

(27)

Sehingga, tabel jarak nya sebagai berikut :

Tabel 2. 5 Tabel Jarak City Block

Dcb 1 2 3 4 5 6 7 8 9 10 1 0 7 4 9 14 19 15 13 21 11 2 7 0 7 8 7 12 12 8 14 16 3 4 7 0 5 10 15 15 13 17 9 4 9 8 5 0 5 10 12 14 16 8 5 14 7 10 5 0 5 13 11 11 11 6 19 12 15 10 5 0 10 14 12 14 7 15 12 15 12 13 10 0 10 20 18 8 13 8 13 14 11 14 10 0 12 22 9 21 14 17 16 11 12 20 12 0 18 10 11 16 9 8 11 14 18 22 18 0 2) Menggabungkan dua kelompok terdekat hingga hanya tersisa satu kelompok

yang tersisa.

Nilai jarak yang ada pada matrik (tabel diatas) membentuk sebuah matrik segitiga. Dimana nilai yang berada sisi atas sama dengan nilai yang berada pada sisi bawah nya. Sehingga nilai jarak yang akan diproses dapat menggunakan sisi atas atau sisi bawah.

Untuk melakukan pengelompokan (clustering), maka dalam hal ini akan menggunakan metode Single Linkage, dimana metode ini bekerja dengan cara menggabungkan dua cluster yang memiliki jarak terdekat (jarak minimum).

(28)

a) Dari tabel 2.5, nilai minimum nya adalah 4 dengan koordinat (1,3), sehingga tabel nya sebagai berikut :

Tabel 2. 6 Melakukan Pembaharuan Tabel Jarak Iterasi 1 Dcb (1,3) 2 4 5 6 7 8 9 10 (1,3) 0 7 5 10 15 15 13 17 9 2 7 0 8 7 12 12 8 14 16 4 5 8 0 5 10 12 14 16 8 5 10 7 5 0 5 13 11 11 11 6 15 12 10 5 0 10 14 12 14 7 15 12 12 13 10 0 10 20 18 8 13 8 14 11 14 10 0 12 22 9 17 14 16 11 12 20 12 0 18 10 9 16 8 11 14 18 22 18 0

Adapun cara kerja sebagai berikut :

Dcb = min ( (1,1), (3,1), (1,3), (3,3)) = min (0,4,4,0) = 0 Dcb = min ( (1,2), (3,2) ) = min (7,7) = 7 Dcb = min ( (1,4), (3,4) ) = min (9,5) = 5 Dcb = min ( (1,5), (3,5) ) = min (14,10) = 10 Dcb = min ( (1,6), (3,6) ) = min (19,15) = 15 Dcb = min ( (1,7), (3,7) ) = min (15,15) = 15 Dcb = min ( (1,8), (3,8) ) = min (13,13) = 13 Dcb = min ( (1,9), (3,9) ) = min (21,17) = 17 Dcb = min ( (1,10), (3,10) ) = min (11,9) = 9

Ketika nilai pertama telah ditemukan, maka dua feature (ciri) nya akan digunakan dan akan digabungkan dengan feature (ciri) lain nya agar memperoleh dua jarak baru yang memiliki jarak terkecil ketika dibandingkan.

𝐷𝑐𝑏 = min((𝑥, 𝑎), (𝑦, 𝑎)) (2. 5)

Dimana x dan y adalah feature yang jarak terpendek nya telah ditemukan, sedangkan a adalah feature lain yang akan dibandingkan

(29)

sehingga akan memperoleh jarak yang terkecil antar x dan y. Untuk feature yang tidak dibandingkan, maka tetap menggunakan jarak berdasarkan matrik jarak yang telah dihitung sebelumnya.

b) Dari tabel 2.6, nilai minimum nya adalah 5 dengan koordinat ((1,3), 4), sehingga tabel nya sebagai berikut :

Tabel 2. 7 Melakukan Pembaharuan Tabel Jarak Iterasi 2 Dcb ((1,3), 4) 2 5 6 7 8 9 10 ((1,3), 4) 0 7 5 10 12 13 16 8 2 7 0 7 12 12 8 14 16 5 5 7 0 5 13 11 11 11 6 10 12 12 0 10 14 12 14 7 12 12 12 10 0 10 20 18 8 13 8 8 14 10 0 12 22 9 16 14 14 12 20 12 0 18 10 8 16 16 14 18 22 18 0

c) Dari tabel 2.7, nilai minimum nya adalah 5 dengan koordinat ((1,3,4), 5), sehingga tabel nya sebagai berikut :

Tabel 2. 8 Tabel 2. 8 Melakukan Pembaharuan Jarak Iterasi 3 Dcb ((1,3,4),5) 2 6 7 8 9 10 ((1,3,4),5) 0 7 5 12 11 11 8 2 7 0 12 12 8 14 16 6 5 12 0 10 14 12 14 7 12 12 10 0 10 20 18 8 11 8 14 10 0 12 22 9 11 14 12 20 12 0 18 10 8 16 14 18 22 18 0

(30)

d) Dari tabel 2.8, nilai minimum nya adalah 5 dengan koordinat ((1,3,4,5), 6) sehingga tabel nya sebagai berikut :

Tabel 2. 9 Melakukan Pembaharuan Jarak Iteriasi 4 Dcb ((1,3,4,5),6) 2 7 8 9 10 ((1,3,4,5),6) 0 7 10 11 11 8 2 7 0 12 8 14 16 7 10 12 0 10 20 18 8 11 8 10 0 12 22 9 11 14 20 12 0 18 10 8 16 18 22 18 0

e) Dari tabel 2.9, nilai minimum nya adalah 7 dengan koordinat ((1,3,4,5,6), 2) sehingga tabel nya sebagai berikut :

Tabel 2. 10 Melakukan Pembaharuan Jarak Iterasi 5 Dcb ((1,3,4,5,6),2) 7 8 9 10 ((1,3,4,5,6),2) 0 10 8 11 8 7 10 0 10 20 18 8 8 10 0 12 22 9 11 20 12 0 18 10 8 18 22 18 0

f) Dari tabel 2.10, nilai minimum nya adalah 8 dengan koordinat ((1,3,4,5,6,2), 8) sehingga tabel nya sebagai berikut :

Tabel 2. 11 Melakukan Pembaharuan Jarak Iterasi 6 Dcb ((1,3,4,5,6,2),8) 7 9 10

((1,3,4,5,6,2),8) 0 10 11 8

7 10 0 20 18

9 11 20 0 18

(31)

g) Dari tabel 2.11, nilai minimum nya adalah 8 dengan koordinat ((1,3,4,5,6,2,8), 10) sehingga tabel nya sebagai berikut :

Tabel 2. 12 Melakukan Pembaharuan Jarak Interasi 7 Dcb ((1,3,4,5,6,2,8),10) 7 9

((1,3,4,5,6,2,8),10) 0 10 11

7 10 0 20

9 11 20 0

h) Dari tabel 2.12, nilai minimum nya adalah 10 dengan koordinat ((1,3,4,5,6,2,8,10), 7) sehingga tabel nya sebagai berikut :

Tabel 2. 13 Melakukan Pembaharuan Jarak Iterasi 8 Dcb ((1,3,4,5,6,2,8,10),7) 9

((1,3,4,5,6,2,8,10),7) 0 11

9 11 0

i) Yang terakhir dari tabel 2.13 ialah koordinat ((1,3,4,5,6,2,8,10,7), 9) dengan nilai minimum nya 11, sehingga tabel nya sebagai berikut :

Tabel 2. 14 Melakukan Pembaharuan Jarak Iterasi Terakhir Dcb (1,3,4,5,6,2,8,10,7,9)

(32)

3) Bentuk Dendogram nya ialah sebagai berikut :

Gambar 2. 3 Bentuk Dendrogram contoh data

2.7.1. Single Linkage

Single Linkage merupakan algoritma yang digunakan untuk mencari nilai minimum dari jarak antar suatu objek atau data. Terkadang algoritma ini juga dikenal sebagai algoritma Tetangga Terdekat (nearest-neighbor). Adapun rumusnya sebagai berikut :

𝑑𝑖𝑠𝑡𝑚𝑖𝑛(𝑋1, 𝑋2)= min(𝑋1, 𝑋2) (2. 6)

Dengan demikian, jarak yang diperoleh merupakan hasil terkecil dari jarak X1 dan X2 yang dibandingkan.

(33)

2.7.2. Dendrogram

Dendrogram merupakan grafik yang digunakan untuk merepresentasikan proses dari hierarchical clustering. Grafik ini menunjukan bagaimana data yang satu dengan data yang lain saling terhubung. Dendrogram akan menunjukan seberapa banyak cluster yang terbentuk dengan memberikan level pada setiap tingkatnya (Han & Kamber, 2006). Berikut adalah contoh dari level yang dimaksud :

Gambar 2. 4 Dendrogram Tabel 2. 15 Tabel Level Cluster

Level Data Jarak Jumlah

Cluster 0 [1, 3, 4, 5, 6, 2, 10, 8, 7, 9] 0 10 1 [(1, 3)] 4, 5, 6, 2, 10, 8, 7, 9 4 9 2 [(1, 3, 4)] 5, 6, 2, 10, 8, 7, 9 5 8 3 [(1, 3, 4, 5)] 6, 5 7

(34)

2, 10, 8, 7, 9 4 [(1, 3, 4, 5, 6)] 2, 10, 8, 7, 9 5 6 5 [(1, 3, 4, 5, 6, 2)] 10, 8, 7, 9 7 5 6 [(1, 3, 4, 5, 6, 2, 10)] 8, 7, 9 8 4 7 [(1, 3, 4, 5, 6, 2, 10, 8)] 7, 9 8 3 8 [(1, 3, 4, 5, 6, 2, 10, 8, 7)] 9 10 2 9 [(1, 3, 4, 5, 6, 2, 10, 8, 7, 9)] 11 1 2.8. Silhouette Coefficient

Silhouette Coefficient merupakan metode yang digunakan untuk mengukur kualitas data dalam suatu cluster yang telah dibentuk. Didalam Silhoutte Coefficient terdapat dua komponen penting, yaitu komponen a(i) dan b(i). Nilai a(i) merupakan nilai rata-tara jarak data ke-i terhadap data lain dalam cluster nya, sedangkan b(i) merupakan nilai rata-rata jarak data ke-I terhadap data lain diluar cluster nya. Nilai Silhouette Coefficient memiliki rentangan antara -1 hingga 1. Data akan dikatakan berada ditempat yang tepat jika nilai silhouette coefficient semakin mendekati angka 1, sebaliknya akan dikatakan kurang tepat jika nilai silhouette coefficient semakin mendekati angka -1 (Kaufman & Rousseeuw, 1990). Berikut adalah cara untuk menghitung dua komponen nilai Silhouette Coefficient :

(35)

a) Menghitung Nilai a(i)

𝑎(𝑖) = ∑𝑗 ∈𝐶𝑖,𝑖 ≠𝑗𝑑𝑖𝑠𝑡(𝑖, 𝑗)

|𝐶𝑖| − 1 (2. 7)

Keterangan :

• ∑j : hasil rerata semua data terhadap data i, dengan data j tidak samadengan data i.

• dist(i, j) : jarak antara data i ke data j.

• |Ci| - 1 : jumlah banyaknya data dalam satu cluster tanpa data i yang diproses.

b) Menghitung Nilai b(i)

𝑏(𝑖) =𝐶 min

𝑗 ∶ 1 ≤ 𝑗 ≤ 𝑘, 𝑗 ≠ 𝑖 {

∑𝑖 ∈𝐶𝑗𝑑𝑖𝑠𝑡(𝑖, 𝑗)

|𝐶𝑗| } (2. 8)

Keterangan :

• ∑j : hasil rerata semua data yang ada pada cluster lain, dengan data j tidak samadengan data i.

• dist(i, j) : jarak antara data i ke data j.

• |Cj| : jumlah banyaknya data dalam cluster yang lain.

c) Menghitung Nilai SC (Silhouette Coefficient)

𝑠(𝑖) = 𝑏(𝑖) − 𝑎(𝑖)

max{𝑎(𝑖), 𝑏(𝑖)} (2. 9)

Keterangan :

• s(i) : nilai Silhouette Coefficient

• b(i) : hasil perhitungan poin (b)

(36)

2.8.1. Interpretasi Silhouette Coefficient

Untuk menentukan kualitas dari cluster yang telah dibentuk, maka semua nilai silhouette dari semua data yang ada dalam cluster akan dijumlahkan lalu dirata-rata. Berikut adalah kriteria penilian suatu cluster menurut Kaufmann dan Roesseeuw

Tabel 2. 16 Kualitas Cluster

Nilai Silhouette Coefficient Kualitas

0,71-1,00 Stuktur yang kuat telah

terbentuk

0,51-0,70 Struktur yang layak telah

terbentuk

0,26-050 Struktur lemah

(37)

2.9. Ground Truth

Ground truth merupakan set data dari suatu klasifikasi (unsupervised atau supervise), yang mana set data ini berdasarkan hasil dari pengalaman manusia itu sendiri dan dapat digunakan sebagai pembanding terhadap data yang lain (Malladi, Ram, & Rodriguez, 2018).

(38)

28

BAB III

METODE PENELITIAN

3.1. Deskripsi Data

Set data mentah dalam penelitian ini diperoleh dari hasil penelitian yang berjudul penelitian “Segementasi Citra Aksara Daun Lontar”, yang mana penelitian tersebut tersedia di LPPM-USD dengan nomor kontak penelitian 026/LPPM-USD/iii/2019. Jumlah Aksara yang diperoleh yaitu sebanyak 131 citra aksara Bali.

Gambar 3. 1 Data dalam folder yang diperoleh

Tetapi, set data yang diperoleh tersebut tidak dapat diproses secara langsung. Hal ini dikarenakan adanya simbol-simbol aksara yang masih menjadi satu citra.

(39)

Gambar 3. 2 Kumpulan simbol aksara dalam satu citra

Gambar 3.2 merupakan contoh data citra yang didalamnya masih terdapat simbol-simbol yang belum terpisahkan, yang seharusnya menjadi enam bagian aksara. Adapun noise berupa bintik hitam yang perlu dihilangkan seperti pada gambar 3.3, guna mendapatkan objek aksara secara utuh.

Gambar 3. 3 Citra aksara yang memiliki noise bintik hitam

Sehingga sebelum dilakukannya pemrosesan terhadap data-data citra tersebut, maka perlu dilakukannya proses preprocessing.

3.2. Kebutuhan Perangkat Hardware dan Software

a) Spesifikasi Hardware

1. Prosesor Intel(R) i5-7300 CPU @ 2.50GHz 2. RAM 16 Gb

3. Hardisk

(40)

1. Sistem Operasi Windows 10 2. MATLAB R2014b

3.3. Preprocessing

Pada tahapan ini berguna untuk menyiapkan data set sebelum akhirnya diolah pada tahapan preprocessing. Tahapan ini meliputi pemisahan simbol-simbol citra aksara Bali yang masih menjadi satu dan penghilangan noise berupa bintik hitam yang ada pada citra.

Gambar 3. 4 Algoritma Preprocessing

3.3.1. Proses Segmentasi

Pada tahapan ini berguna untuk memisahkan simbol-simbol huruf aksara Bali yang masih menjadi satu citra, sehingga output yang akan dihasilkan oleh proses ini yaitu kumpulan citra aksara Bali.

(41)

Gambar 3. 5 Algoritma Proses Segmentasi 1. Binerisasi Citra

Pada tahap ini berguna untuk mengubah citra menjadi citra hitam-putih, yang mana akan membuat citra tersebut memiliki satu lapis warna yang hanya bernilai 0 (hitam) dan 1 (putih) saja. Tahapan ini akan menggunakan fungsi im2bw() yang telah disediakan oleh MATLAB. Adapun algoritma binerisasinya yaitu :

1. Baca gambar yang akan diolah dengan function imread yang akan disimpan di variable a.

2. Ubah gambar yang tersimpan di variable a menjadi hitam-putih dengan cara a samadengan im2bw(a).

(42)

2. Invers Citra

Pada tahap ini berguna untuk melakukan invers Citra dengan memanfaatkan modul sebagai berikut :

Modul : invMTX Input : matrix (mtx) Algoritma :

1. Inisialisasikan variable res = [ ]

2. Dengan function size, ambil ukuran baris n dan kolom m 3. Lakukan looping dari 1 sampai n

4. Lakukan looping dari 1 sampai m

5. Jika mtx(i,j) samadengan 0, maka res(i,j) bernilai 1 6. Jika tidak, maka res(i,j) bernilai 0

Output : matrix yang telah di-invers (res) 3. Filling

Pada tahap ini berguna untuk mengisi hole yang terdapat pada citra aksara Bali. Dalam hal ini, hole yang dimaksud ialah sebuah lubang yang dibentuk oleh simbol aksara itu sendiri, seperti bentuk lingkaran atau adanya lubang pada badan simbol aksara sehingga membuat simbol aksara menjadi lebih utuh. Adapun algoritmanya yaitu :

1. Baca gambar yang akan diolah dengan function imread yang akan disimpan di variable a.

2.

Ubah gambar yang tersimpan di variable a menjadi hitam-putih dengan cara a samadengan im2bw(a).

3. Dengan memanfaatkan algoritma Invers, simpan hasil invers di variable a dengan cara a samadengan invMTX(a).

(43)

4. Filtering

Pada tahap ini berguna untuk menghilangkan noise seperti noda ‘bintik’ hitam yang ada pada citra. Tahapan ini akan menggunakan function bwareaopen yang telah disediakan oleh MATLAB. Adapun algortimanya yaitu :

1. Baca gambar yang akan diolah dengan function imread yang akan disimpan di variable a.

2. Ubah gambar yang tersimpan di variable a menjadi hitam-putih dengan cara a samadengan im2bw(a).

3. Dengan memanfaatkan algoritma Invers, simpan hasil invers di variable a dengan cara a samadengan invMTX(a).

4. Inisialisasikan variable b samadengan imfill(a,’holes’). 5. Inisialisasikan variable fltr samadengan bwareaopen(b,5).

5. Character Segmentation

Pada tahap ini berguna untuk memisahkan simbol-simbol aksara yang tergabung dalam satu citra. Tahapan ini akan menggunakan function bwlabel yang telah disediakan oleh MATLAB. Hasil yang diperoleh dari bwlabel akan digunakan untuk menyimpan hasil segmentasi dengan menggunakan data asli sebagai data yang akan dipisah-pisahkan. Adapun algoritmanya sebagai berikut :

1. Baca gambar yang akan diolah dengan function imread yang akan disimpan di variable a.

2. Ubah gambar yang tersimpan di variable a menjadi hitam-putih dengan cara a samadengan im2bw(a).

3. Dengan memanfaatkan algoritma Invers, simpan hasil invers di variable a dengan cara a samadengan invMTX(a).

4. Inisialisasikan variable b samadengan imfill(a,’holes’). 5. Inisialisasikan variable fltr samadengan bwareaopen(b,5).

(44)

6. Inisialisasikan variable l sebagai koordinat gambar yang dipotong dan n sebagai banyaknya potongan, dengan cara [l,n] samadengan bwlabel(fltr).

7. Jika nilai yang berada di variable n lebih dari satu, maka lakukan looping mulai dari satu sampai n.

8. Cari nilai baris r dan kolom c dengan menggunakan function find, dengan cara [r,c] samadengan find(l==i)

9. Untuk nama file, inisialisasikan variable strr samadengan [namaFile(1:end-4) ‘_’ num2str(i) ‘.jpg’].

10. Inisialisasikan variable ori samadengan a(min(r):max(r), min(c):max(c)).

11. Inisialisasikan variable piece samsdengan a(min(r):max(r), min(c):max(c)).

12. Ambil potongan citra ke-i dengan memanfaatkan function CopyIt, dengan cara piece samadengan CopyIt(piece,ori,i). 13. Simpan gambar dengan cara imwrite(piece,strr).

• Modul : CopyIt

Modul ini berguna untuk meng-copy object hasil dari bwareaopen. Konsepnya adalah melacak potongan k , lalu untuk setiap nilai k yang ditemukan, maka akan variable pembentuk object akan berisikan nilai invers ori (i,j), maka akan menghasilkan matriks yang berisikan potongan aksara utuh.

Modul : CopyIt

Input : piece (potongan), ori (gambar asli biner), k (nilai potongan ke-k)

Algoritma :

1. Ambil ukuran variable piece untuk variable n dan m dengan function size

(45)

3. Lakukan looping dari 1 sampai n 4. Lakukan looping dari 1 sampai m

5. Jika piece(i,j) samadengan k, maka res(i,j) bernilai ori(i,j)

6. Tidak, maka res(i,j) bernilai 0

Output : matrix biner berisikan potongan citra (res)

3.3.2. Noise Reduction

Pada tahapan ini berguna untuk menghilangkan noise berupa noda ‘bintik’ hitam. Pada tahap ini, setiap simbol-simbol aksara telah dipisahkan atau tidak dipisahkan (citra dengan aksara tunggal) maka akan dilakukannya noise reduction agar noda yang ada pada citra tidak terikut proses preprocessing.

(46)

1. Binerisasi

Pada tahap ini berguna untuk mengubah citra menjadi citra hitam-putih, yang mana tahapan ini memiliki tujuan yang sama seperti binerisasi pada poin 3.3.1.

2. Invers Citra

Pada tahap ini berguna untuk melakukan invers Citra dengan memanfaatkan modul yang ada pada poin 3.3.1.

3. Filtering

Pada tahap ini berguna untuk menghilangkan noise seperti noda ‘bintik’ hitam yang ada pada citra. Tahapan ini memiliki kinerja yang sama dengan tahap Filtering pada poin 3.3.1.

4. Invers Citra

Pada tahap ini berguna untuk melakukan invers Citra dengan memanfaatkan modul yang ada dipoin 3.3.1.

(47)

3.4. Desain Alat Uji

Sebelum dilakukannya ekstraksi ciri, data aksara Bali akan dilakukan dua proses tahapan. Tahap pertama, set data akan dilakukan proses Pra-Preprocessing dan tahapan kedua akan dilakukannya proses Pra-Preprocessing.

(48)

3.4.1. Proses Ekstraksi Ciri

Dibagian ini berguna untuk menyiapkan data sebelum akhirnya data diolah.

Gambar 3. 8 Algoritma Proses Ekstraksi Ciri

3.4.1.1.Binerisasi

Pada tahap ini berguna untuk mengubah citra menjadi citra hitam-putih, yang mana tahapan ini memiliki tujuan yang sama seperti binerisasi pada poin 3.3.1.

3.4.1.2.Cropping

Cropping merupakan metode untuk mendapatkan bentuk karakter aksara secara utuh, tanpa ada nya ‘ruang’ lebih pada citra aksara. Pada penelitian ini, penulis akan menggunakan fungsi crop_aksara() yang diperoleh dari sebuah penelitian.

3.4.1.3.Image Resize

Image resize merupakan metode untuk mengubah ukuran citra menjadi besar atau menjadi kecil. Pada penelitian ini,

(49)

penulis akan menggunakan fungsi imresize() yang ada pada MATLAB.

3.4.1.4.Thinning

Thinning digunakan untuk melakukan penipisan terhadap huruf, sehingga hanya akan menyisihkan citra kerangka aksara saja. Salah satu metode yang akan digunakan pada penelitian ini yaitu menggunakan metode Rosenfeld. Metode ini bekerja dengan cara membuang bagian pixel yang merupakan bagian tepi (edge) (Widiarti, 2011). Untuk implementasinya, penulis akan menggunakan fungsi Rosenfeld() yang diperoleh dari sebuah penelitian.

3.4.1.5.Ekstraksi Ciri

Ekstraksi ciri merupakan tahapan untuk memperoleh sifat pola dari suatu objek yang ada pada citra (2.5). Untuk implementasinya, penulis akan menggunakan modul sebagai berikut :

Modul : IoT

Input : matriks (mtx), ukuranUnit Algoritma :

1. Buat variable st=[ ]

2. Buat variable temp = panjang mtx / ukuranUnit 3. Buat dan set variabel top=temp

4. Buat dan set variabel bot=temp

5. Buat dan set variabel cS=1 dan variable rS=1 6. Lakukan perulangan untuk i=1 sampai ukuranUnit

7. Lakukan perulangan untuk j=1 sampai ukuranUnit

(50)

9. Buat dan set nilai unit = mtx(rS:bot, cS:top) 10. Lakukan perulangan untuk k=1 sampai

panjang unit

11. Lakukan perulangan untuk l = 1 sampai panjang unit

12. Jika unit(k,l) samadengan pixel hitam, maka variable sum bertambah 1

13. Set nilai variable st(i,j) = sum 14. Set nilai variable cS = 1 + top 15. Set nilai variable top=top+temp 16. Set nilai variable rS=1=bot

17. Set nilai variable bot=bot+temp 18. Set nilai variable cS=1

19. Set nilai variable top=temp Output : matriks ciri NxN

(51)

3.4.2. Clustering

Melakukan clustering dengan menerapkan konsep algoritma Hierarchical Clustering Agglomerative (2.2). Berikut adalah algoritma Hierarchical Clustering Agglomerative yang mana diterapkan di MATLAB nantinya :

Gambar 3. 9 Implementasi Hierarchical Clustering Agglomerative pada MATLAB

• Modul :Generate Label

Modul ini merupakan bagian pembentuk Hierarchical Clustering Agglomerative, yang mana tugas dari modul ini adalah menghasilkan label dalam bentuk deretan bilangan diskrit.

Modul : GenLabel

Input : jumlah data (jumData) 1. Inisialisasikan res=[ ]

(52)

3. Simpan nilai i pada res(i,:).

4. Kembalikan res dalam bentuk invers (res’) Output : label berukuran matrix 1xjumlah data

• Modul : Single Linkage

Modul ini merupakan bagian pembentuk Hierarchical Clustering Agglomerative, yang mana tugas dari modul ini ialah mencari bilangan terkecil yang ada di-matrix, lalu mengembalikan nilai terkecil tersebut beserta koordinat x dan y nya.

Modul : nMin

Input : matrix (mtx)

1. Inisialisasikan baris=2 2. Inisialisasikan val=inf

3. Lakukan looping dari 1 sampi panjang mtx, untuk langkah 3 sampai 6

4. Lakukan looping dari baris sampai panjang mtx

5. Jika mtx(i,j) kurang dari atau samadengan val, maka val=mtx(j,j), rw=i dan cl=j.

6. Inisialisasikan baris=baris+1 didalam loop langkah 3

Output : nilai x (rw atau baris), nilai y (cl atau kolom) dan nilai minimum (val)

(53)

• Modul : Update Table

Modul ini merupakan bagian pembentuk Hierarchical Clustering Agglomerative, yang mana tugas dari modul ini ialah melakukan pembaruan table jarak dengan cara membandingkan dua nilai terkecil antara (n,x) dan (n,y) dengan n adalah data ke-n, lalu nilai terkecil akan menggantikan nilai yang ada pada matrix sebelumnya. Setelah itu menghilangkan salah satu baris dan kolom berdasarakan x atau y, yang membuat ukuran matrix akan semakin mengecil.

Modul : UT1

Input : x (r), y (c), matrix (mtx)

1. Ambil ukuran matrix n dan m dengan menggunakan fungsi size()

2. Inisialisasikan temp=[ ]

3. Lakukan looping dari 1 sampai n, untuk langkah 3 sampai langkah 6

4. Lakukan looping dari 1 sampai m, untuk langkah 4 sampai langkah 6

5. Jika j samadengan r atau j samadengan c, maka : a samadengan mtx(i,r)

b samadengan mtx(i,c)

temp(i,j) samadengan nilai minimum a dan b 6. Jika tidak, maka temp(i,j) samadengan mtx(i,j)

7. Lakukan looping dari 1 sampai n, untuk langkah 7 sampai langkah 10

8. Jika i samadengan r atau i samadengan c, maka lakukan langkah 9

9. Lakukan looping dari 1 sampai m, untuk langkah 9 sampai langkah 10

(54)

a samadengan mtx(i,r) b samadengan mtx(i,c)

temp(i,j) samadengan nilai minimum a dan b 11. Hapus baris r dan kolom r temp dengan cara :

temp(:,r) samadengan [ ] temp(r,:) samadengan [ ] 12. Kembalikan temp Output : Tabel jarak baru

(55)

3.4.3. Silhouette Coefficient

Silhouette Coefficient digunakan untuk mengukur tingkat kekompakan data ketika cluster telah terbentuk, dengan cara menunjukan nilai silhouette setiap data ketika telah terbentuk nya cluster, agar dapat disimpulkan apakah data yang ada pada setiap masing-masing cluster nya cocok atau tidak. Pada penelitian ini, penulis akan menggunakan fungsi silhouette yang telah disediakan oleh MATLAB. Adapun algortimanya yaitu :

1. Baca data ciri citra Aksara Bali

2. Lakukan Hirarchical Clustering untuk mendapatkan node tree -nya.

3. Dengan memanfaatkan fungsi cluster(), masukan node dari langkah 2 dan jumlah cluster yang diinginkan dengan parameter “maxclust”.

4. Untuk menghitung nilai silhouette setiap data, gunkana fungsi silhouette(), masukan ciri yang ada pada langkah 1 dan masukan hasil cluster pada langkah 3.

5. Gunakan fungsi mean() untuk mendapatkan rata-rata silhouette coefficient.

3.5. Cara Analisis Data

Analisis akan dilakukan dengan melihat akurasi terbaik yang dapat dihasilkan oleh rerata Silhouette Coefficient, dengan variable yang dapat diubah-ubah antara lain ukuran citra, ukuran window IoT (4x4, 5x5 sampai 8x8) dan rumus jarak yaitu Euclidean dan City Block.

(56)

3.6. Desain User Interface

3.6.1. Preprocessing

Gambar 3. 10 User Interface Preprocessing

• Input :

Memilih folder berisikan kumpulan citra aksara Bali yang akan diproses (Jika memilih Browse yang ada di Segmentation Process

maka akan menjalankan proses segmentasi. Sebaliknya jika memilih

Browse yang ada di Noise Reduction maka akan menjalankan

proses noise reduction).

• Output :

Ketika menekan tombol “Start” (berlaku untuk Segmentation Process atau Noise Reduction) maka user wajib memilih folder untuk menyimpan hasil Pra-Preprocessing.

(57)

3.6.2. Clustering

Gambar 3. 11 User Interface Hierarchical Clustering

• Input :

Ketika menekan Browse, maka user dapat memilih folder yang berisikan citra aksara Bali yang akan dikelompokkan.

• Output :

Output yang dihasilkan oleh user interface ini ada tiga, antara lain : 1) Untuk melihat Dendrogram (ketika proses clustering sudah

dijalankan) maka dapat menekan tombol Dendrogram dan akan menampilkan frame Dendrogram.

2) Untuk menampilkan rerata dari suatu ncluster, maka user harus memasukan jumlah cluster lalu menekan tombol Silhouette

Coefficient, dan akan menampilkan nilai mean dari n cluster

tersebut beserta diagram silhouette coefficient nya.

3) Untuk menyimpan hasil (dalam hal ini citra aksara Bali) clustering berdasarkan n yang dimasukan, maka user harus menekan tombol Save Cluster, memilih directory penyimpanan, dan citra aksara Bali akan tersimpan sesuai dengan cluster nya masing-masing.

(58)

48

BAB IV

IMPLEMENTASI DAN ANALISIS HASIL

4.1. Deskripsi Data

Set data yang akan diolah yaitu Citra aksara Bali yang berjumlah 131. Yang mana dari 131 tersebut, terdapat 79 citra aksara Bali yang siap diolah (dalam arti, citra tersebut mengandung simbol aksara secara tunggal dan tidak ada nya noise secara kasat mata) dan terdapat 52 citra aksara Bali yang tidak siap diolah (dalam arti citra tersebut mengandung lebih dari satu simbol atau terdapat noise secara kasat mata). Sehingga, set data ini perlu dilakukannya tahap pra-preprocessing untuk mengatasi siap dan tidak siapnya set data tersebut diolah.

4.2. Implementasi

4.2.1. Preprocessing

Tahapan ini berguna menyiapkan set data sebelum akhirnya diolah di proses Preprocessing. Pada tahapan ini terbagi menjadi dua yaitu Proses Segmentasi, yang berguna untuk memisahkan simbol-simbol yang masih menyatu menjadi satu pada citra aksara, dan Noise Reduction, yang berguna untuk membersihkan noise yang ada pada citra (seperti bintik hitam pada citra atau noise kasat mata lain nya) sehingga ketika dilakukannya ekstraksi ciri maka noise tersebut tidak ikut diproses.

4.2.1.1. Proses Segmentasi

Tahap ini merupakan implementasi dari gambar 3.6. Tahapan ini berguna untuk memisahkan simbol aksara yang masih menjadi satu citra.

(59)

1. Binerisasi

Citra Asli Citra Biner

Gambar 4. 1 Proses Binerisasi - Symbol Segmentation Gambar 4.1 merupakan hasil binerisasi dari citra asli ke bentuk biner. Secara kasat mata, terlihat bahwa kedua citra tidak memiliki perbedaan, akan tetapi terlihat bahwa terjadinya perubahan representasi data yang mana sebelumnya ada uint8 menjadi logical (citra tersebut hanya tersusun atas nilai 1 dan 0).

2. Invers

Citra Biner Citra Biner Invers

Gambar 4. 2 Proses Invers - Symbol Segmentation Gambar 4.2 merupakan proses invers citra, yang mana awalnya citra yang memiliki latar putih dengan simbol berwarna hitam, diubah menjadi citra yang memiliki latar hitam dengan simbol berwarna putih. Hal ini dilakukan agar dapat menyesuaikan cara kerja fungsi yang ada di MATLAB.

(60)

3. Filling

Citra Invers Citra hasil Filling

Gambar 4. 3 Proses Filling - Symbol Segmentation Proses filling berguna untuk menutupi “pori-pori” yang ada pada citra invers, sehingga membuat objek simbol semakin utuh. Pada gambar 4.3 terlihat adanya perbedaan jumlah pixel berwarna putih, semula 1676 pixel menjadi 1687 pixel yang menunjukan bahwa “pori-pori” yang ada pada simbol aksara telah ditutup.

4. Filtering

Citra hasil filling Citra hasil Filtering Gambar 4. 4 Proses Filtering - Symbol Segmentation

Gambar 4.4 menunjukan hasil filtering yang mana akan membuang noise seperti “bintik putih” pada citra. Hal ini terlihat pada perbedaan jumlah pixel yang semula memiliki 1687 pixel menjadi 1676 pixel.

(61)

5. Character Segmentation

Gambar 4. 5 Hasil Proses Segmentasi

Gambar 4.5 menunjukan hasil segmentasi dengan menggunakan function bwlabel(). Semula citra aksara Bali yang tadinya 1 berubah menjadi 3.

(62)

4.2.1.2. Noise Reduction 1. Binerisasi

Citra Asli Citra Biner

Gambar 4. 6 Proses Binerisasi - Noise Reduction Gambar 4.6 merupakan hasil binerisasi dari citra asli ke bentuk biner. Bagian ini merupakan proses yang sama pengerjaannya dengan binerisasi pada poin 4.2.1.1, yang mana mengubah representasi data menjadi logical (nilai pixel hanya bernilai 1 atau 0).

2. Invers

Citra Biner Citra Biner Invers

Gambar 4. 7 Proses Invers - Noise Reduction Gambar 4.7 merupakan proses invers yang sama pada proses invers poin 4.2.1.1, yang mana awalnya citra yang memiliki latar putih dengan simbol berwarna hitam, diubah menjadi citra yang memiliki latar hitam dengan simbol berwarna putih.

(63)

3. Filtering

Citra Invers Citra Invers hasil

Filtering Gambar 4. 8 Proses Filtering - Noise Reduction Gambar 4.8 merupakan hasil filtering yang sama dengan proses filtering pada poin 4.2.1.1, yang perubahan yang terjadi ialah pixel yang semula berjumlah 927 menjadi 911, menunjukan bahwa noise berupa “bintik hitam” telah dihilangkan.

4. Invers

Citra Invers hasil filtering

Citra Invers dikembalikan seperti

semula Gambar 4. 9 Proses Invers kebentuk semula - Noise

Reduction

Gambar 4.9 merupakan proses invers yang sama pada proses invers poin 4.2.1.1, hanya saja mengubah warna latar citra yang semula hitam menjadi putih dan mengubah warna simbol yang putih menjadi hitam, sehingga citra kembali ke kondisi awal.

(64)

4.2.2. Proses Ekstraksi Ciri

Tahapan ini akan menghasilkan citra thinning aksara Bali, yang mana sebelumnya data-data citra aksara Bali tersebut telah melewati proses yang ada pada poin Pra-Preprocessing (4.2.1).

1. Binerisasi

Citra Asli Citra Biner

Gambar 4. 10 Proses Binerisasi - Proses Ekstraksi Ciri Gambar 4.10 merupakan merupakan hasil binerisasi dari citra asli ke bentuk biner. Bagian ini merupakan proses yang sama pengerjaannya dengan binerisasi pada poin 4.2.1.1, yang mana mengubah representasi data menjadi logical (nilai pixel hanya bernilai 1 atau 0).

(65)

2. Cropping

Citra Biner Citra Hasil

Cropping Gambar 4. 11 Gambar 4. 11 Proses Cropping – Proses

Ekstraksi Ciri

Gambar 4.11 menunjukan hasil citra setelah melalui proses cropping, dengan memanfaatkan function crop_aksara(). Terlihat pada citra biner yang sebelum nya berukuran 141x54 berubah menjadi 40x53. 3. Image Resize Citra hasil Cropping Ukuran citra yang diubah menjadi 40x40 Gambar 4. 12 Proses Image Resize - Proses Ekstraksi Ciri Gambar 4.12 menunjukan hasil citra setelah melalui proses image resize, dengan memanfaatkan function imresize(). Terlihat pada citra hasil cropping yang sebelum nya berukuran 40x53 berubah menjadi 40x40.

(66)

4. Thinning

Hasil image resize

Hasil thinning dengan function

rosenfeld Gambar 4. 13 Proses Thinning - Proses Ekstraksi Ciri Gambar 4.13 menunjukan hasil thinning simbol yang ada pada citra aksara Bali, dengan memanfaatkan function Rosenfeld(). Secara kasat mata, terlihat bentuk aksara dengan penulisan bentuk yang tebal diubah menjadi tipis. Hal ini juga dapat dilihat dari perbedaan banyaknya pixel hitam penyusun objek simbol aksara. 5. Ekstraksi Ciri

Gambar 4. 14 Hasil Ekstraksi Ciri IoT 4x4

Gambar 4.14 merupakan hasil ekstraksi ciri menggunakan intensity of character dengan ukuran 4x4, dengan menggunakan algoritma yang ada dipoin 3.5.2. Adapun arti dari matriks pada gambar diatas ialah setiap nilai yang ada pada koordinat (x,y), merepresentasikan banyaknnya jumlah pixel hitam. Sebagai contoh, nilai 24 pada koordinat (2,2) menunjukan adanya 24 pixel yang merepresentasikan warna hitam. Sebelum semua hasil ekstraksi ciri diproses untuk clustering, maka matriks ini akan diubah kebentuk vector yang berukuran 1x(nxn) dengan n adalah ukuran matriks intensity of character (seperti 4x4, 5x5, dst).

Gambar

Tabel 2. 1 Aksara Wyanjana (Huruf Konsonan)
Tabel 2. 2 Aksara Swara (Huruf Vokal)  Warga  Vokal Pendek  Vokal Panjang  Kantya  A kara  A kara  Talawya  I kara  I kara   Murdhanya  Ra repa  Ra repa  Dantya  La lenga  La lenga  Osthya  U kara  U kara  Kanthya-Talawya  E kara   Airsanya   Kanthya-Osthy
Gambar 2. 1 Citra dengan ukuran 16x16
Tabel 2. 4 Contoh Data
+7

Referensi

Dokumen terkait

Algoritma Hierarchical Cluster merupakan salah satu algoritma teknik clustering yang dimulai dengan pemilihan secara acak K, yang merupakan banyaknya cluster yang

Pada penelitian ini penulis membahas pembentukan komunitas menggunakan algoritma Agglomerative Hierarchical Clustering (AHC) berbasis enhanced similarity pada data

Sedangkan algoritma Hierarchical Agglomerative Clustering dalam melakukan evaluasu membutuhkan waktu komputasi klastering yang cukup cepat, namun hasil performa

Hierarchical clustering adalah salah satu algoritma clustering dengan karakteristik setiap data harus termasuk dalam cluster tertentu, dan data yang termasuk dalam cluster

Dari proses analisis klasifikasi pH tanah menggunakan 3 metode pada Algoritma Hierarchical Clustering diatas menunjukkan bahwa untuk memperoleh hasil penentuan nilai

Pada penelitian ini penulis membahas pembentukan komunitas menggunakan algoritma Agglomerative Hierarchical Clustering (AHC) berbasis enhanced similarity pada data

Berdasarkan hasil pembahasan diperoleh bahwa metode Agglomerative Hierarchical Clustering dapat digunakan untuk melakukan clustering prevalensi stunting balita di Kecamatan

Dari proses analisis klasifikasi pH tanah menggunakan 3 metode pada Algoritma Hierarchical Clustering diatas menunjukkan bahwa untuk memperoleh hasil penentuan