diff --git a/frontend/src/components/LecturerCourseEnrollment/LecturerCourseEnrollment.vue b/frontend/src/components/LecturerCourseEnrollment/LecturerCourseEnrollment.vue
index 5b4f7a55b0c8cc4c2032fdfc5d9cf4c3960c0f1e..8e671f73e03e8d5165e194660537013596e173b1 100644
--- a/frontend/src/components/LecturerCourseEnrollment/LecturerCourseEnrollment.vue
+++ b/frontend/src/components/LecturerCourseEnrollment/LecturerCourseEnrollment.vue
@@ -1,295 +1,602 @@
 <template>
-  <!-- container course enrollment lecturer -->
+  <!-- Container Course Enrollment -->
   <div class="row">
-    <!-- card course enrollment lecturer -->
-    <div class="col-md-12">
-      <div data-aos="fade-up" data-aos-duration="500" class="card p-3">
-        <div class="card-body">
-          <h3
-            data-aos="fade-in"
-            data-aos-offset="300"
-            data-aos-easing="ease-in-sine"
-            class="text-blue-six mb-4"
-          >
-            Daftar Mahasiswa Wali
-          </h3>
-
-          <!-- Search & Filter -->
-          <div class="row">
-            <!-- Filter Title -->
-            <div class="col-auto d-flex align-items-center justify-content-end">
-              <b>Filter</b>
+    <!-- Alert PRS -->
+    <div class="d-flex justify-content-center">
+      <div
+        v-if="submitPRS"
+        class="alert border-0 rounded alert-dismissible fade show"
+        role="alert"
+        :class="{
+          'alert-success': isAlertSuccess,
+          'alert-danger': isAlertDanger
+        }"
+      >
+        Rencana studi berhasil disahkan!
+        <div type="button" class="btn-close" @click="submitPRS = false"></div>
+      </div>
+    </div>
+    <div class="row">
+      <!-- Card Course Enrollment Kaprodi -->
+      <div class="col-md-8">
+        <div data-aos="fade-up" data-aos-duration="500" class="card p-3">
+          <div class="card-body">
+            <h3
+              data-aos="fade-in"
+              data-aos-offset="300"
+              data-aos-easing="ease-in-sine"
+              class="text-blue-six mb-4"
+            >
+              Daftar Mahasiswa Prodi
+            </h3>
+            <!-- Search & Filter -->
+            <div class="row">
+              <!-- Filter Title -->
+              <div
+                class="col-auto d-flex align-items-center justify-content-end"
+              >
+                <b>Filter</b>
+              </div>
+              <!-- Filter by Status -->
+              <div class="col-auto px-0 dropdown">
+                <select
+                  class="btn btn-dropdown-six dropdown-toggle"
+                  aria-label="Status"
+                  @change="filterStudents($event.target.value)"
+                  id="filter-status"
+                >
+                  <option value="all" selected>Semua</option>
+                  <option value="FINAL">Final</option>
+                  <option value="APPROVED">Disetujui</option>
+                  <option value="UNAPPROVED">Tidak disetujui</option>
+                  <option value="SUBMITTED">Belum disetujui</option>
+                  <option value="DRAFT">Belum Dikirim</option>
+                </select>
+              </div>
+              <!-- Search Title -->
+              <div class="col d-flex align-items-center justify-content-end">
+                <b>Cari</b>
+              </div>
+              <!-- Search Field -->
+              <div class="col-5">
+                <form class="d-flex">
+                  <input
+                    class="py-2 form-control"
+                    type="search"
+                    placeholder="Cari Mahasiswa"
+                    aria-label="Search"
+                    v-model="keywordProdi"
+                  />
+                  <button class="btn btn-primary-six px-3 py-0" type="submit">
+                    <span><i class="fa fa-search" aria-hidden="true"></i></span>
+                  </button>
+                </form>
+              </div>
+            </div>
+            <!-- Lecturer Course Table -->
+            <table class="table table-hover my-4">
+              <thead>
+                <tr>
+                  <th scope="col">#</th>
+                  <th scope="col">NIM</th>
+                  <th scope="col">Nama Mahasiswa</th>
+                  <th scope="col" class="text-center">Total SKS</th>
+                  <th scope="col" class="text-center">Status</th>
+                </tr>
+              </thead>
+              <tbody>
+                <tr
+                  v-for="(item, i) of showedStudentsData"
+                  :key="'student' + i"
+                >
+                  <th scope="row">{{ i + 1 }}</th>
+                  <td>{{ item.nim }}</td>
+                  <td>{{ item.name }}</td>
+                  <td class="text-center">{{ item.studyPlan.creditsTotal }}</td>
+                  <td class="text-center">
+                    <span
+                      class="badge"
+                      :class="
+                        item.studyPlan.status === 'FINAL'
+                          ? 'badge-success'
+                          : item.studyPlan.status === 'APPROVED'
+                          ? 'badge-success'
+                          : item.studyPlan.status === 'DRAFT'
+                          ? 'badge-warning'
+                          : item.studyPlan.status === 'SUBMITTED'
+                          ? 'badge-warning'
+                          : 'badge-danger'
+                      "
+                      >{{
+                        item.studyPlan.status === "FINAL"
+                          ? "Final"
+                          : item.studyPlan.status === "APPROVED"
+                          ? "Disetujui"
+                          : item.studyPlan.status === "DRAFT"
+                          ? "Belum dikirim"
+                          : item.studyPlan.status === "SUBMITTED"
+                          ? "Belum disetujui"
+                          : "Tidak disetujui"
+                      }}</span
+                    >
+                  </td>
+                </tr>
+              </tbody>
+            </table>
+            <!-- Pagination -->
+            <div class="row">
+              <div class="col">
+                <span>
+                  Total: {{ filteredStudentsData.length }} mahasiswa &nbsp;
+                </span>
+              </div>
+              <div class="col d-flex justify-content-end">
+                <v-pagination
+                  v-model="page"
+                  :pages="pageNumberTotal"
+                  :range-size="studentsPerPage"
+                  active-color="#DCEDFF"
+                  @update:modelValue="updatePage"
+                />
+              </div>
             </div>
-            <!-- Filter by Status -->
-            <div class="col-auto px-0 dropdown">
-              <select
-                class="btn btn-dropdown-six dropdown-toggle"
-                aria-label="Status"
-                @change="filterStudents($event.target.value)"
-                id="filter-status"
+          </div>
+        </div>
+      </div>
+      <!-- Card Finalize Study Plan -->
+      <div class="col-md-4">
+        <div data-aos="fade-up" data-aos-duration="500" class="card p-3">
+          <div class="card-body">
+            <h3
+              data-aos="fade-in"
+              data-aos-offset="300"
+              data-aos-easing="ease-in-sine"
+              class="text-start text-blue-six mb-4"
+            >
+              Finalisasi Rencana Studi
+            </h3>
+            <p class="text-start" data-aos="fade-in" data-aos-offset="300">
+              Finalisasi Rencana Studi hanya dapat diterapkan apabila seluruh
+              rencana studi mahasiswa sudah disetujui oleh dosen wali mahasiswa
+              yang bersangkutan.
+            </p>
+            <p class="text-start" textdata-aos="fade-in" data-aos-offset="300">
+              Perlu diingat bahwa finalisasi rencana studi diterapkan untuk
+              mahasiswa prodi terkait dan tidak dapat dibatalkan hingga periode
+              PRS dimulai.
+            </p>
+            <div class="row justify-content-center mt-5">
+              <button
+                type="button"
+                class="btn btn-primary-six col-11"
+                data-toggle="modal"
+                data-target="#FRSModal"
+                @click="submitPRS = false"
               >
-                <option value="all" selected>Semua</option>
-                <option value="APPROVED">Disetujui</option>
-                <option value="DRAFT">Belum Mengirim</option>
-                <option value="SUBMITTED">Tidak Disetujui</option>
-              </select>
+                Finalisasi Sekarang
+              </button>
             </div>
-
-            <!-- Search Title -->
-            <div class="col d-flex align-items-center justify-content-end">
-              <b>Cari</b>
+          </div>
+        </div>
+      </div>
+    </div>
+    <!-- Modal finalisasi rencana studi -->
+    <div
+      class="modal fade"
+      id="FRSModal"
+      tabindex="-1"
+      role="dialog"
+      aria-labelledby="FRSModal"
+    >
+      <div class="modal-dialog modal-dialog-centered modal-m" role="document">
+        <div class="modal-content p-3">
+          <div class="modal-header">
+            <h2 class="mx-auto text-blue-six" id="FRSModal">
+              Finalisasi Rencana Studi
+            </h2>
+          </div>
+          <div class="modal-body">
+            <div class="row">
+              <p>
+                Apakah Anda yakin untuk melakukan finalisasi rencana studi? Anda
+                tidak dapat membatalkan FRS hingga periode PRS dimulai.
+              </p>
             </div>
-            <!-- Search Field -->
-            <div class="col-5">
-              <form class="d-flex">
-                <input
-                  class="py-2 form-control"
-                  type="search"
-                  placeholder="Cari Mahasiswa [NIM] [Nama]"
-                  aria-label="Search"
-                  v-model="keyword"
-                />
-                <button class="btn btn-primary-six px-3 py-0" type="submit">
-                  <span><i class="fa fa-search" aria-hidden="true"></i></span>
+            <div class="row">
+              <div class="form-group col-6">
+                <button
+                  type="button"
+                  class="btn btn-secondary-six col-12"
+                  data-dismiss="modal"
+                >
+                  Batal
                 </button>
-              </form>
+              </div>
+              <div class="form-group col-6">
+                <button
+                  type="button"
+                  class="btn btn-primary-six col-12"
+                  data-dismiss="modal"
+                  @click="submitPRSButton"
+                >
+                  Simpan
+                </button>
+              </div>
             </div>
           </div>
-
-          <!-- Lecturer Course Table -->
-          <table class="table table-hover my-4">
-            <thead>
-              <tr>
-                <th scope="col">#</th>
-                <th scope="col">NIM</th>
-                <th scope="col">Nama Mahasiswa</th>
-                <th scope="col" class="text-center">Total SKS</th>
-                <th scope="col" class="text-center">Status</th>
-                <th scope="col" class="text-center">Aksi</th>
-              </tr>
-            </thead>
-            <tbody>
-              <tr v-for="(item, i) of showedStudentsData" :key="'student' + i">
-                <th scope="row">{{ i + 1 }}</th>
-                <td>{{ item.nim }}</td>
-                <td>{{ item.name }}</td>
-                <td class="text-center">{{ item.studyPlan.creditsTotal }}</td>
-                <td class="text-center">
-                  <span
-                    class="badge"
-                    :class="
-                      item.studyPlan.status === 'APPROVED'
-                        ? 'badge-success'
-                        : item.studyPlan.status === 'SUBMITTED'
-                        ? 'badge-danger'
-                        : 'badge-warning'
-                    "
-                    >{{
-                      item.studyPlan.status === "APPROVED"
-                        ? "Disetujui"
-                        : item.studyPlan.status === "SUBMITTED"
-                        ? "Tidak Disetujui"
-                        : "Belum dikirim"
-                    }}</span
-                  >
-                </td>
-                <td class="text-center">
-                  <button
-                    type="button"
-                    class="btn py-1 px-2"
-                    :class="
-                      item.studyPlan.status === 'DRAFT'
-                        ? 'btn-disabled-six'
-                        : 'btn-secondary-six'
-                    "
-                    @click="
-                      item.studyPlan.status === 'DRAFT'
-                        ? null
-                        : openEditStudentCourseEnrollmentModal(item)
-                    "
-                  >
-                    Sunting
+        </div>
+      </div>
+    </div>
+    <!-- course enrollment kaprodi ends here -->
+    <!-- card course enrollment lecturer -->
+    <div class="row mt-4">
+      <div class="col-md-12">
+        <div data-aos="fade-up" data-aos-duration="500" class="card p-3">
+          <div class="card-body">
+            <h3
+              data-aos="fade-in"
+              data-aos-offset="300"
+              data-aos-easing="ease-in-sine"
+              class="text-blue-six mb-4"
+            >
+              Daftar Mahasiswa Wali
+            </h3>
+            <!-- Search & Filter -->
+            <div class="row">
+              <!-- Filter Title -->
+              <div
+                class="col-auto d-flex align-items-center justify-content-end"
+              >
+                <b>Filter</b>
+              </div>
+              <!-- Filter by Status -->
+              <div class="col-auto px-0 dropdown">
+                <select
+                  class="btn btn-dropdown-six dropdown-toggle"
+                  aria-label="Status"
+                  @change="filterStudentsAdvised($event.target.value)"
+                  id="filter-status"
+                >
+                  <option value="all" selected>Semua</option>
+                  <option value="FINAL">Final</option>
+                  <option value="APPROVED">Disetujui</option>
+                  <option value="UNAPPROVED">Tidak disetujui</option>
+                  <option value="SUBMITTED">Belum disetujui</option>
+                  <option value="DRAFT">Belum Dikirim</option>
+                </select>
+              </div>
+              <!-- Search Title -->
+              <div class="col d-flex align-items-center justify-content-end">
+                <b>Cari</b>
+              </div>
+              <!-- Search Field -->
+              <div class="col-5">
+                <form class="d-flex">
+                  <input
+                    class="py-2 form-control"
+                    type="search"
+                    placeholder="Cari Mahasiswa"
+                    aria-label="Search"
+                    v-model="keywordAdvised"
+                  />
+                  <button class="btn btn-primary-six px-3 py-0" type="submit">
+                    <span><i class="fa fa-search" aria-hidden="true"></i></span>
                   </button>
-                </td>
-              </tr>
-            </tbody>
-          </table>
-
-          <!-- Pagination -->
-          <div class="row">
-            <div class="col">
-              <span>
-                Total: {{ filteredStudentsData.length }} mahasiswa &nbsp;
-              </span>
+                </form>
+              </div>
             </div>
-            <div class="col d-flex justify-content-end">
-              <v-pagination
-                v-model="page"
-                :pages="pageNumberTotal"
-                :range-size="studentsPerPage"
-                active-color="#DCEDFF"
-                @update:modelValue="updatePage"
-              />
+            <!-- Lecturer Course Table - Advised -->
+            <table class="table table-hover my-4">
+              <thead>
+                <tr>
+                  <th scope="col">#</th>
+                  <th scope="col">NIM</th>
+                  <th scope="col">Nama Mahasiswa</th>
+                  <th scope="col" class="text-center">Total SKS</th>
+                  <th scope="col" class="text-center">Status</th>
+                  <th scope="col" class="text-center">Aksi</th>
+                </tr>
+              </thead>
+              <tbody>
+                <tr
+                  v-for="(item, i) of showedStudentsDataAdvised"
+                  :key="'student' + i"
+                >
+                  <th scope="row">{{ i + 1 }}</th>
+                  <td>{{ item.nim }}</td>
+                  <td>{{ item.name }}</td>
+                  <td class="text-center">{{ item.studyPlan.creditsTotal }}</td>
+                  <td class="text-center">
+                    <span
+                      class="badge"
+                      :class="
+                        item.studyPlan.status === 'FINAL'
+                          ? 'badge-success'
+                          : item.studyPlan.status === 'APPROVED'
+                          ? 'badge-success'
+                          : item.studyPlan.status === 'DRAFT'
+                          ? 'badge-warning'
+                          : item.studyPlan.status === 'SUBMITTED'
+                          ? 'badge-warning'
+                          : 'badge-danger'
+                      "
+                      >{{
+                        item.studyPlan.status === "FINAL"
+                          ? "Disetujui"
+                          : item.studyPlan.status === "APPROVED"
+                          ? "Disetujui"
+                          : item.studyPlan.status === "DRAFT"
+                          ? "Belum dikirim"
+                          : item.studyPlan.status === "SUBMITTED"
+                          ? "Belum disetujui"
+                          : "Tidak disetujui"
+                      }}</span
+                    >
+                  </td>
+                  <td class="text-center">
+                    <button
+                      type="button"
+                      class="btn py-1 px-2"
+                      :class="
+                        item.studyPlan.status === 'DRAFT'
+                          ? 'btn-disabled-six'
+                          : 'btn-secondary-six'
+                      "
+                      @click="
+                        item.studyPlan.status === 'DRAFT'
+                          ? null
+                          : openEditStudentCourseEnrollmentModal(item)
+                      "
+                    >
+                      Sunting
+                    </button>
+                  </td>
+                </tr>
+              </tbody>
+            </table>
+            <!-- Pagination -->
+            <div class="row">
+              <div class="col">
+                <span>
+                  Total: {{ filteredStudentsDataAdvised.length }} mahasiswa
+                  &nbsp;
+                </span>
+              </div>
+              <div class="col d-flex justify-content-end">
+                <v-pagination
+                  v-model="pageAdvised"
+                  :pages="pageNumberTotalAdvised"
+                  :range-size="studentsPerPage"
+                  active-color="#DCEDFF"
+                  @update:modelValue="updatePageAdvised"
+                />
+              </div>
             </div>
           </div>
         </div>
-      </div>
-      <!-- Edit Modal -->
-      <div
-        class="modal fade"
-        id="editButton"
-        tabindex="-1"
-        role="dialog"
-        aria-labelledby="editButton"
-      >
+        <!-- Edit Study Plan Modal -->
         <div
-          class="modal-dialog modal-dialog-centered modal-lg"
-          role="document"
+          class="modal fade"
+          id="editButton"
+          tabindex="-1"
+          role="dialog"
+          aria-labelledby="editButton"
         >
-          <div class="modal-content p-3">
-            <div class="modal-header">
-              <h2 class="mx-auto text-blue-six" id="editButton">
-                Penyetujuan Rencana Studi
-              </h2>
-            </div>
-            <div class="modal-body overflow-auto">
-              <div class="row" v-if="selectedStudent">
-                <div class="col">
-                  {{ selectedStudent.name }} - {{ selectedStudent.nim }} / Total
-                  SKS : {{ selectedStudent.studyPlan.creditsTotal }}
-                </div>
-                <div class="col-auto">
-                  Status
-                  <span
-                    class="badge"
-                    :class="
-                      selectedStudent.studyPlan.status === 'APPROVED'
-                        ? 'badge-success'
-                        : 'badge-danger'
-                    "
-                    >{{
-                      selectedStudent.studyPlan.status === "APPROVED"
-                        ? "Disetujui"
-                        : "Tidak Disetujui"
-                    }}</span
-                  >
-                </div>
+          <div
+            class="modal-dialog modal-dialog-centered modal-lg"
+            role="document"
+          >
+            <div class="modal-content p-3">
+              <div class="modal-header">
+                <h2 class="mx-auto text-blue-six" id="editButton">
+                  Penyetujuan Rencana Studi
+                </h2>
               </div>
-
-              <div class="row">
-                <!-- Field Table -->
-                <table class="table table-hover my-4">
-                  <thead>
-                    <tr>
-                      <th scope="col">#</th>
-                      <th scope="col">Kode</th>
-                      <th scope="col">Mata Kuliah</th>
-                      <th scope="col" class="text-center">Kelas</th>
-                      <th scope="col" class="text-center">SKS</th>
-                      <th scope="col" class="text-center">Jenis Mata Kuliah</th>
-                      <th scope="col" class="text-center">Penyetujuan</th>
-                    </tr>
-                  </thead>
-                  <tbody v-if="selectedStudent && selectedStudent.studyPlan">
-                    <tr
-                      v-for="(item, i) of selectedStudent.studyPlan
-                        .studyPlanCourses"
-                      :key="'student' + i"
+              <div class="modal-body overflow-auto">
+                <div class="row" v-if="selectedStudent">
+                  <div class="col">
+                    {{ selectedStudent.name }} - {{ selectedStudent.nim }} /
+                    Total SKS : {{ selectedStudent.studyPlan.creditsTotal }}
+                  </div>
+                  <div class="col-auto">
+                    Status
+                    <span
+                      class="badge"
+                      :class="
+                        selectedStudent.studyPlan.status === 'APPROVED'
+                          ? 'badge-success'
+                          : 'badge-danger'
+                      "
+                      >{{
+                        selectedStudent.studyPlan.status === "APPROVED"
+                          ? "Disetujui"
+                          : "Tidak Disetujui"
+                      }}</span
                     >
-                      <th scope="row">{{ i + 1 }}</th>
-                      <td>{{ item.code }}</td>
-                      <td>{{ item.name }}</td>
-                      <td class="text-center">01</td>
-                      <td class="text-center">{{ item.credits }}</td>
-                      <td class="text-center">{{ item.type }}</td>
-                      <!-- @TODO: modify code in here -->
-                      <td class="text-center">
-                        <div class="col-auto">
-                          <div class="form-group">
-                            <div class="custom-control custom-switch">
-                              <input
-                                type="checkbox"
-                                class="custom-control-input p-0"
-                                id="customSwitch1"
-                                v-model="selectedStudentapproved"
-                                @click="updateStudyPlan"
-                              />
-                              <label
-                                class="custom-control-label"
-                                for="customSwitch1"
-                              >
-                              </label>
+                  </div>
+                </div>
+
+                <div class="row">
+                  <!-- Field Table -->
+                  <table class="table table-hover my-4">
+                    <thead>
+                      <tr>
+                        <th scope="col">#</th>
+                        <th scope="col">Kode</th>
+                        <th scope="col">Mata Kuliah</th>
+                        <th scope="col" class="text-center">Kelas</th>
+                        <th scope="col" class="text-center">SKS</th>
+                        <th scope="col" class="text-center">
+                          Jenis Mata Kuliah
+                        </th>
+                        <th scope="col" class="text-center">Penyetujuan</th>
+                      </tr>
+                    </thead>
+                    <tbody v-if="selectedStudent && selectedStudent.studyPlan">
+                      <tr
+                        v-for="(item, i) of selectedStudent.studyPlan
+                          .studyPlanCourses"
+                        :key="'student' + i"
+                      >
+                        <th scope="row">{{ i + 1 }}</th>
+                        <td>{{ item.code }}</td>
+                        <td>{{ item.name }}</td>
+                        <td class="text-center">01</td>
+                        <td class="text-center">{{ item.credits }}</td>
+                        <td class="text-center">{{ item.type }}</td>
+                        <!-- @TODO: modify code in here -->
+                        <td class="text-center">
+                          <div class="col-auto">
+                            <div class="form-group">
+                              <div class="custom-control custom-switch">
+                                <input
+                                  type="checkbox"
+                                  class="custom-control-input p-0"
+                                  id="customSwitch1"
+                                  v-model="selectedStudentapproved"
+                                  @click="updateStudyPlan"
+                                />
+                                <label
+                                  class="custom-control-label"
+                                  for="customSwitch1"
+                                >
+                                </label>
+                              </div>
                             </div>
                           </div>
-                        </div>
-                      </td>
-                    </tr>
-                  </tbody>
-                </table>
-              </div>
-              <div class="row mt-5">
-                <!-- Button Close -->
-                <div class="form-group col-6">
-                  <button
-                    type="button"
-                    class="btn btn-secondary-six col-12"
-                    @click="cancelStudentCourseEnrollmentModal"
-                  >
-                    Batal
-                  </button>
+                        </td>
+                      </tr>
+                    </tbody>
+                  </table>
                 </div>
-                <!-- Button Update -->
-                <div class="form-group col-6">
-                  <button
-                    type="button"
-                    class="btn btn-primary-six col-12"
-                    @click="submitStudentCourseEnrollmentModal"
-                  >
-                    Simpan
-                  </button>
+                <div class="row mt-5">
+                  <!-- Button Close -->
+                  <div class="form-group col-6">
+                    <button
+                      type="button"
+                      class="btn btn-secondary-six col-12"
+                      @click="cancelStudentCourseEnrollmentModal"
+                    >
+                      Batal
+                    </button>
+                  </div>
+                  <!-- Button Update -->
+                  <div class="form-group col-6">
+                    <button
+                      type="button"
+                      class="btn btn-primary-six col-12"
+                      @click="submitStudentCourseEnrollmentModal"
+                    >
+                      Simpan
+                    </button>
+                  </div>
                 </div>
               </div>
             </div>
           </div>
         </div>
-      </div>
-      <!-- Notes Modal -->
-      <div
-        class="modal fade"
-        id="notesApproval"
-        tabindex="-1"
-        role="dialog"
-        aria-labelledby="notesApproval"
-      >
-        <div class="modal-dialog modal-dialog-centered" role="document">
-          <div class="modal-content p-3">
-            <div class="modal-header">
-              <h2 class="mx-auto text-blue-six" id="notesApproval">
-                Catatan
-              </h2>
-            </div>
-            <div class="modal-body overflow-auto">
-              <form>
-                <div class="row">
-                  <!-- Field Reason -->
-                  <div class="form-group col-12">
-                    <label>Alasan tidak menyetujui</label>
-                    <textarea
-                      class="mt-2"
-                      v-model="reasonApproval"
-                      placeholder="Masukan alasan mengapa rencana studi ini tidak disetujui"
-                      spellcheck="false"
-                    />
+        <!-- Edit Modal -->
+        <div
+          class="modal fade"
+          id="editButton"
+          tabindex="-1"
+          role="dialog"
+          aria-labelledby="editButton"
+        >
+          <div
+            class="modal-dialog modal-dialog-centered modal-lg"
+            role="document"
+          >
+            <div class="modal-content p-3">
+              <div class="modal-header">
+                <h2 class="mx-auto text-blue-six" id="editButton">
+                  Penyetujuan Rencana Studi
+                </h2>
+              </div>
+              <div class="modal-body overflow-auto">
+                <div class="row" v-if="selectedStudent">
+                  <div class="col">
+                    {{ selectedStudent.name }} - {{ selectedStudent.nim }} /
+                    Total SKS : {{ selectedStudent.studyPlan.creditsTotal }}
+                  </div>
+                  <div class="col-auto">
+                    Status
+                    <span
+                      class="badge"
+                      :class="
+                        selectedStudent.studyPlan.status === 'APPROVED'
+                          ? 'badge-success'
+                          : 'badge-danger'
+                      "
+                      >{{
+                        selectedStudent.studyPlan.status === "APPROVED"
+                          ? "Disetujui"
+                          : "Tidak Disetujui"
+                      }}</span
+                    >
                   </div>
                 </div>
 
+                <div class="row">
+                  <!-- Field Table -->
+                  <table class="table table-hover my-4">
+                    <thead>
+                      <tr>
+                        <th scope="col">#</th>
+                        <th scope="col">Kode</th>
+                        <th scope="col">Mata Kuliah</th>
+                        <th scope="col" class="text-center">Kelas</th>
+                        <th scope="col" class="text-center">SKS</th>
+                        <th scope="col" class="text-center">
+                          Jenis Mata Kuliah
+                        </th>
+                        <th scope="col" class="text-center">Penyetujuan</th>
+                      </tr>
+                    </thead>
+                    <tbody v-if="selectedStudent && selectedStudent.studyPlan">
+                      <tr
+                        v-for="(item, i) of selectedStudent.studyPlan
+                          .studyPlanCourses"
+                        :key="'student' + i"
+                      >
+                        <th scope="row">{{ i + 1 }}</th>
+                        <td>{{ item.code }}</td>
+                        <td>{{ item.name }}</td>
+                        <td class="text-center">01</td>
+                        <td class="text-center">{{ item.credits }}</td>
+                        <td class="text-center">{{ item.type }}</td>
+                        <!-- @TODO: modify code in here -->
+                        <td class="text-center">
+                          <div class="col-auto">
+                            <div class="form-group">
+                              <div class="custom-control custom-switch">
+                                <input
+                                  type="checkbox"
+                                  class="custom-control-input p-0"
+                                  id="customSwitch1"
+                                  v-model="selectedStudentapproved"
+                                  @click="updateStudyPlan"
+                                />
+                                <label
+                                  class="custom-control-label"
+                                  for="customSwitch1"
+                                >
+                                </label>
+                              </div>
+                            </div>
+                          </div>
+                        </td>
+                      </tr>
+                    </tbody>
+                  </table>
+                </div>
                 <div class="row mt-5">
                   <!-- Button Close -->
                   <div class="form-group col-6">
                     <button
                       type="button"
                       class="btn btn-secondary-six col-12"
-                      @click="cancelNotesApproval"
+                      @click="cancelStudentCourseEnrollmentModal"
                     >
                       Batal
                     </button>
@@ -299,13 +606,70 @@
                     <button
                       type="button"
                       class="btn btn-primary-six col-12"
-                      @click="submitNotesApproval"
+                      @click="submitStudentCourseEnrollmentModal"
                     >
-                      Kirim
+                      Simpan
                     </button>
                   </div>
                 </div>
-              </form>
+              </div>
+            </div>
+          </div>
+        </div>
+        <!-- Notes Modal -->
+        <div
+          class="modal fade"
+          id="notesApproval"
+          tabindex="-1"
+          role="dialog"
+          aria-labelledby="notesApproval"
+        >
+          <div class="modal-dialog modal-dialog-centered" role="document">
+            <div class="modal-content p-3">
+              <div class="modal-header">
+                <h2 class="mx-auto text-blue-six" id="notesApproval">
+                  Catatan
+                </h2>
+              </div>
+              <div class="modal-body overflow-auto">
+                <form>
+                  <div class="row">
+                    <!-- Field Reason -->
+                    <div class="form-group col-12">
+                      <label>Alasan tidak menyetujui</label>
+                      <textarea
+                        class="mt-2"
+                        v-model="reasonApproval"
+                        placeholder="Masukan alasan mengapa rencana studi ini tidak disetujui"
+                        spellcheck="false"
+                      />
+                    </div>
+                  </div>
+
+                  <div class="row mt-5">
+                    <!-- Button Close -->
+                    <div class="form-group col-6">
+                      <button
+                        type="button"
+                        class="btn btn-secondary-six col-12"
+                        @click="cancelNotesApproval"
+                      >
+                        Batal
+                      </button>
+                    </div>
+                    <!-- Button Update -->
+                    <div class="form-group col-6">
+                      <button
+                        type="button"
+                        class="btn btn-primary-six col-12"
+                        @click="submitNotesApproval"
+                      >
+                        Kirim
+                      </button>
+                    </div>
+                  </div>
+                </form>
+              </div>
             </div>
           </div>
         </div>
@@ -332,36 +696,67 @@ export default {
       reasonApproval: null,
       semester: 1,
       year: 2021,
+      kaprodi: true,
+      currentSkillGroup: null,
+      currentSkillGroupID: null,
+      lecturersID: [],
       studentsData: [],
+      studentsDataAdvised: [],
       filteredStudentsData: [],
       showedStudentsData: [],
+      filteredStudentsDataAdvised: [],
+      showedStudentsDataAdvised: [],
       studentsPerPage: 5,
       page: 1,
+      pageAdvised: 1,
       pageNumberTotal: 1,
+      pageNumberTotalAdvised: 1,
       startIndex: 0,
+      startIndexAdvised: 0,
       selectedStudent: null,
       selectedStudentCourses: null,
       selectedStudentapproved: false,
-      keyword: ""
+      keywordProdi: "",
+      keywordAdvised: "",
+      isAlertSuccess: false,
+      isAlertDanger: false,
+      submitPRS: false,
+      // For debugging purposes
+      debugString: null
     };
   },
   watch: {
-    keyword: function(val) {
+    keywordProdi: function(val) {
       if (!val) {
         this.showedStudentsData = this.studentsData;
       } else {
-        this.showedStudentsData = this.showedStudentsData.filter(
-          (student) =>
-            student.name.toLowerCase().includes(val.toLowerCase()) ||
-            student.nim.toLowerCase().includes(val.toLowerCase())
+        this.showedStudentsData = this.showedStudentsData.filter((student) =>
+          student.name.toLowerCase().includes(val.toLowerCase())
+        );
+      }
+    },
+    keywordAdvised: function(val) {
+      if (!val) {
+        this.showedStudentsDataAdvised = this.studentsDataAdvised;
+      } else {
+        this.showedStudentsDataAdvised = this.showedStudentsDataAdvised.filter(
+          (student) => student.name.toLowerCase().includes(val.toLowerCase())
         );
       }
     }
   },
   mounted() {
-    this.getAllStudentAdvised();
+    this.currentSkillGroup = "Rekayasa Perangkat Lunak";
+    this.kaprodi = false;
+    this.getAllStudents();
+    this.getAdvisedStudents();
   },
   methods: {
+    submitPRSButton() {
+      this.submitPRS = true;
+      this.isAlertSuccess = true;
+    },
+    // Modal Methods
     openEditStudentCourseEnrollmentModal(student) {
       this.selectedStudent = student;
       this.getCoursesSelectedStudent();
@@ -393,7 +788,77 @@ export default {
     submitNotesApproval() {
       console.log(this.reasonApproval);
     },
-    async getAllStudentAdvised() {
+    // Get methods
+    async getAllStudents() {
+      // Get current skill group ID
+      await axios
+        .get(process.env.VUE_APP_API_ENDPOINT + "/skillgroup")
+        .then((response) => {
+          if (response.status == 200) {
+            for (let i = 0; i < response.data.length; i++) {
+              if (response.data[i].name === this.currentSkillGroup) {
+                this.currentSkillGroupID = response.data[i].id;
+              }
+            }
+          }
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+      // Get all lecturers in skill group
+      await axios
+        .get(
+          process.env.VUE_APP_API_ENDPOINT +
+            "/lecturer/?skillGroups=" +
+            this.currentSkillGroupID
+        )
+        .then((response) => {
+          if (response.status == 200) {
+            for (let i = 0; i < response.data.length; i++) {
+              this.lecturersID.push(response.data[i].userId);
+            }
+          }
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+      // For each lecturer, get all advised students
+      for (let i = 0; i < this.lecturersID.length; i++) {
+        await axios
+          .get(
+            process.env.VUE_APP_API_ENDPOINT +
+              "/lecturer/" +
+              this.lecturersID[i]
+          )
+          .then((response) => {
+            if (response.status == 200) {
+              for (let j = 0; j < response.data.advisedStudents.length; j++) {
+                let student = {
+                  id: response.data.advisedStudents[j].id,
+                  nim: response.data.advisedStudents[j].nim,
+                  name: response.data.advisedStudents[j].fullName
+                };
+                this.studentsData.push(student);
+              }
+              this.pageNumberTotal = Math.ceil(
+                this.studentsData.length / this.studentsPerPage
+              );
+              this.updatePage(1);
+            }
+          })
+          .catch((error) => {
+            console.error(error);
+          });
+      }
+      for (let i = 0; i < this.studentsData.length; i++) {
+        this.studentsData[i].studyPlan = await this.getStudyPlan(
+          this.studentsData[i].id
+        );
+      }
+      this.filteredStudentsData = this.studentsData;
+      this.updatePage(1);
+    },
+    async getAdvisedStudents() {
       const lecturerId = localStorage.uid;
       await axios
         .get(process.env.VUE_APP_API_ENDPOINT + "/lecturer/" + lecturerId)
@@ -405,24 +870,24 @@ export default {
                 nim: response.data.advisedStudents[i].nim,
                 name: response.data.advisedStudents[i].fullName
               };
-              this.studentsData.push(student);
+              this.studentsDataAdvised.push(student);
             }
             this.pageNumberTotal = Math.ceil(
-              this.studentsData.length / this.studentsPerPage
+              this.studentsDataAdvised.length / this.studentsPerPage
             );
-            this.updatePage(1);
+            this.updatePageAdvised(1);
           }
         })
         .catch((error) => {
           console.error(error);
         });
-      for (let i = 0; i < this.studentsData.length; i++) {
-        this.studentsData[i].studyPlan = await this.getStudyPlan(
-          this.studentsData[i].id
+      for (let i = 0; i < this.studentsDataAdvised.length; i++) {
+        this.studentsDataAdvised[i].studyPlan = await this.getStudyPlan(
+          this.studentsDataAdvised[i].id
         );
       }
-      this.filteredStudentsData = this.studentsData;
-      this.updatePage(1);
+      this.filteredStudentsDataAdvised = this.studentsDataAdvised;
+      this.updatePageAdvised(1);
     },
     async getStudyPlan(studentId) {
       let studyPlan = null;
@@ -486,6 +951,10 @@ export default {
           });
       }
     },
+    // Update Study Plan
+    toggleStudyPlan() {
+      this.selectedStudentapproved = !this.selectedStudentapproved;
+    },
     updateStudyPlan() {
       let newStatus = "APPROVED";
       if (this.selectedStudentapproved) {
@@ -516,6 +985,7 @@ export default {
           console.error(error);
         });
     },
+    // Table related methods
     updatePage(pageNumber) {
       this.showedStudentsData = this.studentsData;
 
@@ -532,6 +1002,22 @@ export default {
       );
       this.startIndex = minIndex;
     },
+    updatePageAdvised(pageNumber) {
+      this.showedStudentsDataAdvised = this.studentsDataAdvised;
+
+      let minIndex = pageNumber * this.studentsPerPage - this.studentsPerPage;
+      let maxIndex = pageNumber * this.studentsPerPage;
+
+      if (maxIndex > this.showedStudentsDataAdvised.length) {
+        maxIndex = this.showedStudentsDataAdvised.length;
+      }
+
+      this.showedStudentsDataAdvised = this.filteredStudentsDataAdvised.slice(
+        minIndex,
+        maxIndex
+      );
+      this.startIndexAdvised = minIndex;
+    },
     filterStudents(status) {
       this.filteredStudentsData = [];
       if (status === "all") {
@@ -549,6 +1035,24 @@ export default {
       );
       this.updatePage(1);
       this.page = 1;
+    },
+    filterStudentsAdvised(status) {
+      this.filteredStudentsDataAdvised = [];
+      if (status === "all") {
+        this.filteredStudentsDataAdvised = this.studentsDataAdvised;
+      } else {
+        for (let i = 0; i < this.studentsDataAdvised.length; i++) {
+          if (this.studentsDataAdvised[i].studyPlan.status === status) {
+            this.filteredStudentsDataAdvised.push(this.studentsDataAdvised[i]);
+          }
+        }
+      }
+      this.showedStudentsDataAdvised = this.filteredStudentsDataAdvised;
+      this.pageNumberTotalAdvised = Math.ceil(
+        this.showedStudentsDataAdvised.length / this.studentsPerPage
+      );
+      this.updatePageAdvised(1);
+      this.page = 1;
     }
   }
 };