UNIVERSITAS BINA NUSANTARA
Program GandaTeknik Informatika - Matematika Skripsi Sarjana Program Ganda
Semester Genap 2005/2006
PERANCANGAN PROGRAM SIMULASI PEMBAYARAN JALAN TOL MENGGUNAKAN
ALGORITMA RIJNDAEL
Arif Suryono NIM: 0500594552
Abstrak
Jalan tol merupakan sarana transportasi yang vital di Indonesia. Saat ini, jalan tol tersebut dikelola oleh perusahaan swasta, yaitu PT. Jasa Marga. Sebagai perusahaan swasta, PT. Jasa Marga harus selalu meningkatkan pelayanan kepada konsumennya, yaitu para pengguna jasa tol.
Selama ini, proses pembayaran jalan tol berlangsung secara manual. Dalam pengerjaannya dibutuhkan seorang kasir untuk menjaga per loket pada pintu tol. Sedangkan pembayarannya hanya bisa dilakukan secara tunai atau menggunakan karcis langganan. Hal ini penulis anggap kurang praktis dan memperlambat waktu transaksi yang sebenarnya bisa terjadi lebih cepat dan efisien.
Oleh karena itu, penulis berusaha merancang suatu program simulasi pembayaran jalan tol untuk mengatasi masalah tersebut. Program ini menggunakan kriptografi untuk mengamankan data secara elektronik. Algoritma kriptografi yang digunakan ialah algoritma Rijndael yang cukup baru. Algoritma ini dipilih karena mempunyai sistem keamanan yang cukup baik dan tidak rumit untuk diterapkan.
Perancangan aplikasi pada skripsi ini akan memberikan gambaran penerapan algoritma Rijndael pada sistem pembayaran jalan tol. Dimana pada aplikasi yang dirancang akan mencatat transaksi-transaksi yang dilakukan oleh pengguna jalan tol ke dalam database. Dengan adanya program aplikasi pembayaran, proses pembayaran biaya jalan tol dimungkinkan menjadi lebih efisien.
Kata Kunci:
PRAKATA
Puji Syukur penulis panjatkan terhadap kehadiran Tuhan Yang Maha Esa atas rahmat dan petunjuk yang telah diberikan oleh-Nya sehingga penulis dapat mengerjakan dan menyelesaikan penulisan skripsi dengan judul “PERANCANGAN PROGRAM SIMULASI PEMBAYARAN JALAN TOL MENGGUNAKAN ALGORITMA RIJNDAEL” dengan baik dan tepat pada waktunya. Skripsi ini disusun sebagai salah satu syarat mutlak dalam mendapatkan gelar Sarjana Jenjang Strata Satu pada Program Ganda Teknik Informatika - Matematika, Universitas Bina Nusantara.
Selama proses pembuatan skripsi ini, penulis banyak menemui hambatan dan masalah. Namun berkat bimbingan dari para dosen dan dukungan dari orang-orang yang banyak membantu, akhirnya skripsi ini dapat diselesaikan. Pada kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada:
1. Orang tua dan keluarga yang selalu memberikan dukungan penuh dan dorongan selama penyusunan skripsi ini.
2. Bapak Prof. Dr. Gerardus Polla, M.App.Sc., selaku Rektor Universitas Bina Nusantara.
3. Bapak Wikaria Gazali, S.Si., MT., selaku Dekan Fakultas MIPA Universitas Bina Nusantara.
4. Bapak Ngarap Imanuel Manik, Drs., M.Kom., selaku Ketua Jurusan Matematika dan Statistika Universitas Bina Nusantara.
5. Bapak Rojali, S.Si., selaku Sekretaris Jurusan Matematika Universitas Bina Nusantara.
6. Bapak Ir. Sablin Yusuf, M.Sc, M.Comp.Sc., selaku Dekan Fakultas Ilmu Komputer Universitas Bina Nusantara
7. H. Mohammad Subekti, BE, M.Sc. selaku Ketua Jurusan Teknik Informatika Universitas Bina Nusantara.
8. Bapak Sangadji, Drs., M.Sc.,Ph.D., dan Bapak Djunaidy Santoso, Dipl.Ing.,M.Kom. selaku Dosen Pembimbing yang telah banyak memberikan waktu, bantuan dan bimbingan selama masa penyusunan skripsi ini.
9. Seluruh Dosen Universitas Bina Nusantara yang selama ini telah memberikan ilmu dan bimbingan akademis kepada penulis dari awal hingga akhir perkuliahan.
10. Seluruh staff Perpustakaan Universitas Bina Nusantara yang telah membantu dalam memberikan sebagian literatur yang digunakan dalam studi pustaka.
11. Teman - teman yang telah memberikan semangat, masukan dan dorongan dalam penulisan skripsi ini, khususnya teman - teman jurusan Teknik Informatika – Matematika angkatan 2001.
12. Pihak-pihak lain yang tidak dapat disebutkan satu persatu yang telah mendukung dan membantu penulis dalam penyelesaian skripsi ini.
Penulis menyadari bahwa skripsi ini masih jauh dari sempurna, karena keterbatasan kemampuan dan pengetahuan penulis. Karenanya, penulis mengharapkan kritik dan saran yang membangun dalam menyempurnakan skripsi ini.
Akhir kata, penulis berharap agar skripsi ini dapat berguna dan menambah wawasan bagi siapapun yang membacanya.
Jakarta, 12 Juli 2006 Penulis,
Arif Suryono 0500594552
DAFTAR ISI
Halaman
Abstrak iv
Prakata v
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xi
Daftar Lampiran xii
BAB 1 PENDAHULUAN 1 1.1. Latar Belakang 1 1.2. Identifikasi Masalah 3 1.3. Ruang Lingkup 4 1.4. Rumusan Rancangan 4 1.5. Spesifikasi Rancangan 4 1.6. Komponen Rancangan 5 1.6.1. Komponen Database 5 1.6.2. Komponen Aplikasi 5
1.7. Tujuan dan Manfaat 5
1.7.1 Tujuan Rancangan 5
1.7.2 Manfaat Rancangan 6
1.8. Metodologi 6
1.9. Definisi Operasional 7
1.10. Sistematika Penulisan 7
1.11. Penelitian yang Relevan 8
BAB 2 LANDASAN TEORI 9
2.1. Tol 9
2.1.1. Jalan Tol 9
2.1.2. Pintu Tol/Gerbang Tol 9
2.2. Sekuriti 10
2.3. Kriptografi 11
2.3.1. Sandi (Cipher) 11 2.3.1.1. Block Cipher 12
2.3.1.2. Iterated Block Cipher 14
2.3.2. Algoritma 14
2.3.2.1. Algoritma Advanced Encryption Standart (AES) / Rijndael
14
2.3.2.2. S-Box Rijndael 18 2.3.2.3. Keamanan Algoritma Rijndael 19
2.3.3. Key 20
2.3.3.1. Key Schedule 20 2.3.3.2. Key Size dan Block Size 20
2.3.4.1. Notasi 21 2.3.4.2. Penambahan dan Pengurangan 21 2.3.4.3. Perkalian 22
2.3.5. Metode Serangan Brute Force 23
2.4. Perangkat Lunak (Software) 24
2.4.1. Daur Hidup Perangkat Lunak 24
2.5. Alat Bantu Perancangan 26
2.5.1. State Transition Diagram 26
2.5.2. Pseudocode 27
BAB 3 PERANCANGAN PROGRAM APLIKASI 29 3.1. Gambaran Umum Perancangan 29
3.2. Perancangan 30
3.2.1. Perancangan Database 30
3.2.2. Perancangan Layar 33
3.2.2.1. Perancangan Layar Server 33 3.2.2.2. Perancangan Layar Client 34 3.2.2.3. Perancangan Layar Form About 35
3.3. State Transition Diagram 36
3.3.1. State Transition Diagram Server 36
3.3.2. State Transition Diagram Client 37
3.3.3. State Transition DiagramModul menu_Click 37
3.4. Pseudocode 38
3.4.1. Pseudocode Aplikasi Server 38
3.4.2. Pseudocode Aplikasi Client 44
BAB 4 IMPLEMENTASI DAN EVALUASI 65
4.1. Spesifikasi Komputer yang Digunakan 65 4.1.1. Spesifikasi Perangkat Keras 65 4.1.2. Spesifikasi Perangkat Lunak 65
4.2. Persiapan Data 66
4.3. Cara Pengoperasian Program 68
4.4. Analisis Program 71
4.5. Evaluasi Program 80
BAB 5 KESIMPULAN DAN SARAN 81
5.1. Kesimpulan 81
5.2. Saran 82
DAFTAR PUSTAKA 83
RIWAYAT HIDUP 85
DAFTAR TABEL
Halaman
Tabel 2.1. Tabel S-Box Rijndael 18 Tabel 2.2. Tabel Inver S-Box Rijndael 19
Tabel 3.1. Tabel Biaya 30
Tabel 3.2. Tabel Golongan 30
Tabel 3.3. Tabel Loket 31
Tabel 3.4. Tabel Total Transaksi 31 Tabel 3.5. Tabel Total Transaksi per Bulan 31
Tabel 3.6. Tabel Transaksi 32
Tabel 3.7. Tabel User 32
Tabel 4.1. Tabel database loket 72 Tabel 4.2. Tabel database User 77 Tabel 4.3. Tabel data transaksi lama 78 Tabel 4.4. Tabel transaksi setelah terjadi transaksi yang sukses 79
DAFTAR GAMBAR
Halaman
Gambar 2.1. Block Cipher 12
Gambar 2.2. Langkah SubBytes 15
Gambar 2.3. Langkah ShiftRows 16
Gambar 2.4. Langkah MixColumns 17
Gambar 2.5. Langkah AddRoundKey 17
Gambar 2.6. Daur Hidup Perangkat Lunak 26
Gambar 2.7. Komponen Dasar State transition Diagram 27 Gambar 3.1. Entity Relation Diagram Database Tol 32
Gambar 3.2. Rancangan Layar aplikasi Server 33 Gambar 3.3. Rancangan Layar aplikasi Client 35
Gambar 3.4. Rancangan Layar Form About 36
Gambar 3.5. State Transition Diagram Aplikasi Server 36 Gambar 3.6. State Transition Diagram Aplikasi Client 37 Gambar 3.7. State Transition Diagram Modul menu_click 37 Gambar 4.1. Tampilan Layar langkah 1 68
Gambar 4.2. Tampilan Layar langkah 2 69 Gambar 4.3. Tampilan Layar langkah 3 70 Gambar 4.4. Tampilan Layar server aktif 71 Gambar 4.5. Tampilan Layar client awal 72 Gambar 4.6. Tampilan Layar loket tidak terdaftar 73 Gambar 4.7. Tampilan Layar gagal koneksi 73 Gambar 4.8. Tampilan Layar client saat koneksi berhasil 74
Gambar 4.9. Tampilan Layar server saat ada koneksi dari Client 75 Gambar 4.10. Tampilan client saat menerima masukan dara 76
Gambar 4.11. Tampilan pesan kesalahan ‘Tipe Golongan Kendaraan’ 76 Gambar 4.12. Tampilan pesan kesalahan ‘Input Data dari Kartu’ 77 Gambar 4.13. Tampilan pesan kesalahan data user tidak ditemukan pada
database User
78 Gambar 4.14. Tampilan pesan Transaksi Berhasil 79
DAFTAR LAMPIRAN
Halaman
Lampiran 1 Source Code Program server.exe L 1 Lampiran 2 Source Code Program client.exe L 10