BAB III ANALISA DAN PERANCANGAN
Bab ini berisi penjelasan tentang analisa, identifikasi masalah, perancangan sistem, kerangka pemikiran, struktur tabel basis data dan perancangan antarmuka aplikasi. Dalam subbab analisa berisi analisa-analisa yang meliputi analisa pembuatan sistem, analisa pengguna, analisa kebutuhan, dan spesifikasi kebutuhan sistem. Dalam subbab perancangan sistem berisi diagram-diagram yang digunakan untuk merancang aplikasi. Pada subbab struktur tabel basis data menjelaskan tabel-tabel yang terlibat dalam aplikasi. Subbab terakhir pada menu ini yaitu perancangan antarmuka aplikasi, dimana perancangan antarmuka aplikasi berisi model atau bentuk awal antarmuka aplikasi yang akan diterapkan. 3.1.
Analisa
3.1.1. Analisa Pembuatan Sistem Sistem yang dibangun menggunakan sistem server gateway, dimana server adalah lokasi aplikasi tersintall dan client adalah area user dalam menggunakan internet. Sebagai alternatif server, digunakan notebook untuk menggantikan implementasi dan pengujian pada aplikasi ini. Server yang digunakan bertindak sebagai server gateway sekaligus sebagai web server. 3.1.2. Analisa Pengguna Analisa pengguna menerangkan tipe-tipe level user yang akan digunakan dalam aplikasi. Berikut adalah tabel analisa pengguna dari aplikasi yang akan dibuat, Table 3.1 : Analisa Pengguna Aplikasi No 1
Pengguna Administrator
Deskripsi Merupakan level user yang memiliki akses penuh terhadap semua fitur yang dimiliki aplikasi. Pada pelaksanaannya, level user ini dapat diterapkan untuk jabatan manajer atau kepala divisi.
2
Guest
Merupakan level user yang hanya dapat mengakses beberapa fitur yang dimiliki aplikasi, atau sesuai dengan hak akses yang ditentukan oleh user level administrator. Pada pelaksanaannya, level user ini dapat diterapkan untuk jabatan staff sistem administrator.
19
20
3.1.3. Analisa Kebutuhan Dalam membangun Aplikasi Packet Filter Firewall Berbasis Web Menggunakan IPTables dilakukan beberapa tahap analisa kebutuhan yaitu : 1. Melihat kebutuhan akan kepraktisan penggunaan aplikasi firewall IPTables pada sistem operasi Linux. 2. Menyediakan aplikasi yang dapat menjadi media keamanan jaringan untuk memfilter packet yang masuk dari jaringan luar ke jaringan lokasi dan dari jaringan lokal ke luar. 3. Menyediakan aplikasi yang dapat melakukan pengaturan kebijakan firewall tanpa harus memahami perintah command line dari aplikasi firewall. 3.1.4. Spesifikasi Kebutuhan Sistem Spesifikasi sistem merupakan detail kebutuhan yang harus dipenuhi dalam membangun sistem, sehingga tercapainya tujuan dari aplikasi tersebut. Spesifikasi kebutuhan tersebut mencangkup 4 kategori, yaitu spesifikasi server, spesifikasi client, spesifikasi aplikasi dan aplikasi development. a. Spesifikasi Server Spesifikasi server adalah analisa spesifikasi kebutuhan dari sistem yang akan digunakan sebagai server. Spesifikasi server meliputi sistem operasi, perangkat keras, dan peramba web atau browser sebagai media penunjang berjalannya antarmuka. Berikut detail spesifikasi server yang dibutuhkan:
Sistem Operasi
: CentOS Linux versi update terakhir.
Memory
: min. 512 MB, max. 3 TB.
Disk space
: min. 20 GB.
Aplikasi Firewall
: iptables.
Web Server
: Apache.
Library PHP
: php 5. 1. 6 atau versi diatasnya.
Database
: MariaDB 5. 0 atau versi diatasnya.
Interface Database : phpMyAdmin.
Browser
: Internet Explorer 10 atau versi diatasnya, Firefox 31 atau versi diatasnya, Chrome 31 atau versi diatasnya, Safari 7 atau versi diatasnya, Opera 28 atau versi diatasnya.
21 b. Spesifikasi Client Client digunakan untuk mengakses/diakses jaringan internet melalui server. Dibutuhkan koneksi interface agar client dapat terhubung ke server. Berikut adalah spesifikasi client agar dapat menjadi client:
Connectivity : Wi-Fi 802. 11b/g/n
c. Spesifikasi Aplikasi Spesifikasi aplikasi berkaitan dengan kebutuhan pembangunan aplikasi pada sisi pemrograman. Berikut detail spesifikasi aplikasi yang digunakan :
PHP Framework
: CodeIgniter 2. 2. 0.
Client Side Framework : Bootstrap sb-admin 2. 0.
d. Aplikasi Development Aplikasi development adalah aplikasi yang digunakan sebagai media pengkodean dengan menggunakan bahasa pemrograman sehingga menjadi sebuah aplikasi siap pakai.
3.2.
NetBeans IDE 8. 0. 2
Skenario Implementasi Aplikasi Implementasi aplikasi diterapkan menggunakan sistem server gateway dengan memanfaatkan 2
network interface pada notebook (interface usb ethernet dan wireless ethernet). Untuk lebih detailnya dapat dilihat pada gambar dibawah ini,
Gambar 3.1 : Skenario Implementasi Aplikasi Gambar 3.1 merupakan perancangan dari sistem aplikasi firewall yang bekerja pada sistem server gateway dimana pada sisi server akan diinstall aplikasi firewall yang mengatur perijinan hak akses client ke jaringan internet. Client yang digunakan adalah notebook atau smartphone yang
22 memiliki koneksi wireless untuk dapat terhubung dengan wireless notebook server. Untuk dapat menjadi client, notebook atau smartphone harus terkoneksi ke hotspot wireless milik notebook. Untuk skenario akses jaringan dari lokal ke luar (internet) yaitu permintaan akses dari client ke jaringan internet akan diproses terlebih dahulu oleh aplikasi firewall. Jika permintaan akses memenuhi aturan firewall maka koneksi akan dilanjutkan ke jaringan internet melalui usb ethernet. Untuk skenario akses jaringan dari luar (internet) ke lokal yaitu permintaan akses dari internet ke jaringan lokal akan diproses terlebih dahulu oleh aplikasi firewall. Jika permintaan akses memenuhi aturan firewall maka koneksi akan dilanjutkan (forwarding) ke jaringan lokal melalui wireless hotspot. 3.3.
Perancangan Sistem Sebelum
memulai
tahap
implementasi,
perlu
dilakukan
perancangan
yang
dapat
menggambarkan bagaimana suatu sistem dibentuk dan mendefinisikan kebutuhan-kebutuhan fungsional dari aplikasi yang akan dibuat. Dibutuhkan model diagram UML (Unified Modeling Language) untuk dapat membantu dalam tahap perancangan ini. Diagram-diagram UML yang dimaksud adalah Class Diagram, Use-case Diagram, Activity Diagram, dan Sequence Diagram. 3.3.1. Pemodelan Diagram Class Pemodelan diagram class ini digunakan untuk membantu dalam merencanakan, mengatur, mengontrol, dan mengevaluasi pembangunan database pada aplikasi dengan disertai relasi antar tabel database. Berikut adalah pemodelan diagram class yang digunakan,
23
Gambar 3.2 : Diagram Class Aplikasi 3.3.2. Pemodelan Diagram Use Case Diagram use-case ini digunakan untuk melakukan pemodelan kebutuhan sistem. Diagram use case juga menunjukan fungsionalitas suatu sistem. Untuk lebih jelasnya, dapat dilihat pada gambar dibawah ini.
24
Gambar 3.3 : Diagram Use Ca I se Aplikasi 3.3.1.1. Skenario Use Case Table 3.2 : Deskripsi Use Case Login User Nama Use Case
:
Login User
Aktor
:
Administrator
Deskripsi
:
Administrator melakukan login ke Aplikasi
Table 3.3 : Deskripsi Use Case Edit Password Nama Use Case
:
Edit Password
Aktor
:
Administrator
Deskripsi
:
Administrator merubah password yang digunakan
25
Table 3.4 : Deskripsi Use Case Tambah Data User Nama Use Case
:
Tambah Data User
Aktor
:
Administrator
Deskripsi
:
Administrator menambah user account
Table 3.5 : Deskripsi Use Case Edit Data User Nama Use Case
:
Edit Data User
Aktor
:
Administrator
Deskripsi
:
Administrator merubah user account
Table 3.6 : Deskripsi Use Case Hapus Data User Nama Use Case
:
Hapus Data User
Aktor
:
Administrator
Deskripsi
:
Administrator menghapus user account
Table 3.7 : Deskripsi Use Case Tambah Data Module Nama Use Case
:
Tambah Data Module
Aktor
:
Administrator
Deskripsi
:
Administrator menambah data module
Table 3.8 : Deskripsi Use Case Edit Data Module Nama Use Case
:
Edit Data Module
Aktor
:
Administrator
Deskripsi
:
Administrator merubah data module
Table 3.9 : Deskripsi Use Case Previleges Data Module Nama Use Case
:
Previleges Data Module
Aktor
:
Administrator
Deskripsi
:
Administrator merubah hak akses module
Table 3.10 : Deskripsi Use Case Hapus Data Module Nama Use Case
:
Hapus Data Module
Aktor
:
Administrator
Deskripsi
:
Administrator menghapus data module
26
Table 3.11 : Deskripsi Use Case Lihat Table Firewall Nama Use Case
:
Lihat Table Firewall
Aktor
:
Administrator
Deskripsi
:
Administrator melihat table firewall
Table 3.12 : Deskripsi Use Case Setup Firewall Nama Use Case
:
Setup Firewall
Aktor
:
Administrator
Deskripsi
:
Administrator memiliki 2 pilihan pengaturan yaitu: ‘by case’ dan ‘show all’. Pada pengaturan ‘by case’, Administrator melakukan pengaturan berdasarkan kasus penggunaan firewall yang umum digunakan. Pada pengaturan ‘show all’, Administrator melakukan pengaturan berdasarkan paramterparameter yang ditentukan sendiri.
Table 3.13 : Deskripsi Use Case Lihat History Setup Firewall Nama Use Case
:
History Setup Firewall
Aktor
:
Administrator
Deskripsi
:
Administrator melihat history pengaturan firewall
Table 3.14 : Deskripsi Use Case Clear History Setup Firewall Nama Use Case
:
Clear History Setup Firewall
Aktor
:
Administrator
Deskripsi
:
Administrator mengkosongkan history pengaturan firewall
27 3.3.3. Pemodelan Diagram Activity 3.3.2.1. Diagram Activity Login User
Gambar 3.4 : Diagram Activity Login User
Table 3.15 : Deskripsi Diagram Activity Login User Nama Activity
:
Diagram Activity Login User
Aktor
:
User
Deskripsi
:
User entry username dan password
Pra Kondisi
:
-
Tindakan
:
User entry username dan password
Pasca Kondisi
:
User menampilkan halaman utama. Jika login gagal maka user harus login kembali
28 3.3.2.2.
Diagram Activity Edit Password
Gambar 3.5 : Diagram Activity Edit Password
Table 3.16 : Deskripsi Diagram Activity Edit Password Nama Activity
:
Diagram Activity Edit Password
Aktor
:
User
Deskripsi
:
User merubah password dari account miliknya
Pra Kondisi
:
Password masih sesuai dengan perubahan terakhir
Tindakan
:
Mengisi password perubahan
Pasca Kondisi
:
Password berubah sesuai dengan yang diisikan pada form. Setelah sukses merubah password, maka otomatis logout dan menampilkan halaman login
29 3.3.2.3.
Diagram Activity Tambah Data User
Gambar 3.6 : Diagram Activity Tambah Data User
Table 3.17 : Deskripsi Diagram Activity Tambah Data User Nama Activity
:
Diagram Activity Tambah Data User
Aktor
:
User
Deskripsi
:
Menambah user baru
Pra Kondisi
:
Jumlah data user dalam database belum bertambah
30 Tindakan
:
Mengisikan data user yang ditambahkan
Pasca Kondisi
:
User pada database bertambah dan user tersebut dapat mengakses aplikasi sesuai user password yang ditentukan.
3.3.2.4.
Diagram Activity Edit Data User
Gambar 3.7 : Diagram Activity Edit Data User
Table 3.18 : Deskripsi Diagram Activity Edit Data User Nama Activity
:
Diagram Activity Edit Data User
Aktor
:
User
Deskripsi
:
Merubah data user
Pra Kondisi
:
Data user masih sesuai dengan perubahan terakhir
31 Tindakan
:
Mengisi data user perubahan
Pasca Kondisi
:
Data user berubah sesuai dengan yang diisikan pada form edit.
3.3.2.5.
Diagram Activity Hapus Data User
Gambar 3.8 : Diagram Activity Hapus Data User
Table 3.19 : Deskripsi Diagram Activity Hapus Data User Nama Activity
:
Diagram Activity Hapus Data User
Aktor
:
User
Deskripsi
:
Menghapus data user
Pra Kondisi
:
Jumlah data user dalam database belum berkurang
Tindakan
:
Memilih dan menghapus data user
Pasca Kondisi
:
Data user yang dipilih telah dihapus dari database sehingga sudah tidak dapat lagi login menggunakan account tersebut.
32 3.3.2.6.
Diagram Activity Tambah Data Module
Gambar 3.9 : Diagram Activity Tambah Data Module
Table 3.20 : Deskripsi Diagram Activity Tambah Data Module Nama Activity
:
Diagram Activity Tambah Data Module
Aktor
:
User
Deskripsi
:
Menambah module baru
Pra Kondisi
:
Jumlah data module dalam database belum bertambah
Tindakan
:
Mengisikan data module yang ditambahkan
Pasca Kondisi
:
Data module pada database bertambah dan menu aplikasi bertambah sesuai dengan level user yang ditentukan.
33 3.3.2.7.
Diagram Activity Edit Data Module
Gambar 3.10 : Diagram Activity Edit Data Module
Table 3.21 : Deskripsi Diagram Activity Edit Data Module Nama Activity
:
Diagram Activity Edit Data Module
Aktor
:
User
Deskripsi
:
Merubah data module
Pra Kondisi
:
Data module masih sesuai dengan perubahan terakhir
Tindakan
:
Mengisi data module perubahan
Pasca Kondisi
:
Data module berubah sesuai dengan yang diisikan pada form edit.
34
3.3.2.8.
Diagram Activity Previleges Data Module
Gambar 3.11 : Diagram Activity Previleges Data Module
Table 3.22 : Deskripsi Diagram Activity Previleges Data Module Nama Activity
:
Diagram Activity Previleges Data Module
Aktor
:
User
Deskripsi
:
Merubah hak akses module
Pra Kondisi
:
Previleges module masih sesuai dengan perubahan terakhir
Tindakan
:
Memilih hak akses pada level user module
Pasca Kondisi
:
Hak akses module level user disimpan dan module dapat dilihat pada halaman menu.
35 3.3.2.9.
Diagram Activity Hapus Data Module
Gambar 3.12 : Diagram Activity Hapus Data Module
Table 3.23 : Deskripsi Diagram Activity Hapus Data Module Nama Activity
:
Diagram Activity Hapus Data Module
Aktor
:
User
Deskripsi
:
Menghapus data module
Pra Kondisi
:
Jumlah data module dalam database belum berkurang
Tindakan
:
Memilih dan menghapus data module
Pasca Kondisi
:
Data module yang dipilih telah dihapus dari database dan tidak lagi tampil pada menu aplikasi.
36 3.3.2.10. Diagram Activity Lihat Tabel Firewall
Gambar 3.13 : Diagram Activity Lihat Tabel Firewall
Table 3.24 : Deskripsi Diagram Activity Lihat Tabel Firewall Nama Activity
:
Diagram Activity Lihat Tabel Firewall
Aktor
:
User
Deskripsi
:
Melihat Tabel Firewall IPTables
Pra Kondisi
:
-
Tindakan
:
Memilih tabel firewall yang akan dilihat. Sebelum tabel yang dipilih ditampilkan, user sebelumnya harus mengisikan user password server
37 Pasca Kondisi
:
Menampilkan tabel firewall yang dipilih
3.3.2.11. Diagram Activity Setup Firewall
Gambar 3.14 : Diagram Activity Setup Firewall
38 Table 3.25 : Deskripsi Diagram Activity Setup Firewall Nama Activity
:
Diagram Activity Setup Firewall
Aktor
:
User
Deskripsi
:
Melakukan setup firewall
Pra Kondisi
:
Rule firewall masih sama dengan pengaturan terakhir
Tindakan
:
Memilih metode pengaturan firewall dan mengisikan paramter yang berkaitan dengan kebutuhan
Pasca Kondisi
:
Rule firewall bertambah dan telah diterapkan
3.3.2.12. Diagram Activity Lihat History Setup Firewall
Gambar 3.15 : Diagram Activity Lihat History Setup Firewall
Table 3.26 : Deskripsi Diagram Activity Lihat History Setup Firewall Nama Activity
:
Diagram Activity Lihat History Setup Firewall
Aktor
:
User
Deskripsi
:
Melihat history pengaturan firewall yang telah dieksekusi
Pra Kondisi
:
-
Tindakan
:
Menampilkan history firewall IPTables
Pasca Kondisi
:
Semua history ditampilkan
39 3.3.2.13. Diagram Activity Clear History Setup Firewall
Gambar 3.16 : Diagram Activity Clear History Setup Firewall
Table 3.27 : Deskripsi Diagram Activity Clear History Setup Firewall Nama Activity
:
Diagram Activity Clear History Setup Firewall
Aktor
:
User
Deskripsi
:
Membersihkan history pengaturan firewall
Pra Kondisi
:
History masih tersimpan dalam database
Tindakan
:
Membersihkan history pengaturan firewall
Pasca Kondisi
:
History pengaturan firewall sudah dibersihkan dari database
40 3.3.4. Pemodelan Diagram Sequence 3.3.3.1. Diagram Sequence Login User
Gambar 3.17 : Diagram Sequence Login User Gambar 3.17 diatas menggambarkan skenario login user. Pada halaman login, user diminta mengisikan username dan password. Jika username dan password valid maka user akan ditampilkan halaman dashboard, tetapi jika username dan password tidak valid maka user akan kembali diminta mengisikan username dan password pada halaman login.
41 3.3.3.2. Diagram Sequence Edit Password
Gambar 3.18 : Diagram Sequence Edit Password Pada gambar 3.18 diatas menggambarkan skenario edit password. Pada halaman edit password, user hanya dapat merubah password dari account miliknya. Jika password yang diisikan valid (memiliki kombinasi huruf besar, kecil, angka, symbol dan minimal 8 karakter) maka password perubahan akan disimpan ke database dan user akan logout otomatis lalu kembali ke halaman login. Jika password tidak valid maka tampilan akan tetap pada halaman edit password.
42 3.3.3.3. Diagram Sequence Tambah Data User
Gambar 3.19 : Diagram Sequence Tambah Data User Pada gambar 3.19 diatas menggambarkan skenario tambah data user. Untuk masuk ke halaman add data user, harus melalui halaman data user. Pada halaman add data user, user melakukan input data user. Pada kolom password dilakukan validasi kombinasi karakter yang digunakan. Jika valid maka data user akan disimpan ke dalam database dan kembali pada halaman data user, jika tidak maka user akan tetap berada pada halaman add data user atau user akan kembali pada halaman data user jika proses dibatalkan.
43 3.3.3.4. Diagram Sequence Edit Data User
Gambar 3.20 : Diagram Sequence Edit Data User Pada gambar 3.20 diatas menggambarkan skenario edit data user. Untuk masuk ke halaman edit data user, harus melalui halaman data user lalu memilih user yang akan dirubah. Pada halaman edit data user, user input perubahan data. Pada kolom password dilakukan validasi kombinasi karakter yang digunakan. Jika yang dirubah adalah password maka akan di validasi. Jika valid maka data user akan disimpan ke dalam database dan kembali pada halaman data user, jika tidak maka user akan tetap berada pada halaman edit data user atau user akan kembali pada halaman data user jika proses dibatalkan.
44 3.3.3.5. Diagram Sequence Hapus Data User
Gambar 3.21 : Diagram Sequence Hapus Data User Pada gambar 3.21 diatas menggambarkan skenario hapus data user. User masuk ke halaman data user dan memilih user yang akan dihapus lalu akan muncul pop-up konfirmasi delete. Jika user melanjutkan proses delete maka data akan dihapus dalam database dan kembali ke halaman data user, jika proses dibatalkan maka user akan kembali pada halaman data user tanpa menghapus user.
45 3.3.3.6. Diagram Sequence Tambah Data Module
Gambar 3.22 : Diagram Sequence Tambah Data Module Pada gambar 3.22 diatas menggambarkan skenario tambah data module. Untuk masuk ke halaman add data module, harus melalui halaman data module. Pada halaman add data module, user melakukan input data module. Jika valid maka data module akan disimpan ke dalam database dan kembali pada halaman data module, jika tidak maka user akan tetap berada pada halaman add data module atau user akan kembali pada halaman data user jika proses dibatalkan.
46 3.3.3.7. Diagram Sequence Edit Data Module
Gambar 3.23 : Diagram Sequence Edit Data Module Pada gambar 3.23 diatas menggambarkan skenario edit data modoule. Untuk masuk ke halaman edit data module, harus melalui halaman data module lalu memilih module yang akan dirubah. Pada halaman edit data module, user input perubahan data. Jika valid maka data module akan disimpan ke dalam database dan kembali pada halaman data module, jika tidak maka user akan tetap berada pada halaman edit data module atau user akan kembali pada halaman data module jika proses dibatalkan.
47 3.3.3.8. Diagram Sequence Previleges Data Module
Gambar 3.24 : Diagram Sequence Previleges Data Module Pada gambar 3.24 diatas menggambarkan skenario edit hak akses modoule. Untuk masuk ke halaman previleges data module, harus melalui halaman data module lalu memilih module yang akan dirubah hak aksesnya. Pada halaman previleges data module, user memilih hak akses. Jika proses dilanjutkan maka data previleges module akan disimpan, atau jika proses dibatalkan maka user akan kembali pada halaman data module.
48 3.3.3.9. Diagram Sequence Hapus Data Module
Gambar 3.25 : Diagram Sequence Hapus Data Module Pada gambar 3.25 diatas menggambarkan skenario hapus data module. User masuk ke halaman data module dan memilih module yang akan dihapus lalu akan muncul pop-up konfirmasi delete. Jika user melanjutkan proses delete maka data akan dihapus dalam database dan kembali ke halaman data module, jika proses dibatalkan maka user akan kembali pada halaman data module tanpa menghapus data module.
49 3.3.3.10. Diagram Sequence Lihat Tabel Firewall
Gambar 3.26 : Diagram Sequence Lihat Tabel Firewall Pada gambar 3.26 diatas menggambarkan skenario lihat table firewall. User memilih table firewall yang akan dilihat pada halaman view packet filter. Sebelum tabel yang dipilih ditampilkan, tampil pop-up login user. Jika user dan password yang diisikan valid maka tabel yang dipilih ditampilkan pada halaman view packet filter, jika tidak maka tabel yang dipilih tidak tampil.
50 3.3.3.11. Diagram Sequence Setup Firewall
Gambar 3.27 : Diagram Sequence Setup Firewall Pada gambar 3.27 diatas menggambarkan skenario setup firewall. User masuk menu setup packet filter dan memilih metode setup. Pada halaman setup packet filter akan menampilkan dan memilih parameter setup firewall sesuai dengan metode setup yang dipilih. Lalu muncul pop-up login server, lalu mengisikan username dan password server. Jika user dan password yang diisikan valid maka pengaturan firewall dieksekusi pada sistem, jika tidak maka pengaturan firewall dibatalkan.
51 3.3.3.12. Diagram Sequence Lihat History Setup Firewall
Gambar 3.28 : Diagram Sequence Lihat History Setup Firewall Pada gambar 3.28 diatas menggambarkan skenario lihat history setup firewall. User masuk pada menu history packet filter untuk menampilkan halaman history setup firewall. 3.3.3.13. Diagram Sequence Clear History Setup Firewall
Gambar 3.29 : Diagram Sequence Clear History Setup Firewall
52
Pada gambar 3.29 diatas menggambarkan skenario clear history setup firewall. User masuk pada menu history packet filter untuk menampilkan halaman history setup firewall. Pada halaman history setup firewall, user memilih clear history dan lalu halaman dimuat luang. 3.4.
Kerangka Pemikiran Latar Belakang Melihat kebutuhan akan kepraktisan penggunaan aplikasi firewall IPTables pada sistem operasi Linux.
Masalah Pengoperasian aplikasi IPTables pada linux hanya dapat dilakukan melalui command line interface
Pengumpulan Data
Metode Pengembangan Sistem
Studi Literatur dan Observasi
Metode Waterfall
Analisa
Perancangan
Implementasi
Pengujian
Hasil Pengaturan Firewall dapat menggunakan aplikasi IPTables yang berbasis GUI (Grafic User Interface) Gambar 3.30 : Kerangka Pemikiran Pembangunan Aplikasi
53 3.5.
Perancangan Basis Data Untuk memenuhi kebutuhan dalam pengelolaan data, maka diperlukan media yang dapat
menyimpan data-data aplikasi sehingga memudahkan aplikasi dalam proses penyimpanan, perubahan, dan penghapusan data-data tersebut. Perancangan Basis Data pada subbab ini mendeskripsikan mengenai penjelasan dari tabel, field, tipe data, dan ukuran data. Tabel-tabel yang digunakan untuk membangun aplikasi ini yaitu sebagai berikut : 3.5.1. Rancangan Tabel User Tabel User digunakan untuk menyimpan data user. Tabel ini terdiri dari id_user, fullname, username, password, level. Untuk lebih jelasnya, dapat dilihat pada tabel 3.28 dibawah ini. Table 3.28 : Rancangan Tabel User Nama Field
Tipe Data
Panjang
id_user
int
11
fullname
varchar
50
username
varchar
25
password
varchar
50
level
enum
Keterangan PRIMARY KEY, AUTO_INCREMENT
'guest', 'administrator'
3.5.2. Rancangan Tabel Level Tabel Level digunakan menyimpan data level akses aplikasi. Tabel ini terdiri dari id_level dan level. Untuk lebih jelasnya, dapat dilihat pada tabel 3.29 dibawah ini. Table 3.29 : Rancangan Tabel Level Nama Field
Tipe Data
Panjang
id_level
int
11
level
varchar
25
3.5.3. Rancangan Tabel Module
Keterangan PRIMARY KEY, AUTO_INCREMENT
54 Tabel Module digunakan untuk menyimpan data modul-modul aplikasi. Tabel ini terdiri dari id_module, name, module, position, icon, id_parent, visible, created, createdby, modified, dan modifiedby. Untuk lebih jelasnya, dapat dilihat pada tabel 3.30 dibawah ini. Table 3.30 : Rancangan Tabel Module Nama Field
Tipe Data
Panjang
id_module
int
11
name
varchar
50
module
varchar
50
position
int
11
icon
varchar
50
id_parent
int
11
visible
int
11
created
datetime
createdby
varchar
modified
datetime
modifiedby
varchar
Keterangan PRIMARY KEY
DEFAULT '0000-00-00 00:00:00' 25 DEFAULT '0000-00-00 00:00:00' 25
3.5.4. Rancangan Tabel User Level Tabel User Level digunakan untuk menyimpan data hak akses modul pada setiap level user. Tabel ini terdiri dari id_user_level, id_ta_level, id_ta_module, dan enable. Untuk lebih jelasnya, dapat dilihat pada tabel 3.31 dibawah ini. Table 3.31 : Rancangan Tabel User Level Nama Field
Tipe Data
Panjang
id_user_level
int
11
id_ta_level
int
11
id_ta_module
int
11
enable
int
1
Keterangan PRIMARY KEY, AUTO_INCREMENT
3.5.5. Rancangan Tabel IPTables Table Tabel IPTables Table digunakan untuk menyimpan parameter ‘table’ pada command line IPTables. Tabel ini terdiri dari id, name, command, dan desc. Untuk lebih jelasnya, dapat dilihat pada tabel 3.32 dibawah ini.
55
Table 3.32 : Rancangan Tabel IPTables Table Nama Field
Tipe Data
Panjang
id
int
11
name
varchar
25
command
varchar
10
desc
varchar
250
Keterangan PRIMARY KEY, AUTO_INCREMENT
3.5.6. Rancangan Tabel IPTables Command Tabel IPTables Command digunakan untuk menyimpan parameter ‘command’ pada command line IPTables. Tabel ini terdiri dari id, name, command, alt, dan desc. Untuk lebih jelasnya, dapat dilihat pada tabel 3.33 dibawah ini. Table 3.33 : Rancangan Tabel IPTables Command Nama Field
Tipe Data
Panjang
id
int
11
name
varchar
25
command
varchar
25
alt
varchar
25
desc
text
Keterangan PRIMARY KEY, AUTO_INCREMENT
3.5.7. Rancangan Tabel IPTables Chain Tabel IPTables Chain digunakan untuk menyimpan parameter ‘chain’ pada command line IPTables. Tabel ini terdiri dari id, name, dan command. Untuk lebih jelasnya, dapat dilihat pada tabel 3.34 dibawah ini. Table 3.34 : Rancangan Tabel IPTables Chain Nama Field
Tipe Data
Panjang
id
int
11
name
varchar
25
command
varchar
25
3.5.8. Rancangan Tabel IPTables Option
Keterangan PRIMARY KEY, AUTO_INCREMENT
56 Tabel IPTables Option digunakan untuk menyimpan parameter ‘option’ pada command line IPTables. Tabel ini terdiri dari id, name, command, alt, dan desc. Untuk lebih jelasnya, dapat dilihat pada tabel 3.35 dibawah ini. Table 3.35 : Rancangan Tabel IPTables Option Nama Field
Tipe Data
Panjang
id
int
11
name
varchar
25
command
varchar
25
alt
varchar
25
desc
text
Keterangan PRIMARY KEY, AUTO_INCREMENT
3.5.9. Rancangan Tabel IPTables Match Generic Tabel IPTables Match Generic digunakan untuk menyimpan parameter ‘match generic’ pada command line IPTables. Tabel ini terdiri dari id, name, command, alt, dan desc. Untuk lebih jelasnya, dapat dilihat pada tabel 3.36 dibawah ini. Table 3.36 : Rancangan Tabel IPTables Match Generic Nama Field
Tipe Data
Panjang
id
int
11
name
varchar
25
command
varchar
25
alt
varchar
25
desc
text
Keterangan PRIMARY KEY, AUTO_INCREMENT
3.5.10. Rancangan Tabel IPTables Match Implicit Tabel IPTables Match Implicit digunakan untuk menyimpan parameter ‘match implicit’ pada command line IPTables. Tabel ini terdiri dari id, name, protocol, command, alt, dan desc. Untuk lebih jelasnya, dapat dilihat pada tabel 3.37 dibawah ini. Table 3.37 : Rancangan Tabel IPTables Match Implicit Nama Field
Tipe Data
Panjang
id
int
11
name
varchar
25
Keterangan PRIMARY KEY, AUTO_INCREMENT
57 Nama Field
Tipe Data
Panjang
protocol
varchar
5
command
varchar
25
alt
varchar
25
desc
text
Keterangan
3.5.11. Rancangan Tabel IPTables Match Explicit Tabel IPTables Match Explicit digunakan untuk menyimpan parameter ‘match explicit’ pada command line IPTables. Tabel ini terdiri dari id, name, command, dan desc. Untuk lebih jelasnya, dapat dilihat pada tabel 3.38 dibawah ini. Table 3.38 : Rancangan Tabel IPTables Match Explicit Nama Field
Tipe Data
Panjang
id
int
11
name
varchar
25
command
varchar
50
desc
text
Keterangan PRIMARY KEY, AUTO_INCREMENT
3.5.12. Rancangan Tabel IPTables Target Tabel IPTables Target digunakan untuk menyimpan parameter ‘target’ pada command line IPTables. Tabel ini terdiri dari id, name, command, alt, dan desc. Untuk lebih jelasnya, dapat dilihat pada tabel 3.39 dibawah ini. Table 3.39 : Rancangan Tabel IPTables Target Nama Field
Tipe Data
Panjang
id
int
11
name
varchar
25
command
varchar
25
alt
varchar
25
desc
text
3.5.13. Rancangan Tabel History
Keterangan PRIMARY KEY, AUTO_INCREMENT
58 Tabel History digunakan untuk menyimpan history pengaturan firewall yang telah dilakukan. Tabel ini terdiri dari id, name, command, alt, dan desc. Untuk lebih jelasnya, dapat dilihat pada tabel 3.40 dibawah ini. Table 3.40 : Rancangan Tabel History Nama Field
Tipe Data
Panjang
id
int
11
command
varchar
250
created
Datetime
createdby
varchar
Keterangan PRIMARY KEY, AUTO_INCREMENT DEFAULT '0000-00-00 00:00:00'
25
3.5.14. Rancangan Tabel Port Tabel Port digunakan untuk menyimpan data unkown-list port atau port-port yang sering digunakan. Tabel ini terdiri dari port, protocol, service, dan desc. Untuk lebih jelasnya, dapat dilihat pada tabel 3.41 dibawah ini. Table 3.41 : Rancangan Tabel Port Nama Field
3.6.
Tipe Data
Panjang
id
int
11
port
int
11
protocol
varchar
3
service
varchar
25
desc
varchar
100
Keterangan PRIMARY KEY, AUTO_INCREMENT
Perancangan Antarmuka Aplikasi Perancangan antarmuka menjelaskan perancangan interaksi antara user dan aplikasi. Interaksi
yang dimaksud melibatkan komponen-komponen html untuk memudahkan user dalam menggunakan fitur-fitur yang disediakan aplikasi. 3.6.1. Rancangan Halaman Login Pada halaman ini menggunakan textbox yang masing-masing berfungsi untuk input username dan password. Tampilan Halaman Login dapat dilihat pada gambar 3.31 dibawah ini.
59
Gambar 3.31 : Rancangan Halaman Login 3.6.2. Rancangan Halaman Dashboard Pada halaman ini dilengkapi 3 buah tombol untuk mengakses fitur utama aplikasi. Tombol dibuat lebih besar dan dilengkapi label dan icon yang menggambarkan fitur yang dimilikinya. Tampilan halaman dashboard dapat dilihat pada gambar 3.32 dibawah ini.
Gambar 3.32 : Rancangan Halaman Dashboard 3.6.3. Rancangan Antarmuka Menu Login Menu login diletakan pada pojok kanan atas template dan menggunakan tombol dropdown yang berisi tombol change password dan logout. Pada tombol dropdown berisi nama yang disesuaikan dengan user yang login. Tampilan menu login dapat dilihat pada gambar 3.33 dibawah ini.
60
Gambar 3.33 : Rancangan Menu Login 3.6.4. Rancangan Halaman Change Password Pada halaman ini menggunakan textbox yang masing-masing berfungsi untuk merubah data fullname dan password. Untuk textbox username akan didisable. Tampilan halaman change password dapat dilihat pada gambar 3.34 dibawah ini.
Gambar 3.34 : Rancangan Halaman Change Password 3.6.5. Rancangan Halaman Data Module Pada halaman data module berisi tabel data module yang menampilkan semua data module yang ada dalam basis data. Pada bagian atas tabel terdapat tombol tambah data modul untuk masuk ke halaman tambah data module. Setiap data yang ditampilkan memiliki tombol edit untuk masuk ke halaman edit dan tombol delete untuk menghapus data module dipilih. Data module yang ditampilkan
61 menggunakan fitur tambahan seperti pagination, dan tombol searching. Tampilan halaman tabel data module dapat dilihat pada gambar 3.35 dibawah ini.
Gambar 3.35 : Rancangan Halaman Tabel Data Module 3.6.6. Rancangan Halaman Input Data Module Pada halaman ini menggunakan textbox yang masing-masing berfungsi untuk input data name, module, position, icon, ID parent, dan visible. Tampilan halaman input data module dapat dilihat pada gambar 3.36 dibawah ini.
62
Gambar 3.36 : Rancangan Halaman Input Data Module 3.6.7. Rancangan Halaman Previleges Data Module Pada halaman ini menggunakan check box yang mewakili setiap leve user yang ada. Tampilan halaman previleges data module dapat dilihat pada gambar 3.37 dibawah ini.
Gambar 3.37 : Rancangan Halaman Previleges Data Module 3.6.8. Rancangan Halaman Data User Account
63 Pada halaman data user account berisi tabel user account yang menampilkan semua data user account yang ada dalam basis data. Pada bagian atas tabel terdapat tombol tambah data user account untuk masuk ke halaman tambah data user account. Setiap data yang ditampilkan memiliki tombol edit untuk masuk ke halaman edit dan tombol delete untuk menghapus data user account dipilih. Data user account yang ditampilkan menggunakan fitur tambahan seperti pagination, dan tombol searching. Tampilan halaman tabel data user account dapat dilihat pada gambar 3.38 dibawah ini.
Gambar 3.38 : Rancangan Halaman Tabel User Account 3.6.9. Rancangan Halaman Input User Account Pada halaman ini menggunakan textbox yang masing-masing berfungsi untuk input data fullname, username, dan password. Selain textbox, komponen html lain yang digunakan adalah radio button yang berfungsi untuk memilih level akses dari user account. Tampilan halaman input user account dapat dilihat pada gambar 3.39 dibawah ini.
64
Gambar 3.39 : Rancangan Halaman Input User Account 3.6.10. Rancangan Halaman View Packet Filter Pada halaman ini menggunakan tombol dropdown dan button yang digunakan untuk menampilkan pilihan tabel firewall. Hasil keluaran ditampilkan di kolom bagian bawah tombol dropdown. Tampilan halaman view table firewall dapat dilihat pada gambar 3.40 dibawah ini.
Gambar 3.40 : Rancangan Halaman View Packet Filter
65
3.6.11. Rancangan Halaman Setup Packet Filter (By Case) Halaman setup packet filter memiliki 2 kondisi. Salah satu kondisi itu adalah pengaturan packet filter berdasarkan kasus tertentu yang ditampilkan melalui tombol ‘by case’. Setelah masuk pada halaman ‘by case’, kasus pengaturan firewall dipilih menggunakan tombol dropdown dan button. Hasil pemilihan pengaturan akan menampilkan beberapa parameter tertentu yang melibatkan komponen dropdown dan input box. Tampilan halaman setup packet filter (by case) dapat dilihat pada gambar 3.41 dibawah ini.
Gambar 3.41 : Rancangan Halaman Setup Packet Filter (By Case)
3.6.12. Rancangan Halaman Setup Packet Filter (Show All) Halaman ini adalah satu kondisi lain dari halaman setup packet filter. Pada halaman ini menampilkan semua parameter yang dimiliki oleh aplikasi IPTables. Parameter yang ditampilkan melibatkan komponen dropdown dan input box. Tampilan halaman setup packet filter (show all) dapat dilihat pada gambar 3.42 dibawah ini.
66
Gambar 3.42. : Rancangan Halaman Setup Packet Filter (Show All) 3.6.13. Rancangan Halaman History Packet Filter Pada halaman history packet filter memiliki tabel yang menampilkan seluruh command yang tersimpan dalam basis data. Pada bagian atas tabel terdapat tombol clear history untuk menghapus semua history yang tersimpan. Data history packet filter yang ditampilkan menggunakan fitur tambahan seperti pagination, dan tombol searching. Tampilan halaman tabel data user account dapat dilihat pada gambar 3.43 dibawah ini.
Gambar 3.43 : Rancangan Halaman History Packet Filter
67
3.6.14. Rancangan Halaman Help Command Pada halaman help command memiliki tabel yang menampilkan seluruh command beserta penjelasan singkat yang tersimpan dalam basis data. Data help command yang ditampilkan menggunakan fitur tambahan seperti pagination, dan tombol searching. Tampilan halaman tabel data user account dapat dilihat pada gambar 3.44 dibawah ini.
Gambar 3.44 : Rancangan Halaman Help Command
3.6.15. Rancangan Halaman Help Port List Pada halaman help port list memiliki tabel yang menampilkan seluruh port beserta penjelasan singkat yang tersimpan dalam basis data. Data help port list yang ditampilkan menggunakan fitur tambahan seperti pagination, dan tombol searching. Tampilan halaman tabel data user account dapat dilihat pada gambar 3.45 dibawah ini.
68
Gambar 3.45 : Rancangan Halaman Help Port List