making web applications dna/rna palindrome detector using java

advertisement
MAKING WEB APPLICATIONS DNA/RNA PALINDROME
DETECTOR USING JAVA APPLET
Feri Kuswanto
Undergraduate Program, Faculty of Industrial Engineering, 2010
Gunadarma University
http://www.gunadarma.ac.id
Keywords: Palindrome detector, Turing Machine, Applet
ABSTRACT
This research aims to create a web application that serves as a palindrome detector detecting
words that can be read from both directions. Using an automaton as a branch of the basic
theory and Turing machines as the web implementation palindrome detector application. Web
palindrome detector application presented this time the writer has two main parts of the
media and websites as a palindrome detector application as the main program. Both parts are
integrated and complementary with one another. Palindrome detector application will detect
the string to determine whether the string is palindrome or not included. Detection process
using a web graph as a basic rule palindrome detector application.
MAKING WEB APPLICATIONS DNA/RNA
PALINDROME DETECTOR USING
JAVA APPLET
Feri Kuswanto, Information Technology, Graduate Program, Gunadarma University, Jakarta, 2010
Email: [email protected]
Abstract—Penelitian ini bertujuan membuat web aplikasi
palindrom detektor yang berfungsi sebagai pendeteksi kata
yang dapat dibaca dari kedua arah. Menggunakan cabang ilmu
automata sebagai teori dasar dan mesin turing sebagai
implementasi web aplikasi palindrom detektor. Web aplikasi
palindrom detektor yang disajikan penulis kali ini mempunyai
dua bagian utama yaitu website sebagai media dan aplikasi
palindrom detektor sebagai program utama. Kedua bagian
tersebut terintegrasi dan saling melengkapi antara yang satu
dengan yang lainnya. Aplikasi palindrom detektor melakukan
proses deteksi string untuk menentukan apakah string tersebut
termasuk palindrom atau tidak. Proses pendeteksian
menggunakan graf sebagai aturan dasar web aplikasi palindrom
detektor.
Kata Kunci : Palindrome detektor, Mesin turing, Applet
Abstract— This research aims to create a web application that
serves as a palindrome detector detecting words that can be
read from both directions. Using an automaton as a branch of
the basic theory and Turing machines as the web
implementation palindrome detector application. Web
palindrome detector application presented this time the writer
has two main parts of the media and websites as a palindrome
detector application as the main program. Both parts are
integrated and complementary with one another. Palindrome
detector application will detect the string to determine whether
the string is palindrome or not included. Detection process
using a web graph as a basic rule palindrome detector
application.
Key Word : Palindrome detector, Turing Machine, Applet
I. P EN DAHUL UAN
Bahasa adalah struktur yang dikendalikan sekumpulan
aturan tertentu, semacam mesin untuk memproduksi makna.
Melalui bahasa kita dapat berkomunikasi dengan sesama
manusia, dengan bahasa pula kita dapat membuat komputer
berinteraksi dengan manusia tentu saja dengan menggunakan
beberapa alat tambahan.
Automata merupakan salah satu ilmu pengetahuan
hasil gabungan antara Bahasa dengan ilmu komputer, salah
satu hasil dari automata adalah mesin turing. Mesin turing
memiliki memori dengan mekanisme pengaksesan acak
(Random aksesmemori). Mesin turing merupakan model
matematika untuk komputer saat ini. Kita akan selalu dikaitkan
dengan graf-graf jika kita belajar dari contoh-contoh mesin
turing yang ada. Graf-graf tersebut merupakan perwakilan dari
mesin turing itu sendiri.
Penulis akan mencoba menggunakan mesin turing
untuk digunakan sebagai palindrome detektor. Palindrom itu
adalah berasal dari bahasa Yunani yaitu Palindromos A
Palindrome. Palindromos A Palindrome adalah kata atau
kalimat yang sama dieja maju atau mundur (bacaan yang sama
dieja pada kedua arah). Sebagai contoh sederhana adalah
beberapa kata yang sederhana yaitu rotor, rotator, civic, madam,
racecar, level, dan lain-lain. Untuk contoh kalimat palindrome
yaitu : No lemon no melon, No devil lived on, Swap God for a
janitor rot in a jar of dog paws, dan lain-lain.
Untuk menjalankan sebuah bahasa kedalam mesin
turing diperlukan ketelitian yang tinggi agar hasil output yang
dihasilkan bernilai benar. Berangkat dari hal tersebut maka
penulis dalam hal ini ingin mencoba membuat simulasi mesin
turing dengan menggunakan bahasa Java Applet yang berbasis
web. Penulis membuat aplikasi dengan Java Applet karena
mempermudah pendistribusian aplikasi, dan pada saat ini
penggunaan internet sudah merambah pada hampir semua
lapisan masyarakat.
Pada bidang rekayasa genetika palindrom digunakan
sebagai salah satu metode pencarian variasi mutasi genetik pada
virus, terutama pada virus yang mampu menyerang manusia
yaitu H1N1 dan H1N5 tetapi tidak menutup kemungkinan pada
varian yang lain.
II. BATASA N MASALA H
Pada penulisan ilmiah ini penulis hanya membuat
sebuah simulasi mesin turing RNA/DNA palindrom yang
berfungsi untuk mendeteksi kata palindrome yang di-input oleh
user. Kata atau untai yang dibentuk masih terbatas pada
penggunaan huruf pembentuk protein DNA/RNA yaitu “A”,
”C”, ”G”, ”T” yang merupakan huruf awal dari nama protein
pembentuk DNA/RNA yaitu “Adenine”, “Cytosine”,
“Guanine”, dan “Thymine”. Contoh kata yang dibentuk adalah
“AAATAGTCCTCT-AGAGGACTATTT ” yang merupakan
contoh dari varian virus H5N1 (A/Anhui/1/2005/(H5N1)).
III. T UJUAN
Adapun tujuan dari penulisan ini antara lain :
1. Untuk memperdalam mengenai teori graph dan
aplikasinya.
2. Berguna untuk orang yang ingin mengetahui tujuan
digunakannya mesin turing.
3. Memberi gambaran tentang simulasi sederhana dalam
menentukan untai palindrom pada DNA/RNA dengan
menggunakan sebuah mesin turing.
IV. P ERANCANGAN U MUM
A.
Mesin Turing
Jauh sebelum lahirnya program komputer, Alan Turing
pada tahun 1936 telah mengeluarkan gagasannya berupa model
mesin abstrak sebagai alat mekanik untuk mengerjakan
prosedur yang efektif. Model ini disebut Mesin Turing.
Mesin turing dapat diadaptasi untuk mensimulasi
logika dari setiap algoritma oleh karena itu cara kerja mesin
turing adalah ekivalen dengan cara kerja komputer sekarang ini
dan mesin turing juga ekivalen dengan problema komputasi
matematika. Mesin turing tidak ditujukan sebagai teknologi
komputasi praktis tetapi lebih sebagai eksperimen pemikiran
yang mewakili sebuah mesin komputasi. Mesin turing
membantu para ilmuan komputer memahami batas-batas
komputasi mekanis.
Sebagai input dari mesin turing adalah kata atau untai
atas suatu alfabet T. Mesin turing berhenti dengan keadaan
menerima atau menolak untai. Kadang-kadang terjadi pula
perulangan atau looping tak terhingga.
penerima H (halt). Sesaat sebelum proses
pengenalan sebuah kalimat, TM berada pada stata
S. Jika kalimat tersebut dikenali maka, setelah
selesai membaca kalimat tersebut, TM akan akan
berhenti pada stata H.
3. Sebuah edge mempunyai ‘bobot’ yang dinotasikan
sebagai triple : (a, b, d). a adalahkarakter acuan
bagi karakter dalam sel pita TM yang sedang
dibaca head. Jika yang dibaca head adalah karakter
a maka a akan di-overwrite dengan karakter b dan
head akanberpindah satu sel ke arah d (kanan atau
kiri).
4. Kondisi crash akan terjadi jika
ditemui keadaan sebagai berikut :
Gambar 2. Graf Berarah
TM sedang berada pada stata i. Jika TM sedang
membaca simbol ax ≠ a1 ≠ a2 ≠ ≠ an makaTM tidak mungkin
beranjak dari stata i. Jadi pada kasus ini penelusuran (tracing)
TM ber-akhir pada stata i.
B.
Gambar 1. Representasi mesin turing
Keterangan :
 Tape : Tempat diletakannya inputan yang berupa
kata/untai.
 Head: membaca dan menulisi sel pita mesin turing,
bisa bergerak ke kiri atau ke kanan.
 Finite StateControl (FSC) : otak dari TM,
diimplementasikan dari algoritma pengenalan kalimat.
Pada gambar diatas adalah representasi dari mesin
turing dimana head membaca/scan isi dari tiap-tiap sel pada
pita. Pada proses pembacaan sel, head diatur oleh FSC yaitu
sebuah algoritma pengontrol dari sebuah mesin turing. Diawali
simbol “#” sebagai simbol inisialisasi awal mesin turing,
kemudian diikuti oleh rangkaian kata/untai yang merupakan isi
utama yang akan dilakukan proses scanning.
Ilustrasi TM sebagai sebuah graf berarah :
1. Sebagaimana graf, TM terdiri dari beberapa node
dan beberapa edge. Dari satu node mungkin
terdapat satu atau lebih edge yang menuju node
lainnya atau dirinya sendiri.
2. Sebuah node menyatakan sebuah stata (state). Dua
stata penting adalah stata awal S(start) dan stata
Penggunaan Graf
Aplikasi berbasis Web “Palindrome Detector” dalam pola
kerjanya didasarkan pada penggunaan graf sebagai aturan dari
palindrom detektor. Graf pada palindrome detektor menentukan
bagaimana langkah-langkah proses deteksi suatu string, yaitu
menentukan suatu proses dapat berjalan menuju state
berikutnya, tetap berada pada state yang sama, atau bahkan
mundur kepada state sebelumnya.
Pada aplikasi palindrom detektor graf yang digunakan
digambarkan sebagai berikut :
Gambar 3. Graf Palindrome Detektor
Gambar graf di atas adalah konsep dasar dari
palindrom detektor, dimana pada masing-masing state
mempunyai kondisi dan tujuan state yang bebeda. Pada setiap
state mempunyai arah tujuan yang jelas, tidak dimungkinkan
suatu state menuju state yang bukan rekanan/afiliasi. Setiap
state bergerak menuju state lain sesuai dengan arah dari anak
panah. Graf palindrom detektor menghasilkan dua keadaan
yaitu yes/no, maksudnya adalah suatu string yang termasuk
kedalam kelompok palindrom akan menghasilkan output
“yes”, sedangkan untuk string yang tidak termasuk kedalam
kelompok palindrom akan menghasilkan output “no”.
Gambar graf di atas belum terdapat suatu kondisi yang
menentukan cara kerja palindrom detektor, atau dapat kita
sebut algoritma palindrom detektor. Algoritma inilah yang
menentukan kapan pada suatu node/state bergerak maju,
mundur, melakukan looping pada suatu state yang sama,
mengganti isi dari string, dan menentukan arah pergerakan sel
pada string menuju kekiri atau kekanan.
Selanjutnya adalah gambar graf palindrom detektor
yang telah dilengkapi dengan algoritma dan kondisi, seperti
pada gambar dibawah ini :
akhir dari sebuah string.
_ACGCA
#ACGCA
Gambar 6. Pemrosesan karakter pada state 1
Pada gambar di atas menunjukkan pergerakan karakter
dimulai dari karakter blank ‘ ’ kemudian dirubah menjadi
karakter ‘#’. Perubahan karakter diikuti dengan pergerakan arah
dari karakter yang sedang diproses sesuai dengan arah dari
kondisi pada state tersebut.
Gambar 7. Pemrosesan karakter pada State 2
Setelah melakukan inisialisasi pada state 1, dilanjutkan
dengan proses pada state 2. Pada state 2 terdapat 5 pergerakan
arah, yaitu menuju state 3, state 4, state 5, state 6, dan state 13.
String yang sedang diproses adalah string ’A’ sesuai pada
gambar, oleh karena itu pergerakan state menuju state 3 dan
dilakukan penggantian karakter ‘A’ dengan karakter blank ‘ ‘
dan pointer bergerak menuju kekanan dan berada pada karakter
‘C’.
Gambar 8. Pemrosesan karakter pada State 3
Gambar 4. Graf Palindrome Detektor lengkap
Untuk membaca graph, penulis mencontohkan dengan
string DNA/RNA sederhana sebagai berikut :
String : “ACGCA”
Untuk tahap awal kita beri inisialisasi terlebih dahulu, yaitu
pada string DNA/RNA diberi inisialisasi huruf blank.
1,_2,#,>
1
Setelah melakukan proses pergeseran array pada string
maka selanjutnya pada state 3 mencari kondisi yang sesuai
untuk mencari tahap pada state selanjutnya. Pada array yang
sedang diproses adalah karakter ‘C’ sehingga state masih tetap
pada keadaan semula. Karakter ‘C’ diganti dengan karakter
yang sama dan pointer bergerak kekanan berada pada karakter
‘G’. Karakter ‘G’ diganti dengan karakter yang sama, dan
pointer sekarang berada pada karakter ‘C’. Karakter ‘C’ diganti
dengan karakter yang sama, dan pointer sekarang berada pada
karakter ‘A’. Karakter ‘A’ diganti dengan karakter yang sama
dan pointer sekarang berada pada karakter blank.
Gambar 5. Pemrosesan karakter pada state 1
Pada gambar penggalan graph DNA/RNA palindrom
detektor dapat diartikan sebagai berikut :
Pada state 1, string dilakukan insertion pada huruf pertama
yaitu karakter blank ‘ ‘ masuk kedalam state 2 kemudian
karakter blank tersebut diganti dengan karakter ‘#’ selanjutnya
pointer pada string digeser kekanan. Karakter ‘#’ merupakan
inisialisasi terhadap suatu string, digunakan sebagai penunjuk
Gambar 9. Pemrosesan karakter pada state 3
Masih pada state 3, yaitu mencari kondisi yang sesuai
untuk mencari tahap pada state selanjutnya. Sekarang pointer
berada pada karakter blank ‘ ’ sehingga pergerakan state masih
pada tempat yang sama. Karakter blank ‘ ’ diganti dengan
karakter yang sama dan pergerakan array pada string digeser
kekiri dan sekarang berada pada karakter ‘A ’.
pointer pada string menuju kekanan yaitu berada pada karakter
‘G’.
Gambar 14. Pemrosesan karakter pada state 4
Gambar 10. Pemrosesan karakter pada state 7
Karakter yang sedang dalam proses adalah karakter ‘A‘
sehingga pergerakan state menuju pada state 11, dimana
karakter ‘A’ diganti dengan karakter blank ‘ ‘ dan pergerakan
array pada string menuju kekiri yaitu pada karakter ‘C’.
Selanjutnya pada state 4 mencari kondisi yang sesuai
untuk tahap pada state selanjutnya. Pada array yang sedang
diproses adalah karakter ‘G’ sehingga pergerakan state masih
pada tempat yang sama. Karakter ‘G’ diganti dengan karakter
yang sama dan pointer bergerak kekanan berada pada karakter
‘C’. Karakter ‘C’ diganti dengan karakter yang sama, dan
pointer sekarang berada pada karakter blank ‘ ’.
Gambar 11. Pemrosesan karakter pada state 11
Gambar 15. Pemrosesan karakter pada state 4
Karakter ‘C’ diganti dengan karakter yang sama dan
pointer bergerak kekiri berada pada karakter ‘G’. Karakter ‘G’
diganti dengan karakter yang sama, dan pointer sekarang
berada pada karakter ‘C’. Karakter ‘C’ diganti dengan karakter
yang sama dan pointer bergerak kekiri berada pada karakter
blank ‘ ’
Setelah melakukan proses pergeseran array pada string
maka selanjutnya pada state 4 mencari kondisi yang sesuai
untuk mencari tahap pada state selanjutnya. Pada array yang
sedang diproses adalah karakter blank ‘ ’ sehingga state
bergerak menuju kepada state 8. Karakter blank ‘ ’ diganti
dengan karakter yang sama dan pergerakan array pada string
digeser kekiri berada pada karakter ‘C’.
Gambar 12. Pemrosesan karakter pada state 11
Karakter yang sedang diproses adalah karakter blank ‘ ‘
sehingga pergerakan state bergerak menuju state 2, dimana
karakter blank ‘ ’ diganti dengan karakter blank ‘ ’ dan pointer
pada string menuju kekanan yaitu pada karakter ‘C’
Gambar 13. Pemrosesan karakter pada state 2
Karakter yang sedang diproses adalah karakter ‘C‘
sehingga pergerakan state bergerak menuju state 4, dimana
karakter ‘C’ diganti dengan karakter blank ‘ ‘ dan pergerakan
Gambar 16. Pemrosesan karakter pada state 8
Pada state 8, karakter yang sedang diproses adalah
karakter ‘C‘ sehingga pergerakan state berikutnya menuju
kepada state 11, dimana karakter ‘C’ diganti dengan karakter
blank ‘ ‘ dan pergerakan pointer pada string menuju kekiri yaitu
pada karakter ‘G’.
Gambar 17. Pemrosesan karakter pada state 11
Pada state 11, karakter yang sedang diproses adalah
karakter ‘G‘sehingga pergerakan state tetap pada kondisi
semula yaitu pada state 11, dimana karakter ‘G’ diganti dengan
karakter yang sama dan pergerakan pointer pada string menuju
kekiri yaitu pada karakter blank ‘ ’.
Gambar 22. Pemrosesan karakter pada state 13
Gambar 18. Pemrosesan karakter pada state 11
Pada state 11, karakter yang sedang diproses adalah
karakter blank ‘ ‘ sehingga pergerakan state bergerak menuju
state 2, dimana karakter blank ‘ ’ diganti dengan karakter yang
sama dan pergerakan pointer pada string menuju kekanan yaitu
pada karakter ‘G’.
Pada state 13, karakter yang sedang diproses adalah
karakter blank ‘ ‘ sehingga pergerakan state tetap berada pada
state 13, dimana karakter blank ‘ ’ diganti dengan karakter
blank ‘ ’ dan pergerakan pointer pada string menuju kekiri yaitu
pada karakter blank ‘ ’, dan bergerak kekiri hingga pointer
berada pada karakter ‘#’.
Gambar 23. Pemrosesan karakter pada state 13
Gambar 19. Pemrosesan karakter pada state 2
Pada state 2, karakter yang sedang diproses adalah
karakter ‘G‘ sehingga pergerakan state bergerak menuju state
5, dimana karakter ‘G’ diganti dengan karakter blank ‘ ’ dan
pergerakan pointer pada string menuju kekanan yaitu pada
karakter blank ‘ ’.
Pada state 13, karakter yang sedang diproses adalah
karakter ‘#‘ sehingga pergerakan state menuju kepada state 14,
dimana karakter ‘#’ diganti dengan karakter blank ‘ ‘ dan
pergerakan pointer pada string menuju kekanan yaitu pada
karakter blank ‘ ’.
Gambar 24. Pemrosesan karakter pada state 14
Gambar 20. Pemrosesan karakter pada state 5
Pada state 5, karakter yang sedang diproses adalah
karakter blank ‘ ‘ sehingga pergerakan state bergerak menuju
state 9, dimana karakter blank ‘ ’ diganti dengan karakter blank
‘ ’ dan pergerakan pointer pada string menuju kekiri yaitu pada
karakter blank ‘ ’.
Pada state 14 sudah tidak ada lagi percabangan, apabila
sudah mencapai tahap ini masing-masing state tersisa
menampilkan karakter hasil akhir. Karakter yang sedang
diproses adalah karakter blank ‘ ‘ menuju kepada state 15,
dimana karakter blank ‘ ’ diganti dengan karakter ‘Y’ dan
pergerakan pointer pada string menuju kekanan yaitu pada
karakter blank ‘ ’.
Gambar 25. Pemrosesan karakter pada state 15
Pada state 15, karakter yang sedang diproses adalah
karakter blank ‘ ‘ menuju kepada state 16, dimana karakter
blank ‘ ’ diganti dengan karakter ‘E’ dan pergerakan pointer
pada string menuju kekanan yaitu pada karakter blank ‘ ’.
Gambar 21. Pemrosesan karakter pada state 9
Pada state 9, karakter yang sedang diproses adalah
karakter blank ‘ ‘ sehingga pergerakan state bergerak menuju
state 13, dimana karakter blank ‘ ’ diganti dengan karakter
blank ‘ ’ dan pergerakan pointer pada string menuju kekiri
yaitu pada karakter blank ‘ ’.
Gambar 26. Pemrosesan karakter pada state 16
Pada state 16, karakter yang sedang diproses adalah
karakter blank ‘ ‘ menuju kepada state terakhir yaitu state H
(halt). Karakter blank ‘ ’ diganti dengan karakter ‘S’ dan
pergerakan array pada string menuju kekanan yaitu pada
karakter blank ‘ ’.
Proses-proses di atas adalah perjalanan string
DNA/RNA “ACGCA” dalam graph palindrom detektor. Mulai
dari state 1 hingga menuju kepada state terakhir H (halt),
sehingga menghasilkan output “YES” yang menandakan string
DNA/RNA “ACGCA” adalah termasuk kelompok palindrom.
C.
Untuk memulai aplikasi, user pertama-tama melakukan
langkah-langkah sebagai berikut :
Pilih Palindrome Detector pada combo box.
Pada tahap ini user memilih program
DNA/RNA palindrom detektor untuk
dimasukkan kedalam Mesin Turing.
 Klik Load New Program.
Pada saat tombol ini di klik maka
program palindrom detektor telah
dimasukkan kedalam mesin turing.
Secara default maka akan muncul
properties dari aplikasi DNA/RNA
palindrom detektor, yaitu nama mesin,
posisi awal pita, dan string yang akan
dimasukkan kedalam pita Mesin Turing.
 Klik Start.
Ketika tombol di klik, maka program
akan berjalan untuk menentukan jenis
string yang ada pada pita. Secara default
string
termasuk
kepada
kategori
palindrom sehingga hasilnya akan
bernilai ‘YES’.
Perancangan Tampilan Aplikasi Palindrom Detektor
Tampilah web aplikasi DNA/RNA palindrom detektor
menggunakan Java Applet dapat dilihat seperti dibawah ini.
D.
Gambar 27. Schema dari aplikasi DNA/RNA palindrom
detektor
Gambar di atas adalah perancangan dari web aplikasi
palindrom detektor. Dibawah ini adalah tabel yang berisi index
dari gambar aplikasi palindrom detektor.
Index
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Fungsi
Form Browser
Applet Form
Label (State N)
Tombol (START)
Tombol (STOP)
Tombol (RESUME)
Tombol (STEP)
Label (Speed)
Combo Button ( SPEED)
Image (ARAH)
Pita Mesin Turing
Tombol (LOAD MACHINE)
Combo Button ( PALINDROME DETEKTOR)
Label (MACHINE NAME)
Text Field
Label (TAPE POSITION)
Scroll Bar
Label (CHARACTERS ON TAPE)
Text Field
Label (GRAPH)
Tombol (CLEAR GRAPH)
Tombol ( LOAD STRING)
Text Area
Text Area
Tombol (CLEAR MESSAGE BOX)
Perancangan Tampilan Website
Pada tampilan index ini akan ditampilkan halaman
home. Perancangan tampilan pada web aplikasi DNA/RNA
palindrom detektor ini memiki tabel inti yang terdiri dari
Header, Footer, tabel1, tabel2, tabel3, table4, dan tabel5. Pada
setiap halaman kita akan tetap menemukan tampilan seperti
pada halaman home ini, namun isi dari setiap halaman terletak
pada tabel 4 dan tabel5, dan tabel inilah yang akan terus
berubah apabila kita melakukan perpindahan halaman. Berikut
ini adalah penjelasan fungsi dari tabel - tabel tersebut :
 Header, merupakan gambar logo pada website
ini beserta tempat diletakannya tab untuk
menuju kehalaman lain.
 Footer, merupakan informasi mengenai nama
pembuat website dan tahun dibuatnya website
e-commerce ini.
 Pada table 1, terdiri dari:
 Link
menuju
website
yang
berhubungan dengan web aplikasi
palindrom detektor.
 Pada table 2, terdiri dari :
 link menuju institusi yang telah
membantu secara langsung dan tidak
langsung bagi penulis dalam
pembuatan web aplikasi palindrome
detektor.
 Table 3 terdiri dari :
 pesan singkat dari penulis untuk user.
 Table 4 & 5 terdiri dari :
 sejarah singkat mengenai mesin
turing dan palindrom detektor.
Gambar 28. Struktur Halaman web
IV. OUTPUT PROGRAM
Pada tahap ini merupakan tampilan output program yang akan
dihasilakan pada saat program dijalankan. Terdiri dari
beberapa tampilan gambar yang merupakan suatu tahap dalam
melakukan proses deteksi palindrom.
Gambar 31. Palindrome Detektor
Pilih menu palindrome detector kemudian klik load new
program maka akan muncul tampilan seperti gambar diatas,
tekan tombol start maka program akan berjalan dan string
yang ada akan diproses oleh mesin turing dan akan
menghasilkan output berupa string “yes” yang menandakan
bahwa string tersebut adalah termasuk kedalam kelompok
palindrome.
X. PENUTUP
Gambar 29. Palindrome Detector
Gambar diatas adalah gambar palindrome detektor ketika
pertama kali dijalankan. Terdapat bantuan yang terdapat pada
text boks mengenai penggunaan palindrome ini.
Kesimpulan
- Berdasarkan uji coba yang telah dilakukan, web
aplikasi DNA/RNA palindrome detektor ini akan
memisahkan suatu string/untai yang termasuk
palindrome atau bukan.
- Aplikasi ini bertujuan untuk memperdalam penerapan
teori graph beserta aplikasinya dan memberi
gambaran tentang simulasi sederhana dalam
menentukan untai palindrome DNA/RNA dengan
menggunakan sebuah mesin turing.
- Kelebihan aplikasi ini adalah dapat dijalankan
langsung pada web browser tanpa harus
mendownload aplikasinya terlebih dahulu.
Saran
Penulis mengharapkan web aplikasi ini dapat
dikembangkan lebih sempurna lagi agar dapat membantu
diberbagai bidang terutama pada bidang rekayasa
genetika.
REFERENCES
[1] D. Suryadi H.S, Pengantar Automata Bahasa Formal dan kompilasi,
Gunadarma, Depok, 1991.
[2] Didik Dwi Prasetyo, 150 Rahasia pemrograman Java, PT Elex Media
Komputindo Kelompok Gramedia, Jakarta, 2007.
[3] Irawan, Java Untuk Orang Awam, Maxikom, Palembang, 2007.
[4] Kelley, Dean, Otomata dan bahasa-bahasa Formal, PT. Prenhallindo,
Jakarta, 1999.
[5] Rangsang Purnama, Pemrograman GUI menggunakan Java, Prestasi
Pustaka, Jakarta, 2007.
Gambar 30. Palindrome Detektor
[6] R. Purnama, Pemrograman Tingkat Dasar, Gitamedia Prees, Surabaya,
2008.
[7] A. Juarna, Catatan teori Bahasa dan Automata,[pdf].
[8] http://en.wikipedia.org/wiki/RNA, diakses padahari Selasa, tanggal 1 Juni
2010.
[9] http://hansiaditya.wordpress.com/2007/09/25/waterfall-process-model/,
diakses pada hari Minggu, tanggal 6 Juni 2010.
[10] http://apriladewikoto.com/2010/04/08/pengenalan-bahasa-pemrogramanjava/, diakses pada hari Kamis, tanggal 3 Juni 2010.
[11] http://download.oracle.com/javase/1.4.2/docs/api, diakses pada hari
Kamis, tanggal 3 juni 2010.
[12] http://pemrograman lanjut.blogspot.com/2010/03/java-programminglanguage.html, diakses pada hari Jumat, tanggal 4 Juni 2010.
[13] http://www.w3schools.com/html/html_primary.asp, diakses pada hari
Jumat, tanggal 4 Juni 2010.
Download