Implementasi Sistem Implementasi Dan Analisis Algoritma Dynamic Markov Compression (DMC) Pada File Text

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