BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK Bab keempat ini berisi penjelasan analisis dan perancangan perangkat lunak yang dibangun dalam tugas akhir ini. Analisis perangkat lunak meliputi deskripsi umum perangkat lunak yang akan dibangun, analisis kebutuhan, analisis penggunaan perangkat lunak, analisis aliran data dan model analisis. Perancangan perangkat lunak meliputi perancangan arsitektur, perancangan modul perangkat lunak dan perancangan antarmuka.
4.1
Analisis
4.1.1 Deskripsi Umum Perangkat Lunak Perangkat lunak yang dibangun merupakan perangkat lunak yang digunakan untuk melakukan pengamanan data yang ditransmisikan dari client ke server atau sebaliknya dengan cara mengenkripsi data tersebut dengan algoritma kriptografi RC4. Client dalam tugas akhir ini adalah pihak yang mengirim query yaitu server web dan Server adalah pihak yang menerima dan memproses query yaitu server basis data. Perangkat lunak yang dibangun dinamakan DBCrypto. Perangkat lunak yang akan dibangun merupakan suatu modul program yang terletak pada server web dan pada server basis data. Modul program yang berada pada server web akan dapat diakses melalui web browser, sedangkan modul program yang berada pada server basis data adalah suatu stored procedure yang akan dipanggil oleh modul program yang terdapat pada server web. Skema umum perangkat lunak dapat dilihat pada gambar IV-1.
Gambar IV-1 Skema umum perangkat lunak
Hasil akhir dari aplikasi ini adalah aplikasi berbasis web. Aplikasi berbasis web dipilih karena pertimbangan ketersediaan dan kemudahan. Selain itu diharapkan pengguna dapat dengan cepat mempelajari dan memanfaatkan aplikasi ini hanya dengan menggunakan web browser yang biasa digunakan.
IV‐1
Pada dasarnya perangkat lunak ini memiliki fungsi utama untuk melakukan enkripsi atau dekripsi data yang ditransmisikan dari server web ke server basis data atau sebaliknya. Enkripsi dilakukan baik untuk string query maupun hasil query dengan algoritma kriptografi RC4. Perangkat lunak ini menerima masukan dari pengguna melalui antarmuka yang disediakan. Pengguna dapat memasukkan query sederhana, seperti select, insert, edit dan delete, tanpa perlu melalui penulisan bahasa query, tetapi cukup dengan melakukan interaksi dengan antarmuka yang telah disediakan. Karena itu, perangkat lunak ini juga mengolah masukan dari pengguna tersebut menjadi sebuah query tertentu, kemudian query ini dienkripsi oleh modul program yang terdapat pada server web sebelum query tersebut dikirim ke server basis data. Data yang terenkripsi dikirim ke server basis data, kemudian setelah sampai di server basis data, data tersebut kembali didekripsi oleh modul program yang berada pada server basis data. Hasil query akan dikirim kembali ke aplikasi yang berada pada server web dengan cara yang sama, yaitu data dienkripsi sebelum ditransmisikan dan kembali didekripsi sesampainya di tujuan.
4.1.2 Analisis Kebutuhan Perangkat lunak pada tugas akhir ini memiliki beberapa kebutuhan yang harus dipenuhi, kebutuhan tersebut dapat dibedakan menjadi kebutuhan fungsional dan kebutuhan non fungsional. Kebutuhan fungsional perangkat lunak dapat dilihat pada table IV-1. Tabel IV-1 Kebutuhan Fungsional
No. 1.
Deskripsi Sistem mampu mengamankan transmisi data antara server basis data dengan server web dengan cara mengenkripsi dan dekripsi data query dan hasil query basis data pada server web dan server basis data.
2.
Sistem mampu melakukan otentikasi username dan password untuk dapat masuk ke aplikasi dan menambah atau menghapus akun pengguna.
3.
Sistem mampu menampilkan basis data beserta tabel pada basis data yang sesuai dengan hak akses pengguna yang login.
4.
Sistem mampu menerjemahkan perintah berbasis GUI dari pengguna menjadi query basis data.
5.
Sistem mampu mengganti kunci enkripsi dan dekripsi
IV‐2
Kebutuhan non-fungsional perangkat lunak dapat dilihat pada table IV-2. Tabel IV-2 Kebutuhan Non-fungsional
No. 1. 2.
Deskripsi Sistem memiliki tampilan yang sederhana dan mudah digunakan. Sistem dapat diakses dengan berbagai macam web browser.
4.1.3 Analisis Kebutuhan Antarmuka eksternal Perangkat lunak pada tugas akhir ini merupakan perangkat lunak dengan arsitektur client-server sehingga pada pengoperasiaan perangkat lunak ini membutuhkan antarmuka eksternal sebagai berikut : 1. Antarmuka Pengguna Antarmuka ini merupakan antarmuka yang menghubungkan pengguna dengan perangkat lunak ini. Antarmuka yang dibutuhkan antara lain perangkat input/output komputer. 2. Antarmuka Perangkat Keras Antarmuka ini merupakan antarmuka yang menghubungkan antar perangkat keras. Perangkat lunak ini berarsitektur client-server sehingga dibutuhkan suatu perangkat keras untuk membentuk suatu jaringan komputer. Karena itu dibutuhkan perangkat keras jaringan seperti ethernet card, hub, switch dan kabel LAN. 3. Antarmuka Perangkat Lunak Perangkat lunak yang menghubungkan aplikasi ini adalah sistem operasi, sistem manajemen basis data, server web serta web browser. 4. Antarmuka Komunikasi Antarmuka ini merupakan antarmuka yang menghubungkan satu komputer dengan komputer lain dalam suatu aturan tertentu. Antarmuka komunikasi ini adalah protokol TCP/IP dan HTTP.
4.1.4 Analisis Penggunaan Perangkat Lunak Analisis penggunaan perangkat lunak merupakan analisis terhadap aksi-aksi yang akan dilakukan untuk menjalankan perangkat lunak ini. Berikut deskripsi aksi tersebut : 1. Pengguna memasukkan username dan password pada form halaman login, kemudian menekan tombol login. IV‐3
2. Pengguna dapat melihat basis data sesuai dengan hak akses pengguna. Pengguna dapat memilih basis data yang akan dilihat isi tabel didalamnya dengan meng-klik label basis data pada daftar basis data tersebut, kemudian daftar basis data akan terexpand dan menampilkan daftar tabel.. 3. Pengguna dapat melihat tabel yang akan dilihat dengan meng-klik label tabel pada daftar tabel, kemudian muncul daftar isi tabel terpilih secara lengkap. 4. Pengguna dapat melakukan operasi insert record pada tabel terpilih, serta edit dan delete pada baris terpilih pada tabel, dengan melakukan klik tombol yang bertuliskan perintah yang akan dikehendaki.
4.1.5 Analisis Aliran Data Analisis aliran data merupakan analisis terhadap keseluruhan aliran data, baik aliran data yang berasal dari eksternal perangkat lunak yaitu aliran data yang berasal dari pengguna, maupun aliran data yang berasal dari internal, yaitu aliran data di dalam keseluruhan perangkat lunak. Berikut aliran data pada perangkat lunak : 1. Pengguna memasukkan username dan password pada form login. Username dan password masuk ke dalam sistem perangkat lunak. 2. Username dan password diotentikasi oleh perangkat lunak. Jika berhasil perangkat lunak akan menampilkan halaman menu dan jika tidak berhasil akan menampilkan pesan kesalahan. 3. Perangkat lunak menerima masukan dari pengguna pilihan menu. Perangkat lunak akan mengolah pilihan dari pengguna. Jika operasi yang dipilih merupakan operasi lokal perangkat lunak maka perangkat lunak akan melakukan operasi lokal. Jika operasi yang dipilih adalah operasi berhubungan dengan basis data, misalnya melihat daftar basis data, maka perangkat lunak akan melakukan sambungan dengan basis data, dan menjalankan operasi tersebut, misalnya melihat daftar basis data. 4. Basis data mengirimkan hasil operasi kepada perangkat lunak, misal : daftar basis data, dan perangkat lunak menampilkan data tersebut kepada pengguna. 5. Pengguna melakukan aksi lebih lanjut,misalnya memilih daftar tabel pada basis data tertentu, maka perangkat lunak akan melakukan sambungan dengan basis data dan mengirim perintah kepada basis data untuk me-retrieve daftar tabel. IV‐4
6. Basis data mengirim hasil operasi kepada perangkat lunak, kemudian perangkat lunak menampilkannya kepada pengguna. 7. Pengguna memasukkan query kepada perangkat lunak melalui antarmuka berbasis grafik yang telah disediakan perangkat lunak, kemudian perangkat lunak mengenkripsi query tersebut sebelum dikirim ke basis data. 8. Basis data menerima data dari perangkat lunak, kemudian mendekripsi data tersebut. Setelah itu data yang berupa query tersebut diolah basis data dan hasilnya dikirim kembali kepada perangkat lunak. Basis data melakukan enkripsi hasil query sebelum dikirim kepada perangkat lunak. 9. Perangkat lunak menerima hasil query dari basis
data. Sebelum hasil query
ditampilkan, perangkat lunak melakukan dekripsi hasil query dan menampilkannya kepada pengguna.
4.1.6 Model Use Case Perangkat lunak ini dikembangkan dengan metode berorientasi objek. diagram use case perangkat lunak dapat dilihat pada gambar IV-2.
System Login
Query
User
Mengganti Password
Register
Administrator
Manajemen Kunci
Gambar IV-2 Diagram use case perangkat lunak
IV‐5
Deskripsi Use Case : Diagram use case di atas terdiri atas 2 aktor yaitu seorang aktor general yaitu user yang mengoperasikan perangkat lunak dan Administrator yang merupakan spesialisasi dari user yang memiliki hak lebih yaitu dapat mengoperasikan dan mengatur perangkat lunak. Diagram use case ini terdiri dari 5 use case yaitu use case Login, use case Query, use case Mengganti Password , serta use case Register dan Manajemen Kunci. Use case Login menangani aksi yang berhubungan dengan login pengguna seperti otentikasi pengguna. Use case Query menangani seluruh query yang diberikan oleh pengguna yang dieksekusi oleh basis data. Use case ini juga melakukan enkripsi dan dekripsi query yang keluar dan hasil query yang masuk ke perangkat lunak. Use case Mengganti Password menangani akses yang berhubungan dengan pengubahan password pengguna. Use case Register menangani aksi yang berkaitan dengan manajemen pengguna, seperti, tambah dan hapus user account pengguna yang dapat login pada perangkat lunak ini. Use case Manajemen Kunci menangani aksi yang berkaitan tentang manajemen kunci enkripsi seperti menginisialisasi kunci dan mengubah kunci enkripsi.
4.1.7 Definisi Aktor Perangkat lunak ini memiliki aktor yang dapat dilihat pada tabel IV-3. Tabel IV-3 Tabel Definisi Aktor
No. Aktor 1. User
Deskripsi Aktor general yang memiliki account, dapat melakukan seluruh operasi pengaksesan basis data dan dapat melakukan pengubahan password.
2.
Administrator
Aktor yang dapat melakukan seluruh operasi pengaksesan basis data, melakukan pengubahan password, manajemen kunci enkripsi dan manajemen akun pengguna.
IV‐6
4.1.8 Skenario Use Case 4.1.8.1
Skenario Use Case Login
Prekondisi
Perangkat lunak berada pada halaman login.
Aktor
User
Kondisi akhir
Perangkat lunak menampilkan menu utama atau menampilkan pesan kesalahan
Berikut skenario use case login : 1. User memasukkan username dan password pada form login perangkat lunak. 2. Perangkat lunak melakukan otentikasi username dan password yang diberikan pengguna. 3. Jika otentikasi berhasil maka perangkat lunak akan menampilkan menu pilihan pengguna, jika otentikasi gagal, perangkat lunak akan memberikan pesan kesalahan.
4.1.8.2
Skenario Use Case Query
Prekondisi
Perangkat lunak menampilkan halaman manipulasi basis data.
Aktor
User
Kondisi akhir
Perangkat lunak menampilkan hasil query.
Berikut skenario use case query : 1. User memasukkan query dengan memanfaatkan
antarmuka berbasis grafik yang
disediakan perangkat lunak. 2. Perangkat lunak menterjemahkan query yang dimasukkan pengguna menjadi query language. 3. Perangkat lunak melakukan enkripsi query language dengan algoritma kriptografi RC4. 4. Perangkat lunak mengirim query ke basis data. 5. Perangkat lunak dalam bentuk stored procedure mendekripsi query pada basis data. 6. Basis data mengeksekusi query dan me-retrieve nilai. 7. Perangkat lunak dalam bentuk stored procedure mengenkripsi hasil query. 8. Perangkat lunak dalam bentuk stored procedure mengirim hasil query ke aplikasi klien. 9. Perangkat lunak mendekripsi hasil query 10. Perangkat lunak menampilkan hasil query ke pengguna.
IV‐7
4.1.8.3
Skenario Use Case Mengganti Password
Prekondisi
Perangkat lunak menampilkan halaman mengganti password.
Aktor
User
Kondisi akhir
Perangkat lunak menampilkan pesan berhasil atau gagal.
Berikut skenario use case Mengganti Password : 1. User memasukkan username dan password lama serta password baru ke dalam perangkat lunak 2. Perangkat lunak melakukan pengecekan validitas username dan password lama. 3. Jika password lama valid perangkat lunak mengganti password lama dengan password baru.
4.1.8.4
Skenario Use Case Register
Prekondisi
Perangkat lunak menampilkan halaman mengganti register.
Aktor
Administrator
Kondisi akhir
Perangkat lunak menampilkan pesan berhasil atau gagal.
Berikut skenario use case Register : 1. Administrator memasukkan username dan password serta kelengkapan lain akun pengguna baru. 2. Perangkat lunak mengecek username sudah ada atau belum pada daftar username. 3. Jika belum ada, perangkat lunak menyimpan username dan password serta memberi pesan keberhasilan. Jika ada, perangkat lunak memberi pesan kesalahan.
4.1.8.5
Skenario Use Case Manajemen Kunci
Prekondisi
Perangkat lunak menampilkan halaman manajemen kunci.
Aktor
Administrator
Kondisi akhir
Perangkat lunak menampilkan pesan berhasil atau gagal.
Berikut skenario use case Manajemen Kunci : 1. Administrator memasukkan kunci lama dan kunci baru 2. Perangkat lunak melakukan pengecekan validitas kunci lama dengan kunci yang tersimpan pada file system. 3. Jika kunci lama valid, perangkat lunak melakukan peng-update-an kunci lama dengan kunci baru pada basis data dan pada file system, jika tidak valid perangkat lunak memberikan pesan kesalahan.
IV‐8
4.1.9 Model Analisis 4.1.9.1
Kelas Analisis
Berdasarkan use case pada sub-bab sebelumnya maka dapat ditentukan kelas analisis sebagai berikut : 1. Kelas Antarmuka Kelas kontrol yang menangani aksi pengguna terhadap perangkat lunak. Kelas ini menerjemahkan perintah pengguna berbasis grafik menjadi perintah untuk menjalankan operasi kelas lain. Kelas ini juga mengontrol proses sesuai dengan use case yang ada. 2. Kelas Enkripsi Kelas yang menangani masalah enkripsi dan dekripsi data, salah satu data tersebut adalah query. Kelas Enkripsi memiliki operasi encrypt dan decrypt, yang mengubah plainteks menjadi cipherteks dan sebaliknya. 3. Kelas Query Kelas yang bertanggung jawab untuk menjalankan perintah yang berhubungan dengan koneksi basis data dan eksekusi query. Kelas query selalu memanggil kelas enkripsi sebelum mengirimkan query tersebut ke basis data. Kelas Query memiliki operasi ExecQuery, yang berfungsi untuk mengeksekusi query. 4. Kelas Akun Pengguna Kelas yang menangani seluruh proses yang berhubungan dengan akun pengguna. Kelas ini menangani proses login, pembuatan atau penghapusan user account, dan perubahan password pengguna. 5. Kelas Manajemen Kunci Kelas yang menangani proses inisialisasi, pengupdatean dan menjaga integritas kunci antara modul enkripsi dan dekripsi yang terletak pada perangkat lunak dan basis data.
IV‐9
4.1.9.2
Diagram Kelas Analisis
Diagram kelas analisis perangkat lunak dapat dilihat pada gambar IV-3.
Antarmuka +EventHandler()
Akun Pengguna -username -password +Otentikasi() +MenggantiPassword() +Registrasi()
Query
Manajemen Kunci
-querystring
-Kunci
#ExecQuery()
+Ganti Kunci()
Enkripsi -Plainteks -Cipherteks -Password +Encrypt() +Decrypt()
Gambar IV-3 Diagram kelas analisis
4.2
Perancangan Perancangan perangkat lunak merupakan suatu proses untuk mengolah hasil analisis
perangkat lunak menjadi sebuah rencana pengembangan perangkat lunak dengan batasanbatasan spesifikasi perangkat lunak yang sudah jelas. Perancangan ini terdiri dari perancangan arsitektur, perancangan modul perangkat lunak dan perancangan antarmuka.
4.2.1 Perancangan Arsitektur Perangkat lunak yang dibuat dalam tugas akhir ini merupakan perangkat lunak berarsitektur client-server. Dimana aplikasi yang berada pada server web bertindak sebagai client dan aplikasi yang berada pada server basis data bertindak sebagai server. Arsitektur perangkat lunak dapat dilihat pada gambar IV-4.
IV‐10
Gambar IV-4 Arsitektur perangkat lunak
Berdasarkan gambar IV-4 maka arsitektur perangkat lunak dapat dibagi menjadi tiga bagian proses utama yaitu : 1. Proses Manajemen Akun Proses ini merupakan proses yang berhubungan dengan akun pengguna, seperti membuat akun pengguna, otentikasi username dan password yang dimasukkan oleh pengguna dan pengubahan password untuk tiap-tiap akun pengguna. Proses pembuatan akun adalah proses menambahkan username dan password baru pada daftar pengguna sehingga dihasilkan akun pengguna baru. Proses otentikasi ini berupa proses pencocokan nilai hash dari username dan password yang dimasukkan dengan nilai hash yang tersimpan pada file system. Proses ini juga mengatur kewenangan pengguna, dimana pengguna dengan status Administrator memiliki hak yang lebih dibandingkan dengan pengguna biasa. Hak tersebut seperti hak membuat dan menghapus user account untuk pengguna lain, dan pengubahan kunci enkripsi/dekripsi.
IV‐11
2. Proses Query Proses ini merupakan proses yang berhubungan dengan eksekusi sebuah query. Perintah tersebut berupa : 1. Perintah mendapatkan daftar basis data. 2. Perintah mendapatkan daftar tabel. 3. Perintah mendapatkan struktur tabel. 4. Perintah mendapatkan data yang tersimpan dalam tabel. 5. Perintah untuk memanipulasi isi tabel yaitu menambah, mengubah dan menghapus. Proses query ini membutuhkan proses enkripsi dan dekripsi untuk mengamankan data selama dalam transmisi dari server web ke server basis data dan sebaliknya. Karena itu terdapat modul enkripsi yang terletak pada server web dan server basis data yang bertanggung jawab untuk menangani masalah enkripsi dan dekripsi data selama transmisi. 3. Proses Manajemen Kunci Proses ini merupakan proses untuk
menginisialisasi, meng-update dan
menjaga integritas kunci untuk enkripsi dekripsi yang terdapat pada server web dan server basis data.
4.2.2 Perancangan Modul Perangkat Lunak Perangkat lunak akan dibuat dengan menggunakan metode berorientasi objek sehingga modul perangkat lunak ini berupa kelas. Berikut kelas perancangan perangkat lunak: 1. Kelas Antarmuka Kelas ini menyediakan template bagi kelas lain untuk meletakkan hasil proses kelas tersebut dan menjadi penghubung antara pengguna dengan sistem. Kelas antarmuka ini juga berfungsi sebagai kelas kontrol dengan menyediakan fasilitas sebagai peng-handle event yaitu dengan mendistribusikan aksi yang dilakukan pengguna untuk menjalankan proses tertentu.
IV‐12
2. Kelas Akun Pengguna Kelas ini dirancang untuk menangani proses yang berkaitan dengan user account pengguna. Kelas ini diantaranya menangani otentikasi login, registrasi user account, ubah password. Operasi kelas Akun Pengguna dapat dilihat pada tabel IV-4. Tabel IV-4 Operasi kelas Akun Pengguna
Nama Operasi
Return value
AkunPengguna() ProcessAuthenticate()
Void Boolean
Find()
Void
ChPwd()
Void
Reg()
Void
DeleteUser()
Void
CekUsername()
Boolean
Visibility Keterangan (private, public) Konstruktor kelas AkunPenguna. Public Mengembalikan true jika otentikasi Public username dan password berhasil dan sebaliknya. Mengembalikan true jika username Public dan password ada pada daftar pengguna dan false jika sebaliknya. Mengubah password pengguna dengan Public password baru. Menambah username dan password Public baru pada daftar pengguna. Menghapus username dan password Public baru pada daftar pengguna. Mengembalikan true jika username Public terdapat pada daftar pengguna.
Atribut kelas Akun Pengguna dapat dilihat pada tabel IV-5. Tabel IV-5 Atribut kelas Akun Pengguna
Nama Atribut username password AppDirPath usernameList
Visibility (private, public) Private Private private private
Tipe String String String Array of String
3. Kelas Query Kelas ini dirancang untuk menangani proses yang berkaitan dengan eksekusi query basis data, seperti select, insert, edit dan delete. Kelas ini menangani seluruh eksekusi query pada basis data secara remote dari perangkat lunak
IV‐13
Operasi kelas Query dapat dilihat pada table IV-6. Tabel IV-6 Operasi kelas Query
Nama Operasi
Return value
Query() Void SafeSqlLikeClauseLiteral() String StringQueryToBytes() ExecSQLNonQuery()
Array byte Boolean
ExecSQLQuery()
Boolean
DekripQueryResult()
Array
GetPK()
String
GetFK()
String
GetKey()
String
RetrieveDatabases() RetrieveTables() RetrieveColumns() RetrieveWithSP()
Array Array Array Array
ChangeKeyOnDatabase()
Boolean
GetDataType()
Array
Visibility Keterangan (private, public) Public Konstruktor kelas query Menghilangkan karakter yang tidak Public didukung pada tipe data sql. Meng-konversi string query Private menjadi array byte. Mengeksekusi query yang tidak Public menghasilkan nilai kembalian dengan stored procedure tertentu, mengembalikan true jika berhasil dan false jika gagal. Mengeksekusi query yang Public menghasilkan nilai kembalian dengan stored procedure tertentu, mengembalikan true jika berhasil dan false jika gagal. Mendekripsi nilai kembalian suatu Public query Mengembalikan primary key dari Public suatu tabel Public Mengembalikan foreign key dari suatu tabel Mengembalikan key dari suatu tabel Private dengan stored procedure tertentu. Mengembalikan daftar basis data Public Mengembalikan daftar tabel Public Mengembalikan daftar kolom Public Mengeksekusi system stored Private procedure tertentu. Mengubah kunci pada basis data Public dengan stored procedure, mengembalikan true jika berhasil dan false jika gagal. Mengembalikan tipe data dari tabel Public tertentu.
IV‐14
Atribut kelas Query dapat dilihat pada table IV-7. Tabel IV-7 Atribut kelas Query
Nama Atribut connectionString currentdatabase currenttable query seed
Visibility (private, public) Private Private Private Private Private
Tipe String String String String Integer
4. Enkripsi RC4 Kelas ini dirancang untuk menangani enkripsi dan dekripsi data. Operasi kelas Enkripsi RC4 dapat dilihat pada tabel IV-8. Tabel IV-8 Operasi kelas Enkripsi RC4
Nama Operasi
Return value
RC4() Encrypt()
Void Boolean
Decrypt()
Boolean
Visibility Keterangan (private, public) Konstruktor kelas RC4 Public Enkripsi plainteks menjadi cipherteks, Public mengembalikan true jika berhasil dan false jika gagal. Dekripsi cipherteks menjadi plainteks, Public mengembalikan true jika berhasil dan false jika gagal.
Atribut kelas Enkripsi RC4 dapat dilihat pada tabel IV-9. Tabel IV-9 Atribut kelas Enkripsi RC4
Nama Atribut cipherteks plainteks key seed S K
Visibility (private, public) Private Private Private Private Private Private
Tipe String String String Integer Array of Integer Array of Integer
5. Kelas Manajemen Kunci Kelas ini dirancang untuk menangani manajemen kunci untuk enkripsi dan dekripsi, diantaranya seperti pembuatan, perubahan dan sinkronisasi kunci enkripsi.
IV‐15
Operasi kelas Manajemen Kunci dapat dilihat pada tabel IV-10. Tabel IV-10 Operasi kelas Manajemen Kunci
Nama Operasi
Return value
KeyManager() EqKey()
Void Boolean
SyncKey()
Boolean
IsExistKeyFile()
Boolean
Visibility Keterangan (private, public) Public Konstruktor kelas KeyManager Mengembalikan true jika kunci yang Public dimasukkan sesuai dengan kunci yang ada, dan sebaliknya. Melakukan inisialisasi atau Public pengubahan kunci pada seluruh basis data dan kunci yang tersimpan pada file system, mengembalikan true jika berhasil dan false jika gagal Mengembalikan true jika file system Private yang menyimpan kunci exist dan sebaliknya
Atribut kelas Manajemen Kunci dapat dilihat pada tabel IV-11. Tabel IV-11 Atribut kelas Manajemen Kunci
Nama Atribut key AppDir
Visibility (private, public) private private
Tipe String String
6. Kelas Hash MD5 Kelas ini dirancang untuk menghitung nilai hash dari suatu nilai tertentu. Operasi kelas ini dapat dilihat pada table IV-12. Tabel IV-12 Operasi kelas HashMD5
Nama Operasi
Return value
Visibility Keterangan (private, public) Konstruktor kelas hash MD5 HashMD5() Void Public Menghitung nilai hash dari atribut ComputeHashMD5() Array byte Public input Atribut kelas Manajemen Kunci dapat dilihat pada tabel IV-13. Tabel IV-13 Atribut kelas Hash MD5
Nama Atribut Input
Visibility (private, public) private
IV‐16
Tipe String
4.2.3 Perancangan Antarmuka Perangkat lunak yang akan dibuat merupakan perangkat lunak berbasis web sehingga antarmuka yang dibuat berupa beberapa halaman web. Berikut perancangan halaman antarmuka, yaitu: 1. Halaman Index Halaman ini merupakan halaman pertama kali pengguna mengakses perangkat lunak, sekaligus menjadi menu utama aplikasi. Halaman ini dapat diakses baik pengguna yang tidak login maupun yang sudah login. Perbedaan antara pengguna yang login dan tidak terletak pada menu yang ditampilkan oleh perangkat lunak. Pengguna yang login memiliki tampilan menu yang lebih banyak sehingga dapat mengakses fitur yang lebih banyak. Pada halaman ini pula terdapat perbedaan menu antara pengguna biasa dengan Administrator. Menu register dan ubah kunci enkripsi hanya bisa diakses oleh Administrator. Rincian objek dan rancangan tampilan halaman Index dapat dilihat pada lampiran A bagian A.1. 2. Halaman Login Halaman ini adalah halaman yang memungkinkan pengguna melakukan login. Halaman ini mengirim pengguna ke halaman Index jika otentikasi berhasil dan memberikan pesan kesalahan jika otentikasi gagal. Rincian objek dan rancangan tampilan halaman Login dapat dilihat pada lampiran A bagian A.2. 3. Halaman Eksplorasi Basis Data Halaman ini merupakan halaman utama untuk melakukan operasi query insert edit dan delete pada basis data. Halaman ini menampilkan daftar basis data, daftar tabel serta tampilan lengkap tabel terpilih. Pengguna dapat melakukan pemilihan basis data dan tabel pada pohon yang terdapat pada bagian kiri halaman. Halaman ini juga menyediakan link untuk menambah, mengedit, menghapus record pada tabel terpilih. Jika pengguna menambah record maka aplikasi akan menampilkan halaman tambah IV‐17
baris. Di lain sisi jika pengguna mengubah record maka aplikasi akan menampilkan halaman ubah baris. Rincian objek dan rancangan tampilan halaman Eksplorasi Basis Data dapat dilihat pada lampiran A bagian A.3. 4. Halaman Ubah Password Halaman ini merupakan halaman untuk melakukan perubahan password pengguna. Pada halaman ini terdapat textbox yang berisi masukan password lama, password baru dan konfirmasi password baru. Rincian objek dan rancangan tampilan halaman Ubah Password dapat dilihat pada lampiran A bagian A.4. 5. Halaman Register Halaman ini merupakan halaman untuk melakukan registrasi pengguna. Pada halaman ini Administrator dapat menambah atau menghapus user account. Jika Administrator menambah user account maka akan muncul form berisi textbox untuk memasukkan data user account yang akan dibuat. Rincian objek dan rancangan tampilan halaman Register dapat dilihat pada lampiran A bagian A.5. 6. Halaman Manajemen Kunci Halaman ini merupakan halaman untuk melakukan manajemen kunci. Pada halaman ini Administrator dapat mengeset nilai awal kunci dan mengubah kunci untuk enkripsi dan dekripsi. Rincian objek dan rancangan tampilan halaman Manajemen Kunci dapat dilihat pada lampiran A bagian A.6.
IV‐18