• Tidak ada hasil yang ditemukan

Implementasi dan Analisis Algoritma Kompresi Ternary Comma Code Dalam Kompresi File Text Pada Platform Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi dan Analisis Algoritma Kompresi Ternary Comma Code Dalam Kompresi File Text Pada Platform Android"

Copied!
94
0
0

Teks penuh

(1)

LISTING PROGRAM

(2)

}

(3)

cs = sb.toString(); }

public static String string2stb(String st, String c, String[] s) { StringBuffer stb = new StringBuffer();

(4)

}

public static String decode(String code) { StringBuffer sb = new StringBuffer();

(5)
(6)

freq = fr; charset = cs;

tccc = new String[t]; for (int i = 0; i < t; i++) tccc[i] = dec2tcc(i); }

public static String proses_dekompresi (String AlamatFileKompresi, String NamaFileDekompresi){

long startTime = System.currentTimeMillis();

String h = readFromFile(AlamatFileKompresi); String dekom = dekompresi(h);

tulis(dekom, NamaFileDekompresi);

long endTime = System.currentTimeMillis(); long totalTime = endTime - startTime;

return "Decompression. Time = "+totalTime + " ms"; }

public static void tulis(String tulis, String nama_file){ try {

String content = tulis;

(7)

File file = new File(root, nama_file);

(8)

while ((content = fis.read()) != -1) {

public static String dekompresi(String stb){ String sc = bacaFHD();

String namafile = "header2.txt";

(9)

tccc = (String[]) oos.readObject(); System.out.println(Arrays.toString(tccc));

System.out.println("=======================\n");

public static String BacaPlain(String namafile){ String baca = "";

(10)
(11)

String stb = string2stb(st, cs, tccc);

public String prosesTCC(String namafile, String nama_file_kompresi) { String bits = "";

String str = BacaPlain(namafile);

(12)

+" ================= \n"

public static void buatFH( String sFileName, String sBody){ Environment.getExternalStorageState();

(13)

e.printStackTrace(); }

}

public static void buatFH2( String sFileName, String sBody){ Environment.getExternalStorageState();

File root = new File(Environment.getExternalStorageDirectory(), "header"); if (!root.exists()) {

(14)

try {

@TargetApi(Build.VERSION_CODES.KITKAT) private static String readFromFile(String fileName) { String ret = "";

(15)

CURRICULUM VITAE

PERSONAL DATA

EDUCATION

Bachelor of Computer Science

2014-2016 : Universitas Sumatera Utara, Medan

Diploma of Informatics Engineering

2011-2014 : Universitas Sumatera Utara, Medan

Higher Secondary Education

2008-2011 : SMA Negeri 2 Binjai

Secondary Education

2005-2008 : SMP Ahmad Yani Binjai

Primary Education

1999-2005 : SD Ahmad Yani Binjai

Full Name : Siti Soendari Utami

Nick Name : Tami

Place/ Date of Birth : Binjai/ 27 Desember 1992

Sex : Perempuan

Religion : Islam

Address : Perm. Cekapung Indah No. 38 Binjai

(16)

DAFTAR PUSTAKA

Antonopoulos, C.P. & Voros, N.S. 2015. Resource Efficient Data Compression Algorithms For Demanding, WSN Based Biomedical, Applications. Journal Of Biomedical Informatics. Vol: 59(1): 1-14.

Cormen, T. H, et al. 2009. Introduction To Algorithms 3rd Ed. The MIT Press: London.

EMS, Tim. 2015. Pemrograman Android Dalam Sehari. PT Elex Media Komputindo: Jakarta.

Erdiansyah, U. 2014. Perbandingan Algoritma Elias Delta Code Dengan Levenstein Untuk Kompresi File Teks. Skripsi. Universitas Sumatera Utara.

Hartono, T. B. 2007. Agoritma Dan Pemograman, Skripsi : Universitas Narotama Surabaya.

Levitin, A. 2011. Introduction to the Design and Analysis of Algorithm 3rd Edition. United States of America. Pearson Education,Inc.

Pramilo, C. 2008. Studi Perbandingan Algoritma Huffman Dan LZW (Lempel Ziv Welch) Pada Pemampatan File Teks. Skripsi. Unversitas Sumatera Utara. Putra, D. 2010. Pengolahan Citra Digital. Yogyakarta: Penerbit ANDI.

Purnomo, H. & Zacharias, T. 2005. Pengenalan Informatika Perspektif Teknik Dan Lingkungan. Yoyakarta: Andi.

Purwanto, E. B. 2008. Perancangan & Analisis Algoritma. Graha Ilmu : Yogyakarta. Salomon, D. 2007. Variable-Length Codes for Data Compression. Springer. United

States of America.

Salomon, D. & Motta, G. 2010. Handbook of Data Compression 5thEdition. Springer. United States of America.

Sayood, K. 2005. Introduction to Data Compression.3rd edition. Morgan Kaufmann: San Fransisco.

(17)

Solihin, M. 2013. Perancangan Sistem Pengamanan Dan Kompresi Data Teks Dengan Fibonacci Encoding dan Algoritma Shannon-Fano Serta Algoritma

Deflate. Skripsi. Universitas Sumatera Utara.

(18)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini penulis memaparkan analisis permasalahan yang diangkat dan disajikan dengan diagram dan flowchart serta dipaparkan juga perancangan sistem yang akan dibangun, baik yang berupa perangkat keras ataupun perangkat lunak dan cara melakukan pengujian.

3.1. Analisis Sistem

Analisis sistem merupakan proses mengidentifikasi dan mendefinisikan masalah pada sebuah sistem untuk mengetahui kebutuhan apa saja yang diperlukan sistem untuk berjalan sesuai dengan tujuannya. Dalam menganalisis sistem terdapat beberapa langkah yang harus dilakukan sebagai berikut :

3.1.1. Analisis Masalah

Tahap identifikasi masalah dilakukan untuk mengetahui apa yang menjadi alasan dibangunnya suatu sistem sehingga sistem tersebut dapat berjalan sesuai dengan tujuannya. Dalam penelitian ini yang akan dibahas adalah bagaimana cara kerja algoritma Ternary Comma Code dalam mengkompresi file teks dengan menggunakan analisis kompresi. File teks yang akan digunakan dalam penelitian ini adalah file *.txt. Identifikasi masalah pada penelitian ini adalah sebagai berikut :

1. Man

Manusia suka mengumpulkan data dalam jumlah besar.

2. Method

(19)

3. Material

Kecenderungan mengumpulkan data mengakibatkan penggunaan memori yang boros. File teks yang cenderung memiliki redundancy membuat penggunaan memori kurang maksimal.

4. Machine

Terdapat banyak software untuk mengkompresi data, namun belum ada yang optimal dalam melakukan kompresi berbagai tipe data.

Identifikasi masalah pada sistem yang dirancang dapat digambarkan dalam Diagram Ishikawa seperti pada Gambar 3.1.

Gambar 3.1. Diagram Ishikawa Analisis Masalah

3.1.2. Analisis Kebutuhan Sistem

Untuk membangun sebuah sistem, perlu dilakukan sebuah tahap analisis kebutuhan sistem. Analisis kebutuhan sistem dapat dikelompokkan menjadi 2 bagian yaitu :

kebutuhan fungsional dan kebutuhan non-fungsional.

1. Kebutuhan fungsional adalah fungsi-fungsi yang harus dipenuhi pada aplikasi yang dirancang. Kebutuhan fungsional yang harus dipenuhi aplikasi yang dirancang adalah sebagai berikut :

(20)

b. Sistem harus mampu melakukan kompresi data menggunakan algoritma Ternary Comma Code secara sempurna.

c. Sistem harus mampu melakukan dekompresi dengan algoritma secara Ternary Comma Code sempurna.

d. Sistem harus mampu menghitung yaitu Ratio of Compression (RC),

Compression Ratio (CR), Space Savings (SS) dan waktu proses (ms) pada

proses kompresi.

e. Sistem harus mampu menghitung waktu proses pada saat dekompresi.

f. Sistem harus mampu menyimpan file dekompresi dalam ekstensi file yang berbeda dengan ekstensi file asli.

2. Kebutuhan non-fungsional adalah kebutuhan yang harus dipenuhi agar aplikasi yang dirancang mendapat umpan-balik yang baik dari pengguna aplikasi. Kebutuhan non-fungsional yang harus dipenuhi aplikasi yang dirancang adalah sebagai berikut :

a. Performa

Sistem harus mampu melaksanakan setiap tugas secara utuh dalam selang waktu yang tidak terlalu lama sesuai dengan ukuran data input yang diberikan. b. Informasi

Sistem harus mampu menyediakan informasi tentang data-data yang akan digunakan pada sistem.

c. Ekonomi

Sistem harus dapat bekerja dengan baik tanpa harus mengeluarkan biaya tambahan dalam penggunaan perangkat keras maupun perangkat lunak.

d. Kontrol

Sistem yang telah dibangun harus tetap dikontrol setelah selesai dirancang agar fungsi dan kinerja sistem tetap terjaga dan dapat memberikan hasil yang sesuai dengan keinginan pengguna.

(21)

f. Pelayanan

Sistem yang telah dirancang bisa dikembangkan ke tingkat yang lebih kompleks lagi bagi pihak-pihak yang ingin mengembangkan sistem tersebut.

3.1.3. Analisis Proses

Tujuan dari tahap analisis proses adalah mengetahui tahapan dan cara kerja dari sistem yang digunakan secara spesifik. Analisis proses dilakukan pada tahapan pemodelan sistem. Hal ini dilakukan guna mengetahui apa saja yang harus dilakukan oleh sistem sehingga dengan mudah melakukan pemrograman pada sistem yang akan dibangun. Dalam sistem ini terdapat dua proses utama yaitu proses kompresi dan dekompresi dengan menggunakan metode algoritma Ternary Comma Code, dan proses menghitung parameter pembanding Ratio of Compression (RC), Compression Ratio (CR), dan Space Savings (SS).

a. Analisis Proses Kompresi Text File menggunakan Algoritma Ternary Comma Code

Berikut ini merupakan contoh kompresi menggunakan Algoritma Ternary Comma Code

Ada sebuah text file yang berisi string :

SITI SOENDARI UTAMI Penyelesaian :

Hitung frequency dan bit dari string sebelum dikompresi

Σ TCC = {0, 1, 2}

String = “SITI SOENDARI UTAMI”

|String| = 19

(22)

Tabel 3.1 Character Set

(23)

Setelah menghitung data sebelum dikompresi, dari tabel tadi dilakukan kompresi menggunakan Algoritma Ternary Comma Code, dengan mengkodekan karakter yang muncul berdasarkan urutan kemunculannya.

I diurutan pertama kemudian dikodekan dengan C S diurutan kedua kemudian dikodekan dengan 1c T diurutan ketiga kemudian dikodekan dengan 2c A diurutan keempat kemudian dikodekan dengan 10c Sp diurutan kelima kemudian dikodekan dengan 11c E diurutan keenam dikodekan dengan 12c

N diurutan ketujuh dikodekan dengan 20c D diurutan kedelapan dikodekan dengan 21c O diurutan kesembilan dikodekan dengan 22c R diurutan kesembilan dikodekan dengan 100c U diurutan kesembilan dikodekan dengan101c M diurutan kesembilan dikodekan dengan 102c

Kemudian jumlah bit dari karakter yang dikodekan dikalikan dengan frequency kemunculan dari karakter tersebut.

I yang dikodekan dengan C mempunyai 1 trit dan frequency kemunculan sebanyak 4 kali, maka trit x frequency = 4

S yang dikodekan dengan 1c mempunyai 2 trit dan frequency kemunculan sebanyak 2 kali, maka trit x frequency = 4

T yang dikodekan dengan 2c mempunyai 2 trit dan frequency kemunculan sebanyak 2 kali, maka trit x frequency = 4

(24)

Sp yang dikodekan dengan 11c mempunyai 3 trit dan frequency kemunculan sebanyak 2 kali, maka trit x frequency = 6

E yang dikodekan dengan 12c mempunyai 3 trit dan frequency kemunculan sebanyak 1 kali, maka trit x frequency = 3

N yang dikodekan dengan 20c mempunyai 3 trit dan frequency kemunculan sebanyak 1 kali, maka trit x frequency =3

D yang dikodekan dengan 21c mempunyai trit dan frequency kemunculan sebanyak 1 kali, maka trit x frequency = 3

O yang dikodekan dengan 22c mempunyai 3 trit dan frequency kemunculan sebanyak 1 kali, maka trit x frequency = 3

R yang dikodekan dengan 100c mempunyai 4 trit dan frequency kemunculan sebanyak 1 kali, maka trit x frequency = 4

U yang dikodekan dengan 101c mempunyai 4 trit dan frequency kemunculan sebanyak 1 kali, maka trit x frequency = 4

M yang dikodekan dengan 102c mempunyai 4 trit dan frequency kemunculan sebanyak 1 kali, maka trit x frequency = 4

Kemudian setiap hasil perkalian dari trit dan frequency dijumlahkan,

I + S + T + A + Sp + E + N + D + O + R + U + M = 4 + 4 + 4 + 6 + 6 + 3 + 3 + 3 + 3 + 4 + 4 + 4 = 48

(25)

Tabel 3.3 String yang telah dikompresi dengan Ternary Comma Code Compression (RC), Compression Ratio (CR), dan Space Saving (SS).

(26)

c. Analisis Proses Dekompresi Text File menggunakan Algoritma Ternary Comma Code

Setelah file teks dikompresi maka akan menghasilkan file baru yang berisi informasi berupa tabel karakter dan tabel kode Ternary Comma Code yang digunakan serta string trit hasil proses kompresi. Proses dekompresi dilakukan dengan cara membaca

string trit dari indeks 1 sampai ke indeks dari panjang string trit tersebut. Setiap satu indeks pembacaan string trit dicek pada tabel kode Ternary Comma Code apakah cocok atau sama, jika cocok maka ditulislah karakter pada tabel karakter dengan indeks yang sama pada tabel kode Ternary Comma Code tersebut. Berikut ini adalah contoh proses dekompresi dari file hasil kompresi pada Tabel 3.3.

3.2. Pemodelan Sistem

Pemodelan sistem adalah penggambaran bagian-bagian atau komponen-komponen yang terdapat dalam sistem yang akan dirancang sesuai dengan spesifikasi dan kebutuhan sistem tersebut. Pada penelitian ini proses pemodelan sistem akan dilakukan dengan menggunakan Use-Case Diagram, Activity Diagram, Sequence Diagram dan Flowchart.

3.2.1. Use Case Diagram

(27)

Gambar 3.2. Use Case Diagram Sistem

Use case pada gambar 3.2 menjelaskan aksi yang dapat dilakukan oleh user, user dapat memilih file, melakukan kompresi data, dekompresi data dan menyimpan file baru yang telah dikompresi. Setelah user melakukan kompresi maka akan ditampilkan informasi hasil kompresi dan user dapat menghapus informasi tersebut. Pada proses dekompresi user membuka file hasil kompresi, kemudian menentukan direktori untuk file hasil dekompresi, dan user dapat melakukan dekompresi.

3.2.2. Activity Diagram

(28)

1. Activity Diagram proses Kompresi

Pada proses kompresi, aktivitas yang berlangsung dapat digambarkan pada Activity diagram sebagai berikut.

Gambar 3.3. Activity Diagram Proses Kompresi

2. Activity Diagram proses Dekompresi

(29)

Gambar 3.4. Activity Diagram Proses Dekompresi

3.2.3. Sequence Diagram

Sequence Diagram adalah bentuk pemodelan sistem yang menggambarkan hubungan antar objek atau objek yang saling berinteraksi melalui pesan dalam eksekusi. Diagram ini mengilustrasikan bagaimana pesan dikirim dan diterima diantara objek dan diurutan yang mana. Sequence Diagram untuk sistem yang dirancang pada penelitian ini adalah sebagai berikut.

1. Sequence Diagram pada proses kompresi

(30)

Gambar 3.5. Sequence Diagram Proses Kompresi

2. Sequence Diagram pada proses dekompresi

(31)

3.3. Perancangan Sistem

Setelah melakukan analisis dan pemodelan sistem, tahap selanjutnya adalah melakukan perancangan sistem. Dari hasil proses analisis dan pemodelan sistem, perancangan sistem dapat dibuat menjadi beberapa tahap yaitu:

1. Perancangan alur proses sistem secara umum.

2. Perancangan alur proses untuk membangkitkan kode Ternary Comma Code.

3. Perancangan alur proses kompresi dan dekompresi. 4. Perancangan antarmuka sistem

3.3.1. Perancangan alur proses sistem kompresi, dekompresi dan algoritma

(32)

Gambar 3.7. Flowchart Diagram Proses Kompresi Input File Teks

(*.txt)

Kompresi File Dengan Ternary Comma Code

Hitung variabel CR, RC, SS dan Waktu

Output file (*.tcc)

End

Start

Input Compressed File(*.tcc)

Bangun daftar encoding TCC sesuai banyaknya character set

Dekompresi sesuai encoding TCC

Output file (*.txt)

(33)

Yes

Gambar 3.9. Flowchart Diagram Pembentukan Algoritma Ternary Comma Code (TCC)

dec = nomor kode dari sebuah karakter

r = remaindur (sisa bagi)

tcc = ternary comma code

div = diferensiasi

(34)

3.3.2. Perancangan alur proses untuk membangkitkan kode Ternary Comma Code

Alur proses untuk membangkitkan kode Ternary Comma Code dapat digambarkan denganpseudocode berikut.

1. function Dec To TCC (dec) {

2. if (dec = 0)

3. return “c”

4. tcc = “”

5. r = dec mod 3

6. tcc = string (r) + tcc

7. dec = dec div 3

8. while (dec ≠ 0) {

9. r = dec mod 3

10. tcc = string (r) + tcc

11. dec = dec div 3

12.}

13. return tcc + “c”

14.}

3.3.3 Perancangan antarmuka sistem

(35)

1. Form Home

Gambar 3.10. Form Home pada sistem

Keterangan : 1. Picture Box

Tampilan sri awal system berupa gambar dan tulisan. 2. Button Next

(36)

2. Form Menu

Gambar 3.11. Form Menu pada sistem Keterangan :

1. Label Text

Tampilan kalimat judul skripsi yang dirancang. 2. Tab Home

Berguna untuk menampilkan tampilan Home dari sistem yang ada. 3. Tab Compress

Berguna untuk menampilkan menu Compress pada sistem. 4. Tab Decompress

Berguna untuk menampilkan menu Decompress pada sistem. 5. Tab Help

(37)

3. Form Compress

Gambar 3.12. Form Compress pada sistem Keterangan :

1. Label Text

Tampilan kalimat dari compression process. 2. Button Open

Berguna untuk menampilkan sejumlah file .txt dan .doc yang akan dikompresi. 3. Text Box

Berisi informasi tempat pengambilan dan penyimpanan dari data yang digunakan.

4. Button Save

Berguna untuk menyimpan hasil dari kompresi yang diinginkan. 5. Text Box

Berisi informasi tempat pengambilan dan penyimpanan dari data yang digunakan. 6. Button Compress

(38)

7. Button Reset

Berguna untuk menghapus data yang telah diambil dan menjadikannya default.

4. Form Decompress

Gambar 3.13. Form Decompress pada sistem Keterangan :

1. Label Text

Tampilan kalimat dari decompression process. 2. Button Open

Berguna untuk menampilkan sejumlah file yang digunakan untuk dekompresi. 3. Text Box

Berisi informasi tempat pengambilan dan penyimpanan dari data yang digunakan.

(39)

Berguna untuk mengeksekusi data yang ada sehingga terjadi proses dekompresi. 7. Button Reset

Berguna untuk menghapus data yang telah diambil dan menjadikannya default.

5. Form Help

Gambar 3.14. Form Help pada sistem Keterangan :

1. Label Text

Tampilan kalimat judul skripsi yang dirancang. 2. Button Information Compression

Berguna untuk menampilkan sejumlah informasi dari proses kompresi yang telah dilakukan.

3. Button Information Decompression

Berguna untuk menampilkan sejumlah informasi dari proses dekompresi yang telah dilakukan.

4. Button Home

(40)

5. Button Exit

Berguna untuk menampilkan tampilan keluar dari sistem yang ada.

6. Form About

Gambar 3.15. Form About pada sistem Keterangan :

1. Label Text

Tampilan kalimat About yang dirancang. 2. Picture Box

Berisi gambar logo berformat .jpeg sebagai keterangan dari sistem. 3. Label Text

(41)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

Pada bab 4 ini penulis memaparkan bagaimana implementasi dari sistem dan juga hasil pengujian aplikasi yang dilakukan pada metode Ternary Comma code yang sudah dibangun menggunakan Java dan Android.

4.1. Implementasi Sistem

Implementasi sistem merupakan proses menerjemahkan hasil analisis dan perancangan sistem ke dalam sebuah bahasa pemrograman. Implementasi sistem pada penelitian ini dibangun menggunakan bahasa pemrogaman . Bahasa pemrograman bahasa pemrograman Java dan Android Studio versi 2.1.1. Proses dari sistem atau modul kendali (controller) akan dikerjakan menggunakan platform Android dan untuk tampilan antarmuka akan ditangani menggunakan bahasa xml. Adapun perangkat lunak yang digunakan sebagai Integrated Development Environment (IDE) adalah Android Studio versi 2.1.1. Dan bahasa pemrograman yang digunakan adalah Java Development Kit 8.2.

Proses implementasi yang dirancang pada sistem ini dibagi menjadi 6 form dalam bahasa Java, di antaranya yaitu form home untuk halaman utama, form menu untuk halaman menu sistem, form compress untuk menu kompresi, form decompress untuk menu dekompresi, form help untuk menu help, dan form about untuk profil penulis dan tentang aplikasi.

4.1.1. Tab Home

(42)

Gambar 4.1 Tab Home

4.1.2. Tab Menu

(43)

Gambar 4.2 Tab Menu

4.1.3. Tab Compress

(44)

Gambar 4.3 Tab Compress

4.1.4. Tab Decompress

(45)

Gambar 4.4 Tab Decompress

4.1.5. Tab Help

(46)

Gambar 4.5 Tab Help

(47)

Gambar 4.6 Tab Help Information Compression

(48)

Gambar 4.7 Tab Help Information Decompression

Pada form ini berisi menampilkan infromasi tentang proses dekompresi dilakukan.

4.1.6. Tab About

(49)

Gambar 4.8 Tab About

4.2. Pengujian Sistem

Pengujian sistem merupakan tahap mengidentifikasi hasil dari implementasi sistem apakah sistem telah berjalan sesuai dengan fungsi-fungsi yang sebelumnya ditentukan pada tahap analisis dan perancangan sistem. Pengujian sistem ini dilakukan pada File teks yang berekstensi *.txt. Pengujian sistem yang dilakukan pada penelitian ini dibagi dalam 2 proses utama yaitu pengujian proses kompresi dan pengujian proses dekompresi.

4.2.1. Pengujian proses kompresi

(50)

1. Menekan tombol pada Open untuk membuka File Dialog, dan pilih File teks (*.txt) sebagai Input File yang akan di kompresi.

2. Menekan tombol pada Save kemudian tentukan nama untuk menyimpan file hasil kompresi (*.tcc).

3. Setelah Input File dan Output File ditentukan maka tekan tombol compress kemudian akan ditampilkan informasi direktori File seperti pada Gambar 4.9

(51)

Gambar 4.10 Informasi Hasil Kompresi

Setelah input dan ouput sudah dimasukkan, maka didapatkan hassil dari proses

(52)

Gambar 4.11 File Ternary Comma Code Hasil Kompresi

4.2.2. Pengujian proses dekompresi

Untuk melakukan proses dompresi tahap awal yang dilakukan adalah memilih Tab Decompress. Setelah tampilan Form Decompress muncul maka lakukan langkah - langkah berikut ini untuk melakukan proses dekompresi.

1. Menekan tombol pada Open File untuk membuka Open File Dialog Open File, dan pilih file hasil kompresi (*.tcc) sebagai Input File.

2. Menekan tombol pada Save untuk membuka Save File Dialog dan tentukan direktori untuk menyimpan file hasil dekompresi (*.txt ). Tampilan.

(53)

Gambar 4.12 Aplikasi Setelah File Input dan Output Ditentukan

(54)

Gambar 4.13 Informasi Hasil Dekompresi

Gambar diatas merupakan hasil dari proses dekompresi pada file txt ialah dengan decompression time = 11 ms.

4.3. Hasil Pengujian

Hasil pengujian yang didapatkan melalui penelitian ini berupa hasil dari proses kompresi dan dekompresi string dengan dua jenis komposisi string yaitu string yang terdiri dari karakter yang sama (String Homogen) dan string yang terdiri dari berbagai macam karakter (String Heterogen).

(55)

Tabel 4.1 Hasil Pengujian String Homogen & String Heterogen menggunakan file txt dengan Ternary Comma Code

(56)
(57)

Gambar 4.16 Grafik Space Savings Terhadap String Homogen

(58)

Gambar 4.18 Grafik Waktu dekompresi Terhadap String Homogen

Dari Tabel 4.1 dapat dibuat grafik hasil pengujian String Heterogen dari file txt berdasarkan variabel Ratio of Compression (RC), Compression Ratio (CR), Space Savings (SS), waktu kompresi dan dekompresi seperti pada Gambar 4.19, Gambar 4.20, Gambar 4.21, Gambar 4.22 dan Gambar 4.23.

0 2 4 6 8 10 12

10 20 30 40 50

File Txt Waktu

(Sekon)

(59)

Gambar 4.19 Grafik Ratio Of Compression Terhadap String Heterogen

(60)
(61)

Gambar 4.23 Grafik Waktu dekompresi Terhadap String Heterogen 0

1 2 3 4 5 6 7

60 70 80 90 100

File Txt Waktu

(Sekon)

Waktu Dekompresi

(62)

4.4. Hasil Perhitungan Kompleksitas Big Theta (Ɵ)

Untuk mengetahui cara kerja algoritma Ternary Comma Code yang paling efektif melakukan kompresi, maka dibutuhkan perhitungan kompleksitas waktu. Dapat dilihat tabel 4.2 untuk algoritma Ternary Comma Code.

Tabel 4.2 Perhitungan Big Theta (Ɵ) Ternary Comma Code

Step Pseudocode T(n)

1. Function TCC(str) { C # C#

2. char,freq = count_freq(str) C1 1 C1

3. t = len (char) C2 1 C2

4. freq, char = sort_descending (freq,

char)

C3 1 C3

5. tcc = [“c”, “1c”] C4 1 C4

6. for (i = 2 to t-1){ C5 t-1 C5(t-1)

7. tcc. Append (Dec To TCC (i))} C6 t-1 C6(t-1)

8. return char, tcc } C7 1 C7

Dari perhitungan running time pada tabel maka didapat : T(n) = C1 + C2 + C3 + C4 + C5 (t-1) + C6 (t-1) + C7

= C1 + C2 + C3 + C4 + C5 t-1 + C6 t – C6 + C7

= C1 + C2 + C3 + C4– C5– C6 + C7 + (C5 + C6) t

T(n) = Ɵ(t)

(63)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan hasil studi literatur, analisis, perancangan, implementasi dan pengujian sistem ini, maka didapat kesimpulan sebagai berikut :

1. Aplikasi yang dirancang telah mampu melakukan kompresi string dengan menggunakan algoritma Ternary Comma Code.

2. Aplikasi yang dirancang telah mampu melakukan dekompresi terhadap hasil kompresi algoritma Ternary Comma Code menjadi string asli atau yang semula sebelum dikompresi.

3. Pengujian yang dilakukan terhadap karakter yang sama menunjukkan Compression Ratio (CR), Ratio of Compresion (RC), dan Space Savings (SS) yang

dihasilkan dari kompresi algoritma Ternary Comma Code sudah baik dan waktunya relatif lebih kecil.

4. Hasil pengujian kompresi file teks dengan karakter yang sama (homogen) berdasarkan variabel Ratio of Compression (RC), Compression Ratio (CR), Sapace Savings (SS) dan waktu kompresi menunjukkan bahwa pada metode Ternary Comma Code sudah baik dengan Compression Ratio rata-rata sebesar 0.125 %.

5.2. Saran

Adapun saran-saran yang dapat penulis berikan untuk pengembangan dan perbaikan sistem ini adalah sebagai berikut :

1. Aplikasi yang dirancang diharapkan dapat mengkompresi input file teks dari dokumen yang berekstensi *.doc dan *.docx berupa gambar, grafik, tabel dan komponen lainnya.

(64)

BAB 2

TINJAUAN PUSTAKA

Dalam penulisan tugas akhir ini, penulis mengambil beberapa materi dan memaparkan teori-teori ilmiah yang didapat dari metode pencarian fakta yang digunakan untuk mendukung penyusunan tugas akhir ini, tinjauan pustaka yang dimaksud adalah sebagai berikut.

2.1. Kompresi Data

Kompresi berarti memampatkan/mengecilkan ukuran. 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 kita lakukan misalnya adalah menyingkat kata-kata yang sering digunakan tapi sudah memiliki konvensi umum. Misalnya: kata “yang” dikompres menjadi kata “yg”. Pengiriman data hasil kompresi dapat dilakukan jika pihak pengirim/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-dekode kembali dengan benar. Kompresi data menjadi sangat penting karena memperkecil kebutuhan penyimpanan data, mempercepat pengiriman data, memperkecil kebutuhan bandwidth.

(65)

Sering terjadi kesalahan pemahaman mengenai data dan informasi, pada data dan informasi adalah dua hal yang berbeda. Pada data terkandung suatu informasi. Namun tidak semua bagian data terkait dengan informasi tersebut atau pada suatu data terdapat bagian-bagian data yang berulang untuk mewakili informasi yang sama. Bagian data yang tidak terkait atau bagian data yang berulang tersebut disebut dengan data yang berlebihan (redundancy data). Tujuan daripada kompresi data adalah untuk mengurangi data berlebihan tersebut sehingga ukuran data menjadi lebih kecil dan lebih ringan dalam proses transmisi. (Putra, D. 2010)

Di dalam penelitian ini, file yang akan diteliti berfokus pada jenis file teks, dengan berekstensi txt. File teks (flat file) adalah salah satu jenis file computer yang tersusun dalam suatu urutan baris data teks biasanya diwakili oleh 8 bit kode ASCII. (Solihin, M. 2013)

2.2. Jenis Kompresi Data

Adapun diketahui beberapa jenis kompresi data yaitu :

1. Jenis Kompresi Data Berdasarkan Mode Penerimaan Data oleh Manusia :

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

-Retrieval Mode: yaitu proses penerimaan data tidak dilakukan secara real time. Dapat dilakukan fast forward dan fast rewind di client. Dapat dilakukan random access terhadap data dan dapat bersifat interaktif.

2. Jenis Kompresi Data Berdasarkan Output : -Lossy Compression

(66)

tersebut masih bisa digunakan walaupun sudah dikompresi. Misal terdapat image asli berukuran 12,249 bytes, kemudian dilakukan kompresi dengan JPEG kualitas 30 dan berukuran1,869 bytes berarti image tersebut 85% lebih kecil dan ratio kompresi 15%. Contoh beberapa algoritma lossy compression yang umum digunakan antara lain algoritma ADPCM, LPC, MPEG, JPEG, Fractal dan sebagainya.

LOSSY

Compressed

Gambar 2.1 Ilustrasi Kompresi Lossy (Sayood, K. 2005)

- Lossless Compression

Teknik kompresi dimana data hasil kompresi dapat didekompres lagi dan hasilnya tepat sama seperti data sebelum proses kompresi. Contoh aplikasi: ZIP, RAR, GZIP, 7-Zip. Teknik ini digunakan jika dibutuhkan data setelah dikompresi harus dapat diekstrak/dekompres lagi tepat sama. Contoh pada data teks, data program/biner, beberapa image seperti GIF dan PNG. Kadangkala ada data-data yang setelah dikompresi dengan teknik ini ukurannya menjadi lebih besar atau sama. (Antonopoulos, C.P. & Voros, N.S. 2015) Contoh beberapa algoritma lossless compression yang umum digunakan antara lain algoritma Ternary Comma Code,

Huffman, Shannon-Fano dan sebagainya.

Jenis kompresi yang akan dibahas di penelitian ini adalah lossless, mengingat sifat kompresi jenis ini yang tidak mengubah isi data ketika akan di dekompresi. Ternary Comma Code adalah algoritma yang akan dibahas dalam penelitian ini. LOSSLESS

Compressed

Original

Restored

(67)

2.3. Teknik Kompresi

Ketika kita berbicara tentang teknik kompresi atau algoritma kompresi, kita sebenarnya mengacu pada dua algoritma. Ada algoritma kompresi yang mengambil sebuah input x dan menghasilkan xc sebagai representasi yang memerlukan bit yang

lebih sedikit, dan ada algoritma rekonstruksi yang beroperasi pada representasi kompresi xc untuk menghasilkan rekonstruksi y operasi ini secara skematis

diperlihatkan pada Gambar 2.3 (Sayood, K. 2005)

xc

x y

Original Data Reconstructed Data Gambar 2.3 Kompresi dan Rekonstruksi (Sayood, K. 2005)

Berdasarkan persyaratan rekonstruksi, skema kompresi data dapat dibagi menjadi dua kelas besar : skema kompresi loseless, dimana x identik dengan y, dan skema kompresi lossy, yang umumnya menyediakan kompresi jauh lebih tinggi daripada kompresi loseless tetapi memungkinkan y menjadi berbeda dari x. (Sayood, K. 2005).

2.4. Parameter Analisis Kompresi

Pada suatu teknik yang digunakan dalam proses kompresi data terdapat beberapa faktor atau variabel yang biasa digunakan untuk menganalisa kualitas dari suatu teknik kompresi data tersebut, yaitu :

(68)

1. Ratio of Compression (RC) (Salomon, D. & Motta, G. 2010)

Ratio of Compression (RC) adaalah nilai perbandingan antara ukuran bit data sebelum dikompresi dengan ukuran bit data yang telah dikompresi. Secara sistematis dapat dituliskan sebagai berikut :

………..…….(1)

Persamaan 1. Misalkan di dapat sebuah nilai Ratio of Compression (RC) sebesar 2,75. Itu berarti besar data sebelum kompresi adalah 2,75 kali lipat dari besar data setelah dikompresi.

2. Compression Ratio (CR) (Salomon, D. & Motta, G. 2010)

Compression Ratio (CR) adalah persentase perbandingan antara data yang sudah dikompresi dengan data yang belum dikompresi. Secara matematis dapat dituliskan sebagai berikut :

...(2)

Persamaan 2. Misalkan di dapat sebuah nilai Compression Ratio(CR) sebesar 35%. Itu berarti setelah dikompresi ukuran data adalah 35% dari data sebelum dikompresi.

3. Space Savings (SS) (Siagian, P. 2015)

Space Savings (SS) adalah persentase selisih antara data yang belum dikompresi dengan besar data yang dikompresi.

(69)

4. Waktu kompresi dan dekompresi (Siagian, P. 2015)

Waktu kompresi dan dekompresi adalah waktu yang dibutuhkan untuk melakukan proses kompresi dan dekompresi. Semakin kecil waktu yang diperoleh maka semakin efisien metode yang digunakan dalam proses kompresi dan dekompresi itu.

2.5. File Text

Teks adalah kumpulan dari karakter-karakter atau string yang menjadi satu kesatuan. Teks yang memuat banyak karakter didalamnya selalu menimbulkan masalah pada media penyimpanan dan kecepatan waktu pada saat transmisi data. File teks merupakan file yang berisi informasi-informasi dalam bentuk teks. Data yang berasal dari dokumen pengolah kata, angka yang digunakan dalam perhitungan, nama dan alamat dalam basis data merupakan contoh masukan data teks yang terdiri dari karakter, angka dan tanda baca. (Pramilo, C. 2008)

Format file teks yang akan digunakan dalam penelitian ini adalah format data teks (*.txt) .

(70)

2.5.1. Format Teks

1. Teks sederhana (plain text)

Format data teks (*.txt) merupakan contoh format teks jenis ini yang paling populer.

2. Teks terformat (formatted text)

Merupakan teks yang terformat dan mengandung styles. Format data dokumen Microsoft Word (*.doc) merupakan contoh format teks jenis ini yang paling populer.

Contoh format data teks di atas beserta perangkat lunak yang bisa digunakan di antaranya adalah (Purnomo, H. & Zacharias, T. 2005) :

1. Format data teks (*.txt)

(71)

teks seperti styles (font, ukuran huruf, dan sebagainya), namun juga dapat menyisipkan gambar. Kekurangan format teks dokumen ini terletak pada ukuran datanya yang besar.

3. Hyper text markup language (*.htm atau *.html)

Merupakan format teks standard untuk tampilan dokumen web. 4. Rich text format (*.rtf)

Format teks ini dikembangkan oleh Microsoft yang dapat dibaca oleh berbagai macam platform, seperti Windows, Linux, Android, Mac OS dan sebagainya.

2.6. Algoritma Ternary Comma Code

Algoritma merupakan urutan langkah-langkah untuk menyelesaikan masalah yang disusun secara sistematis, algoritma dibuat dengan tanpa memperhatikan bentuk yang akan digunakan sebagai implementasinya, sehingga suatu algoritma dapat menjelaskan “bagaimana” cara melaksanakan fungsi dapat diekspresikan dengan suatu program atau suatu komponen fisik. (Hartono, T. B. 2007)

Bilangan biner (basis 2) adalah didasarkan pada dua bit 0 dan 1. Demikian juga seperti bilangan ternary (basis 3) yang didasarkan pada tiga bilangan (trit) 0, 1 dan 2. Setiap trit dapat dituliskan dalam dua bit, tetapi dua bit dapat memiliki empat nilai. Sehingga, ini memungkinkan untuk bekerja dengan sistem bilangan ternary dimana masing-masing trit di wakili oleh dua bit dan dalam penjumlahan ketiga trit ada simbol ke empat yaitu comma (c). Ketika kita memasukkan (c), ini akan menjadi lebih mudah untuk membuat kode ternary comma untuk bilangan bulat. Kode comma dari n secara sederhana mewakili ternary dari n-1 di ikuti oleh sebuah comma (c). Sehingga kode comma dari 8 adalah 21c (karena 7= 2.3+1) dan kode comma dari 18 adalah 122c (karena 17=1.9+2.3+2).

(72)

contohnya masing-masing dari 15 bilangan membutuhkan 4 bit dan comma juga berpola 4 bit. Setiap kode diakhiri dengan comma 4 bit, bukan 1 bit dan fitur ini membuat kode ini tidak efisien. (Namun, keseluruhan redudansi setiap simbol mengurangi bilangan yang berbasis besar. Di sistem basis 7, 1 dari 8 simbol dikurangi untuk comma, sementara dalam basis 15 adalah 1 dari 16 simbol). (Salomon, D. 2007)

Tabel 2.1 Algortima Ternary Comma Code dan Panjangnya. (Salomon, D. 2007)

Value Code L Value Code L

(73)

Kinerja algoritma dibuktikan dengan menjumlahkan bilangan bulat dari masing-masing operasi ketika algoritma di jalankan. Kinerja sebuah algoritma dievaluasi sebagai fungsi ukuran masukan n dan konstanta modulo pengali yang digunakan. Pada penelitian ini kompleksitas yang digunakan adalah Big Theta (Ɵ).

1. Big-O (O)

Secara informal, 0(g(n)) adalah himpunan semua fungsi yang lebih kecil atau dengan urutan yang sama dengan g(n) (hingga beberapa konstanta, sampai n ke tak terhingga). Sebuah fungsi t(n) dikatakan bagian dari 0((g(n)) yang dilambangkan dengan t(n) Є 0(g(n)), jika t(n) batas atasnya adalah beberapa konstanta g(n) untuk semua n besar, jika terdapat konstanta c positif dan beberapa bilangan bulat non negatif n0seperti t(n)

≤cg(n) untuk semua n≥n0. (Levitin, A. 2011)

yang besar, yaitu jika ada beberapa konstanta positif c1dan c2 serta beberapa bilangan bulat non negatif n0 seperti c2g(n) ≤t(n) ≤c1g(n) untuk semua n≥n0. (Levitin, A. 2011)

3. Big Omega (Ω)

Ω(g(n)) merupakan himpunan semua fungsi dengan tingkat pertumbuhan lebih besar

atau sama dengan g(n) (hingga beberapa konstanta, sampai n ke tak terhingga). Sebuah fungsi t(n) dikatakan bagian dari Ω(g(n)), dilambangkan dengan t(n) Є

Ω(g(n)), jika t(n) batas bawahnya adalah beberapa konstanta positif dari g(n) untuk

semua n besar. Terdapat konstanta c positif dan beberapa bilangan bulat non negatif n0 seperti t(n)≥cg(n), (untuk setiap n≥n0). (Levitin, A. 2011)

2.8. Platform Android

(74)

sederhana bisa diartikan sebagai sebuah software yang digunakan pada perangkat mobile yang mencakup sistem operasi, middleware, dan aplikasi kunci yang dirilis

oleh Google. Sehingga android mencakup keseluruhan sebuah aplikasi, dimulai dari sistem operasi sampai pada pengembangan aplikasi itu sendiri. (EMS, Tim. 2015)

Pengembangan aplikasi pada platform Android ini menggunakan dasar bahasa pemrograman Java. Tapi secara sempit, Android biasanya mengacu pada sistem operasinya saja. Platform pengembangan aplikasi Android ini bersifat open source atau terbuka, sehingga dapat mengembangkan kemampuan untuk membangun aplikasi yang kaya dan inovatif. (EMS, Tim. 2015)

Dasar pemrograman Android adalah Java, karena aplikasi android ditulis dalam bahasa java. Android menyediakan lingkungan atau run time environment yang dikenal sebagai Dalvik Virtual Machine ini merupakan Java runtime environment yang telah dioptimasi untuk device dengan sistem memori yang kecil. (EMS, Tim. 2015)

2.9. Penelitian Relevan

Berikut ini beberapa penelitian relevan yang terkait dengan penelitian ini :

1. Umri Erdiansyah (2014) dalam skripsi yang berjudul Perbandingan Algoritma Elias Delta Code Dengan Levenstein Untuk Kompresi File Teks. Dalam skripsi dapat disimpulkan bahwa perbedaan cara kerja kompresi antara kedua algoritma tersebut dalam mengompresi file teks. Proses kompresi dengan menggunakan Elias Delta mempunyai keterbatasan karena hanya dapat mempresentasikan 7 karakter pertama dengan jumlah bit dibawah 8 bit. Waktu yang dibutuhkan untuk kompresi tidak bergantung pada besarnya ukuran file dan begitu pula waktu dekompresi tidak tergantung pada waktu kompresi.

(75)

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Saat ini pengiriman informasi secara real-time masih mengalami kendala, diantaranya adalah besarnya jumlah data yang harus dikirim melampaui kecepatan transmisi yang dimiliki oleh perangkat keras. Hal tersebut menjadi masalah, dimana jalur komunikasi di Indonesia, khususnya internet, masih berada di dalam kategori lambat dan sering bermasalah. Dengan demikian, data yang berukuran kecil akan dipilih karena akan lebih cepat dikirim dan lebih hemat tempat. (Erdiansyah, U. 2014)

Oleh karena itu, manusia selalu berusaha untuk menemukan suatu cara alternatif untuk menangani permasalahan tersebut, salah satunya dengan cara kompresi. Dalam ilmu komputer, kompresi data adalah sebuah cara untuk memadatkan data sehingga hanya memerlukan ruangan penyimpanan yang lebih kecil agar lebih efisien dalam menyimpan data atau mempersingkat waktu pertukaran data tersebut. Masalah yang mendasar pada proses kompresi data adalah bagaimana proses memampatkan data tersebut, khususnya data teks agar diperoleh file teks dengan ukuran yang lebih kecil dari ukuran semula.

Dalam bidang ilmu komputer teknik kompresi ini digunakan terhadap data digital yang disebut juga kompresi data. Kompresi terhadap data dilakukan untuk mengurangi ukuran data sehingga mempercepat proses pemindahan data dan mengurangi kapasitas memori yang dibutuhkan, dimana data yang dimaksud bisa berupa file teks, gambar, suara, maupun video. (Sayood, K. 2005) Hal yang harus diperhatikan dalam kompresi data adalah time process (waktu yang berjalan pada saat data dikompresi), ratio (ukuran data setelah dikompresi) dan space savings (presentase selisih ukuran data setelah dikompresi dengan ukuran data sebelum dikompresi).

(76)

kerja algoritma Ternary Comma Code yang digunakan untuk mengompresi data, sehingga data kompresi yang dihasilkan telah baik.

Untuk mengetahui bagaimana algoritma tersebut telah optimal dan efektif dalam kompresi file teks, maka penulis akan menggunakan analisis kompresi yang diukur dengan rasio kompresi (ratio of compression dan compression ratio), space savings, dan waktu yang dibutuhkan selama proses kompresi dan dekompresi.

Android sudah menjadi platform sistem operasi yang makin popular. Padahal sebenarnya, android termasuk sistem operasi „yunior‟ dibandingkan lainnya yang lebih „senior‟, seperti symbian, iOS, atau sistem operasi blackberry. Android secara sederhana bisa diartikan sebagai sebuah software yang digunakan pada perangkat mobile yang mencakup sistem operasi, middleware, dan aplikasi kunci yang dirilis oleh Google. (EMS, Tim. 2015)

1.2. Rumusan Masalah

Berdasarkan latar belakang masalah, maka rumusan masalah yang akan dibahas dalam tugas akhir ini adalah bagaimana cara kerja algoritma Ternary Comma Code dalam melakukan kompresi file teks dengan parameter rasio, waktu kompresi, waktu dekompresi, dan space savings.

1.3. Batasan Masalah

Adapun batasan masalah dalam tugas akhir ini adalah sebagai berikut : 1. Jenis file yang di kompresi adalah file text yang berekstensi txt.

2. Tidak melakukan kompresi terhadap komponen lain seperti tabel atau gambar yang terdapat di dalam file text maupun dokumen yang akan dikompresi.

3. Parameter yang akan diukur antara lain adalah rasio kompresi Ratio of Compression (RC), Compression Ratio (CR), Space savings (SS) dan waktu atau real time (ms) yang dibutuhkan selama proses kompresi dan dekompresi.

(77)

1.4. Tujuan Penelitian

Tujuan penelitian ini adalah Mengetahui kinerja kompresi dari algoritma Ternary Comma Code, waktu kompresi, waktu dekompresi, serta space savings nya.

1.5. Manfaat Penelitian

Penelitian ini diharapkan mendapatkan hasil yang bermanfaat bagi user agar dapat menggunakan kinerja algoritma Ternary Comma Code sebagai algoritma yang baik dalam mengkompresi file teks. Serta memperluas kapasitas penyimpanan data yang digunakan dengan mengurangi ukuran data yang akan disimpan.

1.6. Metodologi Penelitian

Penelitian ini menerapkan beberapa metode penelitian sebagai berikut : 1. Studi Literatur

Pada tahap ini dilakukan pengumpulan referensi yang diperlukan dalam penelitian. Hal ini dilakukan untuk memperoleh informasi dan data yang diperlukan untuk penulisan skripsi ini. Referensi yang digunakan dapat berupa buku, jurnal, artikel, makalah baik berupa media cetak maupun media internet mengenai file teks, algoritma Ternary Comma Code dan kompresi serta beberapa referensi lainnya untuk menunjang pencapaian tujuan skripsi.

2. Analisis dan Perancangan Sistem

Masalah akan dianalisis dan di identifikasi kebutuhan yang terkait serta disesuaikan dengan batasan masalah untuk mencapai tujuan. Kemudian perancangan system dilakukan dengan mendesain user interface, Unified modeling language (UML), dan struktur program sistem kompresi file.

3. Implementasi Sistem

Sistem diimplementasikan dengan menggunakan algoritma Ternary Comma Code untuk melakukan kompresi file teks berbasis android.

4. Pengujian Sistem

Pada tahap ini akan dilakukan pengujian terhadap sistem yang telah dibangun.

5. Dokumentasi Sistem

(78)

1.7. Sistematika Penulisan

Sistematika dalam penulisan tugas akhir ini disusun menjadi beberapa bab, diantaranya yaitu :

BAB 1 : PENDAHULUAN

Bab ini berisi mengenai latar belakang masalah, rumusan masalah, batasan masalah, tujuan dan manfaat dari penelitian, metode penelitian dan sistematika penulisan.

BAB 2 : TINJAUAN PUSTAKA

Bab ini berisi mengenai teori-teori dasar dan metode yang dilakukan untuk mendukung analisis dan perancangan yang dilakukan.

BAB 3 : ANALISIS DAN PERANCANGAN SISTEM

Bab ini terdiri dari tahap analisis sistem dan desain/model perancangan dari program yang akan dibuat, dalam hal ini termasuk juga algoritma dari program tersebut.

BAB 4 : IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi mengenai implementasi dan pengujian dari program yang sebelumnya telah dirancang dan dianalisis sistemnya.

BAB 5 : KESIMPULAN DAN SARAN

(79)

ABSTRAK

Saat ini pengiriman informasi secara real-time masih mengalami kendala, diantaranya adalah besarnya jumlah data yang harus dikirim melampaui kecepatan transmisi yang dimiliki oleh perangkat keras. Hal tersebut menjadi masalah, dimana jalur komunikasi di Indonesia, khususnya internet, masih berada di dalam kategori lambat dan sering bermasalah. Sehingga data yang berukuran kecil akan dipilih karena akan lebih cepat dikirim dan lebih hemat tempat. Dalam penelitian ini akan merancang sebuah aplikasi komputer berbasis Android yang dapat mengkompresi file text dan menganalisis kinerja algoritma. Agar memudahkan untuk mengirim file text lebih cepat dan hemat tempat. Kompresi file text dilakukan dengan mengkodekan teks menggunakan algoritma Ternary Comma Code, yang kemudian melakukan proses kompresi. Algoritma Ternary Comma Code, bilangan biner (basis 2) adalah didasarkan pada dua bit 0 dan 1. Demikian juga seperti bilangan ternary (basis 3) yang didasarkan pada tiga bilangan (trit) 0, 1 dan 2. Setiap trit dapat dituliskan dalam dua bit, tetapi dua bit dapat memiliki empat nilai. Sehingga, ini memungkinkan untuk bekerja dengan sistem bilangan ternary dimana masing-masing trit di wakili oleh dua bit dan dalam penjumlahan ketiga trit ada simbol ke empat yaitu comma (c). Ketika kita memasukkan (c), ini akan menjadi lebih mudah untuk membuat kode ternary comma untuk bilangan bulat. Hasil akhir dari kompresi adalah file berekstensi *.tcc yang dapat didekompresi. Keluaran dari dekompresi ini adalah sebuah file baru yang terdiri dari file header serta file body yang berisi kode-kode hasil pengkodean dan kompresi file text asli semula yang dapat disimpan dengan ekstensi file *.txt. Rasio pembanding yang digunakan adalah Ratio of Compression (RC), Compression Ratio (CR), Space Savings (SS), waktu proses kompresi dan dekompresi (ms).

(80)

IMPLEMENTATION AND ANALYSIS OF TERNARY COMMA

CODE COMPRESSION ALGORITHM IN TEXT FILE ON

ANDROID PLATFORM

ABSTRACT

(81)

IMPLEMENTASI DAN ANALISIS ALGORITMA KOMPRESI

TERNARY COMMA CODE DALAM KOMPRESI FILE

TEXT PADA PLATFORM ANDROID

SKRIPSI

SITI SOENDARI UTAMI

141421030

PROGRAM EKSTENSI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

(82)

IMPLEMENTASI DAN ANALISIS ALGORITMA KOMPRESI TERNARY COMMA CODE DALAM KOMPRESI FILE

TEXT PADA PLATFORM ANDROID

SKRIPSI

Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer

SITI SOENDARI UTAMI 141421030

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA MEDAN

(83)

PERSETUJUAN

Judul : IMPLEMENTASI DAN ANALISIS ALGORITMA KOMPRESI TERNARY COMMA CODE DALAM KOMPRESI FILE TEXT PADA PLATFORM ANDROID Kategori : SKRIPSI

Nama : SITI SOENDARI UTAMI

Nomor Induk Mahasiswa: 141421030

Program Studi : EKSTENSI S1 ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Juli 2016

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dian Rachmawati, S.Si, M.Kom Dr. Poltak Sihombing,M.Kom NIP. 198307232009122004 NIP. 196203171991031001

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

(84)

PERNYATAAN

IMPLEMENTASI DAN ANALISIS ALGORITMA KOMPRESI TERNARY COMMA CODE DALAM KOMPRESI FILE TEXT PADA PLATFORM ANDROID

SKRIPSI

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

Medan, Juli 2016

(85)

PENGHARGAAN

Alhamdulillah. Puji dan syukur atas kehadirat Allah SWT, yang dengan rahmat dan karunia-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Pada pengerjaan skripsi dengan judul Implementasi Dan Analisis Algoritma Kompresi Ternary Comma Code Dalam Kompresi File Text Pada Platform Android, penulis menyadari bahwa banyak pihak yang turut membantu, baik dari pihak keluarga, sahabat dan orang-orang terkasih yang memotivasi dalam pengerjaannya. Dalam kesempatan ini, penulis mengucapkan banyak terima kasih kepada :

1. Bapak Prof. Dr. Runtung Sitepu S.H, M.Hum selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom selaku Dosen Pembimbing I dan Ketua Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

4. Ibu Dr. Maya Silvi Lydia B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

5. Ibu Dian Rachmawati, S.Si, M.Kom selaku Dosen Pembimbing II yang telah memberikan arahan, kritik dan saran serta motivasi kepada penulis dalam pengerjaan skripsi ini.

6. Bapak Prof. Dr. Muhammad Zarlis, M.Sc selaku Dosen Pembanding I yang telah banyak memberikan arahan dan masukan yang sangat berharga kepada penulis.

(86)

8. Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi USU, terkhusus kepada Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M. atas masukan dan nasihatnya yang telah banyak membantu penulis dalam menyelesaikan tugas akhir ini.

9. Ayahanda Bambang Soedjono Kasby, Ibunda Endah Priyatni, SE, Ananda Ruri Erina Soeseny dan Muhammad Ikhsan, yang mana telah banyak memberikan kasih sayang, semangat, serta dorongan kepada penulis.

10. Sahabat-sahabat seperjuangan menggapai gelar sarjana, kepada Raja Arif Hidayah Harahap, Dwita Ananda Yulaz, Rahmayani Gultom, Zul Fikar Ali Ginting, Dan seluruh teman-teman kelas Kom C ekstensi 2014. Serta seluruh teman-teman ekstensi stambuk 2014. Kalian luar biasa!!

11. Terkhusus kepada abangda Fitra Meiraldy, SE. Terimakasih banyak atas bantuan dan motivasinya kepada penulis agar dapat segera menyelesaikan tugas akhir ini tepat waktu.

12. Semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat penulis ucapkan satu demi satu yang telah membantu penyelesaian laporan ini.

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

(87)

ABSTRAK

Saat ini pengiriman informasi secara real-time masih mengalami kendala, diantaranya adalah besarnya jumlah data yang harus dikirim melampaui kecepatan transmisi yang dimiliki oleh perangkat keras. Hal tersebut menjadi masalah, dimana jalur komunikasi di Indonesia, khususnya internet, masih berada di dalam kategori lambat dan sering bermasalah. Sehingga data yang berukuran kecil akan dipilih karena akan lebih cepat dikirim dan lebih hemat tempat. Dalam penelitian ini akan merancang sebuah aplikasi komputer berbasis Android yang dapat mengkompresi file text dan menganalisis kinerja algoritma. Agar memudahkan untuk mengirim file text lebih cepat dan hemat tempat. Kompresi file text dilakukan dengan mengkodekan teks menggunakan algoritma Ternary Comma Code, yang kemudian melakukan proses kompresi. Algoritma Ternary Comma Code, bilangan biner (basis 2) adalah didasarkan pada dua bit 0 dan 1. Demikian juga seperti bilangan ternary (basis 3) yang didasarkan pada tiga bilangan (trit) 0, 1 dan 2. Setiap trit dapat dituliskan dalam dua bit, tetapi dua bit dapat memiliki empat nilai. Sehingga, ini memungkinkan untuk bekerja dengan sistem bilangan ternary dimana masing-masing trit di wakili oleh dua bit dan dalam penjumlahan ketiga trit ada simbol ke empat yaitu comma (c). Ketika kita memasukkan (c), ini akan menjadi lebih mudah untuk membuat kode ternary comma untuk bilangan bulat. Hasil akhir dari kompresi adalah file berekstensi *.tcc yang dapat didekompresi. Keluaran dari dekompresi ini adalah sebuah file baru yang terdiri dari file header serta file body yang berisi kode-kode hasil pengkodean dan kompresi file text asli semula yang dapat disimpan dengan ekstensi file *.txt. Rasio pembanding yang digunakan adalah Ratio of Compression (RC), Compression Ratio (CR), Space Savings (SS), waktu proses kompresi dan dekompresi (ms).

(88)

IMPLEMENTATION AND ANALYSIS OF TERNARY COMMA

CODE COMPRESSION ALGORITHM IN TEXT FILE ON

ANDROID PLATFORM

ABSTRACT

(89)

DAFTAR ISI

1.5. Manfaat Penelitian 3

1.6. Metodologi Penelitian 3

1.7. Sistematika Penulisan 4

BAB 2 TINJAUAN PUSTAKA

2.1Kompresi Data 5

2.2Jenis Kompresi Data 6

2.3Teknik Kompresi 8

2.4Parameter Analisis Kompresi 8

2.5File Text 10

2.5.1 Format Teks 11

2.6Algoritma Ternary Comma Code 12

2.7Kompleksitas Algoritma 13

2.8Platform Android 14

(90)

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

3.1Analisis Sistem 16

3.1.1 Analisis Masalah 16

3.1.2 Analisis Kebutuhan Sistem 17

3.1.3 Analisis Proses 19

3.2Pemodelan Sistem 24

3.2.1 Use Case Diagram 24

3.2.2 Activity Diagram 25

3.2.3 Sequence Diagram 27

3.3Perancangan Sistem 29

3.3.1Perancangan alur proses sistem kompresi, 29 dekompresi dan algoritma

3.3.2 Perancangan Alur Proses Untuk Membangkitkan 32 Kode Ternary Comma Code

3.3.3 Perancangan Antarmuka Sistem 32

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1Implementasi Sistem 39

4.1.1 Tab Home 39

4.1.2 Tab Menu 40

4.1.3 Tab Compress 41

4.1.4 Tab Decompress 42

4.1.5 Tab Help 43

4.1.6 Tab About 46

4.2 Pengujian Sistem 47

4.2.1 Pengujian proses kompresi 47

4.2.2 Pengujian proses dekompresi 50

4.3 Hasil Pengujian 52

(91)

DAFTAR TABEL

Tabel 2.1 Algortima Ternary Comma Code dan Panjangnya 13

Tabel 3.1 Character Set 20

Tabel 3.2 String yang belum dikompresi dengan Ternary Comma Code 20 Tabel 3.3 String yang telah dikompresi dengan Ternary Comma Code 23 Tabel 4.1 Hasil Pengujian String Homogen & String Heterogen 53

menggunakan file txt dengan Ternary Comma Code

(92)

DAFTAR GAMBAR

Gambar 3.1 Diagram Ishikawa Analisis Masalah 17

Gambar 3.2 Use Case Diagram Sistem 25

Gambar 3.3 Activity Diagram Proses Kompresi 26 Gambar 3.4 Activity Diagram Proses Dekompresi 27 Gambar 3.5 Sequence Diagram Proses Kompresi 28 Gambar 3.6 Sequence Diagram Proses Dekompresi 28 Gambar 3.7 Flowchart Diagram Proses Kompresi 30 Gambar 3.8 Flowchart Diagram Proses Dekompresi 30 Gambar 3.9 Flowchart Diagram Pembentukan Algoritma 31

Ternary Comma Code (TCC)

Gambar 3.10 Form Home pada sistem 33

Gambar 3.11 Form Menu pada sistem 34

Gambar 3.12 Form Compress pada sistem 35

Gambar 3.13 Form Decompress pada sistem 36

Gambar 3.14 Form Help pada sistem 37

Gambar 3.15 Form About pada sistem 38

Gambar 4.1 Tab Home 40

Gambar 4.2 Tab Menu 41

Gambar 4.3 Tab Compress 42

Gambar 4.4 Tab Decompress 43

Gambar 4.5 Tab Help 44

Gambar 4.6 Tab Help Information Compression 45 Gambar 4.7 Tab Help Information Decompression 46

Gambar 4.8 Tab About 47

(93)
(94)

DAFTAR LAMPIRAN

Halaman

A Listing Program A-1

Gambar

Gambar 3.5. Sequence Diagram Proses Kompresi
Gambar 3.8. Flowchart Diagram Proses Dekompresi
Gambar 3.9. Flowchart Diagram Pembentukan Algoritma Ternary Comma Code
Gambar 3.10. Form Home pada sistem
+7

Referensi

Dokumen terkait

Diharapkan aplikasi kompresi dengan menggunakan algoritma Punctured Elias Codes dan Ternary Comma Code ini dapat dikembangkan lagi menjadi sebuah aplikasi yang

Pada sampel pengujian string heterogen, dilihat dari perhitungan R C , C R , SS, waktu kompresi dan dekompresi yang dihasilkan algoritma Punctured Elias Codes dan

Kompresi data adalah proses yang mengkonversi sebuah masukan berupa aliran data (the source atau data asli mentah) menjadi suatu aliran data lain (the output, aliran

Analisis Pengaruh Panjang Bit Kode pada Kinerja Program Kompresi yang Menggunakan Algoritma Lempel Ziv Welch (LZW).. Universitas

using Microsoft.Office.Interop.Word; namespace aplikasi_kompresi.

Dalam penelitian ini akan menerapkan algoritma Rice Codes dan algoritma Ternary Comma Code untuk mengkompresi File PDF, yang dimana hasil kompresi dari algoritma

Analisa masalah pada penelitian ini dilakukan perhitungan dan perancangan perangkat lunak pada pengkompresian file video menggunakan algoritma golomb code yang merupakan salah

Identifikasi masalah merupakan tahapan analisis masalah untuk menentukan proses identifikasi sebab dan akibat dibuatnya sebuah sistem yang dapat berjalan agar sistem tersebut