Home » Ilmu Komputer » Algoritma Levenshtein Distance: Pengertian, Fungsi dan Operasi

Algoritma Levenshtein Distance: Pengertian, Fungsi dan Operasi

by Rini Rahmawati
by Rini Rahmawati

Algoritma Levenshtein Distance adalah salah satu algoritma yang sering digunakan dalam pengolahan teks dan pemrosesan bahasa alami. Algoritma ini berfungsi untuk menghitung jarak antara dua teks atau string, yaitu jarak antara string awal dan string tujuan. Algoritma ini dinamakan sesuai dengan nama matematikawan Rusia, Vladimir Levenshtein, yang pertama kali memperkenalkannya pada tahun 1965.

Algoritma Levenshtein Distance sering digunakan dalam aplikasi seperti pembanding teks, korektor ejaan, dan pengenalan suara. Selain itu, algoritma ini juga berguna dalam bidang bioinformatika untuk membandingkan urutan DNA dan RNA.

Meskipun Algoritma Levenshtein Distance cukup sederhana dan mudah dimengerti, namun ia cukup efektif dan sering digunakan dalam berbagai bidang. Dalam artikel ini, kita akan membahas lebih lanjut tentang cara kerja dan aplikasi algoritma ini, serta beberapa contoh penggunaannya dalam berbagai bidang.

Apa Itu Algoritma Levenshtein Distance

Algoritma Levenshtein Distance adalah suatu algoritma yang digunakan untuk mengukur jarak antara dua buah string. Algoritma ini dapat menghitung jumlah minimum dari operasi yang diperlukan untuk mengubah satu string menjadi string lainnya. Operasi yang diperbolehkan adalah penghapusan karakter, penyisipan karakter, dan penggantian karakter. Jarak Levenshtein antara dua buah string adalah jumlah operasi yang diperlukan untuk mengubah satu string menjadi string lainnya.

Algoritma ini dinamakan sesuai dengan nama matematikawan Rusia, Vladimir Levenshtein, yang pertama kali memperkenalkannya pada tahun 1965. Algoritma ini sangat penting dalam pengolahan teks dan pemrosesan bahasa alami, serta sering digunakan dalam aplikasi seperti pembanding teks, korektor ejaan, dan pengenalan suara.

Algoritma Levenshtein Distance sangat berguna dalam bidang bioinformatika untuk membandingkan urutan DNA dan RNA. Algoritma ini juga digunakan dalam pengembangan aplikasi pencarian string, seperti Google Search dan mesin pencari lainnya.

Meskipun sederhana dan mudah dimengerti, Algoritma Levenshtein Distance cukup efektif dan sering digunakan dalam berbagai bidang. Oleh karena itu, pemahaman terhadap algoritma ini sangat penting bagi mereka yang bekerja dalam pengolahan teks dan pemrosesan bahasa alami, serta bidang-bidang lain yang membutuhkan analisis teks dan data.

Fungsi Algoritma Levenshtein Distance

Fungsi utama dari Algoritma Levenshtein Distance adalah untuk mengukur jarak antara dua buah string atau teks. Algoritma ini digunakan untuk mencari tahu seberapa berbedanya dua buah teks, dan dapat digunakan dalam berbagai aplikasi seperti:

1. Pembanding Teks

Algoritma Levenshtein Distance sering digunakan dalam pembanding teks untuk membandingkan dua teks atau dokumen dan menentukan seberapa mirip keduanya. Hal ini sangat berguna dalam membandingkan versi dokumen yang berbeda atau memeriksa plagiarisme.

2. Korektor Ejaan

Algoritma Levenshtein Distance dapat digunakan dalam korektor ejaan, Algoritma Levenshtein Distance digunakan untuk menemukan kata-kata yang salah eja dalam teks. Algoritma ini dapat memeriksa kata-kata dalam teks dan menghitung jarak Levenshtein antara kata-kata tersebut dan kata-kata yang benar ejaannya. Jika jaraknya di bawah batas tertentu, maka kata yang salah eja dapat diubah menjadi kata yang benar ejaannya.

3. Pengenalan Suara

Algoritma Levenshtein Distance juga digunakan dalam aplikasi pengenalan suara, di mana algoritma ini dapat digunakan untuk membandingkan suara yang diterima dengan teks yang diharapkan. Jarak Levenshtein dapat digunakan untuk menentukan seberapa mirip antara suara yang diterima dan teks yang diharapkan, dan digunakan untuk menentukan kata-kata yang diucapkan.

4. Bidang Bioinformatika

Algoritma Levenshtein Distance juga digunakan dalam bidang bioinformatika untuk membandingkan urutan DNA dan RNA. Algoritma ini dapat digunakan untuk menemukan perbedaan dalam urutan nukleotida antara dua atau lebih urutan, dan digunakan untuk mengidentifikasi spesies atau variasi genetik dalam populasi.

Selain itu, Algoritma Levenshtein Distance juga dapat digunakan dalam aplikasi pencarian string, seperti Google Search dan mesin pencari lainnya. Algoritma ini digunakan untuk mencari kata-kata yang cocok atau mirip dalam database, dan digunakan untuk menyediakan hasil pencarian yang lebih akurat dan relevan.

Jadi Algoritma Levenshtein Distance memiliki banyak fungsi dan digunakan dalam berbagai aplikasi yang berbeda, dari pengolahan teks dan pemrosesan bahasa alami hingga bidang bioinformatika. Algoritma ini sangat berguna dalam membandingkan, memeriksa, dan mengelola teks dan data, serta dapat digunakan untuk meningkatkan kualitas hasil pencarian dan analisis data.

Operasi Dasar Algoritma Levenshtein Distance

Berikut adalah penjelasan lebih rinci mengenai operasi dasar dalam Algoritma Levenshtein Distance:

1. Penghapusan Karakter (Deletion)

Operasi penghapusan karakter terjadi ketika sebuah karakter dihapus dari salah satu string. Biaya operasi ini biasanya dihitung dengan menambahkan 1 ke jarak Levenshtein sebelumnya. Contohnya, jika kita ingin mengubah kata “rumah” menjadi “rmah”, maka operasi penghapusan karakter terjadi pada karakter “u”, dan biayanya adalah 1.

2. Penyisipan Karakter (Insertion)

Operasi penyisipan karakter terjadi ketika sebuah karakter ditambahkan ke salah satu string. Biaya operasi ini biasanya dihitung dengan menambahkan 1 ke jarak Levenshtein sebelumnya. Contohnya, jika kita ingin mengubah kata “rumah” menjadi “ruamah”, maka operasi penyisipan karakter terjadi pada karakter “a”, dan biayanya adalah 1.

 3. Penggantian Karakter (Substitution)

Operasi penggantian karakter terjadi ketika sebuah karakter diganti dengan karakter lain pada salah satu string. Biaya operasi ini biasanya dihitung dengan menambahkan 1 ke jarak Levenshtein sebelumnya. Contohnya, jika kita ingin mengubah kata “rumah” menjadi “ramah”, maka operasi penggantian karakter terjadi pada karakter “u” yang diganti dengan karakter “a”, dan biayanya adalah 1.

Dalam Algoritma Levenshtein Distance, jarak Levenshtein antara dua buah string adalah jumlah minimum dari biaya yang diperlukan untuk mengubah satu string menjadi string lainnya. Untuk menghitung jarak Levenshtein, algoritma ini menggunakan matriks untuk merepresentasikan kedua string. Matriks ini digunakan untuk menghitung biaya operasi dan menghitung jarak Levenshtein secara efisien.

Langkah Algoritma Levenshtein Distance

Langkah pertama dari algoritma jarak Levenshtein adalah pertama memilih panjang dari dua string.

Jika salah satu atau kedua string adalah string kosong, eksekusi algoritma ini berhenti dan jarak hasil modifikasi adalah nol atau panjang string  tidak kosong.

Jika kedua panjang string bukan nol, setiap string memiliki  karakter terakhir, mis. c1 dan c2. Misalnya  string pertama tanpa c1 adalah s1 dan  string kedua tanpa c2 adalah s2. Kita dapat mengatakan bahwa perhitungannya adalah bagaimana mengubah s1+c1 menjadi s2+c2.

Jika c1 sama dengan c2, nilai biaya dapat diatur ke 0 dan nilai jarak perubahan adalah nilai jarak perubahan konversi dari  s1 ke s2. Jika c1 berbeda dengan c2, maka perlu mengubah c1 menjadi c2 sehingga nilai costnya adalah 1. Hasilnya, nilai jarak edit  adalah nilai jarak edit s1 dari transformasi s2 ditambah 1.

Pilihan lainnya adalah untuk menghapus c1 dan edit s1 ke s2+c2 sehingga nilai jarak edit  s1 ke s2 ke c2 akan bertambah 1.

Sama dengan menghapus c2 dan mengubah s1+c1 menjadi s2. Di antara opsi ini, temukan nilai terkecil untuk nilai pengeditan jarak.

 Untuk informasi selengkapnya tentang proses algoritma jarak Levenshtein, lihat pseucode berikut:

Proses algoritma jarak Levenshtein

You may also like