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 Menurut Cormen, T. H, et al. 2009, ada banyak algoritma yang dikembangkan untuk
mengkompresi data, namun belum ada satupun algoritma yang baik untuk mengkompresi berbagai tipe file. Dalam penelitian ini algoritma yang akan dibahas
kinerjanya adalah algoritma Ternary Comma Code.
Universitas Sumatera Utara
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 :
a. Sistem harus mampu membaca string yang berada dalam text file.
Universitas Sumatera Utara
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 R
C
, Compression Ratio
C
R
, 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. e. Mudah digunakan User friendly
Sistem yang akan dibangun harus user friendly, artinya bahwa sistem mudah digunakan oleh user dengan tampilan interface yang sederhana dan
mudah dimengerti.
Universitas Sumatera Utara
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 R
C
, Compression Ratio C
R
, dan Space Savings S
S
.
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 Σ character set = {S, I, T, sp, O, E, N, D, A, R, U, M}
Universitas Sumatera Utara
Tabel 3.1 Character Set
Tabel 3.2 String yang belum dikompresi dengan Ternary Comma Code Char
Freq ASCII
Code ASCII
CodeBinary Bit
Bit x Freq
I 4
73 01001001
8 8 x 4
S 2
83 01010011
8 8 x 2
T 2
84 01010100
8 8 x 2
A 2
65 01000001
8 8 x 2
Sp 2
32 00100000
8 8 x 2
E 1
69 01000101
8 8 x 1
N 1
78 01001110
8 8 x 1
D 1
68 01000100
8 8 x 1
O 1
79 01001111
8 8 x 1
R 1
82 01010010
8 8 x 1
U 1
85 01010101
8 8 x 1
M 1
77 01001101
8 8 x 1
Total Bit 152
Char Freq I
4 S
2 T
2 A
2 Sp
2 E
1 N
1 D
1 O
1 R
1 U
1 M
1
Sortir Descending Dari besar ke kecil
Universitas Sumatera Utara
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
A yang dikodekan dengan 10c mempunyai 3 trit dan frequency kemunculan sebanyak 2 kali, maka trit x frequency = 6
Universitas Sumatera Utara
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
Jadi 48 adalah hasil kompresi menggunakan Algoritma Ternary Comma Code.
Universitas Sumatera Utara
Tabel 3.3 String yang telah dikompresi dengan Ternary Comma Code Char
Freq TCC
Trit Trit x Freq
I 4
C 1
1 x 4 S
2 1c
2 2 x 2
T 2
2c 2
2 x 2 A
2 10c
3 3 x 2
Sp 2
11c 3
3 x 2 E
1 12c
3 3 x 1
N 1
20c 3
3 x 1 D
1 21c
3 3 x 1
O 1
22c 3
3 x 1 R
1 100c
4 4 x 1
U 1
101c 4
4 x 1 M
1 102c
4 4 x 1
Total Trit 48
String trit :
b. Analisis Proses menghitung Parameter Pembanding Ratio of
Compression R
C
, Compression Ratio C
R
, dan Space Saving SS. Dari hasil kompresi tersebut dapat diukur kinerja kedua algoritma sebagai
berikut : 1.
Ratio of Compression R
C
R
C
= = 3,16
2. Compression Ratio C
R
C
R
= 100 = 0,3157
3. Space Saving SS
SS = 1 – 0,3157 = 0,684
Universitas Sumatera Utara
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