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