diff --git a/frontend/src/components/modals/VADaftarUserDelete.vue b/frontend/src/components/modals/VADaftarUserDelete.vue
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/frontend/src/components/modals/VADaftarUserDetail.vue b/frontend/src/components/modals/VADaftarUserDetail.vue
new file mode 100644
index 0000000000000000000000000000000000000000..9ea172b573201c5d9a8a07e78a7314562d340048
--- /dev/null
+++ b/frontend/src/components/modals/VADaftarUserDetail.vue
@@ -0,0 +1,49 @@
+<template>
+  <div class="modal fade" id="modal-detail">
+    <div class="modal-dialog">
+      <div class="modal-content">
+        <div class="modal-header">
+          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+            <span aria-hidden="true">&times;</span>
+          </button>
+          <h4 class="modal-title">Informasi Detil</h4>
+        </div>
+        <div class="modal-body">
+          <dl class="dl-horizontal">
+            <dt>ID</dt>
+            <dd>{{ userData.id }}</dd>
+            <dt>Role</dt>
+            <dd>{{ userData.role }}</dd>
+            <dt>Nama</dt>
+            <dd>{{ userData.nama }}</dd>
+            <dt>Email</dt>
+            <dd>{{ userData.role }}</dd>
+            <dt>Username</dt>
+            <dd>{{ userData.username }}</dd>
+            <dt>Dinas</dt>
+            <dd>{{ userData.dinas }}</dd>
+          </dl>
+        </div>
+        <div class="modal-footer">
+          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'DaftarUserDetail',
+  props: {
+    userData: {
+      type: Object,
+      default () {
+        return {
+          name: ''
+        }
+      }
+    }
+  }
+}
+</script>
diff --git a/frontend/src/components/modals/VADaftarUserEdit.vue b/frontend/src/components/modals/VADaftarUserEdit.vue
new file mode 100644
index 0000000000000000000000000000000000000000..e72c46d00faa1a4f803d164adaf3ebbbcac56868
--- /dev/null
+++ b/frontend/src/components/modals/VADaftarUserEdit.vue
@@ -0,0 +1,77 @@
+<template>
+  <div class="modal fade" id="modal-edit">
+    <div class="modal-dialog">
+      <div class="modal-content">
+        <div class="modal-header">
+          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+            <span aria-hidden="true">&times;</span>
+          </button>
+          <h4 class="modal-title">Edit Entry</h4>
+        </div>
+        <div class="modal-body">
+          <form class="form-horizontal">
+            <div class="form-group">
+              <label for="user-id" class="col-sm-3 control-label">ID</label>
+              <div class="col-sm-8">
+                <input class="form-control" id="user-id" :value="userData.id">
+              </div>
+            </div>
+            <div class="form-group">
+              <label for="role" class="col-sm-3 control-label">Role</label>
+              <div class="col-sm-8">
+                <select class="form-control" id="role">
+                  <option>Admin diskominfo</option>
+                  <option>Member diskominfo</option>
+                </select>
+              </div>
+            </div>
+            <div class="form-group">
+              <label for="name" class="col-sm-3 control-label">Nama</label>
+              <div class="col-sm-8">
+                <input class="form-control" id="name" :value="userData.nama">
+              </div>
+            </div>
+            <div class="form-group">
+              <label for="email" class="col-sm-3 control-label">Email</label>
+              <div class="col-sm-8">
+                <input type="email" class="form-control" id="email" :value="userData.email">
+              </div>
+            </div>
+            <div class="form-group">
+              <label for="username" class="col-sm-3 control-label">Username</label>
+              <div class="col-sm-8">
+                <input class="form-control" id="username" :value="userData.username">
+              </div>
+            </div>
+            <div class="form-group">
+              <label for="dinas" class="col-sm-3 control-label">Dinas</label>
+              <div class="col-sm-8">
+                <input class="form-control" id="dinas" :value="userData.dinas">
+              </div>
+            </div>
+          </form>
+        </div>
+        <div class="modal-footer">
+          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
+          <button type="button" class="btn btn-primary">Save changes</button>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'DaftarUserEdit',
+  props: {
+    userData: {
+      type: Object,
+      default () {
+        return {
+          name: ''
+        }
+      }
+    }
+  }
+}
+</script>
diff --git a/frontend/src/lib/scripts.js b/frontend/src/lib/scripts.js
index 8baa4f5183cb0c0ba65ea220c766354b7c3c092c..83985871d3568442eff61b80f8d349777ac4b9e8 100644
--- a/frontend/src/lib/scripts.js
+++ b/frontend/src/lib/scripts.js
@@ -1,3 +1,4 @@
 import 'expose-loader?$!expose-loader?jQuery!jquery'
 import 'admin-lte'
 import 'bootstrap'
+import axios from 'axios'
diff --git a/frontend/src/pages/daftar_user.vue b/frontend/src/pages/daftar_user.vue
index 899ee05fc7761358da8be3015100bce80c5c44b0..53f283a873b6859b9de54d75e300c0326f65ef4c 100644
--- a/frontend/src/pages/daftar_user.vue
+++ b/frontend/src/pages/daftar_user.vue
@@ -18,139 +18,97 @@
           </div>
         </div>
       </div>
-      <div class="modal fade" id="modal-edit">
-        <div class="modal-dialog">
-          <div class="modal-content">
-            <div class="modal-header">
-              <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                <span aria-hidden="true">&times;</span>
-              </button>
-              <h4 class="modal-title">Edit Entry</h4>
-            </div>
-            <div class="modal-body">
-              <form class="form-horizontal">
-                <div class="form-group">
-                  <label for="user_id" class="col-sm-3 control-label">ID</label>
-                  <div class="col-sm-8">
-                    <input class="form-control" id="user_id">
-                  </div>
-                </div>
-                <div class="form-group">
-                  <label for="role" class="col-sm-3 control-label">Role</label>
-                  <div class="col-sm-8">
-                    <select class="form-control" id="role">
-                      <option>Admin diskominfo</option>
-                      <option>Member diskominfo</option>
-                    </select>
-                  </div>
-                </div>
-                <div class="form-group">
-                  <label for="name" class="col-sm-3 control-label">Nama</label>
-                  <div class="col-sm-8">
-                    <input class="form-control" id="name">
-                  </div>
-                </div>
-                <div class="form-group">
-                  <label for="email" class="col-sm-3 control-label">Email</label>
-                  <div class="col-sm-8">
-                    <input type="email" class="form-control" id="email">
-                  </div>
-                </div>
-                <div class="form-group">
-                  <label for="username" class="col-sm-3 control-label">Username</label>
-                  <div class="col-sm-8">
-                    <input class="form-control" id="username">
-                  </div>
-                </div>
-                <div class="form-group">
-                  <label for="password" class="col-sm-3 control-label">Password</label>
-                  <div class="col-sm-8">
-                    <input type="password" class="form-control" id="password">
-                  </div>
-                </div>
-                <div class="form-group">
-                  <label for="dinas" class="col-sm-3 control-label">Dinas</label>
-                  <div class="col-sm-8">
-                    <input class="form-control" id="dinas">
-                  </div>
-                </div>
-              </form>
-            </div>
-            <div class="modal-footer">
-              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
-              <button type="button" class="btn btn-primary">Save changes</button>
-            </div>
-          </div>
-        </div>
-      </div>
+      <va-daftar-user-edit :userData="passedUserData"></va-daftar-user-edit>
+      <va-daftar-user-detail :userData="passedUserData"></va-daftar-user-detail>
     </section>
   </div>
 </template>
 <script>
-require('jquery')
+import VADaftarUserEdit from '../components/modals/VADaftarUserEdit.vue'
+import VADaftarUserDetail from '../components/modals/VADaftarUserDetail.vue'
+import axios from 'axios'
 require('datatables.net-bs')
 
-$(document).ready(function() {
-  var table = $('#user-table').DataTable({
-    'columns': [
-      {'data': 'id', 'title': 'ID'},
-      {'data': 'nama', 'title': 'Nama'},
-      {'data': 'role', 'title': 'Role'},
-      {'data': 'dinas', 'title': 'Dinas'},
-      {'title': 'Action'}
-    ],
-    'columnDefs': [{
-      'targets': -1,
-      'data': null,
-      'defaultContent': `
-        <div class="col-sm-3">
-          <i class="fa fa-info-circle fa-2x" data-toggle="tooltip modal" title="Details"></i>
-        </div>
-        <div class="col-sm-3">
-          <div class="table-actions" data-toggle="modal" data-target="#modal-edit">
-            <i class="fa fa-edit fa-2x" data-toggle="tooltip" title="Edit"></i>
-          </div>
-        </div>
-        <div class="col-sm-3">
-          <i class="fa fa-trash fa-2x" data-toggle="tooltip" title="Delete"></i>
-        </div>
-      `
-    }]
-  });
-
-  table.rows.add([
-    {
-      'id': '1',
-      'role': 'Admin Diskominfo',
-      'nama': 'Kevin',
-      'email': 'WWW@YYY.ZZZ',
-      'username': 'kevinfe',
-      'password': '#HASHED#',
-      'dinas': 'Diskominfo'
+export default {
+  name: 'DaftarUser',
+  data: function () {
+    return {
+      userData: [],
+      passedUserData: {}
+    }
+  },
+  methods: {
+    getData() {
+      let vm = this
+      axios.get('http://localhost:8081/getusers').then((res) => {
+        vm.userData = res.data
+      }, (error) => {
+        console.log('error')
+      })
     }
-    
-  ]).draw();
+  },
+  mounted: function () {
+    let vm = this
+    vm.getData()
+    vm.$nextTick(function () {
+      var table = $('#user-table').DataTable({
+        'columns': [
+          {'data': 'id', 'title': 'ID'},
+          {'data': 'nama', 'title': 'Nama'},
+          {'data': 'role', 'title': 'Role'},
+          {'data': 'dinas', 'title': 'Dinas'},
+          {'title': 'Action'}
+        ],
+        'columnDefs': [{
+          'targets': -1,
+          'data': null,
+          'defaultContent': `
+            <div class="col-sm-3">
+              <div class="table-actions" data-toggle="modal" data-target="#modal-detail">
+                <i class="fa fa-info-circle fa-2x" id="detail" data-toggle="tooltip modal" title="Details"></i>
+              </div>
+            </div>
+            <div class="col-sm-3">
+              <div class="table-actions" data-toggle="modal" data-target="#modal-edit">
+                <i class="fa fa-edit fa-2x" id="edit" data-toggle="tooltip" title="Edit"></i>
+              </div>
+            </div>
+            <div class="col-sm-3">
+              <i class="fa fa-trash fa-2x" id="delete" data-toggle="tooltip" title="Delete"></i>
+            </div>
+          `
+        }]
+      })
 
-  $('#user-table tbody').on('click', 'i', function() {
-    var data = table.row($(this).parents('tr')).data();
-    $(function() {
-      $('#user_id').val(data['id']);
-      $('#name').val(data['nama']);
-      $('#email').val(data['email']);
-      $('#username').val(data['username']);
-      $('#password').val(data['password']);
-      $('#dinas').val(data['dinas']);
-    })
-  });
-});
+      $('#user-table tbody').on('click', '#edit', function() {
+        var index = table.row($(this).parents('tr')).index()
+        console.log(index)
+        vm.passedUserData = vm.userData[index]
+      })
 
-export default {
-  name: 'DaftarUser'
+      $('#user-table tbody').on('click', '#detail', function() {
+        var index = table.row($(this).parents('tr')).index()
+        console.log(index)
+        vm.passedUserData = vm.userData[index]
+      })
+    })
+  },
+  watch: {
+    userData: function () {
+      var table = $('#user-table').DataTable()
+      table.rows.add(this.userData).draw()
+      console.log(this.userData)
+    }
+  },
+  components: {
+    'va-daftar-user-edit': VADaftarUserEdit,
+    'va-daftar-user-detail': VADaftarUserDetail
+  }
 }
 </script>
 
 <style>
   .table-actions {
-    cursor: pointer;
+    cursor: pointer
   }
 </style>