IMPLEMENTASI ALGORITMA
KNUTH MORRIS PRATT
PADA APLIKASI KAMUS ISTILAH
LATIN
FLORA DAN FAUNA BERBASIS
ANDROID
SKRIPSI
Diajukan Untuk Memenuhi
Persyaratan
Mencapai Gelar Sarjana Komputer
Oleh :
FINCE TINUS WARUWU
NPM : 13110835
PROGRAM
STUDI TEKNIK INFORMATIKA
SEKOLAH
TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
STMIK
BUDIDARMA
MEDAN
2014
ABSTRAK
Kamus merupakan alat bantu yang
digunakan untuk menterjemahakan suatu bahasa. Penggunaan kamus sangat
diperlukan namun tidak mempersulit pengguna saat menggunakannya dan dapat
mempermudah pemakai dalam menterjemahkan suatu bahasa tanpa harus membawa kamus
yang yang berbentuk buku yang memiliki ketebalan dan bobot yang cukup berat
untuk ukuran sebuah buku. Untuk itu dibutuhkan sebuah aplikasi yang dapat
mengakomodir kebutuhan setiap pemakai akan sebuah aplikasi pengganti buku yang
mudah dibawa serta dapat digunakan kapan dan dimanapun secara efektif.
Aplikasi tersebut berupa kamus mobile
android yang dapat dipasang pada perangkat mobile seperti handphone. Selain
sebagai media komunikasi dalam bentuk panggilan suara atau pesan singkat, dalam
perkembangannya merupakan media yang mampu dilengkapi dengan berbagai program
aplikasi tambahan untuk kemudahan pengguna.
Dalam skripsi ini akan dibahas tentang
cara menciptkan aplikasi kamus istilah-istilah latin flora dan fauna
berbasis mobile android dengan algoritma string matching. Aplikasi dibangun
dengan bahasa pemrograman java, dan eclipse galileo sebagai editor untuk
mengedit kode program.
Kata
Kunci : Kamus,Flora, Fauna, Android
dan String Matching
IMPLEMENTASI ALGORITMA
KNUTH MORRIS PRATT
PADA APLIKASI KAMUS ISTILAH
LATIN
FLORA DAN FAUNA BERBASIS
ANDROID
Untuk Memenuhi Persyaratan Mencapai Gelar Sarjana Komputer
Pada Strata 1 Program Studi Teknik Informatika
Yang
Dipersiapkan dan Disusun Oleh :
FINCE TINUS WARUWU
NPM : 13110835
Telah Memenuhi Persyaratan
Untuk Dipertahankan
Di Depan Dewan Penguji Pada Sidang
Meja Hijau
Medan, Agustus 2014
Pembimbing I,
Mesran, S.Kom,
M.Kom
NIDN
: 0124087801
|
Pembimbing II,
Efori Bu’ulolo, S.Kom, M.Kom
NIDN : 0112118801
|
|
Diketahui Oleh,
Ketua Program Studi Teknik Informatika
STMIK Budidarma Medan
Sinar Sinurat, ST, M.Kom
NIDN :0317086703
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada kehadirat Tuhan Yang Maha Esa, Pengasih dan Maha Penyayang karena atas berkat kesehatan dan karunia-Nya yang senantiasa menyertai penulis sehingga
dapat menyelesaikan skripsi
ini.
Dalam penulisan proposal skripsi yang berjudul “Implementasi Algoritma Knuth Morris Pratt
Pada Aplikasi Kamus Istilah Latin Flora Dan Fauna Berbasis Android”,
penulis banyak mendapatkan bimbingan, nasehat dan saran dari berbagai pihak.
Untuk itu dengan ketulusan hati, penulis mengucapkan terima kasih yang
sebesar-besarnya kepada :
1.
Bapak Mesran, S.Kom, M.Kom, selaku dosen
pembimbing I sekaligus Ketua STMIK BUDIDARMA
MEDAN yang telah berkenan meluangkan waktu untuk
memberikan petunjuk dan bimbingan kepada penulis dalam menyusun proposal skripsi ini.
2.
Bapak Efori Bu’ulolo,
S.Kom, M.Kom, selaku dosen pembimbing
II yang juga telah berkenan meluangkan waktu untuk memberikan petunjuk dan
bimbingan kepada penulis dalam menyusun proposal
skripsi ini.
3.
Bapak Sinar Sinurat,
ST, M.Kom, selaku Ketua Program Studi Teknik Informatika STMIK BUDIDARMA MEDAN.
4.
Bapak dan Ibu Dosen
yang telah mendidik dan membimbing penulis dalam mengerjakan proposal skripsi ini.
5.
Kedua Orang Tua
tercinta dan keluarga penulis yang dengan penuh perhatian dan kesabaran selalu memberikan doa,
motivasi dan semangat serta memberikan moril dan materil kepada penulis.
6.
Kepada Budidarma Programming Club (BPC) yang telah
banyak membantu dalam proses penyelesaian skripsi ini.
7.
Semua
pihak yang turut membantu dalam penyusunan skripsi yang tidak dapat penulis
sebutkan namanya satu persatu.
Penulis menyadari
sepenuhnya bahwa isi dari proposal skripsi
ini jauh dari kesempurnaan
sesuai yang diharapkan oleh penulis baik
dari segi isi dan bentuk dalam penyusunan kalimat yang tidak lain disebabkan
oleh adanya keterbatasan pengetahuan dan
waktu yang dimiliki oleh penulis. Oleh karena itu penulis
mengharapkan kritik
dan saran yang sifatnya membangun, semoga skripsi ini dapat memberikan manfaat
dan berguna bagi kita semua.
Medan,
20 Agustus 2014
Penulis,
Fince Tinus Waruwu
13110835
|
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Kamus adalah alat bantu
untuk menuntut kita memahami makna sebuh kata (Ahmad Iskak, 2008 : 52). Selain
menerangkan maksud suatu perkataan, kamus juga dapat digunakan sebagai pedoman
bagaimana suatu kata digunakan. Kamus juga berfungsi untuk membantu seseorang mengenal
perkataan baru. Selain menerangkan maksud kata, kamus juga mungkin mempunyai
pedoman sebutan, asal usul (etimologi) sesuatu perkataan dan juga contoh penggunaan bagi sesuatu
perkataan.
Kata kamus diserap dari bahasa Arab qamus,
dengan bentuk jamaknya qawamis. Kata
arab itu sendiri berasal dari kata Yunani okeanos
yang berarti lautan. Sejarah itu jelas memperlihatkan makna dasar yang
terkandung dalam kamus, yaitu wadah pengetahuan khususnya pengetahuan bahasa
yang tidak terhingga dalam dan luasnya. Kamus merupakan buku acuan yang memuat
kata dan ungkapan yang biasanya disusun menurut abjad dan berisi tentang makna
dan pemakaiannya. Dalam dunia pendidikan yang terdiri dari berbagai macam
istilah–istilah latin yang tidak semua orang mengetahuinya. Istilah–istilah latin flora
dan fauna sebagian besar berasal dari
bahasa Yunani kuno dan bahasa Latin, sebagian kecil dari bahasa Jerman,
Perancis, Belanda dan Inggris, dan ada juga beberapa dari bahasa Indonesia. Untuk
mempermudah pemahaman tentang arti dari istilah–istilah latin flora dan fauna dalam dunia pendidikan Ilmu Pengetahuan Alam (IPA) khususnya
dalam bidang mata pelajaran Biologi
tersebut ada baiknya dirancang suatu aplikasi kamus istilah latin flora
dan fauna.
Dalam
dunia teknologi, khususnya teknologi yang bergerak dalam bidang komunikasi,
seperti teknologi komunikasi seluler telah menciptakan sebuah perubahan besar.
Perkembangan yang pesat dari perangkat teknologi ini telah memunculkan
beragamnya fungsi baru selain fungsi utamanya sebagai sebuah alat komunikasi.
Selain itu handphone pun sudah memasyarakat, karena handphone dapat
diperoleh dengan mudah dan murah. Selain fungsi utamanya sebagai alat
komunikasi handphone juga bisa
digunakan sebagai alat untuk belajar dan memperoleh pengetahuan dengan mudah. Handphone
pada masa sekarang ini sudah didukung dengan sistem operasi android, dimana
android adalah sistem operasi mobile phone
berbasiskan linux. Android adalah sebuah sistem operasi yang biasa disematkan
pada gadget, baik itu handphone atau tablet. Android merupakan platform
terobosan terbaru pada mobile device
yang sangat digemari para pengguna mobile
device, hal ini dikarenakan kinerja sistem pada Android mudah untuk
dioperasikan dengan tampilan yang menarik dan dapat melakukan update aplikasi secara otomatis, biasa dikatakan
peranan tablet dan handphone biasa menggantikan peran dari
sebuah komputer. Selain itu android bersifat open source dimana source code
aplikasinya diberikan secara gratis bagi para pengembang untuk menciptakan
aplikasi yang dapat berjalan pada sistem operasi android.
Adapun
permasalahan yang sering dihadapi adalah karena sulitnya dalam mengingat dan
menghafal istilah-istilah latin flora
dan fauna karena terdapat banyak nama
atau istilah yang digunakan. Aplikasi kamus istilah yang akan
dirancang ini adalah aplikasi yang akan dijalankan pada handphone yang didukung dengan sistem operasi android. Untuk mempermudah pencariaan kata istilah latin flora dan fauna dalam aplikasi tersebut, maka aplikasi kamus istilah latin yang
akan dirancang pada android tersebut menggunakan algoritma Knuth-Morris-Pratt. Algoritma Knuth-Morris-Pratt
merupakan salah satu algoritma pencarian string yang dikembangkan oleh Donald
E. Knuth pada tahun 1967 dan James H. Morris bersama Vaughan R. Pratt pada
tahun 1966, namun keduanya mempublikasikannya secara bersamaan pada tahun 1977.
Cara kerja algoritma Knuth-Morris-Pratt adalah
mencocokan pattern pada awal teks dari kiri kekanan. Algoritma Knuth-Morris-Prattakan mencocokkan
karakter per karakter pattern dengan karakter di teks yang bersesuaian sampai
kondisi yang sudah ditentukan terpenuhi.
Berdasarkan
dari uraian latar belakang masalah di atas maka penulis berkeinginan untuk
menuangkan permasalahan tersebut kedalam sebuah penelitian yang nantinya
menjadi sebuah judul skripsi yang
berjudul “Implementasi Algoritma
Knuth-Morris-Pratt Pada Aplikasi Kamus Istilah Latin Flora dan Fauna Berbasis Android”.
1.2 Perumusan
Masalah
Berdasarkan uraian pada
latar belakang, maka yang menjadi perumusan masalah adalah :
1.
Bagaimana porses
mengetahui istilah latin flora dan fauna pada kamus?
2.
Bagaimana menerapkan algoritma Knuth-Morris-Pratt dalam pencarian
istilah latin flora dan fauna?
3.
Bagaimana merancang aplikasi kamus
istilah latin flora dan fauna berbasis android?
4.
Bagaimana penerapan aplikasi kamus
berbasis android pada handphone
yang mendukung sistem operasi android?
1.3 Batasan Masalah
Dengan rumusan masalah
yang telah disebutkan diatas, maka dalam skripsi ini diberikan batasan masalah
yang akan dianalisa, mengingat adanya keterbatasan waktu dalam proses
penyususan, yaitu sebagai berikut :
1.
Jenis teks atau string yang dicari berupa istilah latin flora dan fauna.
2.
Algoritma pencarian string matching yang digunakan adalah algortima Knuth-Morris-Pratt.
3.
Tools
yang digunakan untuk merancang aplikasi ini adalah Eclipse Galileo dan emulatornya adalah emulator android dengan platform
2.2 Froyo.
4.
Aplikasi ini dijalankan pada handphone yang didukung dengan sistem operasi
android versi 2.2 Froyo sampai dengan 4.1 Jelly Bean
5.
Mengingat banyak kata yang terdapat
dalam istilah latin flora dan fauna, maka penulis membatasi kata yang
diinputkan atau kata yang digunakan yaitu sebanyak 5 kata.
6.
Tool
untuk merancang database adalah
Sqlite.
7.
Aplikasi kamus latin flora dan fauna yang dirancang ini hanya menerjemahkan dari istilah latin flora dan fauna (hewan atau tumbuhan)
kedalam bahasa indonesia, tidak untuk sebaliknya.
1.4
Tujuan dan Manfaat Penelitian
1.4.1
Tujuan Penelitian
Tujuan penulis melakukan penelitian ini,
yaitu :
1.
Untuk memproses
mengetahui istilah latin flora dan fauna pada kamus.
2.
Untuk menerapkan algoritma Knuth-Morris-Pratt dalam pencarian
istilah latin flora dan fauna.
3.
Untuk merancang aplikasi kamus istilah
latin flora dan fauna berbasis android.
4.
Untuk menerapkan aplikasi kamus berbasis
android pada handphone
yang mendukung sistem operasi android.
1.4.2 Manfaat Penelitian
Adapaun manfaat yang
diharapkan berdasarkan tujuan penelitian yang telah disebutkan di atas, maka
penelitian ini mempunyai manfaat sebagai berikut :
1.
Agar mempermudah pencarian kata istilah
– istilah latin flora dan fauna pada mobile device.
2.
Memberikan alternative cara agar lebih mudah mengetahui arti dari istilah–
istilah latin flora dan fauna dengan mudah saat dimanapun tanpa
membeli kamus hanya dengan menggunakan mobile
device berbasis android yang
sudah ada aplikasi kamus istilah latin flora
dan fauna.
1.5 Metode Penelitian
Dalam
mengembangkan aplikasi ini digunakan metodologi Rational Unifed Process
(RUP). RUP merupakan suatu metode rekayasa perangkat lunak yang
dikembangkan dengan mengumpulkan berbagai praktek terbaik yang terdapat dalam
industri pengembangan perangkat lunak. Untuk membuat integrasi baru dalam
bahasa pemodelan antar tool dan proses dalam RUP ini menggunakan UML (Unified
Modeling Language). Adapun 4 tahapan kerja dari yang penulis lakukan adalah
sebagai berikut:
1.
Pengumpulan data
Dilakukan
dengan membaca literatur yang berkaitan dengan pembahasan dan tema yang dibuat.
Cara yang dilakukan antara lain dengan membaca buku android , buku
pendukung lain, dan juga dari situs –
situs hasil browsing di internet.
2.
Tahapan analisa
pada tahapan ini
penulis melakukan penganalisan terhadap perancangan sistem yang akan dibangun
dan menentukan batasan ruang lingkup permasalahan.
3.
Tahapan desain
Dalam tahpan ini
penulis melakukan desain secara lengkap sesuai dengan tahapan analisa
yang sebelumnya.
4.
Tahapan pengujian dan implementasi
Pada tahapan ini
penulis memeriksa kembali dari tahapan analisa dan desain kemudian akan
dilakukan pengujian hasil desain dan berikutnya dilakukan implementasi.
Sistematika penulisan skripsi ini
adalah sebagai berikut:
BAB
I : PENDAHULUAN
Bab
ini membahas tentang latar belakang masalah, perumusan masalah, batasan
masalah, tujuan, manfaat, metode penelitian serta sistematika penulisan.
BAB
II : LANDASAN TEORI
Pada bab
ini akan dijelaskan tentang teori yang berhubungan dengan masalah yang dikaji
dalam pembuatan aplikasi ini seperti konsep sistem penerjemahan, kamus, konsep
pencarian stirng, algoritma knuth-morris-pratt dan juga tentang
android dan software pendukung
android.
BAB
III : ANALISA DAN PERANCANGAN
Bab
ini menguraikan tentang analisa sistem berjalan dan perancangan sistem yang
akan diterapkan.
BAB IV : ALGORITMA DAN IMPLEMENTASI
Bab ini
berisi tentang perangkat implementasi program, implementasi dan pengujian
program dari sistem penerjemah yang dibangun.
BAB
V : KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dari hasil analisa bab–bab sebelumnya.
Serta memberikan saran–saran untuk mengembangkan suatu aplikasi yang lebih
efektif.
BAB II
LANDASAN TEORI
2.1 Implementasi
Implementasi
adalah kegiatan akhir dari proses penerapan sistem baru dimana sistem yang baru
akan dioperasikan secara menyeluruh. Implementasi bertujuan untuk melakukan
proses penerapan sistem yang baru (Kusrini, Andri Koniyo, 2007 : 279).
Berdasarkan pengertian tersebut dapat disimpulkan bahwa implementasi merupakan
tindakan yang dilakukan untuk melaksanakan atau merealisasikan program-program yang telah disusun demi tercapainya tujuan
dari kebijakan atau program-program yang telah direncanakan.
Adapun
unsur-unsur implementasi meliputi :
1. Adanya program yang dilaksanakan
2. Adanya kelompok target, yaitu
masyarakat yang menjadi sasaran dan diharapkan akan menerima manfaat dari
program tersebut.
3. Adanya pelaksanaan, baik
organisasi atau perorangan yang bertanggung jawab dalam pengelolaan,
pelaksanaan maupun pengawasan dari proses penerapan tersebut.
2.2 Kamus
Kamus adalah alat bantu
untuk menuntut kita memahami makna sebuh kata (Ahmad Iskak, 2008, 52). Selain
menerangkan maksud suatu perkataan, kamus juga dapat digunakan sebagai pedoman
bagaimana suatu kata digunakan. Kamus juga berfungsi untuk membantu seseorang mengenal
perkataan baru. Selain menerangkan maksud kata, kamus juga mungkin mempunyai
pedoman sebutan, asal usul (etimologi) sesuatu perkataan dan juga contoh penggunaan
bagi sesuatu perkataan.
Kata kamus diserap dari bahasa Arab qamus,
dengan bentuk jamaknya qawamis. Kata
arab itu sendiri berasal dari kata Yunani okeanos
yang berarti lautan. Sejarah itu jelas memperlihatkan makna dasar yang
terkandung dalam kamus, yaitu wadah pengetahuan khususnya pengetahuan bahasa
yang tidak terhingga dalam dan luasnya. Kamus merupakan buku acuan yang memuat
kata dan ungkapan yang biasanya disusun menurut abjad dan berisi tentang makna
dan pemakaiannya. Dalam dunia pendidikan yang terdiri dari berbagai macam
istilah–istilah yang tidak semua orang mengetahuinya.
Kamus merupakan sejenis buku rujukan yang menerangkan makna kata‑kata.
Kamus berfungsi untuk membantu seseorang mengenal perkataan baru. Selain
menerangkan maksud kata, kamus juga mungkin mempunyai pedoman sebutan asal-usul (etimologi)
sesuatu perkataan dan juga contoh penggunaan bagi sesuatu perkataan. Untuk
memperjelas kadang kala terdapat juga ilustrasi
di dalam kamus. Biasanya hal ini terdapat dalam kamus bahasa
Perancis. Kata kamus diserap dari bahasa Arab qamus, dengan bentuk
jamaknya qawamis.
2.3 Flora
dan Fauna
Flora berasal dari bahasa latin yaitu Flora,
yang mana bisa diartikan sebagai alam tumbuhan atau nabatah yang menyangkut
semua aspek mengenai macam jenis tumbuhan dan tanaman. Biasanya dalam penggunaanya
akan selalu di beri-imbuhan dengan naman geografis, misalnya saja nabatah Jawa,
nabatah Asia atau nabatah Eropa.
Fauna berasal dari bahasa latin, dan bisa di artikan sebagai alam hewan yang
menyakup segala jenis dan macam hewan serta kehidupannya yang berada di wilayah
dan masa tertentu. Flora dan Fauna dan kehidupan lainnya seperti
fungi yang hidup bersama dalam wilayah dan waktu yang sama bisa di sebut dengan
Biota. Sama halnya dengan flora dan fauna juga sering di tulis dengan
imbuhan nama geografis di belakangnya. Misalnya saja, alam hewan peralihan,
alam hewan Asia, atau alam hewan Australia. Di dalam ilmu Biologi keberadaan
flora dan fauna di suatu wilayah ini biasanya di gunakan untuk mempelajari gen
dan spesies tanaman dan hewan, pertumbuhan dan perkembang biakan, hubungan
antara satu sama lain yang berada di wilayah yang sama. Selain itu lingkungan
juga bisa membantu lebih lanjut mengenai klarifikasi flora dan fauna. Misalnya,
flora dan fauna yang hidup suatu wilayah akan merujuk pada keberadaan tanaman
dan hewan yang hidup di kedalaman air maupun lingkungan sekitar dari wilayah
geografis tersebut (Sumber : http://www.satwa.net/19/pengertian-flora-dan-fauna.html,
tanggal akses 22 Mei 2014).
2.4 String
Matching
String Matching adalah proses pencarian semua kemunculan query yang selanjutnya disebut pattern ke dalam string yang lebih panjang atau teks (Riyanarto Sarno, Yeni
Anistyasari, dan Rahimi Fitri, 2012 : 11). String Matching dirumuskan sebagai
berikut :
x =
x[0…m-1]...................................................... (2.1)
y =
y[0…n-1]....................................................... (2.2)
Dimana
:
x adalah pattern
m adalah
panjang pattern
y adalah
teks
n adalah
panjang teks
Kedua string
terdiri dari sekumpulan karakter yang disebut alfabet yang dilambangkan dengan ∑
(sigma) dan mempunyai ukuran σ (tao). String
matching dibagi menjadi dua, yakni exact
matching dan heuristic atau statistical matching.
2.4.1
Exact Matching
Exact matching digunakan untuk menemukan pattern yang berasal dari satu teks (Riyanarto Sarno, Yeni
Anistyasari, dan Rahimi Fitri, 2012, 11). Contoh pencarian exact matching adalah pencarian kata “pelajar” dalam kalimat “Saya
seorang pelajar” atau “Saya seorang siswa”. Sistem akan memberikan hasil bahwa
kalimat pertama mengandung kata “pelajar” sedangkan kalimat kedua tidak,
meskipun kenyataannya pelajar dan siswa adalah kata yang bersinonim, Algoritma exact matching diklasifikasi menjadi
tiga bagian menurut arah pencariannya, yaitu:
1.
Arah pembacaan dari kiri ke kanan. Algoritma yang termasuk
kategori ini adalah Brute Force, Morris
dan Pratt (yang kemudian dikembangkan
oleh Knuth, Morris, dan Pratt).
2. Arah pembacaan
dari kanan ke kiri. Algoritma yang termasuk kategori ini adalah Boyer dan Moore yang kemudian dikembangkan menjadi algoritma Turbo Boyer-Moore, Tuned
Boyer-Moore, dan Zhu-Takaoka.
3. Arah Pembacaan
yang ditentukan pemrogram. Algoritma yang termasuk kategori ini adalah
algoritma Colussi, Crochemore-Perrin.
2.4.2
Heuristic Matching
Heuristic matching
adalah teknik yang digunakan untuk menghubungkan dua data terpisah ketika exact matching tidak mampu mengatasi
karena ada pembatasan pada data yang tersedia (Riyanarto Sarno, Yeni
Anistyasari, dan Rahimi Fitri, 2012 : 26). Heuristic
Matching dapat dilakukan dengan perhitungan distance antara pattern dengan teks. Exact
Matching dan Heuristic Matching
memiliki kelemahan dalam menemukan kata yang memiliki kemiripan makna tetapi
berbeda penulisan.
2.5 Algoritma
Istilah
algoritma berasal dari nama seorang pengarang berkebangsaan Arab bernama Ja’fat
Mohammed bin Musa al Khowarizmi (tahun 790 – 840), yang sangat terkenal dengan
sebutan bapak Aljabar. Secara defenisi algoritma adalah alur pemikiran bersifat
logis yang dapat dituangkan ke dalam bentuk tulisan (Antonius Rachmat C, 2010 :
4). Sebuah algoritma dikatakan benar (correct) jika algoritma tersebut
berhasil mengeluarkan output yang
benar untuk semua kemungkinan input.
Algoritma dapat selalu berakhir untuk semua kondisi awal yang memenuhi
kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering
mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan)
sampai tugasnya selesai. Biasanya sebuah algoritma memiliki sifat bisa dihitung
(computable) atau bisa diukur (measurable). Contoh sederhana dari
sebuah algoritma adalah pengiriman surat. Misalkan seseorang ingin mengirimkan
surat kepada kenalannya, langkah-langkah yang harus dilakukan oleh pengirim
agar surat tersebut bisa sampai ke tujuan adalah sebagai berikut :
1. Menulis surat
2. Surat dimasukkan ke dalam amplop
tertutup
3. Amplop ditempeli perangko
4. Pergi ke Kantor Pos terdekat
untuk mengirimkannya
Menurut Donal E. Knuth dalam buku
Algortima dan Pemrograman dengan Bahasa C, 2010, algoritma yang baik memiliki
kriteria sebagai berikut :
1. Input
Dari sisi input, program harus
memiliki nol input atau lebih dari nol pengguna.
2. Output
Dari sisi output, program harus
memiliki minimal satu output. Output program bisa ditampilkan ke layar, ditulis
ke file dan bahkan disimpan dalam
basis data.
3. Finite (Terbatas)
Program
harus pasti dan berhenti, bukan tak terhingga. Suatu program yang dieksekusi
haruslah berhenti dan selesai.
4. Definite (Pasti)
Suatu
program harus jelas kapan mulai dan kapan berakhir, apa tujuannya dan memiliki
logika yang jelas agar dapat menghasilkan output yang sesuai dengan yang
diharapkan.
5. Efisien
Artinya program harus tepat,
tidak memakan banyak memori dan tidak melakukan hal-hal yang tidak perlu.
Berdasarkan defenisi dan contoh algoritma diatas, maka
dapat disimpulkan bahwa algoritma itu adalah urutan
langkah-langkah logis yang digunakan untuk menyelesaikan masalah tertentu.
2.6 Algoritma
Knuth Morris Pratt
Algoritma Knuth-Morris-Pratt merupakan proses
pencocokan string (Riyanarto Sarno, Yeni
Anistyasari, dan Rahimi Fitri, 2012 : 18). Bila terjadi ketidak cocokan pada
saat pattern sejajar dengan teks [i..i + n -1], kita bisa menganggap ketidak
cocokan pertama terjadi di antara teks [i + j] dan pattern [j], dengan
<j<n. Berarti, teks [i..i + j]=pattern [0..j + 1] dan a=teks [i+j] tidak
sama dengan b=pattersn [j], ketika kita menggeser.
Dengan
kata lain, pencocokan string akan berjalan secara efesien bila kita mempunyai
tabel yang menentukan berapa panjang kita seharusnya menggeser seandainya
terdeteki ketidak cocokan di karakter ke-j dari pattern. Tabel itu harus memuat
next[j] yang merupakan posisi karakter pattern[j] setelah digeser, sehingga
kita menggeser pattern secara besar j-next[j] relatif terhadap teks.
Secara
sistematis, langkah-langkah yang dilakukan algoritma Knuth-Morris-Pratt pada saat mencocokan string adalah sebagai berikut :
1.
Algoritma Knuth-Morris-Pratt
mulai mencocokan pattern pada awal teks.
2.
Dari
kiri ke kanan, algoritma ini akan mencocokkan karakter per karakter pattern,
dengan karakter di teks yang bersesuaian sampai salah satu kondisi berikut
terpenuhi :
a.
Karakter
di pattern dan diteks yang dibandingkan tidak cocok (mismatch).
b.
Semua
karakter di pattern cocok. Kemudian algoritma akan memberitahukan penemuan
diposisi ini.
3.
Algoritma
kemudian menggeser pattern berdasarkan table next, lalu menghitung langkah 2
sampai pattern berada di unjung teks.
Contoh penggunaan algoritma Knuth-Morris-Pratt untuk pencarian pattern dalam teks :
2.7 Android
2.7.1
Sejarah Android
Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi (Nazruddin Safaat H, 2012 : 1). Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi.
Awalnya, Google Inc, membeli Android
Inc yang merupakan pendatang baru yang membuat peranti lunak untuk phonsel (smartphone). Kemudian untuk mengembangkan android dibentuklah Open
Handset Alliance, konsorium dari 34 perusahaan peranti keras, peranti lunak
dan telekomunikasi, termasuk Google, HTV, intel, Motorola, Qualcomm, T-Mobile
dan Nvidia. Pada saat perilisan perdana android, 5 Nopember 2007, android
bersama Open Handset Alliance
menyatakan mendukung pengembangan open
source pada perangkat mobile.
Dilain pihak, Google merilis
kode-kode android di bawah lisensi Apache,
sebuah lisensi perangkat lunak dan open platform perangkat seluler.
Didunia ini terdapat dua jenis distributor sistem operasi
android. Pertama mendapat dukugan penuh dari Google atau Google Mail
Services (GMS) dan kedua adalah yang benar-benar bebas distribusinya tanpa
dukungan langsung Google atau dikenal
sebagai Open Handset Distribution
(OHD). Sekitar September 2007 Google mengenalkan Nexus One, salah satu jenis smartphone yang menggunakan android
sebagai sistem operasinya. Telepon seluler ini diproduksi oleh HTC Corporation
dan tersedia di pasaran pada 5 Januari 2010. Pada 9 Desember 2008, diumumkan anggota
baru yang bergabung dalam program kerja android ARM Holdings, Artheros
Communications, diproduksi oleh Asustek Computer Inc, Germin Ltd, Softbank,
Sony Ericsson, Toshiba Corp dan Vodafone Group Plc, seiring pembentukan Open Handset Alliance, OHA mengumumkan
produk perdana yaitu android, perangkat mobile
yang merupakan modifikasi kernel Linux 2.6.
Pada masa saat ini sebagian besar vendor-vendor smartphone sudah memproduksi smartphone berbasis android,
vendor-vendor itu antara lain HTC, Motorola, Samsung, LG, HKC, Huawei, Archos,
Webstation Camangi, Dell, Nexus, SciPhone, WayneQ, Sony Ericsson, LG, Acer,
Philips, T-Mobile, Nexian, IMO, Asus dan masih banyak lagi vendor smartphone di dunia yang memproduksi
android. Hal ini karena android itu adalah sistem operasi yang open source sehingga bebas
didistribusikan dan dipakai oleh vendor manapun.
Tidak hanya
menjadi sistem operasi di smartphone,
saat ini android menjadi pesaing utama dari Apple pada sistem operasi tablet PC. Pesatnya pertumbuhan android
dikarena android itu sendiri adalah platform
yang sangat lengkap baik itu sistem operasinya serta dukungan yang sangat
tinggi dari komunikasi open source di
dunia, sehingga android terus berkembang.
2.7.2
Versi Android
Telepon pertama yang memakai
sistem operasi android adalah HTC Dream, yang dirilis pada 22 Oktober 2008.
Dalam perkembangannya android memiliki versi-versi yaitu:
1.
Android versi 1.1
Pada
9 Maret 2009, google merilis android versi 1.1. Android versi ini dilengkapi
dengan pembaruan estesis pada aplikasi jam, alarm, voice
search,
2.
Android
versi 1.5 (Cupcake)
Pada
pertengahan Mei 2009, Google kembali merilis telepon seluler dengan menggunakan
Android dan SDK (Software Development Kit)
dengan versi 1.5 (Cupcake). Terdapat
beberapa pembaruan termasuk juga penambahan beberapa fitur dalam seluler versi
ini yakni kemampuan merekam dan menonton video dengan modus kamera, mengunggah
video ke youtube dan gambar ke picasa langsung dari telepon.
3. Android versi 1.6 (Donut)
Donut
(versi 1.6) dirilis pada bulan September dengan menampilkan proses pencarian
yang lebih baik dibanding sebelumnya, penggunaan baterai indikator dan kontrol
applet VPN. Fitur lainnya adalah
galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus, kamera,
camcorder dan galeri yang
dintegrasikan, CDMA dan EVDO, 802.1x, VPN, gestures, dan Text-to-speech
engine kemampuan dial kontak,
teknologi text to change
speech, tidak tersedia pada semua
ponsel pengadaan resolusi VWGA.
4. Android versi 2.0 dan 2.1
(Eclair)
Pada
3 Desember 2009 kembali diluncurkan ponsel android dengan versi 2.0 dan 2.1
(Eclair), perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang
baru, dukungan flash untuk kamera 3,2 MP, digital zoom, dan bluetooth 2.1.
5.
Android
versi 2.2 (Froyo: Frozen Yoghurt)
Pada
20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Perubahan-perubahan umumnya
terhadap versi-versi sebelumnya antara lain dukungan Adobe Flash 10.1, kecepatan kinerja dan aplikasi 2
sampai 5 kali lebih cepat, intergrasi V8 JavaScript engine yang dipakai Google Chrome yang
mempercepat kemampuan rendering pada browser, pemasangan aplikasi dalam SD
Card, kemampuan WiFi Hotspot portable, dan kemampuan auto update dalam aplikasi android
market.
6. Android versi 2.3 (Gingerbread)
Pada
6 Desember 2010, Android versi 2.3 (Gingerbread) diluncurkan.
Perubahan-perubahan umum yang didapat dari Android versi ini antara lain
peningkatan kemampuan permainan (gaming),
peningkatan fungsi copy paste, layar
antar muka (User Interface) didesain
ulang, dukungan format video VP8 dan WebM, efek audio baru (reverb, equalization, headphone
virtualization, dan bass boost),
dukungan kemampuan Near Field
Communication (NFC),
dan dukungan jumlah kamera yang lebih dari satu.
7. Android versi 3.0 dan 3.1
(Honeycomb)
Android
Honeycomb dirancang khusus untuk tablet. Android versi ini mendukung ukuran
layar yang lebih besar. User Interface
pada Honeycomb juga berbeda karena sudah didesain untuk tablet. Honeycomb juga
mendukung multi prosesor dan juga akselerasi perangkat keras (hardware) untuk grafis. Tablet pertama
yang dibuat dengan menjalankan Honeycomb adalah Motorola Xoom.
8.
Android
versi 4.0 (ICS: Ice Cream Sandwich)
Diumumkan
pada tanggal 19 Oktober 2011, membawa fitur Honeycomb untuk smartphone dan menambahkan fitur baru
termasuk membuka kunci dengan pengenalan wajah, jaringan data pemantauan
penggunaan dan kontrol, terpadu kontak jaringan sosial, perangkat tambahan
fotografi, mencari email secara offline,
dan berbagi informasi dengan menggunakan NFC. Ponsel pertama yang menggunakan
sistem operasi ini adalah Samsung Galaxy Nexus.
9. Android versi 4.1 (Jelly Bean)
Android
Jelly Bean yaang diluncurkan pada acara Google I/O lalu membawa sejumlah
keunggulan dan fitur baru. Penambahan baru diantaranya meningkatkan input keyboard, desain baru fitur pencarian,
UI yang baru dan pencarian melalui voice
search yang lebih cepat. Tak ketinggalan google now juga menjadi bagian
yang diperbarui. Google now memberikan informasi yang tepat pada waktu yang
tepat pula. Salah satu kemampuannya adalah dapat mengetahui informasi cuaca,
lalu-lintas, ataupun hasil pertandingan olah raga. Sistem operasi
Android Jelly Bean 4.1 muncul pertama kali dalam produk tablet Asus, yakni
Google Nexus 7.
10. Android versi 4.2 (Jelly Bean)
Fitur photo sphere untuk panaroma, day dream sebagai screensaver, power control,
lock screen widget, menjalankan
banyak user dalam tablet saja, widget terbaru. Android 4.2 Pertama kali
dikenalkan melalui LG Google Nexus 4.
2.7.3
Arsitektur
Android
Secara
garis besar sistem operasi android terbagi menjadi lima tingkatan yaitu :
1. Applications
dan Widgets
Applications dan Widgets ini adalah layer
dimana pengguna berhubungan dengan aplikasi saja. Di layer terdapat aplikasi inti termasuk client email, program SMS, kalender, peta, browser, kontak dan lain-lain. Semua aplikasi ditulis menggunakan
bahasa pemograman java.
2. Applications
dan Frameworks
Android adalah open development platform yaitu android
menawarkan kepada pengembang atau memberi kemampuan kepada pengembang untuk
membangun aplikasi yang bagus dan inovatif. Pengembang bebas untuk mengakses
perangkat keras, akses informasi resources,
menjalankan service background, mengatur alarm dan menambahkan status notifications dan sebagainya. Pengembang
memiliki akses penuh menuju API Frameworks
seperti yang dilakukan oleh aplikasi yang kategori inti. Arsitektur aplikasi
dirancang supaya pengguna dengan mudah dapat menggunakan kembali komponen yang
sudah digunakan (reuse). Sehingga
bisa disimpulkan applications frameworks
ini adalah layer dimana para pembuat
aplikasi melakukan pengembangan dan pembuatan aplikasi yang akan dijalankan di
sistem operasi android. Komponen-komponen yang termasuk di dalam applications frameworks adalah sebagai
berikut:
1. Views
2. Content
Provider
3. Reources
Manager
4. Notifications
Manager
5. Activity
Manager
3. Libraries
Libraries ini adalah layer dimana fitur-fitur Android berada, biasanya para pembuat
aplikasi mengakses libraries untuk
menjalankan para pembuat aplikasi mengakses libraries
untuk menjalankan aplikasinya. Berjalan di atas kernel, Layer ini meliputi berbagai library C atau C++ seperti Libe dan SSL,
serta :
1. Libraries media untuk pemutaran media
audio dan video
2. Libraries untuk manajemen tampilan
3. Libraries
Graphics
mencakup SGL dan OpenGL untuk gratifs 2D dan 3D
4. Libraries SQLite untuk dukungan database
5. Libraries
SLL dan WebKit
terintegrasi dengan web browser dan security
6. Libraries
LiveWebcore mencakup
modern web browser dengan engine embeded we view
7. Libraries
3D yang mencakup
implementasi OpenGL, ES 1.0, API’s.
Libraries berisi semua kode
program yang menyediakan layanan-layanan utama sistem operasi android.
4. Android
Run Time
Kedudukannya setingkat dengan libraries, android run time menyediakan
kumpulan pustaka yang dapat diaktifkan oleh pengembang untuk menulis kode
aplikasi android dengan bahasa pemrograman java. Layer yang membuat aplikasi android dapat dijalankan dimana dalam
prosesnya menggunakan Implementasi Linux. Dalvik
Virtual Machine (DVM) merupakan mesin yang membentuk dasar kerangka
aplikasi Android. Di dalam android run
time dibagi menjadi dua bagian yaitu:
a. Core
Libraries
Aplikasi
Android dibangun dalam bahasa java, sementara Dalvik sebagai Virtual mesinnya
bukan virtual machine Java, sehingga
diperlukan sebuah libraries yang
berfungsi menterjemahkan bahasa java yang ditangani oleh Core Libraries.
b. Dalvik
Virtual Machine
Virtual
mesin berbasis register efesien, dimana merupakan pengembangan yang mampu
membuat linux kernel untuk melakukan
threading dan manajemen tingkat rendah
5. Linux
Kernel
Linux Kernel adalah layer dimana inti dari operating
system dan processing, memory,
resources, drivers dan sistem-sistem operasi android lainnya. Linux kernel
yang digunakan android adalah ilnux kernel release 2.6 jika ingin mempelajari
linux kernel ini, dapat mengunduh linux kernel secara gratis di situs www.kernel.org.
Berikut
ini adalah gambar arsitektur sisitem operasi android :
2.7.1
Fundamental
Aplikasi
Aplikasi android ditulis dalam
bahasa pemrograman java. Kode java dikompilasi dengan data file resource yang dibutuhkan oleh aplikasi, dimana prosesnya di-package oleh tools yang dinamakan apt tools
ke dalam paket android sehingga menghasilkan file dengan ekstensi apk.
File apk itulah yang disebut dengan aplikasi, dan nantinya dapat diinstal
diperangkat mobile.
Ada enam jenis komponen pada
aplikasi android:
1. Activities
Activity akan menyediakan User Interface (UI) kepada pengguna,
sehingga pengguna dapat melakukan interaksi sebuah aplikasi android bisa jadi
hanya memiliki activity, tetapi
umumnya aplikasi banyak activity
tergantung pada tujuan aplikasi dan desain dari aplikasi tersebut. Satu activity biasanya akan dipakai untuk
menampilkan aplikasi atau yang bertindak sebagai user interface (UI) saat aplikasi diperlihatkan kepada user. Untuk pindah dari satu activity ke activity lain dapat melakukannya dengan satu even, misalnya click
tombol. Memilih opsi atau menggunakan triggers tertentu.
2. Service
Aplikasi ini akan memiliki dua
atau lebih activity yang memungkinkan
user untuk memilih istilah misalnya,
atau menulis istilah dan input istilah.
3. Broadcast
Receiver
Broadcast
Receiver
berfungsi menerima dan bereaksi untuk menyampaikan notification. Contoh broadcast
seperti notification zona waktu
berubah, baterai low, gambar telah
selesai diambil oleh camera, atau pengubahan referensi bahasa yang digunakan. Broadcast receiver tidak memiliki user interface (UI), tetapi memiliki
sebuah activity untuk merespon
informasi informasi yang diterima atau mungkin menggunakan Notification Manager untuk memberitahu kepada pengguna, seperti
lampu latar atau vibrating (getaran)
perangkat dan lain sebagainya.
4. Content
Provider
Content Provider membuat kumpulan aplikasi data
secara spesifik sehingga bisa digunakan oleh aplikasi lain. Data disimpan dalam file sistem seperti data base SQLite. Content Provider menyediakan cara untuk mengakses data yang
dibutuhkan oleh suatu activity,
misalnya ketika menggunakan aplikasi yang membutuhkan peta (map) atau aplikasi yang membutuhkan
untuk mengakses data kontak dan navigasi, maka disinilah fungsi Content Provider.
2.8 Database
Kata
database dalam bahasa Indonesia
diartikan sebagai basis data, dimana pengertian luas dari basis data adalah
suatu aplikasi yang menyimpan data dan memelihara secara menyeluruh dan secara
sistematis memelihara data dan membuat data tersebut tersedia saat dibutuhkan
(Janner Simarmata, 2007, 2). Basis data memiliki dua bagian utama yaitu file
yang memegang basis data fisik dan perangkat lunak Database Manajement Sistem (DBMS) menggunakan aplikasi untuk
mengakses data. DBMS bertanggung jawab menguatkan strusktur basis data, seperti
berikut :
1. Memelihara hubungan antar data di
dalam basis data.
2. Memastikan bahwa data tersimpan
secara tepat, dan menetapkan aturan hubungan data agar tidak dilanggar.
3. Pemulihan (recovery) semua data dari kegagalan sistem.
Kebutuhan
basis data dalam sistem informasi meliputi:
1.
Memasukan, menyimpan dan mengambil data
2.
Membuat laporan berdasarkan data yang telah disimpan
Dalam
perancangan suatu perangkat lunak aplikasi, seperti aplikasi yang akan
dirancang pada skripsi ini diperlukan suatu database
untuk menyimpan istilah-istilah bahasa kedokteran. Database yang akan dirancang nantinya akan dikoneksikan ke android,
nama software yang digunakan untuk
merancang database tersebut adalah
Sqlite.
2.8.1
SQLite
QLite adalah database
yang berukuran kecil , berdiri sendiri, bukan database client server, tanpa konfigurasi namun mempunyai fitur penuh
perintah SQL. Agar lebih jelas tenang
sqlite akan saya jelaskan dalam format FAQ (sumber : http://www.candra.web.id/2012/11/21/pengantar-sqlite,
tanggal akses 13 Juni 2014). SQLite merupakan produk public domain, artinya
tidak punya lisensi, dan boleh mengambil source
code-nya secara free. Tipe data
yang digunakan dalam sqlite sama dengan
yang digunakan pada software database lainnya, yaitu numeric (integer,float, double), text
(char,varchar,text), dan date time.
Contoh
produk yang menggunakan SQLite seperti PHP, Firefox, Chrome, Iphone dan
Android. Di Browser firefox, Sqlite dipakai untuk menyimpan konfigurasi, bookmark dan history website sedangkan di smartphone
android, SQLite dipakai untuk menyimpan contact,
data-data aplikasi seperti kamus.
2.9 Unified Modeling Language (UML)
Dalam perancangan suatu aplikasi diperlukan adanya bahasa
pemodelan terhadap aplikasi yang akan dibuat. Bahasa pemodelan yang akan dibuat
harus ada standarisasi agar orang di berbagai negara dapat mengerti akan
pemodelan perangkat lunak yang dirancang. Unified
modeling language sebagai bahasa yang memberikan vocabulary dan tatanan penulisan kata-kata dalam Ms. Word untuk
kegunaan komunikasi. Sebuah bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan atau
aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem.
Unfied modeling
language adalah sebuah bahasa standard untuk pengembangan sebuah software yang dibangun dengan
menggunakan teknik pemrograman berorintasi objek (Rosa A.S-M.Shalahuddin, 2001, 118). Unfied modeling language tidak hanya merupakan sebuah bahasa
pemograman visual saja, namun juga dapat secara langsung dihubungkan ke
berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, atau bahkan
dihubungkan secara langsung ke dalam sebuah object
oriented database. Begitu juga mengenai pendokumentasian dapat dilakukan
seperti requirements, arsitektur, design, source code, project plan,
test, dan prototype. Untuk dapat memahami UML membutuhkan bentuk konsep dari
sebuah bahasa model.
2.9.1
Hubungan (Relationship)
Ada 4 macam hubungan di dalam penggunaan Unified Modelling Language, yaitu:
1. Dependency.
Menggambarkan hubungan semantik antara dua
benda yang mana sebuah benda berubah
mengakibatkan benda satunya akan berubah pula. Umumnya sebuah dependency menggambarkan sebuah panah
dengan garis putus-putus.
2. Association
Menggambarkan
hubungan antar benda struktural yang terhubung diantara objek. Kesatuan objek
yang terhubung merupakan hubungan khusus, yang menggambarkan sebuah hubungan
struktural diantara seluruh atau sebagian. Umumnya assosiation digambarkan dengan sebuah garis yang dilengkapi dengan
sebuah label, nama, dan status hubungannya.
3. Generalizations
Menggambarkan
hubungan khusus dalam objek anak (child)
yang menggantikan objek parent (induk). Dalam hal ini, objek anak
memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada objek
induk. Digambarkan dengan garis panah.
4. Realizations
Menggambarkan hubungan semantik antara
pengelompokkan yang menjamin adanya ikatan diantaranya. Hubungan ini dapat
diwujudkan diantara interface dan
kelas atau elements, serta antara use cases dan collaborations.
2.9.2
Bagan dan
Diagram
UML terdiri atas pengelompokkan
diagram-diagram sistem menurut aspek atau sudut pandang tertentu. Diagram
adalah yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model (Rosa A.S M. Shalahuddin, 2011, 120). UML
mempunyai 9 diagram, yaitu :
1.
Use
Case Diagram, menggambarkan sekelompok use case dan aktor yang disertai dengan
hubungan diantaranya. Berikut ini
adalah simbol-simbol yang digunakan pada use
case diagram :
2. Class Diagram, menggambarkan struktur sistem dari defenisi kelas
yang akan dibuat untuk membangung sistem. Class
diagram memiliki atribut dan metode atau operasi. Kelas-kelas yang ada pada struktur sistem
harus dapat melakukan fungsi-fungsi sesuai dengan kemampuan sistem. Sebagai
aturan secara umum maka sebuah metode yang dibuat harus memiliki kadar cohesien yang kuat dan
kadar coupling yang lemah. Berikut
ini adalah simbol-simbol yang ada pada digram kelas :
3 Activity Diagram, menggambarkan workflow (aliran kerja) atau aktivitas
dari sebuah sistem. Yang perlu diperlihatkan disini adalah bahwa diagram
aktivitas menggambrkan akitivitas sistem bukan apa yang dilakukan aktor.
Berikut ini adalah simbol-simbol yang ada pada diagram aktivitas :
4 Object Diagram, yang merupakan varian dari kelas diagram yang
memperlihatkan lebih detail banyaknya objek yang mengintantiasi (instances) kelas. Pada objek diagram
harus dipastikan semua kelas yang sudah didefenisikan harus dipakai objeknya,
karena jika tidak, pendefenisian kelas itu.
5 State Diagram, yang
memperlihatkan semua keadaan (state)
yang dapat dimiliki oleh kelas dan event
yang dapat merubah keadaan tersebut.
6. Sequence Diagram, yang
memperlihatkan kolaborasi dinamika antara objek-objek dengan suatu urutan pesan
(a sequence ofmessage) antar objek
tersebut. Berikut ini adalah simbol-simbol yang ada pada diagram aktivitas
Mas.. postingin coding program kamus android menggunakan metode string matching jg dong..
ReplyDeleteMas.. postingin coding program kamus android menggunakan metode string matching jg dong..
ReplyDelete