diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php
index 44fbba8dca380f1de0f196e3c26fde1771740625..bc115bdeca6ba072618fb913f982b6dae70cb144 100644
--- a/app/Http/Controllers/Auth/RegisterController.php
+++ b/app/Http/Controllers/Auth/RegisterController.php
@@ -27,6 +27,11 @@ class RegisterController extends Controller
     |
     */
 
+    const USERNAME_EXIST = 1;
+    const USERNAME_TOO_LONG = 2;
+    const PHONE_INVALID = 3;
+    const USER_VALID = 4;
+
     use RegistersUsers;
 
     /**
@@ -83,48 +88,49 @@ class RegisterController extends Controller
 
     public function registerUser(Request $request) {
         $data = $request->all();
-        $hehe = $this->parseCsv($data);
-        dd($hehe);
-        var_dump($data['file']);
-
-        // $username = $data['username'];
-        // if(User::where('username',$username)->count()>0) {
-        //     echo '<div class="alert alert-warning alert-dismissible fade show text-center">
-        //             <button type="button" class="close" data-dismiss="alert">&times;</button>
-        //             This user <strong>already exist.</strong>
-        //           </div>';
-        //     return view('auth.register');
-        // } else if(strlen($data['username']) > 18){
-        //     echo '<div class="alert alert-warning alert-dismissible fade show text-center">
-        //             <button type="button" class="close" data-dismiss="alert">&times;</button>
-        //             <strong>Username</strong> too long (maximum size: 18 characters).
-        //           </div>';
-        //     return view('auth.register');
-        // } else if(strlen($data['phone']) > 18){
-        //     echo '<div class="alert alert-warning alert-dismissible fade show text-center">
-        //             <button type="button" class="close" data-dismiss="alert">&times;</button>
-        //             <strong>Invalid</strong> phone number.
-        //           </div>';
-        //     return view('auth.register');
-        // } else {
-        //    $user = $this->create($data);
-        //    $role = $data['role'];
-        //    if($role == User::ROLE_DOSEN) {
-        //        Dosen::create(['id'=>$user->id]);
-        //    }else if($role == User::ROLE_MAHASISWA) {
-        //        $id_kelas_tesis = KelasTesis::orderByRaw('updated_at - created_at DESC')->first();
-        //        Mahasiswa::create(['id'=>$user->id, 'id_kelas_tesis'=>$id_kelas_tesis->id]);
-        //    } else if($role == User::ROLE_MANAJER) {
-        //        Manajer::create(['id'=>$user->id]);
-        //    }
-        //     echo '<div class="alert alert-success alert-dismissible fade show text-center">
-        //             <button type="button" class="close" data-dismiss="alert">&times;</button>
-        //             <strong>Success !</strong> New user has successfully registered!
-        //           </div>';
-        //    return view('auth.register');
-        // }
-//        echo $id;
 
+        if(array_key_exists('file', $data)) {
+            $parsed = $this->parseCsv($data);
+            $users = $this->createUsers($parsed);
+        } else {
+            $username = $data['username'];
+            if(User::where('username',$username)->count()>0) {
+                echo '<div class="alert alert-warning alert-dismissible fade show text-center">
+                        <button type="button" class="close" data-dismiss="alert">&times;</button>
+                        This user <strong>already exist.</strong>
+                    </div>';
+                return view('auth.register');
+            } else if(strlen($data['username']) > 18){
+                echo '<div class="alert alert-warning alert-dismissible fade show text-center">
+                        <button type="button" class="close" data-dismiss="alert">&times;</button>
+                        <strong>Username</strong> too long (maximum size: 18 characters).
+                    </div>';
+                return view('auth.register');
+            } else if(strlen($data['phone']) > 18){
+                echo '<div class="alert alert-warning alert-dismissible fade show text-center">
+                        <button type="button" class="close" data-dismiss="alert">&times;</button>
+                        <strong>Invalid</strong> phone number.
+                    </div>';
+                return view('auth.register');
+            } else {
+            $user = $this->create($data);
+            $role = $data['role'];
+            if($role == User::ROLE_DOSEN) {
+                Dosen::create(['id'=>$user->id]);
+            }else if($role == User::ROLE_MAHASISWA) {
+                $id_kelas_tesis = KelasTesis::orderByRaw('updated_at - created_at DESC')->first();
+                Mahasiswa::create(['id'=>$user->id, 'id_kelas_tesis'=>$id_kelas_tesis->id]);
+            } else if($role == User::ROLE_MANAJER) {
+                Manajer::create(['id'=>$user->id]);
+            }
+                echo '<div class="alert alert-success alert-dismissible fade show text-center">
+                        <button type="button" class="close" data-dismiss="alert">&times;</button>
+                        <strong>Success !</strong> New user has successfully registered!
+                    </div>';
+                return view('auth.register');
+            }
+        }
+        
 
     }
 
@@ -141,4 +147,31 @@ class RegisterController extends Controller
         return $result;
     }
 
+    private function createUsers(array $data) {
+        $result = [];
+        for($i = 1; $i < sizeof($data); $i++) {
+            $item = $data[$i];
+            $d = array(
+                'name' => $item[0],
+                'username' => $item[1],
+                'email' => $item[2],
+                'phone' => $item[3],
+                'password' => $item[4],
+            );
+            $user = $this->create($d);
+        }
+        return $result;
+    }
+
+    private function validateUser(User $user) {
+        if(User::where('username',$user->username)->count()>0) {
+            return USERNAME_EXIST;
+        } else if(strlen($user->username) > 18){
+            return USERNAME_TOO_LONG;
+        } else if(strlen($user->phone) > 18){
+            return PHONE_INVALID;
+        }
+        return USER_VALID;
+    }
+
 }