BAB 3 ANALISIS DAN PERANCANGAN
Bab ini membahas tentang implementasi penggunaan Jaringan Saraf Tiruan
Self- organizing Map
, prapengolahan citra, serta arsitektur sistem.
3.1. Basis Data yang digunakan
Basis data yang digunakan adalah basis data Kamus Besar Bahasa Indonesia KBBI yang telah diterjemahkan menggunakan Google Translate translate.google.com ke
Bahasa Rusia. Basis data yang digunakan terdiri dari satu tabel dan 4 kolom yang terdiri dari kolom kata rusia, indonesia, inggris, kolom deksripsi. Basis data memiliki
71406 rekord. Contoh dari rekord dapat dilihat pada tabel 3.1.
Tabel 3.1. Contoh rekord dari database Kata Rusia
Kata Indonesia Kata Inggris
Deskripsi
anjing dog
an.jing\n[n ]
binatang menyusui
yang biasa
dipelihara untuk menjaga rumah, berburu, dsb; Canis
familiaris anjing air
otter berang-berang
anjing gembala sheepdog
anjing yang telah dilatih khusus
untuk membantu
menjaga domba anjing hutan
coyote anjing liar yang hidup di
hutan; serigala; anjing kampong
mongrel anjing yang tidak dipiara
secara khusus anjing laut
seal binatang laut yang rupanya
seperti anjing
Universitas Sumatera Utara
3.2. Arsitektur umum
Sistem akan berbentuk klien dan server. Klien dari sistem adalah aplikasi yang ada pada Android, sedangkan servernya adalah yang aplikasi yang dilatih untuk mengenali
pola huruf dengan algoritma
Self-organizing Map
. Diagram blok dari sistem yang akan dibangun dapat dilihat pada gambar 3.1.
Gambar 3.1. Diagram blok sistem secara keseluruhan
Klien bertugas mengambil citra dan memproses citra tersebut hingga tahapan ekstraksi fitur. Hasil dari klien akan berupa
string
, dan akan dikirim ke server untuk dilakukan proses pengenalan pola. Hasil dari server akan berupa kata yang berhasil
dikenali, kemudian hasilnya dikembalikan ke klien dalam bentuk pesan. Klien akan menerjemahkan kata yang dikirimkan server dan menampilkan terjemahannya kepada
pengguna.
Universitas Sumatera Utara
Citra akan diperoleh dari aplikasi yang ada pada klienAndroid dari kamera atau galeri gambar. Citra tersebut akan masuk ke tahap prapengolahan citra. Pada
tahap ini, citra akan mengalami pemrosesan citra. Pemrosesan citra yang terjadi dapat dilihat pada gambar 3.2.
Tugas server adalah menerima pesan dari klien dan mengklasifikasikan hasil ekstraksi fitur yang dikirmkan oleh klien. Oleh karena itu, proses pelatihan dan proses
pengujian akan berada pada server. Pada proses pelatihan yang sederhana, aplikasi server akan menerima sebuah
МТЭЫК ФКЫКФЭОЫ, ЦТЬКХФКЧ МТЭЫК ФКЫКФЭОЫ “К” НКЫТ
font
arial. Kemudian akan diberitahu ЛКСаК МТЭЫК ЭОЫЬОЛЮЭ КНКХКС МТЭЫК “К”. CТЭЫК ЭОЫЬОЛЮЭ ФОЦЮНТКЧ КФКЧ ЦОЧРКХКЦТ ЩЫШЬОЬ
pemrosesan citra, seperti pada klien. Bedanya adalah, pada server yang diproses adalah citra karakter, sedangkan pada klien yang diproses adalah citra kata. Hal ini
berarti, pada server tidak ada proses segmentasi karakter, karena pada server yang diinputkan adalah citra yang hanya membuat sebuah huruf saja. Hasilnya juga
mengalami ekstraksi fitur seperti pada klien. Proses berikutnya adalah mesin dilatih ЮЧЭЮФ ЦОЧРОЧКХ ФКЫКФЭОЫ “К” НКЫТ ПТЭЮЫ вКЧР НТОФЬЭЫКФ НКЫТ МТЭЫК ЭОЫЬОЛЮЭ. DТКРЫКЦ ЛХШФ
dari proses pelatihan dapat dilihat pada gambar 3.3.
Penapisan derau Binerisasi
Segmentasi Citra
Penskalaan
Thinning
Gambar 3.2. Diagram blok prapengolahan citra pada klien
Ke Ekstraksi Fitur
Universitas Sumatera Utara
Prapengolahan citra pada server tentunya berbeda pada prapengolahan pada klien. Hal ini, seperti yang sudah diutarakan sebelumnya, klien akan memproses citra
bermuatan kata, sedangkan pada server hanya bermuatan sebuah karakter. Hal ini artinya tidak ada proses segmentasi karakter pada server. Diagram blok dari
prapengolahan citra pada server dapat dilihat pada gambar 3.4.
3.2.1. Input Citra
Citra yang diambil adalah citra tulisan Cyrillic berbahasa Rusia yang didapat dari papan pemberitahuan, papan pengunguman, spanduk, iklan, majalah, koran, dan
sumber-sumber yang memiliki tulisan lainnya. Input Citra pada klien dilakukan dengan menggunakan galeri atau kamera pada android. Citra yang didapat dari proses
ini akan dipotong untuk diambil bagian yang ingin diterjemahkan. Pemotongan dilakukan oleh pengguna. Pengguna yang akan memilih bagian mana yang ingin
dipakai dari citra yang diambil.
3.2.2. Prapengolahan Citra
Prapengolahan citra adalah bagian penting yang menyiapkan citra agar dapat dilanjutkan ke ekstraksi fitur. Bagian ini terdapat pada klien dan server pada bagian
Diberikan nama
Prapengolahan citra
Citra Ekstraksi
fitur Pelatihan
Gambar 3.3. Diagram blok pelatihan pada server
Ke Ekstraksi Fitur Penapisan derau
Binerisasi Penskalaan
Citra Thinning
Gambar 3.4. Diagram blok prapengolahan citra pada server
Universitas Sumatera Utara
pelatihan. Tahapan-tahapan dari prapengolahan citra adalah penapisan derau, binerisasi, penskalaan, thinning, dan segmentasi karakter.
3.2.2.1. Penapisan Derau
Penapisan derau akan menggunakan metode Median filter 3x3 untuk server dan klien. Flowchart dari penapisan derau dengan Median filter 3x3 dapat dilihat pada gambar
3.5.
start Citra yang
akan diproses
Buat matriks dari piksel i-1,j-i sampai
pikseli+1,j+1 Mengambil
pikseli,j
Ambil median matriks
Ganti nilai matriks sesuai nilai median
yang didapat
Masih ada piksel pada citra yang belum diproses?
end ya
tidak Citra dengan derau
yang berkurang
Gambar 3.5. Flowchart median filter 3x3
Universitas Sumatera Utara
Dapat dilihat pada gambar 3.5, citra hasil pengambilan gambar akan ditapis menggunakan Median Filter dengan ukuran ketetanggaan 3x3. Citra akan diproses
mulai dari piksel pertama pada koordinat 0,0 sampai piksel terakhir. Piksel diproses dengan cara diambil tetangganya mulai dari koordinat i-1,j-1 sampai i+1,j+1 yang
menandakan ukuran ketetanggaannya adalah 3x3. Hasilnya akan dihimpun dalam bentuk matriks. Matriks itu kemudian akan diambil median dari warna-warnanya,
yaitu median dari warna hijau, warna biru dan warna merah yang ada pada matriks tersebut. Median didapat dengan mengurutkan nilai-nilai warna tersebut, dan
kemudian diambil nilai tengahnya median. Nilai tersebut kemudian akan mengganti nilai warna seluruh piksel yang ada pada matriks ketetanggaan tersebut. Setelah
selesai, maka piksel akan diproses piksel lain hingga seluruh piksel pada citra terproses. Contoh hasil dari penapisan derau dapat dilihat pada gambar 3.6.
a b
Gambar 3.6. Hasil penapisan derau. Sebelum a dan sesudah b
3.2.2.2 Binerisasi
Setelah penapisan derau, citra akan mengalami binerisasi. Citra akan mengalami proses
grayscaling
terlebih dahulu, sebelum binerisasi. Proses
grayscaling
adalah proses untuk menghasilkan citra abu-abu yang memiliki derajat keabuan. Proses ini
dilakukan sebelum proses binerisasi, karena proses binerisasi akan menggunakan algoritma Otsu yang menerima masukan sebuah citra yang abu-abu. Hal ini dapat
dilihat dari algoritma Otsu yang berkerja dengan cara menghitung histogram kemunculan tingkat keabuan, yang hanya dapat dibuat jika citra merupakan citra abu-
abu sehingga memiliki derajat keabuan. Flowchart dari proses
grayscaling
dapat dilihat pada gambar 3.7.
Universitas Sumatera Utara
start
Citra yang akan
diproses
Nilai keabuan = merah0,21+hijau
0,71+biru0,07 Mengambil
pikseli,j
Ganti semua nilai warna pada
pikseli,j dengan nilai keabuan yang
didapat
Masih ada piksel pada citra yang belum diproses?
end ya
tidak Citra abu-abu
Gambar 3.7. Flowchart Grayscaling
Dapat dilihat pada gambar 3.7, nilai keabuan atau derajat keabuan didapat dengan mengambil nilai warna pada piksel, yaitu warna merah, biru dan hijaunya,
kemudian mengalikannya dengan koefisien warna. Koefisien warna yang dipilih adalah 0,21 untuk merah, 0,71 untuk hijau dan 0,07 untuk biru. Citra abu-abu
diperoleh dengan mengalikan koefisien warna yang sudah ditentukan tersebut ke nilai
Universitas Sumatera Utara
warna yang dimiliki sebuah piksel, kemudian hasilnya dijumlahkan. Nilai yang didapat akan menggantikan semua nilai warna dalam piksel tersebut, sehingga nilai
merah, hijau dan birunya menjadi seragam. Nilai yang didapat itulah yang akan menjadi derajat keabuan. Kemudian akan diproses piksel lain hingga semua piksel
pada citra selesai diproses. Binerisasi citra akan menggunakan metode ambang batas dengan penentuan
ambang batas menggunakan metode Otsu. Flowchart penentuan ambang batas dari metode Otsu dapat dilihat pada gambar 3.8.
start
Citra abu- abu
Membuat kelas probabilitas keluarnya
keabuan, rata-rata kelas tersebut
Membuat Histogram derajat
keabuan
Untuk setiap kemungkinan ambang batas, piksel
dibagi 2, latar belakang dan karakter
end Ambil akar kuadrat dari
perbedaan kedua bagian tersebut
Nilai terbesar setelah iterasi berakhir adalah
ambang batas yang diinginkan
Gambar 3.8. Flowchart penentuan ambang batas menggunakan metode Otsu
Universitas Sumatera Utara
Dapat dilihat pada gambar 3.8, metode Otsu dimulai dengan membuat histogram kemunculan derajat keabuan pada citra abu-abu yang diproses. Histogram
derajat keabuan adalah data berapa jumlah kemunculan sebuah derajat keabuan pada sebuah citra. Derajat keabuan yang dimaksud adalah mulai dari 0 atau hitam sampai
dengan 255 atau putih. Kemudian dari histogram tersebut dibuat kelas probabilitas munculnya sebuah derajat keabuan dan diambil rata-rata dari kelas tersebut. Setelah
itu, dibuat 2 kelas dari proses sebelumnya, yaitu kelas latar belakang dan kelas karakter. Kemudian diambil akar kuadrat dari kedua kelas tersebut, diulang terus
menerus untuk semua derajat keabuan. Hasil yang terbesar yang didapat setelah pengulangan berakhir adalah ambang batas yang diinginkan.
start Citra abu-
abu Ambil pikseli,j
end Merah ambang
batas?
Ganti semua warna menjadi 0hitam
tidak ya
Ganti semua warna menjadi 255putih
Masih ada piksel yang belum
diproses?
Citra hitam putih tidak
ya
Gambar 3.9. Flowchart metode ambang batas
Universitas Sumatera Utara
Metode Ambang Batas adalah metode yang mengganti semua nilai menjadi 1 atau 0, sesuai dengan derajat keabuan sebuah piksel dibandingkan dengan ambang
batas yang sudah didapat. Flowchart dari metode ambang batas dengan menggunakan ambang batas yang diperoleh dari metode otsu dapat dilihat pada gambar 3.9.
Sesuai pada gambar 3.9, dapat dilihat bahwa proses ambang batas akan menerima citra abu-abu hasil proses
greyscaling
yang ada pada tahap sebelumnya. Kemudian akan dicek piksel yang ada pada citra tersebut. Setelah itu, akan dicek
apakah warna merah pada piksel tersebut melebihi atau lebih kecil dari ambang batas yang didapat. Pemilihan warna lain selain merah, yaitu hijau atau biru, tidak memiliki
perbedaan sama sekali. Hal ini karena pada citra abu abu, semua warna pada piksel sudah memiliki nilai yang sama, yaitu derajat keabuan. Jika warna merahnya lebih
besar dari ambang batas, maka piksel akan diubah menjadi piksel putih, dan selain itu akan menjadi piksel hitam. Proses akan dilanjutkan sampai semua piksel pada citra
sudah diubah. Hasil yang didapat setelah proses ini adalah, seluruh citra sudah menjadi citra hitam dan putih. Hasilnya dapat dilihat pada gambar 3.10.
a
b
Gambar 3.10. Hasil Binerisasi. a sebelum b sesudah
Universitas Sumatera Utara
3.2.2.3 Segmentasi
Proses segmentasi akan dilakukan setelah proses binerisasi. Hal ini karena proses segmentasi akan memeriksa seluruh piksel citra dengan mengandaikan hanya terdapat
dua jenis piksel, yaitu piksel latar belakang dan piksel karakter. Penemuan piksel karakter akan dicatat, sedangkan piksel latar belakang akan dilewati. Pembagian
piksel dari citra menjadi dua bagian tersebut hanya dapat dilakukan jika citra sudah menjadi citra biner, yaitu citra yang hanya memiliki dua warna, hitam dan putih. Jika
citra sudah biner, maka dapat diandaikan piksel karakter adalah piksel hitam dan piksel latar belakang adalah piksel putih. Dengan demikian, piksel putih akan dilewati
pada saat sistem sedang menelusiri semua piksel. Pemotongan citra dengan cara ini akan menganggap piksel-piksel yang masih
bersatu dan tidak putus sebagai satu buah karakter, sehingga tulisan sambung akan selalu dikenali sebagai satu karakter. Oleh karena itu, sistem tidak akan mengenali
tulisan sambung. Sesuai pada flowchart pada gambar 3.11, proses pemotongan karakter dimulai
dengan mencari piksel karakter yang ada pada ujung kiri dengan cara menyelusiri setiap piksel dari atas kebawah. Jika ditemukan, maka piksel paling kiri tersebut akan
menjadi ujung kiri kolom. Selanjutnya akan diselurusi lagi piksel berikutnya, jika didapat lagi piksel karakter, maka piksel tersebut akan ditandai sebagai ujung kanan.
Kemudian jika ditemukan lagi piksel karakter pada penyelusuran berikutnya, ujung kanan akan berganti menjadi piksel tersebut. Hal ini akan terus dilakukan sampai
akhirnya tidak ditemukan lagi piksel karakter pada sebuah pencarian. Ujung kanan kolom adalah piksel karakter terakhir yang didapat. Dengan diketahuinya ujung kanan
dan ujung kiri, maka kolom berisi karakter akan dipotong. Hasilnya adalah satu karakter terekstrak dari citra tersebut. Kemudian piksel-piksle lain akan diproses
dengan cara yang sama sampai akhirnya tiba di piksel paling akhir dari citra. Hasilnya adalah, citra-citra baru yang berisi satu karakter per citra.
Universitas Sumatera Utara
start
Scan citra dari piksel paling atas ke
bawah
Ditemukan piksel karakter?
Citra hitam putih
Mulai dari 0,0
Cek pada aksis x+1
Lanjutkan pengecekan
Sampai pada piksel paling bawah?
Piksel yang ditemukan menjadi
koordinat kolom paling kiri
tidak ya
Ditemukan piksel karakter?
tidak Piksel yang
ditemukan menjadi koordinat kolom
paling kanan ya
Cek pada aksis x+1
ya tidak
Didapat kolom berisi satu karakter.
Potong bagian tersebut dari citra.
Sampai pada piksel paling akhir dari citra?
end tidak
ya
Gambar 3.11. Flowchart segmentasi kata menjadi kolom yang berisi satu huruf
Contoh dari hasil proses segmentasi dapat dilihat pada gambar 3.12a untuk gambar aslinya, dan 3.12b sampai dengan 3.12j adalah citra hasil segmentasi
karakter.
Universitas Sumatera Utara
a
b c
d e
f g
h i
j
Gambar 3.12. Hasil Segmentasi. Sebeluma dan Sesudahb – j
3.2.2.4. Penskalaan
Tiap tiap karakter yang berhasil diisolasi akan mengalami proses pengskalaan. Proses ini
akan menggunakan
fungsi penskalaan
yang ada
pada Android
createScaledBitmap
sedangkan pada
bagian server
akan menggunakan
java.awt.geom.AffineTransform. Ukuran yang ditentukan adalah 20 piksel x 25 piksel. Flowchart untuk proses penskalaan dapat dilihat pada gambar 3.13.
start
Citra berukuran 20 piksel x 25 piksel
Citra karakter
Proses penskalaan ke ukuran 20 piksel
x 25 piksel
end
Gambar 3.13. Flowchart proses penskalaan
Universitas Sumatera Utara
Sesuai dengan gambar 3.13, dapat dilihat bahwa citra yang akan menjadi masukan pada proses penskalaan adalah citra karakter yang berhasil didapat pada
proses segmentasi karakter. Citra tersebut kemudian akan diproses untuk diperkecil menjadi ukuran 20 piksel x 25 piksel dengan bantuan fungsi
createScaledBitmap
untuk klien
dan untuk
server akan
menggunakan fungsi
java.awt.geom.AffineTransform. Fungsi tersebut telah disediakan oleh android dan java untuk digunakan, sehingga tidak diperlukan untuk membuat metode sendiri. Hasil
dari proses penskalaan dapat dilihat pada gambar 3.14.
Gambar 3.14. Hasil Penskalaan dari sebuah karakter. Sebelumkiri dan sesudahkanan
3.2.2.5. Thinning
Tiap karakter terisolasi kemudian akan mengalami proses
thinning
. Metode yang digunakan adalah metode Zhang-Suen. Proses
thinning
akan menghasilkan tulang dari citra karakter. tulang yang dihasilkan akan memiliki ketebalan sebesar satu piksel.
Proses pengambilan tulang dari citra dilakukan karena akan ditemukan huruf dengan ketebalan piksel yang berbeda-beda. Citra huruf yang memiliki ketebalan
berbeda tersebut, tetap memiliki citra tulang yang sama, sebagai penanda bahwa huruf tersebut adalah sama. Oleh karena itu, bagian yang diekstrak dari citra karakter adalah
tulang dari citra tersebut. Flowchart dari metode Zhang-Suen dapat dilihat pada gambar 3.15.
Universitas Sumatera Utara
start
Citra biner huruf Cyrillic
Piksel tersebut hitam dan punya 8 tetangga?
Memproses pikseli,j dan membuat matriks
tetangganya sebesar 3x3
2 = Bp1 = 6
Ap1 = 1
P2 atau p4 atau p6 putih
P4 atau p6 atau p8 putih
ya
ya
ya
ya
Hapus pikseli,j
Masih ada piksel pada citra yang belum diproses?
end tidak
tidak
tidak
tidak
tidak ya
ya tidak
Gambar 3.15. Flowchart proses thinning dengan metode Zhang-Suen
Sesuai dengan gambar 3.14, maka dapat dilihat bahwa proses thinning dimulai dengan input citra huruf Cyrilic. Citra karakter Cyrillic tersebut kemudian akan cek
tiap pikselnya dengan ukuran ketetanggaan 3x3. Kemudian dicek apakah piksel
Universitas Sumatera Utara
tersebut hitam dan punya 8 tetangga. Kemudian dicek kembali apakah jumlah tetangga yang hitam dari piksel tersebut lebih besar atau sama dengan 2 dan lebih
kecil atau sama dengan 6. Kemudian dicek lagi apakah jumlah transisi dari putih ke hitam dengan urutan P2, P3, P4, P5, P6, P7, P8, P9, P2 yang sesuai dengan gambar
2.3, adalah sama dengan 1. Kemudian dicek kembali apakah P2, P4 atau P6 putih. Setelah itu dicek lagi apakah P4, P6 dan P8 adalah putih. Jika semua kondisi yang
dicek tersebut benar, maka piksel akan dihapus. Proses akan berakhir setelah semua piksel diproses. Hasil dari metode ini dapat dilihat pada gambar 3.16.
Gambar 3.16. Hasil proses
thinning
. Sebelumkiri dan sesudahkanan
3.2.3. Ekstraksi Fitur
Hasil dari prapengolahan citra adalah karakter-karakter yang berhasil diisolasi dari citra kata. Setiap karakter tersebut akan diekstrak fiturnya dengan metode pemetaan
piksel. Piksel hitam akan bernilai 1, dan piksel putih akan bernilai 0. Nilai akan disimpan sebagai sebuah untaian
string
. Karena ukuran dari citra karakter terisolasi adalah 20 x 25 piksel, maka ukuran dari untaian tersebut adalah 20x25 = 500 satuan.
Piksel pada koordinat f0,0 akan berada pada indeks untaian 0, f0,1 akan berada pada indeks 1, dan selanjutnya sampai seluruh indeks terisi. Hasil dari ekstraksi fitur
ini akan dikirimkan ke mesin yang sudah dilatih untuk dikenali.
3.2.4. Menerima Data pada server
Data yang diterima pada server adalah berupa untaian
string
yang diperoleh dari ekstraksi fitur. Penerimaan dilakukan dengan cara membuka sebuah
socket
yang akan digunakan sebagai pintu penerimaan dan pengiriman data. Pada aplikasi ini,
port
yang digunakan adalah 4444. Pemilihan
port
yang baik adalah dengan memilih
port
yang belum dipakai oleh aplikasi-aplikasi lain.
Universitas Sumatera Utara
3.2.5. Klasifikasi
Metode klasifikasi yang digunakan untuk mengenali hasil dari ekstraksi fitur adalah metode jaringan saraf tiruan. Metode jaringan saraf tiruan yang digunakan adalah
Self- Organizing Map
atau
Kohonen Map
. Klasifikasi dilakukan setelah sistem telah dilatih untuk mengenali karakter Cyrillic. Mesin yang dilatih adalah mesin yang terdapat
pada server, sehingga pelatihan dilakukan di server. Hasil dari proses klasifikasi ini adalah huruf-huruf yang berhasil dikenali dari pola yang dikirimkan oleh klien.
Flowchart klasifikasi data ekstraksi fitur pada sistem yang sudah dilatih dapat dilihat pada gambar 3.17.
start Data hasil
ekstraksi fitur
end Cek pada network
node mana yang kenal pada data
Cek huruf yang dikenal oleh node
tersebut
Huruf yang dikenal
Gambar 3.17. Diagram alir klasifikasi data hasil ekstraksi fitur
Dapat dilihat pada gambar 3.17, hasil ekstraksi fitur yang berupa untaian 1 dan 0 sebanyak 500 angka akan dimasukkan ke unit pengenalan. Caranya adalah mencari
node-node mana yang kenal terhadap data tersebut. Kemudian akan dipilih node yang paling dekat sebagai pemanang
winner
. Node pemenang kemudian akan dicek lagi
Universitas Sumatera Utara
huruf apakah yang dilatihkan ke node tersebut. Huruf yang diberikan oleh node tersebut akan menjadi huruf yang dikenal untuk hasil ektraksi fitur tersebut.
3.2.6. Pelatihan
Pelatihan yang dilakukan adalah dengan metode tidak terbimbing
unsupervised
. Sistem akan dilatih menggunakan data huruf Cyrillic dalam 11 font yang berbeda.
Juga terdapat 3 font lainnya yang akan digunakan sebagai data uji. Setiap font memuat 33 huruf kecil dan 33 huruf besar, sehingga totalnya 66. Tabel data yang digunakan
dapat dilihat pada tabel 3.2. Tahapan pelatihan pada server dalam bentuk flowchart dapat dilihat pada gambar 3.18.
Tabel 3.2. Penggunaan Font Jenis Font
Jumlah Karakter Status Data
Arial 66
Data Latih Arial Black
66 Data Latih
Arial Narrow 66
Data Uji Batang
66 Data Latih
Book Antiqua 66
Data Uji Calibri
66 Data Latih
Cambria 66
Data Latih Comic Sans
66 Data Latih
Courier New 66
Data Latih Lucida Console
66 Data Uji
Lucida Sans 66
Data Latih Tahoma
66 Data Latih
Times New Roman 66
Data Latih Verdana
66 Data Latih
Universitas Sumatera Utara
Gambar 3.18. Diagram alir proses pelatihan
3.2.7. Menerima Data pada Klien
Klien akan menerima data dari server berupa
string
yang berisi huruf-huruf yang berhasil dikenali dari data yang dikirimkan pada tahap sebelumnya. Data diterima
menggunakan
port
yang sama dengan
port
yang digunakan pada tahap sebelumnya, yaitu tahap menerima data pada server.
Universitas Sumatera Utara
3.2.8. Penerjemahan
Penerjemahan akan menggunakan pencocokan kata. Kata yang diterima pada tahap ЬОЛОХЮЦЧвК КФКЧ НТМШМШФФКЧ ФО ЛКЬТЬ НКЭК. CШЧЭШСЧвК, НТЭОЫТЦК ФКЭК “
” НКЫТ server. Maka akan didapat hasil sesuai tabel 3.3 berikut.
Tabel 3.3. Hasil pencocokan database dengan masukan “вечный”
Kata Indonesia Kata Inggris
Deskripsi abadi
timeless aba.di\n[a] kekal; tidak berkesudahan: di
dunia ini tidak ada yg -- baka
eternal ba.ka\n[a] tidak berubah selama-lamanya;
abadi; kekal\n\n[Mk n] 1 keluarga yg menurunkan; 2 asal keturunan
berwaktu timeless
ber.wak.tu\n[v] mempunyai waktu yg tertentu; dng waktu yg tertentu; memakai
waktu kekal
everlasting ke.kal\n[a] tetap tidak berubah, tidak
bergeser, dsb selama-lamanya; abadi; lestari: kematian adalah sekadar penutup
babak kefanaan bagi suatu babak baru hidup --
kekal abadi eternal
kekal untuk selama-lamanya lestari
everlasting les.ta.ri\n[a] tetap spt keadaannya semula;
tidak berubah; bertahan; kekal
3.2.9 Menampilkan hasil
Hasil yang ditampilkan adalah kata yang berhasil didapat, arti dari kata tersebut dan deskripsi dari kata tersebut. Rancangan tampilan hasil dapat dilihat pada gambar 3.19.
Universitas Sumatera Utara
Gambar 3.19. Rancangan tampilan hasil
Penjelasan dari gambar adalah sebagai berikut :
1.
Tombol kamera digunakan untuk mengambil citra menggunakan kamera android
2.
Tombol galeri digunakan untuk mengambil citra dari galeri android
3.
Tombol dengarkan digunakan untuk mendengarkan kata bahasa rusia yang didapat
4.
Kolom citra yang diproses untuk menampilkan citra akhir yang digunakan setelah pemotongan
Universitas Sumatera Utara
5.
Bagian tampilan terjemahan adalah menunjukkan kata rusia yang didapat, arti serta deskripsinya. Jika ada arti kedua, maka akan ditampilkan dibawahnya,
dan seterusnya.
3.3. Use case dan User case spesification
Use case
adalah pemodelan dari cara kerja sistem.
Use case
digunakan sebagai alat untuk mendokumentasikan cara kerja sistem.
3.2.1.
Use Case
Use Case
dari aplikasi ini dapat dilihat pada gambar 3.20..
Gambar 3.20. Use Case
3.5.2.
Use case spesification
Use case spesification
adalah deskripsi diagram
use case
yang menjelaskan bagaimana
use case
itu berkerja.
Use case spesification
dari gambar 3.20 dapat dilihat pada gambar tabel 3.4 untuk user dan tabel 3.5 serta tabel 3.6 untuk admin.
Universitas Sumatera Utara
Tabel 3.4. Use Case spesifikasi untuk user
Nama
use case
Proses penerjemahan kata pada citra Aktor
User Deskripsi
Proses utama dari aplikasi. Pengguna menginputkan sebuah citra untuk mendapat arti dari kata yang
terkandung dalam citra. Pre-condition
User sudah membuka aplikasi Basic flow
- User mengklik pilihan menginputkan gambar
dari galeri android atau kamera -
User memilihmengambil sebuah gambar -
User memilih bagian yang mengandung kata yang ingin diterjemahkan
- User mengklik simpan
- User menunggu proses pengolahan citra pada
android dan pengiriman pesan secara klien- server.
- Aplikasi menampilkan citra kata yang
dipotong oleh user dan terjemahan dari kata tersebut
Post condition User dapat memilih citra lain untuk diproses
Limitation -
Tabel 3.5. Use case spesifikasi untuk pelatihan
Nama use case Proses pelatihan
Aktor Admin
Deskripsi Proses admin melatih mesin untuk mengenali pola
Pre-condition Admin sudah membuka aplikasi server
Basic flow -
Admin mengklik tombol cari gambar -
Admin mengklik tombol tambah gambar -
Admin memberi tahu mesin gambar tersebut
Universitas Sumatera Utara
adalah gambar dari karakter apa -
Admin dapat menambah gambar lain sampai sebanyak yang admin mau
- Jika seluruh data yang akan digunakan untuk
melatih sudah diinputkan berikut informasi karakternya, maka admin mengklik tombol
trainlatih -
Admin menunggu proses pelatihan -
Jika sudah selesai, admin dapat menyimpan network tersebut atau mengulang langkah dari
awal jika ingin menambah gambar baru atau menghapus data latih yang salah.
- Jika admin melakukan perubahan pada data
latih, maka admin akan mengulangi proses train
Post condition Mesin akan terlatih untuk mengenali pola yang
dilatihkan oleh admin, terbukti dari jika admin menginputkan sebuah pola untuk dikenali, maka
mesin akan memberikan sebuah output. Limitation
-
Tabel 3.6. Use case spesifikasi untuk pengujian
Nama use case Proses pengujian
Aktor Admin
Deskripsi Admin menguji apakah mesin mampu mengenali
beberapa pola setelah dilatih terlebih dahulu Pre condition
Mesin telah dilatih terlebih dahulu Basic flow
- Admin mengklik tombol cari gambar
- Admin mengklik tombol kenali gambar
- Admin menunggu mesin untuk mengenali pola
Universitas Sumatera Utara
- Aplikasi menampilkan karakter sesuai dengan
apa yang diberikan mesin sebagai keluaran Post condition
Admin dapat mengetahui berapa citra yang secara tepat dikenali dan berapa citra yang dikenali secara
salah. Limitation
-
Universitas Sumatera Utara
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Bab ini membahas hasil implementasi jaringan saraf tiruan Self-organizing map untuk mengenali pola huruf Cyrillic berikut akurasi dari pengenalan.
4.1. Pengujian Server