Pelita Informatika Budi Darma, Volume III Nomor : 2 , April 2013
ISSN : 2301-9425
PERANCANGAN KAMUS INDONESIA – HOKKIEN DENGAN METODE INTERPOLATION SEARCH Diah Restu Ayu Ningtyas 0811433 Mahasiswa Program Studi Teknik Informatika STMIK Budi Darma Medan Jl. Sisingamangaraja No. 338 Simpang Limun Medan Email:
[email protected] Abstrak Bahasa merupakan alat komunikasi antar anggota masyarakat berupa lambang bunyi, yang dihasilkan oleh ucapan manusia. Pengertian bahasa itu meliputi dua bidang yaitu : bunyi yang dihasilkan alat ucap dan arti atau makna yang tersirat dalam arus bunyi itu sendiri. Bahasa Hokkien atau biasa disebut bahasa Tionghoa yang banyak digunakan didaerah medan. Bahasa Hokkien merupakan bahasa minoritas karena bahasa ini lebih kepada kesukuan seperti bahasa Indonesia yang ada bahasa padang. Dengan menguasai bahasa Hokkien kita dapat memperoleh banyak keuntungan terlebih dalam bidang pekerjaan khususnya di kota Medan. Interpolation Search adalah adalah algoritma pencarian yang lebih efisien daripada algoritma Binary dan Sequential Search. Hal ini dikarenakan algoritma ini tidak perlu menjelajahi setiap elemen dari tabel. Kerugiannya adalah algoritma ini hanya bisa digunakan pada tabel yang elemennya sudah terurut baik menaik (ascending) maupun menurun (descending). Kata kunci : Kamus Penerjemahan, Hokkien , Interpolation Search 1.
Pendahuluan
Bahasa adalah salah satu alat komunikasi bagi manusia untuk saling berinteraksi antar sesama. Bahasa Hokkien adalah bahasa yang dipergunakan oleh sebagian penduduk yang ada di indonesia. Seiring perkembangannya, sampai sekarang ini sumber referensi bahasa ini masih berupa media buku bentuk buku ini mempunyai banyak kelemahan dibanding media elektronik. Bahasa Hokkien atau biasa disebut dengan hokkian merupakan salah satu bahasa Tionghoa yang banyak digunakan di daerah medan selain penggunaan bahasa mandarin yang merupakan bahasa nasional Negara Republik Rakyat Cina, bahasa hokkien merupakan bahasa minoritas karena bahasa ini lebih kepada kesukuan seperti layaknya bahasa Indonesia yang ada bahasa padang, maka bahasa hokkien merupakan salah satu bahasa daerah yang cukup banyak digunakan dalam berkomunikasi. Selain itu Bahasa Hokkien juga banyak digunakan oleh warga negara taiwan, malaysia, singapura, hongkong dan negara-negara Asia lainnya. Pencarian (searching) merupakan suatu pekerjaan yang sering dikerjakan dalam kehidupan sehari – hari. Ada kalanya kita mencari sesuatu dengan tujuan hanya untuk mengetahui apakah data tersebut ada dalam sekumpulan data atau tidak, sementara di lain waktu mungkin kita menginginkan posisi dari data yang dicari tersebut. Dalam ilmu komputer terdapat bermacam – macam algoritma untuk metode pencarian (searching). Beberapa metode pencarian yang pernah dipelajari
adalah metode pencarian linier (Linear / Sequential Search), pencarian biner (Binary Search) dan pencarian interpolasi (Interpolation Search). Masing – masing algoritma memiliki persyaratan dan cara serta waktu pelaksanaan yang berbeda. Pemilihan atas metode pencarian dilakukan berdasarkan keadaan dan keinginan pengguna metode yang biasanya tergantung pada jumlah data, jenis data dan struktur data yang digunakan. Pencarian Interpolation Search mencari kata dengan cara menebak (guess) posisi kata yang dicari dengan menggunakan rumus tertentu. Pencarian Interpolasi hanya dapat dilakukan pada barisan bilangan yang telah diurutkan baik secara menaik (ascending) maupun menurun (descending). Permasalahan utama dalam penelitian ini bagaimana menerapkan metode Interpolation Search dalam merancang aplikasi kamus Indonesia-Hokkien yang nantinya dapat dipakai sebagai bantuan untuk mengerti kata-kata Hokkien dan arti dalam bahasa Indonesia dan sebaliknya kata-kata Indonesia diartikan ke bahasa Hokkien. 2.
Landasan Teori
2.1 Kamus Kamus adalah sejenis buku rujukan yang menerangkan makna kata-kata. Ia berfungsi untuk membantu seseorang mengenal perkataan baru. Selain menerangkan maksud kata, kamus juga mungkin mempunyai pedoman sebutan, asal-usul (etimologi) sesuatu perkataan dan juga contoh penggunaan bagi
Diterbitkan Oleh : STMIK Budi Darma Medan
14
Pelita Informatika Budi Darma, Volume III Nomor : 2 , April 2013
sesuatu perkataan. Untuk memperjelas kadang kala terdapat juga ilustrasi di dalam kamus. Biasanya hal ini terdapat dalam kamus bahasa Perancis. Kata kamus diserap dari bahasa Arab qamus ()ﻗــﺎﻣﻮس, dengan bentuk jamaknya qawamis. Kata Arab itu sendiri berasal dari kata Yunani Ωκεανός (okeanos) yang berarti 'samudra'. Sejarah kata itu jelas memperlihatkan makna dasar yang terkandung dalam kata kamus, yaitu wadah pengetahuan, khususnya pengetahuan bahasa, yang tidak terhingga dalam dan luasnya. Dewasa ini kamus merupakan khazanah yang memuat perbendaharaan kata suatu bahasa, yang secara ideal tidak terbatas jumlahnya[1].
ISSN : 2301-9425
menghitung gaji karyawan atau mencetak rapor murid. Oleh karena itu, algoritma dapat dianggap sebagai beberapa operasi sekuensial (terurut) yang dapat dijalankan oleh sebuah sistem lengkap Turing. Hukum di beberapa negara seperti Amerika Serikat, mengizinkan beberapa algoritma untuk mendapatkan hak paten secara efektif, walaupun kemungkinan tersedianya algoritma tersebut dalam sebuah perwujudan fisik (physical embodiment). Sebagai contoh, sebuah algoritma perkalian mungkin diwujudkan dalam unit aritmatika dalam sebuah mikroprosesor[2]. 2.3 Interpolation Search
2.2 Algoritma Algoritma adalah suatu kumpulan terhingga (finite set) dari instruksi yang terdefinisi dengan baik (well-defined instructions) untuk menyelesaikan beberapa pekerjaan dimana diberikan state awal (initial state) dan akan dihentikan pada saat ditemukan state akhir (end-state) yang dikenal. Algoritma dapat diimplementasikan dalam pembuatan program komputer. Kesalahan dalam merancang algoritma untuk menyelesaikan suatu problema dapat menyebabkan program gagal dalam implementasinya. Konsep dari suatu algoritma sering diilustrasikan dengan mengambil contoh sebuah resep, walaupun banyak algoritma yang jauh lebih kompleks. Algoritma sering memiliki beberapa langkah perulangan (iterasi) atau memerlukan pengambilan keputusan seperti logika (logic) atau perbandingan (comparison) sampai pekerjaan diselesaikan. Menerapkan suatu algoritma secara benar belum tentu dapat menyelesaikan problema. Hal ini dikarenakan adanya kemungkinan algoritma tersebut rusak atau cacat, atau penerapannya tidak cocok (tidak tepat) untuk menyelesaikan problema. Sebagai contoh, sebuah algoritma hipotesis untuk membuat sebuah salad kentang akan gagal jika tidak terdapat kentang. Suatu pekerjaan dapat diselesaikan dengan menggunakan algoritma yang berbeda dengan kumpulan instruksi (set of instructions) yang berbeda dengan perbedaan waktu akses, efisiensi tempat, usaha dan sebagainya. Sebagai contoh, diberikan dua buah resep yang berbeda untuk membuat salad kentang, resep pertama mengupas kulit kentang terlebih dahulu sebelum memasak kentang tersebut, sementara resep lainnya dilakukan dengan langkah yang terbalik, dan kedua resep akan mengulangi kedua langkah tersebut dan akan dihentikan pada saat salad kentang siap untuk dimakan. Algoritma adalah hal yang mendasar untuk komputer dalam memproses informasi, karena sebuah program komputer adalah sebuah algoritma yang memberitahukan kepada komputer langkah – langkah spesifik yang akan dijalankan (dalam urutan spesifik) untuk melakukan pekerjaan tertentu, misalnya
Interpolation Search adalah algoritma pencarian yang lebih efisien daripada algoritma Binary dan Sequential Search. Hal ini dikarenakan algoritma ini tidak perlu menjelajahi setiap elemen dari tabel. Kerugiannya adalah algoritma ini hanya bisa digunakan pada tabel yang elemennya sudah terurut baik menaik (ascending) maupun menurun (descending) Sama seperti Binary, teknik ini hanya dapat dilakukan pada list yang telah ter urut dan berada pada struktur array dan data yang dicari diperkirakan ada di dalam list. Teknik ini menemukan item dengan memperkirakan seberapa jauh kemungkinan item berada dari posisi saat itu dan pencarian berikutnya. Teknik ini juga dilakukan pada list yang sudah terurut dan tidak dalam keadaan teracak[3]. Rumus umum Interpolation Search terdapat pada persamaan berikut:
2.4 Algoritma Interpolation Search 1. 2. 3. 4. 5. 6. 7. 8. 9.
Diterbitkan Oleh : STMIK Budi Darma Medan
Banyaknya record array (k) Nilai awal min = 0 ; max = k-1 Hitung mid = min + ((kunci – k[min])*(max – min))/(k[max] – k[min]) Bandingkan data yang dicari (kunci) dengan data posisi tengah (mid) Jika lebih kecil, proses dilanjutkan dengan posisi max = posisi tengah – 1 Jika lebih besar, proses dilanjutkan dengan posisi min = posisi tengah + 1 Jika data posisi tengah ( mid ) = data yang dicari ( kunci ), maka index = mid, selesai Jika min <= max dan k[mid]=!kunci, maka ulangi langkah 3 Jika k[mid] = !kunci, maka index = -1, selesai.
15
Pelita Informatika Budi Darma, Volume III Nomor : 2 , April 2013
2.5 Pencarian (Searching) Pencarian (searching) merupakan suatu pekerjaan yang sering dikerjakan dalam kehidupan sehari – hari.Tempat pencarian data dengan cara menelusuri data-data tersebut. Tempat pencarian data dapat berupa array dalam memory (pencarian internal) , bisa juga pada file external stroge pencarian external). Ada kalanya pencarian dilakukan dengan tujuan hanya untuk mengetahui apakah data tersebut ada dalam sekumpulan data atau tidak, atau mungkin di lain waktu posisi dari data yang dicari tersebut dibutuhkan untuk keperluan tertentu, atau jika kemunculan data lebih dari satu kali maka semua posisi dan frekuensi kemunculannnya ingin ditampilkan (Rosa A.S, 2010). Pencarian paling sederhana dapat digambarkan sebagai berikut, Misalkan suatu barisan data A[1] … A[n], maka yang menjadi problem adalah apakah X (sembarang data dengan tipe data sama dengan tipe data yang ada dalam barisan A dan biasanya di-input atau sudah diketahui terlebih dahulu) ada di antara A[1] … A[n] atau apakah X ada di dalam atau tidak dengan hasil Boolean benar / salah atau sukses / gagal. Dalam ilmu komputer terdapat bermacam – macam algoritma untuk metode pencarian (searching). Secara garis besar, metode pencarian data dapat dibagi menjadi 2 bagian yaitu : 1. Metode pencarian data tanpa penempatan data seperti, a. Metode pencarian Linier (Linear / Sequential Search). b. Metode pencarian Biner (Binary Search). c. Metode pencarian Interpolasi (Interpolation Search). 2. Metode pencarian data dengan penempatan data seperti, a. Metode pencarian Langsung (Direct Search). b. Metode pencarian Relatif (Hash Search).
ISSN : 2301-9425
60.000 buah. Saat ini, terdapat sekitar 7.000 buah karakter yang digunakan dalam penulisan bahasa Hokkien kontemporer. Banyak sekali karakter Hokkien kontemporer yang tidak digunakan pada zaman dulu, tetapi walaupun demikian, ada juga karakter yang digunakan dari zaman dulu sampai sekarang[4].
3.
Analisa
Simulasi Interpolation Search atau Cara kerja metode Interpolation Search dapat disimulasikan sebagai berikut, dimisalkan kita memiliki data terurut seperti dibawah ini : Tabel 1 : Hokkien-Indonesia
Proses Pencarian : Kunci pencarian ( konversi)? 0 Posisi [index]= (0-0)/(7-0)*(7-0)+0=0 Kode [0]==kunci? Ya => Que xi Absensi
Masing – masing algoritma pencarian memiliki syarat dan cara serta waktu pelaksanaan yang berbeda – beda. Pemilihan atas metode pencarian dilakukan berdasarkan keadaan dan keinginan pengguna metode yang biasanya tergantung pada jumlah data, jenis data dan struktur data yang digunakan.
2.6 Sekilas Tentang Bahasa Hokkien Karakter Hokkien boleh dikatakan sebagai fosil hidup di antara semua sistem penulisan di dunia, karena merupakan sistem penulisan kuno sekaligus sistem penulisan kontemporer. Lebih dari 3.000 tahun yang lalu sejak adanya Jia Gu Wen ( Oracle Bone Inscriptions = huruf / tulisan yang diukir di cangkang kura-kura atau tulang pada Dinasti Shang abad ke-16 sampai dengan abad ke-11 S.M. ) sampai sekarang, jumlah keseluruhan karakter Hokkien telah mencapai
Diterbitkan Oleh : STMIK Budi Darma Medan
Kunci pencarian ( konversi )? 1 Posisi [index]= (1-0)/(7-0)*(7-0)+0=1 Kode [1]==kunci? Ya => mei mei Adik ( P ) Kunci pencarian ( konversi )? 2 Posisi [index]= (2-0)/(7-0)*(7-0)+0=2 Kode [2]==kunci? Ya => zen me yang Bagaimana Kunci pencarian ( konversi )? 3 Posisi [index]= (3-0)/(7-0)*(7-0)+0=3 Kode [3]==kunci? Ya => mei li Cantik Kunci pencarian ( konversi )? 4 Posisi [index]= (4-0)/(7-0)*(7-0)+0=4 Kode [4]==kunci? Ya => zhao
16
Pelita Informatika Budi Darma, Volume III Nomor : 2 , April 2013
Kunci pencarian ( konversi)? 5 Posisi [index]= (5-0)/(7-0)*(7-0)+0=5 Kode [5]==kunci? Ya => Dao Datang
ISSN : 2301-9425
fasilitas baru ketika sistem di analisa, dan design menjadi lebih jelas. Berikut penulis akan membuat diagram Use Case dalam pembuatan kamus Indonesia – Hokkien yaitu :
Kunci pencarian (konversi)? 6 Posisi [index]= (6-0)/(7-0)*(7-0)+0=6 Kode [6]==kunci? Ya => Shi Er Yue Desember Kunci pencarian (konversi)? 7 Posisi [index]= (7-0)/(7-0)*(7-0)+0=7 Kode [7]==kunci? Ya => Ni Engkau/Kamu Kunci pencarian ( konversi )? 9 Posisi [index]= (9-0)/(7-0)*(7-0)+0=9 Kode [9]==kunci ? tidak => kode tidak ada dalam data 3.1 Algoritma Interpolation Search Algoritma adalah suatu kumpulan terhingga (finite set) dari instruksi yang terdefinisi dengan baik (well-defined instructions) untuk menyelesaikan beberapa pekerjaan dimana diberikan state awal (initial state) dan akan dihentikan pada saat ditemukan state akhir (end-state) yang dikenal. Berikut adalah Algoritma dari Interpolation Search yaitu : 1. 2. 3.
9.
Banyaknya record array (k) Nilai awal min = 0 ; max = k-1 Hitung mid = min + ((kunci – k[min])*(max – min))/(k[max] – k[min]) Bandingkan data yang dicari (kunci) dengan data posisi tengah (mid) Jika lebih kecil, proses dilanjutkan dengan posisi max = posisi tengah – 1 Jika lebih besar, proses dilanjutkan dengan posisi min = posisi tengah + 1 Jika data posisi tengah ( mid ) = data yang dicari ( kunci ), maka index = mid, selesai Jika min <= max dan k[mid]=!kunci, maka ulangi langkah 3 Jika k[mid] = !kunci, maka index = -1, selesai.
4.
Perancangan
4. 5. 6. 7. 8.
Gambar 1 : Use Case Diagram Kamus Activity Diagram Activity diagram digunakan untuk menggambarkan system secara keseluruhan dalam bentuk diagram yang sistematis dan sederhana, Activity Diagram Pada dasarnya sering digunakan oleh flowchart. Diagram ini berhubungan dengan diagram Statechart. Diagram Statechart berfokus pada obyek yang dalam suatu proses (atau proses menjadi suatu obyek), diagram Activity berfokus pada aktifitas-aktifitas yang terjadi yang terkait dalam suatu proses tunggal. Jadi dengan kata lain, diagram ini menunjukkan bagaimana aktifitas-aktifitas tersebut bergantung satu sama lain. Diagram Activity dapat dibagi menjadi beberapa jalur kelompok yang menunjukkan obyek yang mana yang bertanggung jawab untuk suatu aktifitas. Peralihan tunggal (single transition) timbul dari setiap adanya activity (aktifitas), yang saling menghubungi pada aktifitas berikutnya. Selain Use Case terdapat sebuah activity diagram yang dibuat untuk menggambarkan aktivitas aplikasi, perhatikan activity diagram dibawah ini:
Use Case dan Activity Diagram Use Case Diagram menggambarkan apa saja aktifitas yang dilakukan oleh suatu sistem dari sudut pandang pengamatan luar. Yang menjadi persoalan itu apa yang dilakukan bukan bagaimana melakukannya. Diagram Use Case dekat kaitannya dengan kejadiankejadian. Kejadian (scenario) merupakan contoh apa yang terjadi ketika seseorang berinteraksi dengan sistem. Diagram Use Case berguna dalam beberapa hal seperti Menjelaskan fasilitas yang ada (requirements). Use Case baru selalu menghasilkan
Diterbitkan Oleh : STMIK Budi Darma Medan
17
Pelita Informatika Budi Darma, Volume III Nomor : 2 , April 2013
2.
ISSN : 2301-9425
Form Hasil penerjemahan Kamus Indonesia – Hokkien
Gambar form dibawah ini menunjukkan terjemahan hasil indonesia – hokkian, untuk terjemahan hokkian – indonesia sama saja tidak ada yang berubah hanya saja yang dimasukkan adalah kata hokkian.
Gambar 2 : Activity Diagram Adapun penjelasannya sebagai berikut: 1. User mengases aplikasi. 2. User memilih jenis terjemahan dari bahasa indonesia atau hokkian 3. User memasukkan teks yang akan diterjemahkan, dan proses translasi dari bahasa akan diproses. 4. Hasil proses translasi akan ditampilkan jika kata terjemahan ada didalam database. 5. Selesai.
Gambar 4 : Hasil Terjemahan Indonesia – Hokkien Kamus hokkian – indonesia yang dirancang tidak lepas dari yang namanya record, record disini berupa kumpulan kata terjemahan dari bahasa indonesia ke hokkian ataupun sebaliknya hokkian ke indonesia, untuk memasukkan informasi tersebut penulis merancangan sebuah form yang bisa digunakan untuk menambah data tersebut, berikut adalah formnya.
5.
6.
Implementasi
1.
Form Aplikasi Kamus Indonesia-Hokkien Aplikasi Kamus Indonesia-Hokkien biasanya digunakan untuk menterjemahkan bahasa Hokkien ke Indonesia ataupun sebaliknya. Untuk pengujian program bisa dilakukan dari visual basic atau dengan menjalankan kamus.exe, penulis menjalankan aplikasi dari kamus.exe, berikut adalah hasil aplikasi ketika dijalankan :
Penutup
6.1 Kesimpulan Berdasarkan hasil pembahasan yang telah dilakukan sebelumnya, maka dapat disimpulkan bahwa : 1. Pada perancangan kamus dapat diperoleh hasil yang diharapkan yaitu software yang dapat menterjemahkan kata atau bahasa IndonesiaHokkien ataupun sebaliknya. 2. Proses penterjemahan dari bahasa Indonesia kebahasa Hokkien bisa dilakukan dengan baik. 6.2 Saran
Gambar 3 : Aplikasi Utama Form diatas adalah aplikasi utama ketika dijalankan, tampak pada gambar diatas informasi yang bisa dimasukkan berupa kata sumber yang bisa di isi kata hokkian atau indonesia dan hasilnya pada hasil terjemahan, seperti pada gambar dibawah ini:
Adapun saran-saran yang dikemukaan adalah sebagai berikut : 1. Dalam pengembangan aplikasi penterjemahan bahasa Hokkien ke Indonesia dan bahasa Indonesia ke Hokkien diharapkan dapat dibangun secara mobile agar aplikasi kamus bisa digunakan kapan dan dimana saja. 2. Diharapkan untuk penelitian berikutnya dapat menambahkan perbendaharaan kata yang ada.
Diterbitkan Oleh : STMIK Budi Darma Medan
18
Pelita Informatika Budi Darma, Volume III Nomor : 2 , April 2013
ISSN : 2301-9425
Daftar Pustaka [1]. http://id.wikipedia.org/kamus. [2]. http://buku.gangsir.com. [3]. http://programmers.stackexchange.com/questions/ /2012/01interpolation-search-vs-binary-search. [4]. http//en.Wikipedia.org.2012\01 Wiki.Hokkien
Diterbitkan Oleh : STMIK Budi Darma Medan
19