Alat Bantu Perancangan Perangkat Lunak

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