Analisis Sistem ANALISIS DAN PERANCANGAN SISTEM

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