SISTEM KEAMANAN PESAN TEKS PADA EMAIL MENGGUNAKAN
ALGORITMA TRIPLE TRANSPOSITION VIGENERE CIPHER
(TTVC) DAN RSA
SKRIPSI
DARMA WARISTA
091402099
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
SISTEM KEAMANAN PESAN TEKS PADA EMAIL MENGGUNAKAN
ALGORITMA TRIPLE TRANSPOSITION VIGENERE CIPHER
(TTVC) DAN RSA
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Teknologi Informasi
DARMA WARISTA
091402099
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
PERSETUJUAN
Judul : SISTEM KEAMANAN PESAN TEKS PADA
EMAIL MENGGUNAKAN ALGORITMA
TRIPLE TRANSPOSITION VIGENERE CIPHER
(TTVC) DAN RSA
Kategori : SKRIPSI
Nama : DARMA WARISTA
Nomor Induk Mahasiswa : 091402099
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI
Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
Diluluskan di
Medan, September 2014
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dani Gunawan, ST.,MT NIP. 19800110 200801 1 010
M. Andri Budiman, ST.,M.Com.,M.E.M NIP. 19751008 200801 1 010
Diketahui/Disetujui oleh
Program Studi Teknologi Informasi Ketua,
PERNYATAAN
SISTEM KEAMANAN PESAN TEKS PADA EMAIL MENGGUNAKAN
ALGORITMA TRIPLE TRANSPOSITION VIGENRE CIPHER (TTVC) DAN RSA
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, September 2014
DARMA WARISTA
UCAPAN TERIMA KASIH
Puji dan syukur penulis panjatkan kepada Allah SWT Yang Maha Pengasih dan Maha Penyayang, dengan segala rahmat dan karuniaNya penulisan tugas akhir ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Selama penyelesaian tugas akhir ini, banyak bantuan dan kerja sama serta doa dan dukungan dari berbagai pihak, oleh karena itu penulis sampaikan ucapan terima kasih sedalam-dalamnya dan penghargaan kepada :
1. Kedua orang tua dan sanak saudara penulis yang telah memberikan dukungan dan motivasi baik materil dan spiritual, Ayahanda Johannes Daud dan Ibunda Sabarita Sinulingga yang selalu sabar dalam mendidik dan membesarkan penulis. Untuk adik penulis Riki Ardian yang selalu memberikan semangat kepada penulis.
2. Bapak M. Andri Budiman, ST.,M.Com.,M.E.M dan Bapak Dani Gunawan,
ST.,MT selaku pembimbing yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis.
3. Ibu Dedi Arisandi, ST.M.Kom dan Bapak M. Anggia Muchtar, ST.,MM.IT yang
telah bersedia menjadi dosen pembanding yang telah memberikan kritik dan saran kepada penulis.
4. Ketua dan Sekretaris Program Studi Teknologi Informasi, Bapak M. Anggia Muchtar, ST.,MM.IT dan Bapak M. Fadly Syahputra, B.Sc.,M.Sc.IT.
5. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi
Universitas Sumatera Utara, semua dosen serta pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi.
6. Seluruh sahabat terbaik penulis yang selalu memberikan dukungan, Ahmad Najam, Wildan Afifi, Satrya Prayudi, Mahathir Febrian, Fachriza Fahmi, Andre H Lubis, M Taufiqul Hadi, Anthea Ria M, Reyza Mirwanda, Dudung, Boho, Yogi, Dedek, Razky, Ranap, Donny, Erfahd, Adha, Mulki, Yudhi, Muslim, Syarah, Mitha, Ari Rifki, Onang, Hardiyanti Safitri, Bang Aulia, Bang Ridho, Bang Doyok, Bang Bayu serta seluruh angkatan 09, teman SRC, teman-teman Sepak Bola FASILKOM-TI, teman-teman-teman-teman SMA, teman-teman-teman-teman Jalbar, serta teman-teman seluruh angkatan mahasiswa USU lainnya yang tidak dapat penulis sebutkan satu persatu.
ABSTRAK
Kemajuan sistem informasi semakin tak terbatas, saat ini banyak dokumen
penting yang dikirim menggunakan media internet. Namun, Perkembangan
teknologi informasi yang seprti itu pula yang meneyebabkan informasi atau
pesan yang dipertukarkan tersebut tidak aman. Pelaku kejahatan memanfaatkan
celah ketidakamanan tersebut untuk dimasuki dan melakukan manipulasi pesan
atau informasi jika pesan atau informasi tersebut diubah. Sebagai contoh dapat
terjadinya salah paham dan kerugian materil lewat kebocoran dan kerusakan
data yang terjadi. Maka perlu teknik pengamanan lebih untuk menjaga
kerahasiaan dan keamanan dari informasi atau pesan tersebut. Untuk
menyelesaikan permasalahan ini dapat diselesaikan dengan menggunakan
kombinasi algoritma. Dengan menerapkan sistem kriptografi asimetris RSA dan
kriptografi simetris Triple Transposition Vigenere Cipher. Berdasarkan
pengujian yang telah dilakukan, kombinasi kombinasi algoritma RSA dan Triple
Transposition Vigenere Cipher dapat mengamankan pesan teks yang telah
dikirim karena melakukan proses perulangan sebanyak tiga kali dengan
menggunakan tiga kunci transposisi dan tiga substitusi yang berbeda dan
dikombinasikan dengan algoritma RSA.
Kata kunci: RSA Algorithm, Triple Transposition Vigenere Cipher , Kriptografi
SISTEM KEAMANAN PESAN TEKS PADA EMAIL MENGGUNAKAN
ALGORITMA TRIPLE TRANSPOSITION VIGENERE CIPHER
(TTVC)DAN RSA
ABSTRACT
Progress development of information systems increasingly so quick. Theres so
many important document has been send by internet However, development of
information technology as it also causes exchanged of information or messages
not safe anymore. hackers exploit the insecurity gap to enter and manipulate
messages or information has been changed. For example, can lead to leakage
and data corrupt. So need more security techniques for maintaining the
confidentiality and security of information or messages. To resolve this problem
can be solved by using a combination of cryptografi algorithms. By applying the
RSA asymmetric cryptography system and symmetric cryptography Triple
Transposition Cipher Vigenere. Based on the testing that has been done, the
combination of the combination of the RSA algorithm and the Triple
Transposition Cipher Vigenere can secure text messages that have been sent
because use the iteration process three times using three key transposition and
substitution of three different and combined with the RSA algorithm.
Kata kunci: RSA Algorithm, Triple Transposition Vigenere Cipher , Kriptografi
DAFTAR ISI
2.4.1. Algoritma Simetrik ( Symmetric Algorithm ) ... 9
2.4.2. Algoritma Asimetrik ( Asymmetric Algorithm ) ... 9
2.4.3. Algoritma RSA ... 11
2.4.4. Algoritma Triple Transposition Vigenere Cipher (TTVC) ... 14
2.5. PHP ... 18
2.6. MySQL ... 19
2.7. Pemodelan dan Unified Modeling Language (UML) ... 19
ix
3.1.2.2 Kebutuhan Nonfungsional ... 22
3.2. Penerapan Algoritma RSA dan TTVC... 22
3.2.1. Enkripsi ... 23
3.2.2. Dekripsi ... 24
3.3. Use Case Diagram ... 24
3.4. Perancangan Flowchart Sistem ... 26
3.4.1. Flowchart Sistem ... 26
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 38
4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak ... 38
4.2.6 Tampilan Halaman Dekripsi ... 47
4.2.7 Tampilan Halaman Send Email ... 50
4.3. Pengujian Sistem Secara Menyeluruh ... 51
4.4. Analisis Performa Sistem ... 54
BAB 5 KESIMPULAN DAN SARAN ... 56
5.1. Kesimpulan ... 56
5.2. Saran ... 57
DAFTAR PUSTAKA ... 59
DAFTAR TABEL
Hal
Tabel 2.1 Tabel Proses Transposisi dan Substitusi Menjadi Hasil TTVC
Table 2.2 Tabel penelitian terdahulu
16
20
Tabel 3.1 Tabel Pesan 29
Tabel 3.2 Tabel table user 30
Tabel 4.1 Tabel Rencana Pengujian 39
Tabel 4.2 Tabel Hasil Evaluasi Pada Tanpilan Halaman Login 40
Tabel 4.3 Tabel Hasil Evaluasi Pada Tanpilan Halaman Daftar Email 41
Tabel 4.4 Tabel Hasil Evaluasi Pada Tanpilan Halaman Home 42
Tabel 4.5 Tabel Hasil Evaluasi Pada Tampilan Halaman Compose 43
Tabel 4.6 Tabel Hasil Evaluasi Pada Tampilan Halaman Pada Proses Enkripsi 46
Tabel 4.7 Tabel Hasil Evaluasi Pada Tampilan Halaman Inbox 47
Tabel 4.8 Tabel Hasil Evaluasi Pada Tampilan Halaman Proses Enkripsi 48
Tabel 4.9 Tabel Hasil Evaluasi Pada Tampilan Halaman Proses Dekripsi 50
Tabel 4.10 Tabel Hasil Evaluasi Pada Tampilan Halaman Proses Sent Email 51
Tabel 4.11 Tabel hasil pengujian lama proses enkripsi
Tabel 4.12 Tabel hasil pengujian lama proses dekripsi 54
DAFTAR GAMBAR
Hal
Gambar 2.1 Mekanisme Kriptografi 8
Gambar 2.2 Proses Algoritma Simetrik 9
Gambar 2.3 Proses Algoritma Asimetrik 11
Gambar 2.4 Proses Triple Transposition Vigènere Cipher 14
Gambar 2.5 Bujur Vigenere 15
Gambar 3.1 Use Case Diagrram 25
Gambar 3.2 Flowchart Sistem 26
Gambar 3.3 Flowchart Enkripsi 27
Gambar 3.4 Flowchart Dekripsi 28
Gambar 3.5 Relasi Database 31
Gambar 3.6 Rancangan Halaman Login 31
Gambar 3.7 Rancangan Halaman Daftar 32
Gambar 3.8 Rancangan Halaman Home 33
Gambar 3.9 Rancangan Halaman Compose 34
Gambar 3.10 Rancangan Halaman Inbox 35
Gambar 3.11 Rancangan Halaman Sent Email 36
Gambar 3.12 Rancangan Halaman Log Out 37
Gambar 4.1 Tampilan Halaman Login 40
xii
Gambar 4.3 Tampilan Halaman Home 42
Gambar 4.4 Tampilan Halaman Compose 43
Gambar 4.5 Tampilan Halaman Proses Enkripsi 45
Gambar 4.6 Tampilan Halaman Inbox 46
Gambar 4.7 Tampilan Halaman Dekripsi
Gambar 4.8 Tampilan halaman hasil Teks Dekripsi
Gambar 4.9 Tampilan halaman Send Email
Gambar 4.10 Sampel data Pesan
Gambar 4.11 Sampel data Table User
Gambar 4.12 Sampel 1 Compose File Teks
Gambar 4.13 Sampel 1 Compose File Teks Output
Gambar 4.14 Hasil yang telah dikirim ke gmail
47
49
50
51
52
52
53
ABSTRAK
Kemajuan sistem informasi semakin tak terbatas, saat ini banyak dokumen
penting yang dikirim menggunakan media internet. Namun, Perkembangan
teknologi informasi yang seprti itu pula yang meneyebabkan informasi atau
pesan yang dipertukarkan tersebut tidak aman. Pelaku kejahatan memanfaatkan
celah ketidakamanan tersebut untuk dimasuki dan melakukan manipulasi pesan
atau informasi jika pesan atau informasi tersebut diubah. Sebagai contoh dapat
terjadinya salah paham dan kerugian materil lewat kebocoran dan kerusakan
data yang terjadi. Maka perlu teknik pengamanan lebih untuk menjaga
kerahasiaan dan keamanan dari informasi atau pesan tersebut. Untuk
menyelesaikan permasalahan ini dapat diselesaikan dengan menggunakan
kombinasi algoritma. Dengan menerapkan sistem kriptografi asimetris RSA dan
kriptografi simetris Triple Transposition Vigenere Cipher. Berdasarkan
pengujian yang telah dilakukan, kombinasi kombinasi algoritma RSA dan Triple
Transposition Vigenere Cipher dapat mengamankan pesan teks yang telah
dikirim karena melakukan proses perulangan sebanyak tiga kali dengan
menggunakan tiga kunci transposisi dan tiga substitusi yang berbeda dan
dikombinasikan dengan algoritma RSA.
Kata kunci: RSA Algorithm, Triple Transposition Vigenere Cipher , Kriptografi
SISTEM KEAMANAN PESAN TEKS PADA EMAIL MENGGUNAKAN
ALGORITMA TRIPLE TRANSPOSITION VIGENERE CIPHER
(TTVC)DAN RSA
ABSTRACT
Progress development of information systems increasingly so quick. Theres so
many important document has been send by internet However, development of
information technology as it also causes exchanged of information or messages
not safe anymore. hackers exploit the insecurity gap to enter and manipulate
messages or information has been changed. For example, can lead to leakage
and data corrupt. So need more security techniques for maintaining the
confidentiality and security of information or messages. To resolve this problem
can be solved by using a combination of cryptografi algorithms. By applying the
RSA asymmetric cryptography system and symmetric cryptography Triple
Transposition Cipher Vigenere. Based on the testing that has been done, the
combination of the combination of the RSA algorithm and the Triple
Transposition Cipher Vigenere can secure text messages that have been sent
because use the iteration process three times using three key transposition and
substitution of three different and combined with the RSA algorithm.
Kata kunci: RSA Algorithm, Triple Transposition Vigenere Cipher , Kriptografi
BAB I
PENDAHULUAN
1.1 Latar Belakang
Kemajuan sistem informasi semakin tak terbatas, saat ini banyak dokumen
penting yang dikirim menggunakan media internet. Namun, Perkembangan
teknologi informasi yang seperti itu pula yang menyebabkan informasi atau
pesan yang dipertukarkan tersebut tidak aman. Pelaku kejahatan memanfaatkan
celah ketidakamanan tersebut untuk dimasuki dan melakukan manipulasi pesan
atau informasi jika pesan atau informasi tersebut diubah. Sebagai contoh dapat
terjadinya salah paham dan kerugian materil lewat kebocoran dan kerusakan
data yang terjadi (Caroline, 2010). Maka perlu teknik pengamanan lebih untuk
menjaga kerahasiaan dan keamanan dari informasi atau pesan tersebut.
Teknik pengamanan pesan teks atau data dikenal dengan nama ilmu
kriptografi. Kriptografi adalah sebuah ilmu dan seni untuk menjaga kerahasiaan
pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat
dimengerti lagi maknanya. sebuah ilmu dan seni untuk menjaga kerahasiaan
pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat
dimengerti lagi maknanya.
Dalam kriptografi terdapat beberapa metode yang cukup penting dalam
pengamanan data,untuk menjaga kerahasiaan data salah satunya adalah enkripsi
(encryption). Enkripsi adalah suatu proses yang dilakukan untuk mengubah
pesan asli menjadi ciphertext. Sedangkan suatu proses yang dilakukan untuk
2
pesan tersembunyi menjadi pesan biasa (yang mudah dibaca) disebut dekripsi.
pesan biasa atau pesan asli disebut plaintext sedangkan pesan yang telah diubah
atau disandikan supaya tidak mudah dibaca disebut dengan ciphertext(Munir,
2006).
Pada penelitian ini nantinya penulis akan membuat sistem yang bersifat
local web-based. Dengan menerapkan algoritma Triple Transposition Vigènere
Cipher dan RSA dalam proses pengiriman email untuk mengamankan pesan
teks. Triple Transposition Vigènere Cipher adalah algoritma metode enkripsi
dengan cara mengulang teknik Vigènere Cipher yang setiap plaintextsnya
dilakukan transposisi terlebih dahulu sebanyak tiga kali dengan menggunakan
kunci yang tiap kuncinya harus berbeda satu dengan yang lainnya (Caroline,
2010). Untuk meningkatkan kerumitan kunci agar lebih aman maka digunakan
RSA sebagai kunci kombinasi. Beberapa penerapan sistem kriptografi RSA
sebagai sistem pengaman data antara lain, meningkatkan keamanan informasi
dalam sistem e-voting berbasis pada kriptografi kunci publik. Al-Anie et al
menerapkan sistem enkripsi RSA pada proses vote yang dilakukan untuk
mencegah terjadinya penyadapan dan kecurangan (Al-Anie et al., 2011), dan
meningkatkan algoritma keamanan untuk komunikasi pesan dengan
mengkombinasikan RSA dengan beberapa sistem kriptografi lainnya. Rasool et
al, menyadari bahwasanya dengan mengkombinasikan beberapa sistem enkripsi
dalam proses komunikasi pesan akan meningkatkan keamanan pada komunikasi
pesan, hal ini dikarenakan pada sebuah algoritma kriptografi masih terdapat
kekurangan (Rasool et al., 2011). Dengan begitu kita dapat mengamankan
keamanan pesan teks terjaga dengan baik dan mengurangi resiko terjadinya
perubahan pesan yang akan disampaikan ke tujuan.
1.2 Rumusan Masalah
Berdasarkan pemaparan pada latar belakang tersebut, maka rumusan
masalahnya adalah, bagaimana mengamankan pesan yang benar-benar aman dan
efektif untuk mencegah terjadinya penyadapan pesan dengan mengkombinasi
1.3 Batasan Masalah
Batasan masalah pada tugas akhir ini adalah sebagai berikut :
1. Nilai p dan q pada RSA telah ditentukan secara default.
2. Sistem ini berjalan pada sistem local Web-Base.
1.4 Tujuan Penelitian
Adapaun tujuan dari penelitian ini adalah sebagai berikut:
1. Untuk mengamankan pesan antar pengguna sistem local Web-base.
2. Untuk mengetahui bagaimana performa TTVC dan RSA yang telah
dikombinasikan untuk mengamankan pesan teks.
1.5 Manfaat Penelitian
Penelitian ini diharapkan dapat memberikan manfaat bagi penulis, pembaca dan
para peneliti pemula, sebagai berikut:
1. Merahasiakan pesan agar pesan yang disampaikan terjaga keamanannya.
2. Menambah pengetahuan baru tentang kombinasi RSA dan TTVC untuk
pengamanan pesan.
3. Dapat menjadi bahan rujukan untuk penelitian selanjutnya.
1.6 Metodologi Penelitian
Penyusun akan merancang dengan tahapan-tahapan metodologi penelitian
sebagai berikut:
a. Studi Literatur
Metode studi literatur ini dilakukan dengan mengumpulkan bahan-bahan yang
berkaitan dengan penelitian, dari buku-buku dan jurnal ilmiah yang memuat
pemecahan masalah dari penelitian maupun informasi yang diperoleh melalui
4
b. Metode Pengumpulan Data
Metode pengumpulan data dilakukan dengan observasi, yaitu dengan melakukan
pengamatan secara langsung terhadap masalah-masalah pada implementasi
algoritma Triple Transposition Vigènere Cipher dan RSA pada pesan teks.
c. Metode Analisis
Menganalisa bagaimana algoritma Triple Transposition Vigènere Cipher dan
RSA diiplementasikan dalam sistem keamanan email.
d. Pembuatan Sistem
Pembuatan sistem dilakukan dengan Komputer menggunakan bahasa
pemrograman PHP dan database MySQL.
e. Pengujian
Pada tahap ini dilakukan proses pengujian dan percobaan terhadap perangkat
lunak sesuai dengan spesifikasi yang ditentukan sebelumnya serta memastikan
program yang dibuat dapat berjalan seperti yang diharapkan.
1.7 Sistematika Penulisan
Tugas akhir ini disusun dalam lima bab dengan sistematika penulisan sebagai
berikut:
Bab I : Pendahuluan
Pada bab pendahuluan berisi tentang hal-hal yang mendasari dilakukannya
penelitian serta pengidentifikasian masalah penelitian. Bagian-bagian yang
terdapat dalam bab pendahuluan ini terdiri atas latar belakang masalah,
perumusan masalah, batasan masalah, tujuan penelitian, dan manfaat penelitian.
Bab II : Tinjauan Pustaka
Pada bab tinjauan pustaka berisi landasan teori, penelitian terdahulu, kerangka
pikir dan hipotesis yang diperoleh dari acuan yang mendasari dalam melakukan
Bab III : Analisis dan Perancangan Sistem
Pada bab analisis dan perancangan sistem berisi metodologi penelitian yang
dilakukan dalam pengimplementasian algoritma Triple Transposition Vigenere
Cipher Dan RSA untuk permasalahan dalam penerjemahan idiom Bahasa
Inggris.
Bab IV : Implementasi dan Pengujian Sistem
Pada bab hasil dan pembahasan berisi penjelasan hasil dari pengujian algoritma
Triple Transposition Vigenere Cipher Dan RSA dalam menyelesaikan
permasalahan mengamankan pesan teks dari serangan para hacker.
Bab V : Kesimpulan dan Saran
BAB 2
TINJAUAN PUSTAKA
Pada bab ini akan dibahas landasan teori, penelitian terdahulu, kerangka pikir
dan hipotesis yang mendasari penyelesaian permasalahan dalan pengamanan
pesan teks dengan menggunakan algoritma Triple Transposotion Vigenere
Chiper dan RSA.
2.1 Keamanan Informasi
Informasi saat ini sudah menjadi sebuah komoditi yang sangat penting bagi
sebuah organisasi, perguruan tinggi, lembaga pemerintahan maupun
individual, kemampuan dalam mengakses dan menyediakan informasi secara
cepat (Rahardjo, B 2005). 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.
Keamanan informasi adalah bagaimana kita dapat mencegah penipuan,
atau paling tidak mendeteksi adanya penipuan di sebuah sistem yang berbasis
informasi, dimana informasinya sendiri tidak bersifat fisik (Rahardjo, B 2005).
Untuk itu diperlukanlah sebuah pendekatan dalam melakukan pengamanan
pada informasi, seperti melakukan enkripsi, steganografi, cipher dan hashing
2.2 Kriptografi
Kriptografi adalah ilmu yang berdasarka pada teknik matematika yang
berurusan dengan keamanan informasi seperti kerahasian dan otentikasi entitas
(Sadikin,2012). Adapun tujuan dari kriptografi yang didefenisikan dalam
(Rinaldi, 2006) adalah:
1. Kerahasiaan (confidentiality), adalah layanan yang ditujukan untuk
menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak
berkepentingan.
2. Integritas Data (data integrity), adalah layanan yang menjamin bahwa
pesan masih asli atau belum pernah dimanipulasi selama pengiriman.
3. Otentikasi (authentication), adalah layanan yang berhubungan dengan
identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang
berkomunikasi (user authentication atau entity authentication) maupun
mengidentifikasi kebenaran sumber pesan (data origin authentication).
Dua pihak yang saling berkomunikasi harus dapat mengotentikasi satu
sama lain sehingga ia dapat memastiak sumber pesan.
4. Nirpenyangkalan (non-repudiation), adalah layanan untuk mencegah
entitas yang berkomunikasi melakukan penyangkalan, yaitu pengiriman
pesan menyangkal melakukan pengiriman atau penerima pesan
menyangkal telah menerima pesan.
2.3 Mekanisme Kriptografi
Enkripsi (Encryption), adalah proses yang dilakukan untuk mengubah pesan
yang tidak disandikan (plaintext) ke dalam bentuk yang tidak dapat dibaca
(ciphertext), dekripsi (Decryption) adalah proses yang dilakukan untuk
mengubah pesan yang tidak dapat dibaca kedalam bentuk yang dapat dibaca
dan dimengerti. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa
kunci kriptografi (Rinaldi, 2006)
Dalam suatu sistem dimana terdapat algoritma kriptografi, ditambah
seluruh kemungkinan plaintext, ciphertext dan kunci-kuncinya disebut
8
suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya.
Urutan proses kerja secara umum dapat digambarkan pada Gambar 1 sebagai
berikut:
Gambar 2.1 Mekanisme Kriptografi Sumber : (Lia Silviana, 2013)
Enkripsi (encryption), adalah proses yang dilakukan untuk mengubah
pesan yang tidak disandikan (plaintext) ke dalam bentuk yang tidak dapat
dibaca (ciphertext), dekripsi (decryption) adalah proses yang dilakukan untuk
mengubah pesan yang tidak dapat dibaca kedalam bentuk yang dapat dibaca
dan dimengerti. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa
kunci kriptografi. Dalam suatu sistem dimana terdapat algoritma kriptografi,
ditambah seluruh kemungkinan plaintext, ciphertext dan kunci-kuncinya
disebut kriptosistem (cryptosystem atau cryptographic system). Cryptosystem
adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan
sebaliknya.
Dalam sistem ini, seperangkat parameter yang menentukan
transformasi pencipheran tertentu disebut suatu set kunci. Proses enkripsi dan
dekripsi diatur oleh satu atau beberapa kunci kriptografi. Secara umum, kunci– kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak
perlu identik, tergantung pada sistem yang digunakan. Berdasarkan kunci yang
digunakan untuk enkripsi dan dekripsi, kriptografi dapat dibedakan menjadi
kriptografi kunci simetri (Symmetric-key Cryptography) dan kriptografi kunci
asimetri (Asymmetric-key Cryptography).
2.4 Algoritma Kriptografi
Algoritma kriptograafi terdapat beberapa macam berdasakan kunci yang
2.4.1 Algoritma Simetrik (symmetric algorithms)
Algoritma simetrik adalah algoritma kriptografi berdasarkan kuncinya
dibedakan menjadi dua yaitu algoritma aliran (Stream Cipher) dan algoritma
blok (Block Cipher). Pada algoritma Stream Cipher, proses penyandiannya
berorientasi pada satu bit atau satu byte data. Sedangkan pada algoritma blok,
proses penyandiannya berorientasi pada sekumpulan bit atau byte data. Contoh
algoritma simetris yang terkenal adalah DES (Data Encryption Standard).
Proses algoritma simetrik dapat dilihat pada Gambar 2.2.
Gambar 2.2 Proses Algoritma Simetrik
Sumber : (Lia Silviana, 2013)
Algoritma ini menggunakan kunci yang sama untuk proses enkripsi dan
dekripsi. Dalam system kriptografi kunci simetrik, kunci yang digunakan
untuk proses enkripsi dan dekripsi pada prinsipnya identik, tetapi satu buah
kunci dapat diturunkan dari kunci yang lainnya. Kunci – kunci ini harus dirahasiakan. Oleh sebab itu sistem ini sering disebut sebagai secret key crypto
system.
2.4.2 Algoritma Asimetrik (Asymmetric Algorithms)
Algortima kriptografi asimetrik adalah algoritma yang menggunakan kunci
yang berbeda untuk proses enkripsi dan dekripsi. Algoritma ini sering juga
disebut algoritma kunci umum (public key algorithm) karena kunci untuk
enkripsi dibuat umum (public key) atau dapat di ketahui oleh setiap orang, tapi
kunci dekripsi hanya di ketahui oleh orang yang berwenang mengetahui data
yang disandikan atau sering disebut kunci pribadi (private key). Contoh
algoritma terkenal menggunakan kunci asimetrik adalah ECC dan RSA.
Proses algoritma asimetrik dapat dilihat pada gambar 2.3. Syarat-syarat yang
10
1. Mudah secara komputasi bagi suatu pihak B untuk mengkrontuksi
sepasang kunci asimetrik (kunci publik KU, kunci pribadi KR).
2. Mudah secara komputasi bagi pengirim A, dengan memiliki kunci
publik B dan data yang ingin dienkripsi, M, untuk menghasilkan
ciphertext (C).
3. Mudah secara komputasi bagi penerima B untuk mendekripsi
ciphertext yang dihasilkan menggunakan kunci pribadinya untuk
mengembalikan data asli.
4. Tidak bisa secara komputasi bagi pihak ketiga untuk memperoleh kunci
pribadi KRb hanya dengan mengetahui kunci publik KUb.
5. Tidak bisa secara komputasi bagi pihak ketiga untuk mengembalikan
data asli M hanya dengan mengetahui kunci publik KUb dan ciphertext
C.
6. Fungsi enkripsi dan dekripsi bisa diterapkan dengan urutan yang
dibalik.
Kegunaan persyaratan yang keenam adalah untuk penerapan tanda tangan
digital (digital signature) yang digunakan memecahkan isu otentikasi dalam
masalah keamanan data.
Proses enkripsi publik key sederhana melibatkan empat tahap berikut :
1. Setiap user didalam jaringan membuat sepasang kunci untuk digunakan
sebagai kunci enkripsi dan dekripsi dari pesan yang akan diterima.
2. User kemudian mempublikasikan kunci enkripsinya dengan
menempatkan kunci publiknya ke tempat umum. Pasangan kunci yang
lain tetap dijaga kerahasiaannya.
3. Jika user A ingin mengirimkan data ke user B, ia akan
mengenkripsikan data dengan menggunakan kunci publik user B.
4. Pada saat user B mendekripsikan data dari user A, ia akan
menggunakan kunci pribadinya sendiri. Tidak ada pihak lain yang bisa
mendekripsikan data itu karena hanya B sendiri yang mengetahui kunci
Gambar 2.3 Proses Algoritma Asimetrik
Sumber : (Lia Silviana, 2013)
2.4.3 Algoritma RSA
Karena semakin berkembangnya pertukaran data, khususnya dalam wireless
dan local area network (LAN), hal ini memberi kesempatan yang besar untuk
mencegat data dan memalsukan pesan. Satu-satunya cara yang mudah untuk
menjaga keamanan dan keintegritasan informasi antara pengirim dan penerima
adalah dengan menggunakan kriptografi kunci publik (Satrya, 2013).
RSA adalah sistem kriptografi dengan kunci publik yang pertama kali
dapat berjalan dan dipraktekkan, ditemukan pada tahun 1977 dan
dipublikasikan pada tahun 1978 oleh Rivest, Shamir dan Adleman (RSA) di
Institut Teknologi Massachusetts. RSA adalah sistem kriptografi yang masih
paling banyak digunakan seperti transaksi online, email, kartu pintar dan
umumnya pada aplikasi mobile commerce (Yan, 2008).
Rumus dasar dari metode enkripsi dan dekripsi RSA dinotasikan kedalam
persamaan (2.1) dan (2.2) berikut :
C MC (mod N) (2.1)
Dan
C Md (mod N) (2.2)
Penjelasan:
n = p * q
p dan q = Bilangan prima
m = Plaintext
12
e = Encryption exponent
d = Decryption exponent
ɸ (n) = (p-1) (q-1)
Tahapan Algoritma RSA :
1. Pilih dua bilangan prima secara acak dan tidak sama.
2. Hitung perkalian p dan q, simpan dalam variabel n.
3. Hitung ɸ(n) ≡ (p-1).(q-1)
4. Pilih e secara acak dengan syarat, FPB(e, ɸ (n)) = 1 5. Hitung d ≡ e-1(modɸ(n))
6. Rahasiakan p, q, ɸ (n) dan d
7. Kirimkan e dan n
Contoh 1. kasus sederhana algoritma Kriptografi RSA:
p = 47 (bilangan prima) dan q = 71 (bilangan prima)
d = 1019 (dipilih karena hasilnya bilangan bulat)
Misalkan plaintextM = “ABC”, ubah kedalam ASCII menjadi “65 66 67”
Enkripsi dengan kunci publik E = 79 dan N = 3337:
M1 = 65 -> C1 = 6579 mod 3337 = 541
M2 = 66 -> C2 = 6679 mod 3337 = 795
M3 = 67 -> C3 = 6779 mod 3337 = 1479
Dekripsi dengan kunci D = 1019:
C1 = 541 -> M1 = 5411019 mod 3337 = 65 -> A
C2 = 795 -> M2 = 7951019 mod 3337 = 66 -> B
Untuk mendapatkan nlai dari operasi pemangkatan besar bilangan bulat
modulo digunakan metode Fast Exponentiation (Munir, 2006). Berikut
Penjelasan metode Fast Exponentiation. Dinotasikan dalam persamaan (2.3)
dan (2.4):
ab mod m = [(a mod m)(b mod m)] mod m (2.3)
(abc....) mod m = [(a mod m)(b mod m)(c mod m)....] mod m (2.4)
Untuk lebih jelasnya mengenai langkah-langkah metode fast exponentiation
dapat dilihat pada contoh berikut.
14
4540 mod 256 = [(4532 mod 256) . (458 mod 256)] mod 256
= 4257 mod 256 = 161
Jadi, nilai dari 4540 mod 256 = 233.
2.4.4 Algoritma Triple Transposition Vigènere Cipher (TTVC)
Dalam proses pengiriman pesan kerahasian itu menjadi kunci utama dalam
proses pengiriman. Banyak cara user mengamankan pesan email menggunakan
beberapa metode pengamanan contohnya algoritma Blowfish, algoritma El
gamal, tetapi masih punya beberapa kelemahan yang dapat membuat pesan
email dapat disusupi oleh orang yang tidak bertanggung jawab sehingga
muncul algoritma terbaru yaitu Triple Tranposition Vigenere Cipher.
Triple Transposition Vigènere Cipher adalah metode enkripsi dengan
cara mengulang teknik Vigènere Cipher yang setiap plaintextnya dilakukan
transposisi terlebih dahulu sebanyak tiga kali dengan menggunakan kunci yang
tiap kuncinya harus berbeda satu dengan yang lainnya. Metode Triple
Transposition Vigènere Cipher dapat digambarkan seperti Gambar 2.4:
Gambar 2.4 Proses Algoritma Triple Transposition Vigènere Cipher
Sumber : (Caroline, 2010)
Proses yang terjadi pada Triple Transposition Vigènere Cipher terbagi
metode substitusi menggunakan vigenere yang disimbolkan dengan E serta
kunci untuk melakukan vigenere K. Secara matematis metode Triple
Transposition Vigènere Cipher ini dapat dituliskan sebagai:
Proses enkripsi: P = T1’(S1’(T2’(S2’(T3’(S3’(C))))))
Bila dijabarkan, ciphertext diperoleh dengan mentransposisikan
plaintext, kemudian hasilnya disubstitusi menggunakan kunci pertama, lalu
ditransposisikan kembali, lalu disubstitusi dengan menggunakan kunci yang
berbeda dari kunci pertama, disebut saja kunci kedua, setelah itu dilakukan
transposisi lagi yang kemudian diakhiri dengan proses substitusi menggunakan
kunci ketiga. Substitusi disini menggunakan Vigènere Cipher.
Ketiga algoritma transposisi sudah didefinisikan terlebih dahulu
dengan suatu kunci atau suatu aturan tertentu setiap kali proses enkripsi metode
transposisinya akan selalu tetap. Untuk metode enkripsi ini, spasi tidak
diperhitungkan sehingga lebih baik dihilangkan saja. Rumus untuk transposisi
adalah membagi panjang ciphertext dengan suatu kunci tertentu yang ditentukan
oleh pengguna yang kemudian teks dibaca secara vertikal dari kolom pertama.
Berikut adalah tabel bujursangkar vigenere, dapat dilihat pada Gambar 2.5.
16
Cara menggunakan bujursangkar Vigènere adalah sebagai berikut:
baris paling atas menyatakan huruf-huruf plaintext dan kolom paling kiri
menyatakan huruf-huruf pada kunci. Pertama tarik garis vertikal dari huruf
plaintext kebawah. Setelah itu tarik garis horizontal dari huruf kunci ke kanan.
Cari titik perpotongannya. Perpotongan kedua garis tersebut menyatakan huruf
ciphertext dari huruf plaintext yang bersangkutan. Sebenarnya karakter
ciphertext didapat dengan rumus c(p) = (p+k) mod 26.
Rumus enkripsi Vigenere Cipher :
Ci = ( Pi + Ci ) -26kalau hasil penjumlahan Pi dan Ki lebih dari 26
Rumus dekripsi Vigenere Cipher :
Pi = (Ci– Ki) +26 kalau hasil pengurangan Ci dengan Ki minus
Dimana :
Ci = nilai desimal karakter ciphertext ke – i
Pi = nilai desimal karakter plaintext ke – i
Ki = nilai desimal karakter ke – i
Berikut ini adalah contoh proses transposisi dan substitusi dari algoritma TTVC,
dapat dilihat pada Tabel 2.1.
Table 2.1. Tabel proses transposisi dan substitusi menjadi hasil TTVC
Plaintext ( P ) :
INI ADALAH PLAINTEKS KRIPTOGRAFI
I N I
A D A
L A H
P I A
I N T
E K S
K R I
P T O
G R A
F I
Hasil T1 = IALPIEKPGFNDAINKRTRIIAHTSIOA
Subsititusi pertama ( S1) dengan kunci = SEMBILAN
AEQQPKCYJZEIWNXJXDJQLHNLWUPI
18
Substitusi ketiga ( S3 ) dengan kunci = SEBELAS :
YYXTRIAUBYTAXVFGIWPYDLUFJBCJV
Hasil enkripsi adalah YYXTRIAUBYTAXVFGIWPYDLUFJBCJV
A E X Q Q
P K C Y J
Z E I W N
X J X D J
Q L H N L
W U P I
Hasil T2 = APZXQWEKEJLUXCIXHPQYWDNIOJNJL
Transposisi ketiga ( T3 ) dengan kunci = 11 :
G P I X X C T E Q R
U G C P D H Q F C D
W I X P N S
Kemudian Proses dekripsi dapat dilakukan dengan arah sebaliknya. Bila
dirumuskan maka akan terlihat sebagai berikut:
Proses dekripsi: C = S3(T3(S2(T2(S1(T1(P))))))
Maksud T’ disini adalah transposisi kebalikkannya
2.5 PHP
Menurut Prasetyo (2008), PHP (Hypertext Preprocessor) merupakan skrip yang
bersifat server-side yang ditambahkan ke dalam skrip HTML. PHP merupakan
singkatan dari Personal Home Page Tools. Skrip ini yang akan membuat suatu
aplikasi website dapat diintegrasikan ke dalam HTML sehingga website tersebut
tidak lagi bersifat statis, namun menjadi bersifat dinamis. Maksud dari bersifat
server-side itu sendiri adalah pengerjaan skrip di lakukan di server, baru kemudian
hasilnya dikirim ke browser. Cara penulisan script PHP terbagi atas empat style,
yaitu:
1. Standard Style, dengan format: <?php … ?>
2. Short Style, dengan format: <? … ?>
3. Javascript Style, dengan format: <script language=’PHP’> …
</script>
4. ASP Style, dengan format: <% … %>
2.6 MySQL
MySQL merupakan server database yang mendukung perintah SQL (Structured
Query Language). Perintah dalam MySQL disebut dengan pernyataan (statement)
dengan ciri khas pengakhirannya yang di tutup dengan tanda titik koma (;). Prinsip
kerja dari MySQL yaitu dengan mengetikkan sejumlah pernyataan dan di akhiri
dengan titik koma, maka program klien MySQL akan segera mengirim perintah
tersebut ke server database MySQL dan kemudian memberikan respon yang
20
2.7 UML(Unified Modelling Languange)
Untuk membantu dalam pengembangan perangkat lunak dikenal istilah
pemodelan. Salah satu pemodelan yang saat ini paling banyak digunakan oleh
pengembang perangkat lunak adalah UML (Unified Modelling Language). UML
adalah standar bahasa yang sering digunakan dalam bidang industri untuk
mendefinisikan requirement (kebutuhan), membuat analisis dan desain, serta
menggambarkan arsitektur dalam pemrograman berorientasi objek (Satrya, 2013).
Ada beberapa hal yang dimaksud dalam kompleksitas pada perangkat
lunak (Rosa, et al. 2011):
1. Kompleksitas domain atau permasalahan perangkat lunak
2. Kesulitas mengelola proses pengembangan perangkat lunak
3. Kemungkinan fleksibilitas perubahan perangkat lunak
4. Permasalahan karakteristik bagian-bagian perangkat lunak secara diskrit
UML terbagi atas 3 (tiga) kategori, yaitu diagram struktur (structure diagram),
diagram kelakuan sistem (behaviour diagram), dan diagram interaksi (interaction
diagram). Dalam pembangunan sistem, penulis menggunakan diagram use
case dari kategori diagram kelakuan sistem, untuk menggambarkan interaksi
antara satu atau lebih aktor dengan perangkat lunak (Rosa, et al. 2011).
2.8 Penelitian Terdahulu
Dalam melakukan peneletian, penulis membutuhkan beberapa bahan peneletian
yang sudah pernah dilakukan peneliti-peneliti lainnya mengenai masalah sistem
keamanan file teks pada email menggunakan kombinasi algoritna kriptografi
TTVC dan RSA.
Satria Prayudi (2013) telah mencoba menggunkanan pendekatan kombinasi
Algoritma RSA 512-Bit dan One Time Pad dalam penelitian pengamanan pesan
pada nic messenger.
Lia Silviana (2013) telah mencobamenggunakan pendekatan Algortima kunci
public RSA dalam penelitian sistem tanda tangan digital pada pesan teks.Untuk
Table 2.2 Tabel penelitian terdahulu
No Peneliti Judul Penelitian
1 Satrya
Prayudi
(2013)
Kombinasi Algoritma RSA 512-Bit dan One Time Pad
Untuk Pengamanan Pesan Pada NIC MESSENGGER
2 Lia silviana
(2013)
Sistem Tanda Tangan Digital Pada Pesan Teks
BAB 3
ANALISIS DAN PERANCANGAN
Dalam bab ini berisi beberapa hal diantaranya seperti data yang digunakan, penerapan
algoritma dan analisis perancangan sistem dalam mengimplementasikan algoritma
RSA dan TTVC untuk permasalahan keamanan pesan teks.
3.1Analisis Sistem
Pada sistem ini akan dilakukan analisis terhadap sistem untuk melakukan proses
enkripsi dan dekripsi pada pesan teks dengan menggunakan algoritma RSA dan TTVC.
3.1.1 Analisis Masalah
Dari beberapa kasus yang ditemui pada keamanan pesan teks, dimana masih banyak
terjadinya kegagalan pada keamana pesan dikarenakan kurang rumitnya penerapan
metode keamana pada sistem keamanan pesan. Jika sistem keamana pesan di terapkan
kombinasi dari beberapa metode keamanan pesan, maka akan meminimalisir dan
mencegah terjadinya pembobolan pesan.
3.1.2 Analisis Kebutuhan
Kebutuhan merupakan suatu keinginan yang akan dicapai dalam melakukan
perancangan. Kebutuhan menggambarkan fungsi dan batasan untuk aplikasi. Adapun
analisis kebutuhan dibagi menjadi dua, antara lain adalah kebutuhan fungsional dan
3.1.2.1 Kebutuhan Fungsional
Kebutuhan fungsional merupakan kebutuhan yang fungsi-fungsinya harus dipenuhi
pada rancangan aplikasi.
Kebutuhan fungsional yang harus dipenuhi pada aplikasi yang akan dirancang adalah :
1. Aplikasi harus mampu merubah pesan teks menjadi pesan sandi yang didak
dapat diterjemahkan atau bersifat rahasia (enkripsi)
2. Aplikasi harus mampu menerjemahkan ulang pesan yang dikirim ke tujuan
(dekripsi).
3.12.2 Kebutuhan Nonfungsional
Kebutuhan nonfungsional terdiri dari beberapa macam karakteristik, antara lain :
1. Performa
Aplikasi yang akan dibangun dapat menampilkan hasil dari fungsi sistem
untuk mengamankan pesan.
2. Efisiensi
Aplikasi yang akan dibangun diharuskan sederhana, agar memudahkan
pengguna untuk memakainya.
3. Ekonomi
Aplikasi yang akan dibangun tanpa mengeluarkan biaya tambahan dalam
penggunaannya.
3.13 Penerapan Algoritma RSA dan TTVC
Algoritma RSA merupakan salah satu algoritma kunci publik. Prinsip kerja algoritma
RSA terletak pada sulitnya memfaktorkan bilangan yang besar yang menjadi
faktor-faktor prima. Pemaktoran dilakukan untuk mendapatkan pasangan kunci yaitu kunci
privat dan kunci publik. Selama bilangan tersebut tidak dapat difaktorkan selama itu
pula keamanan algoritma RSA terjamin (Satrya, 2013). Pada Penelitian ini kunci
public p dan q ditentukan dengan nilai p = 9990454949 , q =9990450271.
Dalam algoritma RSA, ada tiga proses yang harus dilakukan yaitu: proses
pembangkitan kunci, proses enkripsi dan proses dekripsi. Pada penelitian ini proses
24
Algoritma RSA pada sistem ini terletak pada pengamanan pada setiap kunci subsitusi
algoritma TTVC. Berikut ini penjelasan enkripsi dan dekripsi pesan teks dengan
menggunakan perpaduan algoritma RSA dan TTVC.
3.13.2 Enkripsi
Proses enkripsi merupakan proses menyembunyikan pesan agar tidak diketahui orang
lain (bersifat rahasia). Berikut adalah prosesnya :
1. User pertama menginputkan pesan teks (ciphertext) maka teks itu akan di ubah
ke menjadi bilangan ASCII misalnya abcd plaintext maka akan di ubah ke
bilangan ASCII misalnya teks abcd contoh ASCII 1x 2x 3x 4x dan seterusnya.
2. Pesan teks diolah dengan algoritma TTVC, dengan melewati proses
Transposisi 1 dengan suatu kunci tertentu misalkan : 3. Berarti teks akan
disusun secara vertical sebanyak 3 kolom.
3. Masukkan kunci Subsitusi 1 misalkan : Sembilan.
4. Enkripsi kunci Subsitusi 1 : Sembilan dengan metode enkripsi RSA
5. Enkripsi RSA dimana p dan q adalah bilangan prima dan nilai p dan q tidak
sama yang telah ditentukan secara default.
6. Hitung n = p.q
11.kunci Subsitusi 1 : Sembilan diubah ke dalam bentuk ASCII.
12.Enkripsi : Ci = Pi e mod n.
13.Kunci subsitusi yang telah dienkripsi RSA disubsitusikan dengan hasil
transposisi pertama lewat bujursangkar vigenere.
14.Hasil pada butir 11, akan melewati proses sebanyak dua kali dimulai seperti
3.13.3 Dekripsi
Proses dekripsi merupakan proses untuk mengubah i menjadi plaintext. Proses
dekripsi merupakan kebalikan dari proses enkripsi. Adapun proses dekripsi adalah
sebagai berikut:
1. Ciphertext disubsitusi dengan kunci subsitusi ke-3 yang telah melewati proses
enkripsi RSA lewat bujursangkar vigenere.
2. Transposisi hasil subsitusi.
3. Transposisi dilakukan dengan mengurutkan secara horizontal, berdasarkan
jumlah kolom vertikal dari proses transposisi ke-3 pada proses enkripsi ke-3.
4. Proses pada butir 1, 2 dan 3 diulangi sebanyak dua kali lagi.
5. Ciphertext terakhir diubah kedalam ASCII.
6. Proses pengubahan pada butir 5 merupakan plaintext atau pesan yang
dikirimkan.
3.3 Use Case Diagram
Diagram Use case (use case diagram) merupakan salah satu diagram untuk
memodelkan aspek perilaku sistem atau digunakan untuk mendeskripsikan apa yang
seharusnya dilakukan oleh sistem (Hariyanto, 2004). Berikut ini adalah use case
26
Gambar 3.1 Use Case Diagram
Dari gambar 3.1 dapat dijelaskan bahwa ada dua aktor yang dapat menggunakan
sistem ini, yaitu sender dan receiver . sender atau receiver bisa sama fungsinya
sebagai pengguna. Beberapa proses yang ada pada sistem yaitu :
1. Register : Mendaftarkan akun baru untuk dapat menggunakan sistem
2. Login : Melakukan pengujian sebagai pengguna.
3. Kelola pesan : Melakukan pengelolaan pada pesan teks.
4. Lihat pesan : Untuk melihat pesan yang ada didalam inbox.
5. Hapus pesan : Untuk menghapus pesan yang ada didalam sistem.
3.4 Perancngan Flowchart Sistem
Flowchart merupakan suatu representasi grafis dan langkah-langkah yang harus
diikuti dalam menyelesaikan suatu permasalahan yang disusun dari beberapa simbol
yang masing-masing simbol memiliki kegiatan tertentu (Indra Yatini B, 2010).
Diagram alir program untuk proses enkripsi dan dekripsi sistem keseluruhan adalah
sebagai berikut:
3.4.1. Flowchart Sistem
Berikut ini adalah flowchart dari proses sistem, dapat dilihat pada gambar 3.2 :
Start
Input username [ ] Password [ ]
If username = true And password = true
Yes
Home
Log out
End
No
28
3.4.2. Flowchart Enkripsi
Berikut ini adalah flowchart dari proses enkripsi, dapat dilihat pada gambar 3.3 :
mulai
Gambar 3.3 Flowchart Enkripsi
Berdasarkan flowchart pada gambar 3.1, proses enkripsi melalui dua beberapa
Kemudian sistem akan melakukan proses transposisi dengan kunci pertama (T1),
kemudian sistem akan melakukan proses enkripsi pada kunci substitusi pertama (S1)
dengan RSA. Hasil dari Transposisi pertama (T1) akan dienkripsi Vigenere dengan
kunci Substitusi pertama (S1) yang telah dienkripsi dengan RSA. Hasil Enkripsi
Vigenere tersebut kemudian di transposisikan lagi dengan kunci transposisi kedua
(T2), kemudian sistem akan melakukan proses enkripsi pada kunci substitusi kedua
(S2) dengan RSA. Hasil dari Transposisi kedua (T2) akan dienkripsi Vigenere dengan
kunci Substitusi kedua (S2) yang telah dienkripsi dengan RSA. Hasil Enkripsi
Vigenere tersebut kemudian di transposisikan lagi dengan kunci transposisi ketiga
(T3), kemudian sistem akan melakukan proses enkripsi pada kunci substitusi ketiga
(S3) dengan RSA. Hasil dari Transposisi kedua (T3) akan dienkripsi Vigenere dengan
kunci Substitusi kedua (S3) yang telah dienkripsi dengan RSA. Sehingga hasil terakhir
akan menjadi ciphertext yang akan dikirimkan ke user tujuan
3.4.3. Flowchart Dekripsi
30
Gambar 3.4 Flowchart Dekripsi
Berdasarkan flowchart pada gambar 3.2 proses dekripsi melalui beberapa tahapan
yaitu ciphertext yang didapat pada inbox pertama-tama akan melalui proses dekripsi
Vigenere dengan kunci substitusi ketiga (S3) yang telah melalui proses enkripsi RSA.
Kemudian hasil substitusi ketiga (S3) akan di transposisi dengan kunci transposisi
ketiga (T3). Hasil transposisi kembali akan dilakukan dekripsi Vigenere dengan kunci
subtitusi selanjutnya, yaitu kunci subtitusi kedua (S2). Kemudian hasil substitusi
kedua (S2) akan di transposisi dengan kunci transposisi kedua (T2). Hasil transposisi
kembali akan dilakukan dekripsi Vigenere dengan kunci subtitusi selanjutnya, yaitu
kunci subtitusi pertama (S1). Kemudian hasil substitusi pertama (S1) akan di
transposisi dengan kunci transposisi pertama (T1). Hasil transposisi terakhir kemudian
akan diubah kedalam bentuk karakter melalui table ASCII. Sehingga ciphertext yang
3.5. Perancangan Sistem dan Antarmuka Pemakai
Perancangan perangkat lunak keamanan pesan teks pada email terdiri dari
penggambaran atau perencanaan dari beberapa elemen dalam pengembangan aplikasi.
Aplikasi ini digunakan untuk mengamankan (enkripsi) pesan teks lewat email.
Aplikasi ini menerapkan algoritma RSA dan TTVC untuk mengamankan pesan teks.
3.5.1. Perancangan Database
Database pada aplikasi ini berfungsi untuk tempat penyimpanan data-data antara lain
tabel pesan dan table tabeluser.
a. Tabel pesan
Tabel ini berfungsi sebagai penyimpanan pesan antar user. Struktur tabel ini dapat
dilihat pada Tabel 3.1
Table 3.1 Tabel pesan
No Nama Field Tipe Ukuran Keterangan
1. Idpeasan Int 20 Nomor Id Pesan (primary
key)
2. Userid Varchar 20 Nomor Id User
3. Kepada Varchar 50 Email Tujuan
4. Subject Varchar 50 Subject pesan
5. Encrypted Text - Pesan yang dienkripsi
6. Ekey1 Int 3 Kunci transposisi 1
7. Ekey2 Int 3 Kunci transposisi 2
8. Ekey3 Int 3 Kunci transposisi 3
32
10. Esubs2 Text - Kunci subsitusi 2
11. Esubs3 Text - Kunci subsitusi 3
b. Tabel table user
Tabel ini berfungsi sebagai tempat penyimpanan daftar user pada sistem. Struktur
tabel ini dapat dilihat pada Tabel 3.2
Table 3.2 Tabel table user
No Nama Field Tipe Ukuran Keterangan
1. User_id Varchar 20 Nomor Id User
2. Name Varchar 50 Nama User
3. Password Varchar 50 Password User
4. Email Varchar 50 Nama email user
5. Level Varchar 15 Membedakan User
3.5.2. Perancangan Relasi Antar Tabel
Rancangan relasi antar tabel berfungsi untuk menampilakn informasi relasi
(dependence) antara tabel pada database. Rancangan relasi antar tabel dapat dilihat
pesan
Gambar 3.4 Relasi Database
3.5.3. Rancangan Halaman Login
Rancangan halaman login berfungsi sebagai halaman utama untuk masuk ke sistem.
Bentuk rancangan halaman login dapat dilihat seperti pada Gambar 3.4 berikut.
Gambar 3.5Rancangan Halaman Login 1. password
2. username
3. enter
34
Rancangan halaman login pada Gambar 3.4 terdapat empat komponen penting
pada antarmuka, yaitu input form (1 dan 2) yang berfungsi untuk menampung
username dan password dari pengguna, tombol masuk (3) yang menunjukkan ke
halaman home jika proses validasi username dan password benar, dan link daftar (4)
yang berfungsi menunjukkan halaman daftar untuk user yang belum terdaftar.
3.5.4. Rancangan Halaman Daftar
Rancangan halaman daftar berfungsi untuk menampilkan input form untuk mendaftar
pada sistem. Bentuk rancangan Home terlihat seperti pada Gambar 3.5.
Gambar 3.6 Rancangan Halaman Daftar
Rancangan halaman daftar pada Gambar 3.5 terdapat tujuh komponen penting
pada antarmuka, yaitu input form(1 sampai 5) yang menggambarkan sistem
menampung informasi seperti nama, user id, password, konfirmasi password, dan
email sebagai parameter yang akan disimpan kedalam sistem, tombol “daftar”(6)
1. Name
6. daftar 7. cancel
2. User Id 3. Password
untuk melakukan proses daftar, tombol”cancel” (7) untuk membatalkan proses
pendaftaran.
3.5.5. Rancangan Halaman Home
Rancangan halaman home berfungsi sebagai halaman utama untuk masuk ke sistem.
Bentuk rancangan halaman login dapat dilihat seperti pada Gambar 3.6 berikut.
Gambar 3.7 Rancangan Halaman Home
Rancangan halaman home pada Gambar 3.6 pada halaman home terdapat 7
komponen penting pada antarmuka, yaitu (1) header berfungsi sebagai nama dari
sistem, (2) tombol home untuk melakukan proses kembali ke halaman utama, (3)
tombol compose untuk melakukan proses pengisian email, (4) tombol inbox untuk
melakukan proses pesan yang masuk, (5) tombol sent email untuk melakukan proses
1.Header
2.Home
3.Compose
4.Inbox 5.Sent Email
6.Log out
36
laporan surat yang terkirim. (6) tombol log out untuk melakukan proses keluar dari
sistem.(7) view kotak untuk menampilkan proses keseluruhan proses tombol sistem.
3.5.6. Rancangan Halaman Compose
Rancangan halaman compose berfungsi sebagai halaman untuk membuat pesan teks
yang akan diproses menjadi teks yang telah terenkripsi. Bentuk rancangan halaman
compose dapat dilihat seperti pada Gambar 3.7 berikut.
Gambar 3.8 Rancangan Halaman Compose
12.send 11.proses
2.to
3.subject
4.isi email
5.kunci transposisi 1
6.subsititusi vigenere 1
7.kunci transposisi 2
8.subsititusi vigenere 2
9.kunci transposisi 3 1.compose
Rancangan halaman home pada Gambar 3.7 pada halaman compose terdapat
12 komponen penting pada antarmuka, yaitu (1 )tombol compose untuk melakukan
proses pengisian email, (2) field tujuan berfungsi untuk mengisi alamat yang dituju,
(3) field subject berfungsi untuk menulis subject surat, (4) field teks email berfungi
untuk menampung pesan teks, (5) field kunci transposisi pertama berfungsi untuk
memasukkan kunci pertama . (6) field substitusi vigenere pertama berfungsi untuk
menampilkan hasil dari transposisi pertama . (7) field kunci transposisi kedua
berfungsi untuk memasukkan kunci kedua.(8) field substitusi vigenere kedua
berfungsi untuk menampilkan hasil dari transposisi kedua .(9) field kunci transposisi
ketiga berfungsi untuk memasukkan kunci ketiga.(10) field substitusi vigenere ketiga
berfungsi untuk menampilkan hasil dari transposisi tiga. (11) tombol proses berfungsi
untuk melakukan proses teks asli asli menjadi teks yag terenkripsi. (12) tombol send
berfungsi untuk mengirim pesan.
3.5.7. Rancangan Halaman inbox
Rancangan halaman inbox berfungsi sebagai halaman untuk melihat pesan yamg ada
di dalam sistem. Bentuk rancangan halaman compose dapat dilihat seperti pada
Gambar 3.8 berikut.
Gambar 3.9 Rancangan Halaman Inbox
1.Inbox
38
Rancangan halaman home pada Gambar 3.8 pada halaman inbox terdapat 5
komponen penting pada antarmuka, yaitu (1) tombol inbox untuk melakukan proses
pesan yang ada didalam sistem, (2) field No berfungsi untuk melihat urutan pesan
yang ada didalam inbox, (3) field Dari berfungsi untuk memberikan informasi asal
pesan, (4) field subject berfungsi untuk menulis subject surat. (5) field isi email
berfungsi untuk melihat pesan teks yang ada didalam email.
3.5.8. Rancangan Halaman Sent Email
Rancangan halaman inbox berfungsi sebagai halaman untuk melihat sent email yamg
ada di dalam sistem. Bentuk rancangan halaman compose dapat dilihat seperti pada
Gambar 3.9 berikut.
Gambar 3.10 Rancangan Halaman Sent Email
Rancangan halaman home pada Gambar 3.9 pada halaman sent email terdapat
4 komponen penting pada antarmuka, yaitu (1) tombol sent email untuk melakukan
proses laporan surat yang terkirim, (2) field No berfungsi untuk melihat urutan pesan
yang ada didalam inbox, (3) field To berfungsi untuk memberikan informasi tujuan
pesan z, (4) field subject berfungsi untuk menulis subject surat. (5) field isi email
berfungsi untuk melihat pesan teks yang ada didalam email
1.Sent Email
3.5.9. Rancangan Halaman Log Out
Gambar 3.11 Rancangan Halaman Log Out
Rancangan halaman home pada Gambar 3.10 pada halaman Log Out terdapat 1
komponen penting pada antarmuka, yaitu tombol log out untuk melakukan proses
keluar dari sistem.
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
Pada bab ini akan dijelaskan tahapan selanjutnya dalam pengembangan aplikasi yaitu
tahap implementasi dan pengujian sistem. Di sini akan dijelaskan tentang proses
pengimplementasian algoritma ke dalam sistem dan melakukan pengujian dari sistem
yang dikembangkan.
4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak
Spesifikasi perangkat lunak yang digunakan selama pembangunan perangkat lunak
adalah sebagai berikut:
1. Operating System Windows 7 32-bit,
2. Web Server Apache 2.2.14,
3. PHP 5.3.1,
4. MySQL 5.1.41.
Agar perangkat lunak dapat berjalan dengan baik untuk para pengguna, maka
spesifikasi yang dibutuhkan oleh sistem baik dari sisi perangkat keras (hardware)
maupun perangkat lunak (software) dapat dijelaskan sebagai berikut.
Untuk perangkat keras, yang direkomendasikan adalah sebagai berikut:
1. Processor dengan kecepatan minimal 1 GHZ,
2. Hardisk minimal 80 GB,
3. RAM minimal 1 MB,
4. Monitor 14,1” dengan resolusi layar minimum 800 x 600 pixel,
Untuk perangkat lunak, yang dapat mendukung agar aplikasi dapat berjalan
adalah sebagai berikut:
1. Operating system Microsoft Windows 7, Windows 8,
2. Browser, seperti Mozilla Firefox, Google Chrome, dan lain-lain,
3. PHP 5.3.1,
4. MySQL 5.1.41,
5. Web Server Apache 2.2.14.
4.2 Antarmuka Pengguna (User Interface)
Setelah melewati tahap analisis perancangan antarmuka pengguna, rancangan
digunakan sebagai acuan untuk peng-coding-an halaman-halaman pada perangkat
lunak. Rencana pengujian sistem yang akan diuji dapat dilihat pada Tabel 4.1 berikut.
Tabel 4.1 Tabel Rencana Pengujian
4.2.1 Tampilan Halaman Login
Halaman utama yang telah dilakukan peng-coding-an ditunjukkan pada Gambar 4.1
berikut.
No. Komponen Sistem yang Diuji Butir Uji
1. Halaman login Mencoba menu yang ada pada halaman
login yaitu : form input“username”,form input“password”,tombol “enter”,dan
tombol “daftar”.
2. Halaman daftar Mencoba menu yang ada pada halaman
daftar yaitu : form input “daftar”,tombol
“daftar”,dan tombol”cancel”.
3. Halaman home Mencoba menu yang ada pada halaman
home yaitu : tombol “ home”,tombol
”compose”,tombol “inbox”,tombol”sent
42
Gambar 4.1 Tampilan halaman Login
Halaman login seperti yang ditunjukkan pada Gambar 4.1, telah diberikan satu
buah <tombol> yang dapat digunakan oleh pengguna untuk masuk ke halaman home.
Tabel 4.2 Tabel Hasil Evaluasi pada Tampilan Halaman login
No. Sasaran Pengujian Hasil yang
Diharapkan
Hasil Pengujian
Status
1. Uji tampilan sistem
ketika dieksekusi
4.2.2 Tampilan Halaman Daftar
Halaman daftar email yang telah dilakukan peng-codiing-an ditunjukkan Gambar
Gambar 4.2 Tampilan halaman Daftar Email
Halaman daftar email yang ditunjukkan pada gambar 4.2. telah diberikan
dua buah <tomboldaftar> dan <tombolcancel> yang dapat digunakan oleh pengguna
untuk memdaftar akun email baru. Setelah pen-coding-an telah selesai dilakukan,
maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman login. Hasil
proses evaluasi dapat
Tabel 4.3 Tabel Hasil Evaluasi pada Tampilan Halaman Daftar Email
No. Sasaran Pengujian Hasil yang
Diharapkan
4.2.3 Tampilan Halaman Home
Halaman home berisi tampilan sistem berupa header, menu, footer.Pada bagian
44
compose , tombol inbox, tombol send email dan tombol logout. Pada bagian footer
terdapat bagian pembuat sistem. Halaman home yang telah dilakukan peng-coding
-an ditunjukk-an pada Gambar 4.3.
Gambar 4.3 Tampilan halaman Home
Tabel 4.4 Tabel Hasil Evaluasi pada Tampilan Halaman Home No
.
Sasaran Pengujian
Hasil yang Diharapkan Hasil
Pengujian
4.2.4 Tampilan Halaman Compose
Pada halaman ini disediakan tombol compose untuk membuat pesan. Dan kolom input
untuk memasukan tujuan, subject, isi email, kunci transposisi pertama, subsititusi
tiga,dan subsititusi ketiga. Kemudian terdapat tombol proses untuk mengenkripsi file
teks yang akan dikirim. Dan terdapat tombol send untuk mengirim pesan.
Gambar 4.4 Tampilan halaman Compose
Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah
evaluasi terhadap tampilan halaman home. Hasil proses evaluasi dapat dilihat pada
Tabel 4.5 berikut.
Tabel 4.5 Tabel Hasil Evaluasi pada Tampilan Halaman Compose
No. Sasaran Pengujian Hasil yang
46
transposisi pertama”,
“subsititusi vigenere
pertama”,” kunci
transposisi kedua”,
“subsititusi kedua”,
“kunci transposisi ke
tiga,”dan “subsititusi
ketiga”
transposisi pertama”,
“subsititusi vigenere
pertama”,” kunci
transposisi kedua”,
“subsititusi kedua”,
Gambar 4.5 Tampilan halaman Proses Enkripsi
Tampilan halaman diatas menunujukkan output dari proses enkripsi pesan teks
yang akan dikirim.
Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah
evaluasi terhadap tampilan halaman proses enkripsi. Hasil proses evaluasi dapat
48
Tabel 4.6 Tabel Hasil Evaluasi pada Tampilan halaman proses enkripsi
No. Sasaran Pengujian Hasil yang
Diharapkan
4.2.5. Tampilan Halaman Inbox
Halaman ini menampilkan pesan email yang masuk. Dapat dilihat pada Gambar 4.6
Gambar 4.6 Tampilan halaman Inbox
Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah
evaluasi terhadap tampilan halaman inbox. Hasil proses evaluasi dapat dilihat pada