Pembuatan model sistem manajemen otentikasi single sign-on yang memakai proses enkripsi data menggunakan algoritma diffie-helman dan menggunakan RMI (Remote Method Invocation) - USD Repository

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PEMBUATAN MODEL SISTEM MANAJEMEN OTENTIKASI SINGLE
SIGN-ON YANG MEMAKAI PROSES ENKRIPSI DATA MENGGUNAKAN
ALGORITMA DIFFIE-HELLMAN DAN MENGGUNAKAN RMI (REMOTE
METHOD INVOCATION)

TUGAS AKHIR
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Informatika

Disusun Oleh :
Ignatius Wijaya Kusuma
NIM : 075314044

PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2012


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
AUTHENTICATION MANAGEMENT SINGLE SIGN-ON SYSTEM MODEL
WITH THE USE OF DATA ENCRYPTION ALGORITHM USING DIFFIEHELLMAN AND USING RMI (REMOTE METHOD INVOCATION)

FINAL PROJECT
Presented as Partial Fulfillment of The Requirements
To Obtain Sarjana Teknik Degree
In Informatics Engineering

By :
Ignatius Wijaya Kusuma
NIM : 075314044

INFORMATICS ENGINEERING STUDY PROGRAM
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2012

ii


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

-

iii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

iv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSEMBAHAN

"We shall show mercy, but we shall not ask for it." - Winston Churchill

"Do not be too moral. You may cheat yourself out of much life. Aim above morality.
Be not simply good; be good for something." - Henry David Thoreau Publishes
Walden


v

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

vi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

vii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRAK

Otentikasi adalah suatu tindakan untuk mengkonfirmasikan suatu kebenaran
dari sebuah entitas dan sebuah trusted third-party dibutuhkan ketika sebuah transaksi
saling membutuhkan kepercayaan antara orang yang bertransaksi dan orang yang
ditransaksi. Penelitian ini mengembangkan suatu sistem otentikasi dengan
menggunakan pendekatan sistem terdistribusi dengan menggunakan paralel database
dan alogiritma Diffie-Hellman
Ide utama dari parallel DBMS(Database Manajement System) adalah untuk

membangun sebuah computer yang sangat kuat dari banyak komputer kecil, yang
masing-masing memiliki rasio kinerja dan harga yang sangat baik dengan rasio biaya
yang jauh lebih rendah bila dibandingkan dengan sebuah komputer mainframe.
Melalui bantuan metode pemanggilan objek, teknologinya akan digunakan untuk
memanggil fungsi dan prosedur secara remote/jarak jauh. Salah satu teknologinya
adalah RMI(Remote Method Invocation). Hasil utama dari sistem ini berupa sebuah
library java yang digunakan sebagai fungsi login pada sistem developer.
Hasil penelitian ini menunjukkan bahwa sistem yang dikembangkan mampu
mengotentikasi seorang user dalam waktu 0,125 detik. Sistem juga tetap berjalan
walau ada salah sat mesin database tidak aktif.

viii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

ABSTRACT

Authentication is an action to confirm the truth of an entity and a trusted thirdparty is required when a transaction requires mutual trust between the people and the
people who transact. This study developed an authentication system using the
approach of distributed systems using parallel database and Diffie-Hellman algoritm

The main idea of parallel DBMS (Database Management System) is to build a
powerful computer of many small computers, each of which has a ratio of
performance and excellent price ratio that is much lower cost when compared to a
mainframe computer. Through the help of object method calls, the technology will be
used to invoke functions and procedures in remote / long distance. One of the
technology is RMI (Remote Method Invocation). The main result of this system in the
form of a java library that is used as a function of log on the system developer.
These results indicate that the system developed is able to authenticate a user
in a time of 0.125 seconds. The system also continues to run even if there are any
database engine inactive.

ix

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

KATA PENGANTAR

Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah
melimpahkan berkat dan rahmatNya, sehingga penulis skripsi dengan judul “Pembuatan
Model Sistem Manajemen Otentikasi Single Sign-On Yang Memakai Proses Enkripsi Data

Menggunakan Algoritma Diffie-Hellman Dan Menggunakan Rmi (Remote Method
Invocation)” ini dapat diselesaikan dengan baik oleh penulis. Skripsi ini ditulis sebagai salah
satu syarat untuk memperoleh gelar sarjana komputer di Program Studi Teknik Informatika,
Fakultas Sains dan Teknologi, Universitas Sanata Dharma Yogyakarta.
Selama penulisan skripsi ini, banyak pihak yang telah membantu dan membimbing
penulis. Oleh sebab itu melalui kesempatan ini penulis mengucapkan terima kasih atas
selesainya penyusunan skripsi ini, kepada:
1. Bapak Puspaningtyas Sanjoyo Adi S.T., M.T. selaku dosen pembimbing yang telah
bersedia memberi saran, kritik, meluangkan waktu, tenaga dan pikiran untuk
membimbing dan mengarahkan penulis.
2. Ibu Ridowati Gunawan S.Kom., M.T. selaku kaprodi Teknik Informatika dan dosen
pembimbing akademik.
3. Kedua orang tua yang telah memberi dukungan baik doa dan materi, hingga penulis dapat
menyelesaikan karya ilmiah ini.
4. Teman-teman TI angkat 2007, 2008 yang meluangkan waktu untuk memberi saran dalam
penyusunan tugas akhir ini.
5. Teman-teman kos yang telah meluangkan waktu untuk disibukkan guna penyelesaian
tugas akhir ini
6. Untuk pihak-pihak yang tidak dapat penulisa sebutkan satu per satu. Penulis
mengucapkan terima kasih atas bantuannya sehingga penulis dapat menyelesaikan karya

ilmiah ini.
Akhir kata, penulis berharap karya ilmiah ini dapat bermanfaat bagi kemajuan dan
perkembangan ilmu pengetahuan.

Yogyakarta, 25 April 2012

Penulis
x

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR ISI
HALAMAN PENGESAHAN ..............................................................................iv
HALAMAN PERSEMBAHAN ........................................................................... v
PERNYATAAN KEASLIAN KARYA ...............................................................vi
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS ........................................................................... vii
ABSTRAK ........................................................................................................ viii
ABSTRACT ........................................................................................................ ix
KATA PENGANTAR…………………………………………………………….x

DAFTAR ISI ....................................................................................................... 1
DAFTAR GAMBAR ........................................................................................... 6
1.1.

Latar Belakang Masalah ........................................................................ 9

1.2.

Rumusan Masalah ............................................................................... 11

1.3.

Tujuan Penelitian ................................................................................. 11

1.4.

Batasan Masalah .................................................................................. 11

1.5.


Luaran yang Diharapkan ...................................................................... 12

1.6.

Metodologi Penelitian .......................................................................... 12

1.7.

Sistematika Penulisan .......................................................................... 14

BAB II LANDASAN TEORI ............................................................................ 15
2.1.

Otentikasi ............................................................................................ 15

2.1.1.

Single Sign-On ............................................................................ 15

2.1.2.


Trusted Third-Party .................................................................... 18

2.1.

Diffie-Hellman Key-Exchange Protocol ............................................... 18

2.2.

Message Digest 5 ................................................................................. 22

2.3.

DBMS (Database Management System) .............................................. 22

2.3.1.

Struktur DBMS ........................................................................... 24

2.3.2.


Parallel DBMS ............................................................................ 25

2.4.

2.3.2.1.

Arsitektur Fungsional .......................................................... 26

2.3.2.2.

Partisi Data Paralel .............................................................. 28

Client Server ........................................................................................ 29

2.4.1.

Tujuan Client Server ................................................................... 30

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

2.5.

RMI (Remote Method Invocation)........................................................ 30

2.5.1.

Cara Kerja RMI .......................................................................... 31

2.5.2.

Java Library ............................................................................... 34

BAB III ANALISIS DAN PERANCANGAN SISTEM ..................................... 36
3.1.

Metode Pengembangan Perangkat Lunak ............................................. 36

3.1.1.

Unified Process (UP) ................................................................... 36

3.2.

Analisa Sistem ..................................................................................... 38

3.3.

Proses Sistem....................................................................................... 40

3.3.1.

Proses Otentikasi......................................................................... 40

3.3.2.

Proses Manajemen Data Account ................................................ 42

3.3.2.1.

Proses Manajemen Password User ...................................... 42

3.3.2.2.

Proses Manajemen Data User .............................................. 44

3.3.2.3.

Proses Konfigurasi Database Server dan Controller ............ 44

3.4.

Deskripsi Umum Sistem ...................................................................... 45

3.5.

Use-Case Proses Manajemen Data Account ......................................... 46

3.5.1.

Use-Case Diagram...................................................................... 46

3.5.1.

Use-Case Model.......................................................................... 47

3.5.1.

Use-Case scenario ...................................................................... 47

3.6.

Diagram Activity .................................................................................. 64

3.6.1.

Registrasi .................................................................................... 64

3.6.1.

Login .......................................................................................... 65

3.6.2.

Manajemen Password User......................................................... 66

3.6.3.

Manajemen Data User - Insert..................................................... 67

3.6.4.

Manajemen Data User - Update .................................................. 68

3.6.5.

Manajemen Data User - Delete.................................................... 69

3.6.6.

Manajemen Data User - Search ................................................... 70

3.6.7.

Setting dan Start/Stop Server ....................................................... 71

3.6.8.

Setting dan Start/Stop Server Database ........................................ 72

3.7.

Model Analisis .................................................................................... 72

3.7.1.
3.7.1.1.

Relasi Use-Case .......................................................................... 72
Diagram Sequence Registrasi .............................................. 73

2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

3.7.1.2.

Diagram Sequence Login ..................................................... 76

3.7.1.3.

Diagram Sequence Manajemen Password User ................... 79

3.7.1.4.

Diagram Sequence Manajemen Data User - Insert ............... 82

3.7.1.5.

Diagram Sequence Manajemen Data User - Update............. 85

3.7.1.6.

Diagram Sequence Manajemen Data User - Delete .............. 88

3.7.1.7.

Diagram Sequence Manajemen Data User - Search ............. 91

3.7.1.8.
Server

Diagram Sequence Setting, Start/Stop Server dan Database
94

3.7.2.
3.8.

Model Desain ...................................................................................... 96

3.8.1.

Penjelasan Antarmuka ................................................................. 96

3.8.1.1.

Register ............................................................................... 97

3.8.1.2.

Login ................................................................................... 97

3.8.1.3.

MenuUpdate........................................................................ 98

3.8.1.4.

MenuUpdate_1 .................................................................... 99

3.8.1.5.

ActionSession.................................................................... 100

3.8.1.6.

MenuInsert ........................................................................ 101

3.8.1.7.

MenuUpdate...................................................................... 102

3.8.1.8.

MenuDelete ....................................................................... 103

3.8.1.9.

MenuSearch ...................................................................... 104

3.8.1.10.

TrayGUIServer Controller ................................................ 105

3.8.1.11.

TrayGUIServer Database .................................................. 106

3.8.2.

3.9.

Diagram Kelas ............................................................................ 96

Penjelasan Kelas ....................................................................... 107

3.8.2.1.

Kelas Web Server .............................................................. 107

3.8.2.2.

Kelas Aplikasi Client ......................................................... 113

3.8.2.3.

Kelas Server ...................................................................... 119

3.8.2.4.

Kelas Client Server Database............................................. 133

3.8.2.5.

Kelas Server Database ....................................................... 136

Desain Basis Data .............................................................................. 147

3.9.1.
3.9.1.1.

Basis Data pada Server.............................................................. 147
Tabel uname ...................................................................... 147

3

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

3.10. Metode Pengujian .............................................................................. 147
3.10.1.

Pengujian Aplikasi Web User ................................................... 148

3.10.2.

Pengujian Aplikasi Web Administrator ..................................... 148

3.10.3.

Pengujian Aplikasi Client Controller ........................................ 149

3.10.4.

Pengujian Aplikasi Controller ................................................... 150

3.10.5.

Pengujian Aplikasi Client Database........................................... 151

3.10.6.

Pengujian Aplikasi Server Database .......................................... 152

BAB IV IMPLEMENTASI DAN ANALISIS SISTEM ................................... 154
4.1.

Implementasi ..................................................................................... 154

4.1.1.

Implementasi File ..................................................................... 154

4.1.3.

Implementasi Basis Data ........................................................... 157

4.1.4.

Implementasi Antar Muka ......................................................... 158

4.2.

4.1.4.1.

Halaman Login User.......................................................... 158

4.1.4.2.

Halaman Registrasi ........................................................... 158

4.1.4.3.

Halaman Manajemen Password User ................................ 158

4.1.4.4.

Halaman SessionAction Administrator .............................. 159

4.1.4.5.

Halaman Manajemen Data User - Insert ............................ 160

4.1.4.6.

Halaman Manajemen Data User - Update.......................... 160

4.1.4.7.

Halaman Manajemen Data User - Delete ........................... 161

4.1.4.8.

Halaman Manajemen Data User - Search .......................... 161

4.1.4.9.

GUI Server Otentikasi ....................................................... 162

4.1.4.10.

GUI Server Database ........................................................ 162

Instalasi Sistem .................................................................................. 163

4.2.1.

Instalasi Server.......................................................................... 163

4.2.2.

Instalasi Client .......................................................................... 165

4.3.

Pengujian Kelas dan Method ............................................................. 166

4.3.1.

JavaLibAuthClient .................................................................... 166

4.3.1.1.

Method insert() .................................................................. 166

4.3.1.2.

Method update() ................................................................ 166

4.3.1.3.

Method delete() ................................................................. 167

4.3.1.4.

Method searchLogin() ....................................................... 167

4

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

4.3.1.5.
4.3.2.

Method authentication()..................................................... 168
ServerImpl ................................................................................ 168

4.3.2.1.

Method start().................................................................... 168

4.3.2.2.

Method stop() .................................................................... 169

4.3.2.3.

Method scanning() ............................................................. 169

4.3.3.

DatabaseClient .......................................................................... 169

4.3.3.1.
4.3.4.

Method ping() ................................................................... 169
ImplDatabaseServer .................................................................. 170

4.3.4.1.
4.3.5.

Method ping() ................................................................... 170
Pengujian Use-Case .................................................................. 170

4.3.5.1.

Use Case Menjalankan Server Database............................ 170

4.3.5.2.

Use Case Menjalankan Server Controller .......................... 172

4.3.5.3.

Use Case Melakukan Login ............................................... 174

4.3.5.4.

Use Case Melakukan Registrasi ......................................... 177

4.3.5.5.

Use Case Melakukan Update bagi User ............................. 178

4.3.5.6.

Use Case Melakukan Insert Administrator......................... 179

4.3.5.7.

Use Case Melakukan Update Administrator ...................... 180

4.3.5.8.

Use Case Melakukan Delete Administrator........................ 180

4.3.5.9.

Use Case Melakukan Search Administrator ....................... 181

4.3.5.10.

Use Case Pengujian dengan Aplikasi Desktop ................... 182

4.3.5.11.

Use Case Pengujian dengan Aplikasi Web ......................... 184

4.3.5.12.

Use Case Pengujian Client Secara Bersamaan ................... 188

4.3.6.

Pengujian Performansi .............................................................. 189

4.3.7.

Pengujian Oleh Pengguna ......................................................... 191

4.4.

4.3.7.1.

Pengujian Oleh User.......................................................... 191

4.3.7.2.

Pengujian Oleh Administrator ........................................... 191

Analisa Hasil ..................................................................................... 192

BAB V KESIMPULAN DAN SARAN .......................................................... 196
5.1.

Kesimpulan ..................................................................................... 1967

Daftar Pustaka ................................................................................................. 198

5

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR GAMBAR
Gambar 1. Otentikasi yang tidak menggunakan Single Sign-On[7]..................... 16
Gambar 2. Sistem yang menggunakan Single Sign-On[7]................................... 17
Gambar 3. Trusted Third-Party[8] ..................................................................... 18
Gambar 4. Algoritma Diffie-Hellman key exchange[9] ....................................... 20
Gambar 5. Pengiriman data pada Diffie-Hellman key exchang[9] ....................... 20
Gambar 6. Arsitektur DBMS [2] ........................................................................ 24
Gambar 7. Rasio Extensibility, baik dalam bentuk speedup(a) maupun scaleup(b)
[2]...................................................................................................................... 26
Gambar 8. arsitektur menggunakan subsistem (Bergsten et al.[1991]) [2] .......... 27
Gambar 9. Macam-macam penyebaran data [2] ................................................. 28
Gambar 10. Client/Server computing model p [1] .............................................. 29
Gambar 11. Arsitektur RMI, hubungan antara client dan host [1] ....................... 31
Gambar 12. menggambarkan mendaftarkan layanan dengan RMI registri tunggal
[1]...................................................................................................................... 32
Gambar 13. cara kerja stub dan skeleton [1] ....................................................... 34
Gambar 14. pengembangan perangkat lunak [6]................................................. 36
Gambar 15. Unified Process (UP) workflow.[6] ................................................. 37
Gambar 16. Arsitektur sistem yang akan dibuat ................................................. 39
Gambar 17. Prosedur Otentikasi......................................................................... 40
Gambar 18. Proses Otentikasi, data dikirimkan antar aplikasi ............................ 42
Gambar 19. Proses Distribusi Data..................................................................... 43
Gambar 20. Proses Pembacaan .......................................................................... 44
Gambar 21 Use Case Diagram ........................................................................... 46
Gambar 22 Diagram Activity Registrasi User ..................................................... 64
Gambar 23 Diagram Activity Login .................................................................... 65
Gambar 24 Diagram Activity Update User ......................................................... 66
Gambar 25 Diagram Activity Insert .................................................................... 67
Gambar 26 Diagram Activity Update ................................................................. 68
Gambar 27 Diagram Activity Delete ................................................................... 69
Gambar 28 Diagram Activity Search .................................................................. 70
Gambar 29 Diagram Activity Setting dan Start/Stop Server ............................... 71
Gambar 30 Diagram Activity Setting dan Start/Stop Server Database ................ 72
Gambar 31 Diagram Sequence Registrasi User .................................................. 73
Gambar 32 Diagram Sequence Alternatif Registrasi User .................................. 74
Gambar 33 Interface, Controller, Entity Registrasi User .................................... 74
Gambar 34 Diagram Sequence Login ................................................................. 76
Gambar 35 Diagram Sequence Login Alternatif ................................................. 77
Gambar 36 Interface, Controller, Entity Login ................................................... 78

6

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Gambar 37 Diagram Sequence Manajemen Password User ............................... 79
Gambar 38 Diagram Sequence Manajemen Password User Alternatif................ 80
Gambar 39 Interface, Controller, Entity Update User ........................................ 80
Gambar 40 Diagram Snsequence Insert.............................................................. 82
Gambar 41 Digram Sequence Manajemen Data User - Insert Alternatif ............. 83
Gambar 42 Interface, Controller, Entity Insert ................................................... 83
Gambar 43 Diagram Sequence Manajemen Data User - Update......................... 85
Gambar 44 Diagram Sequence Manajemen Data User - Update Alternatif ......... 86
Gambar 45 Interface, Controller, Entity Update ................................................ 86
Gambar 46 Diagram Sequence Manajemen Data User - Delete .......................... 88
Gambar 47 Diagram Sequence Manajemen Data User - Delete Alternatif .......... 89
Gambar 48 Interface, Controller, Entity Delete .................................................. 89
Gambar 49 Diagram Sequence Manajemen Data User - Search ......................... 91
Gambar 50 Diagram Sequence Manajemen Data User - Search Alternatif.......... 92
Gambar 51 Interface, Controller, Entity Search ................................................. 92
Gambar 52 Diagram Sequence Server dan Server Database............................... 94
Gambar 53 Interface, Controller, Entity Otentikasi Sistem ................................. 95
Gambar 54 Diagram Kelas Keseluruhan ............................................................ 96
Gambar 55 Antarmuka Halaman Registrasi ....................................................... 97
Gambar 56 Antarmuka Halaman Login User dan Administrator ........................ 98
Gambar 57 Antarmuka Halaman Update............................................................ 99
Gambar 58 Antarmuka Halaman Update.......................................................... 100
Gambar 59 Antarmuka Halaman Utama Administrator .................................... 101
Gambar 60 Antarmuka Halaman Insert ............................................................ 102
Gambar 61 Antarmuka Halaman Update .......................................................... 103
Gambar 62 Antarmuka Halaman Delete ........................................................... 104
Gambar 63 Antarmuka Halaman Search .......................................................... 104
Gambar 64 Antarmuka TrayIconServer Controller .......................................... 106
Gambar 65 Antarmuka TrayIconServer Database ............................................ 107
Gambar 66 Halaman Login User ...................................................................... 158
Gambar 67 Halaman Registrasi ........................................................................ 158
Gambar 68 Halaman Update ............................................................................ 159
Gambar 69 Halaman Utama Administrator ...................................................... 159
Gambar 70 Halaman Insert Administrator........................................................ 160
Gambar 71 Halaman Update Administrator ..................................................... 161
Gambar 72 Halaman Delete Administrator....................................................... 161
Gambar 73 Halaman Search Administrator ...................................................... 162
Gambar 74 GUI Server Controller ................................................................... 162
Gambar 75 GUI Server Database .................................................................... 163
Gambar 76 Letak Java Library untuk input JavaLibAuthClient.jar ................... 165

7

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Gambar 77 Informasi Server Database ............................................................ 171
Gambar 78 Menu Server Database .................................................................. 171
Gambar 79 Menu Konfigurasi Server Database................................................ 171
Gambar 80 Menu Server Database .................................................................. 172
Gambar 81 Hasil pada NetBean 6.9 untuk Server Database ............................. 172
Gambar 82 Informasi Server Controller ........................................................... 172
Gambar 83 Menu Server Controller................................................................. 173
Gambar 84 Menu Konfigurasi Server Controller ............................................. 173
Gambar 85 Menu Server Controller................................................................. 173
Gambar 86 Hasil pada NetBean 6.9 untuk Server Controller ........................... 174
Gambar 87 Pengujian Login User .................................................................... 174
Gambar 88 Hasil Login User ........................................................................... 175
Gambar 89 Pengujian Login Administrator ...................................................... 175
Gambar 90 Hasil Login Administrator ............................................................. 176
Gambar 91 Pengujian Login User Gagal .......................................................... 176
Gambar 92 Pengujian Login Administrator Gagal ............................................ 177
Gambar 93 Pengujian Registrasi Sukses........................................................... 177
Gambar 94 Pengujian Registrasi Gagal ............................................................ 178
Gambar 95 Pengujian Update User .................................................................. 178
Gambar 96 Menu Utama Administrator Memilih Insert ................................... 179
Gambar 97 Menu Insert ................................................................................... 179
Gambar 98 Menu Utama Administrator Memilih Update................................. 180
Gambar 99 Menu Update................................................................................. 180
Gambar 100 Menu Utama Administrator Memilih Delete ................................ 181
Gambar 101 Menu Delete ................................................................................ 181
Gambar 102 Menu Utama Administrator Memilih Search ............................... 181
Gambar 103 Pengujian Menu Search untuk User yang ada di Database ........... 182
Gambar 104 Pengujian Menu Search untuk User yang tidak ada di Database ... 182
Gambar 105 Memasukkan JavaLibAuthClient.jar pada project ........................ 183
Gambar 106 Contoh GUI ................................................................................. 183
Gambar 107 Hasil Pengujian Login Aplikasi Desktop...................................... 184
Gambar 108 Pemasangan JavaLibAuthClient.jar untuk Aplikasi Web.............. 185
Gambar 109 Contoh Aplikasi Web .................................................................. 186
Gambar 110 Hasil Percobaan Client Melakukan Otentikasi bersamaan ............ 188

8

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB I
PENDAHULUAN

1.1. Latar Belakang Masalah
Banyak program aplikasi sekarang yang menggunakan otentikasi
contohnya: jejaring sosial seperti facebook, plurk, google mail, dan
sebagainya. Tentunya banyak sekali data otentikasi yang dibutuhkan
(username dan password)/account. Bayangkan berapa banyak data yang
dimiliki oleh satu macam sistem saja. Hal ini tentunya membuat kesulitan bila
seseorang harus memanajemen seluruh data otentikasi tersebut.
Selain dari aplikasi-aplikasi diatas, masih banyak contoh-contoh lain
seperti aplikasi yang menggunakan otientikasi, contohnya di Universitas
Sanata Dharma. Di Universitas ini terdapat beberapa program aplikasi yang
memiliki cara tersendiri dalam mengatur otentikasinya, seperti SIA (Sistem
Informasi Akademik), penggunaan HotSpot, dan SIP (Sistem Informasi
Perpustakaan). Baik SIA, HotSpot, dan SIP memiliki masing-masing database
database dan proses otentikasi masing-masing. Masing-masing sistem di
Universitas tersebut memakai data yang sama untuk setiap otentikasinya.
Sehingga

dapat

dilakukan

pengembangan

untuk

melakukan

proses

otentikasinya.
Selain daripada pengaturan otentikasi yang terpusat, dibutuhkan sebuah
pengamanan khusus untuk menjaga agar data dapat disembunyikan
sedemikian rupa, agar data yang dimiliki oleh pemilik account hanya dapat
diakses oleh dan hanya oleh pemilik account itu sendiri. Salah satunya adalah
dengan menggunakan algoritma Diffie-Hellman Key Exchange Protocol.
Keamanan disini menggunakan sistem orang ke tiga(third-person
authentication). Seorang user menggunakan jasa orang ke tiga yang dimana
orang ke tiga disini sebagai seorang yang dipercaya(trusted), sehingga proses
pengiriman data diatur oleh orang ke tiga tersebut. Hal ini dikarenakan

9

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

pengecekan antara pengirim dan penerima juga diperhatikan sungguh-sungguh
dan selain itu dikarenakan adakalanya dimana seorang pengirim/penerima
bukan benar-benar sebagai pengirim/penerima itu sendiri. Oleh karena itu,
fungsi orang ke tiga disini sebagai saksi bahwa seorang pengirim/penerima
adalah orang yang benar-benar patut menerima/mengirim sebuah data.
Sistem juga membuat keseluruhan data tidak harus disebar lagi (setiap
aplikasi 1 database) dan menjadi lebih efisien, yaitu dengan memanfaatkan
teknologi Single Sign-On. Hal ini dimaksudkan dengan sebuah data otentikasi,
seseorang dapat mengkases beberapa program aplikasi yang terdaftar padanya
untuk digunakan. Hal ini membantu mencegah human-error dan kegagalan
lainnya.
Ada banyak cara untuk mengirimkan data, salah satunya dengan
menggunakan Remote Method Invocation(RMI)[1]. RMI adalah sebuah sistem
yang memungkinkan objek yang running di satu JVM(Java Virtual Machine)
untuk memanggil suatu method/fungsi dari satu objek yang berjalan di JVM
yang lain, sehingga JVM memungkinkan komunikasi remote antar program
Java.
Sistem ini juga tentunya membutuhkan sebuah tempat penyimpanan data
dari tiap account milik tiap user yang sudah terdaftar. Tempat menyimpan
data tersebut biasanya berupa sebuah DBMS(Database Management System)
atau biasa disebut juga aplikasi database. Sebuah sistem manajemen
database, atau DBMS, adalah software yang dirancang untuk membantu
dalam menjaga dan memanfaatkan koleksi data yang besar[2]. Beberapa
software atau perangkat lunak DBMS adalah MySQL dan Oracle
Sepintas sistem ini terlihat seperti sistem yang digunakan pada LDAP
(Lightweight Directory Access Protocol) dimana sistem menggunakan sebuah
direktori proxy khusus untuk permintaan datanya dan juga sama-sama
menggunakan sistem SSO (Single Sign-On). Namun sistem yang akan dibuat
akan berbeda pada sisi keamanannya yaitu menggunakan sistem RMI dengan

10

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

bantuan algoritma Diffie-Hellman untuk enkripsi datanya dibandingkan
dengan LDAP yang menggunakan SSL (Secure Socket Layer) serta fungsi
enkripsi seperti SSHA (Salted SHA1), crypt (OS dependent encription), MD5,
SMD5 (Salted MD5), dan SHA1[5]. Kelebihannya yang paling nampak
adalah pada saat pengiriman data pribadi user yang berupa password, dimana
data pengiriman password akan selalu berubah tergantung dari penghitungan
data yang diberikan oleh client sebelumnya.
Sistem ini dibuat pada sektor pembuatan aplikasi, dimana seorang
developer aplikasi desktop maupun web tidak perlu membuat otentikasi
tersendiri. Seorang developer hanya diharuskan untuk meletakkan library
yang nantinya pada pembuatan programnya hanya sedikit memasukan code
utama sistem.
1.2. Rumusan Masalah
Dari uraian diatas dapat dirumuskan masalah pada sistem ini adalah
bagaimana membuat sistem otentikasi java class library dengan pendekatan
orang ke-tiga dengan sistem basis data terdistribusi dan datanya tersimpan
dibeberapa database sekaligus serta memiliki kapasitas yang besar sekaligus
menjamin keamanan data di dalamnya.
1.3. Tujuan Penelitian
Adapun tujuan dari penyusunan Tugas Akhir ini adalah sebuah sistem
otentifikasi user dalam bentuk java class library, dimana para pembuat
aplikasi(developer) tidak perlu membuat suatu layanan otentifikasi tersendiri
untuk aplikasi yang mereka buat.
1.4. Batasan Masalah
Terdapat batasan masalah pada pembuatan sistem ini mengenai
kemampuan dari program yang dibuat:


Bahasa pemrograman yang digunakan menggunakan pemrograman
berbasis JAVA dengan IDE Net Bean 6.9

11

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI



Pada fungsi search pada aplikasi admin, hanya menunjukkan
password dari database berupa password user yang telah
dienkripsi.



Penggunaan bilangan prima pada program hanya mencakup angka
hingga 512



Penggunaan Topologi jaringan hanya sebatas jaringan lab.



Pemeliharaan database langsung dari database databasenya
masing-masing (DBMS), langsung dengan menggunakan aplikasi
yang sudah ada seperti SQLyog, dsb.



Penyediaan fungsi admin pada program hanya pada fungsi insert,
update, dan delete.



Penyebaran data pada database menggunakan penyebaran dengan
Round-Robin

1.5. Luaran yang Diharapkan
Harapan dari penyusunan Tugas Akhir ini adalah sebuah class library,
aplikasi web server, aplikasi server otentikasi dan aplikasi server database
yang merupakan sebuah konektor dengan database yang mengatur
konektivitas dan proses otentikasi untuk aplikasi dari developer.
1.6. Metodologi Penelitian
Metode penelitian yang dilakukan yaitu dengan melakukan studi kasus
dengan langkah-langkah sebagai berikut:
1. Analisis Kebutuhan


Studi Penggunaan RMI
i. Mencari sumber-sumber tentang metode-metode dalam
menggunakan RMI (Remote Method Invocation) baik
berupa buku maupun internet sebagai bahan kajian
utama.



Studi Algoritma Diffie-Hellman

12

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

i. Mencari sumber-sumber tentang metode-metode dalam
menggunakan algoritma Diffie-Hellman berupa buku
maupun internet sebagai bahan kajian utama.


Studi Prosedur Sigle Sign-On
i. Mencari sumber-sumber tentang metode-metode dalam
menggunakan teknologi Single Sign-On baik berupa
buku maupun internet sebagai bahan kajian utama.



Studi Database Terdistribusi
i. Mencari sumber-sumber tentang macam-macam metode
distribusi data pada DBMS(Database Manajement
System) untuk nantinya dikembangkan dengan RMI
agar menjadi satu kesatuan system otentifikasi.

2. Analisis dan Design Sistem


Mengumpulkan seluruh data kemudian dianalisis untuk
menentukan kebutuhan dan desain baik untuk antarmuka
maupun kerja dari sistem.

3. Implementasi sistem


Menerapkan metode Unified Process (UP) [6]untuk pembuatan
perangkat lunak, dimana pengerjaannya mengikuti life-cycle
dari metode Unified Process yang hasil penerapannya
menghasilkan sebuah aplikasi yang dapat mengatur otentifikasi
dengan database yang tersebar dan menggunakan RMI sebagai
fungsi kontrolnya.

4. Pengujian sistem


Penerapan system dengan ujicoba beberapa aplikasi yang
menggunakan database otentifikasi yang bersangkutan, dimana
data sudah diatur sedemikian rupa agar dapat ditunjukkan
bahwa otentifikasi sudah sesuai dengan rancangan sistem yang
diberikan

13

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

1.7. Sistematika Penulisan
Sistematika dalam penulisan tugas akhir ini adalah sebagai berikut :
BAB I : PENDAHULUAN
Pada bab ini berisi tentang latar belakang masalah, rumusan masalah,
batasan masalah, tujuan penulisan, metodologi penelitian dan
sistematika penulisan.
BAB II : LANDASAN TEORI
Pada bab ini berisi berbagai acuan dan bahan-bahan yang bisa
digunakan untuk menjawab permasalahan yang di hadapi seperti teoriteori mengenai konsep dasar sistem yang mendukung dalam
menyelesaikan masalah yang terjadi.
BAB III : ANALISIS DAN PERANCANGAN
Perancangan sistem ini menjelaskan tentang rancangan dari sistem
secara mendetail.
BAB IV : IMPLEMENTASI SISTEM
Pada bagian ini membahas tenteng implementasi program yang akan
dibuat.
BAB V : ANALISIS DAN HASIL
Pada bagian ini berisi analisa hasil yang telah didapat selama proses
implementasi sistem.
BAB VI : KESIMPULAN DAN SARAN
Pada bab ini berisi kesimpulan dari semua kegiatan penyusunan tugas
akhir ini serta saran untuk pengembangan yang lebih lanjut.

DAFTAR PUSTAKA
Berisi daftar pustaka yang digunakan sebagai referensi dalam
pembuatan tugas akhir.

14

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB II
LANDASAN TEORI

2.1. Otentikasi
Otentikasi berasal dari bahasa Yunani dan terdiri dari dua kata, yaitu
αυθεντικός yang artinya nyata atau asli dan authentes yang artinya penulis.
Otentikasi adalah suatu tindakan untuk mengkonfirmasikan suatu kebenaran
dari sebuah entitas. Semua ini melibatkan konfirmasi identitas seseorang,
menelusuri asal-usul artefak, memastikan bahwa sebuah produk sesuai dengan
apa yang di klaim, atau menjami bahwa sebuah program computer dapat
dikatakan terpercaya(trusted).
Fungsi otentikasi yang dibangun pada sistem yaitu sebagai sarana untuk
membangun sebuah sistem database yang bersifat parallel (parallel DBMS),
dimana proses otentikasi digunakan untuk melakukan pengecekan data yang
telah diisi terlebih dahulu.
2.1.1. Single Sign-On
Menurut The Open Group[7], sebuah IT sistem yang mendukung proses
bisnis, pengguna dan sistem administrator dihadapkan dengan bertambah
banyaknya dan rumitnya sebuah antarmuka untuk memenuhi pekerjaan
mereka masing-masing. Seorang pengguna biasanya harus sign-on pada
beberapa sistem, yang juga memerlukan dialog sign-on yang sama, dan
mungkin tiap sistem tersebut menggunakan pengguna yang berbeda dan juga
informasi otentikasi yang berbeda. Hal ini membuat sistem administrator
dihadapkan bagaimana memanajemen account pengguna di tiap-tiap sistem
yang dapat diakses secara ter-koordinasi dalam rangka menjaga integritas
serta keamanannya.

15

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Gambar 1. Otentikasi yang tidak menggunakan Single Sign-On[7]

Hasil pertimbangan baik antara kegunaan dan keamanan yang dibutuhkan
untuk mengkoordinasikan, kemudian bagaimana mengintegrasikan account
pengguna serta memanajemen account tersebut dan manajemen account untuk
beberapa domain yang berbeda sekarang ini, sebuah layanan diharuskan
menyediakan koordinasi dan integrasi yang secara langsung menguntukan
para enterprise, yaitu:


Pengurangan waktu yang dibutuhkan pengguna untuk sign-on di
sebuah domain, termasuk mengurangi kemungkinan gagal sign-on
yang disebabkan kesalahan pengguna.



Meningkatkan keamanan dengan mengurangi kebutuhan pengguna
untuk menangani dan mengingat beberapa set informasi otentikasi.

16

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI



Pengurangan waktu yang digunakan, peningkatan respon oleh
sistem administrator dalam menambahkan dan menghapus
pengguna untuk sistem atau memodifikasi karakteristik mereka.



Meningkatkan

keamanan

melalui

peningkatan

kemampuan

administrator sistem untuk menjaga integritas dari konfigurasi
account pengguna, termasuk kemampuan untuk mengubah atau
menghapus akses pengguna untuk semua sumber daya sistem
dengan cara yang terkoordinasi dan konsisten.

Gambar 2. Sistem yang menggunakan Single Sign-On[7]

Dapat dilihat dari struktur gambar diatas bahwa semua pengguna hanya
dihadapkan pada sebuah sistem layanan sign-on yang melayani beberapa
sistem domain. Hal ini tentunya menghemat beberapa layanan manajerial,
salah satunya adalah biaya maintenance sistem, baik secara fisik maupun nonfisik.

17

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

2.1.2. Trusted Third-Party
Menurut buku Microsoft® Exchange Resources Kit[8], trusted third-party
disini adalah sebuah cara penanganan dalam bagaimana cara bertransaksi
dengan menggunakan pihak ketiga, dimana pihak ketiga disini dinyatakan
trusted oleh masing-masing pihak yang bertransaksi. Sebuah trusted thirdparty dibutuhkan ketika sebuah transaksi saling membutuhkan kepercayaan
antara orang yang bertransaksi dan orang yang ditransaksi. Dengan bantuan
pihak ketiga, masing-masing pihak memberikan suatu kata kunci yang
masing-masing dimiliki oleh kedua belah pihak, kemudian pihak ke tiga
memeriksa apakah kata kunci tersebut benar atau tidak. Trusted third-party
disini berfungsi sebagai pem-verify sebuah integrity dari pihak yang
bersangkutan.

Gambar 3. Trusted Third-Party[8]

2.1. Diffie-Hellman Key-Exchange Protocol
Menurut Wenbo Mao[9], skema ini pertama kali diterbitkan oleh Whitfield
Diffie dan Martin Hellman pada tahun 1975 (tanggal publikasi paper ini
adalah tahun 1976, namun paper ini pertama kali disebarkan pada Desember
1975 sebagai preprint).
18

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Diffie-Hellman key exchange adalah sebuah fungsi spesifik dalam
pertukaran kunci. Ini adalah salah satu contoh praktis paling awal dari sebuah
fungsi pertukaran kunci yang diimplementasikan dalam bidang kriptografi.
Diffie-Hellman key exchange memungkinkan kedua pihak yang tidak memiliki
pengetahuan satu sama lain untuk bergabung membuat sebuah kunci rahasia
bersama melalui jaringan komunikasi yang tidak aman. Kunci ini kemudian
dapat digunakan untuk mengenkripsi komunikasi berikutnya menggunakan
symmetric key chiper.
Dengan kriptografi symmetric sangat diperlukan adanya pengiriman kunci
rahasia untuk kedua belah pihak yang berkomunikasi sebelum komunikasi
yang

aman

dapat

terbentuk.

Sebelum munculnya

kriptografi

yang

menggunakan kunci publik, pembentukan kunci rahasia bersama antar pihak
yang berkomunikasi selalu menjadi masalah yang sulit, sebab pekerjaan/tugas
yang dilakukan membutuhkan saluran/channel yang benar-benar aman, dan
sering dikatakan bahwa saluran tersebut berarti penyerahan fisik kunci oleh
kurir khusus. Keuntungan paling penting dari kriptografi public key yang
menyediakan symmetric public key adalah pencapaian pertukaran kunci
rahasia antara pihak komunikasi jarak jauh tanpa membutuhkan suatu saluran
yang aman.
Diffie-Hellman menetapkan rahasia bersama yang dapat digunakan untuk
komunikasi rahasia melalui pertukaran data melalui jaringan publik. Berikut
adalah penjelasannya yang juga mencakup matematika enkripsinya.

19

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Gambar 4. Algoritma Diffie-Hellman key exchange[9]

Pelaksanaan sederhanan dan implementasi asli dari protokol ini
menggunakan kelompok perkalian bilangan bulat dengan modulo(p), dimana
p adalah bilangan prima dan g adalah akar primitif mod p. Berikut adalah
contoh protokol, dimana nilai non-secret diberi warna hijau dan yang nilai
secret diberi warna merah dengan cetak tebal.

Gambar 5. Pengiriman data pada Diffie-Hellman key exchang[9]

1. Alice dan Bob setuju menggunakan bilangan prima p = 23 dan g = 5
2. Alice memilih angka rahasia a = 6, kemudian mengirimkan kepada Bob A
= ga mod p
* A = 56 mod 23
* A = 15.625 mod 23
*A=8

20

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

3. Bob memilih angka rahasia b = 15, kemudian mengirimkan kepada Alice B
= gb mod p
* B = 5 15 mod 23
* B = 30.517.578.125 mod 23
* B = 19
4. Alice menghitung s = Ba mod p
* s = 19 6 mod 23
* s = 47.045.881 mod 23
*s=2
5. Bob menghitung s = Ab mod p
* s = 815 mod 23
* s = 35.184.372.008.832 mod 23
*s=2
6. Alice dan Bob sekarang sama-sama memiliki kunci yang sama, s =2. Hal ini
dikarenakan 16 x 5 = 15 x 6. Jadi, ketika seseorang yang mengetahui angka
rahasia ini juga dapat mengkalkulasi s dengan cara:
* s = 56 x 15 mod 23
* s = 515 x 6 mod 23
* s = 590 mod 23
*s=
807.793.566.946.316.088.741.610.050.849.573.099.185.363.389.551.639.556.
884.765.625 mod 23
* s = 2.
Baik Alice dan Bob akhirnya memiliki nila yang sama, karena (g a) b dan
(g b) a adalah sama pada modulo p. Perhatikan bahwa hanya a, b dan gab mod
p = gba mod p dikirim secara jelas. Ketika Alice dan Bob menghitung kunci
bersama milik mereka, mereka dapat menggunakanya sebagai kunci enkripsi,
yang hanya diketahui oleh mereka dan hanya untuk mereka, untuk
mengirimkan pesan di jaringan komunikasi yang terbuka[10].

21

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

2.2. Message Digest 5
Menurut Wenbo Mao[9], MD5 di desain oleh Ronald Rives pada tahun
1991 untuk menggantikan hash function sebelumnya, yaitu MD4. MD5 ialah
fungsi kriptografi yang digunakan secara luas dengan hash value 128-bit.
MD5 menerima masukan pesan dengan ukuran sembarang dan kemudian
mengkonversi pesan tersebut dengan algoritma hash menjadi message digest
berukuran 128 bit, yang merupakan rangkaian 32 digit karakter hexadesimal.
Pada standard internet, MD5 telah dimanfaatkan secara bermacam-macam
pada aplikasi keamanan dan MD5 juga umum digunakan untuk melakukan
pengujian integritas sebuah file. MD5 digunakan secara luas dalam dunia
perangkat lunak untuk menyediakan jaminan bahwa file yang diunduh belum
terdapat perubahan. Dalam hal ini MD5 melakukan error-checking. MD5
dapat mengetahui file yang di diunduh tidak lengkap.
Pada sistem manajemen ini penggunaan MD5 hanya digunakan sebagai
enkripsi data. Data yang dienkripsi tersebut akan dicocokkan satu sama lain,
yaitu milik client dan milik database. Hasil dari pencocokan data yang sudah
dienkripsikan tersebut dapat digunakan untuk mengetahui apakah pengguna
yang sebenarnya atau tidak.
2.3. DBMS (Database Management System)
Menurut buku [2], sebuah sistem manajemen database atau DBMS adalah
software yang dirancang untuk menjaga dan membatu dalam memanfaatkan
koleksi data yang besar. Kebutuhan untuk sistem ini serta penggunaannya saat
ini sedang berkembang pesat. Cara alternatif lainnya dalam menyimpan data
adalah menyimpannya dalam sebuah file dan menulis aplikasi-kode khusus
untuk mengelola data tersebut. Pada penggunaannya DBMS memiliki
beberapa keuntungan penting, yaitu:


Data Independence: program aplikasi seharusnya dan secara
idealnya tidak mengeksp