Pendeteksian Plagiarisme Musik dengan Algoritma Boyer- Moore

dokumen-dokumen yang mirip
Penerapan Algoritma Pattern Matching untuk Mengidentifikasi Musik Monophonic

Aplikasi String Matching pada Plugin SMS Blocker untuk Validasi Pesan

Penerapan Algoritma Pencocokan String Boyer-Moore untuk Keamanan Komputer

String Matching Dalam Permainan The Hunt for Gollum

Analisis Algoritma Knuth Morris Pratt dan Algoritma Boyer Moore dalam Proses Pencarian String

Penggunaan String Matching Dalam Mencari Kata Dalam Permainan Mencari Kata Dari Sebuah Matriks Huruf

Aplikasi String Matching dalam Analisis Cap Bibir

Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data

Aplikasi String Matching Pada Fitur Auto-Correct dan Word-Suggestion

Penggunaan Algoritma Pencocokkan Pola pada Sistem Barcode

Aplikasi Algoritma Pencarian String Dalam Sistem Pembayaran Parkir

Perbandingan Algoritma String Matching yang Digunakan dalam Pencarian pada Search Engine

Analisis Plagiarisme dalam Dua Buah Lagu Yang Berbeda dengan Algoritma Pattern Matching

Mencari Pola dalam Gambar dengan Algoritma Pattern Matching

Penerapan Algoritma Knuth Morris Pratt dalam Aplikasi Penerjemah Teks

Aplikasi Algoritma BFS dan String Matching pada Tag Suggestions di Facebook

Algoritma String Matching pada Mesin Pencarian

Aplikasi Algoritma String Matching dan Regex untuk Validasi Formulir

Perbandingan Penggunaan Algoritma BM dan Algoritma Horspool pada Pencarian String dalam Bahasa Medis

Penggunaan Algoritma Knuth-Morris-Pratt untuk Pengecekan Ejaan

Perbandingan Algoritma Knuth-Morris-Pratt dan Algoritma Boyer-Moore dalam Pencarian Teks di Bahasa Indonesia dan Inggris

Penerapan Algoritma String Matching dalam Intelligent Personal Assistant Siri

II. DASAR TEORI I. PENDAHULUAN

Aplikasi Algoritma Pencocokan String dan Algoritma Runut Balik dalam Konversi Romaji ke Hangul

Penerapan Pencocokan String dalam Aplikasi Duolingo

Aplikasi Tree Dalam Penulisan Notasi Musik Dengan Notasi Angka yang Disederhanakan

Algoritma Pencarian String dalam Pemilihan Anggota Sebuah Organisasi

Pattern Matching dalam Aplikasi SimSimi

Pengaplikasian Algoritma Knuth-Morris-Pratt dalam Teknik Kompresi Data

BAB IV PERANCANGAN DAN IMPLEMENTASI

Implementasi Algoritma Pencocokan String dalam Penentuan Tombol Respons Facebook

Kombinasi Algoritma Pattern Matching dan BFS-DFS pada aplikasi Music Discovery

Penerapan Pencocokan String pada Aplikasi Kamusku Indonesia

Optimasi Konversi String Biner Hasil Least Significant Bit Steganography

Pembuatan Musik Tanpa Pola Dengan Menggunakan Algoritma Runut Balik

Penggunaan Pencocokan String Metode Booyer-Moore dalam Digital Image Matching untuk Foto Udara Ideal

Pencarian Potongan Gambar Menggunakan Algoritma Boyer Moore

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

Implementasi Pencocokan String Tidak Eksak dengan Algoritma Program Dinamis

Implementasi Algoritma Knuth Morris Pratt pada Alat Penerjemah Suara

Perbandingan dan Pengujian Beberapa Algoritma Pencocokan String

Strategi Optimized Brute Force Pada Tent Puzzle Solver

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

Penyelesaian Game Lights Out dengan Algoritma Runut Balik

Penerapan Pohon dan Modulo untuk Menentukan Akor Triad

Deteksi Plagiarisme Gambar menggunakan Algoritma Pencocokan Pola Rabin-Karp

Penerapan Algoritma Greedy dalam Permainan Tetris

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin

BAB IV Perancangan dan Implementasi

Aplikasi Algoritma Pencocokan String pada Mesin Pencari Berita

PENGGUNAAN ALGORITMA APOSTOLICO-CROCHEMORE PADA PROSES PENCARIAN STRING DI DALAM TEKS

Penerapan String Matching pada Fitur Auto Correct dan Fitur Auto Text di Smart Phones

PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT

Implementasi Algoritma Boyer-Moore untuk Memanipulasi Foto dengan Magic Color

Penggunaan Algoritma Greedy Dalam Perancangan Papan Teka Teki Silang

Penggunaan Algoritma Boyer Moore Untuk Pencarian Arsip Multimedia Pada Perangkat Lunak Pemutar Media

Pemanfaatan Algortima Boyer Moore dalam Penyaringan Teks Halaman Website Sederhana

IMPLEMENTASI ALGORITMA BOYER-MOORE PADA PERMAINAN WORD SEARCH PUZZLE

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

APLIKASI ALGORITMA KNUTH-MORRIS-PRATT DALAM CONTENT-BASED MUSIC INFORMATION RETRIEVAL

Penggunaan Algoritma Brute Force dan Greedy dalam Permainan Atomas

TECHNICAL REPORT PENGGUNAAN ALGORITMA PENCOCOKAN STRING BOYER-MOORE DALAM MENDETEKSI PENGAKSESAN SITUS INTERNET TERLARANG

Analisis Progresi Chord Standar dengan Graf

I. PENDAHULUAN II. DASAR TEORI. Contoh lainnya: Solusi: 0= V,1= I,2= O,3= R, 4= N,5= L,7= A,8= F,9= E.

Algoritma Greedy pada Board Game Saboteur

Penerapan Algoritma Pencocokan String Boyer-Moore dan Knuth-Morris-Pratt (KMP) dalam Pencocokkan DNA

Variasi-Variasi Algoritma Boyer-Moore dan perbandingannya dalam pencarian String

Aplikasi Algoritma Greedy dalam Permainan Kartu Truf

Penerapan Algoritma Brute Force dan Backtracking pada Permainan Skycraper

Implementasi Brute Force pada Game Mahjong Titans

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

Penilaian Ujian Tertulis Menggunakan Algoritma Pattern Matching IF3051 Strategi Algoritma

Penerapan Algoritma DFS dan BFS untuk Permainan Wordsearch Puzzle

Sistem Tonjur untuk Menentukan Pasangan Main Angklung ke Pemain dengan Memanfaatkan MusicXML

PERBANDINGAN ALGORITMA STRING SEARCHING BRUTE FORCE, KNUTH MORRIS PRATT, BOYER MOORE, DAN KARP RABIN PADA TEKS ALKITAB BAHASA INDONESIA

IF3051 Strategi Algoritma Penerapan Algoritma Greedy untuk Peletakan Tanaman dalam Game Harvest Moon: Back to Nature

Penggunaan Algoritma Pencocokkan Pola pada Aplikasi How-Old.net

Penerapan strategi runut-balik dalam penyelesaian permainan puzzle geser

Penerapan Algoritma Greedy dalam Permainan MarketGlory

Penggunaan Algoritma Divide and Conquer Dalam Pewarnaan Graf

Penerapan Algoritma Brute Force di Permainan Nonogram

Penerapan Algoritma Backtracking untuk Menyelesaikan Permainan Hashiwokakero

Menyelesaikan Permainan Wordament Menggunakan Algoritma Backtracking

Strategi Algoritma Penyelesaian Puzzle Hanjie

A. Pencocokan String Pencocokan string adalah cara untuk mencari sebuah teks

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

PERMAINAN KNIGHT S TOUR DENGAN ALGORITMA BACKTRACKING DAN ATURAN WARNSDORFF

Aplikasi Algoritma Greedy untuk Pergerakan Musuh pada Permainan Pac-Man

MODIFIKASI VIGENERE CIPHER DENGAN MENGGUNAKAN TEKNIK SUBSTITUSI BERULANG PADA KUNCINYA

Penerapan DFS dan BFS dalam Pencarian Solusi Game Japanese River IQ Test

Penerapan Pengkodean Huffman dalam Pemampatan Data

Penerapan Algoritma Brute Force pada permainan Countdown Number

Penerapan Algoritma Greedy dalam Permainan Othello

Penerapan Algoritma Brute force dan Greedy pada Penjadwalan Disk

Perbandingan Algoritma Brute Force dan Breadth First Search dalam Permainan Onet

BAB I PERSYARATAN PRODUK

Perbandinganan Penggunaan Algoritma Greedy dan Modifikasi Algoritma Brute Force pada Permainan Collapse XXL

Implementasi Algoritma Greedy Dua Sisi pada Permainan 2048

Penerapan Algoritma Transversal pada Graf dan Algoritma Pencocokan String dalam Sistem Jual-Beli Tiket Bioskop

Transkripsi:

Pendeteksian Plagiarisme Musik dengan Algoritma Boyer- Moore Nicholas Rio - 13510024 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia 1 nicholasrio2811@gmail.com Abstract Tren penjualan musik saat ini telah bergeser dari manual dan analog menjadi penjualan digital. Di satu sisi perubahan ini baik, namun di sisi lain perubahan ini menyebabkan maraknya plagiarisme musik. Oleh karena itu, untuk mendeteksi plagiarisme musik dapat digunakan aplikasi lebih lanjut dari Algoritma Boyer-Moore yang telah dipelajari selama pelajaran Strategi Algoritma. Solusi yang terdapat pada karya tulis ini pun masih memungkinkan untuk dikembangkan lebih jauh, tidak terbatas pada musik tertulis saja. Index Terms Boyer-Moore, Musik, Pattern Matching, Tokenisasi. I. PENDAHULUAN Pada zaman modern ini, industri musik mulai berganti tren dari paper based dan analog based, menjadi digital based. Pada satu sisi, perubahan tren ini adalah sesuatu yang positif. Mengapa? Karena dengan perubahan menuju tren yang baru ini, distribusi musik (baik partitur maupun lagunya secara langsung) dapat dilakukan secara jauh lebih efisien. Namun hal ini mendatangkan masalah baru. Selayaknya barang-barang digital lainnya seperti software dan game, musik pun tak luput dari pembajakan. Pembajakan yang penulis maksudkan di sini bukan hanya pengkopian file musik secara ilegal, namun juga pembuatan musik yang mirip dengan musik yang telah ada sebelumnya. Kejadian ini lebih dikenal dengan sebutan plagiarisme musik. Oleh karena itu, penulis tertarik untuk mengembangkan salah satu algoritma pattern-matching yang telah dipelajari, yaitu algoritma Boyer-Moore. Pengembangan algoritma ini dibuat untuk mendeteksi apakah suatu bagian dari musik merupakan suatu bagian dari musik lain yang dibandingkan bersama. Pada makalah ini, musik yang dibandingkan akan terbatas pada musik-musik yang tertulis (bukan audio file). Namun kemungkinan pengembangan algoritma agar dapat mendeteksi plagiarisme musik pada audio file akan dibahas juga oleh penulis pada subbab-subbab berikutnya. II. ALGORITMA BOYER-MOORE Algoritma Boyer-Moore merupakan salah satu algoritma pattern-matching yang terkenal. Algoritma ini dipublikasikan oleh Robert S. Boyer dan J. Strother Moore pada tahun 1977. Perbedaan utama algoritma ini dari pattern-matching biasa adalah pengecekannya yang dimulai dari kanan dan bukan dari kiri. Algoritma Boyer- Moore diketahui sebagai algoritma pattern-matching yang memiliki performa paling baik dalam pencarian kata berbasis bahasa Inggris. Algoritma Boyer-Moore melakukan proses awal pada suatu pattern P dengan cara membuat boundary function terlebih dahulu. Boundary function dari pattern P berisi hal-hal berikut : Karakter apa saja yang terdapat dalam pattern P Last occurrence dari suatu karakter yang terdapat dalam pattern P. Setelah boundary function dibuat, proses berlanjut dengan pembandingan karakter dari pattern P terhadap string S yang hendak dibandingkan, dari kanan ke kiri. Cara kerja algoritma ini adalah sebagai berikut : Gambar 1 Pada tipe pergeseran yang pertama ini, u kembali terdapat di pattern x setelah bergeser.

Program-program populer yang telah mengadopsi format MusicXML ini antara lain : MakeMusic Finale, Avid Sibelius, MuseScore, Capella. Sebagai contoh dari penulisan dalam format MusicXML, mari kita lihat gambar berikut ini : Gambar 2 Pada tipe pergeseran yang kedua, sebagian suffix dari u terdapat kembali sebagai prefix pattern x. Gambar 3 Pada tipe pergeseran yang ketiga, tidak terdapat u di dalam pattern x yang digeser. Namun, karakter b yang terakhir dibandingkan pada string y masih ditemukan pada pattern x. Gambar 4 Pada tipe pergeseran yang keempat, karakter terakhir yang ditemukan pada string y tidak terdapat pada pattern x. Oleh karena itu, pattern x di-shift seluruhnya ke kanan sedemikian rupa sehingga bagian paling kiri dari pattern berada di sebelah kanan karakter terakhir string y yang dibandingkan dengan pattern x. Algoritma Boyer-Moore memiliki kelebihan terutama ketika jumlah karakter yang mungkin terdapat pada string maupun pattern berjumlah banyak. Kompleksitas dari algoritma ini adalah O(m*n) untuk kasus terburuk, namun hal ini jarang terjadi jika jumlah karakter yang tersedia cukup banyak. III. MUSICXML MusicXML adalah suatu cara untuk menuliskan not balok menjadi suatu Extensible Markup Languange biasa. Format penulisan ini pertama kali ditemukan oleh Recoradre LLC pada tahun 2004. Tujuan utama dari penulisan dalam bahasa MusicXML adalah untuk mempermudah pertukaran partitur yang ditulis diantara program-program scorewriter (penulis not balok). Gambar 5 Gambar di atas adalah contoh penulisan not balok yang benar. Bila direpresentasikan menjadi format MusicXML, hasilnya adalah demikian (penulis hanya mengutip baris pertama tanpa formatting) : <divisions>256</divisions> <note color="#000000" default-x="57"> <note color="#000000" default-x="165"> <step>e</step> <note color="#000000" default-x="228"> <step>f</step> <measure number="2" width="230"> <note color="#000000" default-x="122"> <step>c</step>

<measure number="3" width="269"> <step>d</step> <note color="#000000" default-x="78"> <step>c</step> <note color="#000000" default-x="141"> <step>b</step> <note color="#000000" default-x="205"> <step>a</step> <stem>up</stem> <measure number="4" width="178"> <duration>1024</duration> <type>whole</type> <stem>up</stem> Beberapa bagian yang akan kita gunakan pada pengecekan ini adalah sebagai berikut : Pitch : terderi dari step dan octave. Bagian ini merepresentasikan bunyi dari suatu not Divisions : melambangkan panjang satu ketukan Duration : melambangkan panjang satu not dibunyikan Properti default-x dari note : merepresentasikan posisi not tersebut. Alter : tidak terdapat pada contoh ini, namun merepresentasikan tnda kres / mol pada musik. IV. PROSES PEMBANDINGAN Sebagai contoh dari pembandingan yang akan terjadi, penulis akan membandingkan not balok yang ada pada Gambar 5 dengan not balok pada Gambar 6 berikut ini : Gambar 6 Gambar 6 adalah suatu bagian musik yang ingin kita periksa kemiripannya dengan musik pada Gambar 5. Ada beberapa langkah yang harus kita ambil untuk melakukan pembandingan, yaitu : Tokenisasi tahap-1 : Mengubah bentuk musicxml dari masing-masing musik untuk menjadi bagian yang lebih mudah dibandingkan Tokenisas tahap-2 : Mengubah bentuk yang telah ditokenisasi tadi menjadi interval-interval perubahan nada pada setiap ketukan. Pembandingan dengan menggunakan Algoritma Boyer-Moore Tahap pertama yang harus ditempuh adalah tokenisasi. Tidak semua informasi dari musicxml kita butuhkan untuk mendeteksi plagiarisme musik. Maka, bagian yang kita ambil hanyalah pitch, division, duration, alter, dan default-x. Bagian-bagian ini masih dapat kita simplifikasi lagi menjadi sebuah tipe bentukan yang terdiri dari : ArrayList / Vector of Notes : Notes yang dimaksud di sini adalah step dan octave yang dapat direpresentasikan dengan tipe data String. Contoh isi dari data ini adalah A4\,(C4,C4/). Garis / atau \ setelah step yang ditulis adalah perlambangan untuk kres atau mol, di mana \ melambangkan mol sedangkan / melambangkan kres. Duration : Diambil dari type, melambangkan berapa ketuk not tersebut dimainkan. Hasil yang disimpan dapat direpresentasikan dengan tipe data Float, dimana nilai yang disimpan adalah sejumlah duration sebuah note dibagi dengan divisions. Sebagai contoh, ketika musicxml dari Gambar 5 selesai ditokenisasi, hasilnya adalah sebagai demikian : G5 E5 F5 G5 C5 D5 C5 B4 A4 G4 2 1 1 2 2 1 1 1 1 4 Table 1 Hasil Tokenisasi Gambar 5 Sedangkan musicxml dari Gambar 6, setelah selesai ditokenisasi, hasilnya adalah sebagai demikian : A5 D5 E5 D5 C5/ B4 2 2 1 1 1 1 Table 2 Hasil Tokenisasi Gambar 6 Sampai di sini, tokenisasi tahap-1 telah selesai. Pada tokenisasi tahap-2, penulis akan mengubah hasil

tokenisasi tahap-1 menjadi array of float sederhana. Perubahan yang dilakukan adalah : Mengubah susunan not menjadi susunan perubahan interval. Sebagai contoh, antara nada G dan E pada table 1 memiliki interval -1,5. Membuat seluruh susunan tadi memiliki panjang interval yang sama. Sebagai contoh, nada A pada Table 2 dapat diubah dari {A,2} menjadi {A,1} dan {A,1}. Panjang interval yang dijadikan acuan adalah panjang interval yang terpendek dari keuda table. Sebagai dasar teori perubahan interval, perlu diketahui bahwa secara umum suatu musik terdiri dari 12 jenis note : C, C/, D, D/, E, F, F/, G, G/, A, A/, B. Untuk setiap step yang penulis tuliskan sebelumnya, untuk octave yang sama, terdapat interval 0.5 antar step. Untuk suatu oktaf yang berbeda, terdapat perbedaan interval sebanyak 6. Sebagai contoh, C4 dan C5 memiliki perbedaan interval 6. Namun C5 dan B4 memiliki perbedaan interval -0.5. Setelah tokenisasi tahap-2, hasilnya untuk table 1 adalah sebagai demikian : Cara membaca table di atas adalah sebagai demikian : Pada ketukan ke-0, terdapat interval 0 perubahan nada Pada ketukan ke-1, terdapat interval 0 perubahan nada Pada ketukan ke-2, terdapat interval -1.5 perubahan nada. Sedangkan hasil tokenisasi tahap-2 untuk table 2 adalah sebagai demikian : Untuk setiap table hasil tokenisasi, seluruh nilai 0 pertama dapat diabaikan hingga nilai yang tidak bernilai 0. Hal ini dikarenakan nada pertama tidak akan memiliki perubahan interval dari nada sebelumnya, mengingat tidak ada nada sebelum nada pertama. Angka 0 dibelakanagnya dibuang karena selama interval bernilai 0, maka nada yang dibunyikan masih merupakan nada pertama yang sama bunyinya. Maka array of integer yang dibandingkan menjadi : dan Langkah tokenisasi tahap-2 selesai di sini. Setelah tokenisasi tahap-2 ini selesai, maka kita dapat menggunakan algoritma Boyer-Moore seperti biasa. Jika pattern dari table 2 ditemukan pada table 1, maka dapat disimpulkan terdapat bagian dari musik table-2 yang merupakan bagian dari musik table-1. Hasil ini dapat menjadi parameter apakah suatu lagu merupakan plagiasi atau bukan. Hasil dari contoh pembandingan ini akan menemukan pattern table-2 pada elemen ke 4 table-1, sehingga dapat disimpulkan bahwa ada bagian dari musik table-2 yang sangat mirip dengan musik pada table-1. Langkah-langkah yang telah dilakukan penulis tadi adalah penanganan untuk kasus plagiasi musik-musik yang hanya memainkan nada-nada tunggal / singular. Namun bagaimana dengan musik-musik lain seperti musik orkestra, ataupun musik band? Untuk kasus-kasus yang telah disebutkan di atas, ada beberapa solusi yang dapat kita ambil, antara lain : Membuat tokenisasi untuk part alat musik yang sesuai saja Membuat tokenisasi untuk seluruh part alat musik, kemudian mencocokan pattern yang dicari ke seluruh hasil tokenisasi Membuat analisa berdasarkan harmoni yang ditimbulkan oleh kombinasi-kombinasi nada dari beberapa alat musik yang dibunyikan secara bersamaan. Di antara ketiga solusi di atas, tidak ada perbedaan signifikan antara cara 1 dan 2 dengan cara yang penulis gunakan sebelumnya untuk mendeteksi plagiarisme. Namun untuk cara 3, akan perlu dijelaskan lebih lanjut. Harmoni-harmoni yang dibentuk oleh suatu alat musik / kumpulan alat musik biasanya dapat kita sebut chord. Chord minimal terdiri dari 3 nada. Contoh-contoh chord yang standar antara lain adalah sebagai berikut : C : C E G D7 : D F/ A C Am7 : A C E G Oleh karena model analisis yang berbeda, maka ada tahap pula yang berubah dalam melakukan tokenisasi. Tokenisasi tahap-1 tetap berjalan dengan cara yang sama, namun terdapat perubahan pada tokenisasi tahap-2. Sebagai contoh, misalkan saja hasil tokenisasi tahap 1 adalah sebagai berikut : C F C A E A G C G C E E Maka untuk tokenisasi tahap-2, setiap nada yang berada pada ketukan yang sama akan digabungkan dan dianalisis chordnya. Berdasarkan contoh yang ada di atas, kumpulan nada yang dianalisis adalah : {C,E,G}, {F,A,C}, {C,G,E}, {A,C,E}. Setelah dicocokan ke database chord, akan ditemukan bahwa chord-chord yang dimainkan pada contoh di atas adalah C, F, C, Am. Tokenisasi tahap-2 yang dilakukan akan memiliki sedikit perbedaan : Nilai yang dicatat bukan perubahan notnya, namun perubahan chord beserta intervalnya. Perubahan chord yang dicatat adalah jenis

chordnya. Salah satu cara merepresentasikannya : o Major -> M o Minor -> m o Diminished -> d o Dominant 7 th -> 7 Selain itu, sisanya sama dengan sebelumnya Maka, hasil tokenisasi tahap-2 dari contoh di atas adalah sebagai berikut : 0-3.5M 3.5 M -1.5m Selanjutnya pembandingan dapat dilakukan seperti biasa cara pertama dengan menggunakan Algoritma Boyer-Moore. V. KEMUNGKINAN PENGEMBANGAN Pada karya tulis ini, penulis hanya membahas aplikasi penggunaan Boyer-Moore untuk musik yang tertulis. Namun, sebenarnya solusi yang telah dibahas oleh penulis dapat juga digunakan untuk mendeteksi plagiarisme musik live yang tidak tertulis, dengan perbedaan pada cara tokenisasi tahap-1nya, karena perbedaan tipe file yang dibuka. Sebagai contoh, jika kita ingin mendeteksi plagiarisme musik live, kita dapat menggunakan Algoritma Fast- Fourier Transform terlebih dahulu untuk mengetahui frekuensi nada yang dimainkan, sebelum kemudian bisa dilanjutkan ke tahap tokenisasi berikutnya. Contoh lain adalah ketika ingin mendeteksi plagiarisme pada musik.midi, kita bisa membuka file midi yang bersangkutan dan kemudian melakukan tokenisasi pada file tersebut. Selain itu, bila kita lihat, sebenarnya kombinasi karakter yang ada tidak terlalu banyak. Maka dari itu, penggunaan algoritma brute force mungkin akan lebih menguntungkan ketimbang menggunakan algoritma Boyer-Moore. Hal ini disebabkan karena untuk waktu yang tidak berbeda jauh, algoritma Brute Force dapat dimodifikasi untuk menghitung derajat kesamaan; Sesuatu yang tidak dapat dilakukan dengan Algoritma Boyer Moore. PERNYATAAN Dengan ini saya menyatakan bahwa makalah yang saya tulis ini adalah tulisan saya sendiri, bukan saduran, atau terjemahan dari makalah orang lain, dan bukan plagiasi. Bandung, 21 Desember 2012 Nicholas Rio (13510024) VI. KESIMPULAN Kesimpulan yang dapat diambil penulis adalah sebagai berikut : Algoritma Boyer-Moore bisa digunakan tidak terbatas hanya pada pattern-matching string saja seperti yang diketahui selama ini. Plagiarisme musik dapat dideteksi dengan lebih baik dengan bantuan Algoritma Boyer-Moore. Algoritma Boyer-Moore bukan satu-satunya metoda pattern matching yang dapat digunakan dalam pendeteksian plagiarisme musik. REFERENCES [1] http://www-igm.univ-mlv.fr/~lecroq/string/node14.html [2] R. Munir, Diktat Kuliah IF 3051 Strategi Algoritma. Bandung: Penerbit Sekolah Teknik Elektro dan Informatika, 2009.