• Tidak ada hasil yang ditemukan

Analisis Perbandingan Kompresi File Video Dengan Motion Picture Expert Group-4 Dan Flash Video Dengan Menggunakan Algoritma Huffman

N/A
N/A
Protected

Academic year: 2016

Membagikan "Analisis Perbandingan Kompresi File Video Dengan Motion Picture Expert Group-4 Dan Flash Video Dengan Menggunakan Algoritma Huffman"

Copied!
101
0
0

Teks penuh

(1)

ANALISIS PERBANDINGAN KOMPRESI FILE VIDEO DENGAN MOTION PICTURE EXPERT GROUP-4 DAN FLASH VIDEO DENGAN

MENGGUNAKAN ALGORITMA HUFFMAN

SKRIPSI

NUZUL SAKINAH LUBIS 0 8 1 4 0 1 0 5 6

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(2)

ANALISIS PERBANDINGAN KOMPRESI FILE VIDEO DENGAN MOTION PICTURE EXPERT GROUP-4 DAN FLASH VIDEO DENGAN

MENGGUNAKAN ALGORITMA HUFFMAN

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

NUZUL SAKINAH LUBIS 0 8 1 4 0 1 0 5 6

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : ANALISIS PERBANDINGAN KOMPRESI FILE

VIDEO DENGAN MOTION PICTURE EXPERT

GROUP-4 DAN FLASH VIDEO DENGAN

MENGGUNAKAN ALGORITMA HUFFMAN

Kategori : SKRIPSI

Nama : NUZUL SAKINAH LUBIS

Nomor Induk Mahasiswa : 081401056

Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (Fasilkom-TI) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Juli 2013 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Drs. Muhammad Firdaus, M.Si Prof. Dr. Muhammad Zarlis

Diketahui/Disetujui oleh

Dept. Ilmu Komputer Fasilkom-TI USU Ketua,

(4)

PERNYATAAN

ANALISIS PERBANDINGAN KOMPRESI FILE VIDEO DENGAN MOTION PICTURE EXPERT GROUP-4 DAN FLASH VIDEO DENGAN

MENGGUNAKAN ALGORITMA HUFFMAN

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, Juli 2013

(5)

PENGHARGAAN

Puji dan syukur kehadirat Allah SWT, yang hanya dengan rahmat dan izin-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh ijazah Sarjana Ilmu Komputer, pada Program Studi S1 Ilmu Komputer Departemen Ilmu Komputer Universitas Sumatera Utara.

Ucapan terima kasih penulis sampaikan kepada:

1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara dan Dosen Pembimbing I yang telah memberikan bimbingan, saran dan masukan kepada penulis dalam pengerjaan skripsi ini.

3. Bapak Drs. Muhammad Firdaus, M.Si selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran dan masukan kepada penulis dalam pengerjaan skripsi ini.

4. Bapak Prof. Dr. Iryanto, M.Si selaku Dosen Pembanding I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

5. Bapak M.Andri Budiman, ST, M.Comp.Sc, MEM selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

6. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

7. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

8. Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, seluruh tenaga pengajar dan pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

9. Orang tua tercinta, Ir. H. Zulkifli Lubis, M.I.Komp dan Hj. Nurlailan Nasution, yang telah memberikan didikan, semangat, dan dorongan baik moril maupun materil. Serta abang, kakak dan adik-adik tersayang yang selalu memberikan doa, kasih sayang dan dukungannya kepada penulis.

(6)

11. Senior, teman-teman seperjuangan S1-Ilmu Komputer stambuk 2008, adik-adik stambuk 2009 yang selalu memberikan semangat dan menjadi teman diskusi penulis selama menyelesaikan skripsi ini.

Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.

Medan, Juli 2013 Penulis

(7)

ABSTRAK

Pada penelitian ini dilakukan analisis perbandingan hasil kompresi dan dekompresi file video dengan format Motion Picture Expert Group-4 (MPEG-4) dan Flash Video (FLV). Perancangan perangkat lunak dibuat untuk memproses kompresi dan dekompresi video sehingga pengguna (user) dapat mengetahui waktu yang diperlukan selama proses dan ukuran video yang di hasilkan. Algoritma yang digunakan pada penelitian ini adalah Algoritma Huffman. Prinsip kerja Algoritma Huffman adalah membaca nilai bit pada file yang akan dikompres, membaca posisi nilai bit, mengurutkannya secara Ascending (dari yang terkecil ke yang terbesar), melakukan pengkodean, dengan cara memberikan nilai 0 pada nilai bit yang paling sering muncul, dan selanjutnya menambahkan angka 1 di depan 0 untuk nilai bit yang lebih jarang muncul. Hasil kompresi tidak selalu lebih kecil daripada ukuran file awal, dikarenakan sedikitnya pengulangan kemunculan nilai suatu bit tersebut. Melalui perangkat lunak yang telah penulis rancang, user dapat memilih file video digital yang akan dimasukkan untuk diproses. Penulis menggunakan common dialog box control untuk melakukan pemilihan file video digital yang diinginkan. User dapat melakukan kompresi terhadap file video digital dan juga dapat melakukan dekompresi terhadap file video digital yang sudah dikompresi sebelumnya.

(8)

COMPARATIVE ANALYSIS OF VIDEO FILES COMPRESSION WITH MOTION PICTURE EXPERT GROUP-4 AND FLASH VIDEO

BY USING HUFFMAN’s ALGORITHM

ABSTRACT

In this research, comparative analysis of compression and decompression video files results is conducted by format of the Motion Picture Expert Group-4 (MPEG-4) and Flash Video (FLV). Software design is created for video compression and decompression process, so that the user can determine the required time during the process and the sizeof the resulting video. The algorithm used in this study is Huffman’s Algorithm. Huffman’s Algorithm working principle is to read the value of bits in the file to be compressed, read the bit position values, sorted in Ascending (from the smallest to the largest) and perform coding, by giving a value of 0 on the bit value that appears most frequently, and then add the 1 in front of the bit value 0 to less frequently. Compression results are not always smaller than the initial file size, because at least the appearance of repeating the bit value. Through the software that has been designed by the author, user can choose the digital video file which will be used for being process. The author uses the common dialog box control to make a selection the desired digital video files. Users can perform digital video compression to the desired file and also able to perform decompress digital video files which are already compressed before.

(9)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii Penghargaan iv Abstrak v Abstract vi Daftar Isi vii Daftar Tabel ix Daftar Gambar x Bab 1 Pendahuluan 1.1Latar Belakang 1

1.2Rumusan Masalah 2

1.3Batasan Masalah 2

1.4Tujuan Penelitian 3

1.5Manfaat Penelitian 3

1.6Metodologi Penelitian 3

1.7Sistematika Penulisan 5

Bab 2 Landasan Teori 2.1 Video Digital 6

2.2 Format Video Digital 8

2.3Kompresi Data 11

2.3.1 Jenis-jenis Kompresi Data 12

2.3.2 Kriteria dan Klasifikasi Teknik Kompresi Data 13

2.3.3 Aplikasi Kompresi 14

2.3.4 Rasio Kompresi 15

2.4Algorima Huffman 15

2.4.1 Pohon Huffman 16

2.4.2 Coding Table 17

2.4.3 Coding dan Decoding 18

2.5 Alat Bantu Perancangan Perangkat Lunak 18

2.5.1 Flowchart 19

2.5.2 Algoritma 20

2.6 Microsoft Visual Basic 6.0 22

Bab 3 Analisis dan Perancangan Sistem 3.1 Analisis Sistem 26

(10)

3.1.2 Analisis Fasilitas Perangkat Lunak 32

3.1.3 Analisis Cara Kerja Perangkat Lunak 33

3.1.3.1 Diagram Alir Cara Kerja Perangkat Lunak 34

3.2 Perancangan Sistem 36

Bab 4 Implementasi dan Pembahasan 4.1 Implementasi 36

4.1.1 Tampilan Antarmuka Perangkat Lunak 36

4.1.1.1Tampilan Form Utama 36

4.1.1.2Tampilan Form About 39

4.1.2 Pengujian Sistem 40

4.2 Pembahasan 49

4.2.1 Analisis Perbandingan 49

4.2.2 Kelebihan Sistem 50

4.2.3 Kelemahan Sistem 50

Bab 5 Kesimpulan dan Saran 5.1 Kesimpulan 51

5.2. Saran 51

(11)

DAFTAR TABEL

Halaman

2.1 Coding Table 17

2.2 Simbol Program Flowchart 19

2.3 Simbol Sistem Flowchart 20

3.1 Frekuensi Kemunculan 27

3.2 Hasil Pengkodean Huffman 28

3.3 Nilai Bit Dalam Kode Huffman 28

3.4 Kode Huffman Dekompresi 31

3.5 Pemetaan Nilai Bit 31

(12)

DAFTAR GAMBAR

Halaman

2.1 Huffman Tree 16

2.2 Encoding dan Decoding di Huffman Coding 18

2.3 Jendela Project 23

2.4 Jendela Form 23

2.5 Jendela Toolbox 24

2.6 Jendela Properties 24

3.1 Membaca Nilai Bit 27

3.2 Pohon Huffman 181, 181, 201, 181, 178, 181, 227, 181, 63 28

3.3 Flowchart Proses Kompresi 34

3.4 Flowchart Proses Dekompresi 35

3.5 Flowchart Program 36

3.6 Rancangan Form Main 37

3.7 Rancangan Form About 37

4.1 Tampilan Form Utama 49

4.2 Form About 49

4.3 Informasi File monty.mp4 40

4.4 Informasi File monty.flv 41

4.5 Load File monty.mp4 41

4.6 Informasi Hasil Kompresi monty.mp4 42

4.7 Menyimpan Hasil Kompresi Dengan Nama kompres1.MPEG 42

4.8 Informasi File kompres1.MPEG 43

4.9 Load File monty.flv 43

4.10 Informasi Hasil Kompresi monty.flv 44

4.11 Menyimpan Hasil Kompresi Dengan Nama Kompres2.flv 44

4.12 Informasi File kompres2.flv 45

4.13 Load File kompres1.MPEG 45

4.14 Informasi Hasil Dekompresi kompres1.MPEG 46

4.15 Menyimpan Hasil Dekompresi Dengan Nama dekompres1.MPEG 46

4.16 Informasi File dekompres1.MPEG 47

4.17 Load File kompres2.flv 47

4.18 Informasi Hasil Dekompresi kompres2.flv 48

4.19 Menyimpan Hasil Dekompresi Dengan Nama dekompres2.flv 48

(13)

DAFTAR LAMPIRAN

Halaman

A. ASCII control characters (0-31) A-1

B. ASCII printabel characters (32-127) B-1

C. The extended ASCII codes (128-255) C-1

D. SourceCode D-1

(14)

ABSTRAK

Pada penelitian ini dilakukan analisis perbandingan hasil kompresi dan dekompresi file video dengan format Motion Picture Expert Group-4 (MPEG-4) dan Flash Video (FLV). Perancangan perangkat lunak dibuat untuk memproses kompresi dan dekompresi video sehingga pengguna (user) dapat mengetahui waktu yang diperlukan selama proses dan ukuran video yang di hasilkan. Algoritma yang digunakan pada penelitian ini adalah Algoritma Huffman. Prinsip kerja Algoritma Huffman adalah membaca nilai bit pada file yang akan dikompres, membaca posisi nilai bit, mengurutkannya secara Ascending (dari yang terkecil ke yang terbesar), melakukan pengkodean, dengan cara memberikan nilai 0 pada nilai bit yang paling sering muncul, dan selanjutnya menambahkan angka 1 di depan 0 untuk nilai bit yang lebih jarang muncul. Hasil kompresi tidak selalu lebih kecil daripada ukuran file awal, dikarenakan sedikitnya pengulangan kemunculan nilai suatu bit tersebut. Melalui perangkat lunak yang telah penulis rancang, user dapat memilih file video digital yang akan dimasukkan untuk diproses. Penulis menggunakan common dialog box control untuk melakukan pemilihan file video digital yang diinginkan. User dapat melakukan kompresi terhadap file video digital dan juga dapat melakukan dekompresi terhadap file video digital yang sudah dikompresi sebelumnya.

(15)

COMPARATIVE ANALYSIS OF VIDEO FILES COMPRESSION WITH MOTION PICTURE EXPERT GROUP-4 AND FLASH VIDEO

BY USING HUFFMAN’s ALGORITHM

ABSTRACT

In this research, comparative analysis of compression and decompression video files results is conducted by format of the Motion Picture Expert Group-4 (MPEG-4) and Flash Video (FLV). Software design is created for video compression and decompression process, so that the user can determine the required time during the process and the sizeof the resulting video. The algorithm used in this study is Huffman’s Algorithm. Huffman’s Algorithm working principle is to read the value of bits in the file to be compressed, read the bit position values, sorted in Ascending (from the smallest to the largest) and perform coding, by giving a value of 0 on the bit value that appears most frequently, and then add the 1 in front of the bit value 0 to less frequently. Compression results are not always smaller than the initial file size, because at least the appearance of repeating the bit value. Through the software that has been designed by the author, user can choose the digital video file which will be used for being process. The author uses the common dialog box control to make a selection the desired digital video files. Users can perform digital video compression to the desired file and also able to perform decompress digital video files which are already compressed before.

(16)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi komputer semakin pesat dewasa ini, sehingga sangat membantu manusia dalam mengolah data untuk mendapatkan informasi. Aktivitas yang dulunya dilakukan secara manual, sekarang dapat diproses dengan menggunakan komputer sehingga dapat menghemat waktu dan tingkat ketelitian yang di hasilkan jauh lebih tinggi. Salah satu contoh dari penggunaan komputer adalah pengolahan data video digital.

Video digital adalah berkas komputer yang digunakan untuk menyimpan kumpulan berkas digital seperti video, audio, metadata, informasi, pembagian chapter, dan judul sekaligus, yang dapat dimainkan atau digunakan melalui perangkat lunak tertentu pada komputer [7].

File video digital ini memiliki ukuran yang cukup besar sehingga membutuhkan media penyimpanan yang besar, untuk itu kompresi data menjadi sangat penting karena memperkecil kebutuhan penyimpanan data, mempercepat pengiriman data, dan memperkecil kebutuhan bandwidth [9].

(17)

Beberapa format file kompresi video yang sering digunakan adalah Motion Picture Expert Group-4 (MPEG-4) dan Flash Video (FLV). MPEG-4 adalah suatu metode untuk melakukan kompresi video. Pada prinsipnya, sebuah gambar bergerak adalah sekumpulan frame yang mengalir dengan cepat, di mana setiap frame adalah gambar. dengan kata lain, sebuah frame adalah kombinasi pixel-pixel, dan sebuah video adalah kombinasi fisik dari frame-frame yang dikirim secara bergantian. Kompresi video berarti memampatan tiap frame dalam ruang dan pemampatan secara fisik dari sekumpulan frame [5].

FLV adalah video dengan format flash movie yang digunakan di Internet. FLV biasanya menjadi format standar yang digunakan oleh Youtube, Google Video, Reuters.com, Yahoo!Video, MySpace, dan lain-lain [7].

Berdasarkan uraian di atas, maka penulis mencoba merancang sebuah perangkat lunak yang dapat digunakan sebagai bahan analisis perbandingan kompresi video digital dengan format MPEG-4 dan FLV. Oleh karena itu, penulis melakukan penelitian sebagai tugas akhir ini dengan judul : “Analisis Perbandingan Kompresi FileVideo dengan MPEG-4 dan FLV dengan Menggunakan Algoritma Huffman”.

1.2 Rumusan Masalah

Berdasarkan uraian pada latar belakang, maka rumusan masalah yang akan dibahas pada tugas akhir ini adalah bagaimana melakukan analisis perbandingan kompresi video dengan MPEG-4 dan FLV menggunakan algoritma Huffman.

1.3 Batasan Masalah

Adapun yang menjadi batasan masalah dalam penulisan tugas akhir ini adalah: 1. Metode kompresi yang digunakan adalah Huffman.

(18)

4. Aplikasi dikembangkan dengan bahasa pemrograman Visual Basic 6.0 dalam bentuk aplikasi desktop.

5. Penelitian ini hanya mengompresi video dan bukan audio.

1.4 Tujuan Penelitian

Adapun tujuan dari tugas akhir ini adalah:

1. Mengetahui proses kerja kompresi video digital dengan format MPcEG-4 dan FLV menggunakan algoritma Huffman.

2. Menghasilkan sebuah aplikasi kompresi video digital dengan format MPEG-4 dan FLV menggunakan algoritma Huffman dan mengetahui hasil perbandingan filevideo tersebut berdasarkan waktu dan ukurannya.

3. Mengetahui kelebihan dan kelemahan kompresi video digital dengan format MPEG-4 dan FLV menggunakan algoritma Huffman.

1.5 Manfaat Penelitian

Manfaat penelitian ini adalah:

1. Bagi penulis: Bermanfaat untuk menambah wawasan tentang video compression,sehingga dapat merancang perangkat lunak yang baik.

2. Bagi bidang ilmu: Bermanfaat untuk merancang perangkat lunak yang mampu mengkompresi file video dengan format MPEG-4 dan FLV menggunakan algoritma Huffman dan mengetahui hasil perbandingan file video tersebut berdasarkan waktu dan ukurannya.

3. Bagi masyarakat: Bermanfaat untuk mengembangkan ilmu pengetahuan, khususnya di bidang video compression.

1.6 Metodologi Penelitian

(19)

Mempelajari teori tentang kompresi video digital dengan format MPEG-4 dan FLV menggunakan algoritma Huffman dan mengumpulkan data dan semua teori yang berkaitan dengan penelitian, baik dari beberapa buku, makalah, jurnal, maupun penelitian terdahulu.

2. Analisis

Pada tahap ini dilakukan analisis kebutuhan terhadap sistem beserta batasan- batasan yang diperlukan :

1. Menganalisis cara kerja algoritma Huffman.

2. Kompresi file video menggunakan format MPEG-4 dan FLV dengan algoritma Huffman.

3. Membandingkan hasil kompresi file video antara format MPEG-4 dan FLV menggunakan algoritma Huffman.

3. Perancangan

Melakukan perancangan desain dalam bentuk struktur program, flowchart, dan antar muka sistem untuk memudahkan proses implementasi pada tahap selanjutnya.

4. Implementasi

Pada tahap ini dilakukan pembuatan sistem sesuai dengan analisis dan perancangan yang sudah didefinisikan sebelumnya. Implementasi sistem dilakukan dengan menggunakan bahasa pemrograman Visual Basic 6.0.

5. Pengujian Sistem

Pengujian dilakukan untuk mengetahui, perbandingan hasil kompresi file video antara MPEG-4 dan FLV yang lebih efisien menggunakan algoritma Huffman. 6. Penyusunan Laporan

(20)

1.7 Sistematika Penulisan

BAB 1 : PENDAHULUAN

Bab ini berisi pembahasan masalah umum yang meliputi latar belakang pemilihan judul skripsi, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.

BAB 2 : TINJAUAN PUSTAKA

Bab ini membahas mengenai teori-teori yang berfungsi sebagai sumber atau bahan dalam memahami permasalahan pada penelitian ini, yang berkaitan dengan pengertian video digital, kompresi file video, algoritma Huffman, dan sebagai alat bantu pengembangan sistem dan bahasa pemrograman Microsoft Visual Basic 6.0 yang akan digunakan pada penelitian ini.

BAB 3 : ANALISIS DAN PERANCANGAN SISTEM

Bab ini membahas mengenai analisis dan perancangan sistem, yakni analisis proses kompresi dan dekompresi menggunakan algoritma Huffman, dan penggunaannya pada perangkat lunak, serta perancangan antarmuka pada perangkat lunak yang dibuat. BAB 4 : IMPLEMENTASI DAN PEMBAHASAN

Bab ini membahas mengenai uraian tentang cara pengoperasian perangkat lunak, termasuk pengujian kompresi dan dekompresi file video menggunakan algoritma Huffman terhadap perangkat lunak yang dihasilkan. Serta pembahasan mengenai kelebihan dan kekurangan sistem tersebut.

BAB 5 : KESIMPULAN DAN SARAN

(21)

BAB 2

LANDASAN TEORI

2.1 Video Digital

Video adalah teknologi untuk menangkap, merekam, memproses, mentransmisikan dan menata ulang gambar bergerak. Biasanya menggunakan film seluloid, sinyal elektronik, atau media digital [3].

Video digital adalah berkas komputer yang digunakan untuk menyimpan kumpulan berkas digital seperti video, audio, metadata, informasi, pembagian chapter, dan judul sekaligus, yang dapat dimainkan atau digunakan melalui perangkat lunak tertentu pada komputer [7].

Untuk melakukan digitalisasi dan penyimpanan klip video full-motion selama 1 menit ke dalam komputer, harus dilakukan transfer data dalam jumlah banyak dalam waktu yang singkat. Untuk mereproduksi satu frame dari komponen video digital 24 bit, diperlukan data komputer hampir 1 MB; video tidak compressed dengan layar penuh selama 30 detik akan memenuhi hard disk bermuatan gigabyte. Video dengan ukuran penuh dan full-motion memerlukan komputer yang dapat mengirimkan data lebih kurang 30 MB per detik. Kemacetan teknologi yang besar dapat diatasi dengan menggunakan skema Digital video compressed atau codec (coder/decoder). Codec adalah algoritma yang digunakan untuk mengompresi (kode) sebuah video untuk dikirimkan, kemudian didecode secara langsung untuk pemutaran yang cepat. Codec yang berbeda dioptimasi untuk metode pengiriman yang berbeda [6].

(22)

ikut berpartisipasi dalam kejadian yang ditampilkan. Oleh sebab itu, suatu gambar harus dapat menyampaikan informasi spatial dan temporal dari suatu scene, yang dapat dilakukan dengan cara [7]:

1. Vertical Detail dan Viewing Distance

Aspek rasio adalah perbandingan lebar dan tinggi, yaitu 3:4. Tinggi gambar digunakan untuk menentukan jarak pandang dengan menghitung rasio viewing distance (D) dengan tinggi gambar (H) = D/H. Setiap detail image pada video ditampilkan dalam pixel-pixel.

2. Horizontal Detail dan Picture Width

Lebar gambar pada TV konvensional = 4/3 x tinggi gambar. 3. Total Detail Content

Resolusi vertikal = jumlah elemen pada tinggi gambar, Resolusi horizontal = jumlah elemen pada lebar gambar x aspek rasio. Total pixel = pixel horizontal x pixel vertikal.

4. Perception of Depth

Dalam pandangan / penglihatan natural, kedalaman gambar tergantung pada sudut pemisah antara gambar yang diterima oleh kedua mata. Pada layar flat, persepsi kedalam suatu benda berdasarkan subject benda yang tampak.

5. Warna

Gambar berwarna dihasilkan dengan mencampur 3 warna printer RGB (Merah, Biru, Hijau).

Properti warna pada sistem broadcast : a. Luminance

Brightness = jumlah energi yang menstimulasi mata grayscale (hitam/putih), Pada televisi warna luminance tidak diperlukan.

b. Chrominance adalah informasi warna.

Hue (warna) = warna yang ditangkap mata (frekuensi). Saturation = color strength (vividness) / intensitas warna. Cb = komponen U dan Cr = Komponen V pada sistem YUV.

6. Continuity of Motion

(23)

7. Flicker

Untuk menghindari terjadinya flicker diperlukan kecepatan minimal melakukan refresh 50 cycles/s.

2.2 Format Video Digital

VideoDigital terdiri dari urutan frame. Jika frame yang ditampilkan pada layar cukup cepat, kita akan mendapatkan kesan gambar yang bergerak. Alasannya adalah mata kita tidak dapat membedakan frame-frame yang bergerak dengan sangat cepat sebagai frame-frame yang terpisah. Belum ada jumlah standar frame per detik; di Amerika Utara jumlah frame yang umum adalah 25 frame per detik. Namun, untuk menghindari kondisi yang dikenal sebagai berkedip, frame perlu di refresh [5].

Sebuah video digital terdiri dari frame-frame yang mana frame-frame tersebut dikompres menjadi sebuah file komputer yang hanya dapat dijalankan menggunakan sebuah perangkat lunak multimedia player [7].

Berdasarkan bentuk-bentuk kompresan dari file video digital tersebut, banyak bermunculan format-format video digital yang ditawarkan kepada pengguna dengan kelebihan dan kekurangannya masing-masing. Adapun beberapa contoh dari format video digital yang sering dijumpai antara lain :

1. AVI (Audio Video Interleave)

AVI merupakan format berkas yang dibuat oleh Microsoft. Sebagian besar camcorder, baik analog maupun digital, menjadikan format ini sebagai format baku saat capture video. Format AVI memiliki berbagai pilihan metode compressor-decompressor (codec), antara lain: Cinepak, Indeo, Microsoft Video 1, Clear Video (IVI), dan lainnya. Setiap berkas AVI dapat menggunakan codec yang berbeda-beda. Akibatnya, jika pengguna ingin menjalankan suatu berkas AVI pada komputer sementara codec yang digunakan berkas AVI itu belum terinstal pada komputer, maka berkas tersebut tidak akan dapat dijalankan [4]. 2. MPEG (Motion Picture Expert Group)

(24)

a. Synchronization and multiplexing of video and audio. b. Compression codec for non-interlaced video signals. c. Compression codec for perceptual coding of audio signals.

MP1 or MPEG-1 Part 3 Layer 1 (MPEG-1 Audio Layer 1) MP2 or MPEG-1 Part 3 Layer 2 (MPEG-1 Audio Layer 2) MP3 or MPEG-1 Part 3 Layer 3 (MPEG-1 Audio Layer 3) d. Procedures for testing conformance.

e. Reference for testing conformace. f. Reference software.

MPEG-1 beresolusi 352 x 240 dan hanya mensupport progressive scan video. MPEG-2 digunakan untuk broadcast, siaran untuk direct-satelit dan cable tv. MPEG-2 support interlaced format. MPEG-2 digunakan dalam/pada HDTV dan DVD vidoe disc. MPEG-4 digunakan untuk streaming, CD distribution, videophone dan broadcast television. MPEG-4 mendukung digital rights management [10].

MPEG-4 adalah suatu metode untuk melakukan kompresi video. pada prinsipnya, sebuah gambar bergerak adalah sekumpulan frame yang mengalir dengan cepat, di mana setiap frame adalah gambar. dengan kata lain, sebuah frame adalah kombinasi pixel-pixel, dan sebuah video adalah kombinasi fisik dari frame-frame yang dikirim secara bergantian. Kompresi video berati memampatan tiap frame dalam ruang dan pemampatan secara fisik dari sekumpulan frame [5].

3. RMVB (Real Media Variable Bitrate)

(25)

4. MKV (Matroska Video)

MKV adalah salah satu format video yang mungkin sering dijumpai di internet. MKV merupakan alternatif format video selain beberapa format video Digital seperti AVI, MPEG, 3GP, RMVB dimana masing-masing memiliki sifat dan kualitas yang berlainan.

Format MKV biasanya digunakan untuk video dengan kualitas tinggi yang tidak semua PC mampu memutarnya dengan baik. Sebuah file video digital dalam format MKV memiliki beberapa bagian, yaitu :

a. Video b. Audio

c. Subtitle

Semua bagian ini terpisah, namun menjadi satu bagian didalam format MKV. Bagian-bagian ini nantinya akan digabungkan menggunakan sebuah codec MKV sehingga video Digital dalam format MKV ini dapat dibaca dan dijalankan menggunakan perangkat lunak multimedia player [10].

5. WMV (Windows Media Video)

WMV adalah adalah format file video terkompresi yang dikembangkan oleh Microsoft. WMV, awalnya dirancang untuk aplikasi Internet Streaming, sebagai pesaing untuk RealVideo. File video Digital dengan format WMV (*.wmv) menggunakan format pembawa ASF milik Microsoft. Berkas ini dapat dijalankan oleh perangkat lunak multimedia player seperti Windows Media Player, MPlayer, VLC media player atau Media Player Classic. Beberapa player pihak ketiga juga ada untuk berbagai platform seperti Linux yang menggunakan implementasi FFMPEG untuk codec WMV [10].

6. FLV

(26)

dengan pemutar musik seperti Winamp, Windows Media Player, dll. Berbeda dengan format MPEG, AVI, Mp3, dan lain-lain, bisa dengan mudah dimainkan dengan pemutar musik tersebut [10].

2.3 Kompresi Data

Kompresi berarti memampatkan atau mengecilkan ukuran. Sedangkan kompresi data adalah proses mengkodekan informasi menggunakan bit atau information-bearing unit yang lain yang lebih rendah daripada representasi data yang tidak terkodekan dengan suatu sistem encoding tertentu. Contoh kompresi sederhana yang biasa dilakukan misalnya adalah menyingkat kata-kata yang sering digunakan tapi sudah memiliki konvensi umum, misalnya : kata “yang” dikompres menjadi kata “yg’’ [1].

Pengiriman data hasil kompresi dapat dilakukan jika pihak pengirim atau yang melakukan kompresi dan pihak penerima memiliki aturan yang sama dalam hal kompresi data. Pihak pengirim harus menggunakan algoritma kompresi data yang sudah baku dan pihak penerima juga menggunakan teknik dekompresi data yang sama dengan pengirim sehingga data yang diterima dapat dibaca/di-decode kembali dengan benar [1].

Kompresi data menjadi sangat penting karena memperkecil kebutuhan penyimpanan data, mempercepat pengiriman data, memperkecil kebutuhan bandwidth. Teknik kompresi bisa dilakukan terhadap data teks/biner, gambar (JPEG, PNG, TIFF), audio (MP3, AAC, RMA, WMA), dan video (MPEG, H261, H263) [1].

Contoh kebutuhan data selama 1 detik pada layar resolusi 640 x 480 [1] : 1. Data Teks

1 karakter = 2 bytes (termasuk karakter ASCII Extended) Setiap karakter ditampilkan dalam 8x8 pixels

Jumlah karakter yang dapat ditampilkan per halaman =

8x8 480 x

640 = 4800

karakter.

(27)

2. Data Grafik Vektor

1 still image membutuhkan 500 baris, setiap 1 baris direpresentasikan dalam posisi horisontal, vertikal, dan field atribut sebesar 8-bit, Sumbu Horizontal direpresentasikan dengan log2 640 = 10 bits , Sumbu Vertikal direpresentasikan dengan log2 480 = 9 bits,Bits per line = 9 bits + 10 bits + 8 bits = 27 bits

Storage required per screen page = 500 × 27 8

= 1687,5 byte = 1,65 Kbyte

3. Color Display

Jenis : 256, 4.096, 16.384, 65.536, 16.777.216 warna Masing-masing warna pixel memakan tempat 1 byte

Misal 640 x 480 x 256 warna x 1 byte = 307.200 byte = 300 Kbyte.

2.3.1 Jenis-Jenis Kompresi Data

Jenis-jenis kompresi data dapat dibedakan atas [1] :

1. Jenis Kompresi Data Berdasarkan Mode Penerimaan Data oleh Manusia Jenis kompresi data ini dapat dibedakan atas :

a. Dialoque Mode, yaitu proses penerimaan data di mana pengirim dan penerima seakan berdialog (real time), seperti pada contoh video conference. Di mana kompresi data harus berada dalam batas penglihatan dan pendengaran manusia. Waktu tunda (delay) tidak boleh lebih dari 150 ms, di mana 50 ms untuk proses kompresi dan dekompresi, 100 ms mentransmisikan data dalam jaringan.

b. Retrieval Mode, yaitu proses penerimaan data tidak dilakukan secara real time. Pada jenis ini dapat dilakukan fast forward dan fast rewind di client atau dapat dilakukan random access terhadap data dan dapat bersifat interaktif.

2. Jenis kompresi berdasarkan output dapat dibedakan atas [5] : a. Lossy Compression

(28)

audio. Misalnya, penglihatan manusia tidak dapat mendeteksi beberapa distorsi kecil yang dapat hasil dari kompresi lossy dari suatu gambar.

b. Lossless compression

Dalam Lossless compresion, integritas data sangat terjaga karena algoritma kompresi dan dekompresi invers tepat satu sama lain: tidak ada bagian dari data yang hilang dalam proses. Metode kompresi lossless biasanya digunakan ketika kita tidak ingin kehilangan data apapun. Misalnya, kita tidak boleh kehilangan data ketika kita kompres file teks atau program aplikasi. Kompresi lossless juga diterapkan sebagai langkah terakhir dalam beberapa prosedur kompresi lossy untuk mengurangi ukuran data. Empat contoh metode kompresi lossless dalam bagian ini: run length coding, dictiinary coding, Huffman coding, dan arithmatic coding.

2.3.2 Kriteria dan Klasifikasi Teknik Kompresi Data

Adapun kriteria utama dari sebuah sistem yang bisa digunakan untuk kompresi data adalah sebagai berikut [1]:

1. Kualitas data hasil enkoding harus bisa membuat ukuran file lebih kecil dari file sumber, serta data tidak rusak untuk kompresi lossy.

2. Kecepatan, ratio, dan efisiensi proses kompresi dan dekompresi.

3. Ketepatan proses dekompresi data harus bisa membuat data hasil dekompresi tetap sama dengan data sebelum dikompres (kompresi loseless).

Sedangkan klasifikasi teknik kompresi data adalah sebagai berikut [1]: 1. Entropy Encoding

Teknik kompresi ini memiliki ciri-ciri sebagai berikut : a. Bersifat loseless

b. Tekniknya tidak berdasarkan media dengan spesifikasi dan karakteristik tertentu namun berdasarkan urutan data.

c. Statistical encoding, tidak memperhatikan semantik data.

d. Misalnya : Run-length coding, Huffman coding, Arithmetic coding 2. Source Coding

(29)

a. Bersifat lossy

b. Berkaitan dengan data semantik (arti data) dan media.

c. Misalnya : Prediction (DPCM, DM), Transformation (FFT, DCT), Layered Coding (Bit position, subsampling, sub-band coding), Vector Quantization. 3. Hybrid Coding

Teknik kompresi ini memiliki ciri-ciri sebagai berikut : a. Gabungan antara lossy + loseless

b. Misalnya JPEG, MPEG, H.261, DVI

2.3.3 Aplikasi Kompresi

Aplikasi kompresi data sudah banyak dijual dipasaran dalam berbagai bentuk format file. Adapun beberapa format file yang bisa digunakan untuk kompresi file, antara lain:

1. ZIP File Format

Oleh Phil Katz untuk program PKZIP kemudian dikembangkan untuk WinZip, WinRAR, 7-Zip. File hasil kompresi berekstensi *.zip dan MIME application/zip. Format ini dapat menggabungkan dan mengkompresi beberapa file sekaligus menggunakan bermacam-macam algoritma, namun paling umum menggunakan Katz’s Deflate Algorithm. Adapun beberapa method Zip yang sering digunakan adalah shrinking yang merupakan metode variasi dari LZW, reducing merupakan metode yang mengkombinasikan metode same byte sequence based dan probability based encoding imploding yang menggunakan metode byte sequence based dan Shannon-Fano encoding, deflate yang menggunakan LZW, Bzip2 dan lain-lain. AplikasiWinZip dibuat oleh Nico-Mak Computing [1].

2. RAR (bagian, 3.20)

(30)

2.3.4 Rasio Kompresi

Menurut David Salomon (2007), tingkat pengurangan data yang dicapai sebagai hasil dari proses kompresi disebut rasio kompresi. Rasio ini merupakan perbandingan antara panjang data string asli dengan panjang data string yang sudah dikompresi, seperti dituliskan dalam persamaan berikut:

�����= ��������������

���������������������

Jika dinyatakan dalam persentasemaka dituliskan dalam persamaan berikut:

� = ( 1−���������������������

�������������� ) × 100%

Yang berarti ukuran file berkurang sebesar P (dalam persentase) dari ukuran semula. Semakin tinggi rasio tingkat suatu teknik kompresi data maka semakin efektif teknik kompresi tersebut [11].

2.4 Algoritma Huffman

Algoritma Huffman, yang dibuat oleh seorang mahasiswa MIT bernama David Huffman pada tahun 1952, merupakan salah satu metode paling lama dan paling terkenal dalam pemampatan teks. Algoritma Huffman menggunakan prinsip pengkodean yang mirip dengan kode Morse, yaitu tiap karakter (simbol) dikodekan hanya dengan rangkaian beberapa bit, dimana karakter yang sering muncul dikodekan dengan rangkaian bit yang pendek dan karakter yang jarang muncul dikodekan.dengan rangkaian bit yang lebih panjang. Berdasarkan tipe peta kode yang digunakan untuk mengubah pesan awal (isi data yang diinputkan) menjadi sekumpulan codeword, algoritma Huffman termasuk kedalam kelas algoritma yang menggunakan metode statik [8].

(31)

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[13].

2.4.1 Pohon Huffman

Menurut Forouzan (2013), untuk menggunakan Huffman coding, pertama kita perlu membuat pohon Huffman. Pohon Huffman adalah pohon yang daun pohonnya adalah simbol. Dilakukan dengan cara simbol yang paling sering muncul adalah yang paling dekat dengan akar pohon (dengan jumlah minimum node ke akar) dan simbol lebih sedikit muncul adalah yang terjauh dari akar. Gambar 2.1 menunjukkan proses pembentukan pohon Huffman.

[image:31.595.105.496.410.683.2]

20 10 10 30 30 20 30 30 30 30

Gambar 2.1 Huffman Tree

1. Kita menempatkan seluruh set karakter berturut-turut. Masing-masing karakter sekarang menjadi simpul pada tingkat terendah dari pohon.

(32)

3. Kita ulangi langkah dua sampai semua node, pada setiap tingkat, digabungkan menjadi satu pohon.

4. Setelah pohon dibuat, kami menetapkan nilai bit untuk masing-masing cabang. Karena pohon Huffman adalah pohon biner, setiap node memiliki maksimum dua anak [5].

2.4.2 Coding Table

Menurut Forouzan (2013) setelah pohon telah dibuat, kita dapat membuat tabel yang menunjukkan bagaimana masing-masing karakter dapat di-encode dan decode. kode untuk setiap karakter dapat ditemukan dengan memulai pada akar dan mengikuti cabang yang mengarah pada karakter itu. Kode itu sendiri adalah nilai bit masing-masing di jalan cabang, diambil secara berurutan. Tabel 2.1 menunjukkan karakter kode untuk contoh sederhana berikut.

Tabel 2.1 Coding Table

Simbol Code

A 00

B 010

C 011

D 10

E 11

(33)

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

(34)

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:

[image:34.595.110.528.358.775.2]

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 Input/Output, menerima atau menampilkan

output

4 Seleksi/Pilihan, memilih aliran berdasarkan

syarat

5 Predefined-Data, definisi awal dari variabel

atau data

6 Predefined-Process, lambang fungsi atau

sub-program

(35)
[image:35.595.108.508.155.540.2]

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 File/Storage

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.

(36)

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.

(37)

2.6 Microsoft Visual Basic 6.0

Microsoft Visual Basic 6.0 (VB 6.0) merupakan salah satu aplikasi pemrograman visual yang dibuat Microsoft. Adapun beberapa kemampuan atau manfaat dari Visual Basic diantaranya [2] :

1. Untuk membuat program aplikasi berbasiskan windows.

2. Untuk membuat objek-objek pembantu program, seperti Control Active X, file Help, Aplikasi Internet dan sebagainya.

3. Menguji program (debugging) dan menghasilkan program akhir berakhiran “EXE” yang bersifat execuTabel atau dapat langsung dijalankan.

Keistimewaan utama dari Visual Basic adalah [2] :

1. Menggunakan platform pembuatan program yang diberi nama Developer Studio, yang memiliki tampilan seperti C++ dan Visual J++.

2. Memiliki kompiler handal yang dapat menghasilkan File ExecuTabel yang lebih cepat dan efisien.

3. Memiliki tambahan sarana wizard yang baru. Tambahan kontrol-kontrol baru dan lebih canggih serta peningkatan kaidah struktur bahasa visual basic.

4. Kemampuan membuat Active X dan fasilitas internet yang lebih banyak.

5. Sarana akses yang lebih cepat dan andal untuk membuat aplikasi database yang berkemampuan tinggi.

6. Visual Basic 6.0 memiliki beberapa versi baru edisi yang disesuaikan dengan kebutuhan pemakainya.

(38)

Adapun objek-objek yang dipergunakan dalam program ini adalah [2] : 1. Project

Project adalah sekumpulan modul. Jadi project merupakan aplikasi itu sendiri. Project disimpan dalam file yang berakhiran VBP. Jika akan melaksanakan pembuatan program aplikasi, akan terdapat jendela project yang berisi semua file yang dibutuhkan menjalankan program aplikasi Visual Basic 6.0. Gambar jendela project untuk pembuatan dan penyimpanan form dapat dilihat pada Gambar 2.3.

Gambar 2.3 Jendela Project

2. Form

Form adalah jendela yang dipakai untuk membuat user interface/tampilan. Secara otomatis akan tersedia form yang baru jika membuat suatu program aplikasi yang baru, dengan nama Form1. Jendela form seperti terlihat pada Gambar 2.4.

Gambar 2.4 Jendela Form

3. Toolbox

(39)
[image:39.595.252.381.127.251.2]

gambar toolbox yang ada pada Visual Basic 6.0, sebagaimana terlihat pada Gambar 2.5.

Gambar 2.5 Jendela Toolbox

4. Properties

[image:39.595.246.388.428.541.2]

Properties berisikan daftar struktur setting properti yang digunakan pada sebuah object terpilih. Kotak drop-down pada bagian atas jendela berisi daftar semua object pada form yang aktif. Ada tab tampilan, yaitu alphabetic (urut abjad) dan categorized (urut berdasarkan kelompok). Dibagian bawah kotak terdapat properti dari objek. Tampilan properties dapat dilihat pada Gambar 2.6.

Gambar 2.6 Jendela Properties

5. Kode Program

Kode program adalah serangkaian tulisan perintah yang akan dilaksanakan jika suatu objek dijalankan. Kode program ini akan mengontrol dan menentukan jalannya suatu objek.

6. Event

(40)

Private sub Command_Click ( ) ...

End sub

Kode program di atas menunjuikan penunjukan penggunaan event Click pada objek Command, maka baris-baris kode program yang ada dibawanya akan dilaksanakan.

7. Metode (Methods)

Metode adalah serangkaian perintah yang sudah tersedia pada suatu objek yang dapat diminta untuk mengerjakan tugas khusus. Contoh penggunaan metode adalah:

Private Sub From_Active ( ) Form1.Print ””

End Sub

Kode program di atas menunjukan penggunaan metode Print (mencetak) pada objek Form1 untuk mencetak tulisan “Microsoft Visual Basic 6.0”.

8. Modules

(41)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Pada bagian pembahasan ini, penulis akan menjelaskan analisis mengenai algoritma yang digunakan, fasilitas yang disediakan dalam perangkat lunak, serta cara kerja perangkat lunak yang akan dibuat.

3.1.1 Analisis Algoritma Huffman Pada Proses Kompresi dan Dekompresi

Metode yang digunakan untuk melakukan kompresi terhadap filevideo digital dengan format FLV dan MPEG-4 ini adalah algoritma Huffman. Algoritma ini diimplementasikan dengan cara membaca struktur file yang akan dikompresi, kemudian melakukan kompresi berdasarkan nilai bit yang diperoleh.

Adapun tahapan kompresi yang akan diimplementasikan berdasarkan cara kerja algoritma Huffman pada tugas akhir ini adalah sebagai berikut :

1. Membaca Nilai Bit File Yang Akan Dikompresi

Pada tahap ini, akan dilakukan pembacaan nilai bit dari file video digital yang akan dikompresi. Pembacaan nilai bit ini dilakukan dengan menggunakan syntax sebagai berikut :

Open FileName For Binary As #CompressionFile

Max = LOF(CompressionFile)

I = 1 Do

Get #CompressionFile, ReadPos, ByteString

I = I + 1

Looop Until I = Max

(42)

Syntax di atas akan melakukan pembacaan file video digital sebagai binary file. Selanjutnya, dilakukan penghitungan panjang file tersebut, yang hasilnya akan disimpan sebagai Max. Kemudian, dilakukan perulangan dari 1 sampai Max, untuk membaca posisi nilai bit (hasilnya disimpan sebagai ReadPos) dan nilai bit pada posisi ReadPos (hasilnya disimpan sebagai ByteString). Sebagai contoh, akan dilakukan pembacaan beberapa nilai bit dari sebuah file video digital, sebagaimana terlihat pada Gambar 3.1.

Gambar 3.1 Membaca Nilai Bit

Dari Gambar 3.1 di atas, diperoleh data nilai bit dari file video digital tersebut, yaitu : 181, 181, 201, 181, 178, 181, 227, 181, 63.

2. Mengurutkan Nilai Bit

Pada tahap ini, akan dilakukan proses pengurutan dari data nilai pada proses sebelumnya. Pengurutan ini dilakukan dalam bentuk Ascending (dari kecil ke besar). Dari data nilai bit pada proses sebelumnya, hasil pengurutan nilai bit yang diperoleh adalah sebagai berikut : 63, 178, 181, 181, 181, 181, 181, 201, 227. Agar lebih jelas, dituliskan kedalam bentuk tabel 3.1.

Tabel 3.1 Frekuensi Kemunculan Nilai Bit 63 178 181 201 227

Frekuensi 1 1 5 1 1

3. Melakukan Pengkodean Huffman

(43)

0 1

0 0

0 1

1 1

[image:43.595.192.438.136.294.2]

muncul adalah yang terjauh dari akar. Karena pohon Huffman adalah pohon biner, setiap node memiliki maksimum dua anak, kiri adalah 0, dan kanan adalah 1. ditunjukkan pada gambar 3.2.

Gambar 3.2 Pohon Huffman 181, 181, 201, 181, 178, 181, 227, 181, 63

Dengan menggunakan Pohon Huffman, di dapat hasil pengkodean Huffman seperti tabel 3.2.

Tabel 3.2 Hasil Pengkodean Huffman

63 178 181 201 227

Frekuensi 1 1 5 1 1

Kode Huffman 111 10 00 01 110

Storage = 1*3+1*2+5*2+1*2+1*3 = 20 Bits

4. Mengubah Nilai Bit Menjadi Bentuk Kode

Pada tahap ini, data nilai bit akan diubah menjadi bentuk kode Huffman. Data nilai bit yang diubah merupakan data nilai bit awal (bukan data nilai bit yang sudah mengalami proses pengurutan). Sebagai contoh, dari data nilai bit pada proses sebelumnya, bentuk kode Huffman dari data nilai bit tersebut seperti terlihat pada Tabel 3.3.

Tabel 3.3 Nilai Bit Dalam Kode Huffman Nilai Bit Kode Huffman

181 00

181 00

201 01

181 00

178 10

181 00

227 110

181 00

63 111

9

2 3

6

181: 5 201:1 178:1

(44)

Dari Tabel 3.3, diperoleh hasil akhir bentuk kode Huffman dari nilai bit pada contoh adalah sebagai berikut : 00000100100011000111.

5. Melakukan Kompresi String

Pada tahap ini, data nilai bit yang sudah berbentuk kode Huffman akan dikompresi menjadi bentuk string. Proses kompresi ini dilakukan dengan cara mengambil nilai desimal dari deret biner data nilai bit tersebut. Sebagai contoh, dari data nilai bit : 00000100100011000111, diperoleh nilai desimal sebesar 18631. Nilai desimal ini nantinya akan diubah menjadi bentuk string yang kemudian akan digunakan sebagai pengganti nilai bit dari filevideo digital awal. 6. Membentuk Header Kompresi

Pada tahap ini, akan dibentuk sebuah header kompresi yang berfungsi sebagai kamus untuk melakukan dekompresi terhadap data nilai bit. Proses pembentukan header ini dilakukan dengan menuliskan data nilai bit yang sudah diurutkan sebelumnya. Sebagai contoh, header kompresi untuk kompresi file video digital pada proses sebelumnya adalah data pada Tabel 3.2, yaitu 63178181201227.

7. Menyimpan Hasil Kompresi

Pada tahap ini, akan dibentuk sebuah file yang merupakan output dari proses kompresi file video digital pada proses sebelumnya. File ini dibentuk dengan menggunakan syntax sebagai berikut :

Open FileName For Append As #CompressFile

Print #CompressFile, Header, BlockString;

Close #CompressFile

Syntax di atas akan membentuk sebuah file kompresi dengan nama FileName, yang isinya terdiri dari nilai header kompresi (Header) dan data kompresi string (BlockString).

Sedangkan tahapan dekompresi yang akan diimplementasikan berdasarkan cara kerja algoritma Huffman pada tugas akhir ini adalah sebagai berikut :

1. Membaca Nilai Bit File Yang Akan Didekompresi

(45)

Open FileName For Binary As #DecompressionFile

Max = LOF(DecompressionFile)

I = 1 Do

Get #DecompressionFile, , ByteString

I = I + 1

Looop Until I = Max

Close #DecompressionFile

Syntax di atas akan melakukan pembacaan file video digital sebagai binary file. Selanjutnya, dilakukan penghitungan panjang file tersebut, yang hasilnya akan disimpan sebagai Max. Kemudian, dilakukan perulangan dari 1 sampai Max, untuk membaca nilai bit (hasilnya disimpan sebagai ByteString). Sebagai contoh, akan dilakukan pembacaan nilai bit dari file video digital hasil proses kompresi sebelumnya, yaitu nilai 18631.

2. Membaca Header Kompresi

Pada tahap ini, akan dilakukan pembacaan header kompresi dari file video digital yang akan dikompresi, untuk melihat urutan kompresi dari file tersebut. Proses ini dilakukan dengan menggunakan syntax sebagai berikut :

Open FileName For Binary As #DecompressionFile

Get #DecompressionFile, FileHeaderString

Close #DecompressionFile

Syntax diatas akan membuka filevideo digital yang akan dikompresi sebagai file binary, dan mengambil nilai header kompresi di dalamnya, yang kemudian disimpan ke dalam FileHeaderString. Sebagai contoh, hasil pembacaan header kompresi dari file video digital dari proses kompresi sebelumnya adalah nilai 63178181201227.

3. Melakukan Pengkodean Huffman

(46)
[image:46.595.245.387.108.194.2]

Tabel 3.4 Kode Huffman Dekompresi

Nilai Bit Kode Huffman

63 111

178 10

181 00

201 01

227 110

4. Mengubah Nilai Bit Menjadi Bentuk Biner

Pada tahap ini, data nilai bit akan diubah menjadi bentuk biner. Sebagai contoh, dari data nilai bit pada proses sebelumnya (18631) akan diubah menjadi bentuk biner, yaitu nilai 00000100100011000111.

5. Melakukan Dekompresi String

Pada tahap ini, data nilai bit yang sudah dalam bentuk biner akan dipetakan pada kode Huffman untuk memperoleh bentuk awal nilai bit sebelum dikompresi. Proses pemetaan ini dilakukan dengan cara membaca nilai bit dari posisi paling kiri hingga ditemukan nilai 0. Jika nilai 0 di temukan, akan di ambil nilai dari posisi awal sampai nilai yang sudah dipetakan sebelumnya, dan di lihat kode Huffman penganti untuk nilai tersebut. Sebagai contoh, data nilai bit : 00000100100011000111, akan dipetakan pada kode Huffman yang hasilnya seperti terlihat pada Tabel 3.5.

Tabel 3.5 Pemetaan Nilai Bit

Nilai Bit Kode Huffman

00 181

00 181

01 201

00 181

10 178

00 181

110 227

00 181

111 63

[image:46.595.252.381.502.640.2]
(47)

6. Menyimpan Hasil Dekompresi

Pada tahap ini, akan dibentuk sebuah file yang merupakan output dari proses dekompresi filevideo digital pada proses sebelumnya. File ini dibentuk dengan menggunakan syntax sebagai berikut :

Open FileName For Append As #DecompressFile

Print # DecompressFile, BlockString;

Close # DecompressFile

Syntax di atas akan membentuk sebuah file kompresi dengan nama FileName, yang isinya adalah nilai bit hasil dekompresi (BlockString).

3.1.4 Analisis Fasilitas Perangkat Lunak

Untuk mencapai tujuan awal penelitian, yaitu sebuah aplikasi yang dapat melakukan kompresi dan dekompresi terhadap filevideo digital dalam format FLV dan MPEG-4 serta menganalisa perbedaan hasil yang diperoleh, penulis merancang beberapa fasilitas yang akan tersedia pada perangkat lunak ini, yaitu :

1. Fasilitas Pemilihan FileVideo Digital

Melalui fasilitas ini, user dapat memilih filevideo digital yang akan digunakan sebagai media awal yang akan disisipi oleh media citra digital. Penulis menggunakan common dialog box control untuk melakukan pemilihan filevideo digital yang diinginkan user. Penulis membatasi pemilihan pada file dengan format FLV dan MPEG-4 agar tidak menimbulkan error yang tidak diinginkan pada proses-proses berikutnya.

2. Fasilitas Untuk Melakukan Kompresi dan Dekompresi FileVideoDigital

Melalui fasilitas ini, user dapat melakukan kompresi terhadap file video digital yang diinginkannya. User juga dapat melakukan dekompresi terhadap file video digital yang sudah dikompresi sebelumnya.

3. Fasilitas Untuk Menampilkan Informasi Hasil Proses

(48)

3.1.5 Analisis Cara Kerja Perangkat Lunak

Berdasarkan hasil analisa terhadap metode yang digunakan, maka penulis melakukan analisa terhadap cara kerja perangkat lunak yang akan dirancang. Adapun cara kerja dari proses kompresi file video digital melalui perangkat lunak ini adalah sebagai berikut :

1. Membaca FileVideoDigital

Proses pertama dari cara kerja perangkat lunak ini adalah melakukan pembacaan terhadap file video digital yang dipilih sebagai media awal. Proses ini bertujuan untuk menghasilkan informasi jumlah nilai bit yang ada di dalam file serta data nilai bit pada file tersebut.

2. Melakukan Kompresi FileVideoDigital

Proses selanjutnya adalah melakukan kompresi terhadap file video digital tersebut. Menggunakan proses berdasarkan hasil analisa sistem sebelumnya, sistem akan melakukan kompresi terhadap seluruh nilai bit pada file video digital tersebut.

3. Menyimpan Hasil Kompresi

Proses selanjutnya adalah meyimpan hasil kompresi file video digital sesuai dengan pilihan lokasi file penyimpanan yang diinginkan user dan menuliskan header.

Sedangkan cara kerja dari proses dekompresi file video digital melalui perangkat lunak ini adalah sebagai berikut :

1. Membaca FileVideoDigital

Proses pertama dari cara kerja perangkat lunak ini adalah melakukan pembacaan terhadap file video digital yang dipilih sebagai media awal. Proses ini bertujuan untuk menghasilkan informasi jumlah nilai bit yang ada di dalam file serta data nilai bit pada file tersebut.

2. Membaca Header Kompresi

Proses selanjutnya adalah membaca header kompresi dari filevideo digital yang akan didekompresi.

(49)

Proses selanjutnya adalah melakukan dekompresi terhadap file video digital tersebut. Menggunakan proses berdasarkan hasil analisa sistem sebelumnya, sistem akan melakukan dekompresi terhadap seluruh nilai bit pada file video digital tersebut.

4. Menyimpan Hasil Dekompresi

Proses selanjutnya adalah meyimpan hasil dekompresi file video digital sesuai dengan pilihan lokasi file penyimpanan yang diinginkan user.

3.1.5.1 Diagram Alir Cara Kerja Perangkat Lunak

[image:49.595.243.362.379.657.2]

Dalam melakukan analisis cara kerja proses ini, penulis menggunakan diagram alir (flowchart) untuk menjelaskan proses kerja dari perangkat lunak yang dirancang. Adapun bentuk flowchart proses kerja kompresi file video digital melalui perangkat lunak ini seperti terlihat pada Gambar 3.3.

Gambar 3.3 Flowchart Proses Kompresi

START

Pilih File Video

Digital Konverter

Bentuk Kode Huffman

Kompresi File

Baca Nilai Bit Video Digital Konverter

Pilih Lokasi Penyimpanan

Simpan Hasil Kompresi

(50)
[image:50.595.271.362.129.511.2]

Sedangkan bentuk flowchart dari proses dekompresi file video digital melalui perangkat lunak ini seperti terlihat pada Gambar 3.4.

Gambar 3.4 Flowchart Proses Dekompresi

Selain perancangan proses kerja kompresi dan dekompresi pada perangkat lunak yang dirancang, penulis juga melakukan perancangan terhadap alur program secara umum, seperti terlihat pada Gambar 3.5.

START

Pilih File Video

Digital

Bentuk Kode Huffman

Dekompresi

File

Baca Nilai Bit Video Digital

Pilih Lokasi Penyimpanan

Simpan Hasil Dekompresi Baca Header

Kompresi

Ubah Nilai Bit Menjadi Biner

(51)
[image:51.595.144.468.80.410.2]

Gambar 3.5 Flowchart Program

3.2 Perancangan Sistem

Perancangan sistem bertujuan untuk membantu memvisualisasikan hasil kompresi atau dekompresi yang telah diproses. Adapun perancangan sistem yang dibuat dapat membantu memudahkan interaksi manusia dengan komputer. Antarmuka sistem yang dibangun harus mudah dimengerti dan digunakan, sehingga mampu digunakan oleh berbagai kalangan.

Antar muka yang penulis rancang terdiri dari dua buah form yaitu form Utama dan form About. Adapun bentuk dari rancangan form Utama yang penulis rancang seperti terlihat pada Gambar 3.6.

START

Input Pilihan

Load File Input Video File InTampilkan formasi File

Kompres File Kompresi Proses File Tampilkan Hasil Kompresi

Dekompres File Dekompresi Proses File Tampilkan Hasil Dekompresi

Simpan File Penyimpanan Input Lokasi Tampilkan Hasil Penyimpanan

Tutup Aplikasi

END

Y

Y

Y

Y

(52)
[image:52.595.164.494.83.335.2]

Gambar 3.3 Rancangan Form Main Gambar 3.6 Rancangan Form Main

[image:52.595.125.495.431.678.2]

Form About merupakan form yang penulis rancang untuk menampilkan data perancang perangkat lunak. Bentuk tampilan form About seperti terlihat pada Gambar 3.7.

Gambar 3.4 Rancangan Form About

Gambar 3.7 Rancangan Form About

Kompresi MPEG dan FLV Dengan Metode Huffman X

Browse

Hasil Proses File

Waktu Proses

Kompresi File Dekompresi File

Ukuran File KB

Save

Exit About

Perangkat Lunak Kompresi FLV dan MPEG Dengan Algoritma Huffman

Nuzul Sakinah Lubis 081401056

Program Studi S-1 Ilmu Komputer FASILKOM-TI

Universitas Sumatera Utara

(53)

BAB 4

IMPLEMENTASI DAN PEMBAHASAN

4.1 Implementasi

Perangkat lunak yang dirancang, selanjutnya di implementasikan kedalam bahasa pemrograman Visual Basic 6.0 yang menghasilkan tampilan aplikasi agar dapat dipergunakan oleh user yang ingin melakukan kompresi dan dekompresi file video digital dengan algoritma Huffman.

4.1.1 Tampilan Antarmuka Perangkat Lunak

Perangkat lunak dirancang sesederhana mungkin untuk memudahkan pengguna dalam menggunakan perangkat lunak. Tampilan antarmuka perangkat lunak hanya terdapat dua form, yaitu form utama dan formabout.

4.1.1.1 Tampilan Form Utama

(54)
[image:54.595.173.461.81.301.2]

Gambar 4.1 Tampilan Form Utama

4.1.1.2 Tampilan Form About

Tampilan Form about merupakan tampilan yang muncul jika pengguna menekan tombol about pada Form utama. Adapun tampilan Form about seperti ditunjukkan pada Gambar 4.2.

[image:54.595.196.438.450.682.2]
(55)

4.1.2 Pengujian Sistem

Setelah mendapatkan hasil tampilan perangkat lunak, selanjutnya dilakukan pengujian terhadap sistem tersebut. Adapun metode pengujian sistem yang penulis lakukan adalah metode statis (static technique) dimana pengujian dibagi dalam beberapa tahapan, sebagai berikut :

1. Menetapkan Parameter Pengujian

Adapun parameter pengujian yang penulis gunakan dalam pengujian sistem ini adalah sebagai berikut :

a. Kestabilan Sistem

Parameter ini digunakan untuk menguji apakah sistem masih mengalami error pada saat dieksekusi atau pada saat melakukan proses kompresi dan dekompresi.

b. Ketepatan Hasil

Parameter ini digunakan untuk menguji apakah sistem telah dapat melakukan kompresi pada file video digital dan mengembalikannya pada bentuk sebelumnya melalui proses dekompresi.

2. Menyiapkan Perangkat Pengujian

[image:55.595.245.418.516.746.2]

Dalam tahap ini, penulis menyiapkan dua file video digital dengan nama file monty.mp4 dan monty.flv dengan informasi file sebagaimana ditunjukkan pada Gambar 4.3 sampai Gambar 4.4.

(56)
[image:56.595.231.429.82.352.2]

Gambar 4.4 Informasi File monty.flv

3. Melakukan Pengujian Kompresi File MPEG-4

Dalam tahap ini, penulis melakukan pengujian kompresi file video digital dengan format MPEG. Tahap pertama dalam pengujian ini adalah memilih file monty.mp4 untuk di load melalui perangkat lunak, sebagaimana terlihat pada Gambar 4.5.

[image:56.595.153.510.502.729.2]
(57)
[image:57.595.188.475.169.380.2]

Selanjutnya, dilakukan penekanan tombol Kompresi File pada Form Utama untuk melanjutkan proses kompresi terhadap file tersebut. Hasil yang diperoleh dari proses ini adalah munculnya informasi hasil kompresi file, sebagaimana terlihat pada Gambar 4.6.

Gambar 4.6 Informasi Hasil Kompresi monty.mp4

Langkah berikutnya, dilakukan penekanan tombol Save pada Form Utama untuk menyimpan hasil kompresi menjadi bentuk file. Dalam pengujian ini, file hasil kompresi akan disimpan pada lokasi “D:\Huffman (MPEG FLV)\Video” dengan nama file kompres1.MPEG, seperti terlihat pada Gambar 4.7.

Gambar 4.7 Menyimpan Hasil Kompresi Dengan Nama kompres1.MPEG

[image:57.595.145.507.504.635.2]
(58)
[image:58.595.217.417.80.351.2]

Gambar 4.8 Informasi File kompres1.MPEG

4. Melakukan Pengujian Kompresi File FLV

Dalam tahap ini, penulis melakukan pengujian kompresi file video digital dengan format FLV. Tahap pertama dalam pengujian ini adalah memilih file monty.flv untuk di load melalui perangkat lunak, sebagaimana terlihat pada Gambar 4.9.

[image:58.595.151.508.498.730.2]
(59)

Selanjutnya, dilakukan penekanan tombol Kompresi File pada Form Utama untuk melanjutkan proses kompresi terhadap file tersebut. Hasil yang diperoleh dari proses ini adalah munculnya informasi hasil kompresi file, sebagaimana terlihat pada Gambar 4.10.

Gambar 4.10 Informasi Hasil Kompresi monty.flv

[image:59.595.188.475.168.379.2]

Langkah berikutnya, dilakukan penekanan tombol Save pada Form Utama untuk menyimpan hasil kompresi menjadi bentuk file. Dalam pengujian ini, file hasil kompresi akan disimpan pada lokasi “D:\Huffman (MPEG FLV)\Video” dengan nama file kompres2.flv, seperti terlihat pada Gambar 4.11.

Gambar 4.11 Menyimpan Hasil Kompresi Dengan Nama Kompres2.flv

(60)
[image:60.595.218.416.81.351.2]

Gambar 4.12 Informasi File kompres2.flv

5. Melakukan Pengujian Dekompresi File MPEG-4

Dalam tahap ini, penulis melakukan pengujian dekompresi file video digital dengan format MPEG. Tahap pertama dalam pengujian ini adalah memilih file kompres1.MPEG untu

Gambar

Gambar 2.1 Huffman Tree
Tabel 2.2 Simbol Program Flowchart
Tabel 2.3 Simbol Sistem Flowchart
Gambar 2.6 Jendela Properties
+7

Referensi

Dokumen terkait

Dengan dibangunnya sistem informasi akademik dengan RFID berbasis SMS Gateway di SMK Muhammadiyah 2 Boja ini orang tua/wali murid dapat ikut memantau perkembangan

Dari hasil penelitian yang telah dilakukan dapat disimpulkan bahwa perlakuan level suhu pengovenan menunjukkan pengaruh berbeda sangat nyata terhadap nilai

Bahwa, pemeriksaan tersebut dilakukan dengan cara melihat dan menghitung barang, menyesuaikan barang dengan berita acara penerimaan barang yang berlokasi di SMAN 1 Tanjung Raja

Jenis tanah ini berasal dari bahan induk organik seperti dari hutan rawa atau rumput rawa, dengan ciri dan sifat: tidak terjadi deferensiasi horizon secara jelas, ketebalan lebih

Menurut pasal 1 point (1) Undang-Undang RI., Nomor 23 Tahun 2004, yang dimaksud dengan kekerasan dalam rumah tangga adalah: Setiap perbuatan terhadap seseorang perempuan

I ndofood Sukses Makm ur ( I NDF) akan m engerek har ga t epung t erigu karena sej ak Mei 2018 harga t epung t elah naik 10% sebagai dam pak kenaikan harga gandum di pasar global

yaitu dengan cara memberikan jasa pelayanan sesuai dengan yang diharapkan oleh pelanggan.. Kualitas pelayanan mempunyai hubungan yang erat dengan tingkat kepuasan

(Perairan Timur L.Jawa). Tingkat pengusahaan ikan Layang di Laut Jawa sudah mengalami overfishing. Berdasarkan daerah penangkapan, estimasi penghitungan MSY sumberdaya