Bab 3 Metode Perancangan 3.1
Metode Perancangan dan Desain Sistem Metode rekayasa perangkat lunak yang digunakan dalam
pembuatan
skripsi
ini
adalah
metode
prototyping.
Metode
prototyping adalah metode rekayasa perangkat lunak dimana antara developer dan client saling berinteraksi dalam membangun desain sistem aplikasi yang akan dibuat. Metode prototyping sangat cocok digunakan
untuk
perangkat
kebutuhan
pengguna
(user
lunak
yang
requirement).
dibangun
mengikuti
Dalam metode
ini,
pengguna tidak memberikan detail pada input, proses, dan output. Sehingga model dari sistem prototyping yang dibangun tersebut akan terus menerus diperbaiki agar sesuai harapan pengguna (Pressman, 2001).
Gambar 3.1 Metode Prototype (Pressman, 2001)
13
14
Pada Pembangunan prototype sistem dilakukan beberapa tahapan untuk membangun aplikasi sistem sesuai dengan permintaan user yaitu :
Tahapan prototype pertama, pengguna belum memberikan detail dari sistem yang akan dibangun. Kebutuhan pengguna (user requirement) yang didapat dalam wawancara awal di fakultas teknologi informasi dan studi pustaka.
Kebutuhan pengguna sistem dalam
metode prototyping
kedua
pengembangan
pada
dasarnya
kebutuhan
pengguna
pertama.
Membangun
perancangan
merupakan
sistem metode
prototyping
prototyping
sementara
yang
dari tahap
dengan
membuat
pada
penyajian
berfokus
kepada pelanggan. Selain itu, pengguna juga memberikan tambahan kebutuhan pengguna untuk sistem yang dibangun pada tahap berikutnya.
Tahap
berikutnya adalah evaluasi yang dilakukan oleh
pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan kebutuhan pelanggan. Tahapan prototyping akan terus berputar sampai keinginan pelanggan tercapai.
3.2
Pengumpulan Data Pada
pembangunan
prototype
sistem
yang
pertama,
pengguna belum memberikan detail secara keseluruhan dari sistem yang akan dibangun. Kebutuhan pengguna (user requirement) yang didapat dalam wawancara awal di fakultas teknologi informasi dan studi pustaka antara lain :
15
1.
Aplikasi
dibuat
secara
sederhana
dan
mudah
dalam
pengoperasiannya. 2.
Aplikasi terdapat menu seperti : menambah data (New), mengubah data (Edit), menghapus data (Delete), Menyaring data (Filter). Kemudian tahap selanjutnya dalam metode prototyping yaitu
melakukan pembangunan prototype sistem. Pembangunan prototype sistem dibangun
berdasarkan
kebutuhan
pengguna
yang telah
didapat dari hasil wawancara yang sudah dilakukan sebelumnya. Hasil dari pembangunan pada prototype sistem ini dapat disebut prototype sistem pertama. Pembangunan prototype sistem pertama akan dibahas pada bab selanjutnya. Prototype sistem pertama yang sudah selesai dibangun akan dilakukan evaluasi sistem berdasarkan kebutuhan pengguna. Tahap evaluasi sistem mempertemukan antara client atau pengguna sistem dengan developer atau pembangun sistem. Dari tahap evaluasi sistem ini akan diketahui kekurangan dari sistem yang dibangun. Sehingga kekurangan yang telah diketemukan dari tahap evaluasi ini digunakan sebagai kebutuhan sistem dalam pembangunan prototype sistem berikutnya dan tahapan dalam metode prototyping pun akan berulang. Kebutuhan pengguna sistem dalam metode prototyping kedua pada dasarnya merupakan pengembangan dari kebutuhan pengguna sistem metode prototyping tahap pertama. Selain itu, pengguna juga memberikan tambahan kebutuhan pengguna untuk sistem yang dibangun pada tahap berikutnya. Kebutuhan pengguna sistem pada tahap kedua yaitu :
16
1.
Menambahkan menu Login pada aplikasi.
2.
Menambahkan menu Akun Transaksi. Kebutuhan pengguna pada metode prototyping tahap kedua
selanjutnya digunakan untuk melakukan pembangunan prototype sistem tahap kedua. Prototype sistem pada tahap kedua disebut prototype sistem kedua. Pembangunan prototype sistem pada tahap kedua dibahas dalam bab 4. Proses evaluasi metode prototyping tahap kedua dilakukan setelah pembangunan prototype sistem kedua selesai. Hasil
proses
evaluasi
disimpulkan
bahwa
sistem
prototype yang
sistem
dibangun
kedua
hampir
dapat
memenuhi
kebutuhan dari pengguna sistem. Namun, masih terdapat beberapa penambahan fitur dalam prototype sistem kedua. Penambahan fitur tersebut digunakan dalam metode prototyping tahap ketiga. Penambahan fitur pada sistem tahap ketiga adalah : 1.
Perancangan dan pembuatan database.
2.
Perbaikan terhadap antarmuka prototype sistem kedua.
3.
Implementasi enkripsi database. Kebutuhan pengguna pada prototyping tahap ketiga digunakan
dalam pembangunan sistem pada metode prototyping tahap ketiga. Prototype sistem yang dihasilkan dalam metode prototyping tahap ketiga disebut prototype sistem ketiga. Pembangunan prototype sistem ketiga akan dibahas pada bab 4. Setelah prototype sistem ketiga selesai tahap selanjutnya dalam metode prototyping adalah melakukan evaluasi prototype sistem.
17
Dalam proses evaluasi prototyping sistem ketiga telah disimpulkan bahwa semua kebutuhan pengguna telah dipenuhi maka pembangunan prototype sistem dinyatakan sudah selesai. Kebutuhan minimum perangkat keras dan perangkat lunak untuk menjalankan percobaan ini adalah sebagai berikut :
Sistem operasi : Microsoft Windows XP SP3
Program : Microsoft Visual Studio 2010 dengan bahasa pemrograman C#
Database : SQL Server 2008
Perangkat Keras : Pentium dual-core processor 1,8 GHz dan 1 GB RAM.
Metode pengumpulan data dilakukan dengan cara berikut : 1.
Wawancara Dengan melakukan tanya jawab langsung dengan nara sumber untuk memperoleh data dan informasi yang berkaitan dengan penelitian.
2.
Studi Pustaka Dengan membaca buku - buku literature yang dianggap penting
dan
relevan
dengan
topik
penelitian
guna
mengumpulkan data teoritis untuk menunjang penelitian.
3.3
Perancangan pada Aplikasi Kriptografi Perancangan
dapat
digambarkan
dengan
menggunakan
Unified Modeling Language (UML) yang digunakan untuk urutan proses yang terjadi pada sistem informasi. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti
18
lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek.
3.3.1 Perancangan Sistem Langkah awal dalam merancang sistem ini dibuat use case sebagai analisis awal. Model sistem aplikasi dapat dilihat dengan menggunakan use case yaitu operasi-operasi yang dilakukan oleh actor. 3.3.1.1 Use Case Diagram Use
case
diagram
menggambarkan
interaksi
antara
pengguna atau admin dengan suatu sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Use case diagram mempunyai bagian penting yaitu actor, use case, dan association. Actor adalah pengguna atau admin yang berinteraksi dengan sistem aplikasi. Use case merepresentasikan operasi operasi yang dilakukan oleh actor. Association adalah relasi yang menggambarkan hubungan antara actor dan use case.
19
hapus pengguna menambah pengguna ubah kata sandi
mengelola data pengguna
tambah transaksi
admin
pengguna mengelola data transaksi
menyaring transaksi
menampilkan transaksi
mengubah transaksi
hapus transaksi
Gambar 3.2 Use Case Diagram
Use case diagram pada Gambar 3.2 diatas adalah gambaran secara umum. Penjelasannya adalah sebagai berikut:
Administrator bertugas sebagai pengelola isi aplikasi serta memiliki hak akses sebagai user.
User
dapat
melihat
transaksi
pada
aplikasi
dan
menambahkan transaksi baru. 3.3.1.2 Activity Diagram Activity Diagram menggambarkan proses aktifitas alur kerja yang terjadi dari awal sampai akhir. Oleh karena itu activity diagram menggambarkan proses-proses dan jalur - jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih.
Aktivitas
tersebut
menggambarkan
proses yang sedang
berjalan, sementara use case menggambarkan bagaimana actor
20
menggunakan
sistem
untuk
melakukan
aktivitas
yang
akan
dilakukan.
Gambar 3.3 Activity Diagram Mengelola Data Pengguna
Gambar 3.3 merupakan aktifitas yang terjadi saat admin mengelola data. Admin login terlebih dahulu kemudian jika validasi berhasil maka dapat membuka aplikasi kriptografi. Admin dapat mengelola data pengguna seperti : menambah pengguna baru, menghapus pengguna, mengubah kata sandi admin atau pengguna. Setelah perubahan disimpan, admin dapat keluar dari aplikasi.
21
Gambar 3.4 Activity Diagram Mengelola Data Transaksi
Gambar 3.4 merupakan aktifitas yang terjadi saat admin mengelola transaksi. Pada awalnya admin login terlebih dahulu, jika berhasil login maka admin dapat membuka aplikasi transaksi. Admin
dapat
mengelola
data
transaksi seperti : menambah,
menghapus, mengubah, menampilkan, menyaring transaksi yang ada dalam aplikasi.
22
Gambar 3.5 Activity Diagram Pengguna
Pada Gambar 3.5 merupakan aktifitas yang terjadi antara aplikasi transaksi dengan pengguna. Dimana pada tersebut pengguna dapat menampilkan transaksi, menyaring transaksi dan menambah transaksi.
3.3.1.3 Class Diagram Class diagram mendekripsikan jenis-jenis obyek dalam sistem dan berbagai macam hubungan yang terjadi.class diagram menunjukkan property dan operasi sebuah class dalam hubungan
23
obyek. Jadi class diagram membantu pengembang mendapatkan struktur sistem dan menghasilkan rancangan yang baik.
Gambar 3.6 Class Diagram Sistem
Gambar
3.6
menggambarkan
hubungan
antar
class.
Dijelaskan bahwa class user berelasi langsung dengan transaction bersifat One to Many yaitu bahwa satu user dapat menambahkan lebih dari satu transaksi. Class administrator berelasi langsung ke banyak transaksi bersifat One to Many. Dan administrator berelasi langsung ke user yang bersifat One to Many.
3.3.1.4 Sequence Diagram Sequence diagram merupakan interaksi antara objek-objek dalam suatu sistem dan terjadi komunikasi yang berupa pesan serta urutan antar operasi dan informasi yang diperlukan oleh masingmasing
operasi.
menggambarkan
Sequence rangkaian
diagram langkah
-
biasa langkah
digunakan
untuk
yang dilakukan
24
sebagai tanggapan dari sebuah event untuk menghasilkan output tertentu.
aplikasi : admin 1: menginput username & password 2: validasi
3: konfirmasi login
Gambar 3.7 Sequence Diagram Login Admin
Gambar 3.7 merupakan sequence diagram login admin yang menjelaskan proses login yang terjadi pada saat admin membuka aplikasi. Pada awalnya admin memasukkan username dan password pada aplikasi untuk divalidasi yang ada di dalam basis data. Selanjutnya ada konfirmasi login, apakah proses login berhasil atau gagal.
25
menambah pengguna : admin 1: menambah pengguna baru
menghapus pengguna
mengubah kata sandi
2: menghapus pengguna yang ada dalam basisdata
3: mengubah kata sandi yang ada dala basis data
Gambar 3.8 Sequence Diagram Mengelola Data Pengguna
Gambar 3.8 merupakan sequence diagram saat admin mengelola data pengguna. Pada awalnya pengguna memilih menu yang sudah ada pada aplikasi. Admin dapat menambah pengguna baru agar pengguna tersebut dapat login selain itu admin dapat menghapus pengguna yang sudah tersimpan pada basis data. Admin dapat mengubah kata sandi pada pengguna yang sudah tersimpan pada basis data maupun mengubah kata sandi pada admin itu sendiri.
26
menghapus transaksi
menambah transaksi
: admin
mengubah transaksi
menampilkan transaksi
menyaring transaksi
1: menambahkan transaksi baru
2: menghapus transaksi yang tersimpan pada basisdata 3: mengubah data transaksi
4: menampilkan semua transaksi 5: menyaring transaksi berdasarkan kriteria
Gambar 3.9 Sequence Diagram Admin Mengelola Data Transaksi
Gambar 3.9 merupakan sequence diagram saat admin mengelola data transaksi. Saat membuka aplikasi transaksi admin dapat menambahkan transaksi baru, menghapus transaksi yang sudah
tersimpan
pada
basis data,
mengubah data transaksi,
menampilkan semua transaksi dan menyaring transaksi berdasarkan kriteria tertentu.
27
tambah transaksi
menampilkan transaksi
: pengguna
menyaring transaksi
1: menambah transaksi baru 2: menampilkan semua transaksi baru 3: menyaring transaksi sesuai dengan kriteria tertentu
Gambar 3.10 Sequence Diagram Pengguna Mengelola Data Transaksi
Gambar 3.10 merupakan sequence diagram saat pengguna mengelola data transaksi. transaksi
baru,
Pengguna hanya bisa menambahkan
menampilkan
semua
transaksi dan
menyaring
transaksi sesuai dengan kriteria tertentu. 3.3.1.5 Deployment Diagram Deployment Diagram adalah suatu diagram yang berisi tentang pandangan yang berkaitan dengan penyebaran fisik dalam sebuah infrastruktur sistem.
<>
SQL Server Aplikasii
executive Menyimpan Data Analisa Data Mengolah Data
Gambar 3.11 Deployment Diagram
28
Pada Gambar 3.11 terlihat bahwa aplikasi kriptografi untuk kerahasiaan database keuangan menggunakan SQL Server sebagai Database Management System yang akan menyimpan seluruh data yang diperlukan. Aplikasi akan mengakses data yang ada dalam database. Saat pengguna membuat transaksi baru pada aplikasi maka data yang tersimpan akan otomatis terenkripsi dan pada database. 3.3.2 Perancangan Database Database merupakan komponen dasar dari sebuah sistem informasi dan pengembangannya. Perancangan database bertujuan memenuhi informasi yang berisikan kebutuhan - kebutuhan para pengguna dan menyediakan informasi yang mudah dimengerti oleh pengguna. Tabel 3.1 Tabel Transaksi Keuangan
Column Name
Data Type
Allow Nulls
Id
bigint
Tanggal
numeric(24,6)
˅
KodeAkun
varchar(200)
˅
Debit
varchar(200)
˅
Kredit
varchar(200)
˅
Keterangan
varchar(200)
˅
Tabel 3.1 adalah tabel yang digunakan untuk menyimpan data transaksi yang dimiliki PT. INDOMEDIA. Tabel ini memiliki enam field yaitu : Id (primary key, bigint), Tanggal (numeric 24,6, allow nulls), KodeAkun (varchar 200, allow nulls), Debit (varchar 200, allow nulls), Kredit (varchar 200, allow nulls), Keterangan (varchar 200, allow nulls).
29
Tabel 3.2 Tabel Akun Pengguna
Column Name
Data Type
Username
varchar(200)
Password
varchar(200)
Allow Nulls ˅
Tabel 3.2 adalah tabel yang digunakan untuk menyimpan akun pengguna. Tabel ini memiliki 2 field yaitu : username (varchar 200), password (primary key, varchar 200, allow nulls). Tabel 3.3 Tabel Kode Akuntansi
Column Name
Data Type
Kode
varchar(50)
Nama
varchar(200)
Allow Nulls ˅
Tabel 3.3 adalah tabel yang digunakan untuk menyimpan kode akuntansi. Tabel ini memiliki 2 field yaitu : kode (primary key, varchar 50), nama (varchar 200, allow nulls).
3.3.3 Rancangan Antarmuka Dalam sub bab ini akan dibahas mengenai desain interface pada aplikasi. Desain interface merupakan rancangan antarmuka program
yang
akan
diimplementasikan.
Terdapat
beberapa
rancangan antarmuka yang akan dibuat dalam sistem ini, antara lain:
30
3.3.3.1 Antarmuka Halaman Utama Antarmuka
halaman
utama
merupakan
halaman
yang
menyediakan tiga fitur utama yang dapat dipilih user.
1
2
3
8
9
10
4
5
6
7
11
Gambar 3.12 Antarmuka Halaman Utama
Pada Gambar 3.12 terdapat beberapa bagian fitur utama, yaitu : 1.
Baru Digunakan untuk tambah transaksi.
2.
Edit Pada fitur ini admin dapat mengubah detail data transaksi.
3.
Hapus Pada fitur ini admin menghapus transaksi yang sudah ada.
4.
Data Pada fitur ini admin maupun pengguna dapat menampilkan transaksi berdasarkan kriteria tertentu.
5.
Refresh Pada fitur ini admin maupun pengguna dapat memuat ulang pada data transaksi.
6.
Report Pada fitur ini admin maupun pengguna melihat hasil laporan untuk dicetak.
31
7.
Logout Pada fitur ini admin maupun pengguna keluar dari aplikasi.
8.
Manage user / admin Pada fitur ini admin dapat mengelola akun dari pengguna seperti : password
9.
Manage Akun Transaksi Pada fitur ini admin dapat mengelola akun transaksi.
10. Restore Mengembalikan data yang sudah terhapus. 11. Tampilan Menu Pada fitur ini menampilkan menu yang dipilih pengguna atau admin.
3.3.3.2 Antarmuka kelola akun Antarmuka
kelola
akun
merupakan
halaman
yang
menampilkan menu saat pertama kali masuk ke aplikasi kriptografi.
1 2 3 4
5
6
7
Gambar 3.13 Interface Kelola Akun
32
Pada Gambar 3.13 terdapat beberapa bagian, yaitu : 1. Mengisi username. 2. Mengisi password. 3. Menyimpan hasil perubahan 4. Menambah akun pengguna / admin yang baru 5. Mengubah password atau username 6. Menghapus daftar akun yang ada. 7. Tampilan hasil perubahan
33
3.3.4 Algoritma Kriptografi
Gambar 3.14 Algoritma Kriptografi
34
Pada Gambar 3.14 algoritma AES, jumlah blok input, blok output, dan state adalah 128 bit. Dengan besar data 128 bit, berarti Nb = 4 yang menunjukkan panjang data tiap baris adalah 4 byte. Dengan blok input atau blok data sebesar 128 bit,
key yang
digunakan pada algoritma AES tidak harus mempunyai besar yang sama dengan blok input.
Cipher key pada algoritma AES bisa
menggunakan kunci dengan panjang 128 bit, 192 bit, atau 256 bit. Perbedaan panjang kunci akan mempengaruhi jumlah
round yang
akan diimplementasikan pada algoritma AES ini. Proses enkripsi pada algoritma AES terdiri dari 4 jenis transformasi bytes, yaitu SubBytes, ShiftRows, Mixcolumns, dan AddRoundKey. Pada awal proses enkripsi, input yang telah disalin ke dalam Setelah
state akan mengalami transformasi byte AddRoundKey. itu,
state
akan
mengalami
transformasi
SubBytes,
ShiftRows, MixColumns, dan AddRoundKey secara berulang-ulang sebanyak Nr. Proses ini dalam algoritma AES disebut sebagai round function. Round yang terakhir sebelumnya dimana pada transformasi MixColumns.
berbeda dengan
round terakhir,
round - round
state tidak mengalami