diff --git a/database/schema.sql b/database/schema.sql
index b24649f08131d881adb2963f17fda20eb627f0ca..aca8b0b9b8d7576c4c729bc912a36d8157bd3638 100644
--- a/database/schema.sql
+++ b/database/schema.sql
@@ -1,8 +1,8 @@
--- MySQL dump 10.13  Distrib 5.7.21, for osx10.13 (x86_64)
+-- MySQL dump 10.13  Distrib 5.7.24, for Linux (x86_64)
 --
 -- Host: localhost    Database: wbdprobook
 -- ------------------------------------------------------
--- Server version	5.7.21
+-- Server version	5.7.24-0ubuntu0.18.04.1
 
 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
 /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
@@ -38,7 +38,7 @@ CREATE TABLE `access_token` (
 
 LOCK TABLES `access_token` WRITE;
 /*!40000 ALTER TABLE `access_token` DISABLE KEYS */;
-INSERT INTO `access_token` VALUES (32,'p10f066fef25316855d33155fbd7bd9e','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36','::1',1543583119);
+INSERT INTO `access_token` VALUES (32,'p10f066fef25316855d33155fbd7bd9e','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36','::1',1543583119),(33,'c820dcfb1745ff62160be0e411ebf6ca','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36','127.0.0.1',1543587833);
 /*!40000 ALTER TABLE `access_token` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -58,7 +58,7 @@ CREATE TABLE `orders` (
   KEY `fk_orders_bookID_book_bookID` (`bookID`),
   KEY `fk_orders_userID_user_userID` (`userID`),
   CONSTRAINT `orders_ibfk_2` FOREIGN KEY (`userID`) REFERENCES `user` (`userID`) ON UPDATE CASCADE
-) ENGINE=InnoDB AUTO_INCREMENT=113 DEFAULT CHARSET=latin1;
+) ENGINE=InnoDB AUTO_INCREMENT=114 DEFAULT CHARSET=latin1;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
 --
@@ -67,7 +67,7 @@ CREATE TABLE `orders` (
 
 LOCK TABLES `orders` WRITE;
 /*!40000 ALTER TABLE `orders` DISABLE KEYS */;
-INSERT INTO `orders` VALUES (111,'Xl9nDwAAQBAJ',32,40),(112,'Xl9nDwAAQBAJ',32,41);
+INSERT INTO `orders` VALUES (111,'Xl9nDwAAQBAJ',32,40),(112,'Xl9nDwAAQBAJ',32,41),(113,'NP1wDwAAQBAJ',33,36);
 /*!40000 ALTER TABLE `orders` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -84,7 +84,7 @@ CREATE TABLE `review` (
   `orderID` int(11) NOT NULL,
   `reviewID` int(11) NOT NULL AUTO_INCREMENT,
   PRIMARY KEY (`reviewID`)
-) ENGINE=InnoDB AUTO_INCREMENT=96 DEFAULT CHARSET=latin1;
+) ENGINE=InnoDB AUTO_INCREMENT=97 DEFAULT CHARSET=latin1;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
 --
@@ -93,7 +93,7 @@ CREATE TABLE `review` (
 
 LOCK TABLES `review` WRITE;
 /*!40000 ALTER TABLE `review` DISABLE KEYS */;
-INSERT INTO `review` VALUES ('Duis mattis egestas metus. Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.',3,1,1),('Ut at dolor quis odio consequat varius. Integer ac leo. Pellentesque ultrices mattis odio.',2,2,2),('Aliquam erat volutpat. In congue. Etiam justo. Etiam pretium iaculis justo.',3,2,3),('Donec dapibus. Duis at velit eu est congue elementum. In hac habitasse platea dictumst.',2,2,4),('Curabitur gravida nisi at nibh. In hac habitasse platea dictumst. Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem. Integer tincidunt ante vel ipsum.',3,3,5),('Fusce consequat. Nulla nisl. Nunc nisl.',5,3,6),('Nunc rhoncus dui vel sem. Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci. Nullam molestie nibh in lectus.',5,4,7),('Nunc nisl. Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa. Donec dapibus. Duis at velit eu est congue elementum.',1,5,8),('Ut tellus. Nulla ut erat id mauris vulputate elementum. Nullam varius.',5,6,9),('Morbi non quam nec dui luctus rutrum. Nulla tellus. In sagittis dui vel nisl.',1,7,10),('Proin risus. Praesent lectus. Vestibulum quam sapien, varius ut, blandit non, interdum in, ante.',1,8,11),('Nulla tellus. In sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.',4,9,12),('Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin risus. Praesent lectus.',2,9,13),('Pellentesque eget nunc. Donec quis orci eget orci vehicula condimentum. Curabitur in libero ut massa volutpat convallis.',4,9,14),('Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante. Nulla justo. Aliquam quis turpis eget elit sodales scelerisque.',2,10,15),('Maecenas ut massa quis augue luctus tincidunt. Nulla mollis molestie lorem. Quisque ut erat. Curabitur gravida nisi at nibh.',2,11,16),('Praesent lectus. Vestibulum quam sapien, varius ut, blandit non, interdum in, ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio. Curabitur convallis.',4,12,17),('Nulla mollis molestie lorem. Quisque ut erat. Curabitur gravida nisi at nibh. In hac habitasse platea dictumst.',1,13,18),('Nulla mollis molestie lorem. Quisque ut erat. Curabitur gravida nisi at nibh. In hac habitasse platea dictumst.',3,14,20),('Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem. Integer tincidunt ante vel ipsum. Praesent blandit lacinia erat. Vestibulum sed magna at nunc commodo placerat.',1,15,21),('Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio. Curabitur convallis. Duis consequat dui nec nisi volutpat eleifend. Donec ut dolor.',4,16,22),('Nullam varius. Nulla facilisi. Cras non velit nec nisi vulputate nonummy.',3,17,23),('Quisque porta volutpat erat. Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla. Nunc purus.',2,0,26),(NULL,NULL,0,27),(NULL,NULL,0,28),('Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus vestibulum sagittis sapien. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam vel augue.',5,0,29),('Curabitur convallis. Duis consequat dui nec nisi volutpat eleifend. Donec ut dolor. Morbi vel lectus in quam fringilla rhoncus.',3,0,30),('Donec dapibus. Duis at velit eu est congue elementum. In hac habitasse platea dictumst.',2,0,31),('Sed accumsan felis. Ut at dolor quis odio consequat varius. Integer ac leo. Pellentesque ultrices mattis odio.',3,0,32),('Pellentesque ultrices mattis odio. Donec vitae nisi. Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla. Sed vel enim sit amet nunc viverra dapibus.',1,0,33),('Vivamus vestibulum sagittis sapien. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam vel augue. Vestibulum rutrum rutrum neque.',5,0,34),('Vestibulum ac est lacinia nisi venenatis tristique.',3,0,35),(NULL,NULL,0,36),('Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem. Sed sagittis.',4,0,37),('Proin risus. Praesent lectus. Vestibulum quam sapien, varius ut, blandit non, interdum in, ante.',1,0,38),('Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh. Quisque id justo sit amet sapien dignissim vestibulum.',5,0,39),('Orci luctus et ultrices posuere cubilia Curae; Donec pharetra, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi.',1,0,40),(NULL,NULL,0,41),('Pellentesque viverra pede ac diam. Cras pellentesque volutpat dui. Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.',2,0,42),('Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio. Curabitur convallis. Duis consequat dui nec nisi volutpat eleifend.',4,0,43),('Sed ante. Vivamus tortor. Duis mattis egestas metus.',4,0,44),('Phasellus in felis. Donec semper sapien a libero. Nam dui.',2,0,45),(NULL,NULL,0,46),(NULL,NULL,0,47),('In est risus, auctor sed, tristique in, tempus sit amet, sem. Fusce consequat. Nulla nisl.',1,0,48),('Duis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus.',4,0,49),(NULL,NULL,0,50),('Nulla facilisi. Cras non velit nec nisi vulputate nonummy. Maecenas tincidunt lacus at velit. Vivamus vel nulla eget eros elementum pellentesque.',5,0,51),('Mauris lacinia sapien quis libero. Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum.',5,0,52),('Nullam varius. Nulla facilisi. Cras non velit nec nisi vulputate nonummy. Maecenas tincidunt lacus at velit.',1,0,53),('Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede. Morbi porttitor lorem id ligula. Suspendisse ornare consequat lectus. In est risus, auctor sed, tristique in, tempus sit amet, sem.',5,0,54),(NULL,NULL,0,55),('Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis. Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem.',5,0,56),('Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem.',1,0,57),('Maecenas pulvinar lobortis est. Phasellus sit amet erat. Nulla tempus.',4,0,58),('Aliquam quis turpis eget elit sodales scelerisque. Mauris sit amet eros. Suspendisse accumsan tortor quis turpis.',3,0,59),(NULL,NULL,0,60),(NULL,NULL,0,61),('Etiam faucibus cursus urna. Ut tellus. Nulla ut erat id mauris vulputate elementum. Nullam varius.',2,0,62),(NULL,NULL,0,63),('Posuere cubilia Curae; Nulla dapibus dolor vel est.',3,0,64),(NULL,NULL,0,65),(NULL,NULL,0,66),('Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl. Aenean lectus.',3,0,67),('Donec dapibus. Duis at velit eu est congue elementum. In hac habitasse platea dictumst. Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante.',2,0,68),('In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt. Nulla mollis molestie lorem.',2,0,69),(NULL,NULL,0,70),('Nunc nisl. Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa. Donec dapibus.',2,0,71),('Suspendisse accumsan tortor quis turpis. Sed ante. Vivamus tortor. Duis mattis egestas metus.',3,0,72),('Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo. Pellentesque viverra pede ac diam. Cras pellentesque volutpat dui. Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.',3,0,73),('Ut tellus. Nulla ut erat id mauris vulputate elementum. Nullam varius. Nulla facilisi.',5,0,74),('Duis at velit eu est congue elementum. In hac habitasse platea dictumst. Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante. Nulla justo.',1,0,75),('Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci. Nullam molestie nibh in lectus. Pellentesque at nulla.',5,0,76),('Aliquam non mauris. Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet.',4,0,77),('Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl. Aenean lectus.',2,0,78),('Aenean lectus. Pellentesque eget nunc. Donec quis orci eget orci vehicula condimentum.',1,0,79),(NULL,NULL,0,80),('Suspendisse potenti. Nullam porttitor lacus at turpis. Donec posuere metus vitae ipsum. Aliquam non mauris.',4,0,81),(NULL,NULL,0,82),('Morbi porttitor lorem id ligula. Suspendisse ornare consequat lectus. In est risus, auctor sed, tristique in, tempus sit amet, sem.',2,0,83),(NULL,NULL,0,84),('Nulla nisl. Nunc nisl. Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.',4,0,85),(NULL,NULL,0,86),('Aliquam sit amet diam in magna bibendum imperdiet. Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis. Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl.',3,0,87),('Ae Mauris viverra diam vitae quam.',5,0,88),('Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti. In eleifend quam a odio.',4,0,89),('Mauris lacinia sapien quis libero. Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum. Integer a nibh.',4,0,90),('asdasd',4,105,91),('mantap gan',3,106,92),('test',4,102,93),('bagus gan',5,110,94),('jjjj',3,41,95);
+INSERT INTO `review` VALUES ('matapancing',3,36,96);
 /*!40000 ALTER TABLE `review` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -117,7 +117,7 @@ CREATE TABLE `user` (
   PRIMARY KEY (`userID`),
   UNIQUE KEY `username` (`username`),
   UNIQUE KEY `email` (`email`)
-) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=latin1;
+) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=latin1;
 /*!40101 SET character_set_client = @saved_cs_client */;
 
 --
@@ -126,7 +126,7 @@ CREATE TABLE `user` (
 
 LOCK TABLES `user` WRITE;
 /*!40000 ALTER TABLE `user` DISABLE KEYS */;
-INSERT INTO `user` VALUES (30,'asd','asd','asd','$2y$10$aBIg1UcOW4bbXqVLR4g1COyf6W6Ez8f7rM3w5qzIgO7hw5Mj/LMk2','asd@asd.com','081223673227','../../public/images/profile/30','5276132361916817'),(31,'ilham','ilham','ilham','$2y$10$lhykCQF9et.kEFvstFXdleH7X4ZIpTgoef5L46F3TtdzPDCBxr7Au','ilham@ilham.com','1111111111',NULL,'5359008695947712'),(32,'Rama','ramarama','aksdasjdkajsd','$2y$10$D/4M/Lj8yiY3ciO6OiIKf.096b5j5jVn/ifsTL6KTwl/I9qU.uOlS','rama@gmail.com','120301231',NULL,'5562991563901818');
+INSERT INTO `user` VALUES (30,'asd','asd','asd','$2y$10$aBIg1UcOW4bbXqVLR4g1COyf6W6Ez8f7rM3w5qzIgO7hw5Mj/LMk2','asd@asd.com','081223673227','../../public/images/profile/30','5276132361916817'),(31,'ilham','ilham','ilham','$2y$10$lhykCQF9et.kEFvstFXdleH7X4ZIpTgoef5L46F3TtdzPDCBxr7Au','ilham@ilham.com','1111111111',NULL,'5359008695947712'),(32,'Rama','ramarama','aksdasjdkajsd','$2y$10$D/4M/Lj8yiY3ciO6OiIKf.096b5j5jVn/ifsTL6KTwl/I9qU.uOlS','rama@gmail.com','120301231',NULL,'5562991563901818'),(33,'Priagung Satyagama','priagung','Bandung','$2y$10$Xbil2zWvFyEBL.hXCHeXUui032UCgD03VK4tGGv/3nXZppxaRPoDe','priagungsatyagama@gmail.com','08561229561',NULL,'5190360108515658');
 /*!40000 ALTER TABLE `user` ENABLE KEYS */;
 UNLOCK TABLES;
 /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
@@ -139,4 +139,4 @@ UNLOCK TABLES;
 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
 
--- Dump completed on 2018-11-30 19:49:17
+-- Dump completed on 2018-11-30 21:07:21
diff --git a/readme.md b/readme.md
index 9dd3707ce44d31907aed722213ffb26858afb9d9..13216a47dba5b6202def47c4188e9a31c4134590 100644
--- a/readme.md
+++ b/readme.md
@@ -16,8 +16,84 @@ Melakukan *upgrade* Website toko buku online pada Tugas 1 dengan mengaplikasikan
 
 ## Desain Basis Data
 ### Pro-Book
+Basis data pada aplikasi **Pro-Book** kami terdiri dari 4 Tabel yaitu :
+- **access_token**
+- **orders**
+- **review**
+- **user**
+
+#### access_token
+**access_token** terdiri dari 5 kolom yaitu :
+- **id** : id user yang sedang login
+- **token** : string token yang digenerate ketika user login
+- **browser** : browser yang digunakan oleh user ketika login
+- **ip_address** : ip address dari user ketika login
+- **time** : waktu dimana token kadaluarsa
+
+#### orders
+**orders** terdiri dari 4 kolom yaitu :
+- **id** : primary key
+- **bookID** : id buku pada web service buku yang di order
+- **userID** : id user yang melakukan order
+- **orderID** : id order yang ada pada web service buku
+
+#### review
+**review** terdiri dari 4 kolom yaitu :
+- **reviewID** : primary key
+- **orderID** : id order pada tabel orders dimana review ini ditujukan
+- **comment** : komentar user yang telah melakukan review
+- **rating** : rating dari user untuk review ini
+
+#### user
+**user** terdiri dari 9 kolom yaitu :
+- **userID** : primary key
+- **name** : nama user
+- **username** : nama pengguna user, digunakan untuk login
+- **address** : alamat user
+- **password** : password user
+- **email** : email user
+- **phone** : no telepon user
+- **userPicture** : foto user
+- **no_kartu** : no rekening user
+
 ### Web Service Bank
+Basis data pada aplikasi **Web Service Bank** kami terdiri dari 2 Tabel yaitu :
+- **nasabah**
+- **transaksi**
+
+#### nasabah
+**nasabah** terdiri dari 5 kolom yaitu :
+- **id** : primary key
+- **nama** : nama nasabah
+- **no_kartu** : no rekening nasabah
+- **saldo** : saldo nasabah
+- **secret_key** : untuk keperluan TOTP
+
+#### transaksi
+**transaksi** terdiri dari 5 kolom yaitu :
+- **id** : primary key
+- **no_pengirim** : no rekening pengirim
+- **no_penerima** : no rekening penerima
+- **jumlah** : jumlah uang yang dikirim
+- **timestamp** : waktu dilakukannya transaksi
+
 ### Web Service Buku
+Basis data **Web Service Buku** kami terdiri dari 2 Tabel yaitu :
+- **daftar_harga**
+- **daftar_penjualan**
+
+#### daftar_harga
+**daftar_harga** terdiri dari 2 kolom yaitu :
+- **id_buku** : id buku
+- **harga** : harga buku
+
+#### daftar_penjualan
+**daftar_penjualan** terdiri dari 5 kolom yaitu :
+- **id_daftar_penjualan** : primary key
+- **id_buku** : id buku yang terjual
+- **kategori** : kategori buku yang terjual
+- **jumlah** : jumlah buku yang terjual pada satu satu penjualan
+- **timestamp** : waktu ketika buku terjual
 
 ## Shared Session dengan REST