Analisa DMC Tabel 4.1 Analisa Untuk File .docx Yang Terkompresi Saran

kemudian kita memilih dengan file text apa yang akan disimpan .odt kemudian melakukan proses Simpan, dapat dilihat pada Gambar 4.20. Gambar 4.21 Hasil Dekompresi File .odt Gambar 4.21 merupakan hasil proses simpan file yang tederkompresi dengan file .odt, yang menampilkan hasil besar file setelah melalui proses dekompresi dan juga menampilkan rasio file tersebut.

4.4 Analisa DMC Tabel 4.1 Analisa Untuk File .docx Yang Terkompresi

Perco baan KLASIFIKASI KOMPRESI Nama File .docx Besar File byte Panjang Karakter runtime ms rasio before after before after 1 kancil 10187 byte 96 byte 147 96 247 ms 1061.46 2 kopi 10233 byte 183 byte 307 183 753 ms 5591.8 3 Premier League 10212 byte 166 byte 280 166 673 ms 6151.81 4 Organisasi 10638 byte 495 byte 883 495 5011 ms 2149.09 5 Angka 10152 byte 182 byte 455 182 588 ms 5578.02 Universitas Sumatera Utara Tabel 4.2 Analisa Untuk File .docx Yang Dekompresi Perco baan KLASIFIKASI DEKOMPRESI Nama File .dmc Besar File byte Panjang Karakter runtime ms rasio before after before after 1 kancilkompre si 96 byte 10118 byte 96 147 209 ms 0.95 2 kopikompresi 183 byte 10214 byte 183 307 595 ms 1.79 3 premierLeag ueKompresi 166 byte 10189 byte 166 280 478 ms 1.63 4 Organisasiko mpresi 495 byte 10498 byte 495 883 4048 ms 4.72 5 Angka kompresi 182 byte 10105 byte 182 455 1418 ms 1.8 Tabel 4.3 Analisa Untuk File .odt Yang Terkompresi Perco baan KLASIFIKASI KOMPRESI FILE .odt Nama File .odt Besar File byte Panjang Karakter runtime ms rasio before after before after 1 kancil 2425 byte 96 byte 149 96 324 ms 2526.04 2 kopi 2507 byte 183 byte 307 183 797 ms 1369.95 3 Premier League 2480 byte 166 byte 280 166 666 ms 1439.98 4 Organisasi 2793 byte 495 byte 883 495 5329 ms 4.72 5 Angka 2394 byte 182 byte 455 182 670 ms 1315.38 Tabel 4.4 Analisa Untuk File .odt Yang Dekompresi Perco baan KLASIFIKASI DEKOMPRESI FILE .odt Nama File .dmc Besar File byte Panjang Karakter runtime ms rasio before after before after 1 kancilkompre si 96 byte 2434 byte 96 149 211 ms 3.95 2 kopikompresi 183 byte 2528 byte 183 307 635 ms 7.24 3 premierLeag ueKompresi 166 byte 2500 byte 166 280 501 ms 6.64 4 Organisasiko mpresi 495 byte 2789 byte 495 883 3828 ms 17.75 5 Angka kompresi 182 byte 2399 byte 182 455 1225 ms 7.59 Universitas Sumatera Utara

4.5 Perhitungan Kompleks Algoritma DMC

Dari algoritma DMC ini akan dilakukan perhitungan kompleksitasnya. Kompleksitas yang dihitung nantinya adalah average case, best case, dan worst case. Pada average case akan dicari Big  average time. Pada best case akan dicari Big  best time. Sedangkan untuk worst case akan dicari Big Oworst time .

4.5.1. Perhitungan Running Time Kompresi

Proses perhitungan running time dilakukan untuk mendapatkan Big , Big , dan Big O . Dari hasil yang didapat nantinya akan berguna agar user mengetahui waktu terbaik dan terburuk dari algoritma DMC. Tabel 4.5 berikut ini adalah tabel perhitungan running time. Tabel 4.5 Tabel Perhitngan Running Time Kompresi No Code c c 1 Dim InpPos, MinValue, MaxValue, RangValue, MidValue, Index, TopBit, One256, Zero256, i As Integer C 1 1 C 1 2 Dim mChar, Bitset As Byte C 1 1 C 1 3 ReDim outtext500 C 2 1 C 2 4 OutPos = OutBitCount = OutByteBuf = MinValue = InpPos = 0 C 3 1 C 3 5 MaxValue = 2 MaxBits - 1 C 4 1 C 4 6 TopBit = 2 MaxBits - 1 C 4 1 C 4 7 Index = -1 C 5 1 C 5 8 For i = 0 To 256 C 6 |256| C 6 |256| 9 Onei = 1 C 7 |256| C 7 |256| 10 Zeroi = 1 C 7 |256| C 7 |256| 11 Next C 8 |256| C 8 |256| 12 Do While InpPos = UBoundlistarr C 9 |256| 2 C 9 |256| 2 13 mChar = listarrInpPos C 10 |256| 2 C 10 |256| 2 14 InpPos = InpPos + 1 C 11 |256| 2 C 11 |256| 2 15 For i = 0 To 7 C 6 |256| C 6 |256| 16 Bitset = mChar And 2 7 - i And HFF C 12 |256| C 12 |256| 17 Index = 2 i - 1 + IntmChar 2 8 - C 13 |256| C 13 |256| Universitas Sumatera Utara i 18 RangValue = MaxValue - MinValue C 14 |256| C 14 |256| 19 MidValue = MinValue + RangValue ZeroIndex OneIndex + ZeroIndex C 15 |256| C 15 |256| 20 If MidValue = MinValue Then MidValue = MidValue + 1 C 16 |256| C 16 |256| 21 If MidValue = MaxValue - 1 Then MidValue = MidValue - 1 C 16 |256| C 16 |256| 22 If Bitset 0 Then C 17 |256| C 17 |256| 23 MinValue = MidValue C 18 |256| C 18 |256| 24 OneIndex = OneIndex + 1 C 19 |256| C 19 |256| 25 Else C 20 |256| C 20 |256| 26 MaxValue = MidValue C 18 |256| C 18 |256| 27 ZeroIndex = ZeroIndex + 1 C 19 |256| C 19 |256| 28 End If C 21 |256| C 21 |256| 29 Do While MaxValue And TopBit = MinValue And TopBit Or MinValue MaxValue - 255 C 22 |256| 3 C 22 |256| 3 30 If MinValue And TopBit = 0 Then C 23 |256| 3 C 23 |256| 3 31 OutByteBuf = OutByteBuf 2 + 0 C 24 |256| 3 C 24 |256| 3 32 OutBitCount = OutBitCount + 1 C 25 |256| 3 C 25 |256| 3 33 If OutBitCount = 8 Then C 26 |256| 3 C 26 |256| 3 34 outtextOutPos = OutByteBuf C 27 |256| 3 C 27 |256| 3 35 OutBitCount = 0 C 28 |256| 3 C 28 |256| 3 36 OutByteBuf = 0 C 28 |256| 3 C 28 |256| 3 37 OutPos = OutPos + 1 C 29 |256| 3 C 29 |256| 3 38 If OutPos UBoundouttext Then C 30 |256| 3 C 30 |256| 3 39 ReDim Preserve outtextOutPos + 500 C 2 1 C 2 40 End If C 21 |256| 3 C 21 |256| 3 41 End If C 21 |256| 3 C 21 |256| 3 42 Else C 20 |256| 4 C 20 |256| 4 43 OutByteBuf = OutByteBuf 2 + 1 C 24 |256| 4 C 24 |256| 4 Universitas Sumatera Utara 44 OutBitCount = OutBitCount + 1 C 25 |256| 4 C 25 |256| 4 45 If OutBitCount = 8 Then C 26 |256| 4 C 26 |256| 4 46 outtextOutPos = OutByteBuf C 27 |256| 4 C 27 |256| 4 47 OutBitCount = 0 C 28 |256| 4 C 28 |256| 4 48 OutByteBuf = 0 C 28 |256| 4 C 28 |256| 4 49 OutPos = OutPos + 1 C 29 |256| 4 C 29 |256| 4 50 If OutPos UBoundouttext Then C 30 |256| 4 C 30 |256| 4 51 ReDim Preserve outtextOutPos + 500 C 2 1 C 2 52 End If C 21 |256| 4 C 21 |256| 3 53 End If C 21 |256| 4 C 21 |256| 3 54 End If C 21 |256| 3 C 21 |256| 3 55 MaxValue = MaxValue And TopBit - 1 2 + 1 C 31 |256| 3 C 31 |256| 3 56 MinValue = MinValue And TopBit - 1 2 C 32 |256| 3 C 32 |256| 3 57 If MinValue = MaxValue Then C 33 |256| 3 C 33 |256| 3 58 MaxValue = 2 MaxBits - 1 C 34 |256| 3 C 34 |256| 3 59 End If C 21 |256| 3 C 21 |256| 3 60 Loop C 35 |256| 3 C 35 |256| 3 61 Next C 8 |256| 2 C 8 |256| 2 62 Loop C 35 |256| C 35 |256| 63 For i = MaxBits - 1 To 0 Step -1 C 6 |256| C 6 |256| 64 If MinValue And 2 i = 0 Then C 23 |256| C 23 |256| 65 OutByteBuf = OutByteBuf 2 + 0 C 24 |256| C 24 |256| 66 OutBitCount = OutBitCount + 1 C 25 |256| C 25 |256| 67 If OutBitCount = 8 Then C 26 |256| C 26 |256| 68 outtextOutPos = OutByteBuf C 27 |256| C 27 |256| 69 OutBitCount = 0 C 28 |256| C 28 |256| 70 OutByteBuf = 0 C 28 |256| C 28 |256| 71 OutPos = OutPos + 1 C 29 |256| C 29 |256| Universitas Sumatera Utara 72 If OutPos UBoundouttext Then C 30 |256| C 30 |256| 73 ReDim Preserve outtextOutPos + 500 C 2 1 C 2 74 End If C 21 |256| C 21 |256| 75 End If C 21 |256| C 21 |256| 76 Else C 20 |256| 2 C 20 |256| 2 77 OutByteBuf = OutByteBuf 2 + 1 C 24 |256| 2 C 24 |256| 2 78 OutBitCount = OutBitCount + 1 C 25 |256| 2 C 25 |256| 2 79 If OutBitCount = 8 Then C 26 |256| 2 C 26 |256| 2 80 outtextOutPos = OutByteBuf C 27 |256| 2 C 27 |256| 2 81 OutBitCount = 0 C 28 |256| 2 C 28 |256| 2 82 OutByteBuf = 0 C 28 |256| 2 C 28 |256| 2 83 OutPos = OutPos + 1 C 29 |256| 2 C 29 |256| 2 84 If OutPos UBoundouttext Then C 30 |256| 2 C 30 |256| 2 85 ReDim Preserve outtextOutPos + 500 C 2 1 C 2 86 End If C 21 |256| 2 C 21 |256| 2 87 End If C 21 |256| 2 C 21 |256| 2 88 End If C 21 |256| 2 C 21 |256| 2 89 Next C 8 |256| C 8 |256| 90 Do While OutBitCount 0 C 9 |256| C 9 |256| 91 OutByteBuf = OutByteBuf 2 + 1 C 24 |256| C 24 |256| 92 OutBitCount = OutBitCount + 1 C 25 |256| C 25 |256| 93 If OutBitCount = 8 Then C 26 |256| C 26 |256| 94 outtextOutPos = OutByteBuf C 27 |256| C 27 |256| 95 OutBitCount = 0 C 28 |256| C 28 |256| 96 OutByteBuf = 0 C 28 |256| C 28 |256| 97 OutPos = OutPos + 1 C 29 |256| C 29 |256| 98 If OutPos UBoundouttext Then C 30 |256| C 30 |256| 99 ReDim Preserve outtextOutPos + 500 C 2 1 C 2 10 End If C 21 |256| C 21 |256| Universitas Sumatera Utara 10 1 End If C 21 |256| C 21 |256| 10 2 Loop C 35 |256| C 35 |256| 10 3 ReDim Preserve outtextOutPos - 1 C 2 1 C 2 10 4 End Sub Dari perhitungan running time pada tabel 4.5 terdapat 5 kolom. Kolom 1 merupakan nomor urut dari code program dari metode Dynamic Markov Compression. Kolom 2 merupakan code program metode Dynamic Markov Compression. Kolom 3 atau kolom c merupakan waktu yang dibutuhkan untuk menjalankan setiap statement dari code. Kolom 4 atau kolom merupakan berapa kali statement tersebut dijalankan. Sedangkan kolom 5 merupakan perkalian dari C dengan . Oleh karena itu didapat T |n| yang merupakan jumlah dari kolom c yaitu sebagai berikut. Tn = 2C 1 + 7C 2 + C 3 + 2C 4 + C 5 +3C 6 |256| + 2C 7 |256| + 2C 8 |256| + C 9 |256| + 2C 12 |256| + C 13 |256| + C 14 |256| + C 15 |256| + 2C 16 |256| + C 17 |256| + 2C 18 |256| + 2C 19 |256| + C 20 |256| + 5C 21 |256| + C 23 |256| + 2C 24 |256| + 2C 25 |256| + 2C 26 |256| + 2C 27 |256| + 4C 28 |256| + 2C 29 |256| + 2C 30 |256| + 2C 35 |256| + C 8 |256| 2 + C 9 |256| 2 + C 10 |256| 2 + C 11 |256| 2 + C 20 |256| 2 + 3C 21 |256| 2 + C 24 |256| 2 + C 25 |256| 2 + C 26 |256| 2 + C 27 |256| 2 + 2C 28 |256| 2 + C 29 |256| 2 +C 30 |256| 2 + 6C 21 |256| 3 + C 22 |256| 3 + C 23 |256| 3 + C 24 |256| 3 + C 25 |256| 3 + C 26 |256| 3 + C 27 |256| 3 +2C 28 |256| 3 + C 29 |256| 3 + C 30 |256| 3 +C 31 |256| 3 + C 32 |256| 3 + C 33 |256| 3 + C 34 |256| 3 + C 35 |256| 3 + C 20 |256| 4 + C 24 |256| 4 + C 25 |256| 4 + C 26 |256| 4 + C 27 |256| 4 + 2C 28 |256| 4 + C 29 |256| 4 + C 30 |256| 4 = 2C 1 + 7C 2 + C 3 + 2C 4 + C 5 |256| + 3C 6 + 2C 7 + 2C 8 + C 9 + 2C 12 + C 13 + C 14 + C 15 + 2C 16 + C 17 + 2C 18 + 2C 19 + C 20 + 5C 21 + C 23 + 2C 24 + 2C 25 + 2C 26 + 2C 27 + 4C 28 + 2C 29 + 2C 30 + 2C 35 |256| 1 + C 8 + C 9 + C 10 + C 11 + C 20 + 3C 21 + C 24 + C 25 + C 26 + C 27 + 2C 28 + C 29 + C 30 |256| 2 + 6C 21 + C 22 + C 23 + C 24 + C 25 + C 26 + C 27 +2C 28 + C 29 + C 30 +C 31 + C 32 + C 33 + C 34 + C 35 |256| 3 + C 20 + C 24 + C 25 + C 26 + C 27 + 2C 28 + C 29 + C 30 |256| 4 Tn = |256| 4 Diperoleh bahwa dari segi kompleksitas waktu rata-rata yang dibutuhkan untuk mengkompresi file dengan algoritma Dynamic Markov Compression adalah panjang dari bit. Dari perhitungan diatas maka nilai big  = |256| 4 yang merupakan average time , untuk worst time yaitu big O |256| 4 , dan untuk best time yaitu big  |256| 4 dimana 256 merupakan bit yang masing-masing kondisi merupakan kompleksitas dari metode Dynamic Markov Compression. Universitas Sumatera Utara

4.5.2. Perhitungan Running Time Dekompresi

Proses perhitungan running time dilakukan untuk mendapatkan Big , Big , dan Big O . Dari hasil yang didapat nantinya akan berguna agar user mengetahui waktu terbaik dan terburuk dari algoritma DMC. Tabel 4.6 berikut ini adalah tabel perhitungan running time. Tabel 4.6 Tabel Perhitngan Running Time Dekompresi No Code c c 1 Dim InpPos As Integer C 1 1 C 1 2 Dim InBitPos As Integer C 1 1 C 1 3 Dim MinValue As Integer C 1 1 C 1 4 Dim MaxValue As Integer C 1 1 C 1 5 Dim RangValue As Integer C 1 1 C 1 6 Dim MidValue As Integer C 1 1 C 1 7 Dim Value As Integer C 1 1 C 1 8 Dim mChar As Byte C 1 1 C 1 9 Dim i As Integer C 1 1 C 1 10 Dim Index As Integer C 1 1 C 1 11 Dim EOF_State As Boolean C 1 1 C 1 12 Dim TopBit As Integer C 1 1 C 1 13 Dim One256 As Integer C 1 1 C 1 14 Dim Zero256 As Integer C 1 1 C 1 15 ReDim outtext500 C 2 1 C 2 16 OutPos = 0 C 3 1 C 3 17 OutBitCount = 0 C 3 1 C 3 18 OutByteBuf = 0 C 3 1 C 3 19 MinValue = 0 C 3 1 C 3 20 MaxValue = 2 MaxBits – 1 C 4 1 C 4 21 TopBit = 2 MaxBits - 1 C 5 1 C 5 22 InpPos = 0 C 3 1 C 3 23 Value = ReadBitsFromArraylistarr, InpPos, InBitPos, C 6 1 C 6 Universitas Sumatera Utara MaxBits 24 Index = -1 C 7 1 C 7 25 For i = 0 To 256 C 8 |256| C 8 |256| 26 Onei = 1 C 9 |256| C 9 |256| 27 Zeroi = 1 C 9 |256| C 9 |256| 28 Next C 10 |256| C 10 |256| 29 Do C 11 |256| 2 C 11 |256| 2 30 mChar = 0 C 12 |256| 2 C 12 |256| 2 31 For i = 0 To 7 C 13 |256| C 13 |256| 32 Index = 1 2 i - 1 + mChar C 14 |256| C 14 |256| 33 RangValue = MaxValue - MinValue C 15 |256| C 15 |256| 34 MidValue = MinValue + RangValue ZeroIndex OneIndex + ZeroIndex C 16 |256| C 16 |256| 35 If MidValue = MinValue Then MidValue = MidValue + 1 C 17 |256| C 17 |256| 36 If MidValue = MaxValue - 1 Then MidValue = MidValue – 1 C 17 |256| C 17 |256| 37 If Value = MidValue Then C 18 |256| C 18 |256| 38 mChar = 2 mChar + 1 C 19 |256| C 19 |256| 39 MinValue = MidValue C 20 |256| C 20 |256| 40 OneIndex = OneIndex + 1 C 21 |256| C 21 |256| 41 Else C 22 |256| C 22 |256| 42 mChar = 2 mChar C 19 |256| C 19 |256| 43 MaxValue = MidValue C 20 |256| C 20 |256| 44 ZeroIndex = ZeroIndex + 1 C 21 |256| C 21 |256| 45 End If C 23 |256| 2 C 23 |256| 2 46 Do While MaxValue And TopBit = MinValue And TopBit Or MinValue MaxValue - 255 C 24 |256| 3 C 24 |256| 3 47 If InpPos = UBoundlistarr Then C 25 |256| 3 C 25 |256| 3 48 Value = Value And TopBit - 1 2 + ReadBitsFromArraylistarr, InpPos, InBitPos, 1 C 26 |256| 3 C 26 |256| 3 49 MaxValue = MaxValue And TopBit - 1 2 + 1 C 27 |256| 3 C 27 |256| 3 50 MinValue = MinValue And TopBit - 1 2 C 27 |256| 3 C 27 |256| 3 51 If MinValue = MaxValue Then MaxValue = 2 MaxBits – 1 C 28 |256| 3 C 28 |256| 3 Universitas Sumatera Utara 52 Else C 22 |256| 4 C 22 |256| 4 53 EOF_State = True C 29 |256| 4 C 29 |256| 4 54 Exit Do C 30 |256| 4 C 30 |256| 4 55 End If C 23 |256| 4 C 23 |256| 4 56 Loop C 31 |256| 3 C 31 |256| 3 57 If EOF_State = True Then Exit Do C 32 |256| 3 C 32 |256| 3 58 Next C 10 |256| 2 C 10 |256| 2 59 Call AddmCharToArrayouttext, OutPos, mChar C 33 |256| 2 C 33 |256| 2 60 Loop C 31 |256| C 31 |256| 61 ReDim Preserve outtextOutPos - 1 C 2 1 C 2 62 End Sub Dari perhitungan running time pada tabel 4.6 terdapat 5 kolom. Kolom 1 merupakan nomor urut dari code program dari metode Dynamic Markov Compression. Kolom 2 merupakan code program metode Dynamic Markov Compression. Kolom 3 atau kolom c merupakan waktu yang dibutuhkan untuk menjalankan setiap statement dari code. Kolom 4 atau kolom merupakan berapa kali statement tersebut dijalankan. Sedangkan kolom 5 merupakan perkalian dari C dengan . Oleh karena itu didapat T |n| yang merupakan jumlah dari kolom c yaitu sebagai berikut. Tn = 14C 1 + 2C 2 + 5C 3 + C 4 + C 5 +C 6 + C 7 + C 8 |256| + C 9 |256| + C 10 |256| + C 13 |256| + C 14 |256| + C 15 |256| + C 16 |256| + 2C 17 |256| + C 18 |256| + 2C 19 |256| + 2C 20 |256| + 2C 21 |256| + C 22 |256| + C 10 |256| 2 + C 11 |256| 2 + C 12 |256| 2 + C 33 |256| 2 + C 24 |256| 3 + C 25 |256| 3 + C 26 |256| 3 + 2C 27 |256| 3 +C 28 |256| 3 + C 31 |256| 3 + C 32 |256| 3 + C 22 |256| 4 + C 23 |256| 4 + C 29 |256| 4 + C 30 |256| 4 = 14C 1 + 2C 2 + 5C 3 + C 4 + C 5 +C 6 + C 7 |256| + C 8 + C 9 + C 10 + C 13 + C 14 + C 15 + C 16 + 2C 17 + C 18 + 2C 19 + 2C 20 + 2C 21 + C 22 |256| 1 + C 10 + C 11 + C 12 + C 33 |256| 2 + C 24 + C 25 + C 26 + 2C 27 +C 28 + C 31 + C 32 |256| 3 + C 22 + C 23 + C 29 + C 30 |256| 4 Tn = |256| 4 Diperoleh bahwa dari segi kompleksitas waktu rata-rata yang dibutuhkan untuk mengkompresi file dengan algoritma Dynamic Markov Compression adalah panjang dari bit. Dari perhitungan diatas maka nilai big  = |256| 4 yang merupakan average time , untuk worst time yaitu big O |256| 4 , dan untuk best time yaitu big  |256| 4 dimana 256 merupakan bit yang masing-masing kondisi merupakan kompleksitas dari metode Dynamic Markov Compression. Universitas Sumatera Utara BAB 5 KESIMPULAN DAN SARAN Setelah membaca bab ini, pembaca akan mengerti tentang kesimpulan yang didapat dari penulis, dan juga saran dari penulis. 5.1 Kesimpulan Berdasarkan Berdasarkan hasil studi literatur, analisis, perancangan, implementasi dan pengujian sistem ini, maka didapat kesimpulan sebagai berikut : 1. Dari 5 file .docx dan .odt yang di kompresi didapatkan file yang berukuran besar belum tentu hasil kompresinya mempunyai rasio paling besar. 2. Dan dari 5 file .docx dan .odt yang di dekompresi didapatkan file yang berukuran besar hasil dekompresinya mempunyai rasio paling besar. 3. Dari analisis algoritma dari segi kompleksitas diperoleh bahwa waktu rata-rata yang dibutuhkan untuk mengkompresi file dengan algoritma Dynamic Markov Compression adalah panjang dari bit. Dimana nilai big  = |256| 4 Universitas Sumatera Utara

5.2 Saran

Adapun saran-saran yang dapat penulis berikan untuk pengembangan dan perbaikan sistem ini adalah sebagai berikut : 1. Membandingkan kinerja algoritma dengan algoritma kompresi lossless lainnya. 2. Sistem ini dapat dikembangkan lebih lanjut dengan menambahkan pilihan file data berformat lain, seperti .pdf, .xlsx, dan lain-lain. 3. Menambahkan database untuk history pada aplikasi yang dibangun pada penelitian untuk perhitungan properties berkas yang telah dimampatkan. Universitas Sumatera Utara

BAB 2 TINJAUAN PUSTAKA

Setelah membaca bab ini maka pembaca akan memahami pengertian tentang kompresi, pengolahan citra, kompresi data, Teknik kompresi, Kompresi citra.

2.1 Defenisi Data