Analisa Perbandingan dan Implementasi Algoritma DNA Pairwise Sequence Alignment Needleman-Wunsch dan Lempel-Ziv.

(1)

ABSTRAK

Ilmu Bioinformatika meneliti tentang perubahan yang dialami oleh DNA, serta membantu memberikan tanda terhadap mutasi genetika yang terjadi. Untuk membandingkan sekuens DNA dan mencari tahu bagaimana kedua DNA memiliki kesamaan dapat digunakan algoritma-algoritma yang dapat mengolah pensejajaran DNA baik secara global maupun secara lokal. Pensejajaran secara global dilakukan dengan membandingkan semua karakter di dalam sekuens, sementara pensejajaran lokal hanya mengambil potongan dari sekuens dan membandingkannya. Pensejajaran global menjadi dasar penelitian laporan ini dengan menggunakan dua algoritma yaitu Needleman-Wunsch dan Lempel-Ziv. Kedua algoritma ini bekerja dengan membangun matriks skor dan mensejajarkan sekuens dari hasil matriks yang dibuat. Pengujian dilakukan dengan mengambil secara acak sekuens DNA dengan panjang kurang dari 1000 karakter hingga panjang melebihi 1000 karakter. Algoritma Needleman-Wunsch unggul dengan kecepatan proses hingga 1 miliseconds untuk dataset kurang dari 1000 karakter dan 42 miliseconds untuk dataset lebih dari 1000 karakter. Meskipun algoritma Lempel-Ziv memerlukan waktu untuk pembentukan frase, kecepatan algoritma Lempel-Ziv rupanya lebih cepat daripada algoritma Needleman-Wunch untuk kasus sekuens DNA yang memiliki frase sempurna.

Kata kunci: DNA, bioinformatika, sekuens, Needleman-Wunsch, Lempel-Ziv, algoritma pensejajaran DNA, frase sempurna


(2)

ABSTRACT

Bioinformatics research is currently working on the changing of the DNA information, and marking the mutation for the DNA. For comparing DNA and finding out how two DNA can have similarities, bioinformatics using algorithms that works in global alignment and local alignment. The global alignment is comparing all the characters in sequence while the local only take a piece of characters from the alignment. This study proposes two algorithms for processing the DNA sequence in global alignment. The akgorithms are Needleman-Wunsch and Lempel-Ziv algorithms. These algorithms work with building a scoring matrix and create an alignment based on the matrix. The experiment is conducted by testing DNA sequences randomly with the length less than 1000 characters and more than 1000 characters. Needleman-Wunsch leading with processing speed up to 1 miliseconds for less than 1000 character dataset and 42 miliseconds for more than 1000 characters dataset, while Lempel-Ziv is leading the processing speed on specific case of perfect phrase in DNA sequence.

Keywords: DNA, Bioinformatics, sequence, Needleman-Wunsch, Lempel-Ziv, sequence alignment algorithms, perfect phrase.


(3)

DAFTAR ISI

LEMBAR PENGESAHAN ... i

PERNYATAAN ORISINALISTAS LAPORAN PENELITIAN ... ii

PERNYATAAN PUBLIKASI LAPORAN PENELITIAN ... iii

PRAKATA ... iv

ABSTRAK ... vi

ABSTRACT ... vii

DAFTAR ISI ... viii

DAFTAR GAMBAR ... xi

DAFTAR TABEL ... xiii

DAFTAR NOTASI/ LAMBANG ... xiv

DAFTAR SINGKATAN ... xvi

DAFTAR ISTILAH ... xvii

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 3

1.3 Tujuan Pembahasan ... 3

1.4 Ruang Lingkup ... 3

1.5 Sumber Data ... 4

1.6 Sistematika Penyajian ... 4

BAB 2 KAJIAN TEORI ... 6

2.1 Bioinformatika ... 6

2.2 DNA, RNA, dan Protein ... 6

2.3 Rekayasa Perangkat Lunak ... 7


(4)

2.5 Algoritma Lempel-Ziv ... 9

2.6 Skor Dan Kecepatan Algoritma ... 10

BAB 3 ANALISIS DAN RANCANGAN SISTEM ... 11

3.1 Analisis Program ... 11

3.2 Needleman-Wunsch ... 11

3.2.1 Scoring Matrix ... 11

3.2.2 Traceback ... 14

3.2.3 Alignment ... 14

3.3 Lempel-Ziv ... 15

3.3.1 Lempel-Ziv Factorisation Phrase ... 15

3.4 Substitution Matrix ... 18

3.4.1 Gambaran Aplikasi... 18

3.5 Gambaran Keseluruhan ... 19

3.5.1 Persyaratan Antarmuka Eksternal ... 19

3.5.2 Persyaratan Antarmuka Perangkat Lunak ... 19

3.5.3 Persyaratan Antaruka Perangkat Keras ... 20

3.6 Pemodelan Perangkat Lunak ... 20

3.6.1 Use case Diagram ... 20

3.6.2 Package Dan Class Diagram ... 21

3.6.3 Skenario ... 22

3.6.3.1 Skenario Sistem: Input Sekuens ... 22

3.6.3.2 Skenario Sistem: Pilih Metode Pensejajaran ... 23

3.6.3.3 Skenario Sistem : Menentukan Nilai Pensejajaran ... 25

3.6.4 Activity Diagram ... 25

3.6.4.1 Activity Diagram: Input Sekuens ... 26


(5)

3.7 Rencana Pengujian ... 27

BAB 4 IMPLEMENTASI ... 28

4.1 Hasil Tampilan ... 28

4.2 Tampilan Awal Aplikasi ... 28

4.3 Tampilan Progress Dan Output ... 29

4.4 Implementasi Aplikasi ... 30

4.4.1 Scoring Matrix ... 30

4.4.2 Factor Sequence ... 34

4.4.3 Needleman-Wunsch ... 36

4.4.3.1 Compute Matrix ... 36

4.4.3.2 Pairwise Alignment Needleman-Wunsch ... 38

4.4.4 Lempel-Ziv ... 40

BAB 5 PENGUJIAN ... 42

5.1 Hasil Pengujian ... 42

5.2 Pengujian Sekuens Maksimal 1000 Karakter ... 42

5.3 Pengujian Sekuens Di Atas 1000 Karakter ... 47

5.4 Pengujian Spesifik Lempel-Ziv Factorisation Phrase Terhadap Nilai Gap 51 BAB 6 SIMPULAN DAN SARAN ... 53

6.1 Simpulan ... 53

6.2 Saran ... 54

DAFTAR PUSTAKA ... 55


(6)

DAFTAR GAMBAR

Gambar 2.1 Dogma sentral biologi molekuler ... 7

Gambar 3.1 Proses Awal Matriks Skor ... 12

Gambar 3.2 Proses Pengisian Tabel Matriks Skor ... 13

Gambar 3.3 Hasil Pengisian Matriks Skor ... 14

Gambar 3.4 Hasil Alignment Needleman-Wunsch ... 15

Gambar 3.5 Proses Pengisian Matriks Skor Lempel-Ziv ... 17

Gambar 3.6 Hasil Alignment Lempel-Ziv ... 17

Gambar 3.7 Contoh Substitution Matrix BLOSUM ... 18

Gambar 3.8 Use case Sistem Bioinformatika ... 20

Gambar 3.9 Package Bioinformatika ... 21

Gambar 3.10 Class Diagram Bioinformatika ... 22

Gambar 3.11 Input Sekuens ... 26

Gambar 3.12 Pilih metode pensejajaran... 26

Gambar 3.13 Menentukan nilai pensejajaran ... 27

Gambar 4.1 Tampilan Awal Aplikasi Bioinformatika ... 29

Gambar 4.2 Tampilan Progress ... 30

Gambar 4.3 Tampilan Output ... 30

Gambar 4.4 Kode Program Untuk Proses Scoring Matrix ... 33

Gambar 4.5 Contoh Proses Scoring Matrix ... 33

Gambar 4.6 Kode Program Untuk Factor Sequence ... 35

Gambar 4.7 Contoh Factor Sequence... 35

Gambar 4.8 Kode Program Untuk Compute Matrix ... 37

Gambar 4.9 Contoh Proses Compute Matrix ... 37

Gambar 4.10 Kode Program Untuk Pairwise Alignment Needleman-Wunsch .... 39

Gambar 4.11 Contoh Proses Sequence Alignment Needleman-Wunsch... 39

Gambar 4.12 Kode Program Untuk Pairwise Alignment Lempel-Ziv ... 41

Gambar 4.13 Contoh Pairwise Sequence Lempel-Ziv ... 41

Gambar 5.1 Grafik Waktu Untuk Pengujian Sekuens Maksimal 1000 Karakter . 44 Gambar 5.2 Grafik Panjang Sekuens Untuk Tiap Test Case ... 45


(7)

Gambar 5.4 Grafik Waktu Proses Terhadap Panjang Sekuens ... 46

Gambar 5.5 Grafik Waktu Proses Terhadap Test Case... 49

Gambar 5.6 Grafik Panjang Sekuens Terhadap Test Case ... 50

Gambar 5.7 Grafik Skor Terhadap Panjang Sekuens... 50

Gambar 5.8 Grafik Waktu Proses Terhadap Panjang Sekuens ... 51 Gambar 5.9 Hasil Lempel-Ziv Alignment Sekuens Hepatitis A dan Hepatitis B . 52


(8)

DAFTAR TABEL

Tabel 2.1 Jenis perangkat lunak dan contohnya... 7

Tabel 3.1 Lempel-Ziv Factorisation Phrase ... 16

Tabel 3.2 Skenario Input Sekuens ... 23

Tabel 3.3 Skenario Pilih Metode Pensejajaran ... 24

Tabel 3.4 Skenario Menentukan Nilai Pensejajaran ... 25

Tabel 5.1 Pengujian Sekuens Maksimal 1000 Karakter ... 42

Tabel 5.2 Pengujian Sekuens Di Atas 1000 Karakter ... 47


(9)

DAFTAR NOTASI/ LAMBANG

Jenis Notasi/ Lambang Nama Arti

UML Association Relasi antar kelas

dengan makna umum, asosiasi biasanya juga disertai dengan multiplycity

UML Directed

assocation

Relasi antar kelas dengan makna kelas yang satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan

multiplycity

UML Use case Fungsionalitas

yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor.

UML Actor Orang, proses, atau

sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi itu sendiri, jadi walaupun gambar aktor adalah gambar orang belum tentu aktor adalah orang

UML Status awal Status awal

aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal

UML Status Akhir Status akhir yang

dilakukan sistem, sebuah diagram aktivitas memiliki status akhir


(10)

Jenis Notasi/ Lambang Nama Arti

UML Aktivitas Aktivitas yang

dilakukan sistem, biasanya di awali dengan kata kerja

UML Percabangan Asosiasi

percabangan di mana jika ada pilihan aktivitas lebih dari satu

Referensi:


(11)

DAFTAR SINGKATAN

DNA Deoxyribonucleic Acid

RNA Ribonucleic Acid

mRNA Messenger Ribonucleic Acid

BLAST Basic Local Alignment Search Tool

LASTZ Local Alignment Search Tool - Z

YASS Yet Another Similarity Searh

RPL Rekayasa Perangkat Lunak


(12)

DAFTAR ISTILAH

Sequence Sekuens atau kumpulan karakter DNA yang berupa urutan huruf-huruf.

Matrix Matriks, implementasi penyusunan karakter-karakter menjadi kotak yang tersusun sehingga dapat dihitung pensejajarannya.

Alignment Pensejajaran, teknik mencari kesejajaran dari sekuens DNA.

Phrase Frase

Data Compression Kompresi data menjadi lebih singkat/kecil.

Perfect Factorisation Faktorisasi sempurna untuk menandakan pengunaan dalam algoritma Lempel-Ziv


(13)

BAB 1

PENDAHULUAN

1.1Latar Belakang

Kehidupan manusia merupakan rangkaian dari berbagai macam penerimaan, pengolahan dan penyampaian informasi, baik itu cara bicara, pola hidup, sejarah, dan semua yang berhubungan dengan kegiatan manusia. Penyampaian informasi tidak hanya disampaikan di tahap komunikasi manusia pada umumnya, misalnya berbicara atau menyampaikan sesuatu secara visual, penyampaian informasi juga terjadi di tahap molekular sel, yaitu DNA. DNA adalah struktur informasi unik terkecil yang dimiliki oleh setiap organisme dan DNA berperan penting dalam seluruh kehidupan yang terjadi di muka bumi ini.

Ilmu yang mempelajari tentang DNA secara spesifik, salah satunya, adalah mikrobiologi. Mikrobiologi sudah berkembang pesat dari abad ke abad dengan meneliti bagaimana suatu informasi dari DNA tiap organisme dapat diwariskan atau bahkan dimodifikasi. Seiring dengan perkembangan ilmu mikrobiologi, kehidupan di dunia juga mengalami perkembangan dan perubahan yang kita sebut dengan evolusi. Evolusi yang kita kenal berhubungan erat dengan perubahan penyampaian informasi DNA oleh tiap organisme. Informasi DNA atau sequence dari DNA yang ada mengalami perubahan yang disebut mutasi [2].

Menurut Deepa Agashe dalam penelitiannya di jurnal biologi molekular dan evolusi, mutasi atau perubahan informasi sel terjadi berulang kali pada banyak varian gen [3]. Dengan semakin banyaknya perubahan informasi sel dari tiap organisme, wujud atau cara bertahan hidup sebuah organisme semakin beragam. Dalam hal ini, ilmu mikrobiologi mendapat tantangan dalam membandingkan organisme satu dengan yang lainnya; apakah suatu organisme tersebut memiliki kerabat atau hubungan erat dengan organisme yang memiliki wujud ataupun cara bertahan hidup yang mirip.

Dengan berkembangnya data tentang informasi DNA yang dimiliki, ilmu mikrobiologi saja tidak cukup dalam mengolah data dan melakukan perbandingan antar sequence DNA dari organisme-organisme yang ingin diteliti. Untuk itu, diperlukan ilmu komputasi informatika yang dapat membantu menganalisa


(14)

2

sequence DNA yang ada, membandingkan, dan dapat mengambil kesimpulan dari hasil analisa tersebut.

Bioinformatika adalah aplikasi dalam bidang sains biologi yang berfokus pada analisis data sekuens biologi. Bioinformatika cenderung digunakan dalam komputasi mikrobiologi dan dengan adanya bioinformatika, perkembangan pesat dari data sequence DNA yang muncul hampir tiap hari dapat diolah dan ditangani secara cepat. Bioinformatika mempunyai peran penting dalam pensejajaran atau perbandingan sequence DNA. Dalam sequence DNA, bioinformatika menggunakan algoritma untuk mensejajarkan suatu DNA dan mencari kecocokan dari DNA tersebut sehingga kemiripan dan korelasi antar DNA dari organisme dapat dianalisis dengan baik.

Untuk melakukan pensejajaran sekuens DNA, program dari ilmu bioinformatika menggunakan berbagai macam algoritma. Pensejajaran DNA memiliki dua macam teknik, yaitu pensejajaran global ataupun lokal. Dalam pensejajaran global, seluruh karakter DNA diproses sementara dalam pensejajaran lokal hanya sebagian dari karakter DNA yang diproses [2]. Beberapa algoritma yang digunakan dalam pensejajaran lokal antara lain adalah Smith-Waterman, FASTA, BLAST, dan masih banyak algoritma yang sedang dikembangkan. Sementara untuk pensejajaran global, algoritma Needleman-Wunsch masih kerap digunakan dan juga dikembangkan agar lebih efisien [4]. Di sisi lain, pensejajaran global mengalami banyak perkembangan dan banyak algoritma-algoritma baru diciptakan dengan mengadaptasi dari beberapa algoritma dasar, salah satunya adalah metode Lempel-Ziv, yaitu metode teknik data compression yang kemudian diadaptasi untuk pensejajaran DNA [5].

Kecepatan proses dan ketepatan pensejajaran, menjadi tolak ukur penting terhadap pensejajaran yang baik oleh suatu algoritma. Untuk itu, mencari keseimbangan yang optimal terhadap kecepatan dan ketepatan pensejajaran menjadi dasar pembuatan aplikasi bioinformatika ini dengan mengimplementasikan dan menganalisa kinerja dua algoritma pensejajaran global yaitu Needleman-Wunsch dan Lempel-Ziv.

Dari studi literatur yang telah dilakukan kinerja kedua algoritma ini belum pernah dibandingkan. Oleh karena itu, tugas akhir ini mengangkat hal baru yaitu


(15)

3

meneliti lebih jauh mengenai fungsi, analisa, dan perbandingan dua algoritma ini, khususnya mengenai kecepatan dan ketepatan serta implementasinya di dalam sebuah program. Harapannya adalah tugas akhir ini dapat berkontribusi kepada bidang bioinformatika, khususnya, pemahaman tentang kinerja dua algoritma tersebut dan, umumnya, bidang ilmu informatika serta penerapannya dalam biologi seluler.

1.2Rumusan Masalah

Dari latar belakang yang sudah disampaikan, maka dapat dirumuskan beberapa masalah yang menjadi dasar pembuatan program bioinformatika, yaitu: 1. Bagaimana membuat implementasi Needleman-Wunsch dan Lempel-Ziv ke

dalam suatu program?

2. Bagaimana menentukan algoritma yang tepat untuk tiap kasus pensejajaran DNA yang berbeda?

3. Bagaimana proses dan analisa dari kedua algoritma dapat membantu penelitian biologi molekuler ?

1.3Tujuan Pembahasan

Tujuan pembahasan dari analisa algoritma bioinformatika, yaitu:

1. Mengembangkan aplikasi bioinformatika yang memiliki proses pengolahan data sekuens dengan algoritma Needleman-Wunsch dan Lempel-Ziv.

2. Memberikan analisis dari proses kinerja tiap algoritma untuk menentukan algoritma yang tepat di tiap kasus berbeda.

3. Memberikan analisis dari kedua algoritma dalam proses pensejajaran DNA untuk membantu memberikan hasil yang cepat dan tepat dalam penelitian biologi molekuler.

1.4Ruang Lingkup

Ruang lingkup untuk program ini meliputi 3 hal yaitu aplikasi, perangkat lunak, dan perangkat keras.


(16)

4

a. Aplikasi ini akan memiliki dua metode pengolahan sekuens DNA berdasarkan dua algoritma yaitu Needleman-Wunsch dan Lempel-Ziv. b. Tiap metode pengolahan sekuens DNA akan dites dari maksimal 1000

karakter hingga di atas 1000 karakter.

2. Perangkat lunak yang digunakan: a. Microsoft Office 2013

b. Netbeans c. JDK 8.0.2 d. Windows 10 Pro

3. Perangkat keras yang digunakan untuk mendukung pembuatan aplikasi ini adalah:

a. Prosesor Intel Celeron @ 1.50GHz, 64bit. b. RAM 4GB

c. HDD 500GB

1.5Sumber Data

Sumber data untuk mendukung analisis dari program bioinformatika adalah

string barisan DNA yang didapat dari website National Center for Biotechnology Information (NCBI). String yang digunakan akan diambil secara acak sebanyak 100 buah sekuens DNA dengan panjang kurang dari 1000 karakter untuk 50 dataset

pertama dan panjang lebih dari 1000 karakter untuk 50 dataset kedua. Dataset ini digunakan untuk pengujian kecepatan dan skor dari hasil pensejajaran DNA menggunakan algoritma Needleman-Wunsch dan Lempel-Ziv.

1.6Sistematika Penyajian

Sistematika penyajian untuk laporan analisa program bioinformatika dengan algoritma pensejajaran DNA ini adalah sebagai berikut:


(17)

5

BAB 1 PENDAHULUAN

Bab ini menjelaskan dasar-dasar pembahasan mengenai DNA, proses penyaluran informasi organisme, barisan DNA, dan peran bioinformatika dalam pensejajaran barisan DNA.

BAB 2 KAJIAN TEORI

Berisi teori-teori yang menjadi dasar penyusunan laporan.

BAB 3 ANALISIS DAN PERANCANGAN

Berisi analisis dari tiap algoritma, serta perancangan program bioinformatika yang memiliki empat algoritma pensejajaran barisan DNA.

BAB 4 IMPLEMENTASI

Berisi penerapan dari program terhadap barisan data DNA.

BAB 5 PENGUJIAN

Berisi pengujian dari tiap algoritma yang ada, serta pengujian keseluruhan program bioinformatika.

BAB 6 SIMPULAN DAN SARAN

Berisi kesimpulan dari laporan, serta saran dari penulis untuk program yang dirancang.


(18)

BAB 6

SIMPULAN DAN SARAN

6.1Simpulan

Simpulan yang dapat diambil dari hasil pembuatan aplikasi Bioinformatika ini adalah:

1. Aplikasi Bioinformatika dapat memproses alignment dari dua buah sekuens DNA yang dipilih dengan algoritma Needleman-Wunsch dan algoritma Lempel-Ziv.

2. Algoritma Needleman-Wunsch memiliki keunggulan dalam alignment sekuens dengan panjang karakter kurang dari 1000, Needleman-Wunsch memiliki waktu proses dengan nilai minimal 1 miliseconds dan nilai maksimal 75 miliseconds. sementara algoritma Lempel-Ziv memiliki waktu kinerja yang lebih lama dengan waktu proses minimal 25 miliseconds dan maksimal 960 miliseconds dalam penelitian untuk karakter dengan panjang maksimal 1000, namun Lempel-Ziv memiliki keunggulan dalam alignment untuk sekuens dengan faktorisasi sempurna. Faktorisasi sempurna dapat dilihat dari frase yang terurut secara bertahap dengan pengulangan dari tiap frase yang sudah tercatat di atasnya dengan tambahan satu karakter selanjutnya dari tiap frase. Needleman-Wunch dapat digunakan untuk pensejajaran sekuens pada umumnya namun Lempel-Ziv memiliki keunggulan dalam proses pengolahan dataset dengan faktorisasi sempurna.

3. Algoritma Needleman-Wunsch dan Lempel-Ziv dapat memberikan hasil alignment dengan visualisasi gap yang dapat dilihat jelas oleh pengguna, sehingga hasil alignment tersebut dapat digunakan untuk penelitian dalam bidang biologi molekuler untuk mencari tanda mutasi (mutation mark) dalam suatu kasus pensejajaran DNA.

4. Lempel-Ziv factorisation phrase memiliki keunggulan hanya dalam kasus sekuens dengan perfect factorisation phrase. Namun proses factorisation phrase tidak mengubah nilai gap terhadap hasil alignment sehingga data hasil pengujian tetap valid.


(19)

54

6.2Saran

Saran pengembangan aplikasi Bioinformatika yang dapat diberikan adalah sebagai berikut:

1. Memberikan batasan karakter maksimal untuk pengolahan sekuens yang tidak melebihi kapasitas memori komputer/laptop yang digunakan, karena untuk saat ini, proses alignment dengan karakter yang melebihi 8000 akan mengalami masalah kelebihan pemakaian memori.

2. Memberikan suggestion terhadap algoritma Lempel-Ziv yang memiliki keunggulan dalam pemrosesan data untuk sekuens yang memiliki faktorisasi sempurna. Suggestion dapat berupa disclaimer yang terdapat di aplikasi, sehingga pengguna mengerti bagaimana tiap algoritma menangani sekuens yang diberikan.

3. Memisahkan data sekuens untuk Lempel-Ziv yang sudah mengalami factorisation phrase sehingga perhitungan untuk proses Lempel-Ziv diharapkan memiliki waktu yang tidak jauh berbeda dengan Needleman-Wunsch.


(20)

ANALISA PERBANDINGAN DAN

IMPLEMENTASI ALGORITMA DNA PAIRWISE

SEQUENCE ALIGNMENT

NEEDLEMAN-WUNSCH DAN LEMPEL-ZIV

TUGAS AKHIR

Diajukan untuk Memenuhi Persyaratan Akademik dalam

Menyelesaikan Pendidikan pada Program Studi

S1 Teknik Informatika Universitas Kristen Maranatha

Oleh

Mikhael Avner Malendes

1372042

PROGRAM STUDI S1 TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INFORMASI

UNIVERSITAS KRISTEN MARANATHA

BANDUNG

2016


(21)

PRAKATA

Segala puji syukur hanya kepada Tuhan Yesus Kristus atas segala berkat dan hikmat yang diberikan kepada penulis sehingga tugas akhir yang berjudul

Analisa Perbandingan Dan Implementasi Algoritma DNA Pairwise Sequence

Alignment Needleman-Wunsch Dan Lempel-Ziv“ ini dapat diselesaikan. Penulis

sadar laporan ini masih jauh dari kesempurnaan, kekurangan, dan kesalahan yang terdapat di dalam laporan ini dikarenakan keterbatasan ilmu pengetahuan dan pengalaman penulis. Dengan demikian, penulis meminta kebijaksanaan dan pengertian dari para pembaca untuk memakluminya.

Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada pihak-pihak yang telah membantu dalam mengerjakan tugas akhir ini.

1. Kepada Bapak Dr. Hapnes Toba, M. Sc. selaku Dekan Fakultas Teknologi Informasi Universitas Kristen Maranatha Bandung.

2. Kepada Bapak Hendra Bunyamin, S.Si., M.T. selaku pembimbing yang telah banyak membantu penulis dalam penyelesaian tugas akhir ini.

3. Kepada Ibu Meliana Christianti J., S.Kom., M.T. selaku Koordinator Tugas Akhir S1 Teknik Informatika Universitas Kristen Maranatha Bandung.

4. Kepada dosen-dosen di Fakultas Teknologi Informasi yang telah memberikan masukan dan memberikan pedoman dalam menyelesaikan tugas akhir ini. 5. Kepada keluarga penulis papi Gerson Malendes, mami Elsye Malendes, kak

Meity dan kak Lian yang telah banyak membantu dan memberikan dukungan dalam doa dan finansial selama menyelesaikan tugas akhir ini.

6. Kepada rekan-rekan penulis Claudia, Silvi, Malvin, Imel, Stefi, Robby, Yoses, Nicky, Jordy, Kevin, Gio yang telah banyak memberikan dukungan dan motivasi sehingga penulis dapat menyelesaikan tugas akhir ini dengan sebaik-baiknya.

Terima kasih kepada semua pihak yang tidak dapat saya sebutkan satu persatu baik secara langsung maupun tidak secara langsung yang membantu penulis dalam menyusun tugas akhir ini.


(22)

Akhir kata, penulis berharap semoga hasil tugas akhir ini, dapat memberikan sesuatu yang dapat berarti bagi semua pihak. Oleh karena itu, penulis akan menerima setiap kritik dan saran yang dapat membangun penulis agar dapat bekerja lebih baik lagi.

Bandung, 13 Desember 2016


(23)

DAFTAR PUSTAKA

[1] J. Simarmata, Rekayasa Perangkat Lunak, Yogyakarta: Penerbit ANDI, 2010. [2] D. P. A. P. Ernawati, “Implementasi Algoritma Smith-Waterman Pada Local

Alignment Dalam Pencarian Kesamaan Pensejajaran Barisan DNA (Studi

Kasus : DNA Tumor Wilms),” Jurnal Pseudocode, pp. 170-177, 2014. [3] D. Agashe, “Large-Effect Beneficial Synonymous Mutations Mediate Rapid

and Parallel Adaptation in a Bacterium,” Molecular Biology and Evolution,

vol. 33, no. 6, pp. 1542-1553, 2016.

[4] W. H. B. R. Alex Aravind, “Pairwise sequence alignment algorithms : a

survey,” Association for Computing Machinery Journal, 2016.

[5] A. Chan, “Stanford Project,” 2004. [Online]. Available: biochem218.stanford.edu/Projects%202004.Chan.pdf.

[6] S. J. P. J. Z. Shanika Kuruppu, “Optimized Relative Lempel-Ziv Compression

of Genomes,” vol. XXXIV, pp. 1-8, 2011.

[7] Z. R. Yang, Machine Learning Approaches to Bioinformatics, Singapore: World Scientific Publishing Co. Pte. Ltd., 2010.

[8] W. S. Susan Elrod, Schaum's Genetika, Jakarta: Erlangga, 2007.

[9] V. Likic, “The Needleman-Wunsch Algorithm for Sequence Alignment,” dalam Bio21 Molecular Science and Biotechnology Institute, Melbourne, 2008.

[10] S. J. P. Dominik Kempa, “Lempel-Ziv Factorization: Simple, Fast, Practical,”

Algorithm Engineering and Experiments (ALENEX), pp. 103-112, 2013. [11] J. C. G. C. N. L. J. L. J. F. D. B. S. C. L. Dandan Song, “Parameterized

BLOSUM Matrices for Protein Alignment,” Transactions on Computational Biology and Bioinformatics, vol. 12, no. 3, pp. 686-694, 2015.

[12] Suyanto, Algoritma Optimasi Deterministik Atau Probabilitik, Yogyakarta: Graha Ilmu, 2014.


(24)

[13] S. W. P. M. F. R. Muhamad Reza Firdaus Zen, “Penerapan Algoritma Needleman-Wunsch sebagai Salah Satu Implementasi Program Dinamis Pada Pensejajaran DNA dan Protein,” Jurnal STMIK, pp. 1-5, 2006.

[14] R. S. Harris, Improved Pairwise Alignment Of Genomic DNA, Pennsylvania: Pennylvania State University, 2007.

[15] A. A. B. R. Waqar Haque, “An Efficient Algorithm for Local Sequence

Alignment,” 30th Annual International IEEE EBMS Conference, p. 1367, 2008.


(1)

54

Universitas Kristen Maranatha 6.2Saran

Saran pengembangan aplikasi Bioinformatika yang dapat diberikan adalah sebagai berikut:

1. Memberikan batasan karakter maksimal untuk pengolahan sekuens yang tidak melebihi kapasitas memori komputer/laptop yang digunakan, karena untuk saat ini, proses alignment dengan karakter yang melebihi 8000 akan mengalami masalah kelebihan pemakaian memori.

2. Memberikan suggestion terhadap algoritma Lempel-Ziv yang memiliki keunggulan dalam pemrosesan data untuk sekuens yang memiliki faktorisasi sempurna. Suggestion dapat berupa disclaimer yang terdapat di aplikasi, sehingga pengguna mengerti bagaimana tiap algoritma menangani sekuens yang diberikan.

3. Memisahkan data sekuens untuk Lempel-Ziv yang sudah mengalami

factorisation phrase sehingga perhitungan untuk proses Lempel-Ziv diharapkan memiliki waktu yang tidak jauh berbeda dengan Needleman-Wunsch.


(2)

ANALISA PERBANDINGAN DAN

IMPLEMENTASI ALGORITMA DNA PAIRWISE

SEQUENCE ALIGNMENT

NEEDLEMAN-WUNSCH DAN LEMPEL-ZIV

TUGAS AKHIR

Diajukan untuk Memenuhi Persyaratan Akademik dalam

Menyelesaikan Pendidikan pada Program Studi

S1 Teknik Informatika Universitas Kristen Maranatha

Oleh

Mikhael Avner Malendes

1372042

PROGRAM STUDI S1 TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INFORMASI

UNIVERSITAS KRISTEN MARANATHA

BANDUNG

2016


(3)

iv

PRAKATA

Segala puji syukur hanya kepada Tuhan Yesus Kristus atas segala berkat dan hikmat yang diberikan kepada penulis sehingga tugas akhir yang berjudul

Analisa Perbandingan Dan Implementasi Algoritma DNA Pairwise Sequence Alignment Needleman-Wunsch Dan Lempel-Ziv“ ini dapat diselesaikan. Penulis sadar laporan ini masih jauh dari kesempurnaan, kekurangan, dan kesalahan yang terdapat di dalam laporan ini dikarenakan keterbatasan ilmu pengetahuan dan pengalaman penulis. Dengan demikian, penulis meminta kebijaksanaan dan pengertian dari para pembaca untuk memakluminya.

Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada pihak-pihak yang telah membantu dalam mengerjakan tugas akhir ini.

1. Kepada Bapak Dr. Hapnes Toba, M. Sc. selaku Dekan Fakultas Teknologi Informasi Universitas Kristen Maranatha Bandung.

2. Kepada Bapak Hendra Bunyamin, S.Si., M.T. selaku pembimbing yang telah banyak membantu penulis dalam penyelesaian tugas akhir ini.

3. Kepada Ibu Meliana Christianti J., S.Kom., M.T. selaku Koordinator Tugas Akhir S1 Teknik Informatika Universitas Kristen Maranatha Bandung.

4. Kepada dosen-dosen di Fakultas Teknologi Informasi yang telah memberikan masukan dan memberikan pedoman dalam menyelesaikan tugas akhir ini. 5. Kepada keluarga penulis papi Gerson Malendes, mami Elsye Malendes, kak

Meity dan kak Lian yang telah banyak membantu dan memberikan dukungan dalam doa dan finansial selama menyelesaikan tugas akhir ini.

6. Kepada rekan-rekan penulis Claudia, Silvi, Malvin, Imel, Stefi, Robby, Yoses, Nicky, Jordy, Kevin, Gio yang telah banyak memberikan dukungan dan motivasi sehingga penulis dapat menyelesaikan tugas akhir ini dengan sebaik-baiknya.

Terima kasih kepada semua pihak yang tidak dapat saya sebutkan satu persatu baik secara langsung maupun tidak secara langsung yang membantu penulis dalam menyusun tugas akhir ini.


(4)

v

Akhir kata, penulis berharap semoga hasil tugas akhir ini, dapat memberikan sesuatu yang dapat berarti bagi semua pihak. Oleh karena itu, penulis akan menerima setiap kritik dan saran yang dapat membangun penulis agar dapat bekerja lebih baik lagi.

Bandung, 13 Desember 2016


(5)

55

Universitas Kristen Maranatha

DAFTAR PUSTAKA

[1] J. Simarmata, Rekayasa Perangkat Lunak, Yogyakarta: Penerbit ANDI, 2010. [2] D. P. A. P. Ernawati, “Implementasi Algoritma Smith-Waterman Pada Local

Alignment Dalam Pencarian Kesamaan Pensejajaran Barisan DNA (Studi Kasus : DNA Tumor Wilms),” Jurnal Pseudocode, pp. 170-177, 2014. [3] D. Agashe, “Large-Effect Beneficial Synonymous Mutations Mediate Rapid

and Parallel Adaptation in a Bacterium,” Molecular Biology and Evolution,

vol. 33, no. 6, pp. 1542-1553, 2016.

[4] W. H. B. R. Alex Aravind, “Pairwise sequence alignment algorithms : a survey,” Association for Computing Machinery Journal, 2016.

[5] A. Chan, “Stanford Project,” 2004. [Online]. Available:

biochem218.stanford.edu/Projects%202004.Chan.pdf.

[6] S. J. P. J. Z. Shanika Kuruppu, “Optimized Relative Lempel-Ziv Compression of Genomes,” vol. XXXIV, pp. 1-8, 2011.

[7] Z. R. Yang, Machine Learning Approaches to Bioinformatics, Singapore: World Scientific Publishing Co. Pte. Ltd., 2010.

[8] W. S. Susan Elrod, Schaum's Genetika, Jakarta: Erlangga, 2007.

[9] V. Likic, “The Needleman-Wunsch Algorithm for Sequence Alignment,” dalam Bio21 Molecular Science and Biotechnology Institute, Melbourne, 2008.

[10] S. J. P. Dominik Kempa, “Lempel-Ziv Factorization: Simple, Fast, Practical,”

Algorithm Engineering and Experiments (ALENEX), pp. 103-112, 2013. [11] J. C. G. C. N. L. J. L. J. F. D. B. S. C. L. Dandan Song, “Parameterized

BLOSUM Matrices for Protein Alignment,” Transactions on Computational

Biology and Bioinformatics, vol. 12, no. 3, pp. 686-694, 2015.

[12] Suyanto, Algoritma Optimasi Deterministik Atau Probabilitik, Yogyakarta: Graha Ilmu, 2014.


(6)

56

Universitas Kristen Maranatha [13] S. W. P. M. F. R. Muhamad Reza Firdaus Zen, “Penerapan Algoritma

Needleman-Wunsch sebagai Salah Satu Implementasi Program Dinamis Pada Pensejajaran DNA dan Protein,” Jurnal STMIK, pp. 1-5, 2006.

[14] R. S. Harris, Improved Pairwise Alignment Of Genomic DNA, Pennsylvania: Pennylvania State University, 2007.

[15] A. A. B. R. Waqar Haque, “An Efficient Algorithm for Local Sequence Alignment,” 30th Annual International IEEE EBMS Conference, p. 1367, 2008.