18 3
Table Stream
4
Data Stream
5
Custom XML Storage Microsoft Word 2007
6 Bit 0 atau
object stream
yang memuat data privat untuk objek OLE 2.0
Object Linking and Embedding 2.0
yang
di-
embed
ke dokumen Word Microsoft, 2007. Contoh
hex number
dari tipe
file
DOC terdapat pada Gambar 2.6.
Gambar 2.6. Contoh rangkaian
hex number
dari random DOC
2.4. Binary
File
Binary file
merupakan sebuah
file
komputer yang bukan merupakan
file
teks.
File
tersebut bisa saja memuat tipe data apa saja, kemudian diubah ke dalam bentuk
binary
untuk tujuan penyimpanan dan pemrosesan komputer. Banyak format
file binary
yang memuat bagian yang dapat diterjemahkan ke dalam teks, sebagai contoh beberapa
file
dokumen seperti
file Microsoft Word
dengan ekstensi doc yang memuat informasi berupa teks yang terdapat pada
file
tersebut dan juga informasi-informasi lainnya dalam bentuk
binary
.
Binary file
umumnya memuat
byte
yang akan diterjemahkan menjadi gambar, suara, text, maupun
file
lain yang telah dikompresi. Beberapa
binary file
memuat
19 header, blok-blok metadata yang digunakan oleh program komputer untuk
menerjemahkan data yang ada di dalam
file
. Pada
file
header umumnya berisi
signature
atau
magic number
yang dapat mengidentifikasi format
file
.
Binary file
yang tidak memiliki header disebut juga sebagai
flat binary file
. Untuk mengirim
binary file
melalui sebuah sistem khusus seperti
e-mail
yang tidak mendukung semua jenis data, biasanya
binary
tersebut diubah menjadi
plain
teks atau lambang-lambang khusus sebagai representasi, misalnya menggunakan Base64.
Proses mengubah atau
encoding
tersebut biasanya memiliki kelemahan, seperti ukuran
file
yang bertambah pada saat proses mengirim, serta dibutuhkan proses penerjemahan dari
plain
teks ke
binary
setelah
file
diterima. Permasalahan ukuran file yang bertambah dapat diselesaikan dengan cara melakukan kompresi data, sehingga data
yang dikirim memiliki ukuran
file
yang relatif sama dengan
file
asli.
Hex editor
merupakan aplikasi untuk membaca
binary
yang terdapat pada suatu
file
maupun mengubah tipe data
binary
menjadi tipe data
hexadecimal, decimal
maupun karakter ASCII
.
Perbandingan
binary
dan
hex
pada satu
file
.pdf dapat dilihat pada Gambar 2.7 dan Gambar 2.8.
Gambar 2.7.
Binary
pada
file
PDF
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