18
2.4.3 Encoding dan Decoding
Gambar 2.2 menunjukkan bagaimana kita bisa encode dan decode di Huffman coding.
Gambar 2.2 Encoding dan Decoding di Huffman Coding
Dalam Huffman coding, tidak ada kode yang menjadi awalan dari kode lain. Ini berarti bahwa kita tidak perlu memasukkan pembatas untuk memisahkan kode
untuk satu karakter dari kode yang berikutnya. Huffman coding juga memungkinkan seketika saat di-decoding, ketika decoder memiliki dua bit 00, segera dapat
memecahkan kode itu sebagai karakter A, ia tidak perlu melihat lebih banyak bit. Salah satu kelemahan dari Huffman coding adalah bahwa kedua encoder dan decoder
perlu menggunakan tabel pengkodean yang sama. Dengan kata lain, pohon Huffman tidak dapat dibuat secara dinamis seperti kamus di LZW coding, Namun, jika encoder
dan decoder menggunakan set simbol yang sama sepanjang waktu, pohon dapat dibuat dan dibagi sekali. Jika tidak, tabel perlu dibuat oleh encoder dan diberikan kepada
penerima [5].
2.5 Alat Bantu Perancangan Perangkat Lunak
Alat bantu yang digunakan dalam perancangan perangkat lunak ini adalah sebagai berikut.
Universitas Sumatera Utara
19
2.5.1 Flowchart
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 [12].
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.2. Tabel 2.2 Simbol Program Flowchart
No Simbol
Keterangan
1 Terminator
, mulai atau selesai
2 Proses, menyatakan proses terhadap data
3 InputOutput, menerima atau menampilkan
output
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
Universitas Sumatera Utara
20
2. Sistem Flowchart, merupakan simbol-simbol peralatan sistem komputer yang
digunakan untuk menyatakan proses pengolahan data. Tabel 2.3 Simbol Sistem Flowchart
No Simbol
Keterangan 1
Manual input, Keyboard 2
Printer 3
FileStorage 4
Display , monitor
5 Magnetic Tape
6 Magnetic Disk
7 Sorting
8 Extract
9 Merge
2.5.2 Algoritma
Beberapa definisi algoritma [12]: 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.
Universitas Sumatera Utara
21
Ciri Algoritma, yaitu [12]: 1.
Algoritma mempunyai awal dan akhir, suatu algoritma harus berhentu setelah mengerjakan serangkaian tugas. Dengan kata lain, suatu algoritma memiliki
langkah yang terbatas. 2.
Setiap langkah harus didefinisikan dengan tepat, sehingga tidak memiliki arti ganda.
3. Memiliki masukan input atau kondisi awal.
4. Memiliki keluaran output atau kondisi akhir.
5. Algoritma harus efektif, bila diikuti benar-benar maka akan menyelesaikan
persoalan. Sifat Algoritma, yaitu [12]:
1. Input: Suatu algoritma memiliki input atau kondisi awal sebelum dilaksanakan,
bisa berupa nilai peubah yang diambil dari himpunan khusus. 2.
Output: Suatu algoritma akan menghasilkan output setelah dilaksanakan, atau algoritma akan mengubah kondisi awal menjadi kondisi akhir, dimana nilai
output diperoleh dari nilai input yang telah diproses melalui algoritma. 3.
Defineteness: Langkah-langkah yang dituliskan dalam algoritma terdefinisi dengan jelas sehingga mudah dilaksakan oleh pengguna algoritma.
4. Finiteness: Suatu algoritma harus memberi kondisi akhir atau output setelah
sejumlah langkah yang terbatas jumlahnya dilakukan terhadap setiap kondisi awal atau input yang diberikan.
5. Effectivenes: setiap langkah dalam algoritma bisa dilaksanakan dalam suatu
selang waktu tertentu sehingga pada akhirnya didapatkan solusi sesuai yang diharapkan.
6. Generality: Langkah-langkah algoritma berlaku untuk setiap himpunan input
yang sesuai dengan persoalan yang diberikan, tidak hanya untuk himpunan tertentu.
Universitas Sumatera Utara
22
2.6 Microsoft Visual Basic 6.0