Jurnal
ILMU KOMPUTER
Volume 7 Nomor 1, April 2014
Daftar Isi :
PURWARUPA APLIKASI PERANGKAT BERGERAK UNTUK ALIHBAHASA KALIMAT BAHASA INGGRIS KE BAHASA BALI MENGGUNAKAN PENDEKATAN BERBASIS ATURAN ...1-6
Ngurah Agus Sanjaya ER, Agus Muliantara
PENERAPAN JARINGAN SYARAF TIRUAN DALAM PRAKIRAAN HUJAN HARIAN DI DAERAH KUTA SELATAN PROVINSI BALI ...7-11 Ida Bagus Gede Bayu Priyanta, I Gede Santi Astawa
ANALISA HUBUNGAN FREKUENSI DASAR ANTAR BILAH GAMELAN GANGSA PADA HASIL SINTESIS MENGGUNAKAN METODE MODIFIED FREQUENCY MODULATION... 12-15 Dewa Made Sri Arsa, I Made Widiartha, Agus Muliantara
ANALISIS DAN PERBANDINGAN TEKNIK WATERMARKING CITRA DIGITAL
MENGGUNAKAN METODE BLOCK BASED DCT DAN LSB ... 16-23 I Dewa Made Bayu Atmaja Darmawan
PENGEMBANGAN PENGKLASIFIKASI JENIS TANAMAN MENGGUNAKAN PENDEKATAN BACKPROPAGATION DAN NGUYEN-WIDROW ... 24-30 Agus Muliantara, Ngurah Agus Sanjaya ER
PROTOTIPE SISTEM IDENTIFIKASI KUNJUNGAN WISATAWAN DI BALI BERBASIS RFID (RADIO FREQUENCY IDENTIFICATION ) ... 31-41 I Made Widhi Wirawan
SISTEM INFORMASI GEOGRAFIS OBYEK WISATA BALI BERBASIS APLIKASI MOBILE DENGAN REPRESENTASI DATA SPASIAL MENGGUNAKAN XML SVG 42-49 Ida Bagus Gede Dwidasmara
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS UDAYANA
SUSUNAN DEWAN REDAKSI JURNAL ILMU KOMPUTER
Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Udayana
Ketua
Agus Muliantara, S.Kom, M.Kom
Penyunting
Drs. Wayan Santiyasa, M.Si
Ngurah Agus Sanjaya, S.Kom, M.Kom
Cokorda Rai Adi Paramarta, S.T, M.M
Ida Bagus Gede Dwidasmara, S.Kom.M.Cs
Penyunting Tamu
Imas Sitanggang, S.Si, M.Kom (IPB)
Ir. A.A. Gede Raka Dalem, M.Sc (Hons)
Prof. Pieter Hartel (Twente University)
Pelaksana
I Made Widiartha, S.Si, M.Kom
Dra. Luh Gede Astuti, M.Kom
Gede Santi Astawa, ST, M.Cs
Ida Bagus Mahendra, S.Kom, M.Kom
Alamat Redaksi
Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Udayana
Kampus Bukit Jimbaran
–
Badung
Telpon. 0361
–
701805
Email : [email protected]
Website : www.cs.unud.ac.id
Vol. 7, No.1, April 2014 ISSN 1979-5661
PURWARUPA APLIKASI PERANGKAT BERGERAK UNTUK
ALIHBAHASA KALIMAT BAHASA INGGRIS KE BAHASA BALI
MENGGUNAKAN PENDEKATAN BERBASIS ATURAN
aNgurah Agus Sanjaya ER, bAgus Muliantara
Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Udayana email : a[email protected], b[email protected]
ABSTRAK
Bahasa Bali merupakan bahasa ibu untuk masyarakat bali. Kehadiran bahasa bali menjadi ciri khas bahasa pergaulan sehari-hari dilingkungan masyarakat. Seiring berjalannya era globalisasi, eksistensi bahasa bali mulai mengalami penyusutan. Untuk mengantisipasi hal ini diperlukan beberapa terobosan dan inovasi untuk tetap melestarikan bahasa bali ini. Salah satu usaha pelestarian bahasa Bali dapat dilakukan dengan mengalih bahasakan bahasa asing ke bahasa Bali sehingga eksistensi bahasa bali tetap terjaga bahkan orang asing pun dapat mengerti bahasa Bali.
Dalam penelitian ini dilakukan pengembangan aplikasi alih bahasa dari bahasa Inggris ke bahasa Bali dalam perangkat bergerak. Perangkat bergerak menjadi pilihan kebanyakan pengguna karena kelebihannya yang ringkas dan dapat dibawa kemana-mana. Aplikasi ini telah dikembangkan menggunakan perangkat Xcode dan pendekatan berbasis aturan.
Dari uji coba terhadap aplikasi yang telah dibangun didapatkan hasil dimana aplikasi alihbahasa teks dari bahasa Inggris ke bahasa Bali ini memiliki tingkat keberhasilan 73,33%. Tingkat keberhasilan ini sangat dipengaruhi oleh kelengkapan basis data dari bahasa sumber (bahasa Inggris) ke bahasa target (bahasa Bali) dan juga aturan sintaks yang digunakan oleh sistem.
Kata kunci: aplikasi alihbahasa, pendekatan berbasis aturan, Xcode
ABSTRACT
Balinese language is the mother tongue of people in Bali. The people in Bali use Balinese as their day to day language. In this globalization era, the existence of Balinese language is the utmost important thing. Therefore to anticipate this issue, we need some breakthroughs and innovations to preserve the Balinese language. One of the means to preserve Balinese language is by translating foreign languages such as English into Balinese language. Thus, existence of Balinese language in public life remain intact furthermore foreigners can also understand the Balinese.
In this research, we have developed an application for translating English into Balinese in mobile devices. Mobile devices become the choice of most users because of its compactness and can be taken anywhere. This application has been developed using Xcode tools and rules based approach .
The experimental results show that it reaches 73,33% accuracy in translating English to Balinese language. The success rate is greatly influenced by the completeness of the database from the source language (English) into the target language (Balinese) and also syntax rules used by the system.
Keywords : translation applications, rule based approach, Xcode
PENDAHULUAN
Bahasa merupakan ciri khas yang merupakan identitas dari suatu daerah yang membedakannya dengan daerah lain. Menurut penelitian yang dilakukan oleh Pusat Bahasa Depdiknas, sampai dengan tahun 2009 terdapat sekitar 746 bahasa daerah di Indonesia. Angka tersebut dapat terus bertambah karena penelitian masih
berlanjut sampai dengan sekarang. Akan tetapi, dari penelitian yang sama juga disebutkan bahwa ada beberapa bahasa yang telah punah karena sudah tidak dipergunakan lagi.
ER,Muliantara,Purwarupa…2
Bali dapat punah jika tidak ada upaya untuk melestarikannya. Di sekolah-sekolah, baik swasta maupun negeri, semua siswa diwajibkan untuk mempelajari bahasa Bali sebagai salah usaha untuk melestarikan bahasa Bali itu sendiri. Disamping itu usaha pelestarian bahasa Bali dapat pula dilakukan dengan mengalihbahasakan bahasa asing ke bahasa Bali sehingga orang asing pun dapat mengerti bahasa Bali.
Bahasa Inggris merupakan salah satu bahasa asing yang juga merupakan bahasa internasional yang dapat dialihbahasakan ke dalam bahasa Bali. Disamping itu bahasa Inggris juga digunakan oleh sebagian besar wisatawan mancanegara yang datang ke Bali untuk berkomunikasi. Dengan adanya alihbahasa bahasa Inggris ke bahasa Bali, maka tidak saja bahasa Bali dapat dilestarikan tapi juga meningkatkan minat wisawatan datang ke Bali karena mereka dapat dengan mudah mempelajari bahasanya.
Penelitian-penelitian mengenai alihbahasa telah banyak dilakukan di Indonesia antara lain alihbahasa bahasa Inggris ke bahasa Jawa (Wikantyasning, 2005); alihbahasa bahasa Inggris ke bahasa Indonesia oleh Utami dan Hartati (Utami, 2007). Semua penelitian yang disebutkan sebelumnya menggunakan pendekatan berbasis aturan (rule based) untuk menghasilkan alihbahasa dari satu bahasa ke bahasa lainnya. Namun demikian, dari sekian banyak penelitian tersebut belum ada yang menggunakan bahasa Bali sebagai obyek.
Alihbahasa dari bahasa Inggris ke bahasa Bali ini akan semakin diterima oleh penggunanya jika dikembangkan ke dalam perangkat bergerak. Perangkat bergerak menjadi pilihan kebanyakan pengguna karena kelebihannya yang ringkas dan dapat dibawa kemana-mana. Teknologi sistem operasi untuk perangkat bergerak memungkinkan perangkat itu dilengkapi dengan berbagai macam aplikasi. Semakin populernya perangkat bergerak menyebabkan pengembang aplikasi berupaya untuk mengembangkan berbagai macam aplikasi yang berguna.
Dari latar belakang yang dijelaskan sebelumnya maka pada penelitian kali ini akan dikembangkan suatu purwarupa aplikasi untuk perangkat bergerak yang dapat mengalihbahasakan kalimat bahasa Inggris ke dalam bahasa Bali menggunakan pendekatan berbasis aturan.
NATURAL LANGUAGE PROCESSING
Natural language processing (NLP) merupakan salah satu turunan dari ilmu kecerdasan buatan (artificial intelligence). NLP merupakan percobaan untuk mendapatkan representasi arti dari teks bebas yang lebih lengkap (Kao, 2007). Dengan kata lain, percobaan ini dilakukan untuk mengetahui siapa melakukan apa terhadap siapa, kapan, dimana, bagaimana dan kenapa. NLP biasanya menggunakan konsep linguistik seperti kelas kata (part-of-speech) yang meliputi kata benda (noun), kata kerja (verb), kata sifat (adjective) dan lain sebagainya. Selain itu digunakan pula struktur tata bahasa seperti frase nomina (noun-phrase), frase preposisi (prepositional phrase) atau relasi ketergantungan lainnya seperti subyek dari atau obyek dari. Disamping itu NLP juga harus memperhatikan anafora (kata benda apa yang bersesuaian dengan kata ganti atau frase merujuk kembali) dan ambiguitas (kata yang dapat memiliki lebih dari satu arti). Untuk dapat melakukan ini, NLP menggunakan berbagai macam representasi pengetahuan seperti kosa kata dan pengertiannya, properti tata bahasa dan sekumpulan aturan tata bahasa dan sumber lainnya seperti sinomim atau singkatan. SISTEM ALIH BAHASA BERBASIS ATURAN
Salah satu aplikasi dari NLP adalah sistem alihbahasa atau machine translation
(Barkade dkk, 2010). Menurut Fromken (Fromkin dkk, 2003), tujuan utama dari sistem alihbahasa ini adalah untuk menerima masukan berupa kalimat dari suatu bahasa sumber (source language) dan memberikan keluaran yang memiliki arti dalam bahasa tujuan (target language). Fromken juga menyatakan bahwa dalam perkembangannya, sistem alihbahasa tidak hanya terbatas pada teks tapi juga digunakan untuk ucapan (speech) dari bahasa sumber ke bahasa tujuan. Selain itu, penelitian lain dalam sistem alihbahasa juga mencoba melakukannya dari ucapan ke dalam teks maupun sebaliknya.
3 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.1-6
menggunakan satu kumpulan aturan-aturan yang diuraikan secara lengkap untuk mendapatkan terjemahan yang sesuai dalam bahasa tujuan.
Menurut Arman (Arman, 2007), tidak ada standarisasi baku untuk mebuat aturan-aturan pada sistem alihbahasa berbasis aturan. Aturan-aturan tersebut umumnya dinyatakan berupa pernyataan “jika ... maka” (“if ... then”). Contoh aturan pada penelitian yang dilakukan oleh Armn untuk alihbahasa bahasa Inggris ke bahasa Indonesia adalah sebagai berikut:
Untuk kata kerja dalam kalimat present continuous (contoh: is studying, are walking, am learning) adalah <To_be> <Verb_ing> --> <sedang> <Verb>. Untuk frase nomina yang menggunakan
kata sifat sebagai informasi (contoh: black hat, red box) adalah <Adj><Noun> --> <Noun><Adj>.
Untuk mendapatkan terjemahan lengkap dari bahasa Inggris ke bahasa Indonesia maka aturan-aturan seperti pada contoh di atas dibuat untuk semua jenis kalimat yang ada pada tata bahasa dalam bahasa Inggris. Hal ini tentu saja memerlukan waktu yang cukup panjang untuk menerjemahkan semua jenis kalimat ke dalam aturan-aturan yang sesuai. Akan tetapi menurut Barkade (Barkade dkk, 2010), jika aturan-aturan tersebut telah dibuat secara lengkap maka pendekatan berbasis aturan ini terbukti efektif.
XCODE
Xcode merupakan suatu Integrated
Development Environment (IDE) yang
berisikan alat pengembangan perangkat lunak yang dibangun oleh Apple. Xcode digunakan oleh para pengembang perangkat lunak untuk membuat aplikasi yang dapat berjalan pada sistem operasi Mac OS X dan iOS. Xcode pertama kali diperkenalkan pada tahun 2003 dan versi terakhir yang stabil adalah 4.6. Xcode dibangun berdasarkan Project Builder. Project Builder sendiri merupakan IDE yang awalnya dikembangkan oleh NeXT untuk sistem operasi NeXTSTEP. IDE dari Project Builder ini kemudian diperbarui dan mendapatkan beberapa fitur tambahan seperti ZeroLink, Fix & Continue, dukungan pengembangan terdistribusi dan pengindeksan Code Sense. Sejak diperkenalkan pertama kali ke kalangan pengembang aplikasi, Xcode mendapatkan sambutan yang sangat baik terbukti dengan
jumlah aplikasi yang telah mencapai lebih dari 1 juta aplikasi di App Store milik Apple. Disamping itu, dengan semakin bertambahnya pengguna perangkat bergerak menjadikan Xcode sebagai lingkungan pengembangan aplikasi perangkat bergerak yang sangat menguntungkan.
DESAIN SISTEM 1. Use Case Diagram
Use case diagram menggambarkan
fungsionalitas yang diharapkan dari suatu sistem. Fungsionalitas dari sistem yang dikembangkan dapat dilihat seperti pada Gambar 1 Sistem Pengguna Memberikan kalimat masukan Memindai <include> Melakukan parsing <extends> Admin Menerjemahkan <include> Menambah kata ke kamus Menambah aturan
Gambar 1. Use Case Diagram dari Sistem Interaksi terhadap sistem dilakukan oleh dua orang aktor yaitu pengguna dan admin. Pengguna berinteraksi ke sistem dengan cara memberikan masukan berupa kalimat dalam bahasa Inggris. Sistem kemudian akan melakukan pemindaian terhadap kalimat masukan untuk mendapatkan kata-kata. Sebelum dilakukan proses parsing (untuk mendapatkan struktur sintaks) maka kata-kata tersebut diubah terlebih dahulu ke dalam bentuk tunggal (jika merupakan benda yang jamak) dan dipastikan bahwa kata tersebut terdapat dalam basis data. Selanjutnya proses parsing akan memberikan keluaran berupa struktur sintaks dari kalimat masukan yang akan diterjemahkan ke dalam bahasa Bali.
2. Activity Diagram
Activity diagram digunakan untuk
ER,Muliantara,Purwarupa…4
A. Proses Pemindaian
Pengguna Sistem Kamus Kata
Memasukkan kalimat bahasa Inggris
Memeriksa spasi di antara
token Mengubah kontraksi Mengubah ke bentuk token Mengubah ke bentuk kata tunggal Mengambil kata Memeriksa ketersediaan kata Menampilkan keterbatasan kata Memeriksa jenis kalimat masukan Menampilkan pesan kesalahan Mendapatkan jenis masukan Mengembalikan hasil ke proses
parser
Tidak ada Ada
Mengembalikan hasil ke proses alihbahasa Tidak tersedia Tersedia Tidak sesuai Sesuai
Gambar 2. Activity Diagram Proses Pemindaian
Pengguna memberikan masukan berupa kalimat dalam bahasa Inggris ke dalam sistem. Sistem kemudian akan memeriksa apakah masukan mengandung spasi atau tidak. Jika tidak ditemukan spasi maka masukan adalah berupa kata dan langsung diteruskan ke proses alihbahasa. Jika terdapat spasi maka kalimat akan dipecah menjadi token dengan spasi sebagai pemisah. Kontraksi dalam bahasa Inggris seperti “I’m” akan diubah menjadi “I am”. Masing-masing token diubah menjadi kata dan kata benda jamak akan diubah ke kata benda tunggal. Selain itu kata-kata tersebut juga dipastikan apakah ada dalam basis data atau tidak. Terakhir, dilakukan pemeriksaan terhadap susunan kata untuk menentukan apakah kalimat masukan adalah dalam bentuk simple present tense.
B. Proses Parsing
Token-token yang didapat dari proses pemindaian pada tahapan ini akan dihilangkan tanda bacanya. Setelah itu dianalisa untuk menentukan apakah terdapat bentuk “to inf” ataupun “gerund”.
Pengguna Sistem Aturan Kamus Kata
Mengambil token Menghapus tanda baca Menganalisa "to inf" dan "gerund" Memeriksa semua aturan <NP> Mencocokan POS kata dan aturan Tidak sesuai Sesuai Memeriksa semua aturan <PP> Mencocokan POS kata dan aturan Tidak sesuai Sesuai Memeriksa semua aturan <VP> Mencocokan POS kata dan aturan Tidak sesuai Sesuai Memeriksa aturan kalimat positif Mencocokan POS kata dan aturan Tidak sesuai Sesuai Menampilkan kesalahan parsing Mendapatkan struktur frase Mendapatkan struktur kalimat
Gambar 3. Activity Diagram Proses Parsing Selanjutnya pencarian sintaks yang sesuai dilakukan secara top down depth first
dengan membandingkan urutan kata dari kalimat masukan dengan aturan-aturan sintaks yang telah disimpan dalam basis data.Keluaran dari proses ini adalah berupa aturan sintaks yang sesuai untuk masukan dari pengguna dan satuan bahasa dari masukan tersebut (frase atau kalimat). C. Proses Alihbahasa
Untuk masukan yang berupa kata, akan langsung diambil terjemahannya dari kamus dan ditampilkan ke pengguna. Sedangkan untuk kalimat akan dihilangkan terlebih dahulu kata artikel seperti “the”, “a” dan
5 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.1-6
Sistem Aturan Kamus Kata
Mengambil hasil parsing Menganalisa kalimat masukan Bukan kata Kalimat Memeriksa pola MD Frase Tidak ditemukan Menghilangkan kata artikel Mengubah pola MD ke DM
Mengambil kata Menerjemahkan Menampilkan terjemahan Pengguna Kata Ditemukan
Gambar 4. Activity Diagram Proses Alihbahasa
3. Class Diagram
Class diagram menggambarkan struktur
objek-objek pada sistem. Pada aplikasi yang dikembangkan digunakan empat buah class
yaitu Translate, C_Scanner, C_Parsing dan
C_Translator. Class Translate merupakan
controller dari class lainnya (dependency).
Gambar 5 memperlihatkan secara jelas class
diagram dari sistem.
+teks: String +input() Translate +prepos(teks) +check_word(teks) -contraction(teks) -be_going_to(teks) +to_singular(teks) +check_tenses(teks) +scan(teks) +teks: String C_Scanner
+parent(teks, jenis, tenses) -_node(rule, word, result) -_match(node, word) +result: String
C_Parser
+primary_translator(hasil, jenis, tense) -analize_sentence(hasil, jenis, tense) -reorder(hasil) -remove_article(hasil) -translate(hasil) +hasil: String +jenis: String +tense: String C_Translator
Gambar 5. Class Diagram Sistem
4. Implementasi Xcode
Koneksi ke web service menggunakan potongan code berikut:
Gambar 6. Implementasi Koneksi ke Web Service
Jika koneksi ke web service berhasil dilakukan maka aplikasi akan mengembalikan keluaran berupa alihbahasa teks masukan dalam bahasa Inggris menjadi bahasa Bali dan jika tidak maka akan dimunculkan pesan kesalahan. Potongan code untuk fungsi tersebut dapat dilihat pada Gambar 7.
Gambar 7. Implementasi Keluaran
- (BOOL)textFieldShouldReturn {
NSLog(@"translate word : %@", self.textField.text); // Start Request
NSString *enWord = self.textField.text;
NSURL *apiUrl = [NSURL
URLWithString:@"http://localhost/translate/index.php/translator/execut e"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:apiUrl];
[request setPostValue:enWord forKey:@"en"]; [request setDelegate:self];
[request startAsynchronous]; // Hide keyword
[self.textFieldresignFirstResponder]; // Clear text view
[self.webViewloadHTMLString:@""baseURL:nil]; MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.viewanimated:YES]; hud.labelText = @"Translating..."; returnTRUE;}
- (void)requestFinished:(ASIHTTPRequest *)request
{
[MBProgressHUDhideHUDForView:self.viewanimated:YES];
NSLog(@"ResponseStatusCode: %d",
request.responseStatusCode);
//NSMutableString *html = [NSMutableString stringWithString:@""];
NSString *html = nil;
if (request.responseStatusCode == 200) {
NSString *responseString = [request responseString];
NSDictionary *responseDict = [responseString JSONValue];
//NSString *src = [responseDict objectForKey:@"src"];
NSString *result = [responseDict objectForKey:@"result"]; NSString *error = [responseDict objectForKey:@"error"];
if(error) { // error result
html = [NSStringstringWithFormat:@"%@",error]; } else {
// result ok
html = [NSStringstringWithFormat:@"%@",result]; } } else {
html = @"Unexpected error"; }
[self.webViewloadHTMLString:html baseURL:nil];}
- (void)requestFailed:(ASIHTTPRequest *)request
{
[MBProgressHUDhideHUDForView:self.viewanimated:YES];
NSError *error = [request error];
[self.webViewloadHTMLString:error.localizedDescription baseURL:nil];
ER,Muliantara,Purwarupa…6
5. Implementasi antarmuka
Dalam tahapan ini telah dibuat sebuah desainantar muka sebagai antar muka user dengan sistem yang telah dibangun. Implementasi tampilan depan aplikasi ini adalah sebagai berikut dapat dilihat pada gambar 8.
UJI COBA SISTEM
Pengujian sistem dilakukan dengan memberikan masukan berupa 50 buah kalimat dalam bentuk simple present tense. Masukan yang digunakan dalam pengujian ini dapat dilihat pada lampiran 1. Dari 30 buah masukan tersebut sistem mampu memberikan keluaran berupa alihbahasa ke dalam bahasa Bali sebanyak 22 buah. Tingkat keberhasilan dari sistem untuk melakukan alihbahasa adalah sebesar 73,33%
Gambar 8. Tampilan Aplikasi
SIMPULAN
Dari hasil uji coba dapat disimpulkan bahwa aplikasi alihbahasa teks dari bahasa Inggris ke bahasa Bali memiliki tingkat keberhasilan 73,33%. Tingkat keberhasilan ini sangat dipengaruhi oleh kelengkapan basis data dari bahasa sumber (bahasa Inggris) ke bahasa target (bahasa Bali) dan aturan sintaks yang digunakan oleh sistem.
DAFTAR PUSTAKA
Anom, K. (1993). Tata Bahasa Bali (Edisi 2). Denpasar: PT. Upada Sastra. Arman, A. A. (2007). “Design of Context
Sensitive Dictionary as part of Computer Based Language Translator”. Proceedings of the
International Conference on
Electrical Engineering and
Informatics Institut Teknologi
Bandung. 520-523.
Azar, B. S. (1992). Understanding and
Using English Grammar (2nd
Edition). New Jersey: Prentice Hall. Barkade, Ms. Vaishali, M. (2010). “English
to Sanskrit Machine Translator Lexical Parser”. International Journal on Computer Science and Engineering. 2, (6), 2084-2091. Francisca, J., Mia, M., Rahman, M. (2011).
“Adapting Rule Based Machine Translation from English to Bangla”.
Indian Journal of Computer Science and Engineering (IJCSE). 2, (3), 334-342.
Fromkin, V., dkk. (2003). An Introduction to
Language (7th Edition). United
States: Thomson.
Kamatani, S., Chino, T., Sumita, K. (2009). “Hybrid Spoken Language Translation Using Sentence Splitting Based on Syntax Structure”. MT Summit XII. 57 - 64.
Kao, A., Poteet, S. R. (2007). Natural
Language Processing and Text
Mining. USA: Springer.
McCallum, A. (2007). “Introduction to Natural Language Processing”. Computer Science Department, University of Massachusetts Amherst: tidak diterbitkan.
Tinggen, I. N. (1993). Tata Basa Bali Wredi (Sintaksis Bali) (Edisi 1). Singaraja: Indra Jaya.
Sancaya, W. (1990). Bahasa dalam Karya
Sastra Geguritan. Denpasar:
Universitas Udayana.
Suciadi, J. (2001). “Studi Analisis Metode -Metode Parsing dan Interpretasi Semantik pada Natural Language Processing”. Jurnal Informatika. 2, (1), 13-22.
Utami, E. Hartati, S. (2007). “Pendekatan Metode Rule Based dalam Mengalihbasakan Teks Bahasa Inggris ke Teks Bahasa Indonesia”.
Jurnal Informatika. 8, (1), 42-53. Wikantyasning, N. (2005). Penerjemah
Inggris – Jawa Bagi Siswa Asing
Menggunakan Metode Rule Based.
Vol. 7, No.1, April 2014 ISSN 1979-5661
PENERAPAN JARINGAN SYARAF TIRUAN DALAM PRAKIRAAN HUJAN
HARIAN DI DAERAH KUTA SELATAN PROVINSI BALI
Ida Bagus Gede Bayu Priyanta, I Gede Santi Astawa
Jurusan Ilmu Komputer, FMIPA, Universitas Udayana E-mail :[email protected]
Abstrak
Prakiraan cuaca harian dapat dipengaruhi oleh beberapa faktor, yaitu pada suhu udara (temperatur), curah hujan (endapan), kelembapan udara (humidity), tekanan udara, serta arah dan kecepatan angin. Jaringan Syaraf Tiruan (JST) merupakan algoritma yang secara umum sangat baik dalam permasalahan pengenalan pola. JST bekerja dengan menirukan jaringan syaraf manusia yang secara umum terdiri dari jutaan simpul, dan setiap simpul dapat menyimpan informasi-informasi khusus untuk membentuk sebuah tujuan dari sistem syaraf tersebut. Sehingga jumlah simpul (neuron) yang optimal pada sebuah jaringan JST sering menjadi pertanyaan yang mendasar. Dari penelitian yang dilakukan, algoritma JST untuk prakiraan cuaca di wilayah Kuta Selatan, Bali yang dirancang memiliki sebuah layer tersembunyi, memiliki nilai RMSE yang terkecil ketika jumlah neuron pada lapisan tersembunyi berjumlah 8 neuron. Nilai RMSE ini didapatkan saat jaringan mempelajari data peramalan tahun 2012 dan tahun 2013, dengan nilai RMSE 0,098. Dan dari hasil pengujian menggunakan data peramalan di tahun 2014, didapatkan akurasi jaringan JST tersebut mencapai nilai 72,45%
Kata Kunci : Prakiraan cuaca, JST, Neuron
Abstract
Daily weather forecast can be influenced by several factors, namely the temperature of the air (temperature), rainfall (sediment), humidity of the air (humidity), air pressure, and wind speed and direction. Artificial Neural Network (ANN) algorithm is generally very good at pattern recognition problems. JST works simulate human neural networks generally consist of millions of vertices, and each node can keep a information for the purpose of forming a neural system is. As the number of vertices (neurons) in an optimal network ANN has always been a fundamental question. From the analysis done, the ANN algorithm to forecast the weather in the province of South Kuta, Bali planned has a hidden layer, has the smallest RMSE when the number of neurons in the hidden layer of 8 neurons. RMSE values are obtained when the network learned forecasting data of 2012 and 2013, with the RMSE 0.098. And the test results using data prediction in 2014, obtained the accuracy of the ANN network reaches 72.45% Key word : forecast, ANN, Neuron
PENDAHULUAN 1. Latar Belakang
Di daerah pariwisata seperti Bali, kapan saja merupakan waktu yang tepat untuk berwisata dan menghabiskan waktu bersama keluarga. Penghasilan terbesar para penyedia lokasi wisata adalah ketika lokasi mereka dikunjungi banyak turis. Lokasi wisata bias saja menjadi sepi pengunjung ketika hujan turun. Hal ini yang menyebabkan banyaknya permintaan akan ramalan hujan setiap harinya di BMKG wilayah III. Prakiraan hujan harian menggunakan data satu hari yang lalu untuk meramal cuaca satu hari kedepan. Prakiraan hujan harian ini mengandalkan pengalaman forecaster dalam membaca pola data curah hujan arah angin dan
kelembapan udara serta beberapa unsur cuaca lainnya. Seiring berkembangnya teknologi, peluang teknologi informasi (TI) untuk merambah ke semua bidang sangat besar. Pada bidang meteorologi misalnya dapat diaplikasikan algoritma pengenalan pola seperti jaringan syaraf tiruan sebagai algoritma dalam pembuatan system pendukung keputusan prakiraan hujan harian.
Priyanta, Astawa, Penerapan…8
antara faktor-faktor yang mempengaruhi cuaca berdasarkan data-data yang pernah terjadi, JST dikenal dengan kemampuan beradaptasi yang sangat bagus, mempunyai toleransi kesalahan yang tinggi sehingga dapat diaplikasikan pada data yang bersifat noisy. Yuniar, S., & Setyawati, 2013 melakukan prakiraan cuaca di Bandara Abdurahman Saleh dengan menggunakan algoritma JST dan menghasilkan nilai Mean
Square Error terbaik pada prakiraan cuaca tahun
2011. Begitu pula penelitian Pangestuti, D., & Ridok, 2013 yang menunjukkan kesuksesan pelatihan JST yang dirancangnya pada prakiraan cuaca di kota Malang mencapai nilai akurasi 79,6%. Namun dalam penelitian-penelitian tersebut belum dikemukakan bagaimana pengaruh jika jumlah neuron yang pada lapisan tersembunyi ditambah, apakah jumlah neuron pada layer tersembunyi dapat mempengaruhi hasil pelatihan JST. Selanjutnya dilakukan penelitian penggunaan algoritma JST pada prakiraan cuaca dengan mengambil studi kasus wilayah kuta selatan. Dalam penelitian ini juga akan dilakukan analisis statistik (SPSS) dalam pemilihan tiga fitur yang berpengaruh paling signifikan dalam perubahan jumlah curah hujan di daerah kuta selatan provisnsi Bali.
2. Identifikasi Masalah
JST bekerja dengan menirukan jaringan syaraf manusia yang secara umum terdiri dari jutaan simpul, dan setiap simpul dapat menyimpan informasi-informasi khusus untuk membentuk sebuah tujuan dari sistem syaraf tersebut. Sehingga jumlah simpul (neuron) yang optimal pada sebuah jaringan JST sering menjadi pertanyaan yang mendasar. Disamping itu dari beberapa referensi, peneliti belum menemukan teori mengenai jumlah layer tersembunyi maupun jumlah neuron pada layer tersembunyi yang baik. Sehingga tujuan dari penelitian ini adalah untuk mengetahui pengaruh jumlah node dalam satu
hidden layer pada kasus prakiraan cuaca di
wilayah Kuta Selatan, Bali. TINJAUAN PUSTAKA 1. Jaringan Syaraf Tiruan
Menurut (Peterson & Rognvaldsson, 1991) pada jurnalnya yang berjudul An Introduction to
Artificial Neural Network, jaringan syaraf tiruan
memiliki tiga lapisan utama yaitu lapisan input,
hidden dan output. Ketiga lapisan ini
dihubungkan dan setiap data yang berpindah harus melewati jalur yang memiliki nilai bobot. Perhitungan akhir akan menghasilkan nilai pada lapisan output. Input Layer atau lapisan masukan
adalah lapisan yang akan menangani seluruh parameter yang akan digunakan. Parameter ini dapat berbentuk bilangan asli ataupun bilangan biner (0 dan 1) dan bipolar (1, 0 dan -1). Lapisan input ini akan mengirimkan nilai menuju lapisan tersembunyi dengan melewati masing-masing bobot untuk diproses lebih lanjut. Lapisan input memiliki node sejumlah dengan parameter yang ditetapkan, jadi masing-masing node akan memuat satu nilai dari parameter yang diwakilinya. Hidden Layer atau layer tersembunyi berfungsi sebagai penambahan operasi logika dalam jaringan syaraf tiruan. Jumlah hidden layer mengakibatkan bertambahnya proses komputasi yan terjadi didalam sistem jaringan namun tidak menjamin meningkatkan kemampuan jaringan dalam melakukan proses pembelajaran.
Masing-masing lapisan (input, hidden dan
output) akan memiliki node masing-masing.
Jumlah node pada lapisan input akan berbeda dengan jumlah node pada lapisan output. Hal ini dikarenakan jumlah node pada lapisan input akan mengikuti jumlah parameter atau fitur yang digunakan. Sementara jumlah node pada lapisan output akan menyesuaikan dengan jumlah keluaran yang diinginkan. Output Layer
merupakan lapisan yang mengeluarkan hasil akhir dari perhitungan dalam jaringan. Lapisan ini mengeluarkan nilai, nilai ini dapat berupa bilangan biner atau bipolar.
2. Prakiraan Hujan Harian
Banyak hal yang mempengaruhi perubahan cuaca yang terjadi di sekitar kita. Menurut Bayong (Tjasyono, 2004) ada beberapa hal yang dapat mempengaruhi unsur yang berperan di dalam terjadinya perubahan cuaca sehari-hari yaitu radiasi matahari, daerah darat dan perairan, selang tekanan tinggi dan rendah, massa udara, pegunungan, arus laut dan badai siklonik. Hal-hal tadi akan memberikan pengaruh pada unsur cuaca yaitu pada suhu udara (temperatur), curah hujan (endapan), kelembapan udara (humidity), tekanan udara, serta arah dan kecepatan angin. Bagan pengaruh dari kendali iklim terhadap unsur iklim sehingga menghasilkan jenis cuaca ditunjukkan pada gambar 1.
Gambar 1. Hubungan Unsur Iklim dengan Kendali Iklim
9 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.7-11
Temperatur udara atau suhu udara merupakan salah satu unsur cuaca yang mengambil andil besar dalam mempengaruhi perubahan cuaca di permukaan bumi. Menurut buku Klimatologi (Tjasyono, 2004) untuk mendapatkan suhu udara dalam satu hari dapat menggunakan persamaan untuk mencari rata-rata seperti yang diuraikan pada persamaan .
T= …...………(1) Suhu udara dikatakan sangat berpengaruh karena suhu udara memicu terjadinya penguapan air di permukaan bumi ke atmosfer.
Tekanan udara merupakan berat sebuah kolom udara persatuan luas di atas sebuah titik (Tjasyono, 2004). Tekanan udara biasanya berbanding terbalik dengan ketinggian. Semakin tinggi dari permukaan bumi maka tekanan akan semakin rendah dikarenakan udara yang berada di permukaan bumi mendapat tekanan dari massa udara yang ada pada ketinggian yang lebih tinggi. Pada bidang forecasting, jika terjadi perubahan tekanan yang signifikan dalam satu hari maka dipastikan akan turun hujan. Tekanan udara juga mengambil peran terhadap perubahan dan kecepatan arah angin.
Udara dapat berubah menjadi uap air dalam beberapa bentuk yang berbeda. Uap air dapat terbentuk sebagai embun jika udara berada diatas titik beku dan dibawah titik embun. Udara dapat menjadi embun akibat terkena suhu udara dingin pada malam hari akibat hilangnya radiasi matahari. Uap air juga dapat terbentuk sebagai kabut. Secara struktur kabut dan awan tidak berbeda jauh, perbedaan terjadi dalam proses pembentukan dan lokasi terjadinya (Tjasyono, 2004). Kabut terjadi jika banyak embun yang terbentuk di permukaan bumi sehingga menyebabkan adanya butir air yang mengapung di permukaan bumi. Kabut dapat dibedakan berdasarkan efek jarak pandangnya (Tjasyono, 2004), penggolongan kabut dapat dilihat pada tabel 1.
Sumber : Klimatologi (Tjasyono, 2004)
Tabel 1 Penggolongan kabut berdasarkan jarak pandang
Golongan Benda tidak terlihat pada jarak
Kabut Padat 45 m
Kabut Tebal 180 m
Kabut 450 m
Kabut Sedang 900 m Kabut Tipis 1800 m
Sementara awan merupakan titik air yang terbentuk jika udara menjadi dingin secara adiabatik melalui udara yang naik dan mengembang. Banyaknya awan di langit dapat dihitung dengan menggunakan persen namun pada BMKG dinyatakan dengan perdelapanan. Jadi langit akan dibagi menjadi delapan dan akan dihitung berapa bagian langit yang tertutup awan, semisal langit penuh dengan awan maka akan dinyatakan dengan skala 8/8. Jika langit cerah maka akan dinyatakan dengan skala 0/8.
METODELOGI PENELITIAN 1. Pemilihan Fitur
Fitur yang disediakan dalam dataset
Ogimet.com adalah temperature udara
maksimum, temperature udara minimum, temperature udara rata-rata, titik embun, kelembaban udara, arah dan kecepatan angin, jumlah total awan dilangit, intensitas cahaya matahari, curah hujan, tekanan udara permukaan serta jarak pandang. Pada penelitian ini akan dipilih fitur yang paling signifikan. Pemilihan fitur didasari proses analisa statistik yang dilakukan dengan menggunakan dataset selama dua tahun. Analisa statistik yang digunakan adalah analisa regresi linear berganda untuk mengetahui pengaruh suatu variable terhadap nilai variable lainnya, dalam hal ini variable tujuan adalah curah hujan. Dari hasil analisa menggunakan data selama dua tahun (2013 dan 2012) dengan bantuan aplikasi SPSS akan dicari formula untuk menentukan jumlah curah hujan yang terjadi berdasarkan 11 faktor diatas. Formula yang akan dihasilkan memiliki notasi dasar sebagai berikut :
11 10 9 8 7 6 5 4 3 2 1
039
,
0
294
,
0
948
,
0
814
,
1
699
,
0
071
,
0
993
,
0
88
,
3
229
,
5
449
,
0
581
,
0
99
,
596
x
x
x
x
x
x
x
x
x
x
x
Y
Dari persamaan tadi dapat dilihat variabel yang memiliki tingkat signifikansi paling tinggi (baik bernilai positif maupun negaitif) adalah variabel X3, X4, dan X8. X3 merupakan suhu rata-rata (Temp avg.) kemudian X4 merupakan titik embun rata-rata (Td avg.) dan X8 adalah jumlah awan.
2.
Perancangan Struktur Jaringan
Syaraf Tiruan
Priyanta, Astawa, Penerapan…10
dengan satu hidden layer, satu input layer dan satu output layer.
Gambar 2. Struktur dasar jaringan syaraf tiruan
Pada tiap-tiap layer akan terdapat node. Jumlah
node pada input layer sesuai dengan jumlah fitur
yang akan digunakan yaitu sebanyak tiga fitur. Jumlah node pada output layer adalah satu karena akan menandakan kelas 1 dan 0 saja. Jumlah
node pada hidden layer bersifat dinamis. Struktur dasar JST yang akan digunakan dapat dilihat pada gambar 7.1. Jumlah node pada hidden layer
dimulai dari 4 buah dan akan bertambah setelah mendapatkan satu solusi optimal hingga berjumlah 10 node.
3.
Akurasi Sistem
Akurasi merupakan ketepatan sistem dalam meramal secara keseluruhan. Seperti yang telah dijelaskan oleh The Centre for Australian
Weather and Climate Research, untuk melakukan
verifikasi prakiraan cuaca dapat menggunakan beberapa persamaan Thread Score (ketepatan sistem dalam meramal terjadinya hujan). Thread
Score dapat dihitung menggunakan persamaan (3). Bias merupakan penanda karakteristik sistem , dimana jika index bias > 1 artinya sistem over
forecast atau cenderung mengatakan hujan
sementara jika index bias < 1 artinya sistem
under forecast atau cenderung mengatakan cerah.
Index bias dapat dihitung menggunakan persamaan (4).
i i i
i
alarms false misses
hits
hits
TS
...(3)
i i
i i
misses hits
alarms false hits
bias
.………..(4)
HASIL DAN PEMBAHASAN
Dengan menerapkan jaringan JST yang memiliki jumlah neuron pada lapisan tersebunyi sebanyak
1, 2, 3, sampai 10, didapatkan data RMSE pada proses pelatihan seperti gambar 3.
Gambar 3. Hasil RMSE pelatihan JST dengan 10 tipe jumlah neuron
Dari data RMSE yang terjadi pada proses pelatihan, dapat ditarik sebuah kesimpulan bahwa RMSE terbaik dimiliki oleh jaringan JST dengan 8 neuron pada lapisan tersembunyi yaitu 0,098. Dengan menggunakan data pengujian yaitudata prakiraan cuaca pada tahun 2013 akhir sampai awal tahun 2014, didapatkan akurasi peramalan sebesar 72,45%
KESIMPULAN DAN SARAN
Algoritma JST untuk prakiraan cuaca di wilayah Kuta Selatan, Bali yang dirancang memiliki sebuah layer tersembunyi, memiliki nilai RMSE yang terkecil ketika jumlah neuron pada lapisan tersembunyi berjumlah 8 neuron. Nilai RMSE ini didapatkan saat jaringan mempelajari data peramalan tahun 2012 dan tahun 2013, dengan nolai RMSE 0,098. Dari hasil pengujian menggunakan data peramalan di tahun 2014, didapatkan akurasi jaringan JST tersebut mencapai nilai 72,45%.
Pada penelitian selanjutnya perlu dianalisa lebih lanjut bagaimana hubungan antara pemilihan jumlah dan jenis faktor yang akan digunakan dalam algoritma JST, serta pengoptimalan tahap pembelajaran JST sehingga dapat memperbaiki RMSE pelatihannya.
DAFTAR PUSTAKA
Bhandaril, D., Murthy, C. A., & Pal, S. K. (2012). Variance as a Stopping Criterion for Genetic Algorithms. Fundamenta
Informaticae, 145-164.
Gallagher, K., & Sambridge, M. (1994). Genetic Algorithms : A Powerfull Tool For Large-Scale Nonlinear Optimization Problems.
Computer and Geoscience, 1229-1236.
11 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.7-11
Tiruan dengan Algoritma Genetika Untuk Peramalan Cuaca . Jurnal Ilmu Komputer
Universitas Brawijaya, 1-8.
Peterson, C., & Rognvaldsson, T. (1991). An Introduction to Artificial Neural Network.
Departement of Theoretical Physic, 113-166.
PS, D., & Subagyo, P. (1986). Statistik Induktif.
Yogyakarta: BPFE.
Razali, N. M., & Geraghty, J. (2011). Genetic Algorithm Performance with Different
Selection Strategies in Solving TSP . World
Congress on Engineering, 1134-1139.
Thede, S. M. (2004). An Introduction to Genetic Algorithms. Journal Computing Science in
Collage Volume 20, 115-123.
Vol. 7, No.1, April 2014 ISSN 1979-5661
ANALISA HUBUNGAN FREKUENSI DASAR ANTAR BILAH GAMELAN
GANGSA PADA HASIL SINTESIS MENGGUNAKAN METODE MODIFIED
FREQUENCY MODULATION
Dewa Made Sri Arsa1, I Made Widiartha2, Agus Muliantara3 Program Studi Teknik Informatika, Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Udayana
[email protected], [email protected]2, [email protected]3 ABSTRAK
Gamelan gangsa warisan budaya turun temurun daerah Bali. Dengan kurangnya media pembelajaran mengakibatkan berkurangnnya minat untuk memainkan gamelan gangsa. Teknik sintesis dapat digunakan untuk mengatasi hal ini. Proses sintesis menggunakan metode Modified Frequency Modulation. Sebelum dilakukan sintesis dilakukan analisis 100 buah suara gamelan gangsa untuk mendapatkan rentang frekuensi dasar masing-masing bilah dan pencarian bungkus sinyal dari suara gamelan gangsa. Hasil sintesis berupa suara gamelan gangsa yang mirip atau sama dengan suara gamelan gangsa yang sebenarnya. Dari hasil pengujian didapatkan bahwa hubungan yang dimiliki berupa perbandingan bilah dimana perbandingan yang dimiliki berbeda-beda. Suara hasil sintesis dengan menggunakan perbandingan ini 100% masuk kedalam rentang frekuensi dasar masing-masing bilah.
Kata kunci : Sintesis, Frekuensi Dasar.
ABSTRACT
Gamelan gangsa hereditary cultural heritage of Bali. With the lack of media interest resulting in
reduced learning to play the gamelan gangsa. Synthesis techniques can be used to deal with this. Synthesis process using Modified Frequency Modulation. Before performing synthesis, the analysis of 100 pieces of gamelan gangsa sounds do to get the fundamental frequency range of each bar and wrap the search envelope signal from the sound of gamelan gangsa. The results of a gamelan gangsa sound synthesis similar or identical to the actual sound of the gamelan gangsa. From the test results showed that the relationship held in the form of comparisons owned bar where the comparison is different. Sound synthesis results using the ratio are 100% in range of fundamental frequencies each bar.
Keywords : Synthesis, Fundamental Frequency
1. Pendahuluan
Alat musik tradisional daerah Bali adalah gamelan. Gamelan merupakan warisan budaya turun temurun. Salah satu gamelan Bali adalah gangsa. Berbagai upaya telah dilakukan pemerintah daerah untuk melestarikan permainan gamelan gangsa. Upaya tersebut seperti mengadakan pelatihan di setiap desa maupun mengadakan perlombaan antar banjar maupun antar sanggar. Namun beberapa tahun yang akan datang akan mengalami masalah yaitu berkurangnya minat masyarakat dalam memainkan gamelan gangsa. Hal ini dikarenakan kurangnya media untuk mempelajari bermain gamelan gangsa [2]. Sebagai contoh alat musik piano dapat dipelajari dengan menggunakan perangkat lunak komputer.
Setiap suara memiliki frekuensi dasar yang membentuk suara tersebut. Begitu juga halnya dengan gamelan gangsa. Gamelan gangsa kantil menggunakan titi nada pentatonic dengan 5 titi nada. Dalam penelitian-penelitian sebelumnya, penelitian hanya difokuskan pada sintesis suara seperti yang dilakukan pada penelitian Aris Tjahyanto [1] dan Lazzarini [5]. Untuk itu perlu dicari hubungan antara frekuensi bilah pertama
dengan bilah lainnya sehingga hubungan ini dapat memudahkan dalam melakukan analisis dan sintesis suara.
2. Landasan Teori 2.1. Sintesis
Sintesis merupakan sebuah strategi atau teknik untuk membangkitkan suatu suara dengan menggunakan suatu parameter untuk mengontrol suara yang dibangkitkan [3]. Teknik paling lama yang digunakan untuk melakukan sintesis adalah dengan menggunakan matematika murni.
Parameter Proses Sintesis Suara
sintesis Start
End
Gambar 1 : Alur Proses Sintesis Suara Secara Umum
Arsa, et al, Analisis…13
digunakan adalah bungkus sinyal dan frekuensi dasar dari suatu suara yang ingin disintesis. Suara yang dihasilkan adalah suara sintesis berdasarkan parameter yang telah ditentukan dan dapat didengarkan.
2.2. Gamelan Gangsa
Gamelan gangsa merupakan salah satu jenis alat musik tradisional di Bali. Instrumen gangsa terdiri dari 10 wilah yang terbuat dari kuningan atau perunggu yang menggantung di atas tabung bambu beresonansi. Gangsa berbeda dari gender yang merupakan alat music tradisional didaerah Jawa. Suara dari wilah gangsa lebih keras dan mampu membuat lebih banyak harmoni. Di Bali, gangsa digunakan pada gamelan Gong Kebyar.
Gambar 2 menunjukkan penomoran dari bilah gangsa. Bilah terpanjang berada paling kiri dan merupakan bilah pertama dengan nomor 1. Semakin kekanan panjang bilah akan berkurang dan diikuti kenaikan nada suara.
Gambar 2 : Penomoran Bilah Gangsa
2.3. Frekuensi Dasar dan Frekuensi Harmoni
Perlu diketahui bawa sinyal yang sebenarnya tidak berupa gelombang sinus. Sinyal asli memiliki berbagai frekuensi, amplitude yang berbeda, dan gangguan. Frekuensi yang dimiliki suatu sinyal ada dua, yaitu frekuensi dasar dan frekuensi harmoni. Frekuensi dasar merupakan frekuensi terendah dari suatu gelombang sinyal periodic. Sedangkan frekuensi harmoni adalah komponen frekuensi dari sinyal yang merupakan kelipatan dari frekuensi dasar [4]. Sebagai contoh dari frekuensi dasar dan frekuensi harmoni dari suatu sinyal diperlihatkan pada gambar 3.
Gambar 3 : Domain Frekuensi Sinyal Suara Piano Note E4 [4]
Dari gambar 3 terdapat puncak pada frekuensi 330 Hz, 660 Hz, 990 Hz, 1320 Hz, dan 1620 Hz. Dapat dilihat bahwa nilai-nilai tersebut merupakan kelipatan dari puncak frekuensi pertama, yaitu 330 Hz. Frekuensi 330 Hz dinamakan frekuensi dasar dan sekaligus sebagai harmoni pertama. Untuk frekuensi 660 Hz merupakan harmoni kedua dan merupakan overtone pertama dari frekuensi dasar. Overtone merupakan frekuensi yang lebih tinggi dari frekuensi dasar dan memiliki nilai kelipatan frekuensi dasar.
2.4. Modified Frequency Modulation (ModFM)
ModFM merupakan metode perbaikan dari metode Frequency Modulation. ModFM dikemukakan oleh Victor lazzarini dan Joseph Timoney pada tahun 2010. Metode FM dimodifikasi dengan melakukan normalisasi pada fungsi Bessel dan menghasilkan persamaan ModFM yang diperlihatkan pada persamaan 1.
…..(1)
Keterangan :
s(t) : sinyal yang telah termodulasi A : sinyal envelope
I : fungsi bessel yang telah ternormasilasi
( )
k : indeks modulasi 2.5. Proses Sintesis
Alur proses sintesis diperlihatkan pada gambar 4.
Start
Input perbandingan frekuensi sinyal pembawa
dan pemodulasi, input suara rekaman gamelan gangsa, input frekuensi
dasar suara gamelan gangsa
Sintesis menggunakan metode ModFM Suara
sintesis gamelan
gangsa
End
Transformasi Hilbert
Moving average filter
14 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.12-15
Transformasi Hilbert dan Moving Average Filter digunakan untuk mencari bungkus sinyal dari suara gamelan gangsa. Kemudian dilakukan sintesis menggunakan metode ModFM dan menghasilkan suara gamelan gangsa. Ratio yang digunakan adalah 1:7.
3. Frekuensi Dasar Gamelan Gangsa Untuk mendapatkan rentang dari frekuensi dasar gamelan gangsa kantil, dikumpulkan data suara gamelan gangsa kantil sebanyak 100 suara dengan jumlah suara berasal dari 10 gamelan gangsa kantil yang berbeda dimana masing-masing gamelan memiliki 10 buah bilah. Dari 10 suara gamelan gangsa kantil tersebut diketahui 6 buah gamelan pengumbang dan 4 buah gamelan pengisep. Dari pengolahan awal menggunakan program Sound Forge 10.0 didapatkan frekuensi tertinggi dari masing suara pengumbang dan pengisep. Dengan pendekatan overtone, didapatkan frekuensi dasar dari gamelan gangsa pengumbang dan pengisep terletak pada rentang frekuensi seperti yang ditunjukkan pada tabel 1 dan tabel 2.
Tabel 1 : Rentang Frekuensi Dasar Gamelan Gangsa Kantil Pengumbang
Bilah Min (Hz) Max (Hz)
1 66,3 69,5
2 72,5 75,8
3 91,6 96
4 99,1 102,5
5 125,8 128
6 132,9 141,3
7 146,8 153,1
8 183,5 196,9
9 195,8 209
10 249,6 260,4
Tabel 2 : Rentang Frekuensi Dasar Gamelan Gangsa Kantil Pengisep
Bilah Min (Hz) Max (Hz)
1 74,3 75,6
2 80,9 83,3
3 100,8 103,6
4 107,8 110,3
5 138,5 139,6
6 146 148,6
7 157,9 161,4
8 195,8 200,8
9 208,9 214,4
10 266,5 276,9
4. Analisa Perbandingan Frekuensi Dasar Dari tabel 1 dan tabel 2 dihitung perbandingan antara bilah ke-enam dengan bilah pertama, bilah ketujuh dengan bilah kedua, dan seterusnya. Tabel 3 memperlihatkan hasil perbandingan yang didapat untuk gangsa kantil pengumbang dan tabel 4 memperlihatkan hasil perbandingan untuk gangsa kantil pengisep.
Tabel 3 : Perbandingan Frekuensi Bilah Gamelan Gangsa Pengumbang
Perbandingan
Frekuensi Bilah Perbandingan
6:1 132,9:66,3 = 2,01:1 7:2 146,8:72,5 = 2,03:1 8:3 183,5:196,5 = 2:1 9:4 195,8:99,1 = 1,98:1 10:5 249,6:125,8 = 1,98:1
Tabel 4 : Perbandingan Frekuensi Bilah Gamelan Gangsa Pengisep
Perbandingan
Frekuensi Bilah Perbandingan
6:1 146:74,3 = 1,97:1 7:2 157,9:80,9 = 1,95:1 8:3 195,8:100,8 = 1,94:1 9:4 208,9:107,8 = 1,94:1 10:5 266,5:138,5 = 1,92:1 Perbandingan yang didapat dari tabel 3 dan 4 akan digunakan dalam proses sintesis.
5. Hasil Sintesis dan Pembahasan
Arsa, et al, Analisis…15
Gambar 5 : Frekuensi Domain Sinyal Suara Bilah ke-enam Pengumbang
Gambar 6 : Frekuensi Domain Dari Suara Hasil Sintesis Pengumbang Bilah ke-enam
Frekuensi dasar yang dihasilkan hasil sintesis juga mendekati suara asli. Hasilnya diperlihatkan pada tabel 5 dan tabel 6.
Tabel 5 : Frekuensi Dasar Gangsa Pengumbang Hasil Sintesis
Suara Sintesis Bilah
Frekuensi Dasar
6 135,6
7 149,1
8 188,1
9 200,5
10 253,3
Tabel 6 : Frekuensi Dasar Hasil Sintesis Gangsa Pengisep
Suara Sintesis Bilah
Frekuensi Dasar
6 147,3
7 159,4
8 197,6
9 210,9
10 269,6
Seluruh frekuensi dasar dari suara hasil sintesis pengumbang maupun pengisep yang ditunjukkan pata tabel 6 dan 7 berada pada rentang toleransi yang ditunjukkan pada tabel 1 dan 2.
6. Kesimpulan
Dari hasil analisa hasil sintesis dapat disimpulkan bahwa perbandingan bilah ke-enam dengan bilah pertama, perbandingan bilah ketujuh dengan bilah kedua, perbandingan bilah kedelapan dengan bilah ketiga, perbandingan bilah kesembilan dengan ke-empat, dan perbandingan bilah kesepuluh dengan kelima adalah unik. Perbandingan yang dimiliki berbeda-beda. Suara hasil sintesis menggunakan perbandingan ini telah mendekati atau sama dengan suara aslinya yang dapat dilihat dari frekuensi dasar yang dihasilkan. 7. Daftar Pustaka
[1] Aris Tjahyanto, Y. K. (2011). Model Analysis-By-Synthesis Aplikasi Pembangkit Suara Gamelan Sintetik. Yogyakarta: Seminar nasional Aplikasi Teknologi Informasi.
[2] Arisma, Y. R. (2013). Pembuatan Media Pembelajaran Alat Musik Gamelan Berbasis Multimedia di SDN Maguwoharjo 1.
[3] Jaffe, D. (1995). Ten Criteria for Evaluating Synthesis Techniques.
Computer Music Journal, 76-87.
[4] Jeremy F., J. S. (2002). Time-Frequency Analysis of Musical Instruments*. Society
for Industrial and Applied Mathematics,
457-476.
Vol. 7, No.1, April 2014 ISSN 1979-5661
ANALISIS DAN PERBANDINGAN TEKNIK
WATERMARKING
CITRA DIGITAL
MENGGUNAKAN METODE
BLOCK BASED
DCT DAN LSB
I Dewa Made Bayu Atmaja Darmawan Program Studi Teknik Informatika
Fakultas Matematika dan Ilmu Pengetahuan Alam Email: [email protected]
ABSTRACT
Watermarking is an application of steganography that trying to insert a message on a digital medium. However, in contrast to steganography, both cover message and the massage that contained in the cover message must be secured. In addition, the hidden information (watermark) must be maintained. Several attempts have been made to perform the insertion of information on a cover medium, particularly in the case of digital image. Techniques used include work on spatial domain (LSB) and spectral (block-based DCT). This paper will provide an evaluation and comparison against some of the watermarking techniques by testing for transparency perception (imperceptibility), robustness, and capacity. The test result shows the block-based DCT method is better than the LSB on Imperceptibility testing. Whereas, in the use of robustness testing LSB method can better take care of the inserted watermark.
Keywords: watermarking, steganografi, spasial, spectral, lsb, dct
ABSTRAK
Watermarking merupakan aplikasi dari steganografi yang berusaha menyisipkan pesan pada suatu media digital. Namun, berbeda dengan steganografi, media penampung yang digunakan untuk menyimpan informasi adalah objek yang ingin diamankan. Selain daripada itu, informasi yang disembunyikan harus terjaga keutuhannya. Beberapa upaya telah dilakukan untuk melakukan penyisipan informasi pada suatu media penampung, khususnya pada kasus media citra digital. Teknik yang digunakan bekerja pada domain spasial yaitu LSB dan spectral yaitu menggunakan block-based DCT. Tulisan ini akan memberikan evaluasi dan perbandingan terhadap beberapa teknik watermarking tersebut dengan melakukan pengujian terhadap transparansi persepsi (imperceptibility), robustness, dan kapasitas. Hasil pengujian memperlihatkan metode block-based DCT lebih baik dibandingkan dengan LSB pada pengujian Imperceptibility. Sedangkan, pada
pengujian robustness penggunaan metode LSB dapat lebih menjaga watermark yang disisipkan.
Kata kunci: watermarking, steganografi, spasial, spectral, lsb, dct
1. PENDAHULUAN
Pemanfaatan teknologi informasi dalam kehidupan sehari-hari semakin banyak digunakan. Aplikasi teknologi informasi ini memungkinkan untuk mengirimkan pesan atau informasi dengan cara yang cepat. Pesan atau informasi yang diakses melalui situs tersebut seharusnya dapat diamankan. Keamanan yang dimaksud adalah dengan menjaga kerahasiaan atau memberikan kepastian bahwa dokumen tersebut dapat diakses oleh pihak yang diinginkan. Kriptografi menjadi solusi untuk menjaga kerahasiaan informasi tersebut. Kriptografi dilakukan dengan mengubah pesan yang dapat dipahami menjadi pesan yang tidak dapat dipahami dengan menggunakan suatu kunci tertentu. Sehingga, hanya pihak yang memiliki
Darmawan,et al, Analisis…17
Watermarking adalah salah satu aplikasi dari
steganografi. Perbedaan antara steganografi dan
watermarking yaitu pada steganografi, media
pembawa terkadang tidak memiliki arti tertentu, namun hanya sebagai pembawa pesan rahasia.
Namun, pada watermarking media pembawa adalah objek yang ingin diamankan. Beberapa aplikasi yang menggunakan watermarking antara lain adalah identifikasi kepemilikan dan penanda hak kekayaan intelektual (copyright), online atau offline transaksi keuangan, dan kontrol penggandaan untuk mencegah penggandaan secara ilegal terhadap video, data, dll.
Barni dan Bartolini (2004) menjelaskan watermaking dapat dibagi menjadi tiga kategori
yaitu watermarking pada domain spasial dan spectral. Pada penelitian ini akan dibahas evaluasi dari penggunaan ketiga kategori watermarking tersebut dengan menggunakan kasus citra digital. Salah satu citra digital yang sering digunakan pada Internet adalah berbentuk JPEG. Tipe file ini merupakan bentuk file terkompresi dari citra digital yang umum digunakan sebagai pengambilan gambar dengan menggunakan kamera. Penambahan watermark pada citra digital tersebut tentu dapat digunakan sebagai bukti kepemilikan (copyright), khususnya pada citra digital yang dihasilkan untuk kebutuhan komersil.
Pemberian watermark pada citra digital sebaiknya tidak terlihat oleh kasat mata manusia agar tidak mempengaruhi kualitas dari citra digital tersebut. Selain itu, citra digital mungkin saja dapat mengalami perubahan baik yang disengaja untuk menghilangkan
watermark ataupun tidak disengaja, seperti: melakukan kompresi, penambahan filter tertentu atau derau (noise), dan juga melakukan cropping. Metode watermarking
yang baik seharusnya dapat mempertahankan watermark
yang diberikan dari kemungkinan perubahan dan tetap menjaga agar penyisipan pesan tidak mempengaruhi citra secara kasat mata.
Bagian 2 akan membahas mengenai landasan teori terhadap metode yang digunakan sebagai evaluasi. Pada bagian 3 akan memperlihatkan beberapa parameter yang
akan dievaluasi terhadap ketiga domain tersebut. Bagian 4 memberikan penjabaran dari hasil evaluasi dan perbandingan yang dilakukan. Bagian 5 berisi kesimpulan yang dapat diambil dari evaluasi yang telah dilakukan.
2. METODE
Skema metode watermarking diperlihatkan pada Gambar 1. Pertama, citra yang akan digunakan sebagai cover work ditentukan. Cover work adalah citra digital yang ingin disisipi watermark m. Watermark embedder
akan melakukan penyisipan bit-bit dari pesan rahasia (watermark) ke dalam cover work sesuai dengan metode yang digunakan. Peletakan posisi bit-bit tersebut dapat dilakukan secara berurutan atau acak. Pada penyisipan acak, dibutuhkan kunci untuk menentukan lokasi penyisipan bit dan akan digunakan oleh penerima (watermark detector) untuk mengekstraksikan watermark mn. Pada jalur
komunikasi dapat terjadi penambahan informasi tambahan yang tidak merupakan bagian dari informasi yang diberikan yang kemudian disebut sebagai derau (noise).
2.1. Least Significant Bit (LSB)
Sebuah gambar tersusun atas beberapa pixel. Pixel adalah elemen terkecil dari suatu gambar.Terdapat 2 sistem perwarnaan yang umum digunakan yaitu RGB dan CMYK. Pada RGB suatu gambar direpresentasikan dalam tiga warna, yaitu: merah (red), hijau (green) dan biru (blue). Sistem ini digunakan oleh layar computer. Sistem CMYK merepresentasikan gambar dengan menggunakan empat warna, yaitu: cyan, magenta, yellow, black. Sistem CMYK digunakan pada perangkat output printer.
Pada sistem RGB, setiap pixel warna direpresentasikan menjadi beberapa bit. Satuan ini diukur dengan menggunakan bit per pixel (bpp). Satu bpp mengandung arti bahwa setiap pixel
18 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.16-23
mengandung satu buah bit. Pada perangkat digital ukuran bit yang umum digunakan adalah 24 bpp (8
bit per channel) atau dapat dikatakan setiap pixel
warna direpresentasikan dengan menggunakan 8 bit.
Salah satu teknik pada domain spatial adalah LSB.
Least Significant Bit (LSB) memetakan bit-bit
pesan rahasia pada bit paling kanan (LSB) dari setiap pixel warna. Karena yang dirubah hanya LSB, maka perubahan gambar tidak akan mudah dilihat oleh indra pengelihatan manusia.
2.2. Discrete Cosines Transform (DCT)
Terdapat beberapa transformasi yang digunakan untuk mengubah gambar ke dalam domain frekuensi. Naini (2011) menjelaskan dua metode yang bekerja pada domain spectral adalah Discrete
Cosines Transform (DCT) dan Fast Fourier
Transform. Pada domain frekuensi terdapat
perubahan pada koefisien dan akan membuat gambar secara keseluruhan tidak terlihat perbedaannya. Domain frekuensi bekerja dengan menggunakan analisis fungsi matematis atau siyal terhadap frekuensi sehingga menghasilkan
watermarking yang lebih robust dibandingkan
dengan domain spatial.
DCT adalah transformasi yang mengekspresikan sejumlah data points sebagai jumlah cosine yang berosilasi pada frekuensi yang berbeda. Metode DCT menggunakan koefisien DCT untuk mentransformasikan gambar dari domain spasial ke dalam domain frekuensi. Cox, dkk. (1997) memperlihatkan skema penambahan watermark
pada domain spectral seperti yang terlihat pada Gambar 2.
Gambar 2. Watermark pada Domain Spectral (Cox, dkk., 1997)
Cox, dkk. (1997) menjelaskan bahwa apabila x disisipkan ke v untuk menjadikan v’ maka α adalah tingkat x dalam mengubah v. Persamaan yang digunakan untuk menghitung koefisien v’ adalah sebagai berikut:
v’i = vi(1 + α xi)
3. EVALUASI KINERJA
Evaluasi teknik watermarking dilakukan dengan mengamati beberapa fungsi seperti imperceptibility
dan robustness. Evaluasi dilakukan dengan
melakukan beberapa teknik serangan terhadap citra yang telah diberikan watermark.
3.1. Imperceptibility
Imperceptibility digunakan untuk melihat citra
yang telah disisipkan watermark tidak jauh berbeda dengan gambar aslinya. Pengukuran ini dilakukan dengan tiga kriteria, yaitu: MSE, PSNR, dan SSIM. 3.1.1. MSE
Mean Squared Error (MSE) adalah pengujian
pertama yang dilakukan untuk mengukur kesamaan antara dua buah citra. Persamaan yang digunakan untuk mengukur MSE diperlihatkan pada persamaan 2. I adalah pixel gambar asli berukuran m x n sedangkan K adalah gambar yang telah disisipkan watermark.
3.1.2. PSNR
Pick Signal to Noise (PSNR) adalah parameter
pengukuran distorsi sebuah file citra. Persamaan PSNR diperlihatkan pada persamaan 3. MAX adalah nilai sebuah pixel yang mungkin untuk sebuah pixel gambar.
3.1.3. SSIM
Wang, dkk. (2004) memberikan kriteria yang lebih baik dibandingkan dua kriteria sebelumnya terhadap similarity dilihat dari human visual system
(HVS). Persamaan 4 memperlihatkan perhitungan
Structural Similarity(SSIM), dimana µ, σ, dan σxy
masing-masing adalah rata-rata, varians, dan kovarians dari suatu gambar, dan c1, c2 adalah konstanta penyeimbang. SSIM memiliki nilai dengan rentang 0 – 1. SSIM dengan nilai mendekati 1 berarti citra yang diuji memiliki kedekatan terhadap citra aslinya.
3.2. Robustness
Kekuatan (robustness) dari teknik watermarking
Darmawan,et al, Analisis…19
diekstraksi (watermark) dari citra dengan
watermark sebelum disisipkan.
3.2.1. Serangan Derau (Noise)
Serangan derau dilakukan dengan menambahkan pesan atau informasi tambahan yang tidak memiliki arti ke gambar yang disisipi watermark. Beberapa teknik yang digunakan untuk melakukan serangan ini adalah Gaussian, Poisson, Salt & Pepper, dan
Speckle.
Gaussian dilakukan dengan menambahkan derau putih dengan nilai mean dan varians yang tetap. Nilai varians yang digunakan divariasikan dari 0.01 hingga 0.05. Semakin besar nilai varians yang diberikan maka semakin besar derau yang terjadi. Derau Papper and Salt disebut juga sebagai derau impuls. Derau shot, atau derau biner. Derau ini menyebabkan adaya bintik-bintik hitam dan/atau putih yang tidak teratur dan tersebar pada citra. Pada kode matlab menggunakan d (density) untuk memberikan tingkat derau yang diberikan. Derau speckle disebut juga sebagai gerau multiplicative. Pada citra I yang diberikan derau menggunakan persamaan J = I + N*I, dimana N adalah derau acak yang terdistribusi normal dengan rerata nol dan varians V. Gambar 3 memperlihatkan kode matlab untuk menambahkan derau pada watermarked
image.
3.2.2. Rotation (Rotasi)
Rotasi dilakukan dengan memutar citra searah dan berlawanan arah jarum jam berdasarkan titik tengah citra tersebut. Derajat perputaran divariasikan dari nilai -15 hingga 25. Nilai negative
menandakan rotasi dilakukan berlawanan arah jarum jam. Kode matlab yang digunakan adalah sebagai berikut:
imrotate(watermarkedImage, -15);
3.2.3. Cropping
Serangan cropping dilakukan dengan menghilangkan sebagian dari gambar. Tujuan dari teknik serangan ini adalah menghilangkan sebgaian atau keseluruhan watermark yang diberikan pada citra watermarked. Cropping dilakukan untuk citra
watermarked 512x512 pixel diubah menjadi
300x300 pixel hingga 500x500 pixel. Kode matlab yang digunakan adalah sebagai berikut:
imcrop(watermarkedImage,
[0,0,300,300]);
3.2.4. Resizing dan Blurring
Resizing dilakukan untuk mengubah skala dari citra
watermarked. Perubahan ukuran dilakukan untuk
citra 512x512 pixel menjadi 128x128pixel dan diduplikasi ukurannya hingga kembali menjadi 512x512pixel. Blurring dilakukan dengan memanfaatkan filter dengan tipe disk dan parameter 10. Kode matlab untuk melakukan
resizing dan blurring diperlihatkan pada Gambar 4.
Gambar 4. Kode Matlab Resizing dan Blurring
4. HASIL DAN PEMBAHASAN
Proses watermarking diperlihatkan pada Gambar 5. Proses watermarking melibatkan dua buah citra yaitu citra cover yang merupakan citra yang ingin disisipkan pesan watermark dan citra watermark
itu sendiri. Kedua citra ini akan diproses menggunakan algoritma watermarking yang kemudian akan menghasilkan citra watermarked. Tahap berikutnya adalah proses mengambil kembali watermark yang telah ditanamkan pada citra cover yaitu di dalam citra watermarked. Citra
watermarked mungkin mengalami penambahan
noise atau sinyal tambahan yang dapat merusak
citra. Pada penelitian ini algoritma penambahan noise yang digunakan adalah menggunakan
Gaussian, Poisson, Speckle, dan Pepper and Salt.
%Gaussian Noise V = 0.01;
M = 0; d = 0.01; Gaussian =
imnoise(watermarkedImage,'gaussian'
,M,V);
%Poisson Noise Poisson =
imnoise(watermarkedImage,'poisson')
;
%Pepper-Salt Noise PepperSalt =
imnoise(watermarkedImage,'salt &
pepper',d);
%Speckle Noise Speckle =
imnoise(watermarkedImage,'speckle',
V);
H = fspecial('disk',10);
Resize=imresize(watermarkedImage,[1
28,128],'bilinear');
blurred =
imfilter(watermarkedImage,H,'replic
ate');
20 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.16-23
Citra cover yang digunakan pada penelitian ini menggunakan citra RGB Lena yang berukuran 512x512 pixel dengan 8 bit per channel warna dan pixel. Oleh karena itu setiap pixel terdiri dari 3 x 8 bit. Sedangkan, watermark yang digunakan adalah citra gray berukuran 512x512 pixel dengan 8 bit per pixel. Tipe file yang digunakan untuk kedua citra tersebut adalah BMP. Gambar 5 memperlihatkan citra yang digunakan untuk citra
cover dan watermark.
Gambar 6. Citraa) Cover, b) Watermark
Teknik watermarking LSB dilakukan dengan menyisipkan 1 pixel watermark citra gray yang terlebih dahulu dikonversikan menjadi 1 bit ke setiap pixel citra cover pada bit pertama (LSB) untuk setiap channel warna.
Teknik watermarkingBlock Based DCT dilakukan dengan pertama kali membagi citra cover menjadi beberapa block pixel. Pada penelitian ini ukuran
block bervariasi yaitu berjumlah 2, 4, 8, 16, 32.
Setiap block, misalnya berukuran 8x8 pixel terdiri
dari 64 pixel. Gambar 2 yang merupakan skema dari watermarking pada domain spectral dilakukan untuk setiap block. Pixel ter