BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

dokumen-dokumen yang mirip
BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

BAB V IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISIS MASALAH

Pengamanan Transmisi Hasil dan Data Query Basis Data dengan Algoritma Kriptografi RC4

BAB III ANALISIS DAN PEMODELAN PERANGKAT LUNAK

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN SISTEM. permasalahan yang ada sebagai dasar untuk membuat sebuah solusi yang

BAB V IMPLEMENTASI DAN PENGUJIAN

Pengamanan Transmisi Hasil dan Data Query Basis Data dengan Algoritma Kriptografi RC4

BAB III ANALISIS DAN PERANCANGAN SISTEM

3.1 APLIKASI YANG DITANGANI OLEH CODE GENERATOR

BAB III ANALISA MASALAH DAN PERANCANGAN

Bab 3. Metode dan Perancangan Sistem

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

Studi dan Implementasi Pengamanan Basis Data dengan Teknik Kriptografi Stream Cipher

BAB IV HASIL DAN UJI COBA

3 BAB III METODOLOGI PENELITIAN

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA


BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN RANCANGAN

BAB IV HASIL DAN UJI COBA

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

BAB III ANALISA DAN DESAIN SISTEM

21

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM. yang manual, yaitu dengan melakukan pembukuan untuk seluruh data dan

BAB III PERANCANGAN SISTEM. Shipping Direktorat Jenderal Imigrasi menunjukkan bahwasanya dalam akses

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV HASIL DAN PEMBAHASAN

Bab 3 Metode Perancangan

BAB III ANALISA DAN PERANCANGAN SISTEM

Manual Book Website Adverse Drug Report

BAB 3 PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN. 3.1 Analisa Berikut tahap-tahap awal dalam pembuatan:

BAB I PENDAHULUAN. 1.1 Latar Belakang

`BAB III ANALISIS DAN PERANCANGAN SISTEM. Material Requirement Planning (MRP) berbasis web pada CV. Mitra Techno Sains.

BAB III ANALISA DAN DESAIN SISTEM

BAB 3 ANALISIS DAN PERANCANGAN. utuh ke dalam bagian-bagian komponennya dengan maksud untuk

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Tugas Akhir. Pengembangan Sistem Informasi Manajemen Parkir. Universitas Komputer Indonesia, Bandung

BAB IV ANALISIS DAN PERANCANGAN

Gambar 4.1 Gambar Use Case Diagram

HASIL DAN PEMBAHASAN. 2 Perangkat keras: Prosesor AMD Athlon II 245 2,9 GHz; Memori 2046 MB; HDD 160 GB. Client:

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN PERANCANGAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN DESAIN SISTEM

BAB IV IMPLEMENTASI DAN PENGUJIAN

PETUNJUK PENGGUNAAN SISTEM INFORMASI KURIKULUM 2013

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB IV HASIL DAN PEMBAHASAN

IMPLEMENTASI TCP/IP UNTUK MEMBUAT SERVER DATABASE ACCESS ABSTRAK

BAB IV ANALISIS DAN PERANCANGAN SISTEM. mampu memperkirakan dan merincikan seluruh dokumen ataupun prosedur yang

BAB III ANALISA DAN PERANCANGAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN DESAIN SISTEM

BAB IV. ANALISIS DAN PERANCANGAN

BAB IV HASIL DAN PEMBAHASAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

BAB III METODOLOGI PENELITIAN. berjalannya perancangan dan implementasi website, antara lain: perangkat keras yang digunakan.

U U U UC-17 Skenario normal I Skenario alternatif I

BAB IV ANALISIS DAN PERANCANGAN SISTEM

X. PENGANTAR DATABASE

BAB IV ANALISIS DAN PERANCANGAN SISTEM. proses kerja yang sedang berjalan. Pokok-pokok yang di analisis meliputi analisis

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN. yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

4. BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV HASIL DAN PEMBAHASAN

DAFTAR ISI. LAPORAN TUGAS AKHIR... ii. HALAMAN PENGESAHAN... iii. PERNYATAAN... iv. DAFTAR ISI... vii. DAFTAR GAMBAR...xii. DAFTAR TABEL...

BAB IV PERANCANGAN. 4.1 Perancangan Sistem Cara kerja sistem

Bab III. Perancangan Sistem

BAB IV ANALISA DAN PERANCANGAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM

BAB IV HASIL DAN UJICOBA

BAB IV HASIL DAN UJI COBA. Adapun hasil dari penelitan yang dilakukan adalah sebuah perangkat lunak

BAB IV HASIL DAN UJI COBA

BAB IV PERANCANGAN 4.1 Perancangan Arsitektur Sistem Kebutuhan Perangkat Lunak Tabel 4.1

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV HASIL DAN UJI COBA. Berikut ini akan dijelaskan tentang tampilan hasil rancangan dari


BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

ANALISIS DAN PERANCANGAN

Transkripsi:

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. Deskripsi 1. 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. Deskripsi 1. Sistem memiliki tampilan yang sederhana dan mudah digunakan. 2. 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. Login System 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 Deskripsi 1. User 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 -querystring #ExecQuery() Enkripsi -Plainteks -Cipherteks -Password +Encrypt() +Decrypt() Manajemen Kunci -Kunci +Ganti Kunci() 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 Atribut kelas Akun Pengguna dapat dilihat pada tabel IV-5. Tabel IV-5 Atribut kelas Akun Pengguna Nama Atribut Visibility (private, public) Tipe username Private String password Private String AppDirPath private String usernamelist private Array of String 3. Kelas Query Visibility (private, public) Keterangan AkunPengguna() Void Public Konstruktor kelas AkunPenguna. ProcessAuthenticate() Boolean Public Mengembalikan true jika otentikasi username dan password berhasil dan sebaliknya. Find() Void Public Mengembalikan true jika username dan password ada pada daftar pengguna dan false jika sebaliknya. ChPwd() Void Public Mengubah password pengguna dengan password baru. Reg() Void Public Menambah username dan password baru pada daftar pengguna. DeleteUser() Void Public Menghapus username dan password baru pada daftar pengguna. CekUsername() Boolean Public Mengembalikan true jika username terdapat pada daftar pengguna. 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 Visibility (private, public) Keterangan Query() Void Public Konstruktor kelas query SafeSqlLikeClauseLiteral() String Public Menghilangkan karakter yang tidak didukung pada tipe data sql. StringQueryToBytes() Array byte Private Meng-konversi string query menjadi array byte. ExecSQLNonQuery() Boolean Public Mengeksekusi query yang tidak menghasilkan nilai kembalian dengan stored procedure tertentu, mengembalikan true jika berhasil dan false jika gagal. ExecSQLQuery() Boolean Public Mengeksekusi query yang menghasilkan nilai kembalian dengan stored procedure tertentu, mengembalikan true jika berhasil dan false jika gagal. DekripQueryResult() Array Public Mendekripsi nilai kembalian suatu query GetPK() String Public Mengembalikan primary key dari suatu tabel GetFK() String Public Mengembalikan foreign key dari suatu tabel GetKey() String Private Mengembalikan key dari suatu tabel dengan stored procedure tertentu. RetrieveDatabases() Array Public Mengembalikan daftar basis data RetrieveTables() Array Public Mengembalikan daftar tabel RetrieveColumns() Array Public Mengembalikan daftar kolom RetrieveWithSP() Array Private Mengeksekusi system stored procedure tertentu. ChangeKeyOnDatabase() Boolean Public Mengubah kunci pada basis data dengan stored procedure, mengembalikan true jika berhasil dan false jika gagal. GetDataType() Array Public Mengembalikan tipe data dari tabel tertentu. IV 14

Atribut kelas Query dapat dilihat pada table IV-7. Tabel IV-7 Atribut kelas Query Nama Atribut Visibility (private, public) Tipe connectionstring Private String currentdatabase Private String currenttable Private String query Private String seed Private 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 Visibility (private, public) Atribut kelas Enkripsi RC4 dapat dilihat pada tabel IV-9. Keterangan RC4() Void Public Konstruktor kelas RC4 Encrypt() Boolean Public Enkripsi plainteks menjadi cipherteks, mengembalikan true jika berhasil dan false jika gagal. Decrypt() Boolean Public Dekripsi cipherteks menjadi plainteks, mengembalikan true jika berhasil dan false jika gagal. Tabel IV-9 Atribut kelas Enkripsi RC4 Nama Atribut Visibility (private, public) Tipe cipherteks Private String plainteks Private String key Private String seed Private Integer S Private Array of Integer K Private 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 Visibility Keterangan value (private, public) KeyManager() Void Public Konstruktor kelas KeyManager EqKey() Boolean Public Mengembalikan true jika kunci yang dimasukkan sesuai dengan kunci yang ada, dan sebaliknya. SyncKey() Boolean Public Melakukan inisialisasi atau pengubahan kunci pada seluruh basis data dan kunci yang tersimpan pada file system, mengembalikan true jika berhasil dan false jika gagal IsExistKeyFile() Boolean Private Mengembalikan true jika file system 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 Visibility (private, public) Tipe key private String AppDir private 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 Visibility Keterangan value (private, public) HashMD5() Void Public Konstruktor kelas hash MD5 ComputeHashMD5() Array byte Public Menghitung nilai hash dari atribut input Atribut kelas Manajemen Kunci dapat dilihat pada tabel IV-13. Tabel IV-13 Atribut kelas Hash MD5 Nama Atribut Visibility (private, public) Tipe Input private String IV 16

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