Alat Bantu Perancangan Perangkat Lunak Algoritma

2.4. Alat Bantu Perancangan Perangkat Lunak

Alat bantu yang digunakan dalam perancangan perangkat lunak ini adalah sebagai berikut. Flowcharting adalah suatu teknik untuk menyusun rencana program yang telah diperkenalkan dan telah dipergunakan oleh kalangan pemrogram komputer sebelum algoritma menjadi populer. Flowchart adalah untaian simbol gambar chart yang menunjukkan aliran flow dari proses terhadap data Suarga, 2012. Ada dua kategori simbol flowchart menurut Dr. Suarga 2012, yaitu program flowchart dan sistem flowchart, yakni: 1. Program flowchart, yaitu simbol-simbol flowchart yang digunakan untuk menggambarkan logik dari pemrosesan terhadap data. Adapun simbol-simbol Program flowchart seperti pada Tabel 2.1 berikut. Tabel 2.1. Simbol Program Flowchart No Simbol Keterangan 1 Terminator, mulai atau selesai. 2 Proses, menyatakan proses terhadap data. 3 InputOutput, menerima atau menampilkan output . Universitas Sumatera Utara 4 SeleksiPilihan, memilih aliran berdasarkan syarat. 5 Predefined-Data, definisi awal dari variabel atau data. 6 Predefined-Process, lambang fungsi atau sub- program. 7 Connector, penghubung. 2. Sistem Flowchart, merupakan simbol-simbol peralatan sistem komputer yang digunakan untuk menyatakan proses pengolahan data. Tabel 2.2. Simbol Sistem Flowchart No Simbol Keterangan 1 Manual input, Keyboard 2 File Storage 3 Display, Monitor Universitas Sumatera Utara 4 Merge 5 Extract 6 Sorting

2.5. Algoritma

Beberapa definisi algoritma Suarga, 2012, adalah sebagai berikut. 1. Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan sistematis. 2. Suatu prosedur yang jelas untuk menyelesaikan suatu persoalan dengan menggunakan langkah-langkah tertentu dan terbatas jumlahnya. 3. Susunan langkah yang pasti, yang bila diikuti maka akan mentransformasi data input menjadi output yang berupa informasi. Berikut adalah penjelasan algoritma yang digunakan pada penelitian kompresi file, yaitu. 2.5.1. Algoritma Huffman Algoritma Huffman adalah salah satu algoritma kompresi tertua yang disusun oleh David Huffman pada tahun 1952. Algoritma tersebut digunakan untuk membuat kompresi jenis lossless compression, yaitu pemampatan data dimana tidak satu byte Universitas Sumatera Utara pun hilang sehingga data tersebut utuh dan disimpan sesuai dengan aslinya. Pada dasarnya, algoritma Huffman ini bekerja seperti mesin sandi morse, dia membentuk suatu kode dari suatu karakter. Sehingga karakter tersebut memiliki rangkaian bit yang lebih pendek dibandingkan sebelumnya Rajagukguk, 2014. Pada awalnya David Huffman hanya meng-encoding karakter dengan hanya menggunakan pohon biner biasa, namun setelah itu David Huffman menemukan bahwa penggunaan algoritma greedy dapat membentuk kode prefiks yang optimal. Penggunaan algoritma greedy pada algoritma Huffman adalah pada saat pemilihan dua pohon dengan frekuensi terkecil dalam membuat pohon Huffman. Algoritma greedy ini digunakan pada pembentukan pohon Huffman agar meminimumkan total cost yang dibutuhkan. Cost yang digunakan untuk menggabungkan dua buah pohon pada akar setara dengan jumlah frekuensi dua buah pohon yang digabungkan, oleh karena itu total cost pembentukan pohon Huffman adalah jumlah total seluruh penggabungan. penggabungan dua buah pohon dilakukan setiap langkah dan algoritma Huffman selalu memilih dua buah pohon yang mempunyai frekuensi terkecil untuk meminimumkan total cost Wardoyo, Irwan et al, 2003. Adapun tahapan dari algoritma Huffman adalah yang pertama membuat sebuah pohon berupa simpul daun dan anak-anaknya yang memiliki probabilitas dari seringnya munculnya karakter. Proses kedua adalah proses encoding, dari pohon tersebut, tiap karakternya akan memiliki identitas berupa bilangan biner untuk disimpan pada memori. Proses pembentukan dari karakter menjadi biner inilah yang disebut dengan proses encoding. Untuk lebih jelasnya bagaimana encoding itu akan diperjelas ketika pohon telah dibuat. Proses ketiga yaitu proses decoding adalah proses kebalikan dari encoding, yaitu mengembalikan dari angaka-angka biner yang pendek diubah lagi menjadi karakter yang panjang lagi dan tanpa ada kehilangan data dari data asli. Universitas Sumatera Utara 2.5.2. Algoritma RLE Run Length Encoding 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 mudah untuk dipahami dan diterapkan untuk kompresi. Metode kompresi ini sangat sederhana, yaitu hanya memindahkan pengulangan byte yang sama berturut-turut secara terus-menerus Rahandi, 2009.

2.6. Rasio Kompresi