Algoritma MLSB (Modified Least Significant Bit)


Algoritma MLSB (Modified Least Significant Bit) adalah salah satu algoritma yang dapat digunakan untuk melakukan kompresi sinyal ataupun gambar. Contoh yang dibahas kali ini adalah mengenai pengolahan file gambar.
Sesuai namanya, algoritma ini merupakan modifikasi dari LSB (Least Significant Bit). Nilai bit tidak secara langsung disisipkan dalam citra, melainkan diolah terlebih dahulu menggunakan teknik tertentu sehingga data yang disisipkan dapat dikompres dan membutuhkan tempat yang lebih sedikit dibandingkan teknik algoritma sebelumnya.



Diketahui data awal adalah sebagai berikut. Dalam kasus ini akan digunakan gambar berwarna bertipe jpg dengan ukuran 128 x 128 pixel
lena

Perlu diingat bahwa ukuran lebar dan panjang yang direkomendasikan adalah kelipatan 2, dan ukuran gambar adalah persegi (ukuran lebar = ukuran panjang)
Jika ukuran gambar tidak persegi, maka gambar tersebut harus dikonversi agar menjadi ukuran persegi
Ada 2 cara untuk melakukan hal tersebut

  • Gambar tersebut diskala ulang
  • Dilakukan penambahan pixel warna hitam disekeliling gambar tersebut


Langkah-langkah penggunaan algoritma ini adalah

1. Lakukan penyimpanan semua data warna dalam pixel yang terdapat dalam gambar tersebut
warna dalam sebuah pixel dibedakan menjadi 3 bagian, yaitu komponen merah, hijau, dan biru

* Implementasi tahap penyisipan bit adalah sebagai berikut

2a. Lakukan pengambilan nilai ascii dari masing-masing karakter pesan

2b. Susun semua nilai karakter menjadi sebuah string panjang, dipisahkan dengan karakter spasi
Sebagai contoh apabila nilai ascii karakter pertama adalah 90 dan nilai ascii karakter kedua adalah 100
maka hasil konversi adalah “90 100”

2c. Dapatkan kembali nilai dari masing-masing karakter dalam string tersebut dan lakukan konversi menjadi nilai 5 bit
Sebagai contoh,
untuk karakter 1 maka hasil konversi adalah 00001
untuk karakter 6 maka hasil konversi adalah 00110
untuk karakter spasi maka hasil konversi adalah 11101

2d. Kemudian tambahkan karakter awal dan karakter akhir pada daftar karakter
sebagai alat untuk mendeteksi jumlah karakter pada saat proses ekstraksi nantinya
pada deret karakter tersebut akan ditambahkan nilai 11110 sebagai karakter awal dan 11111 sebagai karakter akhir

2e. Lakukan penyisipan masing masing deret karakter ke dalam 5 bit dari masing-masing nilai pixel
Jika sudah tidak ada karakter yang disisipkan, maka hentikan perhitungan

* Implementasi tahap ekstraksi bit adalah sebagai berikut

3a. Lakukan ekstraksi 5 bit dari masing-masing nilai pixel untuk mendapatkan deret karakter yang disisipkan sebelumnya
Jika ditemukan karakter penutup, yaitu 11111, maka hentikan perhitungan

3b. Susun semua deret karakter menjadi sebuah string panjang
Tetapi jika ditemukan nilai binary 11101, maka lakukan konversi nilai binary tersebut menjadi karakter spasi
Sebagai contoh apabila deret karakter tersebut bernilai 1, 2, 3, 29, 1, 4, 5
maka hasil penyusunan string adalah “123 145”

3c. Dapatkan nilai byte sebenarnya dengan melakukan pemisahan string dengan menggunakan tanda spasi

3d. Lakukan konversi nilai ascii menjadi karakter pesan rahasia
dan tampilkan hasil pesan rahasia pada layar


Hasil akhir adalah: (klik untuk perbesar gambar)


Contoh source code lengkap dalam bahasa VB (Visual Basic) dapat didownload disini:



Jika membutuhkan jasa kami dalam pembuatan program, keterangan selanjutnya dapat dilihat di Fasilitas dan Harga
Jika ada yang kurang paham dengan langkah-langkah algoritma diatas, silahkan berikan komentar Anda.
Selamat mencoba.

Tinggalkan sebuah komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *