diff --git a/IdentityService/src/main/java/org/informatika/ojek/DAO.java b/IdentityService/src/main/java/org/informatika/ojek/DAO.java
index 88feb5a2380c9847d521d524388949aaac958c0c..290f335fc89e1215976fe6e6841a1457a2c539b0 100644
--- a/IdentityService/src/main/java/org/informatika/ojek/DAO.java
+++ b/IdentityService/src/main/java/org/informatika/ojek/DAO.java
@@ -351,5 +351,30 @@ public class DAO {
             throw new SQLException("No row effected!");
         }
     }
+
+    public void registerUser(Account account, String password) throws SQLException {
+        String sql = "INSERT INTO account (`name`, username, email, password, phone, is_driver) " +
+                "VALUES (?,?,?,MD5(?),?,0)";
+
+        connect();
+
+        PreparedStatement statement = jdbcConnection.prepareStatement(sql);
+        statement.setString(1, account.getName());
+        statement.setString(2, account.getUsername());
+        statement.setString(3, account.getEmail());
+        statement.setString(4, password);
+        statement.setString(5, account.getPhone());
+
+        int rowCount = statement.executeUpdate();
+
+        statement.close();
+        disconnect();
+        if (rowCount < 1) {
+            throw new SQLException("No row effected!");
+        }
+
+        disconnect();
+
+    }
     
 }
diff --git a/IdentityService/src/main/java/org/informatika/ojek/Register.java b/IdentityService/src/main/java/org/informatika/ojek/Register.java
index 717ab16e5947d436af811b54b22127929c52b691..1d848da76884ca064c9bece94ba39a6e0b0daa79 100644
--- a/IdentityService/src/main/java/org/informatika/ojek/Register.java
+++ b/IdentityService/src/main/java/org/informatika/ojek/Register.java
@@ -1,5 +1,7 @@
 package org.informatika.ojek;
 
+import com.google.gson.Gson;
+import org.informatika.ojek.model.Account;
 import org.informatika.ojek.model.Response;
 
 import javax.servlet.ServletException;
@@ -9,21 +11,55 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.sql.SQLException;
 
 @WebServlet(name = "Register", urlPatterns = "/register")
 public class Register extends HttpServlet {
 
+    private DAO DAO;
+    private Gson gson;
+
+    public void init() {
+        String jdbcURL = getServletContext().getInitParameter("jdbcURL");
+        String jdbcUsername = getServletContext().getInitParameter("jdbcUsername");
+        String jdbcPassword = getServletContext().getInitParameter("jdbcPassword");
+
+        DAO = new DAO(jdbcURL, jdbcUsername, jdbcPassword);
+        gson = new Gson();
+    }
+
+
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         PrintWriter out = response.getWriter();
         Response data;
         response.setStatus(500);
 
-        String token = request.getParameter("token");
         String name = request.getParameter("name");
-        String username;
-        String email;
-        String password;
-        String phone;
+        String username = request.getParameter("username");
+        String email = request.getParameter("email");
+        String password = request.getParameter("password");
+        String phone = request.getParameter("phone");
+
+        if (name == null || username == null || email == null || password == null || phone == null) {
+            data = new Response(Response.STATUS_ERROR, null,  null, "Wrong parameter!");
+            out.print(gson.toJson(data));
+            return;
+        }
+
+        Account account = new Account(name, username, email, password, phone, false);
+
+        try {
+            DAO.registerUser(account, password);
+        } catch (SQLException e) {
+            e.printStackTrace();
+            data = new Response(Response.STATUS_ERROR, null,  null, e.getMessage());
+            out.print(gson.toJson(data));
+            return;
+        }
+
+        data = new Response(Response.STATUS_SUCCESS, null,  null, "User " + username + "registered!");
+        out.print(gson.toJson(data));
+        return;
     }
 
 }
diff --git a/IdentityService/src/main/java/org/informatika/ojek/model/Account.java b/IdentityService/src/main/java/org/informatika/ojek/model/Account.java
index 22d48197befdbb4cc9dbc021f3fc421a24f831d8..ad6c0167aa5d7cdaf5323687418cc0b87644fd32 100644
--- a/IdentityService/src/main/java/org/informatika/ojek/model/Account.java
+++ b/IdentityService/src/main/java/org/informatika/ojek/model/Account.java
@@ -13,6 +13,15 @@ public class Account {
     protected String photo;
     protected Boolean isDriver;
 
+    public Account(String name, String username, String email, String phone, String photo, Boolean isDriver) {
+        this.name = name;
+        this.username = username;
+        this.email = email;
+        this.phone = phone;
+        this.photo = photo;
+        this.isDriver = isDriver;
+    }
+
     public Account(int id, String name, String username, String email, String phone, String photo, Boolean isDriver) {
         this.id = id;
         this.name = name;
diff --git a/IdentityService/web/WEB-INF/web.xml b/IdentityService/web/WEB-INF/web.xml
index 2a2157c3c3eb60ba82d08ddf63ec7c73cffb291e..63b894835088d2aa00b2525c08dd0e400068031b 100644
--- a/IdentityService/web/WEB-INF/web.xml
+++ b/IdentityService/web/WEB-INF/web.xml
@@ -16,6 +16,10 @@
         <servlet-name>Validate</servlet-name>
         <servlet-class>org.informatika.ojek.Validate</servlet-class>
     </servlet>
+    <servlet>
+        <servlet-name>Register</servlet-name>
+        <servlet-class>org.informatika.ojek.Register</servlet-class>
+    </servlet>
 
     <servlet-mapping>
         <servlet-name>Auth</servlet-name>
@@ -29,9 +33,13 @@
         <servlet-name>Main</servlet-name>
         <url-pattern>/info</url-pattern>
     </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Register</servlet-name>
+        <url-pattern>/register</url-pattern>
+    </servlet-mapping>
 
     <welcome-file-list>
-        <welcome-file>main</welcome-file>
+        <welcome-file>info</welcome-file>
         <welcome-file>index.jsp</welcome-file>
     </welcome-file-list>