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 DENPASAR
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
ISSN : 1979-5661
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 a
Ngurah Agus Sanjaya ER, bAgus Muliantara Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Udayana email :
[email protected],
[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 berlanjut sampai dengan sekarang. Akan tetapi, dari penelitian yang sama juga disebutkan bahwa ada beberapa bahasa yang telah punah karena sudah tidak dipergunakan lagi. Bahasa Bali masih merupakan bahasa utama yang digunakan oleh masyarakat Bali untuk berkomunikasi pada kehidupan sehari-hari. Walaupun demikian, bukan tidak mungkin suatu saat nanti bahasa
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
1
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-ofspeech) 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. Sistem alihbahasa umumnya menggunakan tiga pendekatan utama yaitu pendekatan berbasis aturan (rule based), statistik (statistical) dan berbasis contoh (example based) untuk mengalihbahasakan bahasa sumber ke bahasa tujuan (Kamatani dkk, 2009). Pendekatan berbasis aturan
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 aturanaturan 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
--> <sedang> . Untuk frase nomina yang menggunakan kata sifat sebagai informasi (contoh: black hat, red box) adalah --> . 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.
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 Memindai Melakukan parsing <extends> Memberikan kalimat masukan
Menambah kata ke kamus Admin
Pengguna
Menambah aturan
Menerjemahkan
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.
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
2.
Activity Diagram Activity diagram digunakan untuk menggambarkan urutan-urutan aktivitas pada masing-masing proses bisnis. Pada aplikasi yang dikembangkan terdapat tiga proses utama yaitu proses pemindaian, proses parsing dan proses alihbahasa.
3
ER,Muliantara,Purwarupa…4
A. Proses Pemindaian Pengguna Pengguna
Sistem
Memasukkan kalimat bahasa Inggris
Sistem
Aturan
Kamus Kata
Mengambil token
Memeriksa semua aturan
Mencocokan POS kata dan aturan
Kamus Kata
Memeriksa spasi di antara token Ada
Sesuai
Menghapus tanda baca
Tidak ada
Tidak sesuai
Mengembalikan hasil ke proses alihbahasa
Memeriksa semua aturan
Menganalisa "to inf" dan "gerund"
Mengubah kontraksi
Mencocokan POS kata dan aturan Sesuai
Mengubah ke bentuk token Mengubah ke bentuk kata tunggal
Tidak sesuai
Memeriksa semua aturan
Mengambil kata
Mencocokan POS kata dan aturan Sesuai
Memeriksa ketersediaan kata Tidak sesuai
Menampilkan keterbatasan kata
Tidak tersedia
Memeriksa aturan kalimat positif
Mencocokan POS kata dan aturan
Tersedia
Memeriksa jenis kalimat masukan Menampilkan pesan kesalahan
Tidak sesuai
Sesuai
Tidak sesuai
Menampilkan kesalahan parsing Mendapatkan struktur kalimat
Sesuai
Mendapatkan jenis masukan Mengembalikan hasil ke proses parser
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”.
Mendapatkan struktur frase
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 “an”. Selanjutnya masukan yang berupa frase dan kalimat akan dilakukan proses penyelerasan pola yaitu dari pola MD (Menerangkan-Diterangkan) ke pola DM (Diterangkan-Menerangkan). Hasil terjemahan kemudian ditampilkan ke pengguna.
5 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.1-6
Pengguna
Sistem
Aturan
Kamus Kata
- (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.textField resignFirstResponder]; // Clear text view [self.webView loadHTMLString:@"" baseURL:nil]; MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; hud.labelText = @"Translating..."; return TRUE;}
Kata
Bukan kata
Mengambil hasil parsing
Frase
Kalimat
Menganalisa kalimat masukan
Memeriksa pola MD
Ditemukan
Mengubah pola MD ke DM
Tidak ditemukan
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.
Menghilangkan kata artikel
Mengambil kata
Menampilkan terjemahan
Menerjemahkan
Gambar 4. Activity Diagram Proses Alihbahasa
- (void)requestFinished:(ASIHTTPRequest *)request { [MBProgressHUD hideHUDForView:self.view animated:YES];
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.
NSLog(@"ResponseStatusCode: %d", request.responseStatusCode); //NSMutableString *html = [NSMutableString stringWithString:@""]; NSString *html = nil; if (request.responseStatusCode == 200) { NSString *responseString = [request responseString]; NSDictionary *responseDict = [responseString JSONValue];
Translate +teks: String +input()
C_Scanner +teks: String +prepos(teks) +check_word(teks) -contraction(teks) -be_going_to(teks) +to_singular(teks) +check_tenses(teks) +scan(teks)
C_Parser +result: String +parent(teks, jenis, tenses) -_node(rule, word, result) -_match(node, word)
//NSString *src = [responseDict objectForKey:@"src"]; NSString *result = [responseDict objectForKey:@"result"]; NSString *error = [responseDict objectForKey:@"error"]; if(error) { // error result html = [NSString stringWithFormat:@"%@",error]; } else { // result ok html = [NSString stringWithFormat:@"%@",result]; } } else { html = @"Unexpected error"; }
C_Translator +hasil: String +jenis: String +tense: String +primary_translator(hasil, jenis, tense) -analize_sentence(hasil, jenis, tense) -reorder(hasil) -remove_article(hasil) -translate(hasil)
[self.webView loadHTMLString:html baseURL:nil];} - (void)requestFailed:(ASIHTTPRequest *)request { [MBProgressHUD hideHUDForView:self.view animated:YES];
Gambar 5. Class Diagram Sistem
NSError *error = [request error]; [self.webView loadHTMLString:error.localizedDescription baseURL:nil]; }
4.
Implementasi Xcode Koneksi ke web service menggunakan potongan code berikut:
Gambar 7. Implementasi Keluaran
5
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), 334342. 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 MetodeMetode 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. Thesis pada Program Studi Teknik Elektro, Universitas Gadjah Mada: tidak diterbitkan
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. Jaringan Syaraf Tiruan (JST) merupakan algoritma yang secara umum sangat baik dalam permasalahan pengenalan pola. Namun pola cuaca bukanlah pola yang dapat dipelajari secara sederhana, disebabkan oleh banyaknya faktor dan aturan yang mempengaruhi cuaca di suatu daerah. Penggunaan algoritma JST memungkinkan sistem mempelajari hubungan
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 Sumber : Buku Klimatologi (Tjasyono, 2004)
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 .
….....…………………(1)
T=
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
Kabut Padat Kabut Tebal Kabut Kabut Sedang
Benda tidak terlihat pada jarak 45 m 180 m 450 m 900 m
Kabut Tipis
1800 m
Golongan
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 :
Y 596,99 0,581x1 0,449x2 5,229x3 3,88x4 0,993x5 0,071x6 0,699x7 1,814x8 0,948x9 0,294x10 0,039x11 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 Jaringan syaraf tiruan yang digunakan pada penelitian ini adalah 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).
hits ..........(3) hits misses false alarms hits false alarms .……………..(4) bias hits misses
TS
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
i
i
i
i
i
i
i
i
HASIL DAN PEMBAHASAN Dengan menerapkan jaringan JST yang memiliki jumlah neuron pada lapisan tersebunyi sebanyak
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 LargeScale Nonlinear Optimization Problems. Computer and Geoscience, 1229-1236. Pangestuti, N. A., Dewi, C., & Ridok, A. (2013). Implementasi Pelatihan Jaringan Syaraf
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. Tjasyono, B. (2004). Klimatologi. Bandung: ITB. Yuniar, R. J., S., D. R., & Setyawati, O. (2013). Perbaikan Metode Prakiraan Cuaca Bandara Abdulrahman Saleh dengan Algoritma Neural Network Backpropagation. EECCIS, 65-70.
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], [email protected] 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 masingmasing 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. 2.1.
Landasan Teori 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. Start
Parameter
Proses Sintesis
Suara sintesis
End
Gambar 1 : Alur Proses Sintesis Suara Secara Umum
Gambar 1 menunjukkan proses secara umum dari teknik sintesis suara. Parameter yang biasa
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 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 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.
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
Transformasi Hilbert
Moving average filter
Suara sintesis gamelan gangsa
Sintesis menggunakan metode ModFM
End
Gambar 4 : Alur proses analisis hingga sintesis suara gamelan gangsa
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.
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
1
Min (Hz) 66,3
Max (Hz) 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 1
Min (Hz) 74,3
Max (Hz) 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
Perbandingan
6:1 7:2 8:3 9:4
132,9:66,3 = 2,01:1 146,8:72,5 = 2,03:1 183,5:196,5 = 2:1 195,8:99,1 = 1,98:1
10:5
249,6:125,8 = 1,98:1
Tabel 4 : Perbandingan Frekuensi Bilah Gamelan Gangsa Pengisep
Tabel 1 : Rentang Frekuensi Dasar Gamelan Gangsa Kantil Pengumbang
Bilah
Perbandingan Frekuensi Bilah
Perbandingan Frekuensi Bilah
Perbandingan
6:1 7:2
146:74,3 = 1,97:1 157,9:80,9 = 1,95:1
8:3 9:4 10:5
195,8:100,8 = 1,94:1 208,9:107,8 = 1,94:1 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 Perbandingan yang didapatkan pada tabel 3 dan 4 telah berhasil diimplementasikan. Suara yang telah disintesis menggunakan metode ModFM [5] dibandingkan dengan suara asli dalam domain frekuensi. Gambar 5 menunjukkan frekuensi domain dari suara asli dari bilah ke-enam. Gambar 6 menunjukkan frekuensi domain dari suara hasil sintesis. Terlihat bahwa ada dua puncak frekuensi baru yang muncul. Frekuensi yang muncul ini memberikan dampak pada warna suara hasil sintesis.
Arsa, et al, Analisis…15
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
Gambar 5 : Frekuensi Domain Sinyal Suara Bilah ke-enam Pengumbang 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. 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
7.
Daftar Pustaka
[1]
Aris Tjahyanto, Y. K. (2011). Model Analysis-By-Synthesis Aplikasi Pembangkit Suara Gamelan Sintetik. Yogyakarta: Seminar nasional Aplikasi Teknologi Informasi. Arisma, Y. R. (2013). Pembuatan Media Pembelajaran Alat Musik Gamelan Berbasis Multimedia di SDN Maguwoharjo 1. Jaffe, D. (1995). Ten Criteria for Evaluating Synthesis Techniques. Computer Music Journal, 76-87. Jeremy F., J. S. (2002). Time-Frequency Analysis of Musical Instruments*. Society for Industrial and Applied Mathematics, 457-476. Lazzarini, V. T. (2010). Theory and Practice of Modified Frequency Modulation Synthesis. (p. 459). J. Audio Eng. Soc.
[2]
[3]
[4]
[5]
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
kunci untuk membuka dokumen tersebut saja yang dapat memahami isi dari dokumen tersebut. Keamanan yang diberikan seharusnya tidak hanya untuk menjaga kerahasiaan suatu pesan atau dokumen. Namun juga untuk memastikan keaslian dari suatu dokumen. Keaslian dari suatu pesan dapat diuji berdasarkan tanda yang diberikan ke pesan tersebut. Sebuah pesan dapat diselipkan ke media tertentu misalnya dokumen atau gambar untuk menguji bahwa dokumen atau gambar tersebut adalah asli. Hal tersebut dapat dilakukan dengan menerapkan teknik steganografi. Cox dkk. (2008) menjelaskan steganografi adalah suatu cara untuk dapat memasukkan suatu informasi rahasia ke suatu hasil pekerjaan (media digital) tanpa diketahui keberadaannya.
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.
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.
Gambar 1. Skema Watermarking (Cox, dkk., 2008)
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
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.
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. 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.
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.
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.2. Robustness Kekuatan (robustness) dari teknik watermarking dapat diuji dengan beberapa serangan pada citra yang disisipkan watermark. Hal ini dilakukan untuk menguji kesamaan antara pesan yang
Darmawan,et al, Analisis…19
diekstraksi (watermark) dari watermark sebelum disisipkan.
3.2.1.
citra
dengan
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. %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);
Gambar 3. Kode Matlab Derau
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. H = fspecial('disk',10); Resize=imresize(watermarkedImage,[1 28,128],'bilinear'); blurred = imfilter(watermarkedImage,H,'replic ate');
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.
20 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.16-23
Citra Cover
Watermark
Memasukkan Watermark ke dalam Citra Cover dengan Algoritma Watermarking (LSB atau DCT)
Citra Watermarked
dari 64 pixel. Gambar 2 yang merupakan skema dari watermarking pada domain spectral dilakukan untuk setiap block. Pixel terakhir pada masingmasing block digunakan sebagai lokasi penyisipan watermark. Oleh karena itu, ukuran dari watermark akan diubah berdasarkan ukuran block. Ukuran maksimum watermark adalah sebesar ukuran citra cover dibagi dengan ukuran block. Misalnya, pada block berukuran 8 dan citra cover berukuran 512x512 maka ukuran maksimum dari watermark adalah 64x64 pixel.
4.1. Pengujian Imperceptibility Noise
Mengambil Watermark dari Citra Cover
Watermark
Gambar 5. Skema Watermarking
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.
(a) (b) Gambar 6. Citra a) 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 watermarking Block 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
Pengujian Imperceptibility dilakukan untuk melihat tingkat perubahan yang terjadi sebelum suatu citra disisipkan watermark dan setelah dilakukan penyisipan. Tabel 1 memperlihatkan hasil pengujian PSNR dan SSIM terhadap kedua citra tersebut. Penyisipan pesan pada channel warna Biru memiliki tingkat kemiripan yang lebih baik dibandingkan dengan penyisipan pesan pada channel warna lainnya dilihat dari nilai SSIM. Nilai SSIM yang mendekati 1 mengandung arti bahwa antara citra cover dan watermarked tidak memiliki perbedaan yang cukup besar dengan menggunakan teknik watermarking LSB. Tingkat distorsi pada penyisipan channel Biru lebih kecil dilihat dari nilai PSNR pada channel biru yang lebih besar dibandingkan dengan channel warna lainnya. Tabel 2 memperlihatkan hasil uji kesamaan citra cover dan watermarked yang menggunakan algoritma Block Based DCT. Hasil pengujian memperlihatkan semakin besar ukuran block maka semakin dekat persamaan antara citra cover dan watermarked. Pada pengujian PSNR ketika block berukuran 8, 16 dan 32 nilainya adalah infinite, hal ini disebabkan karena MSE yang merupakan pembagi dalam perhitungan PSNR bernilai 0 atau dengan kata lain kedua citra tersebut dapat dikatakan sebagai identik. Seperti halnya pada penggunaan teknik LSB, watermark yang didapatkan dari citra watermarked dapat diambil dengan baik yang diperlihatkan dengan nilai SSIM bernilai 1 atau mengandung arti kedua citra tersebut identic. Tabel 1 Uji Kesamaan Citra Cover dan Watermarked pada Teknik LSB Metode Uji
Channel Warna Merah
Hijau
Biru
PSNR
55,927585
55,906323
55,957045
SSIM
0,9993653
0,9996068
0,9997331
Darmawan,et al, Analisis…21
Tabel 2 Uji Kesamaan Citra Cover dan Watermarked pada Teknik Block-based DCT Ukuran Block
Metode Uji PSNR SSIM
Tabel 2. Hasil Uji SSIM Teknik Block Based DCT dengan Serangan Derau
2
4
8
51,45788 0,99999
88,57483 1
16
32
inf inf 1 1
inf 1
4.2. Pengujian Robustness
1
Pengujian robustness dilakukan untuk melihat kemampuan citra cover untuk mempertahankan watermark ketika terjadi penambahan derau. Pengujian dilakukan terhadap citra watermark yang disisipkan dan watermark yang diambil dari citra watermarked. Tabel 3 dan 4 masing-masing memperlihatkan hasil pengujian serangan derau pada teknik watermarking LSB dan Block Based DCT. Pada kedua teknik watermarking, terlihat bahwa serangan derau mengakibatkan pesan watermark tidak dapat diambil dengan baik. Nilai SSIM antara watermark dan watermark yang diambil dari citra watermarked jauh dari nilai 1, kecuali pada serangan derau Pepper and Salt. Semakin tinggi nilai varians (V) yang diberikan memperlihatkan semakin buruk watermark yang dapat diambil. Pada teknik DCT yang diperlihatkan pada Tabel 4, ukuran block mempengaruhi SSIM. Semakin besar block maka samakin berbeda dengan watermark asli. Tabel 3 Hasil Uji SSIM Teknik LSB dengan Serangan Derau No
1
2
3
4
Metode
Gaussian
Pepper
Poison
Speckle
Channel Warna
V
No
R
G
B
0,01
0,011
0,008
0,007
0,02
0,004
0,007
0,004
0,03
0,009
0,008
0,006
0,04
0,008
0,010
0,011
0,05
0,010
0,008
0,004
0,01
0,939
0,940
0,932
0,02
0,897
0,894
0,893
0,03
0,860
0,864
0,858
0,04
0,838
0,837
0,840
0,05
0,812
0,818
0,814
-
0,024
0,009
0,010
0,01
0,084
0,035
0,021
0,02
0,070
0,025
0,010
0,03
0,056
0,028
0,017
0,04
0,056
0,019
0,018
0,05
0,051
0,020
0,015
Metode
Gaussian
2
Pepper
3
Poison
4
Speckle
Ukuran Block
V 2
4
8
16
0,01
0,003
0,001
32
0,006
0,02
0,005
0,003
-0,002
0,032 0,015
0,03
0,003
0,001
0,018
0,04
0,004
0,004
0,008
0,019 0,041
0,05
0,000
0,003
-0,011
0,003
0,045 0,085
0,01
0,726
0,468
0,200
0,042
0,121
0,02
0,601
0,311
0,087
0,03
0,527
0,237
0,034
0,017 0,051
0,04
0,467
0,170
0,034
0,055 0,005 0,032
0,05
0,412
0,143
0,011
0,058
0,107 0,056
-
0,999
1,000
1,000
1,000
1,000
0,01
0,025
0,020
0,006
0,02
0,022
0,015
0,010
0,022 0,009
0,026 0,107
0,03
0,016
0,020
0,019
0,001
0,114
0,04
0,019
0,004
0,008
0,012
0,05
0,017
0,014
0,007
0,026
0,018 0,143
0,062 0,019 0,010
Pengujian berikutnya dilakukan dengan melakukan rotasi terhadap citra watermarked. Tabel 4 memperlihatkan watermark yang dapat diambil dari citra watermarked yang telah dirotasi. Pada penggunaan metode LSB, watermark yang diambil dari citra watermarked dapat terlihat seperti watermark asli yang disisipkan ke citra cover. Namun berbeda dengan LSB, metode watermarking block-based DCT tidak mampu memperlihatkan watermark yang diberikan pada citra tersebut. Tabel 4 Hasil Pengujian Rotasi
Rotasi -50
-150
50
LSB
DCT (block 8bit)
22 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.16-23
150
Tabel 6 Hasil Pengujian Resizing
Resize 128x128
Pengujian cropping dilakukan dengan melakukan crop citra watermarked dengan beberapa ukuran seperti yang diperlihatkan pada Tabel 5. Tabel 5 memperlihatkan kedua metode watermarking mampu untuk mengambil watermark yang disisipkan, namun dengan kehilangan beberapa bagian sebagai akibat dari proses watermarking. Tabel 5 Hasil Pengujian Cropping
Ukuran Crop 300x300
LSB
LSB
DCT (block 8bit)
256x256
512x512
DCT (block 8bit)
350x350
400x400
Pengujian terakhir dilakukan dengan membuat citra watermarked menjadi buram (blurring). Gambar 7.a memperlihatkan citra watermarked yang buram. Gambar 7.b dan 7.c masing-masing memperlihatkan citra watermark yang diambil dari citra watermarked yang telah diburamkan (blurring). Kedua metode LSB maupun blockbased DCT tidak mampu untuk mengambil watermark yang seharusnya.
450x450
(a)
500x500
(b)
(c)
Gambar 7. Hasil Pengujian Blurring, a) Citra Watermarked yang diburamkan, b) watermark dari LSB Watermarked, c) watermark dari DCT Watermarked
5. Resizing dilakukan dengan mengubah ukuran citra watermarked dengan skala yang lebih kecil dari ukuran aslinya. Tabel 6 memperlihatkan hasil resizing citra watermarked terhadap watermark yang dapat diambil dari citra tersebut. Tabel 6 memperlihatkan kedua metode watermarking yang diuji tidak mampu mengambil watermark dari citra watermarked.
KESIMPULAN
Berdasarkan pengujian yang telah dilakukan dapat disimpulkan beberapa hal, yaitu: Pengujian imperceptibility pada metode Block-based DCT menghasilkan kemiripan citra cover dan watermarked yang lebih baik dibandingkan dengan penggunaan metode LSB. Pada metode DCT, semakin besar ukuran block akan menghasilkan SSIM yang semakin baik. Namun, kemampuan Blockbased DCT dalam menyisipkan watermark memiliki ukuran lebih kecil dibandingkan dengan metode LSB.
Darmawan,et al, Analisis…23
6.
Berdasarkan pengujian robustness dengan penambahan derau, diketahui hasil kemiripan watermark tidak baik atau jauh mendekati 1. Penggunaan LSB lebih baik dibandingkan dengan block-based DCT ketika diberikan penambahan derau pada citra watermarked. Penggunaan metode LSB mampu mempertahankan watermark ketika ditambahkan derau dengan metode pepper and salt. Rotasi pada citra watermarked menyebabkan watermark yang disisipkan dengan metode block-based DCT tidak mampu mengekstraksi watermark dari citra watermarked. Namun, penggunaan metode LSB dapat mengambil watermark yang disisipkan. LSB dan block-based DCT mampu mengekstraksi watermark ketika dilakukan cropping. Resizing dan blurring (pemburaman) citra watermarked menyebabkan metode LSB dan block-based DCT tidak mampu mengekstraksi watermark dari citra watermarked.
DAFTAR PUSTAKA
Naini, P.M. 2011. Digital Watermarking Using MATLAB, Engineering Education and Research Using MATLAB, Dr. Ali Assi (Ed.), ISBN: 978953-307-656-0, InTech, DOI: 10.5772/23750. Available from: http://www.intechopen.com/books/engineeringeducation-and-research-using-matlab/digitalwatermarking-using-matlab. Cox, J., Kilian, J., Leighton F.T. & Shamoon T. 1997. Secure Spread Spectrum Watermarking for Multimedia. IEEE Transactions on Image Processing, Vol. 6, No. 12,(December 1997), pp. 1673-1687. Cox, J., Miller, M.L., Bloom, J.A., Fridrich, J. dan Kalker, T. 2008. Digital Watermarking and Steganography, Morgan Kaufmann Pub., Elsevier Inc. USA. Barni, M. dan Bartolini, F. 2004. Watermarking System Enginering. Marcel Dekker Inc., Italy. Wang, Z., Bovik, A. C., Sheikh, H. R. & Simoncelli, E. P. 2004. Image quality assessment: From error visibility to structural similarity. IEEE Trans. Image Processing, vol. 13, no. 4, pp. 600612. Furht, B., Muharemagic, E., dan Socek, D. 2005. Multimedia Encryption and Watermarking. Springer Science+Business Media, Inc. NY.
Vol. 7, No.1, April 2014
ISSN 1979-5661
PENGEMBANGAN PENGKLASIFIKASI JENIS TANAMAN MENGGUNAKAN PENDEKATAN BACKPROPAGATION DAN NGUYEN-WIDROW a
Agus Muliantara, bNgurah Agus Sanjaya ER Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Udayana email : [email protected], [email protected]
ABSTRAK Indonesia adalah salah satu negara yang terletak di daerah katulistiwa dengan iklim tropis yang hangat. Letak Negara Indonesia ini memungkinkan munculnya vegetasi alami yang sangat besar. Oleh karena banyaknya tanaman khas Indonesia khususnya tanaman khas daerah Bali, tentu hal ini perlu dilakukan pendataan terhadap tanaman-tanaman tersebut. Paling tidak dalam hal mengenali/mengklasifikasi jenis tanaman. Sehingga informasi mengenai kegunaan tanaman tersebut tidak hilang akibat punahnya tanaman tersebut di habitat aslinya. Dalam bidang teknik informatika, permasalahan pengenalan objek dikenal dengan istilah Klasifikasi. Terdapat banyak metode yang dapat diterapkan untuk dapat menyelesaikan permasalahan klasifikasi. Salah satu metode klasifikasi yang sangat popular adalah metode backpropagation. Selain memiliki keunggulan, metode ini juga memiliki kelemahan salah satunya adalah proses konvergensi yang relatif lama. Salah satu penyebabnya adalah teknik inisialisasi awal bobot yang masih menggunakan teknik random konvensional. Dalam penelitian ini telah dikembangkan suatu aplikasi pengklasifikasian tanaman dengan metode backpropagation. Permasalahan inisialisasi bobot awal telah berhasil diatasi dengan memanfaatkan salah satu teknik randomisasi yaitu metode nguyen widrow. Dari hasil penelitian didapatkan bahwa pemanfaatan nguyen widrow telah berhasil meningkatkan akurasi backpropagation sebanyak 25%. Akurasi klasifikasi dari aplikasi yang telah dikembangkan rata-rata diatas 83%. Hal ini mengindikasikan aplikasi yang telah dibangun dapat menjadi salah satu solusi untuk hal klasifikasi jenis tanaman. Kata kunci: backpropagation, nguyen widrow, klasifikasi, tanaman
ABSTRACT Indonesia is a country located in the equatorial region with a warm tropical climate. This layout allows the emergence of the State of Indonesia is very big natural vegetation. Because many plants typical of Indonesia, especially Bali local specialty crops, of course it is necessary to do the survey of the plants. At least in terms of recognizing / classifying types of plants . So that the information regarding the usefulness of these plants are not lost due to the extinction of these plants in their natural habitat. In the field of information technology, object recognition problem is known as classification. There are many methods that can be applied to solve the problems of classification. One method of classification is very popular back propagation method. Besides having advantages, this method also has disadvantages one of which is a relatively long process of convergence. One reason is the initial weight initialization techniques are still using conventional random techniques. In this study has developed a classification of plant applications with back propagation method . Initial weight initialization problem has been successfully overcome by using one of the method of randomization techniques nguyen Widrow. The result showed that the use of nguyen Widrow has managed to increase the accuracy of backpropagation as much as 25%. Classification accuracy of the applications that have been developed on average above 83%. This indicates that the application has been built to be one of the solutions for the classification of types of plants. . Keywords : backpropagation, nguyen widrow, classification, plants
1. PENDAHULUAN Indonesia adalah salah satu negara yang terletak di daerah katulistiwa dengan iklim tropis
yang hangat. memungkinkan sangat besar. Papua Barat
Letak Negara Indonesia ini munculnya vegetasi alami yang Kalimantan, sumatera, Sulawesi, dan pulau-pulau di Indonesia
Muliantara, ER, Pengembangan…25
umumnya memiliki vegetasi khas dari tiap pulau. Seperti misalnya buah kepayang yang merupakan buah khas kalimantan, kita mengenal istilah mabuk kepayang, tetapi tidak tahu kepayang itu seperti apa. Buah kepayang adalah buah yang dapat dikonsumsi setelah melalui proses pengolahan. Karena keenakan mengkonsumsi buah kepayang ini, mengakibatkan sampai lupa pekerjaan lain. Sehingga muncullah istilah mabuk kepayang, yaitu mabuk keenakan karena makan buah kepayang. Lain dengan buah kepayang yang merupakan tanaman khas Kalimantan, Indonesia juga memiliki tanaman khas lainnya yaitu pohon andalas. Pohon Andalas (Morus macroura) tumbuh tersebar mulai dari India, China bagian selatan, Kamboja, Thailand, dan Indonesia. Di Indonesia tanaman ini hanya bisa ditemukan di Sumatera dan Jawa bagian barat. Habitat pohon Andalas terdapat di hutanhutan dataran tinggi dengan curah hujan yang cukup banyak pada ketinggian antara 900-2.500 meter dpl. Buah Andalas pun mirip dengan buah murbai. Buahnya berbentuk majemuk, menggerombol berwarna hijau jika masih muda dan menjadi ungu kemerahan bila telah masak. Buahnya berair dan dapat dimakan dengan rasa asam-asam manis. Untuk daerah bali khususnya, jika kita membaca purana-purana mengenai tanah Bali, maka akan didapatkan gambaran mengenai tanah bali yang asri. Begitu kaya alam bali dengan berbagai jenis tanaman, yang mana tanaman inilah yang digunakan sebagai persembahan dalam ritual keagamaan di Bali. Namun sayangnya tidak semua orang di bali ingat atau tahu akan jenis-jenis tanaman yang merupakan vegetasi alami daerah bali. Berbagai buah import yang murah datang dari luar daerah yang secara tidak langsung menggerus kelangsungan hidup keanekaragaman hayati di bali. Seperti misalnya jeruk bali yang merupakan salah satu tanaman khas bali. Jeruk bali saat ini sudah menghilang dari bali, namun dipelihara baik di daerah sukabumi, jawa barat. Daun jeruk bali yang dicampur dengan cuka dapat digunakan untuk mengobati penyakit reumatik. Atau misalnya tanaman sotong yang selain dapat digunakan sebagai obat diare, juga dapat dijadikan sebagai obat jerawat apabila dicampur dengan ketumbar.. Dalam bidang teknik informatika, permasalahan pengenalan objek dikenal dengan istilah Klasifikasi. Dalam metode klasifikasi ciriciri dari tiap objek tanaman akan digunakan sebagai dasar dalam mengenali objek tersebut. Seperti misalnya warna daun, bentuk daun, ukuran daun dan tekstur. Ciri-ciri ini nantinya akan disebut sebagai fitur (features), yang akan digunakan sebagai input ke dalam suatu metode pengenalan. Feature ini didapatkan dari proses yang disebut sebagai feature extraction. Dimana dari gambar suatu daun akan dihitung secara otomatis oleh komputer ciri-ciri/features yang terdapat padanya.
Berbagai metode yang dapat digunakan dalam proses pengklasifikasi suatu objek antara lain Back Propagation (BP), Support Vector Machine (SVM) , Learn Vector Quantitaion (LVQ) maupun Self Organizing Map. Setiap metode memiliki kelebihan dan kekurangannya masing-masing. Seperti misalnya LVQ dan SVM yang memiliki tingkat keberhasilan tinggi, namun memiliki tingkat kesulitan pemrograman yang tinggi. Berbeda dengan metode LVQ dan SVM, metode BP mudah untuk diimplementasikan meskipun masih memungkinkan terjadinya local optima (kondisi optimal semu). Local Optima ini disebabkan karena beberapa hal diantaranya adalah a. Pemilihan bobot dan bias awal yang acak b. Penentuan Jumlah Unit tersembunyi c. Penentuan Jumlah Pola Pelatihan d. Lama Iterasi Dari ke-empat permasalahan utama pada BP akan dicoba dikembangkan metode BP yang menggunakan metode inisialisasi bobot terarah yaitu nguyen widrow, dengan harapan akurasi atau kemampuan mengklasifikasinya semakin meningkatkan [1].
2. JENIS DAUN Lebih dari 250.000 – 270.000 spesies tanaman ada di dunia. Untuk itu sangatlah sulit bagi manusia untuk mengenali semua jenis tanaman tersebut. Oleh sebab itu banyak penelitian yang mencoba menawarkan berbagai macam cara/metode yang dapat digunakan untuk mengenali jenis-jenis tanaman. Seperti misalnya Neural Network [2], [3], [4]. Umumnya tanaman memiliki warna hijau pada daunnya. Sehingga jika hanya warna yang digunakan sebagai ciri untuk mengenali daun tentunya tidaklah tepat. Karena tanaman akan sulit untuk dapat dibedakan. Karena akan menimbulkan kesalahan yang sangat besar, maka diperlukan ciriciri lain dari daun yang mampu membedakan jenis tanaman seperti misalnya bentuk, tekstur, tulang daun dan ukuran daun [5].
3. EKSTRAKSI FITUR Fitur yang nantinya akan digunakan dalam penelitian ini adalah fitur warna yang didapatkan menggunakan metode color quantitation sehingga didapatkan 9 fitur warna. Dan fitur H ratio, W ratio, area ratio, roundness value, LMean, AMean, BMean, BW1, BW2 [7].
4. BACKPROPAGATION Algoritma BP merupakan algoritma yang mengadopsi cara kerja jaringan saraf pada mahluk
26 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.24-30
hidup. Algoritma ini terkenal handal karena proses pembelajaran yang mampu dilakukan secara terarah. Pembelajaran algoritma ini dilakukan dengan peng-update-an bobot balik (backpropagation). Penetapan bobot yang optimal akan berujung pada hasil klasifikasi yang tepat. Adapun arsitektur neural networknya adalah seperti gambar 1.
9. δk merupakan unit kesalahan yang akan dipakai dalam perubahan bobot layar dibawahnya. Hitung perubahan bobot wkj dengan laju pemahaman α . 10. 11. Hitung faktor δ unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi zj (j = 1,
12. Faktor δ unit tersembunyi. 13. Hitung suku perubahan bobot vji.
14. Hitung semua perubahan bobot. Perubahan bobot garis yang menuju ke unit keluaran, yaitu: 15. Perubahan bobot garis yang menuju ke unit tersembunyi, yaitu: Gambar 1. Contoh Arsitektur BP Algoritma yang dijalankan oleh MLP untuk mendapatkan bobot yang optimal adalah sebagai berikut : 1. Inisialisasi semua bobot dengan bilangan acak kecil. 2. Jika kondisi penghentian belum dipenuhi, lakukan langkah 2-8. 3. Untuk setiap pasang data pelatihan, lakukan langkah 3-8. 4. Tiap unit masukan menerima sinyal dan meneruskannya ke unit tersembunyi diatasnya. 5. Hitung semua keluaran di unit tersembunyi zj (j = 1, 2,..., p).
6. Hitung semua keluaran jaringan di unit keluaran yk (k = 1, 2,...,m).
8. Hitung faktor δ unit keluaran berdasarkan kesalahan di setiap unit keluaran yk (k = 1, 2,..., m).
Setelah tahapan training untuk penentuan bobot selesai dilakukan, maka tahapan selanjutnya adalah melakukan uji klasifikasi emosi terhadap image testing. Proses testing ini dilakukan sama halnya pada fase training, hanya saja pada fase testing tidak dilakukan pembelajaran karena boot yang digunakan adalah bobot tetap hasil training.
5. NGUYEN WIDROW Algoritma utama untuk inisialisasi bobot awal pada BP adalah menggunakan metode acak. Untuk meningkatkan proses konvergensi BP maka digunakanlah Metode Nguyen-Widrow yang menghasilkan bobot awal dan nilai bias untuk setiap layer pada arsitektur BP [1]. Ide utama dari algoritma Nguyen-Widrow adalah mengambil nilai acak kecil sebagai bobot awal jaringan saraf. Kemudian bobot ini akan dimodifikasi sedemikian rupa sehingga region of interest dibagi menjadi interval kecil. Hal ini dapat digunakan untuk mempercepat proses pelatihan dengan menetapkan bobot awal lapisan pertama sehingga setiap node diberikan sendiri Interval pada awal pelatihan. Sebagai jaringan terlatih, setiap neuron tersembunyi masih memiliki kebebasan untuk menyesuaikan ukuran interval dan lokasi selama pelatihan. Namun, sebagian besar penyesuaian mungkin akan menjadi kecil karena sebagian besar
Muliantara, ER, Pengembangan…27
gerakan berat dihilangkan oleh metode NguyenWidrow ini. Artinya penggunaan metode nguyenwidrow dalam inisialisasi bobot awal diharapkan dapat meningkatkan kecepatan tingkat konvergensi dalam proses training pada BP. Algoritma Inisialiasi Ngyuen Widrow adalah sebagai berikut : Inisialisasi bobot antara unit input dan unit tersembunyi dengan cara: - menentukan bobot antara unit input dan unit tersembunyi - Vij (lama) = bil acak antara (-ß dan ß) - Menghitung ||Vij|| - Menginisialisasi Vij:
Vij
6.
7. DESAIN SISTEM Di penelitian ini, langkah-langkah yang dilakukan adalah (i) Pengumpulan dataset, (ii) Merancang modul backpropagation, (iii) Mengimplementasikan modul backpropagation, dan (iv) Merancang modul nguyen widrow, (v) mengimplementasikan modul nguyen widrow, (vi) melakukan evaluasi atau ujicoba terhadap sistem yang dibangun. Adapun alur metodologi penelitian dapat dilihat pada Gambar 3. Pengumpulan dataset
Vij (lama) Vij
Merancang modul Backpropagation
Dimana , n = jumlah unit input p = jumlah unit tersembunyi ß = faktor skala Menentukan bias antara unit input dan unit tersembunyi dengan bilangan acak antara (-ß dan ß)
METODOLOGI PENELITIAN
Metode Penelitian yang digunakan Penelitian ini adalah sebagai berikut: Analisis Kebutuhan Sistem
Merancang modul Nguyen Widrow
Implementasi Modul menggunakan Matlab 2010a
Uji coba
Gambar 3.Alur Desain Sistem
8. ANTAR MUKA Desain Sistem Implementasi Sistem Pengujian Sistem
Adapun antarmuka yang dihasilkan dari penelitian ini adalah tampak pada gambar 4. Gambar 4 adalah antarmuka utama yang akan ditemui oleh pengguna saat pertama kali. Antar muka ini mengendung beberapa tombol yang dapat digunakan yaitu Chose Folder, Feature Extraction, Multi layer Perceptron, Clear all data. Tombol Chose Folder digunakan untuk memilih folder dataset yang akan digunakan pada proses training
Gambar 2. Metodelogi Penelitian 1.
2.
Analisis kebutuhan sistem, pada tahapan ini akan dilakukan pencarian kebutuhan awal sistem, seperti ciri-ciri/fitur yang dapat digunakan untuk mengenali suatu jenis tanaman Data yang dikumpulkan pada tahap analisis akan menjadi masukan dalam desain sistemTahap selanjutnya adalah implementasi dari desain sistem. Implementasi dari sistem menggunakan Matlab 2010a.
Gambar 4. Antar Muka Utama
28 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.24-30
untuk melakukan testing, dapat dipilih 2 cara yaitu menguji sekumpulan data atau 1 data saja. Jika dipilih menguji sekumpulan data maka tombol MLP folder testing yang harus ditekan, sehingga memunculkan pilihan folder tempat data uji diletakkan. Seperti tampak pada gambar 5.
Pada table maupun grafik tampak bahwa jumlah hidden layer yang optimal adalah sejumlah 10 buah node hidden layer. Hal ini ditunjukkan dengan nilai akurasi yang paling tinggi yaitu sebesar 90%.
Gambar 6. Grafilk Pengaruh Jumlah Node Hidden Layer pada Akurasi
Gambar 5. Pemilihan folder testing 9.
HASIL PENELITIAN
Percobaan yang pertama kali dilakukan adalah mencari seberapa banyak node hidden layer yang akan digunakan. Dari beberapa kali percobaan didapatkan hasil seperti tampak pada table 1:
Tabel 1 Pengaruh Node Hidden Layer pada Akurasi Hidden Layer 10 11 12 13 14
Rata-rata Akurasi 90% 89% 89% 89% 87%
Jika ditampilkan dalam bentuk grafik didapatkan hasil seperti tampak pada gambar 6.
Setelah nilai node hidden layer didapatkan maka dilakukan 15 kali percobaan menggunakan 10 node hidden layer. Dari 15 kali percobaan diujikan 7 kali dataset testing yang berbeda-beda sehingga total didapatkan 105 kali uji coba. Data set yang digunakan sengaja divariasikan dengan maksud menguji seberapa handal system dapat mengenali daun yang sebelumnya belum pernah dikenali oleh system. Dari hasil penelitian didapatkan nilai akurasi yang cukup tinggi yaitu rata-rata diatas 83%, nilai akurasi maksimum adalah 100% dan nilai minimum akurasi adalah 73%. Hasil percobaan secara lengkap dapat dilihat pada table 2. Hal ini berbeda dengan nilai akurasi system yang tidak menggunakan Nguyen Widrow sebagai alat bantu inisialisasi awal bobot. Adapun data percobaan yang tidak menggunakan inisialisasi Nguyen Widrow ditampilkan pada table 3.
Tabel 2. Hasil percobaan Backpropagation + Nguyen Widrow percobaa n
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
hasil testing a
b1
b2
b3
b4
b5
b6
c
ratarata
stdev
70.83% 70.83% 58.33% 62.50% 62.50% 70.83% 70.83% 79.17% 79.17% 70.83% 75% 83.33% 64% 75% 62.50%
90.91% 90.91% 86.36% 81.82% 86.36% 81.82% 90.91% 86.36% 90.91% 90.91% 90.91% 90.91% 86% 86.36% 81.82%
100.00% 100.00% 100% 100% 100% 90.91% 90.91% 100% 100% 90.91% 100% 100% 90.91% 90.91% 90.91%
72.73% 72.73% 72.73% 72.73% 81.82% 81.82% 72.73% 81.82% 81.82% 72.73% 81.82% 81.82% 72.73% 72.73% 72.73%
90.91% 90.91% 81.82% 81.82% 81.82% 72.73% 90.91% 81.82% 90.91% 90.91% 90.91% 81.82% 90.91% 90.91% 81.82%
90.91% 90.91% 90.91% 81.82% 90.91% 90.91% 81.82% 90.91% 90.91% 81.82% 90.91% 90.91% 81.82% 72.73% 81.82%
86.36% 86.36% 90.91% 90.91% 90.91% 86.36% 86.36% 90.91% 86.36% 86.36% 86.36% 90.91% 86.36% 86.36% 86.36%
70% 70% 75% 70% 75% 75% 75% 85% 85% 80% 75% 85% 75% 75% 75%
84% 84% 82% 80% 84% 81% 82% 87% 88% 83% 86% 88% 81% 81% 79%
11% 11% 13% 12% 11% 8% 9% 7% 7% 8% 9% 6% 10% 8% 9%
Muliantara, ER, Pengembangan…29
Tabel 3. Hasil percobaan Backpropagation tanpa Nguyen Widrow hasil testing percobaan 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
a
b1
b2
b3
b4
b5
b6
c
45.83% 45.83% 33.33% 37.50% 37.50% 45.83% 45.83% 54.17% 54.17% 45.83% 50.00% 58.33% 39.00% 50.00% 37.50%
67.91% 67.91% 63.36% 58.82% 63.36% 58.82% 67.91% 63.36% 67.91% 67.91% 67.91% 67.91% 63.00% 63.36% 58.82%
76.00% 76.00% 76.00% 76.00% 76.00% 66.91% 66.91% 76.00% 76.00% 66.91% 76.00% 76.00% 66.91% 66.91% 66.91%
44.73% 44.73% 44.73% 44.73% 53.82% 53.82% 44.73% 53.82% 53.82% 44.73% 53.82% 53.82% 44.73% 44.73% 44.73%
63.91% 63.91% 54.82% 54.82% 54.82% 45.73% 63.91% 54.82% 63.91% 63.91% 63.91% 54.82% 63.91% 63.91% 54.82%
66.91% 66.91% 66.91% 57.82% 66.91% 66.91% 57.82% 66.91% 66.91% 57.82% 66.91% 66.91% 57.82% 48.73% 57.82%
62.36% 62.36% 66.91% 66.91% 66.91% 62.36% 62.36% 66.91% 62.36% 62.36% 62.36% 66.91% 62.36% 62.36% 62.36%
41.00% 41.00% 46.00% 41.00% 46.00% 46.00% 46.00% 56.00% 56.00% 51.00% 46.00% 56.00% 46.00% 46.00% 46.00%
Grafik perbandingan hasil penelitian dapat dilihat pada gambar 13. Dimana pada grafik tampak perbandingan antara system yang menggunakan
Nguyen Widrow dan system menggunakan Nguyen Widrow.
ratarata 59% 59% 57% 55% 58% 56% 57% 61% 63% 58% 61% 63% 55% 56% 54% yang
Gambar 13. Grafik perbandingan system dengan Nguyen Widrow dan tanpa Nguyen Widrow
stdev 13% 13% 14% 13% 13% 9% 10% 8% 8% 9% 10% 8% 11% 9% 10% tidak
30 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.24-30
Tampak dengan jelas bahwa rata-rata akurasi dari system Backpropagation + Nguyen Widrow (batang berwarna biru-ttik) rata-rata lebih tinggi dibandingkan system yang tidak menggunakan Nguyen Widrow (batang berwarna merah-garis). Hal ini menunjukkan bahwa penambahan Nguyen Widrow pada inisialisasi awal Backpropagationsangat membantu meningkatkan akurasi/ketepatan system dalam mengenali objek yang dilatih.
10. ANALISA HASIL PENELITIAN Berdasarkan hasil penelitian yang dilakukan didapatkan bahwa penambahan modul nguyen widrow mampu meningkatkan akurasi system. Hal ini sangat sesuai dengan apa yang menjadi teori dari nguyen widrow. Karena inisialisasi bobot backpropagarion yang pada awalnya random (acak) dibuat mendekati karakteristik dari jaringan backpropagationn yang dibentuk
11. SIMPULAN Berdasarkan hasil penelitian didapatkan beberapa kesimpulan yaitu : 1. Backpropagation dan Nguyen Widrow dapat diimplementasikan dalam system pengenalan daun dengan rata-rata akurasi sebesar 83%. 2. Penambahan modul Nguyen Widrow dapat meningkatkan akurasi pengenalan system terhadap objek yang diteliti. Dalam hal ini adalah objek daun.
12. SARAN Adapun saran yang dapat diberikan adalah sebagai berikut : Akurasi ini akan bertambah sesuai dengan pertambahan jumlah data training, karena Akurasi terhadap data testing masih bisa dianggap kurang sehingga untuk penelitian kedepan, perlu diadakan perubahan terhadap teknis yang ada pada metode ini
13. DAFTAR PUSTAKA [1] Derrick Nguyen and Bernard Widrow. Improving the learning speed of 2-layer neural networks by choosing initial values of the adaptive weights. Proceedings of the International Joint Conference on Neural Networks, 3:21–26, 1990. [2] G.J. Zhang, X.F. Wang, D.S. Huang, Z. Chi, Y.M. Cheung, J.X. Du, and Y.Y. Wan, “A Hypershere Method For Plant Leaves Classification”, in Proceeding of the International Symposium on Intelligent, Multimedia, Video and Speech Processing,
Hong Kong, China, 20-22 October 2004, pp. 165-168. [3] H. Fu, and Z. Chi, “Combined thresholding and neural network approach for vein pattern extraction from leaf images”, in Proceeding of Vision, Image and Signal Processing, Vol. 153, Issue. 6, December 2006, pp. 881-892. [4] H. Fu, and Z. Chi, “A Two-Stage Approach for Leaf Vein Extraction”, in Proceeding on International Conference on Neural Network & Signal Processing, Nanjing, China, 14-17 October 2003, pp. 208-211. [5] Howard Demuth and Mark Beale. Neural Network Toolbox, User’s Guide, Version 4. The MathWorks, Inc., Natick, MA, revised for version 4.0.4 edition, October 2004. http://www.mathworks.com. [6] J. Pan, and Y. He, “Recognition of plant by leaves digital image and neural network”, in Proceeding of International Conference on Computer Science and Software Engineering, Wuhan, Hubei, China, 12-14 December 2008, pp. 906-910. [7] Pornpanomchai, Chomtip, “ Leaf and Flower Recognition System (e-Botanist)“, in IACSIT International Journal of Engineering and Technology, Vol.3, No.4, August 2011, pp. 347-351.
Vol. 7, No.1, April 2014
ISSN 1979-5661
Prototipe Sistem Identifikasi Kunjungan Wisatawan di Bali Berbasis RFID (Radio Frequency Identification ) I Made Widhi Wirawan Program Studi Teknik Informatika, JurusanIlmuKomputer Fakultas Matematika dan Ilmu Pengetahuan Alam UniversitasUdayana Email :[email protected]
Abstrak Perkembangan teknologi Radio Frequency Identification (RFID) saat ini sangatlah pesat. Teknologi pembacaan media data secara contactless ini merupakan pengembangan dari teknologi Barcode yang selama ini telah banyak digunakan sebagai pembacaan media data dengan beberapa kelebihan, diantaranya adalah penyimpanan data yang lebih banyak dan pembacaan yang tidak harus sejajar dengan obyek data. Dalam penelitian ini, pemanfaatkan teknologi RFID dalam bentuk smartcard visa yang diaplikasikan dibidang pariwisata, dengan membangun sebuah prototipe sistem Identifikasi Kunjungan Wisatawan di Bali berbasis RFID. Dalam pengaplikasiannya dengan memanfaatkan pengintegrasian data dibidang keimigrasian dan kepariwisataan, yaitu data kedatangan serta keberangkatan wisatawan asing khususnya di Bali, untuk memantau pola kunjungan wisatawan, sehingga dapat dijadikan informasi penunjang dalam pengembangan industri kepariwisataan khususnya di Bali. Prototype sistem aplikasi yang dibangun berbasis client server dengan menggunakan Microsoft SQL Server 2000 sebagai server data, dan Microsoft Visual Basic 6.0 sebagai pemrograman antarmukanya. Kata kunci: RFID, Smartcard visa, kunjungan wisata, pariwisata, Bali
Abstract The development technology Radio Frequency Identification (RFID) nowdays is rapidly. This contaclessly technology media reading data is development from Barcode technology which all this time has usually used for data media reading with some advantages, among them are more data saving and reading which must not equal with data object. In this research, utilization of RFID technology in form of smartcard visa which applied in tourism sector, with build RFID Application system prototype of Identification for tourism and visit in Bali. In the application by utilize integration data in immigration sector and tourism bussiness, namely arrival and departure data of foreign tourist specially in Bali, to monitor the pattern of tourism visit, so it can be used for supporting information in development of tourism industry especially in Bali. Aplication system prototipe is established on basis of client server by using Microsoft SQL Server 2000 as data server, and Visual Basic 6.0 as interface programming. Keywords : RFID, Smartcard visa, Tourism and visit, Tourism, Bali.
1. PENDAHULUAN Perkembangan teknologi Radio Frequency Identification (RFID) dewasa ini sangatlah pesat. Teknologi identifikasi ini banyak digunakan diperbagai bidang kehidupan untuk membantu dalam pengidentifikasian suatu obyek karena memiliki kelebihan daripada teknologi pengidentifikasian sebelumnya seperti Barcode, diantaranya adalah mampu membaca suatu obyek data dengan ukuran tertentu, tanpa melalui kontak langsung (contactless) dan tidak harus sejajar
dengan obyek yang dibaca, selain dapat menyimpan informasi pada tag RFID sesuai dengan kapasitas penyimpanannya (Tarigan, 2004). Teknologi ini banyak dimanfaatkan untuk membantu mengatasi permasalahan yang berkaitan dengan pengidentifikasian suatu obyek seperti identifikasi barang pada supermarket, atau tracking untuk perekaman suatu obyek. Bali sebagai salah satu daerah tujuan wisata di Indonesia, memiliki karakteristik tersendiri diantara daerah-daerah tujuan wisata lainnya, diantaranya keindahan bentang alam dan
32 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.42-49
kekhasan adat istiadat serta budayanya (Manuaba dkk, 1999). Kedepannya, proses pengembangan kepariwisataan di Bali perlu ditingkatkan lagi, dan didukung oleh data yang lebih akurat untuk pengembangan industri kepariwisataan, serta promosi pariwisata yang lebih terfokus dan efisien. Misalnya dengan mengoptimalkan data kunjungan wisata yang diantaranya selama ini berdasarkan data kedatangan wisatawan asing pada Direktorat Keimigrasian. Oleh karena itu, dibutuhkan suatu perangkat yang dapat membaca data kunjungan wisatawan pada lokasi wisata, dan memberi informasi pendukung yang dapat dijadikan data pengembangan kepariwisataan, serta sistem yang dapat meningkatkan keamanan dan kenyamanan wisatawan khususnya daerah tujuan wisata di Bali dengan memanfaatkan berbagai sumberdata, dan mengoptimalkan data tersebut sehingga dapat lebih bermanfaat dan efisien. Diperkenalkan teknologi RFID (Radio Frequency Identification) dalam hal pengidentifikasian kunjungan wisatawan secara contactless yang diharapkan dapat menyediakan informasi pendukung yang lebih akurat bagi pengembangan industri pariwisata selain penunjang keamanan wisata. 2. TINJAUAN PUSTAKA Dalam beberapa tahun terakhir ini teknologi identifikasi berbasis frekuensi radio (Radio Frequency Identification / RFID) berkembang dengan pesat. RFID merupakan teknologi penangkapan data yang dapat digunakan secara elektronik untuk mengidentifikasi, melacak, dan menyimpan informasi yang tersimpan dalam tag RFID (Wilshusen, 2005). Tag RFID (Transponder) akan mengenali diri sendiri ketika mendeteksi sinyal dari perangkat yang kompatibel, yaitu pembaca RFID (RFID Reader). RFID terdiri dari perangkat yang hanya dapat dibaca saja (Read Only) , dibaca dan ditulis (Read/Write), serta sekali tulis dan banyak baca (write once read many), juga tidak memerlukan kontak langsung maupun jalur cahaya untuk dapat beroperasi. RFID dapat berfungsi pada berbagai variasi kondisi lingkungan, dan menyediakan tingkat integritas data yang tinggi. (Tarigan, 2004) Teknologi RFID merupakan bagian dari RF (Radio Frequency) yang digunakan sebagai media identifikasi secara wireless yang terdiri dari dua komponen (Karigiannis dkk, 2007) yaitu : a. RFID Tag (Transponder), yang terdiri dari sebuah device yang kecil yang tertanam dalam sebuah media seperti label, smartcard, dan lainnya, yang memiliki identifikasi yang unik dan memori yang dapat ditulis.
b. RFID Readers, merupakan sebuah device yang dapat berkomunikasi tanpa kontak langsung dengan suatu tag untuk mengidentifikasikannya apabila terhubung dalam suatu asosiasi data. Komunikasi tanpa kontak langsung (wireless) pada radio frekuensi (Karigiannis dkk, 2007) seperti yang diperlihatkan pada gambar 1:
Gambar 1. Contoh komunikasi wireless pada radio frekuensi
Mifare Mifare merupakan suatu teknologi contactless smartcard yang dikenal luas, dilengkapi dengan kartu dan reader. Teknologi Mifare berdasarkan ISO 14443, dengan frekuensi 13.56 MHz. Mifare banyak digunakan untuk aplikasi ewallet, access control, ID card, ticketing, dan lain sebagainya. Dari sisi kapasitas, terdapat Mifare Standard 1k yang memiliki kapasitas penyimpanan 768 byte, terdiri dari 16 sektor dan Mifare Standard 4k memiliki kapasitas 3 kilobyte, yang terdiri dari 64 sektor (Omnikey, 2008). Identifikasi Pada Tag RFID Format pengidentifikasian me ngalami perkembangan sesuai dengan kebutuhan, misalnya pada kapasitas penyimpanan, pembacaan, keamanan, dan lainnya. Ada beberapa format standar dalam pengidentifikasian tag RFID yang dalam penerapannya dikembangkan oleh masingmasing vendor sesuai dengan produknya. Saat RFID reader berkomunikasi dengan tag, RFID Reader akan mengidentifikasi tag dan dijawab oleh tag dengan mengirimkan Answer To Reset (ATR) berupa identitas dari tag RFID. Setelah dimengerti oleh RFID Reader, selanjutnya RFID Reader akan mengirim perintah untuk berkomunikasi dengan tag RFID. Format ATR menurut standar ISO 14443A pada kartu memori (T≠ CL) (Omnikey, 2007) adalah seperti pada tabel 1. Tabel 1. Format ATR Memory Card (T≠CL) ISO 14443A
Keterangan : Byte 0 adalah berupa karakter inisial (3B).
Wirawan, Prototipe…33 Byte1 adalah berupa header (0x0F), 0 menandakan informasi spesifikasi yang diberikan, F (15) adalah jumlah byte dalam Content Byte 2 adalah 0xFF , Selalu sama. Byte 3 sampai Byte 15, adalah isi dari content berupa identitas kartu (UID/PUPI/SNR) , pada ISO 14443 – 123 misalnya kartu Mifare, UID +1 Byte BCC. Byte 16 adalah indikator tipe kartu. Tipe kartu diantaranya seperti pada tabel 2. Tabel 2. Standar Tipe Kartu Standar Type Keterangan Kartu Nibble terendah: ISO 14443A_123 X1 1,2,3, dari ISO 14443A ISO 15693_12 X3 1,2, dari iCLASS ISO 15693_123 X4 1,2,3 dari ISO 15693 ISO 14443B_123 X6 1,2,3, dari ISO 14443B Nibble tertinggi: ISO 14443A_123 Chip standar 0X Chip Standar MIFARE_ST1K 1X Tipe Mifare 1K MIFARE_ST4K 2X Tipe Mifare 2K MIFARE_ULIT 3X Tipe Mifare Ultra Light Contoh ATR dengan ISO 14443A, Mifare 1K dengan content: FF + UID + BCC + Rest 00 + Tipe kartu adalah seperti pada tabel 3. Tabel 3. Contoh ATR ISO 14443A
Untuk tipe contectless Smartcard sebagai fungsi penyimpanan (Storage Card) menggunakan ATS (Answer To Select) sebagai pengganti pemetaan pada ATR (PCSC, 2007). Pada tipe ini, ATS sebagai identifikasi kartu, dan UID dapat dibaca setelah RFID Reader memberikan perintah tersendiri untuk membacanya, dan dilanjutkan dengan pemberian perintah penulisan data. 3. METODE PENELITIAN Metode System Development Life Cycle (SDLC). Metode yang dipakai dalam perancangan sistem ini mengacu pada pengembangan System Development Life Cycle (SDLC). SDLC (Systems Development Life Cycle). adalah proses evolusioner yang diikuti dalam menerapkan sistem dan sub sistem informasi berbasis computer. Analisis dan Perancangan Sistem Analisis Sistem
Untuk membuat suatu sistem yang dapat menyimpan hasil pembacaan RFID dan komunikasi data antara RFID Reader/Writer dengan Server data, dilakukan langkah langkah penelitian dengan menentukan batasan-batasan sistem, menentukan data-data yang akan dicatat, membuat suatu diagram E-R Model, menentukan tabel basis data dan relasinya, membuat DFD System, merancang dan membuat program tampilan sistem sebagai pendukungnya, serta melakukan pengujian sistem dengan metode Simulation Test (Myers dalam Kristanto, 2004).
Perancangan Sistem Pada kasus penelitian ini, untuk memonitor kunjungan wisata bagi wisatawan asing di Bali, digunakan model isian data kedatangan dan keberangkatan pada Tempat Pemeriksaan Imigrasi (TPI) di Bandara Internasional Ngurah Rai Bali, dengan Orang / Wisatawan asing yang terkatagorikan menggunakan Visa On Arrival (VOA) atau visa saat kedatangan dan mendapat Izin kunjungan sebagai fokusnya, seperti yang terlihat pada gambar 2. Para wisatawan tersebut pada saat kedatangan di bandara melalui Tempat Pemeriksaan Imigrasi, membayar VOA pada tempat yang telah ditentukan, selanjutnya mendaftarkan identitas dirinya melalui petugas Imigrasi dengan menunjukkan paspor serta isian data kedatangan dan mendapat izin kunjungan, selanjutnya data tersebut tercatat pada database keimigrasian. Kemudian wisatawan tersebut diberikan smartcard visa sekaligus sebagai Izin kunjungan yang hanya berisi identitas UID (Unique Identification) dalam RFID, serta pada fisik smartcard tercetak identitas umum wisatawan tersebut, sehingga dapat dijadikan kartu identitas sementara selama tinggal di Indonesia selain paspor. Paspor juga ditempelkan label visa yang berisi identitas kedatangan dan tera izin kunjungan serta diberikan stempel keimigrasian sebagai bukti bahwa wisatawan yang bersangkutan telah secara resmi masuk wilayah Indonesia sesuai dengan aturan yang masih berlaku (Keputusan Menteri Kehakiman RI, 1995).
4. Gambaran Umum Sistem Pada kunjungan wisatanya, wisatawan akan melewati beberapa daerah pembacaan smartcard visa yang dapat berupa tempat-tempat wisata atau tempat-tempat umum lainnya. Pembacaan melalui RFID Reader/Writer akan mengirimkan data UID pada smartcard visa tersebut ke data server Keimigrasian, untuk dicatat
34 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.42-49
sebagai tanda wisatawan tersebut telah mengunjungi daerah tersebut. Begitu juga untuk pembacaan RFID Reader/Writer yang lainnya. Selain itu juga dilakukan penulisan counter kunjungan wisata pada smartcard visa melalui RFID Reader/Writer pada lokasi wisata tersebut
dan dapat dimanfaatkan untuk kepentingan kepariwisataan. Demi keamanan dan kenyamanan berwisata, wisatawan dapat menggunakan smartcard visa sebagai pengganti paspor/identitas selama melakukan kunjungan wisata di Bali.
Kedatangan Input Data Dinas Pariwisata
Wisatawa n RFID Smart Card Visa Data Keimigrasian RFID Smart Card Visa
RFID Reader Client Obyek Wisata RFID Smart Card 1 Visa RFID Reader
Clear RFID Smart Wisatawa Card Visa nKeberangkatan
Client Obyek Wisata RFID Smart Card 2 Visa
Wisatawan
Direktorat Keimigrasian Gambar 2. Ilustrasi prototipe sistem aplikasi RFID smartcard visa untuk kunjungan wisata di Bali.
Saat meninggalkan Indonesia, wisatawan tersebut melaporkan bekerangkatannya melalui Tempat Pemeriksaan Imigrasi di area keberangkatan Internasional dengan menunjukkan paspor dan atau smartcard visa nya untuk ditandai oleh petugas keimigrasian berupa stempel keberangkatan, data UID pada smartcard visa akan dinonaktifkan pada database keimigrasian, dan kemudian smartcard visa tersebut menjadi tidak aktif, serta counter jumlah kunjungan pada smartcard visa dihapus. Selanjutnya smartcard visa dapat dijadikan cenderamata sebagai tanda wisatawan tersebut pernah berkunjung ke Indonesia. Administrator server data Keimigrasian, bertanggung jawab penuh terhadap keamanan data, dan memberikan pelayanan yang berkaitan dengan informasi data Keimigrasian kepada pihak lain sesuai dengan jenis informasi dan wewenang berdasarkan ketentuan yang berlaku, seperti untuk keperluan Keimigrasian, Intelijen, dan Kepolisian, serta pihak ketiga lainnya seperti Dinas Kepariwisataan. Untuk kepentingan pengembangan kepariwisataan di Bali, informasi mengenai kunjungan wisata bagi wisatawan asing di Bali
melalui server data keimigrasian dapat diakses melalui permintaan informasi kepada server data Keimigrasian melalui jaringan yang terhubung antara Dinas Kepariwisataan dan Keimigrasian, tentu saja data yang diperoleh sebelumnya telah diverifikasi oleh Administrator data server Keimigrasian mengenai data yang boleh diakses oleh pihak ketiga sesuai ketentuan yang berlaku untuk pelayanan informasi data Keimigrasian, seperti jumlah wisatawan, jenis kelamin, kewarganegaraan, dan lokasi wisata yang terbaca pada RFID Reader/Writer yang telah dikunjungi oleh wisatawan dalam kunjungan wisatanya beserta waktu rata-rata kunjungan wisata pada lokasi wisata tersebut, sehingga data-data tersebut dapat dimanfaatkan untuk keperluan pengembangan kepariwisataan di Bali. Data Flow Diagram (DFD) Sistem Perancangan sistem dengan menggunakan Data Flow Diagram (DFD) berguna untuk mengetahui kebutuhan sistem dan memberikan gambaran yang jelas serta rancang bangun yang lengkap kepada programer untuk membangun sistem aplikasi yang nantinya dibuat. DFD akan menunjukkan dari mana asal data, kemana tujuan
Wirawan, Prototipe…35 data, dimana data disimpan, proses apa yang dilakukan terhadap suatu data, apa yang dihasilkan dari pengolahan data, serta proses proses yang lainnya.(Kristanto, 2004). Pada DFD Level 0 dari sistem akan menunjukkan gambaran umum dari sistem seperti yang ditunjukkan pada gambar 3.
Penulisan data pada smartcard visa berupa penulisan nilai counter kunjungan wisata melalui fungsi penulisan pada RFID reader/writer, yang dalam penelitian ini adalah Omnikey Cardman 5321. Data yang akan diisi adalah counter kunjungan wisata para wisatawan asing pada saat perekaman kunjungan wisata di lokasi wisata, seperti yang terlihat pada gambar 5.
Gambar 3. DFD Level 0 Terdapat empat jenis pengguna yang terdapat dalam sistem ini yaitu Administrator, User Keimigrasian, Operator, serta Dinas Pariwisata sebagai pihak ketiga yang memanfaatkan data layanan keimigrasian pada prototipe sistem aplikasi ini. Pembacaan dan Penulisan SmartCard Visa Pembacaan UID SmartCard Visa pada penelitian ini pada dasarnya adalah proses pengidentifikasian jenis Reader dan pengkonversian byte data UID kedalam bentuk string (Heksadesimal) untuk selanjutnya dibaca sebagai nilai UID dalam sistem. Alur perencanaan prosesnya pembacaan data pada smartcard visa pada perancangannya akan terlihat seperti pada gambar 4.
Gambar 5. Flowchart penulisan data SmartCard Visa
Gambar 4. Flowchart pembacaan data SmartCard Visa
5. HASIL DAN PEMBAHASAN Implementasi Sistem Implementasi sistem adalah penerapan teori-teori dan rancangan sistem menjadi sistem yang sesungguhnya. Pembahasan meliputi sistem dokumentasi, kebutuhan sistem, capture-capture antarmuka program dari proses-proses yang bekerja didalamnya, serta dilakukan pengujian sistem dengan menggunakan Simulation Test, yaitu pengujian yang dilakukan dengan mendemonstrasikan sistem dengan mencoba meniru keadaan pada lingkungan pada saat sistem ini dilakukan (Myers dalam Kristanto, 2004)
36 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.42-49
Pendataan Imigrasi Pada form pendataan imigrasi kedatangan, user keimigrasian memasukkan data kedatangan yang berupa data wisatawan, locket kedatangan, Visa ID dan UID yang terdapat pada smartcard visa yang diberikan kepada wisatawan, disamping Visa ID yang tertempel pada paspor dan cap imigrasi sebagai tanda kedatangan orang asing di indonesia. User dan waktu pendataan secara otomatis tercatat berdasarkan user yang login dan waktu pada server. Data pada form tersebut nantinya akan tersimpan dalam tabel data_wisatawan, tabel smartcard_visa, tabel Visa, dan tabel data_keimigrasian. Seperti pada gambar 6., sedangkan pada pendataan keberangkatan seperti pada gambar 7, form keberangkatan wisatawan berfungsi sebagai pelaporan bahwa wisatawan telah meninggalkan wilayah indonesia. Oleh user keimigrasian, diinputkan data keberangkatan yang berupa loket keberangkatan, serta menonaktifkan UID. Setelah diinputkan UID atau Visa ID, sistem akan memverifikasi status smartcard. Bila masih aktif, sistem akan menampilkan data wisatawan, dan meng- inputkan data keberangkatan ke tabel data_keimigrasian, serta menonaktifkan UID smartcard visa pada tabel smartcard_visa saat user keimigrasian menekan tombol proses. Pada saat yang bersamaan dilakukan pembacaan counter kunjungan wisata pada sistem, dan penulisan counter kunjungan pada smartcard visa dengan mengembalikannya kembali pada nilai 0 (reset). Perekaman Lokasi Kunjungan Wisata Pada menu rekam lokasi kunjungan wisata, terdapat form rekam kunjungan wisata, yang diperuntukkan bagi user dengan status operator. seperti terlihat pada gambar 8.
Gambar 6. form pendataan saat kedatangan
Gambar 7. form pendataan saat keberangkatan
Gambar 8. Tampilan form rekam lokasi perjalanan wisata Melalui RFID Reader/Writer, Proses perekaman dan penulisan counter kunjungan wisata dilakukan setelah wisatawan memperlihatkan smartcard visa nya, dan oleh operator diinputkan pada sistem saat wisatawan masuk dan keluar lokasi wisata. Data rekam lokasi perjalanan wisata akan tersimpan pada tabel perjalanan_wisata Apabila smartcard visa dalam kondisi tidak aktif, maka sistem akan mereset (mengembalikan ke nilai 0) pada smartcard visa. Bila smartcard visa dalam kondisi aktif, sistem akan meminta konfirmasi jumlah kunjungan wisata yang telah tercatat pada database, dan selanjutnya menuliskan jumlah kunjungan yang telah dilakukan, baik secara keseluruhan maupun counter kunjungan pada lokasi tersebut. Selanjutnya smartcard ini dapat dimanfaatkan diberbagai anjungan wisata pada lokasi tersebut. Pihak pengelola kepariwisataan dapat memberikan fasilitas lebih apabila counter kunjungan wisata pada smartcard visa telah melebihi jumlah kunjungan yang telah ditentukan sebagai penghargaan bagi wisatawan tersebut, dan menjadikan motivasi untuk lebih giat melakukan kunjungan wisata.
Wirawan, Prototipe…37 Pembahasan Prototipe sistem aplikasi ini didesain sebagai salah satu bagian dari modul keseluruhan yang terdapat pada sistem informasi keimigrasian dan diharapkan dapat dipergunakan sebagai solusi pengembangan kepariwisataan khususnya di Bali, namun tidak semua proses keimigrasian pada sistem informasi keimigrasian yang sesungguhnya ada pada prototipe sistem aplikasi ini, seperti pemberian izin kunjungan setelah pemeriksaan daftar cekal, dan lainnya berdasarkan aturan yang berlaku, dan proses pendataan oleh user keimigrasian akan tercatat pada data keimigrasian. Perancangan yang dibuat dengan mengadopsi dari permasalahan yang ada, dan diimplementasikan dengan sistem aplikasi yang sederhana dengan memanfaatkan teknologi RFID sebagai media pembacaan data dan perekaman kunjungan wisata. Penelitian ini tidak membahas secara khusus mengenai Privacy dan RFID Security, karena teknologi RFID yang selalu berkembang. Namun secara sederhana, dalam penelitian ini untuk menghindari adanya pemalsuan dan manipulasi data yang tersimpan dalam RFID smartcard dan terbaca oleh RFID Reader/Writer yang tidak terautentifikasi pada sistem aplikasi ini, dalam perancangan dan implementasinya, secara khusus tidak menempatkan data yang bersifat rahasia dalam tag RFID pada wujud smartcard visa, namun hanya membaca UID yang secara unik sebagai pengenal RFID smartcard yang diproduksi oleh vendor RFID smartcard pada saat proses produksinya. Dan melakukan pembacaan serta penulisan data pada smartcard visa yang berupa nilai counter kunjungan wisata. Setelah Prototipe sistem aplikasi RFID smartcard visa untuk kunjungan wisata di Bali ini didemonstrasikankan dan dilakukan pengujian dalam bentuk Simulation Test, dengan mengasumsikan bahwa sistem aplikasi ini adalah bagian dari sistem keimigrasian yang lebih utuh, potongan prototipe sistem ini diberikan masukan berupa pendataan keimigrasian bagi orang asing yang diasumsikan berkunjung ke Indonesia khususnya Bali melalui pintu kedatangan Internasional Bandara Ngurah Rai, dan begitu juga keberangkatannya. User dan status kewenangannya dalam sistem ini akan didata oleh administrator seperti pada cuplikan tabel User_Keimigrasian gambar 9
Gambar 9. Cuplikan tabel data_keimigrasian pada dataserver Lokasi kunjungan yang terdapat pada jaringan sistem ini, sebelumnya telah didaftarkan oleh administrator pada sistem seperti pada cuplikan tabel Lokasi_Kunjungan di data server pada gambar 10.
Gambar 10. Cuplikan tabel data_keimigrasian pada dataserver Pada cuplikan tabel Lokasi_Kunjungan di data server, akan tercatat Lokasi_ID untuk kode lokasi obyek wisata, IP Address yang diberikan sebagai client pada jaringan sistem ini, nama lokasi obyek wisata, dan statusnya yaitu status1 adalah aktif, dan 2 adalah tidak aktif. Orang asing yang datang berkunjung ke indonesia diasumsikan sebagai wisatawan, dan dikhususkan bagi kedatangan dengan menggunakan Visa On Arrival (VOA) atau visa saat kedatangan. Sehingga wisatawan tersebut dengan prototipe sistem aplikasi ini, saat pendataan keimigrasian pada TPI kedatangan diberikan visa saat kedatangan dan izin kunjungan oleh user keimigrasian dengan nomor Visa_ID yang sama dengan yang didapatkannya pada sistem yang lama dengan menempelkan label visa dan tera izin kunjungan dalam paspornya. Hal ini dikarenakan masih berlakunya sistem keimigrasian saat ini dan telah terintegrasi sebelumnya yang didasarkan pada aturan yang masih berlaku, namun tambahan dalam penelitian ini, semua pendataan yang dilakukan oleh user berkaitan dengan pendataan kedatangan dan keberangkatan akan tercatat pada tabel Data_Keimigrasian, seperti pada gambar 11, berupa cuplikan data pada tabel Data_Keimigrasian pada data server.
38 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.42-49
Gambar 11. Cuplikan tabel data_keimigrasian pada data server Para wisatawan juga diberikan visa dalam bentuk smartcard, dan dapat dipergunakan sebagai identitas sementara selama berada di Indonesia serta melakukan kunjungan wisata disamping paspor, karena tercetak identitasnya pada fisik smartcard visa, sehingga dapat membantu dibidang keamanan untuk menunjang kepariwisataan seperti mengurangi kejahatan yang berkaitan dengan kehilangan atau pemerasan dengan menggunakan paspor, selain dapat memberikan informasi bagi pihak kepolisian dalam pencarian wisatawan asing. Bila terjadi kehilangan smartcard, maka wisatawan dapat melaporkan kehilangannya pada petugas keimigrasian, dan oleh user keimigrasian akan dibuatkan smartcard visa yang baru dengan menonaktifkan smartcard visa yang hilang, dan mendaftarkan UID smartcard visa yang baru pada data_wisatawan dan mengaktifkan smartcard visa tersebut, serta menuliskan isinya dengan jumlah counter kunjungan yang telah dilakukannya. Nantinya data smartcard visa tersebut akan tersimpan pada tabel SmartCard_Visa seperti yang ditunjukkan pada cuplikan tabel SmartCard_Visa di dataserver pada gambar 12.
Gambar 12. Cuplikan tabel SmartCard_Visa pada dataserver Pada gambar 12, diperlihatkan UID smartcard visa yang didata beserta Visa_ID dan SmartCard_Status. SmartCard_Status dengan angka 1 mengartikan smartcard visa tersebut masih aktif, dan wisatawan masih berada di wilayah Indonesia. Pada smartcard visa dengan status 2 menandakan bahwa smartcard visa tersebut sudah tidak aktif lagi dikarenakan wisatawan sudah meninggalkan wilayah Indonesia melalui pendataan keberangkatan. Dan bila smartcard visa berstatus 3, berarti smartcard visa tersebut tidak aktif dan tergantikan oleh smartcard visa yang baru. Penggantian tersebut dikarenakan oleh sesuatu hal seperti kehilangan, rusak dan tidak terbaca, atau sebab lainnya yang mengharuskan adanya penggantian smartcard visa.
Smartcard visa dapat dibaca dan ditulis kembali sesuai dengan jumlah kunjungan wisata yang telah dilakukan baik jumlah kunjungan keseluruhannya, maupun jumlah kunjungan pada lokasi tersebut, sehingga counter kunjungan pada smartcard visa dapat dimanfaatkan oleh wisatawan, apabila disediakan fasilitas lebih sebagai penghargaan yang diberikan oleh pengelola lokasi wisata kepada wisatawan yang telah melakukan kunjungan wisata yang melebihi nilai tertentu yang ditetapkan dinas pariwisata. Pada sistem, berdasarkan kebijakan Dinas Pariwisata, juga dapat ditentukan waktu minimal smartcard visa dapat direkam pada lokasi-lokasi wisata. Cuplikan tabel Data_kunjungan pada data server seperti terlihat pada gambar 13 berikut:
Gambar 13. Cuplikan tabel Data_Kunjungan pada dataserver Dalam tampilannya pada menu sistem, data kunjungan ini dapat dipanggil berdasarkan pencarian yang dilakukan oleh user yang memiliki wewenang untuk dapat mengakses data layanan keimigrasian untuk melihat data kunjungan wisata yang dilakukan oleh wisatawan berdasarkan jenis kelamin, dan kewarganegaraannya pada lokasilokasi kunjungan wisata, serta waktu rata-rata kunjungan di lokasi-lokasi wisata tersebut, seperti yang ditunjukkan pada gambar 14 dan gambar 15.
Gambar 14. Menu layanan kunjungan wisata berdasarkan kewarganegaraan
Wirawan, Prototipe…39
Gambar 16. Menu pencarian berdasarkan kunjungan wisata Gambar 15. Menu layanan kunj.wisata berdasarkan Jenis Kelamin Misalnya oleh pihak ketiga seperti Dinas Pariwisata dapat digunakan sebagai data penunjang pengembangan pariwisata, seperti persentase kunjungan wisatawan berdasarkan jenis kelamin dan kewarganegaraannya, serta waktu rata-rata kunjungan pada setiap lokasi wisata, sehingga dapat dijadikan acuan dalam menentukan segmen kunjungan tiap lokasi, serta melakukan promosi kepariwisataan ke negara yang bersangkutan. Untuk pengembangan kepariwisataan dan masyarakat lokal, data sebaran kunjungan untuk masing-masing lokasi kunjungan wisata dapat dijadikan acuan prosentase pemberian insentif hasil pariwisata bagi kelompok masyarakat lokal disekitar lokasi kunjungan wisata disamping memicu usaha-usaha pengembangan kepariwisataan secara swadaya di daerah-daerah lainnya. Data kunjungan wisata ini juga dapat dimanfaatkan dibidang keamanan untuk menunjang kepariwisataan seperti bila terjadi kehilangan terhadap wisatawan, pihak berwenang dapat menghubungi pihak keimigrasian untuk melihat pola kunjungan wisatawan yang bersangkutan. Seperti yang terdapat pada submenu Data Keimigrasian di menu Data, misalkan pihak berwenang ingin mencari data kunjungan wisatawan dengan nomor Visa_ID V10003, maka akan muncul data seperti pada gambar 16.
Selain pencarian berdasarkan kunjungan wisata, user keimigrasian juga dapat melihat data keimigrasian dengan pencarian berdasarkan Visa_ID, Nomor Paspor, Nama, Jenis Kelamin, dan Kewarganegaraan.
KESIMPULAN DAN SARAN Kesimpulan Setelah dilakukan penelitian dengan membangun prototipe sistem Identifikasi Kunjungan Wisatawan di Bali Berbasis RFID dan didemonstrasikan dalam bentuk simulasi, maka dapat diambil kesimpulan bahwa Prototipe sistem aplikasi ini dapat menyediakan informasi mengenai data kunjungan wisatawan, yang didapat dari perekaman kunjungan wisatawan pada lokasi-lokasi wisata yang telah masuk dalam jaringan sistem aplikasi, dengan menggunakan teknologi pengidentifikasian RFID dengan memanfaatkan data layanan keimigrasian. Sehingga, data kunjungan wisata pada Prototipe sistem ini, dapat dimanfaatkan oleh pihak ketiga seperti pengelola pariwisata, sebagai data penunjang pengembangan kepariwisataan khususnya di Bali.
Saran Prototipe sistem aplikasi RFID Smartcard untuk kunjungan wisata di Bali ini adalah salah satu solusi yang ditawarkan berkaitan dengan permasalahan yang dihadapi dibidang kepariwisataan khususnya di Bali, dengan menyediakan informasi pendukung bagi pengembangan kepariwisataan, dengan mengaplikasikan pemanfaatan teknologi RFID di bidang kepariwisataan. Tentunya prototipe sistem aplikasi ini berpeluang untuk dikembangkan pada penelitian-penelitian berikutnya, misalnya penggunaan media Tag RFID lainnya seperti label yang tertempel pada paspor, atau proses pengiriman
40 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.42-49
informasi kunjungan wisatawan yang letaknya jauh dengan database server melalui SMS, serta metode lainnya, sehingga mampu melayani penyimpanan dan pelayanan data yang lebih banyak, dan dalam waktu yang singkat serta bersamaan, serta pengembangan-pengembangan lainnya yang berkaitan dengan ide penelitian ini.
DAFTAR PUSTAKA Finkenzeller K, 2003, RFID Handbook: Fundamentals An Application In Contactless SmartCrad And Identification, Second Edition, John Wiley & Sons Ltd, England. http://www.wileyeurope.com, Tanggal akses 20 Nopember 2007. Halvorson M, 1999, Microsoft Visual Basic 6.0 Professional, Step By Step, Published by Microsoft Press. Hassan T., Chatterjee S., 2006, A Taxonomy for RFID, Proceeding of the 39th Hawaii Int. Conference on System Science, IEEE, http://csdl2. computer.org/comp/proceedings/hicss/2006/250 7/08/250780184b.pdf,Tanggal akses : 16 Nopember 2007. Holmqvist M., Stefanson G., 2006, Mobile RFID : A Case From Volvo On Innovation In SCM, Proceeding of the 39th Hawaii Int. Conference on System Science, IEEE, http://csdl2.computer.org/comp/proceedings/ hicss/2006/ 2507 /06/250760141a.pdf, Tanggal akses: 16 Nopember 2007. Juels A., Molnar D., and Wagner D., 2005, Security and Privacy Issues in E-passport, First International Conference on Security and Privacy for Emerging Areas in Communications Networks (SECURECOMM'05), IEEE, http://csdl2. computer.org/persagen/ DLAbsToc.jsp?resource Path=/dl/proceedings/&toc=comp/proceedings/s ecurecomm/2005/2369/00/2369toc.xml , Tanggal akses : 24 Desember 2007 Karigiannis T., Eydt B., Barber G., Bunn L.,Phillips T., 2007, Guidelines for Securing Radio Frequency Identification (RFID) System, Special Publication 800-98, National Institute of Standard and Technology, Technology Administration, US Department of Commerce, http://csrc.nist.gov/publications/nistpubs/80098/SP800-98_RFID-2007 .pdf Tanggal akses : 1 Agustus 2008 Kristanto A., 2004, Rekayasa Perangkat Lunak : Konsep Dasar, Penerbit Gava Media, Yogyakarta.
Manuaba A., Bagus IGN., Surata K., Sujana NN., 1999, Bali dan Masa Depannya, Penerbit PT. BP Denpasar. Murfet D., 2004, The Challenge of Testing RFID Integrated Circuits, Proceedings of the Second IEEE International Workshop on Electronic Design, Test and Applications (DELTA’04), IEEE, http://csdl computer. org/dl/proceedings/ delta/2004/2081/00/ 20810410.pdf , Tanggal akses: 16 Nopember 2007. Myerson J..M, 2007, RFID In The Supply Chain:a guide to selection and implementation, Averbech Publications, Tylor & Francis Group. LLC, http://www.tylorrandfrancis.com, Tanggal akses: 20 Nopember 2007. PCSC, 2007, Interoperability Specification for ICCs and Personal Computer System (pcsc3_v2.01.09), Part 3. Requirement for PC Connected Inteface Devices, Revision 2.01.09, http://www.pcscwork group.com/ specifications/files/pcsc3_v2.01.09.pdf Tanggal akses 1 Agustus 2008. Omnikey, 2008, Cardman 5x21 – CL Reader Developer’s Guide, DocumentVersion 1.14, Omnikey GmbH. Riggins F.J., 2006, Implementation And Usage of Radio Frequency Identification (RFID), Proceeding of the 39th Hawaii Int. Conference on System Science, IEEE, http://csdl2.computer.org/comp /proceedings /hicss/ 2006/2507/08/2507 80183.pdf, Tanggal akses : 16 Nopember 2007. Santoso H., 2003, Pemrograman Client Server Menggunakan SQL Server 2000 dan Visual Basic 6, PT. Elex Media Komputindo, Jakarta. Tarigan Z.J.H, 2004, Integrasi Teknologi RFID dengan Teknologi ERP untuk Otomatisasi Data (Studi kasus pada gudang barang jadi perusahaan furniture, Jurnal Teknik Industri Vol.6 No.2 Desember 2004, Universitas Kristen Petra, Surabaya. Wei Wang S., Hwa Chenb W., Shyong Onga C., Liuc L., Wen Chuangb Y., 2006, RFID Applications In Hospital : A case study on demonstration RFID project in a Taiwan hospital, Proceeding of the 39th Hawaii Int. Conference on System Science, IEEE, http://csdl2.computer.org/ comp/ proceedings/hicss/2006/2507/08/ 250780184a.pdf, Tanggal akses : 16 Nopember 2007. Wilshusen G.C., 2005, Information Security : Radio Frequency Identification Technology in the Federal Government, United Stated Government Accountability Office, Washington D.C., http:// www.gao.gov/new.items/d05551.pdf, Tanggal akses : 18 Agustus 2008.
Wirawan, Prototipe…41 ___, 1990, Undang-Undang Republik Indonesia Nomor 9 Tahun 1990 Tentang : Kepariwisataan, Diundangkan tanggal 18 Oktober 1990, http://www.bappenas.go.id/pesisir/document/U U%209% 201990%20 Kepariwisataan.pdf?PHPSESSID=efa253579ffc 506b5d56bcd480083498, Tanggal akses : 30 Nopember 2007. ___, 1991, Peraturan Daerah Propinsi Bali No: 3 Tahun 1991 Tentang: Pariwisata Budaya, http://www.bappenas.go.id/pesisir/document/Pe rda %20Prop.%20Bali%20No.03%20Tahun%2019 91.pdf?PHPSESSID=2feb4802924c33e2becc85 e2e57007ca, Tanggal akses : 30 Nopember 2007 ___, 1995, Keputusan Menteri Kehakiman RI Nomor : M.02-IZ.01.10 Tahun 1995 Tentang Visa Singgah, Visa Kunjungan, Visa Tinggal Terbatas, Izin Masuk, dan Izin Keimigrasian, dan perubahannya (2007) http://cirebon.imigrasi.go.id/UU/Peraturan_kei migrasian/KEPMEN_KEH_M02IZ0110_1995. DOC , Tanggal akses 15 Nopember 2007. ___, 2007, Hasil Pengawasan DPD RI Atas Pelaksanaan Undang-Undang RI Nomor 9 Tahun 1990 Tentang Kepariwisataan, Keputusan Dewan Perwakilan Daerah RI Nomor: 6/DPD/2007, http://www.dpd.go .id/dpd.go.id/documents/ pengawasan/pengawasan_ pelaksanaan_uu_ 20070411_195222.pdf, Tanggal akses : 15 Nopember 2007
Vol. 7, No.1, April 2014
ISSN 1979-5661
SISTEM INFORMASI GEOGRAFIS OBYEK WISATA BALI BERBASIS APLIKASI MOBILE DENGAN REPRESENTASI DATA SPASIAL MENGGUNAKAN XML SVG Ida Bagus Gede Dwidasmara Program Studi Teknik Informatika, Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Udayana Email : [email protected]
ABSTRAK Penelitian ini dikosentrasikan pada pembuatan sebuah sistem yang mengintegrasikan teknologi aplikasi mobile dengan Sistem Informasi Geografis menggunakan SVG dan SVG Tiny sebagai representasi data spasial peta dengan model data vektor, sehingga sistem yang dihasilkan diharapkan dapat dipergunakan sebagai pusat informasi pariwisata dengan dukungan pemetaan digital lokasi wisata. Sistem yang dibangun dapat dipergunakan pada aplikasi internet seperti web dan mobile device, sehingga pengguna mendapatkan informasi secara real-time dari server WebGIS. Kata kunci : Sistem Informasi Geografis, Garfik 2D XML SVG, Aplikasi Mobile, Perjalanan Wisata ABSTRACT Research would be concentrating on creating a system which will integrating mobile application to the Geographic Information System using SVG and SVG Tiny as the map spatial data representation with vector data model, in the hope that the resulting system would be able to be used as the main tourism information, with the use of digital mapping. The already built system can then be applied on the internet such as web and mobile device, so that all the users can gather a real time information from the Web-GIS server. Keyword : Geographic Information System, 2D Graphic XML SVG, Mobile Application, Tourism Trip
PENDAHULUAN
Melihat perkembangan teknologi mobile dan internet, dimana hampir sebagian orang sudah memanfaatkan teknologi ini, dan kemampuan sebuah handphone yang sudah mampu mengakses layanan internet, sehingga memungkinkan data dan informasi dapat diakses dengan cepat dan kapan saja. Data dan informasi yang dipublikasikan di internet tidak hanya data tekstual melainkan data visual seperti Sistem Informasi Geografis (SIG). Perkembangan SIG sangat pesat hingga tahun 90-an, arsitektur GIS difokuskan pada lingkungan standalone (statis). Arsitektur ini telah diubah agar aplikasi GIS pada workstation berubah menjadi aplikasi GIS pada mobile device (Solyman, 2006). Untuk mempresentasikan data spasial pada SIG ke dalam format web yang mampu dibaca oleh
mobile divice diperlukan beberapa cara, salah satunya adalah dengan cara mempresentasikan data spasial tersebut ke dalam bentuk XML, yang disebut dengan SVG (Scalable Vector Graphics). SVG (Scalable Vector Graphics) merupakan format file baru untuk menampilkan gambar dalam pengembangan web yang berbasis XML (eXtensible Markup Language). SVG berfungsi untuk menampilkan gambar 2 dimensi ke dalam kode XML (w3c, 2009). Kemampuan SVG tidak hanya terbatas pada lingkup web, tetapi bisa diimplementasikan pada mobile device dengan nama SVG Tiny (SVGT). Selama ini informasi wisata yang dipublikasikan di dunia internet dan aplikasi mobile lebih banyak berupa informasi tekstual, informasi spasial seperti peta digital yang mampu menunjukan posisi suatu lokasi dan informasi obyek wisata
Dwidasmara, Sistem…43
belum banyak dipublikasikan dan diterapkan pada aplikasi mobile. Melihat hal tersebut maka akan dibangun sebuah Sistem Informasi Geografis yang mampu memberikan informasi secara lengkap obyek wisata yang akan atau sudah dikunjungi, letak dan posisi objek wisata. Tetapi bukan hanya itu saja, mengingat kemampuan yang dimiliki SVG dan SVG Tiny yang mampu diimplementasiakan pada mobile device dan dapat mempresentasikan data vector pada sebuah peta, maka sistem yang akan dibangun akan dapat digunakan pada aplikasi mobile (smart phone) yang mendukung koneksi via internet untuk dapat dipakai oleh wisatawan untuk mengetahui obyek-obyek wisata dan informasi tentang pariwisata tersebut dapat dilalui secara real-time. TINJAUAN PUSTAKA Sistem Informasi Geografis Geografi adalah informasi mengenai permukaan bumi dan semua obyek yang berada diatasnya, yang menjadi kerangka bagi pengaturan dan pengorganisasian bagi semua tindakan selanjutnya. GIS adalah teknologi untuk mengelola, menganalisis dan menyebarkan informasi geografis. GIS (Geographic Information System) adalah sistem yang berbasis komputer yang digunakan untuk menyimpan data dan memanipulasi informasi geografis. GIS tersusun atas konsep beberapa lapisan (layer) dan relasi (Azis dan Pujiono, 2006).
Sistem Informasi Geografis memiliki beberapa definisi, seperti : Sistem Informasi Geografis adalah sebuah tool yang untuk memproses data spasial ke dalam sebuah informasi, dimana informasi terikat secara eksplisit, dan digunakan untuk membuat suatu keputusan (Demers, 1997). Diambil dalam arti luas, sebuah Sistem Informasi Geografis adalah pengaturan atau procedure berbasis komputer atau manual yang digunakan untuk menyimpan dan memanipulasi data referensi geografis (Aronoff, 1989). Model Data SIG SIG juga memiliki model data spasial, data spasial merupakan data mengenai objek-objek atau unsur geografis (baik di bawah, di atas dan dipermukaan bumi) yang dapat diidentifikasi dan mempunyai acuan lokasi berdasarkan sistem koordinat tertentu atau bergeoreferensi (Yousman, 2004). Dalam Sistem Informasi Geografis terdapat dua model data spasial (Gambar 1), yaitu : 1. Model data vektor, model data ini mewakili setiap fitur sebagai baris dalamsebuah tabel, fitur dan bentuk ditetapkan oleh lokasi x,y dalam sebuah ruang. 2. Model data raster, model data yang mewakili fitur sebagai matriks sel pada sebuah ruang. Setiap lapisan merupakan satu atribut. Biasanya data raster ini dinyatakan dengan grid atau sel (baris, kolom).
Gambar 1. Perbandingan Model Data Vektor dengan Raster (Harmon dan Anderson, 2003)
44 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.42-49
Scalable Vector Graphics (SVG) SVG adalah sebuah bahasa untuk menggambarkan grafik dua dimensi dan berbagai aplikasi grafis dalam bentuk XML. SVG adalah platform untuk grafik dua dimensi. SVG memiliki dua bagian : format file XML-based dan pemrograman API untuk aplikasi grafis. Fitur utama berisikan shapes, teks, dan grafik raster, dengan berbagai gaya penggambaran. SVG mendukung bahasa script seperti ECMAScript dan juga komperhensif mendukung untuk animasi (W3C, 2004). SVG merupakan produk bebas royalti, vendor netral yang dikembangkan di bawah standar W3C. Telah didukung industri yang kuat dapat dilihat dari hasil survey spesifikasi SVG yaitu termasuk Adobe, Agfa, Apple, Canon, Corel, Ericsson, HP, IBM, Kodak, Macromedia, Microsoft, Nokia, Sharp dan Sun Microsystems. SVG Viewers telah disebarkan ke lebih dari 100 juta desktop, dan terdapat berbagai dukungan banyak authoring tool (W3C, 2004). Seperti bahasa pemrograman yang ada, SVG yang merupakan turunan dari XML juga memiliki standar struktur dokumen. Untuk mendeklarasikan sebuah dokumen SVG, pertama-tama yang harus dilakukan adalah penulisan header XML dan deklarasi DOCTYPE. Contoh dari struktur dokumen SVG, seperti gambar 2.
Gambar 2. Struktur Dokumen SVG SVG Mobile SVG mobile dibuat untuk memenuhi permintaan dari komunitas pengembang SVG, agar bentuk SVG dapat menampilkan grafik vektor pada perangkat mini. Selain itu, misi dari SVG 1.0 diperuntukan khusus untuk perangkat mini sebagai area target untuk tampilan grafik vektor. Sehingga untuk memenuhi permintaan ini, kelompok kerja SVG telah berkomitmen dan berupaya untuk membuat spesifikasi SVG untuk perangkat mobile. Tetapi mengingat perangkat mobile memiliki karakteristik yang berbeda dalam
hal kecepatan CPU, memori ukuran, dan warna yang mendukung, maka dikeluarkan dua jenis turunan SVG untuk mobile, pertama SVG Tiny (SVGT) cocok untuk perangkat mobile yang sangat terbatas, kedua SVG Basic (SVGB) ditujukan untuk tingkat yang lebih tinggi untuk perangkat mobile (W3C, 2003). PostGIS PostGIS merupakan salah satu ekstensi PostgreSQL untuk spasial database. PostGIS dikembangkan oleh Refactions Research Inc, sebagai proyek penelitian teknologi database spasial. PostGIS dibuat untuk mendukung fungsionalitas penting GIS, termasuk berisikan dukungan penuh OpenGIS, konstruktur topologi lanjutan (jangkauan, permukaan, dan jaringan), tool antarmuka pengguna berbasis desktop untuk menampilkan dan merubah data GIS, dan tool berbasis web (Ramsey, 2008). Spesifikasi OpenGIS mendefinisikan dua standar untuk mengekspresikan objek spasial, diantaranya Well-Known Text (WKT) dan Well-Known Binary (WKB), baik WKT dan WKB berisikan informasi tentang tipe dari objek dan koordinatnya, adapun contoh WKT, seperti di bawah ini : POINT(0 0) LINESTRING(0 0,1 1,1 2) POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1)) MULTIPOINT(0 0,1 2) MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4)) MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,1 -2,-2 -2,-2 -1,-1 -1))) GEOMETRYCOLLECTION(POIN T(2 3),LINESTRING((2 3,3 4))) Data WKT di atas bisa dimanipulasi menjadi data WKB dengan menggunakan : bytea WKB = asBinary(geometry); text WKT = asText(geometry); geometry = GeomFromWKB(bytea WKB, SRID); geometry = GeometryFromText(text WKT, SRID); Untuk memanipulasi data dari WKT menjadi WKB diperlukan SRID (spatial referencing system identifier). OpenGIS juga memerlukan format penyimpanan internal
Dwidasmara, Sistem…45
untuk objek spasial termasuk Spatial Referencing System Identifier (SRID). SRID ini diperlukan ketika membuat objek spasial untuk dimasukkan dalam database (Ramsey, 2008). Gambaran Umum Sistem yang Dibangun Secara garis besar sistem yang dibangun merupakan SIG berbasiskan clientserver terdiri dari tiga sistem, satu aplikasi server berbasiskan web dan dua aplikasi client yang berbasiskan web dan aplikasi mobile. Gambar 2 menunjukan arsitektur SIG yang dibangun. Pada sisi server, sistem akan melakukan manipulasi data spasial dan nonspasial beserta perhitungan pencarian jalur terpendek dengan Algoritma Dijkstra dan analisis jarak lokasi pariwisata dengan jalan. Data spasial
disimpan dalam database PostgreSQL berupa data Well-Known Binary (WKB) yang nantinya akan diolah menjadi tampilan visual berupa peta oleh aplikasi server dalam format XML SVG dan SVGT untuk mobile. Format SVG digunakan karena mampu mendukung representasi data spasial vektor dan dapat diakses melalui aplikasi berbasiskan web dan mobile. Pada sisi client, aplikasi dibagi menjadi dua, sistem yang berbasiskan web dengan dukungan AJAX untuk mengirim request ke server secara asynchronous dan aplikasi mobile dibangun dengan menggunakan bahasa pemrograman JAVA (J2ME) configuration CLDC, profile MIDP dengan dukungan JSR 226 untuk dukungan grafik 2D SVG, serta menggunakan kXML sebagai parser response XML dari server (Gambar 3).
Gambar 3. Arsitektur Sistem yang Dibangun Diagram Use Case Server Gambar 4. menggambarkan bahwa aplikasi ServerMap memiliki tiga entitas aktor (pengguna), yaitu Administrator merupakan pengguna level tertinggi yang memiliki akses penuh terhadap aplikasi yang berinteraksi dengan uses case : menambah peta, mengubah peta, menghapus peta, mengubah lokasi wisata, upload photo wisata, menampilkan detail wisata, mencari
lokasi wisata, mengubah jalan, mencari jalan, menentukan jalan satu arah, mengubah layer administrasi, mencari layer administrasi. Sedangkan dua entitas aktor yang lain merupakan client dari ServerWeb yang akan mengakses data dari piranti client ke server. Aktor ini hanya dapat menampilkan informasi peta, pencarian rute terpendek dan informasi wisata.
46 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.42-49
Gambar 4. Diagaram Use Case Server
Diagram Basis Data Sistem Dalam Sistem Informasi Geografis adanya data merupakan satu hal yang sangat penting, data yang digunakan dibagi menjadi dua jenis, yaitu data spasial dan non-spasial. Data spasial berupa data geometri yang diperlukan sistem untuk merepresentasikan sebuah peta digital. Sedangkan data nonspasial merupakan data pendukung berupa tekstual atau gambar bukan peta yang dapat menjelaskan objek atau layer-layer pada peta. Melihat dari kebutuhan fungsional dari sistem yang dibangun, maka diperlukan beberapa data baik spasial maupun nonspasial, seperti : 1. Data Spasial, sistem yang dibangun akan menampilkan peta dengan layer
administrasi, jalan dan lokasi wisata. Peta yang digunakan dalam sistem tidak hanya satu melainkan lebih dari satu. 2. Data Non-Spasial, selain data spasial sistem juga membutuhkan beberapa informasi tambahan yang dapat memberikan informasi kepada pengguna, informasi yang dibutuhkan adalah informasi lokasi wisata baik berupa deskripsi dari lokasi maupun koleksi photo-photo lokasi wisata. Dari data-data yang diperlukan tersebut, dapat dirancang sebuah rancangan basis data yang menggambarkan atribut dan relasi antar tabel, adapun rancangan basis data dapat dilihat pada Gambar 5.
Dwidasmara, Sistem…47
Gambar 5. Diagram Basis Data Sistem
Aplikasi Server Map Aplikasi Server digunakan untuk memenejemen data spasial dan non-spasial, baik menambah, mengubah maupun menampilkan atau merepresentasikan data spasial dalam database menjadi tampilan peta digital, serta melakukan perhitungan jalur terpendek dari data spasial jalan yang ada pada peta. Aplikasi Server hanya dapat di akses oleh pengguna administrator yang memiliki hak akses masuk ke dalam aplikasi. Penguna ini dapat menambahkan dan menghapus peta, menambahkan layerlayer peta dan informasi non-spasial lainnya.
menampilkan response dari aplikasi server, semua manipulasi data spasial dan nonspasial dilakukan sepenuhnya oleh server (Gambar 6).
Gambar 6. Aplikasi Web Client Aplikasi Web Client (Client Map) Aplikasi Web Client (WebMap) merupakan aplikasi client yang berbasis web untuk mengakses data dan informasi baik data spasial berupa layer-layer peta dan data non-spasial dari Server Sistem Informasi Geografis (ServerMap). Hampir sebagian besar script pembentuk aplikasi web ini menggunakan JavaScript dengan teknologi AJAX, yang hanya melakukan request dan menerima response dari server, jadi aplikasi ini tidak melakukan proses pembuatan peta ataupun pembacaan langsung dari database server. Aplikasi ini hanya sebatas
Aplikasi Mobile Client (Mobile Map) Aplikasi Mobile Client (MobileMap) merupakan aplikasi pada sisi client untuk me-request data dan informasi dari server, hampir sama dengan aplikasi Web Client tetapi aplikasi ini berjalan di perangkat mobile seperti ponsel. Aplikasi ini dibuat untuk memudahkan pengguna mengakses peta dimana saja dan kapan saja secara real-time, dan digunakan sebagai sistem pendukung keputusan untuk menentukan jalur-jalur yang harus dilalui untuk menuju lokasi wisata (Gambar 7).
48 Jurnal Ilmu Komputer Vol.VII, No. 1, April 2014, hlm.42-49
Gambar 7. Aplikasi Mobile Client Kesimpulan Sistem Informasi Geografis berbasis SVG untuk wisata di Bali dengan dukungan aplikasi mobile telah berhasil dirancang dan diimplementasikan. SIG yang dibangun merupakan sistem client-server, terdiri dari satu Web Server (ServerMap) dan dua aplikasi client : Web Client (WeMap) dan Mobile Client (MobileMap). Sistem yang dibangun berhasil melakukan konversi data spasial Well-Known Binary (WKB) pada database PostgreSQL menjadi gambar peta digital dengan format XML SVG dan SVG Tiny pada sisi server. Pada sisi aplikasi Web Client diterapkan teknologi AJAX untuk melakukan request data ke server dan menerima response dari server. Sedangkan pada aplikasi Mobile Client, digunakan Java Spesification Request (JSR) 226 untuk menampilkan peta 2D SVG Tiny pada layar piranti mobile, Generic Connection Framework (GCF) untuk melakukan koneksi ke server, MIDlet untuk membuat tampilkan antarmuka pengguna, kXML untuk melakukan parsing response XML dari server dan melakukan penyimpanan data dengan MIDP RMS API. Daftar Pustaka Aronoff, S., 1989, Geographic Information System : a Management perspective, WDL Publications. Buckey, D.J., 2009, Bgis Introduction to GIS, Bio Diversity GIS, http://bgis.sanbi.org/gisprimer/page_16.htm . Cho, I., 2006, Web-tier Programming Codecamp II, Sun Microsystems. Inc. Demers, M.N, 1997, Fundamentals of Geographic Information Systems. John Wiley and Sons. Eisenberg, J. D., 2002, SVG Essentials, O’Reilly.
ESRI, 2009, Data Types anda Models, http://www.gis.com/implementing_gi s/data/data_types_and_model.html . Harmon, J. E., dan Anderson, S. J., 2003, The Design and Implementation of Geographic Information Systems, John Wiley & Son, Inc., Hoboken, New Jersey. Hui, L., 2006, Design and Implement a Cartographic Client Application For Mobile Devices using SVG Tiny and J2ME, Stuttgart. Januar, M.A, 2008, Pengantar Scalable Vector Graphics (SVG), IlmuKomputer.com. Kemp, K. K., 2008, Encyclopedia of geographic information science, SAGE Publications, Inc, California. Laurini, R., dan Thompson, D., 1992, Fundamentals of Spatial Information Systems, Academic Press, San Diego. Liu, J., 2002, Mobile Map: A Case Study in the Design & Implementation of a Mobile Application, Carleton University, Canada. PostgreSQL, 2008, PostgreSQL 8.3.7 Documentation, PostgreSQL Global Development Group, University of California. Powers, M., 2005, Getting Started with Mobile 2D Graphics for J2ME, Sun Microsystems, Inc, http://developers.sun.com/mobility/m idp/articles/s2dvg/ Prahasta, E., 2005, Konsep-Konsep Dasar Sistem Informasi Geografis, Informatika, Bandung. Ramsey, P., 2008, PostGIS 1.3.5 Manual, Refactions Research, Inc. Riesterer, J., 2007, Introduction to Topographic Maps, GeoSTAC, http://geology.isu.edu/geostac/Field_ Exercise/topomaps/grid_assign.htm . Solyman, A. A., 2006, Mobile map Technology for Application, Deutsch Gesellschaft Fuer Technische Zusammenarbeit (GTZ), http http://www.gisdevelopment.net/techn ology/mobilemapping/solypf.htm . Sunjaya, H., 2008, Sistem Informasi Geografis Wisata Kuliner, Tesis Program Magister Ilmu Komputer
Dwidasmara, Sistem…49
Sekolah Pasca Sarjana Universitas Gadjah Mada, Yogyakarta. Sun Microsystems, 2009, Java ME Tecnology - Mobile Services Architecture, http://java.sun.com/javame/technolog y/index.jsp W3C, 2003, Mobile SVG Profile : SVG Tiny and SVG Basic, http://www.w3.org/TR/2003/RECSVGMobile-20030114/ Yousman, Y., 2004, Sistem Informasi Geografis dengan MapInfo Professional, Andi Offset, Yogyakarta. Yuan, M. J., dan Sharp, K., 2004, Developing Scalable Series 40 Applications : A Guide for Java Developers, Addison Wesley Professional.