BAB III PERANCANGAN SISTEM · 2020. 4. 21. · Pada bab ini, akan dijelaskan tentang perancangan...

22
17 BAB III PERANCANGAN SISTEM Pada bab ini, akan dijelaskan tentang perancangan perangkat keras sistem yang telah dibuat. 3.1 Gambaran Sistem Berikut merupakan blok diagram dari alat yang telah dibuat : Gambar 3.1 Diagram Blok Sistem Utama

Transcript of BAB III PERANCANGAN SISTEM · 2020. 4. 21. · Pada bab ini, akan dijelaskan tentang perancangan...

17

BAB III

PERANCANGAN SISTEM

Pada bab ini, akan dijelaskan tentang perancangan perangkat keras sistem yang

telah dibuat.

3.1 Gambaran Sistem

Berikut merupakan blok diagram dari alat yang telah dibuat :

Gambar 3.1 Diagram Blok Sistem Utama

18

Gambar 3.1 Diagram Blok Sistem Utama di atas adalah sistem keseluruhan yang

akan dibuat. Baik dari sisi server yang akan mengolah data yang kemudian akan disimpan

pada database dan dari sisi user yang akan mengambil data berupa Tag RFID dan Tag

NFC yang kemudian akan dikirim oleh Arduino melalui Ethernet dan Router menuju ke

Server.

Kartu Tanda Mahasiswa berfungsi sebagai kartu RFID Tag. Didalam kartu

tersebut terdapat chip RFID beserta antenna. Semua Kartu Tanda Mahasiswa yang

digunakan User sebelumnya telah terlebih dahulu tersimpan data token unik setiap kartu.

Didalam database sudah tersimpan pula data user sesuai Kartu Tanda Mahasiswa yang

telah di input secara manual oleh admin sebelum dibagikan. Data – data yang dapat dilihat

oleh database melalui kartu tanda mahasiswa seperti nama, email, password, dan waktu

penggunaan.

Berdasarkan Diagram Blok Sistem Utama, kontroler utama atau mikrokontroler

dari alat sistem peminjaman ruangan menggunakan Arduino mega 2560. Alat ini juga

menggunakan sebuah Power Supply sebagai sumber tegangan agar sistem bekerja. Power

Supply yang digunakan memeiliki 2 buah tegangan, tegangan 12V dan 5V. Penggunaan

teganggan 5V dikhususkan untuk masukan pada Arduino Mega 2560. Dan 12V

diperuntukan untuk mekanisme penguncian ruangan solenoid dan fan pendingin untuk

kotak modul yang akan menyala terus didepan ruangan.

Didalam Modul utama (Module RFID) memiliki beberapa module masukan,

Seperti NFC PN532, Ethernet ENC28J60, LCD karakter 20×4, Real Time Clock, Push

Button, dan Power Supply. Untuk mengirimkan signal perintah pada sistem penguncian

yang berada pada pintu setiap ruangan yang telah terdaftar. Menggunakan kabel yang

terhubung dari Modul RFID. Modul pengunci terdiri dari beberapa modul seperti

Solenoid Door Lock, Buzzer, dan Push Button.

Semua sistem peminjaman ruangan tercatat pada database, pengiriman data dari

kontroler menggunakan Ethernet yang tersambung pada Router. Router sebagai jembatan

yang mengirimkan data dan juga mengirim data Modul RFID. Server sebagai pengolah

data yang nanti tersimpan pada database, terdiri dari beberapa bagian. Perancangan

perangkat lunak server seperti Laravel, dan Xampp.

19

3.1.1 Registrasi Kartu

Pada setiap kartu memiliki ID unik yang sebelumnya sudah tersimpan pada

database. Level user dapat diatur pada setiap kartu yang akan digunakan pada modul.

Sehingga kartu yang akan digunakan hanya kartu RFID yang sudah diregistrasi

sebelumnya pada database.

Gambar 3.2 Flowchart Input Data User

3.1.2 Level Authority

Algoritma pada tugas akhiri ini memiliki fiture yang bisa melakukan pemesanan

atau penjadwalan Ruangan berdasarkan authority pengguna ID Card. Authority terbagi

menjadi 2 level, Admin dan User setiap level memiliki fungsi penggunaan ruangan yang

berbeda. Level-level tersebut dibedakan oleh setiap permission yang dimiliki.

20

3.1.3 Pembuatan dan Perubahan Jadwal

Satu user dapat memesan lebih dari satu jadwal asalkan memenuhi syarat bahwa

ruangan belum dipesan oleh user lain pada waktu yang sama dan waktu penggunan sudah

berjalan. Jika pengguna mengadakan pertemuan secara mendadak dan belum mendaftar

sebaiknya melihat jadwal terlebih dahulu agar tidak terjadi bentrok jadwal dengan user

lain yang sudah meminjam terlebih dahulu.

Gambar 3.3 Flowchart Sistem Pembuatan dan Perubahan Jadwal

21

User memiliki menu yang berbeda dengan menu yang dimiliki oleh admin. Menu

tersebut akan ditampilkan pada halaman web server peminjaman ruangan. Ini

dimaksudkan agar penggunaan ruangan bisa lebih tertata dan sesuai dengan hak

peminjaman yang sudah disediakan oleh sistem.

Jadwal peminjaman ruangan yang terdaftar dapat dilihat pada Schedule yang akan

menampilkan semua data peminjaman. Seperti User Id, Nama Peminjam, Waktu awal

Peminjaman, Waktu akhir Peminjaman, Tanggal penggunaan, dan Ruangan yang akan

digunakan.

Gambar 3.4 Flowchart Booking

22

Dalam sistem ini juga disediakan proses update booking ruangan. menu tersebut

terdapat pada menu bar yang ada pada web server. Jika login sukses, tampilan berpindah

menjadi tampilan jadwal reservasi. Dari jadwal inilah pengguna data memilih jadwal

yang ingin dirubah menjadi jadwal yang belum dipilih atau dapat membatalkan

peminjaman yang sebelumnya sudah dipilih.

Gambar 3.5 Flowchart Schedule

23

3.1.4 Penggunaan Ruangan

Fungsi dari access adalah untuk masuk kedalam ruangan saat tiba waktu

penggunaan. Access dilakukan dengan menempelkan karut tanda mahasiswa pada modul

RFID yang berada pada luar ruangan. Jika sukses maka solenoid door lock akan terbuka,

pintu dapat terbuka dan pengguna dapat masuk kedalam ruangan.

Gambar 3.6 Flowchart Access

Perintah pada modul untuk membuka pengunci ruangan dari luar hanya bisa

dilakukan oleh kartu tanda mahasiswa yang telah memesan ruangan. Bila ada keperluan

pembukaan pintu di sela sela waktu penggunaan selain dari kartu peminjam juga dapat

dilakukan dari dalam ruangan menggunakan push button yang berada pada modul

pengunci. Lama penggunaan sesuai dengan jadwal yang telah diambil oleh user sewaktu

memilih ruangan yang akan digunakan.

24

Bila waktu peminjaman akan berakhir yaitu kurang dari 5 menit, alarm dari buzzer

akan berbunyi untuk mengingatkan waktu akan berakhir. Alarm tersebut sekaligus

perintah untuk pengguna ruangan segera meninggalkan ruangan yang telah digunakan.

Setelah waktu melewati jadwal yang telah dipilih, solenoid door lock akan terkunci

kembali.

3.2 Perancangan User

Pada bagaian ini akan membahas perancangan bagian user yang terdiri dari

perancangan perangkat keras user, dan perancangan perangkat lunak user.

3.2.1 Perangkat Keras User

Pada perancangan perangkat keras user terbagi menjadi dua yaitu perancangan

pengambilan data pada Kartu Tanda Mahasiswa dan perancangan pemakaian ruangan.

3.2.1.1 Perangkat Keras Pengambilan data KTM

Pada bagian ini akan dibahas bagian-bagian perangkat keras user pada sistem

pengambilan data Kartu Tanda Mahasiswa. Seperti Arduino Mega 2560, NFC PN532,

dan Kartu Tanda Mahasiswa.

Gambar 3.7 Perangkat Keras Pengambilan data Kartu Tanda mahasiswa

25

3.2.1.1.1 Arduino Mega 2560

Untuk menggunakan Arduino sebagai kontroler agar NFC PN532 bertindak

sebagai RFID pembaca dan mengirim data kartu pada server menggunakan router untuk

diolah. Pertama perlu membuat kooding sistem untuk mengambil data pada Tag RFID

dan mendeklarasikan RFID reader yang sudah terdapat pada library . Pengambilan data

dapat dilihat pada serial monitor.

3.2.1.1.2 Kartu Tanda Mahasiwa

Kartu Tanda Mahasiswa sebagai kunci untuk memesan dan membuka pengunci

yang terpasang pada pintu yang terdapat pada setiap ruangan yang terdaftar. KTM juga

berfungsi sebagai Tag RFID pasif yang menerima pancaran sinyal yang dikirimkan oleh

reader. Pada mikrokontroler harus membuat sistem pembacaan Tag RFID yang berupa

koding input byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

Gambar 3.8 Tampilan Serial Kartu Tanda Mahasiswa terbaca

Dibagian dalam kartu tanda mahasiswa terdapat sirkuit yang dapat berkomunikasi

frekuensi 13,56 MHz (Half Frekuensi). Standar ISO yang digunakan ISO 14443A yang

digunakan khusus untuk RFID yang oprasionalnya untuk sirkuit yang terdapat pada kartu.

26

3.2.1.1.3 NFC PN532

Pada tugas akhir ini modul NFC yang digunakan adalah PN532 NFC RFID versi

3. Modul ini memiliki tiga komunikasi yaitu HSU, I2C dan SPI. Pada skripsi ini

komunikasi yang digunakan adalah HSU yang merupakan komunikasi default. Pin SCL

pada modul ini dihubungkan dengan pin TX sedangkan pin SDA pada modul

dihubungkan dengan pin RX pada Arduino.

Selanjutnya, ditambahkan pustaka ke dalam program utama N532_HSU.h dan

juga PN532.h lalu NfcAdapter.h. Kemudian, dilakukan deklarasi PN532_HSU

pn532hsu(Serial1) dan NfcAdapter nfc = NfcAdapter(pn532hsu)

Selanjutnya akan diambil ID dari Tag tersebut. Jika Tag Tersebut memiliki NDEF

(NFC Data Exchange Format) messages maka selanjutnya akan diambil record 0 yang

kemudian diambil payload length untuk mendapatkan payload. Setelah payload didapat

selanjutnya payload tersebut diubah kedalam bentuk String.

3.2.1.1.4 Ethernet ENC28J60

Ethernet Shield digunakan untuk menghubungkan Arduino ke jaringan. Yang

perlu dilakukan hanyalah memasang Ethernet Shield ke bagian pin Arduino dengan cara

menumpuknya di atas Ardunio. Kemudian hubungkan kabel LAN ke Ethernet Shield dan

Router, selanjutnya Arduino sudah terhubung dengan jaringan.

3.2.1.1.5 Router

Penggunaan Router pada tugas akhir ini adalah sebagai jembatan antara modul

perangkat keras RFID, yaitu Arduino yang terpasang Ethernet dengan jaringan komputer

server. Kabel LAN pada Router diperoleh dari Ethernet Shield yang ditumpuk dengan

Arduino.

Router digunakan untuk membagi atau mendistribusikan IP address, ke semua

device (komputer atau smartphone) yang terhubung ke router dengan menggunakan LAN.

27

3.2.1.2 Perancangan Peminjaman dan Pemakaian Ruangan

Pada bagian ini akan dibahas bagian-bagian perangkat keras user pada sistem

peminjaman dan pemakaian ruangan. Dan modul apa saja yang digunakan pada perangkat

keras peminjaman dan pemakaian ruangan.

Gambar 3.9 Perancangan Peminjaman dan Pemakaian Ruangan

3.2.1.2.1 Perancangan Peminjaman

Peminjaman hanya bisa dilakukan oleh user yang memiliki Kartu Tanda

Mahasiswa yang telah terdaftar pada databse. Perangkat yang digunakan adalah device

yang disiapkan sendiri oleh user.

3.2.1.2.1.1 Device

Device adalah alat yang digunakan untuk memesan ruangan. Dengan cara masuk

kedalahm halaman server atau locahost. Syarat device harus terhubung dengan koneksi

nirkabel Wifi yang sudah dipancarkan dari Router yang terhubung pada modul RFID.

28

Pemesanan ruangan dapat dilakukan langsung pada halaman web dengan

menggunakan device yang sudah disiapkan sendiri, set point wifi berada disekitar ruangan

yang sudah terdaftar pada database.

3.2.1.2.2 Pemakaian Ruangan

Pemakaian ruangan dilakukan pada ruangan yang sudah terdaftar pada database,

dan ruangan-ruangan tersebut memiliki sistem keamanan yang sudah dilengkapi

pengunci berupa solenoid door lock.

3.2.1.2.2.1 Solenoid Door Lock

Solenoid Door Lock digunakan untuk sistem pengunci ruangan. Pemasangan

solenoid dilakukan pada bagian dalam ruangan yang berhimpitan langsung pada pintu,

dan menjadi satu dalam modul pengunci pada pintu.

Sebelum terhubung pada pin Arduino, solenoid terhubung pada relay 5V. Relay

tersebut menerima masukan dari power supply untuk ke solenoid sebesar 12V.

selanjutnya pin Vin dari relay yang mendapat masukan dari pin Arduino.

3.2.1.2.2.2 LCD

LCD yang digunakan pada skripsi ini adalah LCD karakter 20×4 yang

dihubungkan dengan Arduino menggunakan modul I2C yang selanjutnya dapat langsung

disambungkan dengan pin I2C milik Arduino.

Pada penggunaan LCD, menggunakan I2C yang terlebih dahulu ditambahkan

pustaka “LiquidCrystal_I2C.h” dan “Wire.h” pada program utama. Seperti

pada Library yang seperti disebutkan tadi selanjutnya dibuat deklarasi alamat I2C LCD

dan ukuran dari LCD yang digunakan, dengan cara menambahkan

LiquidCrystal_I2C lcd(0×27,20,4). 0×27 merupakan alamat I2C.

LCD digunakan untuk memberikan informasi kepada user saat akan

menggunakan ruangan pertemuan yang sebelumnya sudah di pesan. Display akan

menunjukan ruangan yang sudah tepesaan saat terbuka.

29

3.2.1.2.2.3 Real Time Clock

Untuk RTC pada Arduino juga menggunakan DS3231, yang dihubungkan pada

pin I2C milik Arduino, untuk dapat menggunakan RTC tersebut perlu ditambahkan

pustaka RTClib.h dan Wire.h pada program utama.

RTC digunakan untuk penghitungan waktu peminjaman, bila waktu kurang dari

5 menit RTC memberi signal informasi kepada Arduino dan akan diteruskan pada Buzzer

yang berada pada ruangan dengan peminjaman waktu yang tinggal 5 menit.

3.2.1.2.2.4 Buzzer

Buzzer digunakan untuk memberitahu user jika waktu peminjaman ruangan akan

segera berakhir. Untuk mengunakan Buzzer pertama, dideklarasikan pin yang akan

digunakan Buzzer. Pada skripsi ini Buzzer dideklarasikan pada pin “A12 dan A13” ,

kemudian diatur pin tersebut sebagai mode keluaran dengan cara “pinMode(buzzer,

OUTPUT);”. Setelah itu, Buzzer dapat diaktifkan dan dimasukkan

Kode 3.1 Menghidupkan dan Mematikan Buzzer

3.2.2 Perangkat Lunak User

Pada bagian ini akan dibahas bagian-bagian yang berperan dalam perangkat lunak

user, pada penginputan data dan penggunaan ruangan.

Gambar 3.10 Tampilan Home pada Device User

digitalWrite(buzzer, HIGH);

digitalWrite(buzzer, LOW);

30

3.2.2.1 Perangkat Lunak Penginputan data User

Pada bagian ini akan membahas perangkat lunak penginputan data user meliputi

membaca data pada NFC PN532, dan pengiriman data ke server dalam bentuk JSON.

Digunakan oleh Admin untuk memasukkan dan menyimpan byte sirkuit Kartu Tanda

Mahasiswa pada database.

NFC PN532 digunakan sebagai pembaca data pada kartu tanda mahasiswa.

Setelah Arduino mendapatkan data unik RFID kartu, data dirubah dalam bentuk JSON

agar memudahkan pembacaan. Namun, terlebih dahulu ditambahkan pustaka dengan cara

import JSON dan menuliskan kode seperti berikut.

DynamicJsonBuffer jsonBuffer(200);

JsonObject& root = jsonBuffer.createObject();

url = ‘http://localhost/api/users’

“data” : {

root["name"] = name;

root["email"] = email;

root["password"] = password;

root["idRfid"] = idRFID;

},

headers = {'Content-type': 'application/JSON'}

authorization=‘Bearer

$2y$10$0V2y3WqfLhrbk0zcFgRPFOPxvcw5TFgERYNPcfVtmfN.JFkD8ISlC’)

req.status_code

Kode 3.2 Kode untuk mengakses RFID menggunakan NFC PN532

31

Setelah membuat perintah seperti pada kode diatas, fungsi kode tersebut untuk

merubah data ke dalam bentuk JSON untuk melakukan request dengan method post

headers.

Gambar 3.11 Tampilan Serial data user berhasil di input pada database

3.2.2.2 Perangkat Lunak Penggunaan Ruangan

Sistem penggunaan ruangan dirancang sama menggunakan Kartu Tanda

Mahasiswa yang di baca oleh NFC PN532, dan mengirim data JSON untuk diolah pada

database server dan meminta respon yang akan digunakan untuk mengerakan solenoid.

Dan untuk dikembalikan menjadi signal yang akan menggerakkan mekanik penguncian

pintu ruangan yang telah terpasang sistem.

DynamicJsonBuffer jsonBuffer(200);

JsonObject& root = jsonBuffer.createObject();

root["idRfid"] = idRFID;

Kode 3.3 Kode pustaka untuk merubah data menjadi format JSON

Perbedaan perintah dengan penginputan data user terletak pada request server

dikarenakan kontroler memerlukan respon balik dari server untuk dapat meneruskan

perintah pada solenoid ldoor lock.

32

bool readReponseOpenLockDoor(struct Reservation*

reservation) { DynamicJsonBuffer jsonBuffer(1000);

JsonObject& root = jsonBuffer.parseObject(client); if

(!root.success()) {

Serial.println("Error");

root.prettyPrintTo(Serial);

for(int i=0; i<1000; i++){

if(client.available()){

char c = client.read();

Kode 3.4 Kode pembacaan data user yang tersimpan

Serta kode pengaturan pada kontroler untuk mekanik pengunci pintu ruangan.

Mendapat masukan dari respon server untuk membuka dan menutup pengunci pada

sistem peminjaman, apabila data peminjaman tersedia.

if(readRFID() && connectServer() && openLockDoor() &&

skipResponseHeaders())

Serial.println("POST open lock door");

Reservation reservation;

readReponseOpenLockDoor(&reservation);

openTheDoor(&reservation);

void openTheDoor(const struct Reservation* reservation)

if(strcmp(reservation->resultCode, "00") == 0){

flagSuccess = true;

Kode 3.5 Kode perintah membuka pengunci pintu

33

3.3 Perancangan Server

Pada bagian ini dibahas perancangan bagian server yaitu perancangan perangkat

lunak server seperti Laravel, Xampp, dan Database.

3.3.1 Laravel

Untuk mengelola dependency, Laravel membutuhkan composer. Sebelumnya

dipastikan terlebih dahulu apakah sistem operasi yang digunakan sudah memiliki

composer. Jika belum memiliki composer, maka bisa mengunduh composer pada link

getcomposer yang banyak terdapat di internet.

Setelah composer berhasil dipasang, maka melalui command line interface (CLI),

versi composer dapat dicek dengan mengetik composer. Setelah berhasil memasang

composer dapat dibuat sebuah proyek baru dengan mengetikan composer create-

project laravel/laravel NamaProyek.

Proses pembuatan proyek berhasil, dapat dijalankan proyek Laravel dengan

jalankan CLI pada folder proyek dengan menuliskan php artisan serve. Setelah

itu akan tampil proyek yang akan dibuat berjalan pada localhost yang secara umum pada

http://localhost/.

Gambar 3.12 Struktur Laravel

34

Gambar diatas adalah struktur Laravel yang digunakan dalam sistem peminjaman

ruangan. Terdapat beberapa folder dalam struktur Laravel dangan berbagai fungsi.

App folder ini berisikan kode inti aplikasi peminjamn ruangan.

Bootstrap folder ini berisi script bootstrap aplikasi

Config folder ini berisikan file konfigurasi dari aplikasi

Database folder ini berisikan migrasi database dan pembenihan database

Public folder ini berisikan aset aplikasi seperti JavaScript, CSS, Images, dan

lainnya

Resources folder ini berisikan file seperti localization and language file dan

template yang diterjemahkan kedalam HTML

Routes folder ini berisikan file yang akan mengarahkan route API

Storage folder ini berisi penyimpanan App, seperti file upload, Framework

storage (cache), dan log yang dihasilkan aplikasi

Test folder ini berisikan macam-macam test cases

Vendor folder ini berisikan dependency composer.

Pada proyek Laravel terdapat file .env yang berisikan file sensitif seperti username

dan password database. File ini dapat diatur untuk diabaikan pada saat mempublikasikan

proyek.

Untuk membuat tabel migrasi, dapat dibuat dengan mengetikan php artisan

migrate:install. Setelah itu, bisa dibuat tabel yang akan dibuat sebagai migrasi

dengan mengetikan php artisan migrate:make create_produk_table.

Setelah berhasil membuat tabel akan didapatkan sebuah file

2014_10_12_000000_create_users_table.php seperti kode 3.18, dalam file

tersebut memiliki dua method up() dan down(). Method up() berfungsi untuk membuat

tabel, jika saat pembuatan tabel terjadi kesalahan maka method down() akan dipanggil

untuk melakukan rolling back. Pada fungsi up() pembuatan tabel sudah berdasarkan

ORM(Object Relational Mapper) dimana hanya perlu didefinisikan atau dipetakannya

saja. Ini sangat membantu dalam hal pembuatan CRUD (Create Read Update Delete)

karena tidak perlu banyak berkonsentrasi pada query saat berinteraksi dengan database

35

class CreateUsersTable extends Migration

{

public function up()

{

Schema::create('users', function (Blueprint

$table) {

$table->increments('id');

$table->string('name');

$table->string('email')->unique();

$table->string('password');

$table->rememberToken();

$table->timestamps();

});

}

Kode 3.6. Kode Migrasi Tabel

Setelah file untuk membuat tabel yang diinginkan selesai. Migrasi tabel dapat

dilakukan dengan cara mengetikan php artisan migrate.

Jika tabel berhasil melakukan migrasi, selanjutnya dapat dibuat file model.

Didalam konteks MVC model merupakan class yang mewakili berbagai jenis interaksi

data. Data yang dimaksud bisa dalam bentuk informasi dalam database seperti nama dari

idRFID, ruangan yang digunakan dan lain sebagainya. Untuk mewakili informasi ini,

akan digunakan model untuk mewakili data yang tersimpan di database. Untuk membuat

model dengan cara cepat cukup dengan mengetikan php artisan make:model

User.

36

Gambar 3.13 Model User

class User extends Authenticatable

use Notifiable, HasRoles;

protected $fillable = [

'name', 'email', 'password', 'api_token' , 'id_rfid'

];

public function reservations()

{

return $this->hasMany(Reservation::class, 'id_user');

}

Kode 3.7 Kode Model

Pada kode 3.7 merupakan model user yang mewakili nama, email, password,

api_token, dan id_rfid yang tersimpan pada tabel user. Di model juga dapat dibuat relasi

antar tabel seperti terlihat pada kode. return $this-

>hasMany(Reservation::class, 'id_user'); hasMany berarti ‘id_user’

sebagai foreignkey yang berarti pada satu user memiliki banyak Produk. Jadi, jika ingin

menghubungkan atau membuat relasi antara tabel kategori dan produk maka harus

menulis hal tersebut di Model produk dan kategori.

37

Selanjutnya, akan dibuat file controller. Didalam MVC Controller adalah wadah

untuk metode atau fungsi yang mengandung logika aplikasi yang terkait dengan model

atau domain. Untuk membuat sebuah controller di Laravel cukup mengetikan php

artisan make:controller UserController . Setelah itu, akan didapatkan

file UserController.php yang terdapat pada App/Http/Controllers/UserController.php dan

di dalamnya terdapat Kelas ProdukController sepeti gambar 3.

Gambar 3.14 UserController

Setelah dibuat rute untuk mengarahkan kepada controller, selanjutnya dapat

dicoba melalui browser untuk method get pada route dengan mengetikan localhost: /user/

setelah itu akan keluar popup karena Basic Authentication dapat digunakan. Untuk

menguji API yang lainnya, dapat digunakan postman ataupun restclient yang bisa

didapatkan melalui extensions browser. Dengan cara menambahkan header berupa

Content-Type dan Accept dengan nilainya adalah application/JSON dan Authorization

menggunakan Basic Authentication.

38

3.3.2 Database

Pada bagian ini merupakan bagian perancangan tabel database yang akan

diterapkan pada DBMS mySql. Terlihat bahwa satu user dapat meminjam banyak ruang

dan satu user hanya memiliki satu peran. Satu peran memiliki banyak izin, setiap peran

memiliki izin yang berbeda beda. Bisa diartikan bahwa seorang user memiliki banyak

izin tergantung dengan perannya masing-masing. Id setiap user dibuat unik, agar tidak

terjadi salah penggunaan. Serta dapat juga dipastikan aktivitas yang dilakukan setiap

user. Semua data tersimpan di database yang sudah tersedia.

Gambar 3.15 ERD Pemesanan Ruangan