APLIKASI CHAT MESSENGER DENGAN MENGIMPLEMENTASIKAN ALGORITMA KRIPTOGRAFI ONE TIME PAD PADA JARINGAN KOMPUTER
1,2,3
Fazar Ahmad Thaib1, Ummul Khair2, Dodi Siregar3 Program Studi Teknik Informatika, Sekolah Tinggi Teknik Harapan Jl. HM Joni No 70 C Medan
E-mail :
[email protected],
[email protected],
[email protected]
Abstrak Kemajuan teknologi sangat dirasakan manfaatnya terkhusus dibidang komputer. Pada zaman sekarang ini komunikasi sudah bergerser menjadi kebutuhan pokok setiap orang, baik secara langsung maupun menggunakan perangkat komputer. Namun, disamping memberikan manfaat perkembangan teknologi juga dapat disalahgunakan sehingga menimbulkan dampak negatif bagi penggunanya. Salah satu cara untuk mengamankan data saat berkomunikasi melalui perangkat komputer adalah dengan kriptografi. Pada tugas akhir ini penulis mengunakan metode one time pad sebagai teknik pengamanan data yang diimplementasikan pada aplikasi chatting Local Area Network (LAN). Kemungkinan terjadinya penyadapan data dalam jaringan sangat bersar dikarenakan hampir tidak ada sistem yang sempurna. Namun apabila pesan rahasia yang dikirim sampai kepada orang yang tidak berhak menerimanya, pesan tersebut masih berbentuk pesan terenkripsi yang tidak dapat dimengerti. Kata kunci : Chatting, One Time Pad, LAN, Kriptografi, VB.Net. Abstract Advances in technology very useful especially those in the computer field. At this day and age bergerser communication has become a basic need of everyone, either directly or using the computer. However, in addition to providing the benefits of technological developments can also be misused, causing a negative impact on users. One way to secure data while communicating through a computer device is cryptography. In this thesis the author uses the one-time pad method as a data security techniques are implemented to the chat application Local Area Network (LAN). The possibility of tapping the data in the network must've because almost no system is perfect. However, if the secret message that is sent to the person who is not entitled to receive it, the message is still in the form of an encrypted message that can not be understood. Keywords : Chatting, One Time Pad, LAN, Cryptography, VB.Net. Dengan kemajuan teknologi mempunyai sisi negatif dari teknologi itu sendiri. Salah satunya adalah rawannya tingkat keamanan data sehingga menimbulkan tantangan dan tuntutan akan tersedianya suatu sistem pengamanan data yang sama canggihnya dengan kemajuan teknologi komputer itu sendiri. Ada beberapa cara melakukan pengamanan data yang melalui suatu saluran, salah satu diantaranya adalah kriptografi. Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga. Pada awal mula kriptografi dipahami sebagai ilmu tentang menyembunyikan pesan, tetapi seiring perkembangan zaman hingga saat ini kriptografi memiliki kunci yang digunakan dalam algoritma kriptografi dapat dibedakan atas algoritma simetri dan algoritma asimetri. Pengembangan kedua algoritma tersebut diperlukan cipher dan kunci.
1.
PENDAHULUAN Perkembangan dan kemajuan teknologi di bidang komputer memungkinkan ribuan orang bahkan jutaan orang dari komputer di seluruh dunia dapat terhubung dalam satu dunia maya yang biasa dikenal dengan sebutan Internet. Dengan internet manusia dapat saling bertukar pesan data dan informasi satu sama lain melalui jaringan komputer. Hampir setiap instansi terdapat jaringan komputer untuk memperlancar informasi di dalam instansi tersebut. Jaringan komputer adalah sebuah kumpulan komputer yang saling terhubung sehingga memungkinkan pengguna dapat saling bertukar data dan informasi juga untuk bertukar sumber daya. Dengan jaringan komputer cara pengiriman pesan mungkin tidak harus lagi memakai selembar kertas sebagai media pesan, sekarang kita bisa menggunakan banyak aplikasi untuk bertukar pesan seperti email, chatting, dan lain sebagainya.
1
Dalam kriptografi, data yang dikirimkan melalui jaringan akan disamarkan sedemikian rupa sehingga kalau data itu bisa dibaca maka tidak bisa dimengerti oleh pihak yang tidak berhak. Data yang akan dikirimkan dan belum mengalami penyandian dikenal dengan isitilah plaintext, dan setelah disamarkan dengan suatu cara penyandian, maka plaintext ini akan berubah menjadi ciphertext. Kriptografi mempunyai sejarah yang panjang, mulai dari kriptografi Caesar yang berkembang pada zaman sebelum Masehi sampai kriptografi modern yang digunakan dalam komunikasi antar komputer di abad 20. Kata kriptografi sendiri berasal dari bahasa Yunani, yaitu kryptós yang berarti tersembunyi, dan gráphein yang berarti menulis. Jadi Kriptografi berarti penulisan rahasia. Algoritma kriptografi terdiri dari algoritma enkripsi (E) dan algoritma dekripsi (D). Enkripsi yaitu mengubah plaintext atau pesan asli ke bentuk chipertext atau pesan yang sudah tidak menyerupai bentuk aslinya. Sedangkan Dekripsi adalah sebaliknya, yaitu mengubah chipertext menjadi bentuk plaintext atau bentuk aslinya. Enkripsi dimaksudkan untuk melindungi informasi agar tidak terlihat oleh orang atau pihak yang tidak berhak. Ada beberapa algoritma enkripsi yang biasa digunakan seperti DES, Triple DES, Blowfish, IDEA dan sebagainya. Algoritma-algoritma tersebut begitu rumit dan sulit dimengerti dengan dalih faktor keamanan, semakin sulit suatu algoritma dimengerti, maka semakin aman. Namun bagi para pengguna mereka tidak memikirkan seberapa sulit algoritma dan aplikasinya, yang mereka inginkan adalah menjaga kerahasiaan data. Ada dua syarat untuk mengimplementasikan suatu sistem enkripsi yang aman. Pertama, true random bits (benar-benar hanya dihasilkan sekali) dan kedua, key space yang besar untuk algoritma enkripsi tersebut. Jika kedua syarat dipenuhi, tidak masalah seberapa kompleks algoritma enkripsinya. Bahkan semakin sederhana semakin baik, karena semakin sederhana suatu algoritma, maka akan semakin sedikit proses komputasinya dan semakin sedikit waktu yang dibutuhkan untuk mengeksekusinya. Kesederhanaan itulah yang ditawarkan oleh algoritma One Time Pad (OTP), algoritma kriptografi yang secara teori dan praktek aman dari tangan-tangan penyadap, dan dikenal dengan sebutan unbreakable algorithm. Oleh karena itu, pada tugas akhir ini penulis akan membuat aplikasi chat messenger sederhana yang lalu lintas pengiriman data akan dienkripsi dengan salah satu metode algoritma kriptografi yaitu One Time Pad. Berdasarkan latar belakang masalah di atas, rumusan masalah yang yang akan dibahas pada penulisan tugas akhir ini adalah : 1. Membuat aplikasi chatting yang memiliki fasilitas enkripsi untuk mengamankan pesan yang dikirimkan
2.
Menerapkan algoritma kriptografi One Time Pad pada aplikasi chat messenger untuk menjaga keamanan komunikasi dalam jaringan LAN Dalam penelitian ini, batasan masalah yang akan dibuat adalah sebagai berikut : 1. Aplikasi chatting yang dibuat berbasis dekstop 2. Aplikasi dapat digunakan pada jaringan Local Area Networking (LAN) 3. Keamanan pesan chatting menerapkan algoritma kriptografi One Time Pad 4. Kunci yang digunakan adalah kunci simetris, yaitu dalam proses enkripsi dan proses dekripsi dengan kunci yang sama. 5. Aplikasi dibuat dengan menggunakan bahasa pemrograman Microsoft Visual Basic.Net 2010 Adapun penelitian yang hendak dicapai dalam penelitian ini adalah: 1. Merancang suatu perangkat lunak aplikasi chatting berbasis jaringan LAN. 2. Menerapkan metode kriptografi One Time Pad di dalam aplikasi chat messanger pada jaringan LAN. Sedangkan manfaat dari penelitian ini adalah sebagai berikut : 1. Perangkat lunak dapat digunakan untuk melakukan komunikasi (chatting) berbasis LAN. 2. Perangkat lunak dapat dijadikan sebagai referensi dalam merancang perangkat lunak berbasis LAN dengan menggunakan Microsoft Visual Basic 2010. 3. Perangkat lunak dapat digunakan untuk mengamankan pesan chat yang dikirim 2.
METODE PENELITIAN Metode atau pendekatan yang digunakan dalam penelitian ini adalah a. Studi Pustaka Studi pustaka dilakukan dengan cara membaca buku, jurnal, modul dan semua yang berhubungan dengan algoritma keamanan kriptografi One Time Pad dan aplikasi chat messenger. Segala informasi atau data yang dikumpulkan dari bahan tercetak, baik secara manual ataupun online termasuk dalam metode ini. Berikut adalah penjelasan tentang studi pustaka yang digunakan dalam penelitian ini. b. Perancangan Sistem dan Implementasi Metode ini dilakukan dengan cara merancang arsitektur sistem, antarmuka, dan prosedural sistem. Setelah itu mengimplementasikan algoritma kriptografi One Time Pad ke dalam sistem yang dibangun. c. Pengujian Metode ini dilakukan dengan cara menguji kinerja dari sistem yang dibangun dan analisa hasilnya. Informasi saat ini sudah menjadi sebuah komoditi yang sangat penting bagi sebuah organisasi, perguruan tinggi, lembaga pemerintahan
2
maupun individual, kemampuan dalam mengakses dan menyediakan informasi secara cepat serta akurat. Karena pentingnya sebuah informasi, seringkali informasi yang diinginkan hanya dapat diakses oleh orang tertentu misalnya pihak penerima yang diinginkan, dan jika informasi ini sampai diterima oleh pihak yang tidak diinginkan akan berdampak kerugian pada pihak pengirim. Informasi terdapat dalam berbagai bentuk. Bisa berupa hasil cetakan atau tulisan pada kertas, disimpan secara elektronik, dikirimkan lewat pos atau secara eletronik, ditampilkan dalam film, atau disebutkan dalam percakapan. Apapun bentuk dari informasi tersebut, atau dengan cara bagaimana dibagi atau disimpan, harus selalu dilindungi dengan selayaknya. Keamanan informasi adalah suatu upaya untuk mengamankan informasi terhadap ancaman yang mungkin timbul dari pihak luar yang tidak bertanggung jawab, yang dapat merusak informasi tersebut. Keamanan informasi adalah bagaimana kita dapat mencegah penipuan, atau paling tidak mendeteksi adanya penipuan di sebuah sistem yang berbasis informasi, dimana informasinya sendiri tidak memiliki arti fisik. Untuk itu diperlukanlah sebuah pendekatan dalam melakukan pengamanan pada informasi, seperti melakukan enkripsi, steganografi, cipher dan hashing terhadap informasi tersebut. Kata “komunikasi” berasal dari bahasa Latin, Communis, yang berarti membuat kebersamaan atau membangun kebersamaan antara dua orang atau lebih [1]. Komunikasi sangat penting bagi kehidupan manusia. Melalui komunikasi manusia dapat menyampaikan pesan atau informasi kepada orang lain. Pendek kata dengan melakukan komunikasi manusia dapat berhubungan atau berinteraksi antara satu dengan yang lain. Dalam dunia pendidikan, media komunikasi memberikan kontribusi yang besar dalam kemajuan maupun peningkatan mutu di suatu lembaga pendidikan. Dengan memakai media tersebut anak didik akan mudah mencerna dan memahami suatu pelajaran. Dengan demikian melalui pendekatan ilmiah sistematis, dan rasional tujuan pendidikan dapat dicapai secara efektif dan efisien [2]. Kriptografi (cryptography) berasal dari Bahasa Yunani: ”cryptos” artinya ”secret” (rahasia), sedangkan ”graphein” artinya ”writing” (tulisan), Jadi, kriptografi berarti ”secret writing” (tulisan rahasia) [3]. Jadi, kata “cryptography” berarti tulisan tersembunyi (hidden writing) dan umumnya mengacu pada bagian enkripsi yang membentuk sistem transmisi rahasia. Ilmu kriptografi adalah ilmu yang mempelajari tentang penyembunyian huruf atau tulisan sehingga membuat tulisan tersebut tidak dapat dibaca oleh orang yang tidak berkepentingan. Kriptografi sudah
dipakai sejak jaman Julius Caesar dimana akan mengirimkan pesan kepada panglimanya tetapi tidak mempercayai kurir pembawa pesan tersebut. Kriptografi mempunyai 2 (dua) bagian yang penting, yaitu enkripsi dan dekripsi. Enkripsi adalah proses dari penyandian pesan asli menjadi pesan yang tidak dapat diartikan seperti aslinya. Dekripsi sendiri berarti merubah pesan yang sudah disandikan menjadi pesan aslinya. Pesan asli biasanya disebut plaintext, sedangkan pesan yang sudah disandikan disebut ciphertext [4]. Tujuan awal pemanfaatan kriptografi adalah untuk menjaga kerahasian (secrecy). Seiring dengan penetrasi TIK dalam kehidupan manusia, kriptografi digunakan untuk tujuan keamanan lainnya, seperti autentikasi, integritas, dan non-repudiasi. Tulisan ini mengetengahkan evolusi tersebut secara singkat, dan memperlihatkan peran dan perkembangan kriptografi baik pada saat ini maupun di masa yang akan datang [5]. One-time pad (OTP) adalah stream cipher yang melakukan enkripsi dan dekripsi satu karakter setiap kali. Algoritma ini ditemukan pada tahun 1917 oleh Major Joseph Mauborgne sebagai perbaikan dari Vernam cipher untuk menghasilkan keamanan yang sempurna. Mauborgne mengusulkan penggunaan one-time pad (pad = kertas bloknot) yang berisi deretan karakterkarakter kunci yang dibangkitkan secara acak. Satu pad hanya digunakan sekali (onetime) saja untuk mengenkripsi pesan, setelah itu pad yang telah digunakan dihancurkan supaya tidak dipakai kembali untuk mengenkripsi pesan yang lain [6]. Algoritma One Time Pad (OTP) merupakan algoritma berjenis symetric key yang artinya bahwa kunci yang digunakan untuk melakukan enkripsi dan dekripsi merupakan kunci yang sama. Dalam proses enkripsi, algoritma ini menggunakan cara stream cipher yang berasal dari hasil XOR antara bit plaintext dan bit key. Pada metode ini plaintext diubah kedalam kode ASCII dan kemudian dikenakan operasi XOR terhadap kunci yang sudah diubah ke dalam kode ASCII. Suatu algoritma dikatakan bagus keamanannya, apabila belum ada atau tidak ada cara untuk menemukan plaintext-nya. Sampai saat ini, hanya algoritma One Time Pad (OTP) yang dinyatakan tidak dapat dipecahkan meskipun diberikan sumber daya yang tidak terbatas. Prinsip enkripsi pada algoritma ini adalah dengan mengkombinasikan masing-masing karakter pada plaintext dengan satu karakter pada kunci. Oleh karena itu, panjang kunci setidaknya harus sama dengan panjang plaintext. Secara teori, adalah hal yang tak mungkin untuk mendeskripsi ciphertext tanpa mengetahui kuncinya. Sebab jika kunci yang digunakan salah, akan diperoleh hasil yang salah juga, atau bukan plaintext yang seharusnya. Kemudian setiap kuncinya hanya boleh digunakan untuk sekali pesan. Pengambilan
3
kunci harus dilakukan secara acak supaya tidak dapat diterka lawan dan jumlah karakter kunci harus sebanyak jumlah karakter pesan. Kelemahan dari One Time Pad adalah Panjang KUNCI = Panjang PESAN. Semakin banyak pesan semakin banyak pula kunci yang digunakan dan akhirnya semakin mempersulit pendistribusian kunci.
bersama-sama membentuk sebuah jaringan agar dapat saling berkomunikasi, bertukar data dan resource. Dalam suatu jaringan komputer, terjadi sebuah proses komunikasi antar entiti atau perangkat yang berlainan sistemnya. Entiti atau perangkat ini adalah segala sesuatu yang mampu menerima dan mengirim. Untuk berkomunikasi mengirim dan menerima antara dua entiti dibutuhkan pengertian di antara kedua belah pihak. Pengertian ini lah yang dikatakan sebagai protokol. Jadi protokol adalah himpunan aturan-aturan main yang mengatur komunikasi data. Protokol mendefinisikan apa yang dikomunikasikan, bagaimana dan kapan terjadinya komunikasi.
Rumus dasar dari Sandi One Time Pad adalah Enkripsi : ci = (pi + ki) mod 26 Dekripsi : di = (ci - ki) mod 26 Penjelasan : c = Chipertext p = Plaintext k = Kunci plaintext i = Karakter ke-i
2.1. Flowchart Sistem Flowchart atau Bagan alir merupakan teknik analitis yang digunakan untuk menjelaskan aspekaspek sistem informasi secara jelas, tepat dan logis. Bagan alir menggunakan serangkaian simbol standar untuk menguraikan prosedur pengolahan transaksi yang digunakan oleh sebuah perusahaan, sekaligus menguraikan aliran data dalam sebuah sistem Flowchart proses enkripsi dengan menggunakan algoritma kriptografi One Time Pad dapat dilihat pada gambar berikut ini :
Tahapan Sandi One Time Pad 1. Pilih karakter secara acak sebanyak karakter pada pesan sebagai kunci enkripsi. 2. Jumlahkan karakter ke-i dari pesan dengan kunci ke-i dan mod 26. Contoh Kasus : Plaintext Kunci
: FAZAR : AHMAD
Penyelesaian : Plaintext Kunci Hasil
: FAZAR : AHMAD :?
Deretan Abjad : A B C D E
F
G
H
I
J
K
L
M
0
1
5
6
7
8
9
10
11
12
N 13
2
3
4
O
P
Q
R
S
T
U
V
W
X
Y
Z
14
15
16
17
18
19
20
21
22
23
24
25
Ilustrasi Enkripsi : Plaintext : FAZAR Kunci : AHMAD Hasil : C = (P + K) MOD 26
Ilustrasi Dekripsi : Chipertext : FHLAU Kunci : AHMAD Hasil :? P = (C - K) MOD 26 Plaintext
= 5 0 = 0 7 5 7 = 5 7 F H
25 12 37 11 L
= = = =
11 0 20 12 0 3 _ -1 0 17 25 0 17 Z A R
5 0 5 5 F
7 7 0 0 A
0 17 0 3_ + 0 20 0 20 A U
Gambar 1 Flowchart Proses Enkripsi
Jaringan Komputer adalah sebuah rangkaian yang terdiri dua atau lebih komputer yang dapat berhubungan satu dengan yang lain yang secara
Sedangkan flowchart untuk proses dekripsi adalah sebagai berikut :
4
Gambar 3. Activity Diagram Aplikasi Chat Messenger Gambar 2 Flowchart Proses Dekripsi 2.2. Activity Diagram Diagram activity menggambarkan berbagai alir aktivitas dalam sistem yang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi dan bagaimana mereka berakhir. Penggambaran activity diagram memiliki kemiripan dengan flowchart diagram. Activity diagram memodelkan event-event yang terjadi pada Use Case dan digunakan untuk pemodelan aspek dinamis dari sistem. Berikut ini adalah activity diagram aplikasi Chat Messenger.
3.
HASIL DAN PEMBAHASAN Hasil dan pembahasan merupakan penjelasan mengenai hasil dari aplikasi yang telah dirancang. Berikut adalah tampilan antar muka dari aplikasi chat messenger yang telah dirancang. Tampilan berikut ini adalah tampilan aplikasi chat messenger pada server. Pada tampilan ini, ditampilkan informasi mengenai proses status koneksi dari komputer client ke komputer server. Berikut adalah tampilan antar muka aplikasi
Gambar 4. Tampilan Server
5
Gambar 6. Tampilan Form Sign Up Nama dan password saat melakukan Sign Up tidak boleh dikosongkan, jika nama atau password kosong, maka akan muncul pesan. Berikut ini adalah tampilan pesan-pesan kesalahan yang terjadi saat melakukan Sign Up.
Gambar 5. Tampilan Halaman Utama Pada gambar 5 di atas adalah merupakan tampilkan halaman utama saat aplikasi pertama kali terbuka. Terlihat belum ada user yang sedang aktif. Untuk dapat melakukan chatting user harus Sign In terlebih dahulu. Namun jika user belum mempunyai akun, maka diharuskan untuk Sign Up terlebih dahulu. Pada tampilan di atas, terdapat beberapa tombol menu yang dapat digunakan. Berikut rincian dari fungsi masing-masing tombol tersebut: 1. Tombol “Sign Up”, untuk melakukan pendaftaran user baru yang akan menggunakan aplikasi. 2. Tombol “Sign In”, untuk masuk ke sistem. Agar dapat melakukan pengiriman dan penerimaan pesan. 3. Tombol “Sign Out”, untuk memutuskan koneksi dan keluar dari percakapan. 4. Tombol “Send” untuk mengirimkan pesan 5. Tombol “Encrypt” untuk mengekripsikan pesan yang akan dikirim 6. Tombol “Decrypt” untuk dekrip pesan yang diterima
Gambar 7. Tampilan Pesan Jika Nama dan Password Kosong Gambar 7. di atas menunjukkan bahwa saat melakukan sign up nama dan password belum diisi.
Form Sign Up digunakan untuk mendaftarkan user baru agar dapat menggunakan aplikasi ini. Pada form ini user baru diminta untuk memasukkan nama, password dan alamat IP adress server. Data akan tersimpan di server jika data yang dimasukkan telah benar. Dan user baru dapat login dengan menggunakan nama dan username yang telah didaftarkan. Berikut adalah tampilan form sign up.
Gambar 8. Tampilan Pesan Password Kosong Sedangkan gambar 8 menunjukkan bahwa saat melakukan sign up password masih kosong.
6
Gambar 9. Tampilan Pesan Perintah Selesai Sign Up Pada gambar 9. di atas user telah selesai Sign Up dan untuk dapat menggunakan aplikasi ini, user disarankan untuk restart aplikasi. Kemudian setelah proses Sign Up selesai. Maka proses selanjutnya adalah melakukan Sign In untuk dapat chat ke sesama user lainnya. Untuk dapat melakukan chatting di aplikasi chat messenger ini, user diharuskan untuk Sign In terlebih dahulu. Untuk dapat memanggil form Sign In user dapat memilih menu Sign In pada halaman utama. Setelah form Sign In muncul inputkan nama dan password serta alamat IP Address server. Jika data telah benar sesuai dengan data yang tersimpan di server maka Sign In berhasil dan dapat melakukan chatting di aplikasi ini. Berikut ini adalah tampilkan form Sign In.
Gambar 12 Tampilan Pesan Saat Password Dikosongkan Pada gambar 12 di atas menjelaskan bahwa ketika melakukan sign in, pengguna belum mengisi kotak password. Ketika melakukan Sign in, maka sistem akan mengecek apakah data login sudah benar dan sesuai dengan database penyimpanan, jika tidak terdaftar maka sistem akan menampilkan gagal sign in. Ataupun ketika menginputkan ip server yang salah maka sistem juga akan menampilkan gagal sing in. berikut tampilan gagal sign in.
Gambar 10. Tampilan Form Sign In Berikut tampilan pesan-pesan kesalahan dalam login.
Gambar 13 Tampilan Pesan Saat Username dan Password Tidak Terdaftar Percakapan chat yang dilakukan pada aplikasi ini adalah berbasis multiuser. Sehingga semua user yang sedang aktif dapat melakukan chat bersama. Atau biasa disebut chat room. Untuk dapat melakukan chat antar dua orang user, disarankan untuk mengaktifkan server sendiri antara dua orang tersebut. Sehingga chat dapat dilakukan hanya oleh kedua orang tersebut. Berikut ini adalah contoh percakapan oleh beberapa user.
Gambar 11. Tampilan Pesan Saat Nama dan Password Dikosongkan Pada gambar 11 di atas menjelaskan bahwa ketika melakukan sign in, pengguna belum mengisi kotak name dan password.
7
Gambar 14 Tampilan Percakapan User
Gambar 16 Tampilan User Saat Pesan Telah Dikirim
Pada gambar 4.11. ada beberapa user yang sedang aktif yang ditunjukan di sisi kanan. Dan tampilan di atas merupakan tampilan yang terdapat pada user bernama Dani. Untuk melakukan pengiriman pesan user menginputkan pesan yang akan dikirim di kotan pesan seperti yang terlihat pada gambar di atas. User Dani sedang menuliskan pesan untuk membalas pesan dari user wahyu. Dan untuk mengirimkannya user menekan tombol “Send”. Pesan yang diinputkan akan terkirim dan tampil di kotak chat messenger. Berikut ini adalah tampilannya.
Pada gambar 16 menunjukkan pesan terkirim dengan baik. Begitu juga user lainnya ketika mengirim balik atau membalas pesan, pesan tersebut terkirim dengan baik. Pada aplikasi chat messenger ini, dilengkapi dengan fasilitas enkripsi pesan untuk mengamankan pesan yang kita kirim. Untuk dapat melakukan enkripsi pesan pilih tombol “Encrypt”. Cara melakukannya adalah pesan yang akan dikirim terlebih dahulu diketikan di kotak pesan pengiriman dan kemudian tekan tombol “Encrypt”, maka akan muncul tampilan form enkripsi pesan seperti terlihat pada gambar berikut ini :
Gambar 15 Tampilan User Saat Penulisan Pesan Gambar 17. Tampilan Form Enkripsi Pesan
Pada gambar 15 menampilkan proses saat user menulis pesan. Pesan yang ditulis akan dikirim dengan cara menekan tombol enter pada keyboard atau tombol send yang disediakan . Pesan dapat berupa pesan biasa ataupun pesan terenkripsi dengan metode One Time Pad.
Setelah muncul form enkripsi pesan, inputkan kunci dan klik tombol “Proses” maka akan muncul pesan chipertext. Pilih penerima dan tekan tombol “Send” untuk mengirimkan pesan ke penerima yang dituju. Maka pesan yang terkirim akan menampilkan pesan chat yang telah dienkripsi.
8
Gambar 18. Tampilan Pesan yang Terenkripsi
Gambar 20. Form Dekrip Pesan
Form Dekripsi pesan digunakan untuk mengembalikan pesan yang terenkrip menjadi pesan yang bisa terbaca. Untuk memulai proses dekripsi pesan, pilih pesan yang terenkrip, dan tekan tombol “Decrypt”. Selanjutnya akan tampil form dekrip pesan. Berikut gambar tampilan form dekrisi pesan.
Setelah form dekripsi muncul pada gambar 20, maka selanjutkan inputkan kunci untuk membuka pesan yang terenkrip dan tekan tombol “Proses”, jika kata kunci benar, maka pesan asli akan muncul dan dapat terbaca. Namun jika kunci salam pesan tidak dapat terbaca. Berikut tampilan enkripsi pesan.
Gambar 21. Tampilan Form Dekripsi Pesan Jika Menginput Kunci Yang Benar
Gambar 19. Tampilan Pemilihan Pesan Yang Akan Dienkrip
Gambar 21. di atas merupakan dekripsi pesan dengan menggunakan kunci yang benar, sehingga menhasilkan pesan asli yang dapat terbaca. Namun jika menggunakan kunci yang salah, maka pesan tidak dapat terbaca. Berikut tampilan pesan yang menggunakan kunci tidak sama (salah).
Pada gambar 4.16. di atas menggambarkan tampilan percakapan pesan antar pengguna yang bercetak biru artinya pesan yang terpilih untuk kemudian dilakukan dekripsi pesan.
9
4.2 Saran Adapun saran untuk aplikasi yang telah dibuat adalah sebagai berikut: a. Penulis mengharapkan agar aplikasi chat messenger ini menggunakan jaringan intranet (LAN) berbasis dekstop ini dapat dikembangkan menjadi lebih baik lagi di kemudian hari, dan agar bisa dikembangkan lagi untuk layanan berbasis web ataupun berbasis mobile agar lebih mudah digunakan. b. Agar menggunakan algoritma kriptografi lain yang proses perhitungannya lebih sulit sehingga susah untuk dipecahkan seperti rijndael, RSA, RC6 ataupun yang lainnya. c. Agar dapat memberikan fasilitas lainnya, seperti video streaming dengan menggunakan web camera dan fasilitas pengiriman file seperti foto, file dokumen ataupun file lainnya.
Gambar 22 Tampilan Form Dekripsi Pesan Jika Menginput Kunci Yang Salah Gambar 22 menunjukkan pesan yang dihasilkan belum dapat terbaca.
5.
4. PENUTUP 4.1 Simpulan Berdasarkan hasil implementasi dan pengujian, maka penulis dapat menyimpulkan sebagai berikut : a.
b.
c.
d.
e.
DAFTAR PUSTAKA
[1] Ikhsanuddin, Muhammad Arif, 2012, Pengaruh Komunikasi Interpersonal Dan Lingkungan Keluarga Terhadap Intensi Berwirausaha Siswa SMK Muhammadiyah 3 Yogyakarta, Jurnal Penelitian, Fakultas Teknik Universitas Negeri Yogyakarta, Yogyakarta
Aplikasi chat messenger ini dapat memberikan kemudahan untuk berkomunikasi saling bertukar informasi penting, karena aplikasi ini dirancang dengan menggunakan algoritma kriptografi untuk mengamankan pesan yang dikirim sehingga aman jika dilakukan penyadapan oleh pihak yang tidak bertanggung jawab. Algoritma kriptografi yang digunakan dalam aplikasi ini adalah algoritma kriptografi One Time Pad, yaitu algoritma yang memiliki kunci simetris yaitu untuk melakukan proses enkripsi dan dekripsi pesan menggunakan kunci yang sama. Dalam melakukan proses enkripsi dan dekripsi pesan, tidak membutuhkan waktu yang lama, karena Algoritma One Time Pad tidak melakukan banyak operasi bilangan. Kelebihan dari algoritma One Time Pad yang diterapkan pada aplikasi chat messenger ini, walaupun pengoperasian algoritma ini sangat sederhana, namun mempunyai keamanan tingkat yang tinggi. Semakin panjang kunci, maka akan semakin tinggi pula tingkat keamanannya Sedangkan kekurangan dari algoritma ini adalah menggunakan kunci simetris sehingga keamanan kunci harus dirahasia terhadap orang lain. Hanya pengirim dan penerima pesan yang harus tau.
[2] Umar, 2014, Media Pendidikan Peran dan fungsinya dalam pembelajaran, Jurnal Tarbawiyah Volume 11 Nomor 1 Edisi Januari – Juli 2014 [3] Hasugian, Abdul Halim, 2013, Implementasi Algoritma Hill Cipher Dalam Penyandian Data, Pelita Informatika Budi Darma, Volume : IV, Nomor: 2, Agustus 2013, STMIK Budi Darma, Medan [4] M. Sholeh dan Hamokwarong, J.V, 2011, Aplikasi kriptografi dengan metode Vernam cipher dan metode permutasi Biner, Momentum, Vol. 7, No. 2, Oktober 2011 : 813, Teknik Infomartika Fakultas Teknologi Industri Institut Sains & Teknologi AKPRIND, Yogyakarta [5] Tarigan, Avinanta, 2014, Peran dan Perkembangan Kriptografi Dulu, Sekarang, dan di Masa yang Akan Datang, Paper SNIKOM 2014, Universitas Gunadarma, Jakarta [6] Munir, Rinaldi, 2011, Algoritma Enkripsi Citra dengan Pseudo One-Time Pad yang Menggunakan Sistem Chaos, Konferensi Nasional Informatika – KNIF 2011 ISSN: 2087 – 3328, Institut Teknologi Bandung, Bandung
10