2.6 Algoritma
Makna informal dari kata algoritma ada dalam persamaan berikut: “Tidak ada
manusia yang dapat menulis begitu cepat, atau begitu lama, atau begitu kecil kecil, dan lebih kecil tanpa batas ... anda mungkin mencoba menulis di atas molekul, atom,
elektron untuk mencatat semua anggota dari kumpulan bilangan tak terbatas dengan menuliskan namanya, bergantian, dalam suatu notasi. Tapi manusia bisa melakukan
sesuatu yang sama bergunanya, pada kasus kumpulan bilangan tak terbatas: Mereka dapat memberikan instruksi jelas untuk menentukan anggota ke-n dari set,
untuk n terbatas acak. Instruksi tersebut diberikan secara eksplisit, dalam bentuk yang dapat diikuti oleh mesin penghitung, atau oleh manusia yang mampu melakukan
hanya operasi-operasi dasar dengan simbol- simbol.” Boolos Jeffrey, 1974.
Algoritma adalah teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan
sistematis. Langkah-langkah pemecahan masalah bisa dilakukan dengan berbagai cara yang berbeda Wahyudi, 2004.
Ciri-ciri algoritma yaitu: 1.
Algoritma harus berhenti setelah melakukan sejumlah langkah terbatas. 2.
Aksi-aksi dalam algoritma terjadi dalam waktu terbatas, tiap langkah harus didefinisikan dengan tepat dan tidak bermakna ganda non-ambiguous.
3. Algoritma memiliki nol atau lebih masukan input. Input adalah besaran yang
diberikan kepada algoritma sebelum algoritma mulai bekerja. 4.
Algoritma memiliki salah satu atau beberapa keluaran output. Output adalah besaran yang mrmiliki hubungan dengan input.
5. Algoritma harus efektif, tiap langkah harus sederhana, dapat dikerjakan dalam
sejumlah waktu yang logis Knuth, 1968.
2.7 Algoritma Run-Length Encoding RLE
Algoritma Run Length Encoding adalah melakukan kompresi dengan memindahkan pengulangan bit yang sama berturut-turut atau secara terus menerus. Algoritma ini
digunakan untuk mengompresi citra yang memiliki kelompok-kelompok pixel yang berderajat keabuan yang sama. Pada metode ini dilakukan pembuatan rangkaian
pasangan nilai P,Q untuk setiap baris pixel, dimana nilai P menyatakan nilai derajat
Universitas Sumatera Utara
keabuan, sedangkan nilai Q menyatakan jumlah pixel berurutan yang memiliki derajat keabuan tersebut. Lubis, 2014
Berbeda dengan teknik-teknik sebelumnya yang bekerja berdasarkan karakter per karakter, teknik run length ini bekerja berdasarkan sederetan karakter yang
berurutan. Run Length Encoding adalah suatu algoritma kompresi data yang bersifat Lossless. Algoritma ini mungkin merupakan algoritma yang paling mudah untuk
dipahami dan diterapkan. Algoritma RLE ini cocok digunakan untuk mengkompres citra yang memiliki
kelompok-kelompok pixel berderajat keabuan yang sama. Kompresi citra dengan algoritma RLE dilakukan dengan membuat rangkaian pasangan nilai p,q untuk
setiap baris pixel, nilai pertama p menyatakan derajat keabuan, sedangkan nilai kedua q menyatakan jumlah pixel berurutan yang memiliki derajat kabuan tersebut
dinamakan Run-Length Encoding.
Langkah-langkah yang dibutuhkan untuk melakukan kompresi Run-Length Encoding adalah sebagai berikut:
1. Periksa nilai saat ini dengan nilai tetangga, apabila nilai saat ini sama dengan nilai tetangga maka gabungkan nilai tersebut menjadi satu dan tambahkan nilai counter
untuk nilai tersebut. 2. Apabila nilai saat ini dengan nilai tetangganya tidak sama maka simpan nilai saat ini
dan lanjut pemeriksaan seperti pada nomor 1. 3. Setelah proses 1 dan 2 telah dilakukan kemudian simpan hasil proses kompresi
tersebut.
Untuk melakukan proses dekompresi terhadap file yang telah mengalami proses kompresi Run Length Encoding RLE dapat dilihat pada langkah-langkah
berikut ini. 1. Baca nilai yang terdapat pada citra kemudian periksa apakah nilai saat ini berulang
atau tidak, apabila nilai saat ini berulang maka ulang nilai sebanyak perulangan yang ada.
2. Apabila nilai tidak berulang maka nilai saat ini simpan dan lanjutkan ke nilai selanjutnya.
Universitas Sumatera Utara
2.8 Algoritma Elias Delta Code