BAB 4
IMPLEMENTASI DAN PENGUJIAN
Setelah membaca bab ini maka pembaca akan memahami pengertian tentang implementasi sistem, pengujian sistem, hasil pengujian algoritma DMC pada file text.
4.1 Implementasi Sistem
Setelah tahap analisis dan perancangan sistem, selanjutnya akan dilakukan tahap implementasi dan pengujian terhadap sistem yang telah dibangun. Implementasi
sistem harus sesuai dengan analisis dan perancangan sistem. Penjelasan tentang implementasi sistem dilakukan untuk mengetahui hasil dari aplikasi yang dirancang,
dan pengujian sistem dilakukan untuk membuktikan kebenaran proses kompresi dan dekompresi yang berjalan pada sistem.
Sistem ini menggunakan algoritma DMC untuk mengkompresi file text yaitu berformat .docx dan .odt. Setelah dilakukan kompresi, kemudian sistem akan
menampilkan keterangan file text yang telah terkompresi. Misalnya ukuran citra awal yang terkompresi, waktu yang dibutuhkan untukproses kompresi, rasio awal
dan rasio akhir. Berikut adalah proses perhitungan untuk kompresi file. Misalkan kata yang akan dimampatkan adalah “ILMU KOMPUTER”. Maka
dilakukan pendataan Nilai ASCII dari “ILMU” dimana I=73, L=76, M=77, U=85,
Spasi=32, K=75, O=79, M=77, P=80, U=85, T=84, E=69, R=82.
Universitas Sumatera Utara
Bit Set = mChar And 2 7 - i And HFF
ASCII 1
2 3
4 5 6 7 128
64 32
16 8 4 2 1 I
73 64
0 8 0 0 1 L
76 64
0 8 4 0 0 M
77 64
0 8 4 0 1 U
85 64
16 0 4 0 1 32
32 0 0 0 0 0
K 75
64 0 8 0 2 1
O 79
64 0 8 4 2 1
M 77
64 0 8 4 0 1
P 80
64 16 0 0 0 0
U 85
64 16 0 4 0 1
T 84
64 16 0 4 0 0
E 69
64 0 0 4 0 1
R 82
64 16 0 0 2 0
Index = 2 i - 1 + IntmChar 2 8 - i
0 1 2 3 4
5 6
7 0 1 4 9
19 40
81 163
0 1 4 9 19
40 82
165 0 1 4 9
19 40
82 165
0 1 4 9 20
41 84
169 0 1 3 8
17 35
71 143
0 1 4 9 19
40 81
164 0 1 4 9
19 40
82 166
0 1 4 9 19
40 82
165 0 1 4 9
20 41
83 167
0 1 4 9 20
41 84
169 0 1 4 9
20 41
84 169
0 1 4 9 19
39 80
161 0 1 4 9
20 41
83 168
Setelah itu mencarimenampilkan MaxValue dan MinValue.
MaxValue 1
2 3
4 5
6 7
16777215 8388608
8388608 8388611
8388613 8388613
8388627 8388637
8388637 11184919 11184919 8699401 14084779 11392343 12014943 12246685
12710165 9764364
9764364 16214703 13729183 13729183 10681151 8817010
8817010 8568458
8568458 8409385
8409385 11292287 11292287 9256096
Universitas Sumatera Utara
9256096 9086413 16188095 15598975 11074080
8811632 11111623 13173449 8648548 16004269 15231323 13384424 10306260 10306260 12627679
8478143 8478143 15822007 14866799 12896773
9519585 9519585
9519585 9047823
9047823 8656944
8656944 16634495 14506378 12235541 12235541 9733918
9733918 9546296
9546296 9396199 15465727 12619423
8824352 12673031 8877956
8532949 8532949 16225471 14570239 11521630 11521630
9997326 9997326
9827959 9827959
9686820 10385703 9564527
9564527 9071822
9971247 9516441
9516441 9131605 12693883 15631639 14486063
9547332 9547332
9370949 9370949
9219763 13298495 11437746 10470499 16655135
MinValue 1
2 3
4 5
6 7
0 4194304 4194306
8 16
4194326 88 3728365 3728365 7456730
2554944 231740
463480 926960
926960 3136311 6272622 6272622 8136762 5088728 5088728
7574249 7574249 7773091 7773091 8282126 3147520 7219904 7219904
8238000 8238000 7138304 6549184 6549184 6549184 2061824 4123648
4123648 8247296 4149932 4149932 4149932 5381198 4747576 3224740
5851442 6628552 1076616 1076616 1076616 2483778 6001682 2012008
5529916 5529916 6224811 8122028 8122028 1290940 5981483 5981483
7857700 7857700 8195419 8195419 6926816 6926816 6926816 5082880
5082880 5082880 5710165 6063444 2375804 2375804 6948717 6948717
7964920 7964920 8275426 8275426 6279824 6279824 7593705 7593705
4058768 4058768 4898410 4898410 2816424 5754176 4608600 4608600
7077966 7077966 7405535 7405535 2134000 2134000 4268000
115128 Kemudian dengan mendapatkan nilai MaxValue dan MinValue setelah itu mencari
RangValue dengan cara MaxValue-MinValue. RangValue = MaxValue
– MinValue
1 2
3 4
5 6
7 16777215
8388608 4194304
8388611 8388613
4194307 8388619
8388621 4194311 11184831
7456554 4971036
6628049 8837399 11783203 11783205
11783205 8837404
6628053 9942081
7456561 5592421
5592423 3728282
1242761 994209
795367 636294
127259 8144767
4072383 2036192
1018096 848413
9049791 9049791
4524896 2262448
9049799 9049801
4524900 7756973 11081391
9234492 6156328
4925062 7880103
5253403 2626701
9193455 13790183 11820157 8442969
7035807 3517903
7035815 3517907
3127028 2432133
8512467 6384350 10944601
6254058 3752435
1876218 1688596
1350877 1200780
8538911 5692607
1897536 7590151
3795076 3450069
2822784 10162027 12194435 9145826
4572913 3048609
2032406 1863039
1552533 1411394
4105879 3284703
1970822 1478117
Universitas Sumatera Utara
5912479 5457673
4618031 4233195
9877459 9877463
9877463 4938732
2469366 2292983
1965414 1814228 11164495
9303746 6202499 16540007
Setelah tu mencari MidValue dengan cara seperti berikut. MidValue = MinValue + RangValue ZeroIndex OneIndex + ZeroIndex
1 2
3 4
5 6
7 8388608
4194304 6291456
4194306 4194306
6291460 4194318
4194326 6990533
3728365 8699401
7042389 9666080
8446543 6123342
6355082 9764364
3136311 8107351 13729183
8136762 10932972 8817010
7574249 8568458
7773091 8409385
8282126 8345756
7219904 9256096
8238000 9086413
8379402 11663200 11074080 8811632
7680408 6586724
8648548 8002134 10463574 13384424 10306260
5381198 7351223 10000978
5851442 8149805
8926916 12896773 9519585
2483778 6001682
8640109 5529916
8656944 6224811
8352927 14506378 9034078
5981483 9733918
7857700 9546296
8195419 9396199
9129359 12619423 8824352
7875584 8877956
8532949 5710165
8250671 13176863 11521630 6948717
9997326 7964920
9827959 8275426
9686820 9173586
9564527 7593705
9071822 7963234
9516441 4898410
9131605 7367774
4051106 10692908 9547332
7077966 9370949
7405535 9219763
8521983 11437746 5235249
8402999 8385132
If MidValue = MinValue Then MidValue = MidValue + 1 If MidValue = MaxValue - 1 Then MidValue = MidValue - 1
Max Value selanjutnya If Bitset 0 Then
Niilai minvalue diganti dengan nilai midvalue jika bitset lebih besar dari 0 MinValue = MidValue
OneIndex = OneIndex + 1 Else
Nilai maxvalue diganti dengan nilai midvalue jika bitset lebih kecil sama dengan 0 MaxValue = MidValue
ZeroIndex = ZeroIndex + 1
End If Setelah itu dapatlah nilai
– nilai ASCII akhir yaitu : 73
97 126
253
Universitas Sumatera Utara
150 227
139 120
233 194
224 220
63 Akhirnya nilai ASCII ini berubanh menjadi karakter
– karakter simbol : 73= I, 97= a, 126= ~, 253= ý, 150=
–, 227= ã, 139= ‹, 120= x, 233= é, 194=Â, 224= à, 220= Ü, 63= ?.
Hasil akhir adalah: Ia~ý –ã‹xéÂàÜ?
Berikut adalah proses perhitungan untuk kompresi file Index = 1 2 i - 1 + mChar
0 1 2 3 4
5 6
7 0 1 4 9
19 40
81 163
0 1 4 9 19
40 82
165 0 1 4 9
19 40
82 165
0 1 4 9 20
41 84
169 0 1 3 8
17 35
71 143
0 1 4 9 19
40 81
164 0 1 4 9
19 40
82 166
0 1 4 9 19
40 82
165 0 1 4 9
20 41
83 167
0 1 4 9 20
41 84
169 0 1 4 9
20 41
84 169
0 1 4 9 19
39 80
161 0 1 4 9
20 41
83 168
Setelah itu mencarimenampilkan MaxValue dan MinValue.
MaxValue 1
2 3
4 5
6 7
16777215 8388608
8388608 8388611
8388613 8388613
8388627 8388637
8388637 11184919 11184919 8699401 14084779 11392343 12014943 12246685
12710165 9764364
9764364 16214703 13729183 13729183 10681151 8817010
8817010 8568458
8568458 8409385
8409385 11292287 11292287 9256096
9256096 9086413 16188095 15598975 11074080
8811632 11111623 13173449 8648548 16004269 15231323 13384424 10306260 10306260 12627679
8478143
Universitas Sumatera Utara
8478143 15822007 14866799 12896773 9519585
9519585 9519585
9047823 9047823
8656944 8656944 16634495 14506378 12235541 12235541
9733918 9733918
9546296 9546296
9396199 15465727 12619423 8824352 12673031
8877956 8532949
8532949 16225471 14570239 11521630 11521630 9997326
9997326 9827959
9827959 9686820 10385703
9564527 9564527
9071822 9971247
9516441 9516441
9131605 12693883 15631639 14486063 9547332
9547332 9370949
9370949 9219763 13298495 11437746 10470499 16655135
MinValue 1
2 3
4 5
6 7
0 4194304 4194306
8 16
4194326 88 3728365 3728365 7456730
2554944 231740
463480 926960
926960 3136311 6272622 6272622 8136762 5088728 5088728
7574249 7574249 7773091 7773091 8282126 3147520 7219904 7219904
8238000 8238000 7138304 6549184 6549184 6549184 2061824 4123648
4123648 8247296 4149932 4149932 4149932 5381198 4747576 3224740
5851442 6628552 1076616 1076616 1076616 2483778 6001682 2012008
5529916 5529916 6224811 8122028 8122028 1290940 5981483 5981483
7857700 7857700 8195419 8195419 6926816 6926816 6926816 5082880
5082880 5082880 5710165 6063444 2375804 2375804 6948717 6948717
7964920 7964920 8275426 8275426 6279824 6279824 7593705 7593705
4058768 4058768 4898410 4898410 2816424 5754176 4608600 4608600
7077966 7077966 7405535 7405535 2134000 2134000 4268000
115128 Kemudian dengan mendapatkan nilai MaxValue dan MinValue setelah itu mencari
RangValue dengan cara MaxValue-MinValue. RangValue = MaxValue
– MinValue
1 2
3 4
5 6
7 16777215
8388608 4194304
8388611 8388613
4194307 8388619
8388621 4194311 11184831
7456554 4971036
6628049 8837399 11783203 11783205
11783205 8837404
6628053 9942081
7456561 5592421
5592423 3728282
1242761 994209
795367 636294
127259 8144767
4072383 2036192
1018096 848413
9049791 9049791
4524896 2262448
9049799 9049801
4524900 7756973 11081391
9234492 6156328
4925062 7880103
5253403 2626701
9193455 13790183 11820157 8442969
7035807 3517903
7035815 3517907
3127028 2432133
8512467 6384350 10944601
6254058 3752435
1876218 1688596
1350877 1200780
8538911 5692607
1897536 7590151
3795076 3450069
2822784 10162027 12194435 9145826
4572913 3048609
2032406 1863039
1552533 1411394
4105879 3284703
1970822 1478117
5912479 5457673
4618031 4233195
9877459 9877463
9877463 4938732
2469366 2292983
1965414 1814228 11164495
9303746 6202499 16540007
Universitas Sumatera Utara
Setelah tu mencari MidValue dengan cara seperti berikut. MidValue = MinValue + RangValue ZeroIndex OneIndex + ZeroIndex
1 2
3 4
5 6
7 8388608
4194304 6291456
4194306 4194306
6291460 4194318
4194326 6990533
3728365 8699401
7042389 9666080
8446543 6123342
6355082 9764364
3136311 8107351 13729183
8136762 10932972 8817010
7574249 8568458
7773091 8409385
8282126 8345756
7219904 9256096
8238000 9086413
8379402 11663200 11074080 8811632
7680408 6586724
8648548 8002134 10463574 13384424 10306260
5381198 7351223 10000978
5851442 8149805
8926916 12896773 9519585
2483778 6001682
8640109 5529916
8656944 6224811
8352927 14506378 9034078
5981483 9733918
7857700 9546296
8195419 9396199
9129359 12619423 8824352
7875584 8877956
8532949 5710165
8250671 13176863 11521630 6948717
9997326 7964920
9827959 8275426
9686820 9173586
9564527 7593705
9071822 7963234
9516441 4898410
9131605 7367774
4051106 10692908 9547332
7077966 9370949
7405535 9219763
8521983 11437746 5235249
8402999 8385132
If MidValue = MinValue Then MidValue = MidValue + 1 If MidValue = MaxValue - 1 Then MidValue = MidValue
– 1 Untuk Value selanjutnya
If Value = MidValue Then mChar dikali 2 dan ditambah 1 jika nilai value lebih besar dari midvalue
mChar = 2 mChar + 1 Dan nilai minvalue menjadi midvalue jika nilai value lebih besar dari midvalue
MinValue = MidValue OneIndex = OneIndex + 1
Else Dan mChar dikali 2 jika nilai value lebih besar dari midvalue
mChar = 2 mChar Nilai maxValue menjadi midvalue jika nilai value lebih besar dari midvalue
MaxValue = MidValue ZeroIndex = ZeroIndex + 1
End If Setelah itu dapatlah nilai
– nilai ASCII akhir yaitu : 73
76 77
Universitas Sumatera Utara
85 32
75 79
77 80
85 84
69 82
Akhirnya nilai ASCII ini berubanh menjadi karakter – karakter simbol :
73= I, 76= L, 77= M, 85= U, 32= [Spasi], 75= K, 79= O, 77= M, 80= P, 85=U, 84= T, 69= E, 82= R.
Hasil akhir adalah: ILMU KOMPUTER
4.2 Pengujian Sistem