BAB 1 PENDAHULUAN 1.1 Latar Belakang Halaman web atau Web Page biasanya menyimpan informasi dalam format tampilan tertentu, sehingga tampilan informasi tersebut mudah dilihat oleh pengguna. Bahasa representasi dalam mengatur tampilan dalam halaman web adalah Hypertext Markup Language (HTML). Penulisan HTML dari suatu halaman web dapat dilihat dengan melihat source pada Web Browser (view source). Sering kali ditemukan halaman web yang memiliki kemiripan dari segi format penulisan dan isinya. Dalam pengaturan halaman web (web pages maintance) diperlukan untuk mengelompokan halaman-halaman web yang memiliki kemiripan. Dari pengelompokan tersebut dapat digunakan untuk membantu dalam pencarian informasi halaman-halaman web yang terkait dengan suatu topik tertentu, atau mendeteksi adanya duplikasi halaman web (plagiarism). Pada dasarnya halaman web terdiri dari dua bagian yaitu : struktur web (tag) dan isi web (content), selain itu juga ada tambahan berupa script dan cascading style sheets (CSS). Penulisan tag HTML dari halaman web yang terstruktur memungkinkan untuk dilakukan identifikasi sejauh mana kemiripannya dengan halaman web yang lain dilihat dari segi format tampilannya. Sedangkan isi dari halaman web pada dasarnya merupakan berkas teks, kecuali untuk halaman web yang hanya berisi gambar atau animasi yang tidak berbasis teks. Jadi untuk membandingkan isi halaman web dapat dilakukan seperti melakukan perbandingan antara dua berkas teks. Dalam tugas akhir ini penulis akan mencoba melakukan penelitian dengan menghitung tingkat kemiripan antara dua halaman web. Perbandingan dapat dilakukan dengan mengacu kepada struktur dan isi yang terdapat didalam source dari halaman web. Dan untuk permasalahan ini ada beberapa algoritma pemograman struktural dapat digunakan salah satunya adalah algoritma Levenshtein Distance yang merupakan metode pencocokan string (Approximate string matching). Algoritma tersebut melakukan perbandingan kata (string) perkarakter dan khusus tag-tag HTML dari halaman web akan lebih mudah jika terlebih dahulu diubah dalam bentuk yang lebih terstruktur sederhana yaitu dalam bentuk string (HTML-strings). Sedangkan untuk isi halaman web dapat dibandingkan dengan menggunakan algoritma yang sama dengan mengasumsikan isi halaman web sebagai dua string yang panjang. 1.2 Rumusan Masalah • Bagaimana menerapkan Algoritma Levenshtein Distance agar dapat menghitung tingkat kemiripan struktur dan isi dari dua halaman web. • Bagaimana mengatasi keterbatasan alokasi memory dalam membandingkan dua string yang sangat panjang dengan algoritma Levenshtein Distance. • Seberapa efektifkah algoritma Levenshtein Distance dalam membandingkan halaman web khususnya jika dilihat dari kecepatan proses perhitungan. 1.3 Batasan Masalah Pada skripsi ada beberapa batasan yang ditentukan : • Perbandingan dilakukan dengan mengasumsikan satu halaman web sebagai file yang asli (original) dan satu lagi sebagai file yang diperkirakan mirip dengan halaman yang pertama (modified). • Perbandingan halaman web meliputi perbandingan struktur dan isi halaman web dan tingkat kemiripan yang didapat akan dipisah antara keduanya. • Halaman web yang dibandingkan adalah halaman web yang sudah diterima oleh browser (client side) • Asumsi tingkat kemiripan yang diambil penulis adalah dalam persentase 0% sampai 100% • Perbandingan halaman web dapat dilakukan secara online dan offline. 2 • Dalam proses perbandingan struktur halaman web, hanya tag pembuka dari halaman web saja yang akan dibandingkan, misal : web1 = <p>......</p>; web2 = <b>....</b>, maka yang dibandingkan adalah tag <p> dan <b>. • Penggunaan CSS yang ditambahkan kedalam file HTML (dalam tag <style>....</style>) atau file CSS yang terpisah (eksternal) akan diabaikan. • Penggunaan script yang ditambahkan ke dalam file HTML (dalam tag <script>....</script>) atau file script yang terpisah (eksternal) akan diabaikan. • Kode HTML yang dibandingkan diasumsikan sudah sesuai dengan spesifikasi HTML versi 4.01 1.4 Tujuan Penulisan Tujuan penulisan skripsi ini adalah : • Membuat aplikasi yang menerapkan algoritma levenshtein distance dapat digunakan untuk membandingkan dua halaman web. Dengan aplikasi yang dibuat akan dilakukan penelitian sejauh mana kemampuan algoritma levenshtein distance dalam menemukan tingkat kemiripan dari kedua halaman web tersebut. • Memenuhi kurikulum tingkat sarjana dan meraih gelar sarjana komputer pada Program Studi Teknik Informatika Universitas Kristen Duta Wacana. 1.5 Metode Penulisan Dalam penulisan skripsi ini penulis melakukan beberapa pendekatan dalam memecahan permasalahan antara lain: mencari beberapa referensi dari sumber-sumber di internet, mempelajari buku-buku terkait di perpustakaan, mempelajari kembali modul-modul perkuliahan dari dosen-dosen, mempelajari ebook tentang penggunaan perangkat lunak pendukung yang didapat dari internet, 3 dan menganalisa cara kerja dari perangkat lunak yang digunakan dalam perbandingan file seperti : HTMLDiff dan TextDiff. 1.6 Sistematika Penulisan Skripsi ini dibagi dalam lima bab termasuk bab pendahuluan ini yang gambaran isi setiap bab adalah sebagai berikut : Bab pertama pendahuluan, berisi penjelasan skripsi secara umum yang terdiri dari latar belakang masalah, perumusan masalah, batasan masalah, metode yang digunakan dalam penelitian, tujuan penulisan, dan sistematika penulisan. Bab kedua landasan teori, berisi tentang landasan teori yang digunakan, dan penjelasan dari algoritma yang digunakan. Bab ketiga analisa dan perancangan sistem, berisi tentang informasi perangkat lunak yang digunakan untuk membuat aplikasi, perangkat keras yang digunakan selama pembuatan aplikasi, perancangan proses dari penerapan teori algoritma dalam aplikasi, dan perancangan tampilan aplikasi termasuk bentuk masukan dan keluaran. Bab keempat implementasi sistem, berisi implementasi dari hasil rancangan sistem. Pada bab ini juga akan dijelaskan alur proses yang lebih detail pada aplikasi yang sudah dibuat. Bab kelima penutup, berisi kesimpulan dan saran yang didapat dari hasil implementasi atau penelitian yang dilakukan. 4