Hasil
Hasil analisis kinerja implementasi algoritme AES sekuensial, paralel dengan I/O sekuensial, dan paralel dengan I/O paralel diawali dengan menghitung waktu eksekusi untuk tiap jenis perlakuan dan data yang berbeda. Setelah diketahui waktu eksekusinya, performance metrics yang lain dapat dihitung.
17
Pengujian Validitas
Pengujian validitas dilakukan untuk mengetahui bahwa file yang dienkripsi oleh algoritme AES secara sekuensial, algoritme AES secara paralel dengan menggunakan I/O sekuensial, dan algoritme AES secara paralel dengan menggunakan I/O paralel memiliki nilai checksums yang sama, yang artinya ketiga algoritme tersebut memiliki keluaran yang sama. Pengujian validitas menggunakan software MD5Check version 3.0. Hasil nilai checksums disajikan pada Gambar 16, 17, 18, 19, dan 20.
Gambar 16 Hasil nilai checksums enkripsi AES
sekuensial dengan AES secara paralel yang menggunakan I/O sekuensial
Gambar 17 Hasil nilai checksums enkripsi AES
sekuensial dengan AES secara paralel yang menggunakan I/O paralel
18
Gambar 18 Hasil nilai checksums dekripsi AES sekuensial dengan file awal
Gambar 19 Hasil nilai checksums dekripsi AES secara paralel dengan menggunakan I/O sekuensial dengan file awal
19
Gambar 20 Hasil nilai checksums dekripsi AES secara paralel dengan menggunakan I/O paralel dengan file awal
Pada Gambar 16 dan 17 dapat dilihat bahwa keluaran yang dihasilkan oleh ketiga algoritme sama, dan pada Gambar 18, 19, dan 20 dapat dilihat bahwa hasil dekripsi ketiga algoritme memiliki nilai yang sama dengan file awal. Dengan demikian dapat diketahui bahwa ketiga algoritme tersebut bekerja dengan benar.
Waktu Eksekusi Sekuensial
Waktu eksekusi enkripsi AES secara sekuensial untuk tiap file disajikan pada Gambar 21.
20
Gambar 21 menunjukkan waktu eksekusi enkripsi AES akan lebih lama berdasarkan ukuran file yang akan di eksekusi.Hal tersebut terjadi karena semakin besar ukuran file jumlah blok yang akan di baca maupun di tulis menjadi semakin lebih banyak.
Waktu Eksekusi Paralel
Perbandingan waktu Eksekusi enkripsi AES secara paralel yang menggunakan I/O sekuensial dan AES secara paralel yang menggunakan I/O paralel untuk setiap file disajikan pada Gambar 22, 23, 24, dan 25.
Gambar 22 Perbandingan waktu eksekusi enkripsi AES secara paralel, I/O sekuensial dengan I/O paralel ukuran file kecil satu komputer
Gambar 23 Perbandingan waktu eksekusi enkripsi AES secara paralel, I/O sekuensial dengan I/O paralel ukuran file besar satu komputer
21
Gambar 24 Perbandingan waktu eksekusi enkripsi AES secara paralel, I/O sekuensial dengan I/O paralel ukuran file kecil dua komputer
Gambar 25 Perbandingan waktu eksekusi enkripsi AES secara paralel, I/O sekuensial dengan I/O paralel ukuran file kecil dua komputer
Waktu eksekusi algoritme AES secara paralel dengan menggunakan I/O paralel jauh lebih cepat dibanding waktu eksekusi AES secara paralel yang menggunakan I/O sekuensial untuk semua kasus. Namun demikian penambahan jumlah prosesor tidak selalu mengurangi waktu eksekusi hal itu terjadi pada saat membangkitkan empat proses menggunakan dua komputer. Waktu eksekusi meningkat pada saat membangkitkan empat proses pada saat menggunakan file kecil baik algoritme AES secara paralel menggunakan I/O sekuensial maupun yang menggunakan I/O paralel. Hal itu dapat terjadi akibat dari beberapa faktor, yaitu latensi jaringan yang tidak konstan, kerja prosesor yang tidak stabil ataupun pengaruh dari cache memori.
Waktu eksekusi pada saat menggunakan satu komputer mengurang di setiap penambahan jumlah proses baik pada algoritme AES secara paralel yang menggunakan I/O sekuensial maupun yang menggunakan I/O paralel. Hal itu terjadi karena eksekusi tersebut dilakukan dalam satu ruang lingkup yang sama sehingga tidak terlalu memakan waktu untuk komunikasi. Waktu tercepat untuk
22
I/O paralel adalah 2.172 detik untuk file kecil dan 63.795 detik untuk file besar yang menggunakan dua komputer. Waktu tercepat untuk I/O sekuensial adalah 2.802 detik untuk file kecil dan 70.550 detik untuk file besar yang menggunakan dua komputer. Waktu tercepat file kecil yang menggunakan satu komputer untuk I/O paralel adalah 2.289 detik dan 57.894 detik untuk file besar. Waktu tercepat file kecil untuk I/O sekuensial yang menggunakan satu komputer adalah 3.054 detik sedangkan untuk file besar adalah 75.537 detik.
Speedup
Nilai perbandingan speedup enkripsi AES secara paralel yang menggunakan I/O sekuensial dan I/O paraleldisajikan pada Gambar 26 dan Gambar 27.
Gambar 26 Perbandingan speedup enkripsi AES secara paralel, I/O sekuensial dan I/O paralel pada satu komputer
Gambar 27 Perbandingan speedup enkripsi AES secara paralel, I/O sekuensial dan I/O paralel pada dua komputer
23 Berdasarkan Gambar 26, nilai speedup cenderung naik seiring meningkatnya jumlah proses. Fenomena ini hanya berlaku jika jumlah proses kurang dari atau sama dengan jumlah prosesor. Jika jumlah proses lebih besar dari jumlah prosesor, maka speedup akan konstan dan bahkan dapat menurun.
Pada Gambar 27 menunjukkan ada penurunan pada speedup pada saat menggunakan empat proses. Hal ini terjadi karena waktu eksekusi file kecil menggunakan dua komputer meningkat di saat menggunakan empat proses sehingga hal itu berdampak juga pada nilai speedup.
Dari data yang ditunjukkan Gambar 20 dan 21 nilai speedup menunjukkan selalu melebihi satu, hal itu menunjukkan adanya penurunan waktu eksekusi dibandingkan dengan algoritme AES sekuensial, selain itu nilai speedup pada gambar tersebut juga menyatakan bahwa algoritme AES secara paralel yang menggunakan I/O paralel selalu lebih baik dibandingkan dengan AES secara paralel yang menggunakan I/O sekuensial.
Efisiensi
Nilai perbandingan efisiensi enkripsi AES secara paralel yang menggunakan I/O sekuensial dan I/O paralel disajikan pada Gambar 28 dan 29.
Gambar 28 Perbandingan efisiensi enkripsi AES secara paralel, I/O sekuensial dan I/O paralel pada satu komputer
Berdasarkan Gambar 28 menunjukkan semakin banyak jumlah proses yang digunakan, nilai efisiensi yang diperoleh semakin menurun. Hal ini menunjukkan pemanfaatan prosesor yang rendah. Penambahan jumlah prosesor tidak dapat menurunkan waktu secara proporsional, untuk semua jenis file. Saat menggunakan dua proses, algoritme AES secara paralel yang menggunakan I/O paralel menyentuh efisiensi hingga 0.903 untuk file kecil dan 0.943 untuk file besar. Hal tersebut menunjukkan algoritme tersebut cukup bagus saat menggunakan dua proses pada satu komputer hal tersebut bisa dikatakan mendekati cost-optimal karena nilai efisiensinya mendekati 1. Efisiensi terbesar untuk algoritme AES
24
secara paralel yang menggunakan sekuensial I/O file kecil (4.5 MB) sebesar 0.8 dan 0.77 untuk file besar.
Gambar 29 Perbandingan efisiensi enkripsi AES secara paralel, I/O sekuensial dan I/O paralel pada dua komputer
Gambar 29 menunjukkan bahwa adanya peningkatan efisiensi pada algoritme AES secara paralel yang menggunakan I/O paralel pada saat menggunakan tiga proses nilai efisien meningkat hingga 0.95 untuk ukuran file kecil namun pada ukuran file besar untuk algoritme I/O paralel cenderung turun. Hal itu berbanding terbalik dengan algoritme AES secara I/O paralel sekuensial pada saat mengunakan file kecil nilai efisiensi algoritme tersebut cenderung turun namun pada saat menggunakan file besar adanya peningkatan pada saat menggunakan tiga proses. Namun tingkat efisiensi algoritme AES secara paralel yang menggunakan I/O paralel lebih tinggi dibandingkan dengan yang menggunakan I/O sekuensial.
Hasil lengkap pada penelitian kali ini dapat dilihat pada Lampiran 2, 3, 4, 5, 6, 7, 8, dan 9.
Perbandingan Waktu Proses Input dan Output
Perbandingan waktu proses input dan output antara algoritme AES secara paralel yang menggunakan I/O sekuensial dan algoritme AES secara paralel yang menggunakan I/O paralel disajikan pada Gambar 30.
25
Gambar 30 Perbandingan waktu proses input dan output I/O sekuensial vs I/O paralel
Pada Gambar 30 dapat dilihat bahwa pembacaan file dan kunci tidak berkurang secara signifikan karena pada saat setelah melakukan pembacaan file, informasi file yang telah dibaca dikembalikan lagi kepada root untuk memecah file input menggunakan fungsi scatter. Untuk penulisan output waktu eksekusi berkurang sangat signifikan karena pada penulisan output tersebut, semua proses langsung melakukan penulisan output.