diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php
index 78f0be5778bc8631a1cd1ea22927aa94ab3a4d57..ad747df869ccc82454cd798f351bce00403f14de 100644
--- a/app/Http/Controllers/HomeController.php
+++ b/app/Http/Controllers/HomeController.php
@@ -5,6 +5,8 @@ namespace App\Http\Controllers;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Auth;
+use Illuminate\Support\Facades\Hash;
+use App\Http\Requests\UpdatePasswordRequest;
 
 class HomeController extends Controller
 {
@@ -43,6 +45,16 @@ class HomeController extends Controller
         return view('home', ['profile' => $profile, 'role' => $role, 'courses' => $courses, 'enrolled' => $enrolled]);
     }
 
+    /**
+     * Show the application dashboard.
+     *
+     * @return \Illuminate\Contracts\Support\Renderable
+     */
+    public function editPassword()
+    {
+        return view('editPassword');
+    }
+
     public function profile(Request $request)
     {
         DB::table('users')->where('id', Auth::id())->update([
@@ -51,4 +63,17 @@ class HomeController extends Controller
         
         return redirect()->route('home', ['msg' => 1]);
     }
+
+    /**
+     * @param UpdatePasswordRequest $request
+     * @return \Illuminate\Http\RedirectResponse
+     */
+    public function password(UpdatePasswordRequest $request)
+    {
+        DB::table('users')->where('id', Auth::id())->update([
+            'password' => Hash::make($request->get('password'))
+        ]);
+
+        return redirect()->route('home', ['msg' => 5]);
+    }
 }
diff --git a/app/Http/Requests/UpdatePasswordRequest.php b/app/Http/Requests/UpdatePasswordRequest.php
new file mode 100644
index 0000000000000000000000000000000000000000..5f3d90427144f9ebbac0a8f892f5f9cb1fc67f79
--- /dev/null
+++ b/app/Http/Requests/UpdatePasswordRequest.php
@@ -0,0 +1,31 @@
+<?php
+
+namespace App\Http\Requests;
+
+use Illuminate\Foundation\Http\FormRequest;
+use Illuminate\Support\Facades\Auth;
+
+class UpdatePasswordRequest extends FormRequest
+{
+    /**
+     * Determine if the user is authorized to make this request.
+     *
+     * @return bool
+     */
+    public function authorize()
+    {
+        return Auth::check();
+    }
+
+    /**
+     * Get the validation rules that apply to the request.
+     *
+     * @return array
+     */
+    public function rules()
+    {
+        return [
+            'password' => ['required', 'string', 'min:8', 'confirmed'],
+        ];
+    }
+}
diff --git a/public/css/home.css b/public/css/home.css
index e2a29e59b9240ab4264516e6c124e3e71ed2a2b2..b8340a70cb50c7c47e9d731eaab1f86bcf921971 100644
--- a/public/css/home.css
+++ b/public/css/home.css
@@ -10,4 +10,8 @@
 
 #edit {
     margin-top: 2rem;
+}
+
+.editpass {
+    float: left;
 }
\ No newline at end of file
diff --git a/resources/views/editPassword.blade.php b/resources/views/editPassword.blade.php
new file mode 100644
index 0000000000000000000000000000000000000000..0d9432247b9cedd595d788a8e40ab49bf5dd618f
--- /dev/null
+++ b/resources/views/editPassword.blade.php
@@ -0,0 +1,48 @@
+@extends('layouts.app')
+
+@section('content')
+<div class="container">
+    <div class="row justify-content-center">
+        <div class="col-md-8">
+            <div class="card">
+                <div class="card-header">Ubah Password</div>
+
+                <div class="card-body">
+                    <form method="POST" action="/password">
+                        @csrf
+                        <div class="form-group row">
+                            <label for="password" class="col-md-4 col-form-label text-md-right">Password Baru</label>
+
+                            <div class="col-md-6">
+                                <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="new-password">
+
+                                @error('password')
+                                    <span class="invalid-feedback" role="alert">
+                                        <strong>{{ $message }}</strong>
+                                    </span>
+                                @enderror
+                            </div>
+                        </div>
+
+                        <div class="form-group row">
+                            <label for="password-confirm" class="col-md-4 col-form-label text-md-right">Konfirmasi Password</label>
+
+                            <div class="col-md-6">
+                                <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password">
+                            </div>
+                        </div>
+
+                        <div class="form-group row mb-0">
+                            <div class="col-md-6 offset-md-4">
+                                <button type="submit" class="btn btn-primary">
+                                    Ubah Password
+                                </button>
+                            </div>
+                        </div>
+                    </form>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+@endsection
diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php
index 1cb3cad8c20e83cf0b1220550eb31a4672d7bb78..05cce0a1a1937756bab01cc50df620660f5c8d17 100644
--- a/resources/views/home.blade.php
+++ b/resources/views/home.blade.php
@@ -31,6 +31,13 @@
                 <span aria-hidden="true">&times;</span>
             </button>
         </div>
+    @elseif( request()->get('msg') == 5 )
+        <div class="alert alert-success alert-dismissible fade show" role="alert">
+            Password Berhasil Diubah
+            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
+                <span aria-hidden="true">&times;</span>
+            </button>
+        </div>
     @endif
 @endisset
     <div class="row justify-content">
@@ -95,7 +102,7 @@
                     <a id="email">{{ $profile->email }}</a> <br/>
                     <a id="role">{{ $role }}</a> <br/><br/>
                     <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalCenter">
-                        Edit Profile
+                        Edit Profil
                     </button>
                     <div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
                         <div class="modal-dialog modal-dialog-centered" role="document">
@@ -116,6 +123,7 @@
                                     </div>
                                     <div class="modal-footer">
                                         <button type="button" class="btn btn-secondary" data-dismiss="modal">Batal</button>
+                                        <a href="edit_password" class="btn btn-primary editpass" role="button">Ubah Password</a>
                                         <button type="submit" class="btn btn-primary">Submit</button>
                                     </div>
                                 </form>
@@ -131,27 +139,25 @@
             <div class="col-md-12">
                 <div class="card">
                     <div class="card-header"><b>Kelas Tersedia</b></div>
-                    <div class="card-body">
-                        <div class="accordion" id="accordionCourses">
-                            @foreach($courses as $index => $course)
-                                <div class="card">
-                                    <div class="card-header" id="heading<?php echo $course->id; ?>" style="transform: rotate(0);">
-                                        <a class="stretched-link" type="button" data-toggle="collapse" data-target="#collapse<?php echo $course->id; ?>" aria-expanded="false" aria-controls="collapse<?php echo $course->id; ?>">{{ $course->name }}</a> 
-                                    </div>
+                    <div class="accordion" id="accordionCourses">
+                        @foreach($courses as $index => $course)
+                            <div class="card">
+                                <div class="card-header" id="heading<?php echo $course->id; ?>" style="transform: rotate(0);">
+                                    <a class="stretched-link" type="button" data-toggle="collapse" data-target="#collapse<?php echo $course->id; ?>" aria-expanded="false" aria-controls="collapse<?php echo $course->id; ?>">{{ $course->name }}</a> 
+                                </div>
 
-                                    <div id="collapse<?php echo $course->id; ?>" class="collapse" aria-labelledby="heading<?php echo $course->id; ?>" data-parent="#accordionCourses">
-                                        <div class="card-body">
-                                            {{ $course->description }} <br/><br/>
-                                            <form action="course/enroll" method="post">
-                                                {{ csrf_field() }}
-                                                <input style="display: none;" type="number" class="form-control" name="enroll_id" id="enroll_id" required="required" value="<?php echo $course->id ?>">
-                                                <button type="submit" class="btn btn-primary">Daftar Kelas</button>
-                                            </form>
-                                        </div>
+                                <div id="collapse<?php echo $course->id; ?>" class="collapse" aria-labelledby="heading<?php echo $course->id; ?>" data-parent="#accordionCourses">
+                                    <div class="card-body">
+                                        {{ $course->description }} <br/><br/>
+                                        <form action="course/enroll" method="post">
+                                            {{ csrf_field() }}
+                                            <input style="display: none;" type="number" class="form-control" name="enroll_id" id="enroll_id" required="required" value="<?php echo $course->id ?>">
+                                            <button type="submit" class="btn btn-primary">Daftar Kelas</button>
+                                        </form>
                                     </div>
                                 </div>
-                            @endforeach
-                        </div>
+                            </div>
+                        @endforeach
                     </div>
                 </div>
             </div>
diff --git a/routes/web.php b/routes/web.php
index c6aeaad0020624f0da7e71d60ae7f57e17c8e657..f20f6a6e0e4c45c74fc20c2516a498c403d5743b 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -14,6 +14,8 @@ Auth::routes();
 Route::get('/', 'HomeController@index')->name('home');
 Route::redirect('/home', '/');
 Route::post('/profile', 'HomeController@profile')->name('profile');
+Route::get('/edit_password', 'HomeController@editPassword')->name('edit_password');
+Route::post('/password', 'HomeController@password')->name('password');
 Route::get('/course/{id_course}', 'CourseController@index')->name('course');
 Route::post('/course/new', 'CourseController@new')->name('course/new');
 Route::post('/course/enroll', 'CourseController@enroll')->name('course/enroll');