Longest Common Subsequences Kesimpulan Dan Saran

20 Gambar 2.8. Hex pada file PDF

2.6. Longest Common Subsequences

Dalam permasalahan matematika, sebuah subsequence adalah sebuah sequence yang diturunkan dari sequence lain dengan menghapus beberapa elemen tanpa mengganti urutan dari sisa element tersebut. Sebagai contoh, sequence “A B D” merupakan subsequence dari sequence “A B C D E”. Secara singkat, subsequence merupakan bagian dari sebuah sequence. Longest Common Subsequences merupakan sebuah metode untuk mencari sequence terpanjang yang sama, sebuah basis dari pemrograman untuk perbandingan data komputer. Pada kasus identifikasi tipe file, Longest Common Subsequences dapat digunakan untuk membandingkan sequence hex number beberapa file. Secara umum, Longest Common Subsequence adalah sebuah metode untuk mendapatkan sequence terpanjang dengan membandingkan beberapa sequence. Pengaplikasian metode Longest Common Subsequences dapat digunakan untuk menyelesaikan berbagai masalah, contoh permasalahan yang dapat diselesaikan metode LCS mencakup : 21 1. Sequence dari DNA atau gen yang dapat direpresentasikan sebagai deretan 4 huruf ACGT. Pada saat seorang ahli biologi yang meneliti tentang gen, bila dia menemukan suatu sequence yang baru pada gen tersebut, biasanya mereka akan mencari tahu sequence lainnya yang mirip dengan sequence baru tersebut. 2. Pada program UNIX, „diff‟ digunakan untuk membandingkan dua file yang sama dengan versi yang berbeda, untuk menemukan perubahan yang terdapat pada file tersebut. Hal tersebut dilakukan dengan cara menemukan Longest Common Subsequences dari kedua file tersebut, dan menemukan subsequence yang tidak berubah, sehingga dapat ditemukan baris subsequence yang berbeda atau diganti. 3. Banyak text editor seperti “emacs” menampikan bagian dari sebuah file ke monitor, dan setiap kali file tersebut diganti, maka monitor akan ter-update. Program tersebut ingin mengirimkan teks sesedikit mungkin ke terminal sehingga proses update tersebut dapat ditampilkan secara benar. Diperlukan metode Longest Common Subsequences sehingga karakter-karakter pada file yang tidak berubah tetap tinggal di terminal dan hanya mengirimkan karakter- karakter yang berubah saja University of California, 1996. Sebagai contoh, terdapat dua buah string, string S 1 mencakup deretan string berupa “AAACCGTGAGTTATTCGTTCTAGAA”, dan string S 2 mencakup deretan string “CACCCCTAAGGTACCTTTGGTTC”. Kesamaan substring pada string S 1 dan S 2 dapat dilihat pada Gambar 2.9. Pencarian subsequence terpanjang pada dua buah sequence secara manual tersebut akan memakan waktu yang sangat lama bahkan mustahil dilakukan bila mencakup binary file sebagai input, dikarenakan binary file dapat mencapai ratusan bahkan ribuan baris sequence. Oleh karena itu, metode Longest Common Subsequences dipakai untuk menyelesaikan kasus-kasus pencarian subsequence yang mencakup binary file hingga pencarian informasi pada deretan rangkaian DNA. 22 Gambar 2.9. Kesamaan substring S 1 dan S 2 Bila terdapat dua buah sequences yaitu X dan Y, dengan X = X 1 , X 2 , ..., X m dan Y = Y 1 , Y 2 , ..., Y n . Kemudian Z merupakan Longest Common Subsequences daripada sequence X dan Y dengan persamaan Z = Z 1 , Z 2 , ..., Z k . Maka akan terdapat persamaan-persamaan sebagai berikut : 1. Jika X m = Y n, maka dapat dipastikan bahwa Z k = X m = Y n . 2. Jika X m Y n , maka X m Z k mengindikasikan bahwa Z terdapat pada LCSX m-1 , Y. 3. Jika X m Y n , maka Y n Z k mengindikasikan bahwa Z terdapat pada LCSX, Y n-1 Klappenecker, 2011. Ilustrasi pencarian subsequence dari dua buah string dengan metode Longest Common Subsequences adalah sebagai berikut: Misalkan X memiliki sequence BDCB, dan Y memiliki sequence BACDB. Sequence X dan sequence Y diletakkan pada tabel seperti pada gambar 2.10. 1. Letak sequence X dan Y tidak berpengaruh terhadap perhitungan. 2. Input kolom paling kiri dan paling atas dengan angka 0. 3. Kemudian pertemukan setiap sequence satu per satu. Bila X sama dengan Y, maka nilai pada kolom tersebut adalah n,n = n-1,n-1 + 1. Sedangkan bila X tidak sama dengan Y, maka nilai yang menjadi input adalah nilai terbesar yang terdapat pada kolom n-1,n atau pada kolom n,n-1. Misalkan nilai X = B dan nilai Y = B, bertemu pada kolom 2,2, maka input kolom tersebut dengan nilai 1,1 + 1, dalam hal ini nilai 1,1 = 0, sehingga 0+1 = 1. Bila, nilai X = D dan nilai Y = B yang bertemu pada kolom 3,2, maka bandingkan nilai dari kolom 2,2 yang bernilai 1 dengan nilai dari kolom 3,1 23 yang bernilai 0. Nilai 1 0, maka input pada kolom 3,2 adalah 1. Apabila nilai pada kolom 2,2 sama dengan nilai pada kolom 3,1 maka input kolom 3,2 sama dengan kedua kolom tersebut. 4. Input seluruh kolom yang tersisa. Gambar 2.10. Tabel X dan Y Setelah itu, akan ditentukan Longest Common Subsequences LCS dari tabel yang sudah terisi tersebut. Langkah-langkah yang akan dilakukan adalah : 1. Meletakkan pointer pada kolom sudut kanan bawah, yakni kolom 5,6. 2. Pointer akan bergerak dengan salah satu pola, yakni ke kiri lalu ke atas atau ke kanan lalu ke atas. Tetapi pointer tidak bisa bergerak menggunakan pola ini bila nilai pada kolom yang dituju tidak sama dengan nilai pada kolom semula. Bila hal ini terjadi, maka pointer akan bergerak menyerong, misalnya dari 5,6 ke 4,5. 3. Sequence tersebut akan diletakkan dengan urutan dari kanan ke kiri. 4. Pointer akan terus bergerak sampai pada kolom dengan nilai 0. Pointer akan berhenti, dan nilai dari LCS telah didapat. 5. Pada gambar 2.11, dapat kita ambil kesimpulan bahwa nilai LCS antara X dan Y adalah BCB. 24 Gambar 2.11. Gambar ilustrasi perhitungan LCS 6. Setelah mendapatkan nilai LCS, maka penelitian akan dilanjutkan pada tahap mencocokkan nilai LCS yang didapat dengan hex number pada file yang hendak diuji.

2.7. Penelitian Terdahulu