diff --git a/app/Http/Controllers/.fuse_hidden00000c2b00000001 b/app/Http/Controllers/.fuse_hidden00000c2b00000001
deleted file mode 100644
index 336ffe581903dd28b90b7cdeee3358a69d5f1fb0..0000000000000000000000000000000000000000
--- a/app/Http/Controllers/.fuse_hidden00000c2b00000001
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-namespace App\Http\Controllers;
-
-use Illuminate\Http\Request;
-use App\Http\Controllers\APIBaseController as APIBaseController;
-use App\Sertifikat;
-use App\Pegawai;
-use Carbon\Carbon;
-use Intervention\Image\ImageManagerStatic as Image;
-
-class SertifikatController extends APIBaseController
-{
-
-	public function index(){
-		$sertifikat = Sertifikat::all();
-		return $this->sendResponse($sertifikat, 'Sertifikat created successfully.');
-	}
-
-    public function update(Request $request, $id){
-    	// if (!$this->authenticate(4)) {return $this->sendError('You are not authenticated.');}
-
-    	$input = $request->all();
-
-        $pegawai = Pegawai::find($id);
-        $sertifikat = Sertifikat::where('id_pegawai', $id);
-
-        if ($sertifikat->count() > 0) {
-            $sertifikat->delete();
-        }
-
-        for ($i = 0; $i < count($input['sertifikat']); $i++) {
-        	$imageData = $input['sertifikat'][$i]['nama_file'];
-
-            if(explode("/", $imageData)[0] === "data:image"){
-	            $fileName =  $pegawai->nip . '_' . $i . '.' . explode('/', explode(':', substr($imageData, 0, strpos($imageData, ';')))[1])[1];
-	            $image = Image::make($imageData);	
-	            $image->save(public_path('sertifikat/').$fileName);
-			}else{
-				$fileName = explode("/", $imageData)[1];
-			}
-
-            $postSertifikat = Sertifikat::create([
-                'id_pegawai' => $id,
-                'nama_file' => $fileName,
-                'judul' => $input['sertifikat'][$i]['judul'],
-                'lembaga' => $input['sertifikat'][$i]['lembaga'],
-                'tahun_diterbitkan' => $input['sertifikat'][$i]['tahun_diterbitkan'],
-                'catatan' => $input['sertifikat'][$i]['catatan'],
-            ]);
-        }
-
-        return $this->sendResponse($input, 'Sertifikat created successfully.');
-    }
-}
diff --git a/app/Http/Controllers/DataKinerjaController.php b/app/Http/Controllers/DataKinerjaController.php
index 673be17afebbf3b3577604755de12f929778a415..1be2a88f85c7d12be694b33dea160805f79add32 100644
--- a/app/Http/Controllers/DataKinerjaController.php
+++ b/app/Http/Controllers/DataKinerjaController.php
@@ -204,7 +204,9 @@ class DataKinerjaController extends APIBaseController
             if ($extension == "xlsx" || $extension == "xls" || $extension == "csv") {
                 // Load data from Excel file
                 $path = $request->excel->getRealPath();
-                $objs = Excel::load($path, null)->get();
+                $objs = Excel::load($path, function ($reader) {
+                    $reader->ignoreEmpty();
+                })->get();
 
                 // Parse data
                 if (!empty($objs) && $objs->count()) {
diff --git a/app/Http/Controllers/DataKompetensiController.php b/app/Http/Controllers/DataKompetensiController.php
index 60fa9427855a8485e53ccf3a40c82cf4e3da24e7..52bdcfaf435d21d106b3096eae1b7ae48565ae3b 100644
--- a/app/Http/Controllers/DataKompetensiController.php
+++ b/app/Http/Controllers/DataKompetensiController.php
@@ -373,7 +373,9 @@ class DataKompetensiController extends APIBaseController
             if ($extension == "xlsx" || $extension == "xls" || $extension == "csv") {
                 // Load data from Excel file
                 $path = $request->excel->getRealPath();
-                $objs = Excel::load($path, null)->get();
+                $objs = Excel::load($path, function ($reader) {
+                    $reader->ignoreEmpty();
+                })->get();
 
                 // Parse data
                 if (!empty($objs) && $objs->count()) {
diff --git a/app/Http/Controllers/DataPegawaiController.php b/app/Http/Controllers/DataPegawaiController.php
index 3a106e4142389311efb5b2e2eee4445ef170421c..cf4215a90b6e2e9fe06428485e61e7461cfc5161 100644
--- a/app/Http/Controllers/DataPegawaiController.php
+++ b/app/Http/Controllers/DataPegawaiController.php
@@ -4,6 +4,8 @@ namespace App\Http\Controllers;
 
 use App\DenormalizedPegawai;
 use Illuminate\Http\Request;
+use App\Http\Controllers\APIBaseController as APIBaseController;
+use App\DataKepegawaian;
 
 class DataPegawaiController extends APIBaseController
 {
@@ -70,7 +72,7 @@ class DataPegawaiController extends APIBaseController
      */
     public function update(Request $request, $id)
     {
-        //
+        
     }
 
     /**
diff --git a/app/Http/Controllers/KepegawaianController.php b/app/Http/Controllers/KepegawaianController.php
new file mode 100644
index 0000000000000000000000000000000000000000..904ba1e45b58e7ec61d8fba93f3019a6eabc7995
--- /dev/null
+++ b/app/Http/Controllers/KepegawaianController.php
@@ -0,0 +1,50 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+use App\Http\Controllers\APIBaseController as APIBaseController;
+use App\DataKepegawaian;
+use App\Pegawai;
+
+class KepegawaianController extends APIBaseController
+{
+    public function update(Request $request, $id)
+    {
+        $input = $request->all();
+
+        $list = array();
+
+        for ($i = 0; $i < count($input['kepegawaian']); $i++) {
+
+            $kepegawaian = DataKepegawaian::find($input['kepegawaian'][$i]['id_data_kepegawaian']);
+
+            if(is_null($kepegawaian)){
+            	$postDataKepegawaian = DataKepegawaian::create([
+	                'id_pegawai' => $id,
+	                'id_posisi' => $input['kepegawaian'][$i]['id_posisi'],
+	                'id_unit_kerja' => $input['kepegawaian'][$i]['id_unit_kerja'],
+	                'tahun_masuk' => $input['kepegawaian'][$i]['tahun_masuk'],
+	                'tahun_keluar' => $input['kepegawaian'][$i]['tahun_keluar'],
+            	]);
+        		array_push($list, $postDataKepegawaian->id_data_kepegawaian);
+            }else{
+	            $kepegawaian->id_pegawai = $input['kepegawaian'][$i]['id_pegawai'];
+	            $kepegawaian->id_posisi = $input['kepegawaian'][$i]['id_posisi'];
+	            $kepegawaian->id_unit_kerja = $input['kepegawaian'][$i]['id_unit_kerja'];
+	            $kepegawaian->tahun_masuk = $input['kepegawaian'][$i]['tahun_masuk'];
+	            $kepegawaian->tahun_keluar = $input['kepegawaian'][$i]['tahun_keluar'];
+
+	            $kepegawaian->save();
+	            array_push($list, $input['kepegawaian'][$i]['id_data_kepegawaian']);
+            }
+            
+        }
+
+        $data = DataKepegawaian::where('id_pegawai',$id)->whereNotIn('id_data_kepegawaian', $list);
+        $data->delete();
+
+        return $this->sendResponse($input, 'Kepegawaian updated successfully.');
+
+    }
+}
diff --git a/app/Http/Controllers/Pegawai/PegawaiAPIController.php b/app/Http/Controllers/Pegawai/PegawaiAPIController.php
index 205905f7b15d44bc684cfe421fc01d93be6987ff..4ae37729ac1df488c970267d0126dda3ef01aa15 100644
--- a/app/Http/Controllers/Pegawai/PegawaiAPIController.php
+++ b/app/Http/Controllers/Pegawai/PegawaiAPIController.php
@@ -2,16 +2,16 @@
 
 namespace App\Http\Controllers\Pegawai;
 
-use App\Admin;
-use App\DataKepegawaian;
-use App\DenormalizedPegawai;
 use App\Http\Controllers\APIBaseController as APIBaseController;
+use App\User;
 use App\Pegawai;
 use App\PMO;
+use App\Admin;
+use App\DataKepegawaian;
 use App\RiwayatPekerjaan;
 use App\RiwayatPendidikan;
 use App\Sertifikat;
-use App\User;
+use App\DenormalizedPegawai;
 use Carbon\Carbon;
 use Excel;
 use Illuminate\Http\Request;
@@ -19,6 +19,7 @@ use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Hash;
 use Illuminate\Support\Facades\Storage;
+use Intervention\Image\ImageManagerStatic as Image;
 use Validator;
 
 
@@ -143,104 +144,85 @@ class PegawaiAPIController extends APIBaseController
     public function update(Request $request, $id)
     {
 
-        if (!$this->authenticate(4)) {
-            return $this->sendError('You are not authenticated.');
-        }
-
+        // if (!$this->authenticate(4)) {return $this->sendError('You are not authenticated.');}
 
         $input = $request->all();
 
-        $validator = Validator::make($input, [
-            'email' => 'required',
-            'password' => 'required',
-            'nama' => 'required',
-            'nip' => 'required',
-            'tempat_lahir' => 'required',
-            'tanggal_lahir' => 'required',
-            'id_pengubah' => 'required',
-        ]);
+        // return $this->sendResponse($input, 'Profile updated successfully.');
 
-        if ($validator->fails()) {
-            return $this->sendError('Validation Error.', $validator->errors());
-        }
+        // $validator = Validator::make($input['pegawai'], [
+        //     'nama' => 'required',
+        //     'tempat_lahir' => 'required',
+        //     'tanggal_lahir' => 'required',
+        //     'email' => 'required',
+        //     'nopeg' => 'required',
+        //     // 'password' => 'required',
+        //     'id_pengubah' => 'required',
+        // ]);
 
-        $pegawai = Pegawai::where('id_user', $id)->first();
+        // if ($validator->fails()) {
+        //     return $this->sendError('Validation Error.', $validator->errors());
+        // }
+
+        $pegawai = Pegawai::find($id);
 
         if (is_null($pegawai)) {
             return $this->sendError('Profile not found.');
         }
 
-        $find = User::where('email', $input['email']);
+        $find = User::where('email', $input['pegawai']['email']);
         $user = User::find($id);
 
-
         if ($find->count() != 0 && $find->first()->email != $user->email) {
             return $this->sendError('Email Already Exist');
         }
 
-        $user->name = $input['nama'];
-        $user->email = $input['email'];
-        $user->password = Hash::make($input['password']);
-        $pegawai->nama = $input['nama'];
-        $pegawai->nip = $input['nip'];
-        $pegawai->tempat_lahir = $input['tempat_lahir'];
-        $pegawai->tanggal_lahir = $input['tanggal_lahir'];
-        $pegawai->id_pengubah = $input['id_pengubah'];
-        $pegawai->ekstensi_foto = $input['user_photo']->getClientOriginalExtension();
 
-        $photoTimeAsName = $input['nip'].'.'.$input['user_photo']->getClientOriginalExtension();    
-        $input['user_photo']->move(public_path('profile'), $photoTimeAsName);
-
-
-
-        $pendidikan = RiwayatPendidikan::where('id_pegawai', $id);
-
-        if ($pendidikan->count() > 0) {
-            $pendidikan->delete();
+        $user->name = $input['pegawai']['nama'];
+        $user->email = $input['pegawai']['email'];
+        // $user->password = Hash::make($input['password']);
+        $pegawai->nama = $input['pegawai']['nama'];
+        $pegawai->nip = $input['pegawai']['nopeg'];
+        $pegawai->tempat_lahir = $input['pegawai']['tempatLahir'];
+        $pegawai->tanggal_lahir = $input['pegawai']['tanggalLahir'];
+        // $pegawai->no_telp = $input['pegawai']['no_telp'];
+        $pegawai->no_telp = NULL;
+        $pegawai->id_kelompok_kompetensi = $input['pegawai']['kompetensi']['id'];
+        $pegawai->id_pengubah = Auth::user()->id;
+
+        $imageData = $input['pegawai']['imageProfileUrl'];
+
+        if(explode("/", $imageData)[0] === "data:image"){
+            $extension = explode('/', explode(':', substr($imageData, 0, strpos($imageData, ';')))[1])[1];
+            $fileName =  $pegawai->nip . '.' . $extension;
+            $image = Image::make($imageData);   
+            $image->save(public_path('profile/').$fileName);
+        }else{
+            $extension = explode(".", $imageData)[1];
         }
 
-        for ($i = 1; $i <= $input['pendidikan_counter']; $i++) {
-            $postRiwayatPendidikan = RiwayatPendidikan::create([
-                'id_pegawai' => $id,
-                'nama_institusi' => $input['pendidikan_nama_institusi_' . $i],
-                'strata' => $input['pendidikan_strata_' . $i],
-                'jurusan' => $input['pendidikan_jurusan_' . $i],
-                'tahun_masuk' => $input['pendidikan_tahun_masuk_' . $i],
-                'tahun_keluar' => $input['pendidikan_tahun_keluar_' . $i],
-            ]);
-        }
+        $pegawai->ekstensi_foto = $extension;
 
-        $pekerjaan = RiwayatPekerjaan::where('id_pegawai', $id);
-
-        if ($pekerjaan->count() > 0) {
-            $pekerjaan->delete();
-        }
-
-        for ($i = 1; $i <= $input['pekerjaan_counter']; $i++) {
-            $postRiwayatPekerjaan = RiwayatPekerjaan::create([
-                'id_pegawai' => $id,
-                'nama_institusi' => $input['pekerjaan_nama_institusi_' . $i],
-                'posisi' => $input['pekerjaan_posisi_' . $i],
-                'tahun_masuk' => $input['pekerjaan_tahun_masuk_' . $i],
-                'tahun_keluar' => $input['pekerjaan_tahun_keluar_' . $i],
-            ]);
-        }
 
         $kepegawaian = DataKepegawaian::where('id_pegawai', $id);
 
-        if ($kepegawaian->count() > 0) {
-            $kepegawaian->delete();
-        }
-
-        for ($i = 1; $i <= $input['kepegawaian_counter']; $i++) {
+        if($kepegawaian->count() === 0){
             $postDataKepegawaian = DataKepegawaian::create([
                 'id_pegawai' => $id,
-                'kompetensi' => $input['kepegawaian_kompetensi_' . $i],
-                'unit_kerja' => $input['kepegawaian_unit_kerja_' . $i],
-                'posisi' => $input['kepegawaian_posisi_' . $i],
-                'tahun_masuk' => $input['kepegawaian_tahun_masuk_' . $i],
-                'tahun_keluar' => $input['kepegawaian_tahun_keluar_' . $i],
+                'id_unit_kerja' => $input['data_kepegawaian'][0]['id_unit_kerja'],
+                'id_posisi' => $input['data_kepegawaian'][0]['id_posisi'],
+                'tahun_masuk' => $input['data_kepegawaian'][0]['tahun_masuk'],
+                'tahun_keluar' => $input['data_kepegawaian'][0]['tahun_keluar'],
             ]);
+        }else{
+            $count = count($input['data_kepegawaian']);
+            $kepegawaian_new = DataKepegawaian::find($input['data_kepegawaian'][$count-1]['id_data_kepegawaian']);
+
+            $kepegawaian_new->id_unit_kerja = $input['data_kepegawaian'][$count-1]['id_unit_kerja'];
+            $kepegawaian_new->id_posisi = $input['data_kepegawaian'][$count-1]['id_posisi'];
+            $kepegawaian_new->tahun_masuk = $input['data_kepegawaian'][$count-1]['tahun_masuk'];
+            $kepegawaian_new->tahun_keluar = $input['data_kepegawaian'][$count-1]['tahun_keluar'];
+            $kepegawaian_new->save();
         }
 
         $user->save();
@@ -249,8 +231,6 @@ class PegawaiAPIController extends APIBaseController
         $data = array_merge(
             $user->toArray(),
             $pegawai->toArray(),
-            $pendidikan->get()->toArray(),
-            $pekerjaan->get()->toArray(),
             $kepegawaian->get()->toArray()
         );
 
diff --git a/app/Http/Controllers/PendidikanPekerjaanController.php b/app/Http/Controllers/PendidikanPekerjaanController.php
deleted file mode 100644
index d74cdcaf87c08beafb6de0a16f330265f621765d..0000000000000000000000000000000000000000
--- a/app/Http/Controllers/PendidikanPekerjaanController.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-namespace App\Http\Controllers;
-
-use Illuminate\Http\Request;
-
-class PendidikanPekerjaanController extends Controller
-{
-    //
-}
diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php
index 379891d77af5e42cb26be36a8b8683cc5c71dbe0..73b917ba62dc977c8fa4455dd825f8b2cd39f3ec 100644
--- a/app/Http/Controllers/ProfileController.php
+++ b/app/Http/Controllers/ProfileController.php
@@ -13,21 +13,36 @@ use App\Kinerja;
 use App\UnitKerja;
 use App\Posisi;
 use App\KelompokKompetensi;
+use App\RekomendasiPosisi;
+use App\RekomendasiTraining;
+use App\Training;
 
 class ProfileController extends APIBaseController
 {
     public function index() {
         if(!$this->authenticate(4)){return redirect('/');}
 
-        $data_kinerja = Kinerja::where('id_pegawai', Auth::user()->id)
+        $id = Auth::user()->id;
+
+        $data_kinerja = Kinerja::where('id_pegawai', $id)
                                 ->orderBy('tahun', 'ASC')
                                 ->orderBy('semester', 'ASC')
                                 ->get();
         $unit_kerja = UnitKerja::all();
         $posisi = Posisi::all();
         $kelompok_kompetensi = KelompokKompetensi::all();
+        $rekomendasi_training = RekomendasiTraining::where('id_pegawai', $id)->get();
+        $training_list = Training::all();
+        $rekomendasi_posisi = RekomendasiPosisi::where('id_pegawai', $id)->get();
+        $id_pengubah = Pegawai::where('id_user', $id)->first()->id_pengubah;
+        if ($id_pengubah === $id) {
+            $nama_pengubah = "Anda";
+        } else {
+            $nama_pengubah = User::where('id', $id_pengubah)->first()->name;
+        }
+        $last_edited = Pegawai::where('id_user', $id)->first()->updated_at;
 
-        return view("profile.index", compact('data_kinerja', 'unit_kerja', 'posisi', 'kelompok_kompetensi'));
+        return view("profile.index", compact('last_edited', 'nama_pengubah','data_kinerja', 'unit_kerja', 'posisi', 'kelompok_kompetensi', 'rekomendasi_training', 'training_list', 'rekomendasi_posisi'));
     }
 
     private function authenticate($role){
diff --git a/app/Http/Controllers/RiwayatController.php b/app/Http/Controllers/RiwayatController.php
new file mode 100644
index 0000000000000000000000000000000000000000..f3368534578f29522438d35e318ce00c3ab9eff9
--- /dev/null
+++ b/app/Http/Controllers/RiwayatController.php
@@ -0,0 +1,82 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+use App\Http\Controllers\APIBaseController as APIBaseController;
+use App\RiwayatPekerjaan;
+use App\RiwayatPendidikan;
+
+class RiwayatController extends APIBaseController
+{
+    public function update(Request $request, $id){
+
+        $input = $request->all();
+
+        $listPendidikan = array();
+
+        for ($i = 0; $i < count($input['pendidikan']); $i++) {
+
+            $pendidikan = RiwayatPendidikan::find($input['pendidikan'][$i]['id_riwayat_pendidikan']);
+
+            if(is_null($pendidikan)){
+                $postPendidikan = RiwayatPendidikan::create([
+                    'id_pegawai' => $id,
+                    'nama_institusi' => $input['pendidikan'][$i]['nama_institusi'],
+                    'strata' => $input['pendidikan'][$i]['strata'],
+                    'jurusan' => $input['pendidikan'][$i]['jurusan'],
+                    'tahun_masuk' => $input['pendidikan'][$i]['tahun_masuk'],
+                    'tahun_keluar' => $input['pendidikan'][$i]['tahun_keluar'],
+                ]);
+                array_push($listPendidikan, $postPendidikan->id_riwayat_pendidikan);
+            }else{
+                $pendidikan->id_pegawai = $input['pendidikan'][$i]['id_pegawai'];
+                $pendidikan->nama_institusi = $input['pendidikan'][$i]['nama_institusi'];
+                $pendidikan->strata = $input['pendidikan'][$i]['strata'];
+                $pendidikan->jurusan = $input['pendidikan'][$i]['jurusan'];
+                $pendidikan->tahun_masuk = $input['pendidikan'][$i]['tahun_masuk'];
+                $pendidikan->tahun_keluar = $input['pendidikan'][$i]['tahun_keluar'];
+
+                $pendidikan->save();
+                array_push($listPendidikan, $input['pendidikan'][$i]['id_riwayat_pendidikan']);
+            }
+
+        }
+
+        $data = RiwayatPendidikan::where('id_pegawai',$id)->whereNotIn('id_riwayat_pendidikan', $listPendidikan);
+        $data->delete();
+
+        $listPekerjaan = array();
+
+        for ($i = 0; $i < count($input['pekerjaan']); $i++) {
+
+            $pekerjaan = RiwayatPekerjaan::find($input['pekerjaan'][$i]['id_riwayat_pekerjaan']);
+
+            if(is_null($pekerjaan)){
+                $postPekerjaan = RiwayatPekerjaan::create([
+                    'id_pegawai' => $id,
+                    'nama_institusi' => $input['pekerjaan'][$i]['nama_institusi'],
+                    'posisi' => $input['pekerjaan'][$i]['posisi'],
+                    'tahun_masuk' => $input['pekerjaan'][$i]['tahun_masuk'],
+                    'tahun_keluar' => $input['pekerjaan'][$i]['tahun_keluar'],
+                ]);
+                array_push($listPekerjaan, $postPekerjaan->id_riwayat_pekerjaan);
+            }else{   
+                $pekerjaan->id_pegawai = $input['pekerjaan'][$i]['id_pegawai'];
+                $pekerjaan->nama_institusi = $input['pekerjaan'][$i]['nama_institusi'];
+                $pekerjaan->posisi = $input['pekerjaan'][$i]['posisi'];
+                $pekerjaan->tahun_masuk = $input['pekerjaan'][$i]['tahun_masuk'];
+                $pekerjaan->tahun_keluar = $input['pekerjaan'][$i]['tahun_keluar'];
+
+                $pekerjaan->save();
+                array_push($listPekerjaan, $input['pekerjaan'][$i]['id_riwayat_pekerjaan']);
+            }
+            
+        }
+
+        $data = RiwayatPekerjaan::where('id_pegawai',$id)->whereNotIn('id_riwayat_pekerjaan', $listPekerjaan);
+        $data->delete();
+
+        return $this->sendResponse($input, 'Riwayat Pendidikan & Pekerjaan updated successfully.');
+    }
+}
diff --git a/app/Http/Controllers/SertifikatController.php b/app/Http/Controllers/SertifikatController.php
index 336ffe581903dd28b90b7cdeee3358a69d5f1fb0..c6ad27779a95652b7b033e3352f8319288c9c8c5 100644
--- a/app/Http/Controllers/SertifikatController.php
+++ b/app/Http/Controllers/SertifikatController.php
@@ -23,33 +23,51 @@ class SertifikatController extends APIBaseController
     	$input = $request->all();
 
         $pegawai = Pegawai::find($id);
-        $sertifikat = Sertifikat::where('id_pegawai', $id);
-
-        if ($sertifikat->count() > 0) {
-            $sertifikat->delete();
-        }
+        $list = array();
 
         for ($i = 0; $i < count($input['sertifikat']); $i++) {
-        	$imageData = $input['sertifikat'][$i]['nama_file'];
+
+            $imageData = $input['sertifikat'][$i]['nama_file'];
 
             if(explode("/", $imageData)[0] === "data:image"){
-	            $fileName =  $pegawai->nip . '_' . $i . '.' . explode('/', explode(':', substr($imageData, 0, strpos($imageData, ';')))[1])[1];
-	            $image = Image::make($imageData);	
-	            $image->save(public_path('sertifikat/').$fileName);
-			}else{
-				$fileName = explode("/", $imageData)[1];
-			}
-
-            $postSertifikat = Sertifikat::create([
-                'id_pegawai' => $id,
-                'nama_file' => $fileName,
-                'judul' => $input['sertifikat'][$i]['judul'],
-                'lembaga' => $input['sertifikat'][$i]['lembaga'],
-                'tahun_diterbitkan' => $input['sertifikat'][$i]['tahun_diterbitkan'],
-                'catatan' => $input['sertifikat'][$i]['catatan'],
-            ]);
+                $fileName =  $pegawai->nip . '_' . $i . '.' . explode('/', explode(':', substr($imageData, 0, strpos($imageData, ';')))[1])[1];
+                $image = Image::make($imageData);   
+                $image->save(public_path('sertifikat/').$fileName);
+            }else{
+                $fileName = explode("/", $imageData)[1];
+            }
+
+            $sertifikat = null;
+            if(!is_null($input['sertifikat'][$i]['id_sertifikat'])){
+                $sertifikat = Sertifikat::find($input['sertifikat'][$i]['id_sertifikat']);
+            }
+
+            if(is_null($sertifikat)){
+                $postSertifikat = Sertifikat::create([
+                    'id_pegawai' => $id,
+                    'nama_file' => $fileName,
+                    'judul' => $input['sertifikat'][$i]['judul'],
+                    'lembaga' => $input['sertifikat'][$i]['lembaga'],
+                    'tahun_diterbitkan' => $input['sertifikat'][$i]['tahun_diterbitkan'],
+                    'catatan' => $input['sertifikat'][$i]['catatan'],
+                ]);
+                array_push($list, $postSertifikat->id_sertifikat);
+            }else{
+                $sertifikat->id_pegawai = $id;
+                $sertifikat->nama_file = $fileName;
+                $sertifikat->judul = $input['sertifikat'][$i]['judul'];
+                $sertifikat->lembaga = $input['sertifikat'][$i]['lembaga'];
+                $sertifikat->tahun_diterbitkan = $input['sertifikat'][$i]['tahun_diterbitkan'];
+                $sertifikat->catatan = $input['sertifikat'][$i]['catatan'];
+
+                $sertifikat->save();
+                array_push($list, $sertifikat->id_sertifikat);
+            }
         }
 
-        return $this->sendResponse($input, 'Sertifikat created successfully.');
+        $data = Sertifikat::where('id_pegawai',$id)->whereNotIn('id_sertifikat', $list);
+        $data->delete();
+
+        return $this->sendResponse($input, 'Sertifikat updated successfully.');
     }
 }
diff --git a/composer.json b/composer.json
index 8a53d5b52e0d5aaa7b85075ac0167d25fb0ed067..e24f3a4d3e76a4ca4ae73f80ed03968089bf636b 100644
--- a/composer.json
+++ b/composer.json
@@ -10,7 +10,8 @@
         "intervention/image": "^2.4",
         "laravel/framework": "5.6.*",
         "laravel/tinker": "^1.0",
-        "maatwebsite/excel": "~2.1.0"
+        "maatwebsite/excel": "~2.1.0",
+        "dompdf/dompdf": "~0.6.1"
     },
     "require-dev": {
         "filp/whoops": "^2.0",
diff --git a/composer.lock b/composer.lock
index f9631e646fbb5662a1fc31086cbe74440dc17090..4e48d92e22286d2548db3282db4828078c89aaba 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1,11 +1,10 @@
 {
     "_readme": [
         "This file locks the dependencies of your project to a known state",
-        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
+        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "hash": "48d464cf6debbc8a64374fd15834d76a",
-    "content-hash": "7e147ce3296bcd7360db8a560035f329",
+    "content-hash": "2954465a5843f8ea9d0a1fdded09af12",
     "packages": [
         {
             "name": "dnoegel/php-xdg-base-dir",
@@ -38,7 +37,7 @@
                 "MIT"
             ],
             "description": "implementation of xdg base directory specification for php",
-            "time": "2014-10-24 07:27:01"
+            "time": "2014-10-24T07:27:01+00:00"
         },
         {
             "name": "doctrine/inflector",
@@ -105,7 +104,7 @@
                 "singularize",
                 "string"
             ],
-            "time": "2018-01-09 20:05:19"
+            "time": "2018-01-09T20:05:19+00:00"
         },
         {
             "name": "doctrine/lexer",
@@ -159,7 +158,48 @@
                 "lexer",
                 "parser"
             ],
-            "time": "2014-09-09 13:34:57"
+            "time": "2014-09-09T13:34:57+00:00"
+        },
+        {
+            "name": "dompdf/dompdf",
+            "version": "v0.6.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/dompdf/dompdf.git",
+                "reference": "cc06008f75262510ee135b8cbb14e333a309f651"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/dompdf/dompdf/zipball/cc06008f75262510ee135b8cbb14e333a309f651",
+                "reference": "cc06008f75262510ee135b8cbb14e333a309f651",
+                "shasum": ""
+            },
+            "require": {
+                "phenx/php-font-lib": "0.2.*"
+            },
+            "type": "library",
+            "autoload": {
+                "classmap": [
+                    "include/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "LGPL"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Ménager",
+                    "email": "fabien.menager@gmail.com"
+                },
+                {
+                    "name": "Brian Sweeney",
+                    "email": "eclecticgeek@gmail.com"
+                }
+            ],
+            "description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter",
+            "homepage": "https://github.com/dompdf/dompdf",
+            "time": "2015-12-07T04:07:13+00:00"
         },
         {
             "name": "dragonmantank/cron-expression",
@@ -208,7 +248,7 @@
                 "cron",
                 "schedule"
             ],
-            "time": "2018-04-06 15:51:55"
+            "time": "2018-04-06T15:51:55+00:00"
         },
         {
             "name": "egulias/email-validator",
@@ -265,7 +305,7 @@
                 "validation",
                 "validator"
             ],
-            "time": "2018-04-10 10:11:19"
+            "time": "2018-04-10T10:11:19+00:00"
         },
         {
             "name": "erusev/parsedown",
@@ -311,7 +351,7 @@
                 "markdown",
                 "parser"
             ],
-            "time": "2018-03-08 01:11:30"
+            "time": "2018-03-08T01:11:30+00:00"
         },
         {
             "name": "fideloper/proxy",
@@ -365,7 +405,7 @@
                 "proxy",
                 "trusted proxy"
             ],
-            "time": "2018-02-07 20:20:57"
+            "time": "2018-02-07T20:20:57+00:00"
         },
         {
             "name": "guzzlehttp/psr7",
@@ -430,7 +470,7 @@
                 "uri",
                 "url"
             ],
-            "time": "2017-03-20 17:10:46"
+            "time": "2017-03-20T17:10:46+00:00"
         },
         {
             "name": "intervention/image",
@@ -500,7 +540,7 @@
                 "thumbnail",
                 "watermark"
             ],
-            "time": "2017-09-21 16:29:17"
+            "time": "2017-09-21T16:29:17+00:00"
         },
         {
             "name": "jakub-onderka/php-console-color",
@@ -543,7 +583,7 @@
                     "homepage": "http://www.acci.cz"
                 }
             ],
-            "time": "2014-04-08 15:00:19"
+            "time": "2014-04-08T15:00:19+00:00"
         },
         {
             "name": "jakub-onderka/php-console-highlighter",
@@ -587,7 +627,7 @@
                     "homepage": "http://www.acci.cz/"
                 }
             ],
-            "time": "2015-04-20 18:58:01"
+            "time": "2015-04-20T18:58:01+00:00"
         },
         {
             "name": "jeremeamia/SuperClosure",
@@ -645,7 +685,7 @@
                 "serialize",
                 "tokenizer"
             ],
-            "time": "2018-03-21 22:21:57"
+            "time": "2018-03-21T22:21:57+00:00"
         },
         {
             "name": "laravel/framework",
@@ -784,7 +824,7 @@
                 "framework",
                 "laravel"
             ],
-            "time": "2018-04-17 12:51:04"
+            "time": "2018-04-17T12:51:04+00:00"
         },
         {
             "name": "laravel/tinker",
@@ -847,7 +887,7 @@
                 "laravel",
                 "psysh"
             ],
-            "time": "2018-04-16 12:10:37"
+            "time": "2018-04-16T12:10:37+00:00"
         },
         {
             "name": "league/flysystem",
@@ -931,7 +971,7 @@
                 "sftp",
                 "storage"
             ],
-            "time": "2018-04-06 09:58:14"
+            "time": "2018-04-06T09:58:14+00:00"
         },
         {
             "name": "maatwebsite/excel",
@@ -1009,7 +1049,7 @@
                 "import",
                 "laravel"
             ],
-            "time": "2018-03-09 13:14:19"
+            "time": "2018-03-09T13:14:19+00:00"
         },
         {
             "name": "monolog/monolog",
@@ -1087,7 +1127,7 @@
                 "logging",
                 "psr-3"
             ],
-            "time": "2017-06-19 01:22:40"
+            "time": "2017-06-19T01:22:40+00:00"
         },
         {
             "name": "nesbot/carbon",
@@ -1140,7 +1180,7 @@
                 "datetime",
                 "time"
             ],
-            "time": "2018-03-19 15:50:49"
+            "time": "2018-03-19T15:50:49+00:00"
         },
         {
             "name": "nikic/php-parser",
@@ -1191,7 +1231,7 @@
                 "parser",
                 "php"
             ],
-            "time": "2018-03-25 17:35:16"
+            "time": "2018-03-25T17:35:16+00:00"
         },
         {
             "name": "paragonie/random_compat",
@@ -1239,7 +1279,41 @@
                 "pseudorandom",
                 "random"
             ],
-            "time": "2018-04-04 21:24:14"
+            "time": "2018-04-04T21:24:14+00:00"
+        },
+        {
+            "name": "phenx/php-font-lib",
+            "version": "0.2.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/PhenX/php-font-lib.git",
+                "reference": "c30c7fc00a6b0d863e9bb4c5d5dd015298b2dc82"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/PhenX/php-font-lib/zipball/c30c7fc00a6b0d863e9bb4c5d5dd015298b2dc82",
+                "reference": "c30c7fc00a6b0d863e9bb4c5d5dd015298b2dc82",
+                "shasum": ""
+            },
+            "type": "library",
+            "autoload": {
+                "classmap": [
+                    "classes/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "LGPL"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Ménager",
+                    "email": "fabien.menager@gmail.com"
+                }
+            ],
+            "description": "A library to read, parse, export and make subsets of different types of font files.",
+            "homepage": "https://github.com/PhenX/php-font-lib",
+            "time": "2014-02-01T15:22:28+00:00"
         },
         {
             "name": "phpoffice/phpexcel",
@@ -1297,7 +1371,7 @@
                 "xlsx"
             ],
             "abandoned": "phpoffice/phpspreadsheet",
-            "time": "2015-05-01 07:00:55"
+            "time": "2015-05-01T07:00:55+00:00"
         },
         {
             "name": "psr/container",
@@ -1346,7 +1420,7 @@
                 "container-interop",
                 "psr"
             ],
-            "time": "2017-02-14 16:28:37"
+            "time": "2017-02-14T16:28:37+00:00"
         },
         {
             "name": "psr/http-message",
@@ -1396,7 +1470,7 @@
                 "request",
                 "response"
             ],
-            "time": "2016-08-06 14:39:51"
+            "time": "2016-08-06T14:39:51+00:00"
         },
         {
             "name": "psr/log",
@@ -1443,7 +1517,7 @@
                 "psr",
                 "psr-3"
             ],
-            "time": "2016-10-10 12:19:37"
+            "time": "2016-10-10T12:19:37+00:00"
         },
         {
             "name": "psr/simple-cache",
@@ -1491,7 +1565,7 @@
                 "psr-16",
                 "simple-cache"
             ],
-            "time": "2017-10-23 01:57:42"
+            "time": "2017-10-23T01:57:42+00:00"
         },
         {
             "name": "psy/psysh",
@@ -1563,7 +1637,7 @@
                 "interactive",
                 "shell"
             ],
-            "time": "2018-04-18 12:32:50"
+            "time": "2018-04-18T12:32:50+00:00"
         },
         {
             "name": "ramsey/uuid",
@@ -1643,7 +1717,7 @@
                 "identifier",
                 "uuid"
             ],
-            "time": "2018-01-20 00:28:24"
+            "time": "2018-01-20T00:28:24+00:00"
         },
         {
             "name": "swiftmailer/swiftmailer",
@@ -1698,7 +1772,7 @@
                 "mail",
                 "mailer"
             ],
-            "time": "2017-09-30 22:39:41"
+            "time": "2017-09-30T22:39:41+00:00"
         },
         {
             "name": "symfony/console",
@@ -1766,7 +1840,7 @@
             ],
             "description": "Symfony Console Component",
             "homepage": "https://symfony.com",
-            "time": "2018-04-03 05:24:00"
+            "time": "2018-04-03T05:24:00+00:00"
         },
         {
             "name": "symfony/css-selector",
@@ -1819,7 +1893,7 @@
             ],
             "description": "Symfony CssSelector Component",
             "homepage": "https://symfony.com",
-            "time": "2018-03-19 22:35:49"
+            "time": "2018-03-19T22:35:49+00:00"
         },
         {
             "name": "symfony/debug",
@@ -1875,7 +1949,7 @@
             ],
             "description": "Symfony Debug Component",
             "homepage": "https://symfony.com",
-            "time": "2018-04-03 05:24:00"
+            "time": "2018-04-03T05:24:00+00:00"
         },
         {
             "name": "symfony/event-dispatcher",
@@ -1938,7 +2012,7 @@
             ],
             "description": "Symfony EventDispatcher Component",
             "homepage": "https://symfony.com",
-            "time": "2018-04-06 07:35:43"
+            "time": "2018-04-06T07:35:43+00:00"
         },
         {
             "name": "symfony/finder",
@@ -1987,7 +2061,7 @@
             ],
             "description": "Symfony Finder Component",
             "homepage": "https://symfony.com",
-            "time": "2018-04-04 05:10:37"
+            "time": "2018-04-04T05:10:37+00:00"
         },
         {
             "name": "symfony/http-foundation",
@@ -2040,7 +2114,7 @@
             ],
             "description": "Symfony HttpFoundation Component",
             "homepage": "https://symfony.com",
-            "time": "2018-04-03 05:24:00"
+            "time": "2018-04-03T05:24:00+00:00"
         },
         {
             "name": "symfony/http-kernel",
@@ -2126,7 +2200,7 @@
             ],
             "description": "Symfony HttpKernel Component",
             "homepage": "https://symfony.com",
-            "time": "2018-04-06 16:25:03"
+            "time": "2018-04-06T16:25:03+00:00"
         },
         {
             "name": "symfony/polyfill-mbstring",
@@ -2185,7 +2259,7 @@
                 "portable",
                 "shim"
             ],
-            "time": "2018-01-30 19:27:44"
+            "time": "2018-01-30T19:27:44+00:00"
         },
         {
             "name": "symfony/polyfill-php56",
@@ -2241,7 +2315,7 @@
                 "portable",
                 "shim"
             ],
-            "time": "2018-01-30 19:27:44"
+            "time": "2018-01-30T19:27:44+00:00"
         },
         {
             "name": "symfony/polyfill-php72",
@@ -2296,7 +2370,7 @@
                 "portable",
                 "shim"
             ],
-            "time": "2018-01-31 17:43:24"
+            "time": "2018-01-31T17:43:24+00:00"
         },
         {
             "name": "symfony/polyfill-util",
@@ -2348,7 +2422,7 @@
                 "polyfill",
                 "shim"
             ],
-            "time": "2018-01-31 18:08:44"
+            "time": "2018-01-31T18:08:44+00:00"
         },
         {
             "name": "symfony/process",
@@ -2397,7 +2471,7 @@
             ],
             "description": "Symfony Process Component",
             "homepage": "https://symfony.com",
-            "time": "2018-04-03 05:24:00"
+            "time": "2018-04-03T05:24:00+00:00"
         },
         {
             "name": "symfony/routing",
@@ -2475,7 +2549,7 @@
                 "uri",
                 "url"
             ],
-            "time": "2018-04-04 13:50:32"
+            "time": "2018-04-04T13:50:32+00:00"
         },
         {
             "name": "symfony/translation",
@@ -2543,7 +2617,7 @@
             ],
             "description": "Symfony Translation Component",
             "homepage": "https://symfony.com",
-            "time": "2018-02-22 10:50:29"
+            "time": "2018-02-22T10:50:29+00:00"
         },
         {
             "name": "symfony/var-dumper",
@@ -2612,7 +2686,7 @@
                 "debug",
                 "dump"
             ],
-            "time": "2018-04-04 05:10:37"
+            "time": "2018-04-04T05:10:37+00:00"
         },
         {
             "name": "tijsverkoyen/css-to-inline-styles",
@@ -2659,7 +2733,7 @@
             ],
             "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.",
             "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
-            "time": "2017-11-27 11:13:29"
+            "time": "2017-11-27T11:13:29+00:00"
         },
         {
             "name": "vlucas/phpdotenv",
@@ -2709,7 +2783,7 @@
                 "env",
                 "environment"
             ],
-            "time": "2016-09-01 10:05:43"
+            "time": "2016-09-01T10:05:43+00:00"
         }
     ],
     "packages-dev": [
@@ -2779,7 +2853,7 @@
                 "docblock",
                 "parser"
             ],
-            "time": "2017-12-06 07:11:42"
+            "time": "2017-12-06T07:11:42+00:00"
         },
         {
             "name": "doctrine/cache",
@@ -2853,7 +2927,7 @@
                 "cache",
                 "caching"
             ],
-            "time": "2017-08-25 07:02:50"
+            "time": "2017-08-25T07:02:50+00:00"
         },
         {
             "name": "doctrine/collections",
@@ -2920,7 +2994,7 @@
                 "collections",
                 "iterator"
             ],
-            "time": "2017-07-22 10:37:32"
+            "time": "2017-07-22T10:37:32+00:00"
         },
         {
             "name": "doctrine/common",
@@ -2993,7 +3067,7 @@
                 "persistence",
                 "spl"
             ],
-            "time": "2017-08-31 08:43:38"
+            "time": "2017-08-31T08:43:38+00:00"
         },
         {
             "name": "doctrine/dbal",
@@ -3068,7 +3142,7 @@
                 "persistence",
                 "queryobject"
             ],
-            "time": "2018-04-07 18:44:18"
+            "time": "2018-04-07T18:44:18+00:00"
         },
         {
             "name": "doctrine/instantiator",
@@ -3122,7 +3196,7 @@
                 "constructor",
                 "instantiate"
             ],
-            "time": "2017-07-22 11:58:36"
+            "time": "2017-07-22T11:58:36+00:00"
         },
         {
             "name": "filp/whoops",
@@ -3183,7 +3257,7 @@
                 "throwable",
                 "whoops"
             ],
-            "time": "2017-11-23 18:22:44"
+            "time": "2017-11-23T18:22:44+00:00"
         },
         {
             "name": "fzaninotto/faker",
@@ -3233,7 +3307,7 @@
                 "faker",
                 "fixtures"
             ],
-            "time": "2017-08-15 16:48:10"
+            "time": "2017-08-15T16:48:10+00:00"
         },
         {
             "name": "hamcrest/hamcrest-php",
@@ -3281,7 +3355,7 @@
             "keywords": [
                 "test"
             ],
-            "time": "2016-01-20 08:20:44"
+            "time": "2016-01-20T08:20:44+00:00"
         },
         {
             "name": "krlove/code-generator",
@@ -3308,7 +3382,7 @@
                 "MIT"
             ],
             "description": "Code Generator",
-            "time": "2016-04-03 14:09:31"
+            "time": "2016-04-03T14:09:31+00:00"
         },
         {
             "name": "krlove/eloquent-model-generator",
@@ -3340,7 +3414,7 @@
                 "MIT"
             ],
             "description": "Eloquent Model Generator",
-            "time": "2017-10-08 17:12:40"
+            "time": "2017-10-08T17:12:40+00:00"
         },
         {
             "name": "mockery/mockery",
@@ -3405,7 +3479,7 @@
                 "test double",
                 "testing"
             ],
-            "time": "2017-10-06 16:20:43"
+            "time": "2017-10-06T16:20:43+00:00"
         },
         {
             "name": "myclabs/deep-copy",
@@ -3450,7 +3524,7 @@
                 "object",
                 "object graph"
             ],
-            "time": "2017-10-19 19:58:43"
+            "time": "2017-10-19T19:58:43+00:00"
         },
         {
             "name": "nunomaduro/collision",
@@ -3512,7 +3586,7 @@
                 "php",
                 "symfony"
             ],
-            "time": "2018-03-21 20:11:24"
+            "time": "2018-03-21T20:11:24+00:00"
         },
         {
             "name": "phar-io/manifest",
@@ -3567,7 +3641,7 @@
                 }
             ],
             "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
-            "time": "2017-03-05 18:14:27"
+            "time": "2017-03-05T18:14:27+00:00"
         },
         {
             "name": "phar-io/version",
@@ -3614,7 +3688,7 @@
                 }
             ],
             "description": "Library for handling version information and constraints",
-            "time": "2017-03-05 17:38:23"
+            "time": "2017-03-05T17:38:23+00:00"
         },
         {
             "name": "phpdocumentor/reflection-common",
@@ -3668,7 +3742,7 @@
                 "reflection",
                 "static analysis"
             ],
-            "time": "2017-09-11 18:02:19"
+            "time": "2017-09-11T18:02:19+00:00"
         },
         {
             "name": "phpdocumentor/reflection-docblock",
@@ -3719,7 +3793,7 @@
                 }
             ],
             "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
-            "time": "2017-11-30 07:14:17"
+            "time": "2017-11-30T07:14:17+00:00"
         },
         {
             "name": "phpdocumentor/type-resolver",
@@ -3766,7 +3840,7 @@
                     "email": "me@mikevanriel.com"
                 }
             ],
-            "time": "2017-07-14 14:27:02"
+            "time": "2017-07-14T14:27:02+00:00"
         },
         {
             "name": "phpspec/prophecy",
@@ -3829,7 +3903,7 @@
                 "spy",
                 "stub"
             ],
-            "time": "2018-04-18 13:57:24"
+            "time": "2018-04-18T13:57:24+00:00"
         },
         {
             "name": "phpunit/php-code-coverage",
@@ -3892,7 +3966,7 @@
                 "testing",
                 "xunit"
             ],
-            "time": "2018-04-06 15:39:20"
+            "time": "2018-04-06T15:39:20+00:00"
         },
         {
             "name": "phpunit/php-file-iterator",
@@ -3939,7 +4013,7 @@
                 "filesystem",
                 "iterator"
             ],
-            "time": "2017-11-27 13:52:08"
+            "time": "2017-11-27T13:52:08+00:00"
         },
         {
             "name": "phpunit/php-text-template",
@@ -3980,7 +4054,7 @@
             "keywords": [
                 "template"
             ],
-            "time": "2015-06-21 13:50:34"
+            "time": "2015-06-21T13:50:34+00:00"
         },
         {
             "name": "phpunit/php-timer",
@@ -4029,7 +4103,7 @@
             "keywords": [
                 "timer"
             ],
-            "time": "2018-02-01 13:07:23"
+            "time": "2018-02-01T13:07:23+00:00"
         },
         {
             "name": "phpunit/php-token-stream",
@@ -4078,7 +4152,7 @@
             "keywords": [
                 "tokenizer"
             ],
-            "time": "2018-02-01 13:16:43"
+            "time": "2018-02-01T13:16:43+00:00"
         },
         {
             "name": "phpunit/phpunit",
@@ -4158,7 +4232,7 @@
                 "testing",
                 "xunit"
             ],
-            "time": "2018-04-18 13:41:53"
+            "time": "2018-04-18T13:41:53+00:00"
         },
         {
             "name": "phpunit/phpunit-mock-objects",
@@ -4214,7 +4288,7 @@
                 "mock",
                 "xunit"
             ],
-            "time": "2018-04-11 04:50:36"
+            "time": "2018-04-11T04:50:36+00:00"
         },
         {
             "name": "sebastian/code-unit-reverse-lookup",
@@ -4259,7 +4333,7 @@
             ],
             "description": "Looks up which function or method a line of code belongs to",
             "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
-            "time": "2017-03-04 06:30:41"
+            "time": "2017-03-04T06:30:41+00:00"
         },
         {
             "name": "sebastian/comparator",
@@ -4323,7 +4397,7 @@
                 "compare",
                 "equality"
             ],
-            "time": "2018-04-18 13:33:00"
+            "time": "2018-04-18T13:33:00+00:00"
         },
         {
             "name": "sebastian/diff",
@@ -4379,7 +4453,7 @@
                 "unidiff",
                 "unified diff"
             ],
-            "time": "2018-02-01 13:45:15"
+            "time": "2018-02-01T13:45:15+00:00"
         },
         {
             "name": "sebastian/environment",
@@ -4429,7 +4503,7 @@
                 "environment",
                 "hhvm"
             ],
-            "time": "2017-07-01 08:51:00"
+            "time": "2017-07-01T08:51:00+00:00"
         },
         {
             "name": "sebastian/exporter",
@@ -4496,7 +4570,7 @@
                 "export",
                 "exporter"
             ],
-            "time": "2017-04-03 13:19:02"
+            "time": "2017-04-03T13:19:02+00:00"
         },
         {
             "name": "sebastian/global-state",
@@ -4547,7 +4621,7 @@
             "keywords": [
                 "global state"
             ],
-            "time": "2017-04-27 15:39:26"
+            "time": "2017-04-27T15:39:26+00:00"
         },
         {
             "name": "sebastian/object-enumerator",
@@ -4594,7 +4668,7 @@
             ],
             "description": "Traverses array structures and object graphs to enumerate all referenced objects",
             "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
-            "time": "2017-08-03 12:35:26"
+            "time": "2017-08-03T12:35:26+00:00"
         },
         {
             "name": "sebastian/object-reflector",
@@ -4639,7 +4713,7 @@
             ],
             "description": "Allows reflection of object attributes, including inherited and non-public ones",
             "homepage": "https://github.com/sebastianbergmann/object-reflector/",
-            "time": "2017-03-29 09:07:27"
+            "time": "2017-03-29T09:07:27+00:00"
         },
         {
             "name": "sebastian/recursion-context",
@@ -4692,7 +4766,7 @@
             ],
             "description": "Provides functionality to recursively process PHP variables",
             "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
-            "time": "2017-03-03 06:23:57"
+            "time": "2017-03-03T06:23:57+00:00"
         },
         {
             "name": "sebastian/resource-operations",
@@ -4734,7 +4808,7 @@
             ],
             "description": "Provides a list of PHP built-in functions that operate on resources",
             "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
-            "time": "2015-07-28 20:34:47"
+            "time": "2015-07-28T20:34:47+00:00"
         },
         {
             "name": "sebastian/version",
@@ -4777,7 +4851,7 @@
             ],
             "description": "Library that helps with managing the version number of Git-hosted PHP projects",
             "homepage": "https://github.com/sebastianbergmann/version",
-            "time": "2016-10-03 07:35:21"
+            "time": "2016-10-03T07:35:21+00:00"
         },
         {
             "name": "theseer/tokenizer",
@@ -4817,7 +4891,7 @@
                 }
             ],
             "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
-            "time": "2017-04-07 12:08:54"
+            "time": "2017-04-07T12:08:54+00:00"
         },
         {
             "name": "webmozart/assert",
@@ -4867,7 +4941,7 @@
                 "check",
                 "validate"
             ],
-            "time": "2018-01-29 19:49:41"
+            "time": "2018-01-29T19:49:41+00:00"
         }
     ],
     "aliases": [],
diff --git a/config/excel.php b/config/excel.php
new file mode 100644
index 0000000000000000000000000000000000000000..5770d327db167b379df55b362fb007c5cc7ff45f
--- /dev/null
+++ b/config/excel.php
@@ -0,0 +1,704 @@
+<?php
+
+return array(
+
+    'cache'      => [
+
+        /*
+        |--------------------------------------------------------------------------
+        | Enable/Disable cell caching
+        |--------------------------------------------------------------------------
+        */
+        'enable'   => true,
+
+        /*
+        |--------------------------------------------------------------------------
+        | Caching driver
+        |--------------------------------------------------------------------------
+        |
+        | Set the caching driver
+        |
+        | Available methods:
+        | memory|gzip|serialized|igbinary|discISAM|apc|memcache|temp|wincache|sqlite|sqlite3
+        |
+        */
+        'driver'   => 'memory',
+
+        /*
+        |--------------------------------------------------------------------------
+        | Cache settings
+        |--------------------------------------------------------------------------
+        */
+        'settings' => [
+
+            'memoryCacheSize' => '32MB',
+            'cacheTime'       => 600
+
+        ],
+
+        /*
+        |--------------------------------------------------------------------------
+        | Memcache settings
+        |--------------------------------------------------------------------------
+        */
+        'memcache' => [
+
+            'host' => 'localhost',
+            'port' => 11211,
+
+        ],
+
+        /*
+        |--------------------------------------------------------------------------
+        | Cache dir (for discISAM)
+        |--------------------------------------------------------------------------
+        */
+
+        'dir'      => storage_path('cache')
+    ],
+
+    'properties' => [
+        'creator'        => 'UPT PMO ITB',
+        'lastModifiedBy' => 'UPT PMO ITB',
+        'title'          => 'Data asesmen',
+        'description'    => 'Data asesmen UPT PMO ITB',
+        'subject'        => 'Data asesmen',
+        'keywords'       => 'PMO, ITB, asesmen',
+        'category'       => 'Excel',
+        'manager'        => 'UPT PMO ITB',
+        'company'        => 'UPT PMO ITB',
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Sheets settings
+    |--------------------------------------------------------------------------
+    */
+    'sheets'     => [
+
+        /*
+        |--------------------------------------------------------------------------
+        | Default page setup
+        |--------------------------------------------------------------------------
+        */
+        'pageSetup' => [
+            'orientation'           => 'portrait',
+            'paperSize'             => '9',
+            'scale'                 => '100',
+            'fitToPage'             => false,
+            'fitToHeight'           => true,
+            'fitToWidth'            => true,
+            'columnsToRepeatAtLeft' => ['', ''],
+            'rowsToRepeatAtTop'     => [0, 0],
+            'horizontalCentered'    => false,
+            'verticalCentered'      => false,
+            'printArea'             => null,
+            'firstPageNumber'       => null,
+        ],
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Creator
+    |--------------------------------------------------------------------------
+    |
+    | The default creator of a new Excel file
+    |
+    */
+
+    'creator'    => 'UPT PMO ITB',
+
+    'csv'        => [
+        /*
+       |--------------------------------------------------------------------------
+       | Delimiter
+       |--------------------------------------------------------------------------
+       |
+       | The default delimiter which will be used to read out a CSV file
+       |
+       */
+
+        'delimiter'   => ',',
+
+        /*
+        |--------------------------------------------------------------------------
+        | Enclosure
+        |--------------------------------------------------------------------------
+        */
+
+        'enclosure'   => '"',
+
+        /*
+        |--------------------------------------------------------------------------
+        | Line endings
+        |--------------------------------------------------------------------------
+        */
+
+        'line_ending' => "\r\n",
+
+        /*
+        |--------------------------------------------------------------------------
+        | setUseBom
+        |--------------------------------------------------------------------------
+        */
+
+        'use_bom' => false
+    ],
+
+    'export'     => [
+
+        /*
+        |--------------------------------------------------------------------------
+        | Autosize columns
+        |--------------------------------------------------------------------------
+        |
+        | Disable/enable column autosize or set the autosizing for
+        | an array of columns ( array('A', 'B') )
+        |
+        */
+        'autosize'                    => true,
+
+        /*
+        |--------------------------------------------------------------------------
+        | Autosize method
+        |--------------------------------------------------------------------------
+        |
+        | --> PHPExcel_Shared_Font::AUTOSIZE_METHOD_APPROX
+        | The default is based on an estimate, which does its calculation based
+        | on the number of characters in the cell value (applying any calculation
+        | and format mask, and allowing for wordwrap and rotation) and with an
+        | "arbitrary" adjustment based on the font (Arial, Calibri or Verdana,
+        | defaulting to Calibri if any other font is used) and a proportional
+        | adjustment for the font size.
+        |
+        | --> PHPExcel_Shared_Font::AUTOSIZE_METHOD_EXACT
+        | The second method is more accurate, based on actual style formatting as
+        | well (bold, italic, etc), and is calculated by generating a gd2 imagettf
+        | bounding box and using its dimensions to determine the size; but this
+        | method is significantly slower, and its accuracy is still dependent on
+        | having the appropriate fonts installed.
+        |
+        */
+        'autosize-method'             => PHPExcel_Shared_Font::AUTOSIZE_METHOD_APPROX,
+
+        /*
+        |--------------------------------------------------------------------------
+        | Auto generate table heading
+        |--------------------------------------------------------------------------
+        |
+        | If set to true, the array indices (or model attribute names)
+        | will automatically be used as first row (table heading)
+        |
+        */
+        'generate_heading_by_indices' => true,
+
+        /*
+        |--------------------------------------------------------------------------
+        | Auto set alignment on merged cells
+        |--------------------------------------------------------------------------
+        */
+        'merged_cell_alignment'       => 'left',
+
+        /*
+        |--------------------------------------------------------------------------
+        | Pre-calculate formulas during export
+        |--------------------------------------------------------------------------
+        */
+        'calculate'                   => false,
+
+        /*
+        |--------------------------------------------------------------------------
+        | Include Charts during export
+        |--------------------------------------------------------------------------
+        */
+        'includeCharts'               => false,
+
+        /*
+        |--------------------------------------------------------------------------
+        | Default sheet settings
+        |--------------------------------------------------------------------------
+        */
+        'sheets'                      => [
+
+            /*
+            |--------------------------------------------------------------------------
+            | Default page margin
+            |--------------------------------------------------------------------------
+            |
+            | 1) When set to false, default margins will be used
+            | 2) It's possible to enter a single margin which will
+            |    be used for all margins.
+            | 3) Alternatively you can pass an array with 4 margins
+            |    Default order: array(top, right, bottom, left)
+            |
+            */
+            'page_margin'          => false,
+
+            /*
+            |--------------------------------------------------------------------------
+            | Value in source array that stands for blank cell
+            |--------------------------------------------------------------------------
+            */
+            'nullValue'            => null,
+
+            /*
+            |--------------------------------------------------------------------------
+            | Insert array starting from this cell address as the top left coordinate
+            |--------------------------------------------------------------------------
+            */
+            'startCell'            => 'A1',
+
+            /*
+            |--------------------------------------------------------------------------
+            | Apply strict comparison when testing for null values in the array
+            |--------------------------------------------------------------------------
+            */
+            'strictNullComparison' => false
+        ],
+
+        /*
+        |--------------------------------------------------------------------------
+        | Store settings
+        |--------------------------------------------------------------------------
+        */
+
+        'store'                       => [
+
+            /*
+            |--------------------------------------------------------------------------
+            | Path
+            |--------------------------------------------------------------------------
+            |
+            | The path we want to save excel file to
+            |
+            */
+            'path'       => storage_path('exports'),
+
+            /*
+            |--------------------------------------------------------------------------
+            | Return info
+            |--------------------------------------------------------------------------
+            |
+            | Whether we want to return information about the stored file or not
+            |
+            */
+            'returnInfo' => false
+
+        ],
+
+        /*
+        |--------------------------------------------------------------------------
+        | PDF Settings
+        |--------------------------------------------------------------------------
+        */
+        'pdf'                         => [
+
+            /*
+            |--------------------------------------------------------------------------
+            | PDF Drivers
+            |--------------------------------------------------------------------------
+            | Supported: DomPDF, tcPDF, mPDF
+            */
+            'driver'  => 'DomPDF',
+
+            /*
+            |--------------------------------------------------------------------------
+            | PDF Driver settings
+            |--------------------------------------------------------------------------
+            */
+            'drivers' => [
+
+                /*
+                |--------------------------------------------------------------------------
+                | DomPDF settings
+                |--------------------------------------------------------------------------
+                */
+                'DomPDF' => [
+                    'path' => base_path('vendor/dompdf/dompdf/')
+                ],
+
+                /*
+                |--------------------------------------------------------------------------
+                | tcPDF settings
+                |--------------------------------------------------------------------------
+                */
+                'tcPDF'  => [
+                    'path' => base_path('vendor/tecnick.com/tcpdf/')
+                ],
+
+                /*
+                |--------------------------------------------------------------------------
+                | mPDF settings
+                |--------------------------------------------------------------------------
+                */
+                'mPDF'   => [
+                    'path' => base_path('vendor/mpdf/mpdf/')
+                ],
+            ]
+        ]
+    ],
+
+    'filters'    => [
+        /*
+        |--------------------------------------------------------------------------
+        | Register read filters
+        |--------------------------------------------------------------------------
+        */
+
+        'registered' => [
+            'chunk' => 'Maatwebsite\Excel\Filters\ChunkReadFilter'
+        ],
+
+        /*
+        |--------------------------------------------------------------------------
+        | Enable certain filters for every file read
+        |--------------------------------------------------------------------------
+        */
+
+        'enabled'    => []
+    ],
+
+    'import'     => [
+
+        /*
+        |--------------------------------------------------------------------------
+        | Has heading
+        |--------------------------------------------------------------------------
+        |
+        | The sheet has a heading (first) row which we can use as attribute names
+        |
+        | Options: true|false|slugged|slugged_with_count|ascii|numeric|hashed|hashed_with_lower|trans|original
+        |
+        */
+
+        'heading'                 => 'slugged',
+
+        /*
+        |--------------------------------------------------------------------------
+        | First Row with data or heading of data
+        |--------------------------------------------------------------------------
+        |
+        | If the heading row is not the first row, or the data doesn't start
+        | on the first row, here you can change the start row.
+        |
+        */
+
+        'startRow'                => 1,
+
+        /*
+        |--------------------------------------------------------------------------
+        | Cell name word separator
+        |--------------------------------------------------------------------------
+        |
+        | The default separator which is used for the cell names
+        | Note: only applies to 'heading' settings 'true' && 'slugged'
+        |
+        */
+
+        'separator'               => '_',
+
+        /*
+        |--------------------------------------------------------------------------
+        | Slug whitelisting
+        |--------------------------------------------------------------------------
+        |
+        | Here you can whitelist certain characters in the slug.
+        | E.g. user.last_name will not remove . and _
+        | Note: only applies to 'heading' settings 'true' && 'slugged'
+        |
+        */
+
+        'slug_whitelist'       => '._',
+
+        /*
+        |--------------------------------------------------------------------------
+        | Include Charts during import
+        |--------------------------------------------------------------------------
+        */
+
+        'includeCharts'           => false,
+
+        /*
+        |--------------------------------------------------------------------------
+        | Sheet heading conversion
+        |--------------------------------------------------------------------------
+        |
+        | Convert headings to ASCII
+        | Note: only applies to 'heading' settings 'true' && 'slugged'
+        |
+        */
+
+        'to_ascii'                => true,
+
+        /*
+        |--------------------------------------------------------------------------
+        | Import encoding
+        |--------------------------------------------------------------------------
+        */
+
+        'encoding'                => [
+
+            'input'  => 'UTF-8',
+            'output' => 'UTF-8'
+
+        ],
+
+        /*
+        |--------------------------------------------------------------------------
+        | Calculate
+        |--------------------------------------------------------------------------
+        |
+        | By default cells with formulas will be calculated.
+        |
+        */
+
+        'calculate'               => true,
+
+        /*
+        |--------------------------------------------------------------------------
+        | Ignore empty cells
+        |--------------------------------------------------------------------------
+        |
+        | By default empty cells are not ignored
+        |
+        */
+
+        'ignoreEmpty'             => true,
+
+        /*
+        |--------------------------------------------------------------------------
+        | Force sheet collection
+        |--------------------------------------------------------------------------
+        |
+        | For a sheet collection even when there is only 1 sheets.
+        | When set to false and only 1 sheet found, the parsed file will return
+        | a row collection instead of a sheet collection.
+        | When set to true, it will return a sheet collection instead.
+        |
+        */
+        'force_sheets_collection' => false,
+
+        /*
+        |--------------------------------------------------------------------------
+        | Date format
+        |--------------------------------------------------------------------------
+        |
+        | The format dates will be parsed to
+        |
+        */
+
+        'dates'                   => [
+
+            /*
+            |--------------------------------------------------------------------------
+            | Enable/disable date formatting
+            |--------------------------------------------------------------------------
+            */
+            'enabled' => true,
+
+            /*
+            |--------------------------------------------------------------------------
+            | Default date format
+            |--------------------------------------------------------------------------
+            |
+            | If set to false, a carbon object will return
+            |
+            */
+            'format'  => false,
+
+            /*
+            |--------------------------------------------------------------------------
+            | Date columns
+            |--------------------------------------------------------------------------
+            */
+            'columns' => []
+        ],
+
+        /*
+        |--------------------------------------------------------------------------
+        | Import sheets by config
+        |--------------------------------------------------------------------------
+        */
+        'sheets'                  => [
+
+            /*
+            |--------------------------------------------------------------------------
+            | Example sheet
+            |--------------------------------------------------------------------------
+            |
+            | Example sheet "test" will grab the firstname at cell A2
+            |
+            */
+
+            'test' => [
+
+                'firstname' => 'A2'
+
+            ]
+
+        ]
+    ],
+
+    'views'      => [
+
+        /*
+        |--------------------------------------------------------------------------
+        | Styles
+        |--------------------------------------------------------------------------
+        |
+        | The default styles which will be used when parsing a view
+        |
+        */
+
+        'styles' => [
+
+            /*
+            |--------------------------------------------------------------------------
+            | Table headings
+            |--------------------------------------------------------------------------
+            */
+            'th'     => [
+                'font' => [
+                    'bold' => true,
+                    'size' => 12,
+                ]
+            ],
+
+            /*
+            |--------------------------------------------------------------------------
+            | Strong tags
+            |--------------------------------------------------------------------------
+            */
+            'strong' => [
+                'font' => [
+                    'bold' => true,
+                    'size' => 12,
+                ]
+            ],
+
+            /*
+            |--------------------------------------------------------------------------
+            | Bold tags
+            |--------------------------------------------------------------------------
+            */
+            'b'      => [
+                'font' => [
+                    'bold' => true,
+                    'size' => 12,
+                ]
+            ],
+
+            /*
+            |--------------------------------------------------------------------------
+            | Italic tags
+            |--------------------------------------------------------------------------
+            */
+            'i'      => [
+                'font' => [
+                    'italic' => true,
+                    'size'   => 12,
+                ]
+            ],
+
+            /*
+            |--------------------------------------------------------------------------
+            | Heading 1
+            |--------------------------------------------------------------------------
+            */
+            'h1'     => [
+                'font' => [
+                    'bold' => true,
+                    'size' => 24,
+                ]
+            ],
+
+            /*
+            |--------------------------------------------------------------------------
+            | Heading 2
+            |--------------------------------------------------------------------------
+            */
+            'h2'     => [
+                'font' => [
+                    'bold' => true,
+                    'size' => 18,
+                ]
+            ],
+
+            /*
+            |--------------------------------------------------------------------------
+            | Heading 3
+            |--------------------------------------------------------------------------
+            */
+            'h3'     => [
+                'font' => [
+                    'bold' => true,
+                    'size' => 13.5,
+                ]
+            ],
+
+            /*
+             |--------------------------------------------------------------------------
+             | Heading 4
+             |--------------------------------------------------------------------------
+             */
+            'h4'     => [
+                'font' => [
+                    'bold' => true,
+                    'size' => 12,
+                ]
+            ],
+
+            /*
+             |--------------------------------------------------------------------------
+             | Heading 5
+             |--------------------------------------------------------------------------
+             */
+            'h5'     => [
+                'font' => [
+                    'bold' => true,
+                    'size' => 10,
+                ]
+            ],
+
+            /*
+             |--------------------------------------------------------------------------
+             | Heading 6
+             |--------------------------------------------------------------------------
+             */
+            'h6'     => [
+                'font' => [
+                    'bold' => true,
+                    'size' => 7.5,
+                ]
+            ],
+
+            /*
+             |--------------------------------------------------------------------------
+             | Hyperlinks
+             |--------------------------------------------------------------------------
+             */
+            'a'      => [
+                'font' => [
+                    'underline' => true,
+                    'color'     => ['argb' => 'FF0000FF'],
+                ]
+            ],
+
+            /*
+             |--------------------------------------------------------------------------
+             | Horizontal rules
+             |--------------------------------------------------------------------------
+             */
+            'hr'     => [
+                'borders' => [
+                    'bottom' => [
+                        'style' => 'thin',
+                        'color' => ['FF000000']
+                    ],
+                ]
+            ]
+        ]
+
+    ]
+
+);
diff --git a/public/css/profile.css b/public/css/profile.css
index ce03abbe8ad7abe03e6fb2dd8e88adf848204455..fd99c0d33a4a43002279fa888c32d49f05221afd 100644
--- a/public/css/profile.css
+++ b/public/css/profile.css
@@ -1,7 +1,3 @@
-body {
-  padding-top: 5rem;
-}
-
 .starter-template {
   padding: 3rem 1.5rem;
   text-align: center;
diff --git a/public/js/profile.js b/public/js/profile.js
index 9f3ee10588c8f2e6a03c7b04b749913d9eea1fb2..cee652f9aaa25cf4404b35a9590f18641938a9b3 100644
--- a/public/js/profile.js
+++ b/public/js/profile.js
@@ -14033,121 +14033,6 @@ new Vue({
     el: '#profile-page',
     components: {
         'profil-pegawai': __webpack_require__(248)
-    },
-    data: {
-        isEditKepegawaian: false,
-        isEditProfile: false,
-        isEditRiwayat: false,
-        cachedUser: null,
-        cachedDataKepegawaian: null,
-        cachedRiwayatPendidikan: null,
-        cachedRiwayatPekerjaan: null,
-        user: {
-            imageProfileUrl: "https://i.pinimg.com/236x/34/ba/c1/34bac13dd65ab3b81267f727e5633549--patrick-dempsey-handsome-man.jpg",
-            nama: "Joko Susilo",
-            tempatLahir: "Medan",
-            tanggalLahir: "17 Agustus 1981",
-            email: "joko.susilo@gmail.com",
-            nopeg: "12340009876",
-            unitKerja: "Fakultas FMIPA",
-            posisi: "Kepala Bidang Kemahasiswaan",
-            kompetensi: "Administrasi",
-            tahunMasuk: "2010",
-            tahunKeluar: "2020"
-        },
-        dataKepegawaian: [{
-            unitKerja: "Fakultas FMIPA",
-            posisi: "Tenaga Pendidik",
-            kompetensi: "Teknikal",
-            tahunMasuk: "2013",
-            tahunKeluar: "2017"
-        }],
-        riwayatPendidikan: [{
-            tingkatPendidikan: "S1",
-            namaInstitusi: "ITB",
-            jurusan: "Teknik Sipil",
-            tahunMasuk: "2000",
-            tahunKeluar: "2005"
-        }, {
-            tingkatPendidikan: "S2",
-            namaInstitusi: "ITB",
-            jurusan: "Teknik Sipil",
-            tahunMasuk: "2006",
-            tahunKeluar: "2008"
-        }],
-        riwayatPekerjaan: [{
-            namaInstitusi: "PT TIMBUL TENGGELAM",
-            posisi: "Engineer",
-            tahunMasuk: "2008",
-            tahunKeluar: "2013"
-        }, {
-            namaInstitusi: "FMIPA ITB",
-            posisi: "Tenaga Pendidik",
-            tahunMasuk: "2013",
-            tahunKeluar: "2017"
-        }],
-        rekomendasiTraining: [{
-            namaTraining: "Emotional Training",
-            penyelenggara: "PMO",
-            bidang: "Psikologi"
-        }]
-
-    },
-    mounted: function mounted() {
-
-        this.cachedUser = Object.assign({}, this.user);
-        this.cachedDataKepegawaian = Object.assign({}, this.dataKepegawaian);
-        this.cachedRiwayatPendidikan = Object.assign({}, this.riwayatPendidikan);
-        this.cachedRiwayatPekerjaan = Object.assign({}, this.riwayatPekerjaan);
-    },
-
-    methods: {
-        editProfilPegawai: function editProfilPegawai() {
-            this.isEditProfile = true;
-        },
-        editDataKepegawaian: function editDataKepegawaian() {
-            this.isEditKepegawaian = true;
-        },
-        editRiwayatPegawai: function editRiwayatPegawai() {
-            this.isEditRiwayat = true;
-        },
-        saveProfilPegawai: function saveProfilPegawai() {
-            this.cachedUser = Object.assign({}, this.user);
-            this.isEditProfile = false;
-
-            axios.patch('/api/pegawai/4', {
-                name: this.user.nama,
-                email: this.user.email,
-                password: '1234',
-                nip: this.user.nopeg
-            }).then(function (response) {
-                alert(response);
-            }).catch(function (error) {
-                alert(error);
-            });
-        },
-        saveDataKepegawaian: function saveDataKepegawaian() {
-            this.cachedDataKepegawaian = Object.assign({}, this.dataKepegawaian);
-            this.isEditKepegawaian = false;
-        },
-        saveRiwayatPegawai: function saveRiwayatPegawai() {
-            this.cachedRiwayatPendidikan = Object.assign({}, this.riwayatPendidikan);
-            this.cachedRiwayatPekerjaan = Object.assign({}, this.riwayatPekerjaan);
-            this.isEditRiwayat = false;
-        },
-        cancelProfilPegawai: function cancelProfilPegawai() {
-            this.user = Object.assign({}, this.cachedUser);
-            this.isEditProfile = false;
-        },
-        cancelDataKepegawaian: function cancelDataKepegawaian() {
-            this.dataKepegawaian = Object.assign({}, this.cachedDataKepegawaian);
-            this.isEditKepegawaian = false;
-        },
-        cancelRiwayatPegawai: function cancelRiwayatPegawai() {
-            this.riwayatPendidikan = Object.assign({}, this.cachedRiwayatPendidikan);
-            this.riwayatPekerjaan = Object.assign({}, this.cachedRiwayatPekerjaan);
-            this.isEditRiwayat = false;
-        }
     }
 
 });
@@ -14241,7 +14126,7 @@ exports = module.exports = __webpack_require__(7)(false);
 
 
 // module
-exports.push([module.i, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ""]);
+exports.push([module.i, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ""]);
 
 // exports
 
@@ -15018,15 +14903,98 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
 //
 //
 //
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
 
 /* harmony default export */ __webpack_exports__["default"] = ({
-    props: ['id', 'unit-kerja', 'posisi', 'kelompok-kompetensi', 'data-kinerja-temp'],
+    props: ['id', 'unit-kerja', 'posisi', 'kelompok-kompetensi', 'data-kinerja-temp', 'rekomendasi-training-temp', 'training-list', 'rekomendasi-posisi-temp'],
 
     data: function data() {
         var _ref;
 
         return _ref = {
-            //dummy
+
             pegawai: {
                 imageProfileUrl: "",
                 nama: "",
@@ -15040,15 +15008,11 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
                 tahunMasuk: ""
             },
             dataKepegawaian: [],
+            dataKepegawaianPrev: null,
             riwayatPendidikan: [],
             riwayatPekerjaan: [],
             sertifikat: [],
 
-            dataKinerja: [{ tahun: 2010, semester: 1, nilai: 2.50, catatan: "ini catatan" }],
-            rekomendasiTraining: [],
-
-            sertifikatCounter: 0,
-
             isShowAllDataKinerja: false,
             disableEdit: false,
             isEditProfile: false,
@@ -15056,12 +15020,15 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
             isEditRiwayat: false,
             isEditSertifikat: false,
             isEditDataKinerja: false,
+            isEditRekomendasi: false,
             cachedPegawai: null,
             cachedDataKepegawaian: null,
             cachedRiwayatPendidikan: null,
             cachedRiwayatPekerjaan: null,
             cachedSertifikat: null,
-            cachedDataKinerja: null
+            cachedDataKinerja: null,
+            cachedRekomendasiTraining: null,
+            cachedRekomendasiPosisi: null
         }, _defineProperty(_ref, 'pegawai', {
             imageProfileUrl: null,
             nama: null,
@@ -15082,7 +15049,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
                 text: null
             },
             tahunMasuk: null
-        }), _defineProperty(_ref, 'dataKepegawaian', []), _defineProperty(_ref, 'riwayatPendidikan', []), _defineProperty(_ref, 'riwayatPekerjaan', []), _defineProperty(_ref, 'dataKinerja', []), _defineProperty(_ref, 'dataKinerjaShow', []), _ref;
+        }), _defineProperty(_ref, 'dataKepegawaian', []), _defineProperty(_ref, 'riwayatPendidikan', []), _defineProperty(_ref, 'riwayatPekerjaan', []), _defineProperty(_ref, 'dataKinerja', []), _defineProperty(_ref, 'dataKinerjaShow', []), _defineProperty(_ref, 'rekomendasiTraining', []), _defineProperty(_ref, 'rekomendasiPosisi', []), _ref;
     },
     mounted: function mounted() {},
     created: function created() {
@@ -15100,6 +15067,8 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
             _this.riwayatPekerjaan = responsePegawai["pekerjaan"];
             _this.updateDataKepegawaian();
 
+            _this.dataKepegawaianPrev = _this.dataKepegawaian[_this.dataKepegawaian.length - 1];
+
             _this.sertifikat = responsePegawai["sertifikat"];
             _this.updateSertifikat();
 
@@ -15128,12 +15097,20 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
         //caching others
         this.cachedDataKinerja = JSON.parse(JSON.stringify(this.dataKinerja));
 
-        // dataKinerjaShow
+        // init dataKinerjaShow
         if (this.dataKinerja.length > 6) {
             this.dataKinerjaShow = this.dataKinerja.slice(this.dataKinerja.length - 6);
         } else {
             this.dataKinerjaShow = this.dataKinerja;
         }
+
+        //init rekomendasiTraining
+        this.rekomendasiTraining = this.rekomendasiTrainingTemp;
+        this.cachedRekomendasiTraining = JSON.parse(JSON.stringify(this.rekomendasiTraining));
+
+        //init rekomendasiPosisi
+        this.rekomendasiPosisi = this.rekomendasiPosisiTemp;
+        this.cachedRekomendasiPosisi = JSON.parse(JSON.stringify(this.rekomendasiPosisi));
     },
 
 
@@ -15256,15 +15233,18 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
             this.disableEditButton();
         },
         editSertifikat: function editSertifikat() {
-            this.sertifikatCounter = this.sertifikat.length;
             this.isEditSertifikat = true;
             this.disableEditButton();
-            this.sertifikatCounter = this.sertifikat.length;
         },
         editDataKinerja: function editDataKinerja() {
             this.isEditDataKinerja = true;
             this.disableEditButton();
         },
+        editDataKompetensi: function editDataKompetensi() {},
+        editRekomendasi: function editRekomendasi() {
+            this.isEditRekomendasi = true;
+            this.disableEditButton();
+        },
         addDataKepegawaian: function addDataKepegawaian() {
             var newData = {
                 id_data_kepegawaian: null,
@@ -15291,7 +15271,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
         },
         addRiwayatPekerjaan: function addRiwayatPekerjaan() {
             var newData = {
-                id_riwayat_pendidikan: null,
+                id_riwayat_pekerjaan: null,
                 id_pegawai: null,
                 nama_institusi: null,
                 posisi: null,
@@ -15301,9 +15281,16 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
             this.riwayatPekerjaan.push(newData);
         },
         addSertifikat: function addSertifikat() {
-            var newData = {};
+            var newData = {
+                id_sertifikat: null,
+                id_pegawai: null,
+                judul: null,
+                lembaga: null,
+                tahun_diterbitkan: null,
+                catatan: null,
+                nama_file: null
+            };
             this.sertifikat.push(newData);
-            this.sertifikatCounter++;
         },
         addDataKinerja: function addDataKinerja() {
             var newData = {
@@ -15316,6 +15303,23 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
             };
             this.dataKinerja.push(newData);
         },
+        addRekomendasiTraining: function addRekomendasiTraining() {
+            var newData = {
+                id_rekomendasi_training: null,
+                id_pegawai: null,
+                id_training: null
+            };
+            this.rekomendasiTraining.push(newData);
+        },
+        addRekomendasiPosisi: function addRekomendasiPosisi() {
+            var newData = {
+                id_rekomendasi_training: null,
+                id_pegawai: null,
+                id_unit_kerja: null,
+                id_posisi: null
+            };
+            this.rekomendasiPosisi.push(newData);
+        },
         delDataKepegawaian: function delDataKepegawaian(event) {
             var targetIndex = event.currentTarget.id;
             this.dataKepegawaian.splice(targetIndex, 1);
@@ -15331,12 +15335,19 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
         delSertifikat: function delSertifikat(event) {
             var targetIndex = event.currentTarget.id;
             this.sertifikat.splice(targetIndex, 1);
-            this.sertifikatCounter--;
         },
         delDataKinerja: function delDataKinerja(event) {
             var targetIndex = event.currentTarget.id;
             this.dataKinerja.splice(targetIndex, 1);
         },
+        delRekomendasiTraining: function delRekomendasiTraining(event) {
+            var targetIndex = event.currentTarget.id;
+            this.rekomendasiTraining.splice(targetIndex, 1);
+        },
+        delRekomendasiPosisi: function delRekomendasiPosisi(event) {
+            var targetIndex = event.currentTarget.id;
+            this.rekomendasiPosisi.splice(targetIndex, 1);
+        },
         saveProfilPegawai: function saveProfilPegawai() {
             this.enableEditButton();
 
@@ -15346,18 +15357,19 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
             this.cachedPegawai = JSON.parse(JSON.stringify(this.pegawai));
             this.isEditProfile = false;
 
-            // axios.patch('/api/pegawai/4', {
-            //     name: this.user.nama,
-            //     email: this.user.email,
-            //     password: '1234',
-            //     nip: this.user.nopeg
-            // })
-            // .then(function (response) {
-            //     alert(response);
-            // })
-            // .catch(function (error) {
-            //     alert(error);
-            // });
+            axios.post('/api/pegawai/' + this.id, {
+                pegawai: this.pegawai,
+                data_kepegawaian: this.dataKepegawaian,
+                data_kepegawaian_prev: this.dataKepegawaianPrev,
+                _method: "put"
+            }).then(function (response) {
+                console.log(response);
+                window.location.href = '/pages/profile';
+            }).catch(function (error) {
+                alert(error);
+            });
+
+            console.log(this.dataKepegawaian);
         },
         saveDataKepegawaian: function saveDataKepegawaian() {
             this.updateDataKepegawaian();
@@ -15365,6 +15377,18 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
             this.enableEditButton();
             this.cachedDataKepegawaian = JSON.parse(JSON.stringify(this.dataKepegawaian));
             this.isEditKepegawaian = false;
+
+            console.log(this.dataKepegawaian);
+
+            axios.post('/api/kepegawaian/' + this.id, {
+                kepegawaian: this.dataKepegawaian,
+                _method: 'put'
+            }).then(function (response) {
+                console.log(response);
+                window.location.href = "/pages/profile";
+            }).catch(function (error) {
+                alert(error);
+            });
         },
         saveRiwayatPegawai: function saveRiwayatPegawai() {
             //sort
@@ -15391,6 +15415,20 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
             this.cachedRiwayatPendidikan = JSON.parse(JSON.stringify(this.riwayatPendidikan));
             this.cachedRiwayatPekerjaan = JSON.parse(JSON.stringify(this.riwayatPekerjaan));
             this.isEditRiwayat = false;
+
+            console.log(this.riwayatPendidikan);
+            console.log(this.riwayatPekerjaan);
+
+            axios.post('/api/riwayat/' + this.id, {
+                pendidikan: this.riwayatPendidikan,
+                pekerjaan: this.riwayatPekerjaan,
+                _method: 'put'
+            }).then(function (response) {
+                console.log(response);
+                window.location.href = "/pages/profile";
+            }).catch(function (error) {
+                alert(error);
+            });
         },
         saveSertifikat: function saveSertifikat() {
             this.enableEditButton();
@@ -15431,6 +15469,12 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
                 this.hideDataKinerja();
             }
         },
+        saveRekomendasi: function saveRekomendasi() {
+            this.enableEditButton();
+            this.cachedRekomendasiTraining = JSON.parse(JSON.stringify(this.rekomendasiTraining));
+            this.cachedRekomendasiPosisi = JSON.parse(JSON.stringify(this.rekomendasiPosisi));
+            this.isEditRekomendasi = false;
+        },
         cancelProfilPegawai: function cancelProfilPegawai() {
             this.enableEditButton();
             this.pegawai = JSON.parse(JSON.stringify(this.cachedPegawai));
@@ -15463,18 +15507,35 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
                 this.hideDataKinerja();
             }
         },
-        onFileChange: function onFileChange(e) {
+        cancelRekomendasi: function cancelRekomendasi() {
+            this.enableEditButton();
+            this.rekomendasiTraining = JSON.parse(JSON.stringify(this.cachedRekomendasiTraining));
+            this.rekomendasiPosisi = JSON.parse(JSON.stringify(this.cachedRekomendasiPosisi));
+            this.isEditRekomendasi = false;
+        },
+        FileChangeProfile: function FileChangeProfile(e) {
             var files = e.target.files || e.dataTransfer.files;
             if (!files.length) return;
-            this.createImage(files[0], e.currentTarget.id);
+
+            var reader = new FileReader();
+            var vm = this;
+            reader.onload = function (e) {
+                vm.pegawai.imageProfileUrl = e.target.result;
+            };
+            reader.readAsDataURL(files[0]);
         },
-        createImage: function createImage(file, id) {
+        FileChangeSertifikat: function FileChangeSertifikat(e) {
+            var files = e.target.files || e.dataTransfer.files;
+            if (!files.length) return;
+
+            var idx = e.currentTarget.id;
+
             var reader = new FileReader();
             var vm = this;
             reader.onload = function (e) {
-                vm.sertifikat[id].nama_file = e.target.result;
+                vm.sertifikat[idx].nama_file = e.target.result;
             };
-            reader.readAsDataURL(file);
+            reader.readAsDataURL(files[0]);
         }
     }
 });
@@ -15519,14 +15580,11 @@ var render = function() {
               _c("br"),
               _vm._v(" "),
               _vm.isEditProfile
-                ? _c(
-                    "button",
-                    {
-                      staticClass: "btn btn-primary",
-                      attrs: { type: "button" }
-                    },
-                    [_vm._v("Ganti Foto")]
-                  )
+                ? _c("input", {
+                    staticClass: "form-control",
+                    attrs: { type: "file" },
+                    on: { change: _vm.FileChangeProfile }
+                  })
                 : _vm._e()
             ]),
             _vm._v(" "),
@@ -17321,35 +17379,7 @@ var render = function() {
                                         })
                                       ]
                                     )
-                                  ]),
-                                  _vm._v(" "),
-                                  _c("br"),
-                                  _vm._v(" "),
-                                  dk.nama_file !== _vm.NULL
-                                    ? _c("div", [
-                                        _c("input", {
-                                          staticClass: "form-control",
-                                          attrs: {
-                                            type: "file",
-                                            id: _vm.sertifikat.indexOf(dk)
-                                          },
-                                          on: { change: _vm.onFileChange }
-                                        })
-                                      ])
-                                    : _vm._e(),
-                                  _vm._v(" "),
-                                  dk.nama_file == _vm.NULL
-                                    ? _c("div", [
-                                        _c("input", {
-                                          staticClass: "form-control",
-                                          attrs: {
-                                            type: "file",
-                                            id: _vm.sertifikat.indexOf(dk)
-                                          },
-                                          on: { change: _vm.onFileChange }
-                                        })
-                                      ])
-                                    : _vm._e()
+                                  ])
                                 ]),
                                 _vm._v(" "),
                                 _c("td", { attrs: { rowspan: "4" } }, [
@@ -17360,6 +17390,18 @@ var render = function() {
                                       src: dk.nama_file,
                                       width: "200"
                                     }
+                                  }),
+                                  _vm._v(" "),
+                                  _c("br"),
+                                  _c("br"),
+                                  _vm._v(" "),
+                                  _c("input", {
+                                    staticClass: "form-control",
+                                    attrs: {
+                                      type: "file",
+                                      id: _vm.sertifikat.indexOf(dk)
+                                    },
+                                    on: { change: _vm.FileChangeSertifikat }
                                   })
                                 ]),
                                 _vm._v(" "),
@@ -17927,69 +17969,487 @@ var render = function() {
     _vm._v(" "),
     _c("br"),
     _vm._v(" "),
-    _vm._m(5),
+    _c("div", { staticClass: "card", attrs: { id: "data-kompetensi" } }, [
+      _c("div", { staticClass: "card-header" }, [
+        _vm._v("\n            Hasil Kompetensi"),
+        _c(
+          "button",
+          {
+            staticClass: "btn btn-primary float-sm-right",
+            attrs: { disabled: _vm.disableEdit },
+            on: { click: _vm.editDataKompetensi }
+          },
+          [
+            _vm._v("\n                Edit "),
+            _c("i", { staticClass: "fas fa-edit" })
+          ]
+        )
+      ]),
+      _vm._v(" "),
+      _vm._m(5)
+    ]),
     _vm._v(" "),
     _c("br"),
     _vm._v(" "),
     _c("div", { staticClass: "card", attrs: { id: "rekomendasi" } }, [
       _c("div", { staticClass: "card-header" }, [
-        _vm._v("\n            Rekomendasi\n        ")
+        _vm._v("\n            Rekomendasi"),
+        _c(
+          "button",
+          {
+            staticClass: "btn btn-primary float-sm-right",
+            attrs: { disabled: _vm.disableEdit },
+            on: { click: _vm.editRekomendasi }
+          },
+          [
+            _vm._v("\n                Edit "),
+            _c("i", { staticClass: "fas fa-edit" })
+          ]
+        )
       ]),
       _vm._v(" "),
       _c("div", { staticClass: "card-body" }, [
-        _c("div", { staticClass: "container" }, [
-          _c("h5", [_vm._v("Rekomendasi Training")]),
-          _vm._v(" "),
-          _vm.rekomendasiTraining.length === 0
-            ? _c("div", { staticClass: "no-rekomendasi-trainiing" }, [
-                _c("hr"),
-                _vm._v(
-                  "\n                    Belum dimtambahkan.\n                    "
-                ),
-                _c("br")
-              ])
-            : _vm._e(),
-          _vm._v(" "),
-          _vm.rekomendasiTraining.length !== 0
-            ? _c("div", { staticClass: "rekomendasi-trainiing" }, [
-                _c(
-                  "table",
-                  { staticClass: "table" },
-                  [
-                    _vm._m(6),
+        _c(
+          "div",
+          { staticClass: "container" },
+          [
+            _c("h5", [_vm._v("Rekomendasi Training")]),
+            _vm._v(" "),
+            _c("hr"),
+            _vm._v(" "),
+            _vm.rekomendasiTraining.length === 0
+              ? _c("div", { staticClass: "no-rekomendasi-posisi" }, [
+                  !_vm.isEditRekomendasi
+                    ? _c("div", [
+                        _vm._v(
+                          "\n                        Belum ditambahkan.\n                        "
+                        ),
+                        _c("br")
+                      ])
+                    : _vm._e(),
+                  _vm._v(" "),
+                  _vm.isEditRekomendasi
+                    ? _c(
+                        "button",
+                        {
+                          staticClass: "btn btn-primary float-sm-left",
+                          on: { click: _vm.addRekomendasiTraining }
+                        },
+                        [
+                          _vm._v("\n                        Tambah "),
+                          _c("i", { staticClass: "fas fa-plus" })
+                        ]
+                      )
+                    : _vm._e()
+                ])
+              : _vm._e(),
+            _vm._v(" "),
+            _vm._l(_vm.rekomendasiTraining, function(rt) {
+              return _vm.rekomendasiTraining.length !== 0
+                ? _c("div", { staticClass: "rekomendasi-training" }, [
+                    !_vm.isEditRekomendasi
+                      ? _c("ul", [
+                          _c("li", {
+                            domProps: {
+                              textContent: _vm._s(
+                                _vm.trainingList.find(function(x) {
+                                  return x.id_training == rt.id_training
+                                }).nama_training
+                              )
+                            }
+                          })
+                        ])
+                      : _vm._e(),
                     _vm._v(" "),
-                    _vm._l(_vm.rekomendasiTraining, function(rp) {
-                      return _c("tbody", [
-                        _c("tr", [
-                          _c("td", {
-                            domProps: { textContent: _vm._s(rp.namaTraining) }
-                          }),
-                          _vm._v(" "),
-                          _c("td", {
-                            domProps: { textContent: _vm._s(rp.penyelenggara) }
-                          }),
+                    _vm.isEditRekomendasi
+                      ? _c("div", { staticClass: "form-group row" }, [
+                          _c("div", { staticClass: "col-sm-10" }, [
+                            _c(
+                              "select",
+                              {
+                                directives: [
+                                  {
+                                    name: "model",
+                                    rawName: "v-model",
+                                    value: rt.id_training,
+                                    expression: "rt.id_training"
+                                  }
+                                ],
+                                staticClass: "form-control",
+                                on: {
+                                  change: function($event) {
+                                    var $$selectedVal = Array.prototype.filter
+                                      .call($event.target.options, function(o) {
+                                        return o.selected
+                                      })
+                                      .map(function(o) {
+                                        var val =
+                                          "_value" in o ? o._value : o.value
+                                        return val
+                                      })
+                                    _vm.$set(
+                                      rt,
+                                      "id_training",
+                                      $event.target.multiple
+                                        ? $$selectedVal
+                                        : $$selectedVal[0]
+                                    )
+                                  }
+                                }
+                              },
+                              _vm._l(_vm.trainingList, function(tl) {
+                                return _c(
+                                  "option",
+                                  { domProps: { value: tl.id_training } },
+                                  [
+                                    _vm._v(
+                                      "\n                                    " +
+                                        _vm._s(tl.nama_training) +
+                                        "\n                                "
+                                    )
+                                  ]
+                                )
+                              })
+                            ),
+                            _vm._v(" "),
+                            _c(
+                              "small",
+                              { staticClass: "form-text text-muted" },
+                              [_vm._v("*Wajib diisi")]
+                            )
+                          ]),
                           _vm._v(" "),
-                          _c("td", {
-                            domProps: { textContent: _vm._s(rp.bidang) }
-                          })
+                          _c("div", { staticClass: "col-sm-1" }, [
+                            _c(
+                              "button",
+                              {
+                                staticClass: "btn btn-danger",
+                                attrs: {
+                                  id: _vm.rekomendasiTraining.indexOf(rt),
+                                  type: "button"
+                                },
+                                on: {
+                                  click: function($event) {
+                                    _vm.delRekomendasiTraining($event)
+                                  }
+                                }
+                              },
+                              [
+                                _vm._v(
+                                  "\n                                Hapus "
+                                ),
+                                _c("i", { staticClass: "fas fa-trash-alt" })
+                              ]
+                            )
+                          ])
                         ])
-                      ])
-                    })
-                  ],
-                  2
+                      : _vm._e()
+                  ])
+                : _vm._e()
+            }),
+            _vm._v(" "),
+            _vm.isEditRekomendasi && _vm.rekomendasiTraining.length !== 0
+              ? _c(
+                  "button",
+                  {
+                    staticClass: "btn btn-primary float-sm-left",
+                    on: { click: _vm.addRekomendasiTraining }
+                  },
+                  [
+                    _vm._v("\n                    Tambah "),
+                    _c("i", { staticClass: "fas fa-plus" })
+                  ]
                 )
-              ])
-            : _vm._e(),
-          _vm._v(" "),
-          _c("br"),
-          _c("br"),
-          _vm._v(" "),
-          _c("h5", [_vm._v("Rekomendasi Lain-lain")]),
-          _vm._v(" "),
-          _c("hr"),
-          _vm._v("\n\n                Tidak ada.\n\n            ")
-        ])
-      ])
+              : _vm._e(),
+            _vm._v(" "),
+            _c("br"),
+            _c("br"),
+            _c("br"),
+            _vm._v(" "),
+            _c("h5", [_vm._v("Rekomendasi Lain-lain")]),
+            _vm._v(" "),
+            _vm.rekomendasiPosisi.length === 0
+              ? _c("div", { staticClass: "no-rekomendasi-posisi" }, [
+                  !_vm.isEditRekomendasi
+                    ? _c("div", [
+                        _c("hr"),
+                        _vm._v(
+                          "\n                        Belum ditambahkan.\n                        "
+                        ),
+                        _c("br")
+                      ])
+                    : _vm._e(),
+                  _vm._v(" "),
+                  _vm.isEditRekomendasi
+                    ? _c(
+                        "button",
+                        {
+                          staticClass: "btn btn-primary float-sm-left",
+                          on: { click: _vm.addRekomendasiPosisi }
+                        },
+                        [
+                          _vm._v("\n                        Tambah "),
+                          _c("i", { staticClass: "fas fa-plus" })
+                        ]
+                      )
+                    : _vm._e()
+                ])
+              : _vm._e(),
+            _vm._v(" "),
+            _vm.rekomendasiPosisi.length !== 0
+              ? _c("div", { staticClass: "rekomendasi-posisi" }, [
+                  _c(
+                    "table",
+                    { staticClass: "table" },
+                    [
+                      _vm._m(6),
+                      _vm._v(" "),
+                      _vm._l(_vm.rekomendasiPosisi, function(rp) {
+                        return _c("tbody", [
+                          !_vm.isEditRekomendasi
+                            ? _c("tr", [
+                                _c("td", {
+                                  domProps: {
+                                    textContent: _vm._s(
+                                      _vm.unitKerja.find(function(x) {
+                                        return (
+                                          x.id_unit_kerja == rp.id_unit_kerja
+                                        )
+                                      }).nama_unit_kerja
+                                    )
+                                  }
+                                }),
+                                _vm._v(" "),
+                                _c("td", {
+                                  domProps: {
+                                    textContent: _vm._s(
+                                      _vm.posisi.find(function(x) {
+                                        return x.id_posisi == rp.id_posisi
+                                      }).nama_posisi
+                                    )
+                                  }
+                                })
+                              ])
+                            : _vm._e(),
+                          _vm._v(" "),
+                          _vm.isEditRekomendasi
+                            ? _c("tr", [
+                                _c("td", [
+                                  _c("div", { staticClass: "form-group" }, [
+                                    _c(
+                                      "select",
+                                      {
+                                        directives: [
+                                          {
+                                            name: "model",
+                                            rawName: "v-model",
+                                            value: rp.id_unit_kerja,
+                                            expression: "rp.id_unit_kerja"
+                                          }
+                                        ],
+                                        staticClass: "form-control",
+                                        on: {
+                                          change: function($event) {
+                                            var $$selectedVal = Array.prototype.filter
+                                              .call(
+                                                $event.target.options,
+                                                function(o) {
+                                                  return o.selected
+                                                }
+                                              )
+                                              .map(function(o) {
+                                                var val =
+                                                  "_value" in o
+                                                    ? o._value
+                                                    : o.value
+                                                return val
+                                              })
+                                            _vm.$set(
+                                              rp,
+                                              "id_unit_kerja",
+                                              $event.target.multiple
+                                                ? $$selectedVal
+                                                : $$selectedVal[0]
+                                            )
+                                          }
+                                        }
+                                      },
+                                      _vm._l(_vm.unitKerja, function(uk) {
+                                        return _c(
+                                          "option",
+                                          {
+                                            domProps: {
+                                              value: uk.id_unit_kerja
+                                            }
+                                          },
+                                          [
+                                            _vm._v(
+                                              "\n                                            " +
+                                                _vm._s(uk.nama_unit_kerja) +
+                                                "\n                                        "
+                                            )
+                                          ]
+                                        )
+                                      })
+                                    ),
+                                    _vm._v(" "),
+                                    _c(
+                                      "small",
+                                      { staticClass: "form-text text-muted" },
+                                      [_vm._v("*Wajib diisi")]
+                                    )
+                                  ])
+                                ]),
+                                _vm._v(" "),
+                                _c("td", [
+                                  _c("div", { staticClass: "form-group" }, [
+                                    _c(
+                                      "select",
+                                      {
+                                        directives: [
+                                          {
+                                            name: "model",
+                                            rawName: "v-model",
+                                            value: rp.id_posisi,
+                                            expression: "rp.id_posisi"
+                                          }
+                                        ],
+                                        staticClass: "form-control",
+                                        on: {
+                                          change: function($event) {
+                                            var $$selectedVal = Array.prototype.filter
+                                              .call(
+                                                $event.target.options,
+                                                function(o) {
+                                                  return o.selected
+                                                }
+                                              )
+                                              .map(function(o) {
+                                                var val =
+                                                  "_value" in o
+                                                    ? o._value
+                                                    : o.value
+                                                return val
+                                              })
+                                            _vm.$set(
+                                              rp,
+                                              "id_posisi",
+                                              $event.target.multiple
+                                                ? $$selectedVal
+                                                : $$selectedVal[0]
+                                            )
+                                          }
+                                        }
+                                      },
+                                      _vm._l(_vm.posisi, function(pos) {
+                                        return _c(
+                                          "option",
+                                          {
+                                            domProps: { value: pos.id_posisi }
+                                          },
+                                          [
+                                            _vm._v(
+                                              "\n                                            " +
+                                                _vm._s(pos.nama_posisi) +
+                                                "\n                                        "
+                                            )
+                                          ]
+                                        )
+                                      })
+                                    ),
+                                    _vm._v(" "),
+                                    _c(
+                                      "small",
+                                      { staticClass: "form-text text-muted" },
+                                      [_vm._v("*Wajib diisi")]
+                                    )
+                                  ])
+                                ]),
+                                _vm._v(" "),
+                                _c("td", [
+                                  _c(
+                                    "button",
+                                    {
+                                      staticClass: "btn btn-danger",
+                                      attrs: {
+                                        id: _vm.rekomendasiPosisi.indexOf(rp),
+                                        type: "button"
+                                      },
+                                      on: {
+                                        click: function($event) {
+                                          _vm.delRekomendasiPosisi($event)
+                                        }
+                                      }
+                                    },
+                                    [
+                                      _vm._v(
+                                        "\n                                    Hapus "
+                                      ),
+                                      _c("i", {
+                                        staticClass: "fas fa-trash-alt"
+                                      })
+                                    ]
+                                  )
+                                ])
+                              ])
+                            : _vm._e()
+                        ])
+                      }),
+                      _vm._v(" "),
+                      _vm.isEditRekomendasi
+                        ? _c(
+                            "button",
+                            {
+                              staticClass: "btn btn-primary float-sm-left",
+                              on: { click: _vm.addRekomendasiPosisi }
+                            },
+                            [
+                              _vm._v("\n                            Tambah "),
+                              _c("i", { staticClass: "fas fa-plus" })
+                            ]
+                          )
+                        : _vm._e()
+                    ],
+                    2
+                  )
+                ])
+              : _vm._e(),
+            _vm._v(" "),
+            _c("br")
+          ],
+          2
+        )
+      ]),
+      _vm._v(" "),
+      _vm.isEditRekomendasi
+        ? _c("div", { staticClass: "card-footer text-muted" }, [
+            _c(
+              "a",
+              {
+                staticClass: "btn btn-success float-sm-right btn-simpan",
+                attrs: { href: "#rekomendasi" },
+                on: { click: _vm.saveRekomendasi }
+              },
+              [
+                _vm._v("\n                Simpan "),
+                _c("i", { staticClass: "fas fa-check" })
+              ]
+            ),
+            _vm._v(" "),
+            _c(
+              "a",
+              {
+                staticClass: "btn btn-danger float-sm-right",
+                attrs: { href: "#rekomendasi" },
+                on: { click: _vm.cancelRekomendasi }
+              },
+              [
+                _vm._v("\n                Batal "),
+                _c("i", { staticClass: "fas fa-times" })
+              ]
+            )
+          ])
+        : _vm._e()
     ])
   ])
 }
@@ -18076,21 +18536,11 @@ var staticRenderFns = [
     var _vm = this
     var _h = _vm.$createElement
     var _c = _vm._self._c || _h
-    return _c(
-      "div",
-      { staticClass: "card", attrs: { id: "data-kompetensi" } },
-      [
-        _c("div", { staticClass: "card-header" }, [
-          _vm._v("\n            Hasil Kompetensi\n        ")
-        ]),
-        _vm._v(" "),
-        _c("div", { staticClass: "card-body" }, [
-          _c("div", { staticClass: "container" }, [
-            _vm._v("\n\n                Belum ditambahkan.\n\n            ")
-          ])
-        ])
-      ]
-    )
+    return _c("div", { staticClass: "card-body" }, [
+      _c("div", { staticClass: "container" }, [
+        _vm._v("\n\n                Belum ditambahkan.\n\n            ")
+      ])
+    ])
   },
   function() {
     var _vm = this
@@ -18098,11 +18548,9 @@ var staticRenderFns = [
     var _c = _vm._self._c || _h
     return _c("thead", [
       _c("tr", [
-        _c("th", { attrs: { scope: "col" } }, [_vm._v("Nama Training")]),
-        _vm._v(" "),
-        _c("th", { attrs: { scope: "col" } }, [_vm._v("Penyelenggara")]),
+        _c("th", { attrs: { scope: "col" } }, [_vm._v("Unit Kerja")]),
         _vm._v(" "),
-        _c("th", { attrs: { scope: "col" } }, [_vm._v("Bidang")])
+        _c("th", { attrs: { scope: "col" } }, [_vm._v("Jabatan")])
       ])
     ])
   }
diff --git a/public/profile/649660532340430924.gif b/public/profile/649660532340430924.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5b12271eb956e5c150fcca3cd6dd7606d1a6f2ec
Binary files /dev/null and b/public/profile/649660532340430924.gif differ
diff --git a/public/sertifikat/649660532340430924_0.jpeg b/public/sertifikat/649660532340430924_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..4823a08a45852a48051ae81ca8fdedc8d0f7d89b
Binary files /dev/null and b/public/sertifikat/649660532340430924_0.jpeg differ
diff --git a/public/sertifikat/649660532340430924_2.gif b/public/sertifikat/649660532340430924_2.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5b12271eb956e5c150fcca3cd6dd7606d1a6f2ec
Binary files /dev/null and b/public/sertifikat/649660532340430924_2.gif differ
diff --git a/public/sertifikat/649660532340430924_2.jpeg b/public/sertifikat/649660532340430924_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..4823a08a45852a48051ae81ca8fdedc8d0f7d89b
Binary files /dev/null and b/public/sertifikat/649660532340430924_2.jpeg differ
diff --git a/public/sertifikat/649660532340430924_3.jpeg b/public/sertifikat/649660532340430924_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..4823a08a45852a48051ae81ca8fdedc8d0f7d89b
Binary files /dev/null and b/public/sertifikat/649660532340430924_3.jpeg differ
diff --git a/resources/assets/js/components/.fuse_hidden00000c2c00000002 b/resources/assets/js/components/.fuse_hidden00000c2c00000002
deleted file mode 100644
index 3050b40a5dd5669a952541eb8350b546bc807aeb..0000000000000000000000000000000000000000
--- a/resources/assets/js/components/.fuse_hidden00000c2c00000002
+++ /dev/null
@@ -1,1201 +0,0 @@
-<template>
-    <div>
-        <div class="card" id="profil-pegawai">
-            <div class="card-header">
-                Profil Pegawai
-                <button class="btn btn-primary float-sm-right" v-on:click="editProfilPegawai" v-bind:disabled="disableEdit">
-                    Edit <i class="fas fa-edit"></i>
-                </button>
-            </div>
-
-            <div class="card-body">
-                <div class="card-container">
-                    <div class="row">
-                        <div class="col-sm-3 img-responsive">
-                            <img id="img-profile" v-bind:src="pegawai.imageProfileUrl" class="img-thumbnail">
-                            <br><br>
-                            <button v-if="isEditProfile" type="button" class="btn btn-primary">Ganti Foto</button>
-                        </div>
-                        <div class="col-sm-1"></div>
-                        <div class="col-sm-7">
-                            <div class="row">
-                                <div class="col-sm-3 text-right">
-                                    Nama
-                                </div>
-                                <div class="col-sm-9">
-
-                                    <b v-if="!isEditProfile" v-text="pegawai.nama"></b>
-
-                                    <div id="edit-nama" class="form-group" v-if="isEditProfile">
-                                        <input v-model="pegawai.nama" type="text" class="form-control">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </div>
-                            </div>
-
-                            <hr>
-
-                            <div class="row">
-                                <div class="col-sm-3 text-right">
-                                    Tempat, Tanggal Lahir
-                                </div>
-                                <div class="col-sm-9">
-                                    <b v-if="!isEditProfile"><span v-text="pegawai.tempatLahir"></span>, <span v-text="pegawai.tanggalLahir"></span></b>
-
-                                    <div class="form-row" v-if="isEditProfile">
-                                        <div id="edit-tempat-lahir" class="form-group">
-                                            <input v-model="pegawai.tempatLahir" type="text" class="form-control">
-                                            <small class="form-text text-muted">*Tempat lahir. Wajib diisi</small>
-                                        </div>
-                                        <div id="edit-tanggal-lahir" class="form-group">
-                                            <input v-model="pegawai.tanggalLahir" type="date" class="form-control">
-                                            <small class="form-text text-muted">*Tanggal lahir. Wajib diisi</small>
-                                        </div>
-                                    </div>
-
-
-                                </div>
-                            </div>
-
-                            <hr>
-
-                            <div class="row">
-                                <div class="col-sm-3 text-right">
-                                    Email
-                                </div>
-                                <div class="col-sm-9">
-                                    <b v-if="!isEditProfile" v-text="pegawai.email"></b>
-
-                                    <div v-if="isEditProfile" id="edit-email" class="form-group">
-                                        <input v-model="pegawai.email" type="email" class="form-control">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-
-                                </div>
-                            </div>
-
-                            <hr>
-
-                            <div class="row">
-                                <div class="col-sm-3 text-right">
-                                    No. Pegawai
-                                </div>
-                                <div class="col-sm-9">
-                                    <b v-if="!isEditProfile" v-text="pegawai.nopeg"></b>
-
-                                    <div v-if="isEditProfile" id="edit-nopeg" class="form-group">
-                                        <input v-model="pegawai.nopeg" type="text" class="form-control">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </div>
-                            </div>
-
-                            <hr>
-
-                            <div class="row">
-                                <div class="col-sm-3 text-right">
-                                    Unit Kerja
-                                </div>
-                                <div class="col-sm-9">
-                                    <b v-if="!isEditProfile" v-text="pegawai.unitKerja.text"></b>
-
-                                    <div v-if="isEditProfile" id="edit-unit-kerja" class="form-group">
-                                        <select class="form-control" v-model="pegawai.unitKerja.id">
-                                            <option v-for="uk in unitKerja" v-bind:value="uk.id_unit_kerja">
-                                                {{ uk.nama_unit_kerja }}
-                                            </option>
-                                        </select>
-                                        <!-- <input v-bind:value="unitKerja.find(x => x.id_unit_kerja == pegawai.unitKerja).nama_unit_kerja" type="text" class="form-control" disabled> -->
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </div>
-                            </div>
-
-                            <hr>
-
-                            <div class="row">
-                                <div class="col-sm-3 text-right">
-                                    Jabatan
-                                </div>
-                                <div class="col-sm-9">
-                                    <b v-if="!isEditProfile" v-text="pegawai.posisi.text"></b>
-
-                                    <div v-if="isEditProfile" id="edit-posisi" class="form-group">
-                                        <select class="form-control" v-model="pegawai.posisi.id">
-                                            <option v-for="pos in posisi" v-bind:value="pos.id_posisi">
-                                                {{ pos.nama_posisi }}
-                                            </option>
-                                        </select>
-                                        <!-- <input v-bind:value="posisi.find(x => x.id_posisi == pegawai.posisi).nama_posisi" type="text" class="form-control" disabled> -->
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </div>
-                            </div>
-
-                            <hr>
-
-                            <div class="row">
-                                <div class="col-sm-3 text-right">
-                                    Kompetensi
-                                </div>
-                                <div class="col-sm-9">
-                                    <b v-if="!isEditProfile" v-text="pegawai.kompetensi.text"></b>
-
-                                    <div v-if="isEditProfile" id="edit-kompetensi" class="form-group">
-                                        <select class="form-control" v-model="pegawai.kompetensi.id">
-                                            <option v-for="kk in kelompokKompetensi" v-bind:value="kk.id_kelompok_kompetensi">
-                                                {{ kk.nama_kelompok_kompetensi }}
-                                            </option>
-                                        </select>
-                                        <!-- <input v-bind:value="kelompokKompetensi.find(x => x.id_kelompok_kompetensi == pegawai.kompetensi).nama_kelompok_kompetensi" type="text" class="form-control"> -->
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </div>
-                            </div>
-
-                            <hr>
-
-                            <div class="row">
-                                <div class="col-sm-3 text-right">
-                                    Tahun Mulai Jabatan Saat Ini
-                                </div>
-                                <div class="col-sm-9">
-                                    <b v-if="!isEditProfile" v-text="pegawai.tahunMasuk"></b>
-
-                                    <div v-if="isEditProfile" id="edit-tahun-masuk" class="form-group">
-                                        <input v-model="pegawai.tahunMasuk" type="text" class="form-control">
-                                        <small class="form-text text-muted">*Edit pada data kepegawaian di bawah</small>
-                                    </div>
-                                </div>
-                            </div>
-
-                        </div>
-                    </div>
-                </div>
-            </div>
-
-            <div class="card-footer text-muted" v-if="isEditProfile">
-                <a href="#profil-pegawai" class="btn btn-success float-sm-right btn-simpan" v-on:click="saveProfilPegawai">
-                    Simpan <i class="fas fa-check"></i>
-                    </a>
-                <a href="#profil-pegawai" class="btn btn-danger float-sm-right" v-on:click="cancelProfilPegawai">
-                    Batal <i class ="fas fa-times"></i>
-                </a>
-            </div>
-        </div>
-
-        <br>
-
-        <div class="card" id="data-kepegawaian">
-            <div class="card-header">
-                Data Kepegawaian
-                <button class="btn btn-primary float-sm-right" v-on:click="editDataKepegawaian" v-bind:disabled="disableEdit">
-                    Edit <i class="fas fa-edit"></i>
-                </button>
-            </div>
-
-            <div class="card-body">
-                <div class="container">
-
-                    <div v-if="dataKepegawaian.length === 0" class="no-data-kepegawaian">
-                        <div v-if="!isEditKepegawaian">
-                            Belum ditambahkan.
-                            <br>
-                        </div>
-                        <button v-if="isEditKepegawaian" class="btn btn-primary float-sm-left" v-on:click="addDataKepegawaian">
-                            Tambah <i class="fas fa-plus"></i>
-                        </button>
-                        
-                    </div>
-
-                    <div v-if="dataKepegawaian.length !== 0" class="data-kepegawaian">
-                        <table class="table">
-                            <thead>
-                            <tr>
-                                <th scope="col">Unit Kerja</th>
-                                <th scope="col">Posisi</th>
-                                <th scope="col">Tahun Mulai</th>
-                                <th scope="col">Tahun Selesai</th>
-                            </tr>
-                            </thead>
-                            <tbody v-for="dk in dataKepegawaian">
-                            <tr v-if="!isEditKepegawaian">
-                                <td v-text="unitKerja.find(x => x.id_unit_kerja == dk.id_unit_kerja).nama_unit_kerja" ></td>
-                                <td v-text="posisi.find(x => x.id_posisi == dk.id_posisi).nama_posisi" ></td>
-                                <td v-text="dk.tahun_masuk" ></td>
-                                <td v-text="dk.tahun_keluar" ></td>
-                            </tr>
-                            <tr v-if="isEditKepegawaian">
-                                <td>
-                                    <div class="form-group">
-                                        <select class="form-control" v-model="dk.id_unit_kerja">
-                                            <option v-for="uk in unitKerja" v-bind:value="uk.id_unit_kerja">
-                                                {{ uk.nama_unit_kerja }}
-                                            </option>
-                                        </select>
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <div class="form-group">
-                                        <select class="form-control" v-model="dk.id_posisi">
-                                            <option v-for="pos in posisi" v-bind:value="pos.id_posisi">
-                                                {{ pos.nama_posisi }}
-                                            </option>
-                                        </select>
-                                        <!-- <input v-model="dk.id_posisi" type="text" class="form-control text-center"> -->
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="dk.tahun_masuk" type="text" class="form-control text-center">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="dk.tahun_keluar" type="text" class="form-control text-center">
-                                        <small class="form-text text-muted">*Isi dengan "-" jika belum selesai</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <button v-bind:id="dataKepegawaian.indexOf(dk)" v-on:click="delDataKepegawaian($event)" class="btn btn-danger" type="button">
-                                        Hapus <i class="fas fa-trash-alt"></i>
-                                    </button>
-                                </td>
-                            </tr>
-                            </tbody>
-                            <button v-if="isEditKepegawaian" class="btn btn-primary float-sm-left" v-on:click="addDataKepegawaian">
-                                Tambah <i class="fas fa-plus"></i>
-                            </button>
-                        </table>
-
-                    </div>
-
-                    <br>
-
-                </div>
-            </div>
-            <div class="card-footer text-muted" v-if="isEditKepegawaian">
-                <a href="#data-kepegawaian" class="btn btn-success float-sm-right btn-simpan" v-on:click="saveDataKepegawaian">
-                    Simpan <i class="fas fa-check"></i>
-                    </a>
-                <a href="#data-kepegawaian" class="btn btn-danger float-sm-right" v-on:click="cancelDataKepegawaian">
-                    Batal <i class ="fas fa-times"></i>
-                </a>
-            </div>
-        </div>
-
-        <br>
-
-        <div class="card" id="riwayat-pegawai">
-            <div class="card-header">
-                Riwayat Pendidikan dan Pekerjaan<button class="btn btn-primary float-sm-right" v-on:click="editRiwayatPegawai" v-bind:disabled="disableEdit">
-                    Edit <i class="fas fa-edit"></i>
-                    </button>
-            </div>
-
-            <div class="card-body">
-                <div class="container">
-
-                    <h5>Riwayat Pendidikan</h5>
-
-                    <div v-if="riwayatPendidikan.length === 0" class="no-riwayat-pendidikan">
-                        <div v-if="!isEditRiwayat">
-                            <hr>
-                            Belum ditambahkan.
-                            <br>
-                        </div>
-                        <button v-if="isEditRiwayat" class="btn btn-primary float-sm-left" v-on:click="addRiwayatPendidikan">
-                            Tambah <i class="fas fa-plus"></i>
-                        </button>
-                    </div>
-
-                    <div v-if="riwayatPendidikan.length !== 0" class="riwayat-pendidikan">
-                        <table class="table">
-                            <thead>
-                            <tr>
-                                <th scope="col">Tingkat Pendidikan</th>
-                                <th scope="col">Nama Institusi</th>
-                                <th scope="col">Jurusan</th>
-                                <th scope="col">Tahun Masuk</th>
-                                <th scope="col">Tahun Keluar</th>
-                            </tr>
-                            </thead>
-                            <tbody v-for="rp in riwayatPendidikan">
-                            <tr v-if="!isEditRiwayat">
-                                <td v-text="rp.strata" ></td>
-                                <td v-text="rp.nama_institusi" ></td>
-                                <td v-text="rp.jurusan" ></td>
-                                <td v-text="rp.tahun_masuk" ></td>
-                                <td v-text="rp.tahun_keluar" ></td>
-                            </tr>
-                            <tr v-if="isEditRiwayat">
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="rp.strata" type="text" class="form-control text-center">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="rp.nama_institusi" type="text" class="form-control text-center">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="rp.jurusan" type="text" class="form-control text-center">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="rp.tahun_masuk" type="text" class="form-control text-center">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="rp.tahun_keluar" type="text" class="form-control text-center">
-                                        <small class="form-text text-muted">*Isi dengan "-" jika belum selesai</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <button v-bind:id="riwayatPendidikan.indexOf(rp)" v-on:click="delRiwayatPendidikan($event)" class="btn btn-danger" type="button">
-                                        Hapus <i class="fas fa-trash-alt"></i>
-                                    </button>
-                                </td>
-                            </tr>
-
-                            </tbody>
-                            <button v-if="isEditRiwayat" class="btn btn-primary float-sm-left" v-on:click="addRiwayatPendidikan">
-                                Tambah <i class="fas fa-plus"></i>
-                            </button>
-                        </table>
-
-                    </div>
-
-                    <br><br>
-
-
-                    <h5>Riwayat Pekerjaan (di luar ITB)</h5>
-
-                    <div v-if="riwayatPekerjaan.length === 0" class="no-riwayat-pekerjaan">
-                        <div v-if="!isEditRiwayat">
-                            <hr>
-                            Belum ditambahkan.
-                            <br>
-                        </div>
-                        <button v-if="isEditRiwayat" class="btn btn-primary float-sm-left" v-on:click="addRiwayatPekerjaan">
-                            Tambah <i class="fas fa-plus"></i>
-                        </button>
-                    </div>
-
-                    <div v-if="riwayatPekerjaan.length !== 0" class="riwayat-pekerjaan">
-                        <table class="table">
-                            <thead>
-                            <tr>
-                                <th scope="col">Nama Institusi</th>
-                                <th scope="col">Posisi</th>
-                                <th scope="col">Tahun Masuk</th>
-                                <th scope="col">Tahun Keluar</th>
-                            </tr>
-                            </thead>
-                            <tbody v-for="rp in riwayatPekerjaan">
-                            <tr v-if="!isEditRiwayat">
-                                <td v-text="rp.nama_institusi" ></td>
-                                <td v-text="rp.posisi" ></td>
-                                <td v-text="rp.tahun_masuk" ></td>
-                                <td v-text="rp.tahun_keluar" ></td>
-                            </tr>
-
-                            <tr v-if="isEditRiwayat">
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="rp.nama_institusi" type="text" class="form-control text-center">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="rp.posisi" type="text" class="form-control text-center">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="rp.tahun_masuk" type="text" class="form-control text-center">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="rp.tahun_keluar" type="text" class="form-control text-center">
-                                        <small class="form-text text-muted">*Isi dengan "-" jika belum selesai</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <button v-bind:id="riwayatPekerjaan.indexOf(rp)" v-on:click="delRiwayatPekerjaan($event)" class="btn btn-danger" type="button">
-                                        Hapus <i class="fas fa-trash-alt"></i>
-                                    </button>
-                                </td>
-                            </tr>
-                            </tbody>
-                            <button v-if="isEditRiwayat" class="btn btn-primary float-sm-left" v-on:click="addRiwayatPekerjaan">
-                                Tambah <i class="fas fa-plus"></i>
-                            </button>
-                        </table>
-
-                    </div>
-
-                </div>
-            </div>
-            <div class="card-footer text-muted" v-if="isEditRiwayat">
-                <a href="#riwayat-pegawai" class="btn btn-success float-sm-right btn-simpan" v-on:click="saveRiwayatPegawai">
-                    Simpan <i class="fas fa-check"></i>
-                    </a>
-                <a href="#riwayat-pegawai" class="btn btn-danger float-sm-right" v-on:click="cancelRiwayatPegawai">
-                    Batal <i class ="fas fa-times"></i>
-                </a>
-            </div>
-        </div>
-
-        <br>
-
-        <div class="card" id="sertificate">
-            <div class="card-header">
-                Sertifikat<button class="btn btn-primary float-sm-right" v-on:click="editSertifikat" v-bind:disabled="disableEdit">
-                    Edit <i class="fas fa-edit"></i>
-                    </button>
-            </div>
-
-            <div class="card-body">
-                <div class="container">
-                    <div v-if="sertifikat.length === 0" class="no-sertificate">
-                        <div v-if="!isEditSertifikat">
-                            Belum ditambahkan.
-                            <br>
-                        </div>
-                        <button v-if="isEditSertifikat" class="btn btn-primary float-sm-left" v-on:click="addSertifikat">
-                            Tambah <i class="fas fa-plus"></i>
-                        </button>
-                    </div>
-
-                    <div v-if="sertifikat.length !== 0" class="sertificate">
-                        <table class="table" align="left" style="width: 100%">
-                            <tbody v-for="dk in sertifikat">
-                            <div v-if="!isEditSertifikat">
-                                <colgroup>
-                                    <col width="35%">
-                                    <col width="15%">
-                                    <col width="50%">
-                                </colgroup>
-                                <tr>
-                                    <td rowspan="4">
-                                            <img id="img-sertifikat-1" v-bind:src="dk.nama_file" class="img-thumbnail" width="200">
-                                    </td>
-                                    <th scope="col">Judul</th>
-                                    <td v-text="dk.judul" ></td>
-                                </tr>
-                                <tr>
-                                    <th scope="col">Lembaga</th>
-                                    <td v-text="dk.lembaga" ></td>
-                                </tr>
-                                <tr>
-                                    <th scope="col">Tahun Diterbitkan</th>
-                                    <td v-text="dk.tahun_diterbitkan" ></td>
-                                </tr>
-                                <tr>
-                                    <th scope="col">Catatan</th>
-                                    <td v-text="dk.catatan" ></td>   
-                                </tr>
-                            </div>
-
-                            <div v-if="isEditSertifikat">
-                            <tr>
-                                <td rowspan="4">
-                                    <div>
-                                        <button v-bind:id="sertifikat.indexOf(dk)" v-on:click="delSertifikat($event)" class="btn btn-danger" type="button">
-                                            Hapus <i class="fas fa-trash-alt"></i>
-                                        </button>
-                                    </div>
-                                    <br>
-                                    <div v-if="dk.nama_file !== NULL">
-                                        <input type="file" v-bind:id="sertifikat.indexOf(dk)" v-on:change="onFileChange" class="form-control">
-                                    </div>
-                                    <div v-if="dk.nama_file == NULL">
-                                        <input type="file" v-bind:id="sertifikat.indexOf(dk)" v-on:change="onFileChange" class="form-control">
-                                    </div>
-                                </td>
-                                <td rowspan="4">
-                                    <img id="img-sertifikat-1" v-bind:src="dk.nama_file" class="img-thumbnail" width="200">
-                                </td>
-                                <th scope="col">Judul</th>
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="dk.judul" type="text" class="form-control">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                            </tr>
-                            <tr>
-                                <th scope="col">Lembaga</th>
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="dk.lembaga" type="text" class="form-control">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                            </tr>
-                            <tr>
-                                <th scope="col">Tahun Diterbitkan</th>
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="dk.tahun_diterbitkan" type="text" class="form-control">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                            </tr>
-                            <tr>
-                                <th scope="col">Catatan</th>
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="dk.catatan" type="text" class="form-control">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                            </tr>
-                            </div>
-                            </tbody>
-                            <button v-if="isEditSertifikat" class="btn btn-primary float-sm-left" v-on:click="addSertifikat">
-                                Tambah <i class="fas fa-plus"></i>
-                            </button>
-                        </table>
-                    </div>
-                </div>
-            </div>
-            <div class="card-footer text-muted" v-if="isEditSertifikat">
-                <a href="#sertificate" class="btn btn-success float-sm-right btn-simpan" v-on:click="saveSertifikat">
-                    Simpan <i class="fas fa-check"></i>
-                    </a>
-                <a href="#sertificate" class="btn btn-danger float-sm-right" v-on:click="cancelSertifikat">
-                    Batal <i class ="fas fa-times"></i>
-                </a>
-            </div>
-        </div>
-
-
-        <br>
-
-        <div class="card" id="data-kinerja">
-            <div class="card-header">
-                Hasil Kinerja<button class="btn btn-primary float-sm-right" v-on:click="editDataKinerja" v-bind:disabled="disableEdit">
-                    Edit <i class="fas fa-edit"></i>
-                    </button>
-            </div>
-
-            <div class="card-body">
-                <div class="container">
-                    <div v-if="dataKinerja.length === 0" class="no-data-kinerja">
-                        <div v-if="!isEditDataKinerja">
-                            Belum ditambahkan.
-                            <br>
-                        </div>
-                        <button v-if="isEditDataKinerja" class="btn btn-primary float-sm-left" v-on:click="addDataKinerja">
-                            Tambah <i class="fas fa-plus"></i>
-                        </button>
-                    </div>
-
-                    <div v-if="dataKinerja.length !== 0" class="data-kinerja">
-                        <table class="table">
-                            <thead>
-                            <tr>
-                                <th scope="col">Tahun</th>
-                                <th scope="col">Semester</th>
-                                <th scope="col">Nilai</th>
-                                <th scope="col">Catatan</th>
-                            </tr>
-                            </thead>
-                            <tbody v-for="dk in dataKinerja">
-                            <tr v-if="!isEditDataKinerja">
-                                <td v-text="dk.tahun" ></td>
-                                <td v-text="dk.semester" ></td>
-                                <td v-text="dk.nilai" ></td>
-                                <td v-text="dk.catatan" ></td>
-                            </tr>
-
-                            <tr v-if="isEditDataKinerja">
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="dk.tahun" type="text" class="form-control text-center">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="dk.semester" type="text" class="form-control text-center">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="dk.nilai" type="text" class="form-control text-center">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <div class="form-group">
-                                        <input v-model="dk.catatan" type="text" class="form-control text-center">
-                                        <small class="form-text text-muted">*Wajib diisi</small>
-                                    </div>
-                                </td>
-                                <td>
-                                    <button v-bind:id="dataKinerja.indexOf(dk)" v-on:click="delDataKinerja($event)" class="btn btn-danger" type="button">
-                                        Hapus <i class="fas fa-trash-alt"></i>
-                                    </button>
-                                </td>
-                            </tr>
-                            </tbody>
-                            <button v-if="isEditDataKinerja" class="btn btn-primary float-sm-left" v-on:click="addDataKinerja">
-                                Tambah <i class="fas fa-plus"></i>
-                            </button>
-                        </table>
-                    </div>
-                </div>
-            </div>
-            <div class="card-footer text-muted" v-if="isEditDataKinerja">
-                <a href="#data-kinerja" class="btn btn-success float-sm-right btn-simpan" v-on:click="saveDataKinerja">
-                    Simpan <i class="fas fa-check"></i>
-                    </a>
-                <a href="#data-kinerja" class="btn btn-danger float-sm-right" v-on:click="cancelDataKinerja">
-                    Batal <i class ="fas fa-times"></i>
-                </a>
-            </div>
-        </div>
-
-        <br>
-
-        <div class="card" id="data-kompetensi">
-            <div class="card-header">
-                Hasil Kompetensi
-            </div>
-
-            <div class="card-body">
-                <div class="container">
-
-                    Belum ditambahkan.
-
-                </div>
-            </div>
-        </div>
-
-        <br>
-
-        <div class="card" id="rekomendasi">
-            <div class="card-header">
-                Rekomendasi
-            </div>
-
-            <div class="card-body">
-                <div class="container">
-
-                    <h5>Rekomendasi Training</h5>
-
-                    <div v-if="rekomendasiTraining.length === 0" class="no-rekomendasi-trainiing">
-                        <hr>
-                        Belum dimtambahkan.
-                        <br>
-                    </div>
-
-                    <div v-if="rekomendasiTraining.length !== 0" class="rekomendasi-trainiing">
-                        <table class="table">
-                            <thead>
-                            <tr>
-                                <th scope="col">Nama Training</th>
-                                <th scope="col">Penyelenggara</th>
-                                <th scope="col">Bidang</th>
-                            </tr>
-                            </thead>
-                            <tbody v-for="rp in rekomendasiTraining">
-                            <tr>
-                                <td v-text="rp.namaTraining" ></td>
-                                <td v-text="rp.penyelenggara" ></td>
-                                <td v-text="rp.bidang" ></td>
-                            </tr>
-                            </tbody>
-                        </table>
-
-                    </div>
-
-                    <br><br>
-
-
-                    <h5>Rekomendasi Lain-lain</h5>
-
-                    <hr>
-
-                    Tidak ada.
-
-                </div>
-            </div>
-        </div>
-
-    </div>
-
-</template>
-
-<script>
-    export default {
-        props: ['id', 'kinerja', 'unit-kerja', 'posisi', 'kelompok-kompetensi'],
-
-        data() {
-            return {
-                //dummy
-                dataKinerja: [
-                    {tahun : 2010, semester:1, nilai:2.50, catatan:"ini catatan"}
-                ],
-                sertifikat: [],
-                rekomendasiTraining : [],   
-
-                sertifikatCounter: 0,
-
-                disableEdit: false,
-                isEditProfile: false,
-                isEditKepegawaian: false,
-                isEditRiwayat: false,
-                isEditSertifikat: false,
-                isEditDataKinerja: false,
-                cachedPegawai: null,
-                cachedDataKepegawaian: null,
-                cachedRiwayatPendidikan: null,
-                cachedRiwayatPekerjaan: null,
-                cachedSertifikat: null,
-                cachedDataKinerja: null,
-                pegawai: {
-                    imageProfileUrl: null,
-                    nama: null,
-                    tempatLahir: null,
-                    tanggalLahir: null,
-                    email: null,
-                    nopeg: null,
-                    unitKerja: {
-                        id: null,
-                        text: null
-                    },
-                    posisi: {
-                        id: null,
-                        text: null   
-                    },
-                    kompetensi: {
-                        id: null,
-                        text: null   
-                    },
-                    tahunMasuk: null
-                },
-                dataKepegawaian: [],
-                riwayatPendidikan: [],
-                riwayatPekerjaan: []
-            }
-               
-        },  
-
-        mounted() {
-            
-        },
-
-        created() {
-
-            axios.get('/api/pegawai/' + this.id)
-                .then((response) => {
-                    //get data from api response
-                    var responsePegawai = response.data["data"];
-
-                    this.dataKepegawaian = responsePegawai["kepegawaian"];
-                    this.riwayatPendidikan = responsePegawai["pendidikan"];
-                    this.riwayatPekerjaan = responsePegawai["pekerjaan"];
-                    this.updateDataKepegawaian();
-
-                    this.sertifikat = responsePegawai["sertifikat"];
-                    this.updateSertifikat();
-
-                    this.pegawai.nama = responsePegawai["user"]["name"];
-                    this.pegawai.tempatLahir = responsePegawai["pegawai"]["tempat_lahir"];
-                    this.pegawai.tanggalLahir = responsePegawai["pegawai"]["tanggal_lahir"];
-                    this.pegawai.email = responsePegawai["user"]["email"];
-                    this.pegawai.nopeg = responsePegawai["pegawai"]["nip"];
-                    this.pegawai.imageProfileUrl = 'pimage/' + responsePegawai["pegawai"]["nip"] + '.' + responsePegawai["pegawai"]["ekstensi_foto"];
-                    this.pegawai.kompetensi.id = responsePegawai["pegawai"]["id_kelompok_kompetensi"];
-                    this.updateProfilPegawai();
-
-                    //chacing
-                    this.cachedPegawai = JSON.parse(JSON.stringify(this.pegawai));
-                    this.cachedDataKepegawaian = JSON.parse(JSON.stringify(this.dataKepegawaian));
-                    this.cachedRiwayatPendidikan = JSON.parse(JSON.stringify(this.riwayatPendidikan));
-                    this.cachedRiwayatPekerjaan = JSON.parse(JSON.stringify(this.riwayatPekerjaan));
-                    this.cachedSertifikat = JSON.parse(JSON.stringify(this.sertifikat));
-
-                    console.log(this);
-                })
-                .catch(function (error) {
-                    console.log(error);
-                });
-
-            //caching others
-            this.cachedDataKinerja = JSON.parse(JSON.stringify(this.dataKinerja));
-            
-        },
-
-        methods: {
-            updateProfilPegawai() {
-                if (this.pegawai.unitKerja.id != null) {
-                    this.pegawai.unitKerja.text = this.unitKerja.find(x => x.id_unit_kerja == this.pegawai.unitKerja.id).nama_unit_kerja;
-                } else {
-                    this.pegawai.unitKerja.text = null;
-                }
-
-                
-                if (this.pegawai.kompetensi.id != null) {
-                    this.pegawai.kompetensi.text = this.kelompokKompetensi.find(x => x.id_kelompok_kompetensi == this.pegawai.kompetensi.id).nama_kelompok_kompetensi;
-                } else {
-                    this.pegawai.kompetensi.text = null;
-                }
-                    
-                if (this.pegawai.posisi.id != null) {
-                    this.pegawai.posisi.text = this.posisi.find(x => x.id_posisi == this.pegawai.posisi.id).nama_posisi;
-                } else {
-                    this.pegawai.posisi.text = null;
-                }
-            },
-
-            updateDataKepegawaian() {
-                
-                //update relevan
-                if (this.dataKepegawaian.length == 0) {
-                    this.pegawai.unitKerja.id = null;
-                    this.pegawai.posisi.id = null;
-                    this.pegawai.tahunMasuk = null;
-                } else {
-                    //sort
-                    this.dataKepegawaian.sort(function(a, b){
-                        var keyA = a.tahun_masuk,
-                            keyB = b.tahun_masuk;
-                        // Compare the 2 dates
-                        if(keyA < keyB) return -1;
-                        if(keyA > keyB) return 1;
-                        return 0;
-                    });
-                    var lastDataPegawai = this.dataKepegawaian[this.dataKepegawaian.length-1];
-                    this.pegawai.unitKerja.id = lastDataPegawai["id_unit_kerja"];
-                    this.pegawai.posisi.id = lastDataPegawai["id_posisi"];
-                    this.pegawai.tahunMasuk = lastDataPegawai["tahun_masuk"];
-                }
-            },
-
-            updateDataKepegawaianAfterEditProfile() {
-                
-                //update relevan
-                if (this.dataKepegawaian.length == 0) {
-                    var newData = {
-                        id_data_kepegawaian : null,
-                        id_pegawai : null,
-                        id_unit_kerja : this.pegawai.unitKerja.id,
-                        id_posisi : this.pegawai.posisi.id,
-                        tahun_masuk : this.pegawai.tahunMasuk,
-                        tahun_keluar : null
-                    };
-                    this.dataKepegawaian.push(newData);
-                } else {
-                    //sort
-                    this.dataKepegawaian.sort(function(a, b){
-                        var keyA = a.tahun_masuk,
-                            keyB = b.tahun_masuk;
-                        // Compare the 2 dates
-                        if(keyA < keyB) return -1;
-                        if(keyA > keyB) return 1;
-                        return 0;
-                    });
-                    var lastDataPegawai = this.dataKepegawaian[this.dataKepegawaian.length-1];
-                    lastDataPegawai["id_unit_kerja"] = this.pegawai.unitKerja.id;
-                    lastDataPegawai["id_posisi"] = this.pegawai.posisi.id;
-                    lastDataPegawai["tahun_masuk"] = this.pegawai.tahunMasuk;
-                }
-            },
-
-            updateSertifikat(){
-                for(var i = 0; i < this.sertifikat.length; i++){
-                    this.sertifikat[i].nama_file = 'simage/' + this.sertifikat[i].nama_file;
-                }
-            },
-
-            disableEditButton() {
-                this.disableEdit = true;
-            },
-
-            enableEditButton() {
-                this.disableEdit = false;
-            },
-
-            editProfilPegawai() {
-                this.isEditProfile = true;
-                this.disableEditButton();
-            },
-
-            editDataKepegawaian() {
-                this.isEditKepegawaian = true;
-                this.disableEditButton();
-            },
-
-            editRiwayatPegawai() {
-                this.isEditRiwayat = true;
-                this.disableEditButton();
-            },
-
-            editSertifikat() {
-                this.isEditSertifikat = true;
-                this.disableEditButton();
-                this.sertifikatCounter = this.sertifikat.length;
-            },
-
-            editDataKinerja() {
-                this.isEditDataKinerja = true;
-                this.disableEditButton();
-            },
-
-            addDataKepegawaian() {
-                var newData = {
-                    id_data_kepegawaian : null,
-                    id_pegawai : null,
-                    id_unit_kerja : null,
-                    id_posisi : null,
-                    tahun_masuk : null,
-                    tahun_keluar : null
-                };
-                this.dataKepegawaian.push(newData);
-            },
-
-            addRiwayatPendidikan() {
-                var newData = {
-                    id_riwayat_pendidikan : null,
-                    id_pegawai : null,
-                    nama_institusi : null,
-                    strata : null,
-                    jurusan : null,
-                    tahun_masuk : null,
-                    tahun_keluar : null
-                };
-                this.riwayatPendidikan.push(newData);
-            },
-
-            addRiwayatPekerjaan() {
-                var newData = {
-                    id_riwayat_pendidikan : null,
-                    id_pegawai : null,
-                    nama_institusi : null,
-                    posisi : null,
-                    tahun_masuk : null,
-                    tahun_keluar : null
-                };
-                this.riwayatPekerjaan.push(newData);
-            },
-
-            addSertifikat() {
-                var newData = {
-
-                };
-                this.sertifikat.push(newData);
-                this.sertifikatCounter++;
-            },
-
-            addDataKinerja() {
-                var newData = {
-                    id_kinerja : null,
-                    id_pegawai : null,
-                    tahun : null,
-                    semester : null,
-                    nilai : null,
-                    catatan : null
-                };
-                this.dataKinerja.push(newData);
-            },
-
-            delDataKepegawaian(event) {
-                var targetIndex = event.currentTarget.id;
-                this.dataKepegawaian.splice(targetIndex, 1);
-            },
-
-            delRiwayatPendidikan(event) {
-                var targetIndex = event.currentTarget.id;
-                this.riwayatPendidikan.splice(targetIndex, 1);
-            },
-
-            delRiwayatPekerjaan(event) {
-                var targetIndex = event.currentTarget.id;
-                this.riwayatPekerjaan.splice(targetIndex, 1);
-            },
-
-            delSertifikat(event) {
-                var targetIndex = event.currentTarget.id;
-                this.sertifikat.splice(targetIndex, 1);
-                this.sertifikatCounter--;
-            },
-
-            delDataKinerja(event) {
-                var targetIndex = event.currentTarget.id;
-                this.dataKinerja.splice(targetIndex, 1);
-            },
-
-            saveProfilPegawai() {
-                this.enableEditButton();
-                // this.cachedPegawai = Object.assign({}, this.pegawai);
-
-                this.updateProfilPegawai();
-                this.updateDataKepegawaianAfterEditProfile();
-
-                this.cachedPegawai = JSON.parse(JSON.stringify(this.pegawai));
-                this.isEditProfile = false;
-
-                // axios.patch('/api/pegawai/4', {
-                //     name: this.user.nama,
-                //     email: this.user.email,
-                //     password: '1234',
-                //     nip: this.user.nopeg
-                // })
-                // .then(function (response) {
-                //     alert(response);
-                // })
-                // .catch(function (error) {
-                //     alert(error);
-                // });
-
-            },
-
-            saveDataKepegawaian() {
-                this.updateDataKepegawaian();
-                this.updateProfilPegawai();
-                this.enableEditButton();
-                // this.cachedDataKepegawaian = Object.assign({}, this.dataKepegawaian);
-                this.cachedDataKepegawaian = JSON.parse(JSON.stringify(this.dataKepegawaian));
-                this.isEditKepegawaian = false;
-
-            },
-
-            saveRiwayatPegawai() {
-                //sort
-                this.riwayatPendidikan.sort(function(a, b){
-                        var keyA = a.tahun_masuk,
-                            keyB = b.tahun_masuk;
-                        // Compare the 2 dates
-                        if(keyA < keyB) return -1;
-                        if(keyA > keyB) return 1;
-                        return 0;
-                    });
-
-                //sort
-                this.riwayatPekerjaan.sort(function(a, b){
-                        var keyA = a.tahun_masuk,
-                            keyB = b.tahun_masuk;
-                        // Compare the 2 dates
-                        if(keyA < keyB) return -1;
-                        if(keyA > keyB) return 1;
-                        return 0;
-                    });
-
-                this.enableEditButton();
-                // this.cachedRiwayatPendidikan = Object.assign({}, this.riwayatPendidikan);
-                // this.cachedRiwayatPekerjaan = Object.assign({}, this.riwayatPekerjaan);
-                this.cachedRiwayatPendidikan = JSON.parse(JSON.stringify(this.riwayatPendidikan));
-                this.cachedRiwayatPekerjaan = JSON.parse(JSON.stringify(this.riwayatPekerjaan));
-                this.isEditRiwayat = false;
-
-                
-            },
-
-            saveSertifikat() {
-                console.log(this.sertifikat);
-
-                axios.post('/api/sertifikat/' + this.id, {
-                    sertifikat: this.sertifikat,
-                    _method: 'put'
-                })
-                .then(function (response) {
-                    console.log(response);
-                    window.location.href = "/pages/profile";
-                })
-                .catch(function (error) {
-                    alert(error);
-                });                
-            },
-
-            saveDataKinerja() {
-                //sort
-                this.dataKinerja.sort(function(a, b){
-                        var keyA = a.tahun,
-                            keyB = b.tahun;
-                        // Compare the 2 dates
-                        if(keyA < keyB) return -1;
-                        if(keyA > keyB) return 1;
-                        if (keyA == keyB) {
-                            if (a.semester < b.semester) return -1;
-                            else return 1;
-                        }
-                    });
-
-                this.enableEditButton();
-                this.cachedDataKinerja = JSON.parse(JSON.stringify(this.dataKinerja));
-                this.isEditDataKinerja = false;
-            },
-
-            cancelProfilPegawai() {
-                this.enableEditButton();
-                this.pegawai = JSON.parse(JSON.stringify(this.cachedPegawai));
-                this.isEditProfile = false;
-            },
-
-            cancelDataKepegawaian() {
-                this.enableEditButton();
-                this.dataKepegawaian = JSON.parse(JSON.stringify(this.cachedDataKepegawaian));
-                this.isEditKepegawaian = false;
-            },
-
-            cancelRiwayatPegawai() {
-                this.enableEditButton();
-                this.riwayatPendidikan = JSON.parse(JSON.stringify(this.cachedRiwayatPendidikan));
-                this.riwayatPekerjaan = JSON.parse(JSON.stringify(this.cachedRiwayatPekerjaan));
-                this.isEditRiwayat = false;
-            },
-
-            cancelSertifikat() {
-                this.enableEditButton();
-                this.sertifikat = JSON.parse(JSON.stringify(this.cachedSertifikat));
-                this.isEditSertifikat = false;
-            },
-
-            cancelDataKinerja() {
-                this.enableEditButton();
-                this.dataKinerja = JSON.parse(JSON.stringify(this.cachedDataKinerja));
-                this.isEditDataKinerja = false;
-            },
-
-            onFileChange(e) {
-                let files = e.target.files || e.dataTransfer.files;
-                if (!files.length)
-                    return;
-                this.createImage(files[0], e.currentTarget.id);
-            },
-            createImage(file, id) {
-                let reader = new FileReader();
-                let vm = this;
-                reader.onload = (e) => {
-                    vm.sertifikat[id].nama_file = e.target.result;
-                };
-                reader.readAsDataURL(file);
-            },
-        }
-    }
-</script>
-
-<style>
-
-</style>
\ No newline at end of file
diff --git a/resources/assets/js/components/ProfilPegawai.vue b/resources/assets/js/components/ProfilPegawai.vue
index 0194f911ec1208abdf4b8f14ac585d99f7cf261b..7ce5eb7b8af74595ae5c7ad6afd3f63aa137becc 100644
--- a/resources/assets/js/components/ProfilPegawai.vue
+++ b/resources/assets/js/components/ProfilPegawai.vue
@@ -14,7 +14,7 @@
                         <div class="col-sm-3 img-responsive">
                             <img id="img-profile" v-bind:src="pegawai.imageProfileUrl" class="img-thumbnail">
                             <br><br>
-                            <button v-if="isEditProfile" type="button" class="btn btn-primary">Ganti Foto</button>
+                            <input type="file" v-if="isEditProfile" v-on:change="FileChangeProfile" class="form-control">
                         </div>
                         <div class="col-sm-1"></div>
                         <div class="col-sm-7">
@@ -502,7 +502,7 @@
                                 </colgroup>
                                 <tr>
                                     <td rowspan="4">
-                                            <img id="img-sertifikat-1" v-bind:src="dk.nama_file" class="img-thumbnail" width="200">
+                                        <img id="img-sertifikat-1" v-bind:src="dk.nama_file" class="img-thumbnail" width="200">
                                     </td>
                                     <th scope="col">Judul</th>
                                     <td v-text="dk.judul" ></td>
@@ -529,16 +529,11 @@
                                             Hapus <i class="fas fa-trash-alt"></i>
                                         </button>
                                     </div>
-                                    <br>
-                                    <div v-if="dk.nama_file !== NULL">
-                                        <input type="file" v-bind:id="sertifikat.indexOf(dk)" v-on:change="onFileChange" class="form-control">
-                                    </div>
-                                    <div v-if="dk.nama_file == NULL">
-                                        <input type="file" v-bind:id="sertifikat.indexOf(dk)" v-on:change="onFileChange" class="form-control">
-                                    </div>
                                 </td>
                                 <td rowspan="4">
                                     <img id="img-sertifikat-1" v-bind:src="dk.nama_file" class="img-thumbnail" width="200">
+                                    <br><br>
+                                    <input type="file" v-bind:id="sertifikat.indexOf(dk)" v-on:change="FileChangeSertifikat" class="form-control">
                                 </td>
                                 <th scope="col">Judul</th>
                                 <td>
@@ -694,7 +689,9 @@
 
         <div class="card" id="data-kompetensi">
             <div class="card-header">
-                Hasil Kompetensi
+                Hasil Kompetensi<button class="btn btn-primary float-sm-right" v-on:click="editDataKompetensi" v-bind:disabled="disableEdit">
+                    Edit <i class="fas fa-edit"></i>
+                    </button>
             </div>
 
             <div class="card-body">
@@ -710,7 +707,9 @@
 
         <div class="card" id="rekomendasi">
             <div class="card-header">
-                Rekomendasi
+                Rekomendasi<button class="btn btn-primary float-sm-right" v-on:click="editRekomendasi" v-bind:disabled="disableEdit">
+                    Edit <i class="fas fa-edit"></i>
+                    </button>
             </div>
 
             <div class="card-body">
@@ -718,43 +717,127 @@
 
                     <h5>Rekomendasi Training</h5>
 
-                    <div v-if="rekomendasiTraining.length === 0" class="no-rekomendasi-trainiing">
-                        <hr>
-                        Belum dimtambahkan.
-                        <br>
+                    <hr>
+
+                    <div v-if="rekomendasiTraining.length === 0" class="no-rekomendasi-posisi">
+                        <div v-if="!isEditRekomendasi">
+                            Belum ditambahkan.
+                            <br>
+                        </div>
+                        <button v-if="isEditRekomendasi" class="btn btn-primary float-sm-left" v-on:click="addRekomendasiTraining">
+                            Tambah <i class="fas fa-plus"></i>
+                        </button>
+                        
+                    </div>
+
+                    <div v-if="rekomendasiTraining.length !== 0" v-for="rt in rekomendasiTraining" class="rekomendasi-training">
+                        <ul v-if="!isEditRekomendasi">
+                            <li v-text="trainingList.find(x => x.id_training == rt.id_training).nama_training"></li>
+                        </ul>
+
+                        <div v-if="isEditRekomendasi" class="form-group row">
+                            <div class="col-sm-10">
+                                <select class="form-control" v-model="rt.id_training">
+                                    <option v-for="tl in trainingList" v-bind:value="tl.id_training">
+                                        {{ tl.nama_training }}
+                                    </option>
+                                </select>
+                                <small class="form-text text-muted">*Wajib diisi</small>
+                            </div>
+                            <div class="col-sm-1">
+                                <button v-bind:id="rekomendasiTraining.indexOf(rt)" v-on:click="delRekomendasiTraining($event)" class="btn btn-danger" type="button">
+                                    Hapus <i class="fas fa-trash-alt"></i>
+                                </button>
+                            </div>
+                            
+                        </div>
+
+
                     </div>
 
-                    <div v-if="rekomendasiTraining.length !== 0" class="rekomendasi-trainiing">
+                    <button v-if="isEditRekomendasi && rekomendasiTraining.length !== 0" class="btn btn-primary float-sm-left" v-on:click="addRekomendasiTraining">
+                        Tambah <i class="fas fa-plus"></i>
+                    </button>
+
+                    <br><br><br>
+
+
+                    <h5>Rekomendasi Lain-lain</h5>
+
+                    
+
+                    <div v-if="rekomendasiPosisi.length === 0" class="no-rekomendasi-posisi">
+                        <div v-if="!isEditRekomendasi">
+                            <hr>
+                            Belum ditambahkan.
+                            <br>
+                        </div>
+                        <button v-if="isEditRekomendasi" class="btn btn-primary float-sm-left" v-on:click="addRekomendasiPosisi">
+                            Tambah <i class="fas fa-plus"></i>
+                        </button>
+                        
+                    </div>
+
+                    <div v-if="rekomendasiPosisi.length !== 0" class="rekomendasi-posisi">
                         <table class="table">
                             <thead>
                             <tr>
-                                <th scope="col">Nama Training</th>
-                                <th scope="col">Penyelenggara</th>
-                                <th scope="col">Bidang</th>
+                                <th scope="col">Unit Kerja</th>
+                                <th scope="col">Jabatan</th>
                             </tr>
                             </thead>
-                            <tbody v-for="rp in rekomendasiTraining">
-                            <tr>
-                                <td v-text="rp.namaTraining" ></td>
-                                <td v-text="rp.penyelenggara" ></td>
-                                <td v-text="rp.bidang" ></td>
+                            <tbody v-for="rp in rekomendasiPosisi">
+                            <tr v-if="!isEditRekomendasi">
+                                <td v-text="unitKerja.find(x => x.id_unit_kerja == rp.id_unit_kerja).nama_unit_kerja" ></td>
+                                <td v-text="posisi.find(x => x.id_posisi == rp.id_posisi).nama_posisi" ></td>
+                            </tr>
+                            <tr v-if="isEditRekomendasi">
+                                <td>
+                                    <div class="form-group">
+                                        <select class="form-control" v-model="rp.id_unit_kerja">
+                                            <option v-for="uk in unitKerja" v-bind:value="uk.id_unit_kerja">
+                                                {{ uk.nama_unit_kerja }}
+                                            </option>
+                                        </select>
+                                        <small class="form-text text-muted">*Wajib diisi</small>
+                                    </div>
+                                </td>
+                                <td>
+                                    <div class="form-group">
+                                        <select class="form-control" v-model="rp.id_posisi">
+                                            <option v-for="pos in posisi" v-bind:value="pos.id_posisi">
+                                                {{ pos.nama_posisi }}
+                                            </option>
+                                        </select>
+                                        <small class="form-text text-muted">*Wajib diisi</small>
+                                    </div>
+                                </td>
+                                <td>
+                                    <button v-bind:id="rekomendasiPosisi.indexOf(rp)" v-on:click="delRekomendasiPosisi($event)" class="btn btn-danger" type="button">
+                                        Hapus <i class="fas fa-trash-alt"></i>
+                                    </button>
+                                </td>
                             </tr>
                             </tbody>
+                            <button v-if="isEditRekomendasi" class="btn btn-primary float-sm-left" v-on:click="addRekomendasiPosisi">
+                                Tambah <i class="fas fa-plus"></i>
+                            </button>
                         </table>
 
                     </div>
 
-                    <br><br>
-
-
-                    <h5>Rekomendasi Lain-lain</h5>
-
-                    <hr>
-
-                    Tidak ada.
+                    <br>
 
                 </div>
             </div>
+            <div class="card-footer text-muted" v-if="isEditRekomendasi">
+                <a href="#rekomendasi" class="btn btn-success float-sm-right btn-simpan" v-on:click="saveRekomendasi">
+                    Simpan <i class="fas fa-check"></i>
+                    </a>
+                <a href="#rekomendasi" class="btn btn-danger float-sm-right" v-on:click="cancelRekomendasi">
+                    Batal <i class ="fas fa-times"></i>
+                </a>
+            </div>
         </div>
 
     </div>
@@ -763,11 +846,11 @@
 
 <script>
     export default {
-        props: ['id', 'unit-kerja', 'posisi', 'kelompok-kompetensi', 'data-kinerja-temp'],
+        props: ['id', 'unit-kerja', 'posisi', 'kelompok-kompetensi', 'data-kinerja-temp', 'rekomendasi-training-temp', 'training-list', 'rekomendasi-posisi-temp'],
 
         data() {
             return {
-                //dummy
+                
                 pegawai: {
                     imageProfileUrl: "",
                     nama: "",
@@ -781,17 +864,11 @@
                     tahunMasuk: ""
                 },
                 dataKepegawaian: [],
+                dataKepegawaianPrev: null,
                 riwayatPendidikan: [],
                 riwayatPekerjaan: [],  
                 sertifikat: [],
 
-                dataKinerja: [
-                    {tahun : 2010, semester:1, nilai:2.50, catatan:"ini catatan"}
-                ],
-                rekomendasiTraining : [],
-
-                sertifikatCounter : 0,
-
                 isShowAllDataKinerja: false,
                 disableEdit: false,
                 isEditProfile: false,
@@ -799,12 +876,15 @@
                 isEditRiwayat: false,
                 isEditSertifikat: false,
                 isEditDataKinerja: false,
+                isEditRekomendasi: false,
                 cachedPegawai: null,
                 cachedDataKepegawaian: null,
                 cachedRiwayatPendidikan: null,
                 cachedRiwayatPekerjaan: null,
                 cachedSertifikat: null,
                 cachedDataKinerja: null,
+                cachedRekomendasiTraining: null,
+                cachedRekomendasiPosisi:null,
                 pegawai: {
                     imageProfileUrl: null,
                     nama: null,
@@ -830,7 +910,9 @@
                 riwayatPendidikan: [],
                 riwayatPekerjaan: [],
                 dataKinerja: [],
-                dataKinerjaShow: []
+                dataKinerjaShow: [],
+                rekomendasiTraining : [],
+                rekomendasiPosisi : []
             }
                
         },  
@@ -853,6 +935,8 @@
                     this.riwayatPekerjaan = responsePegawai["pekerjaan"];
                     this.updateDataKepegawaian();
 
+                    this.dataKepegawaianPrev = this.dataKepegawaian[this.dataKepegawaian.length-1];
+
                     this.sertifikat = responsePegawai["sertifikat"];
                     this.updateSertifikat();
 
@@ -882,13 +966,20 @@
             //caching others
             this.cachedDataKinerja = JSON.parse(JSON.stringify(this.dataKinerja));
             
-            // dataKinerjaShow
+            // init dataKinerjaShow
             if (this.dataKinerja.length > 6) {
                 this.dataKinerjaShow = this.dataKinerja.slice(this.dataKinerja.length-6);
             } else {
                 this.dataKinerjaShow = this.dataKinerja;
             }
-            
+
+            //init rekomendasiTraining
+            this.rekomendasiTraining = this.rekomendasiTrainingTemp;
+            this.cachedRekomendasiTraining = JSON.parse(JSON.stringify(this.rekomendasiTraining));
+
+            //init rekomendasiPosisi
+            this.rekomendasiPosisi = this.rekomendasiPosisiTemp;
+            this.cachedRekomendasiPosisi = JSON.parse(JSON.stringify(this.rekomendasiPosisi));
         },
 
         methods: {
@@ -1013,10 +1104,8 @@
             },
 
             editSertifikat() {
-                this.sertifikatCounter = this.sertifikat.length;
                 this.isEditSertifikat = true;
                 this.disableEditButton();
-                this.sertifikatCounter = this.sertifikat.length;
             },
 
             editDataKinerja() {
@@ -1024,6 +1113,15 @@
                 this.disableEditButton();
             },
 
+            editDataKompetensi() {
+
+            },
+
+            editRekomendasi() {
+                this.isEditRekomendasi = true;
+                this.disableEditButton();
+            },
+
             addDataKepegawaian() {
                 var newData = {
                     id_data_kepegawaian : null,
@@ -1052,7 +1150,7 @@
 
             addRiwayatPekerjaan() {
                 var newData = {
-                    id_riwayat_pendidikan : null,
+                    id_riwayat_pekerjaan : null,
                     id_pegawai : null,
                     nama_institusi : null,
                     posisi : null,
@@ -1063,9 +1161,16 @@
             },
 
             addSertifikat() {
-                var newData = {};
+                var newData = {
+                    id_sertifikat : null,
+                    id_pegawai : null,
+                    judul : null,
+                    lembaga : null,
+                    tahun_diterbitkan : null,
+                    catatan : null,
+                    nama_file : null,
+                };
                 this.sertifikat.push(newData);
-                this.sertifikatCounter++;
             },
 
             addDataKinerja() {
@@ -1080,6 +1185,25 @@
                 this.dataKinerja.push(newData);
             },
 
+            addRekomendasiTraining() {
+                var newData = {
+                    id_rekomendasi_training : null,
+                    id_pegawai : null,
+                    id_training : null
+                };
+                this.rekomendasiTraining.push(newData);
+            },
+
+            addRekomendasiPosisi() {
+                var newData = {
+                    id_rekomendasi_training : null,
+                    id_pegawai : null,
+                    id_unit_kerja : null,
+                    id_posisi : null
+                };
+                this.rekomendasiPosisi.push(newData);
+            },
+
             delDataKepegawaian(event) {
                 var targetIndex = event.currentTarget.id;
                 this.dataKepegawaian.splice(targetIndex, 1);
@@ -1098,7 +1222,6 @@
             delSertifikat(event) {
                 var targetIndex = event.currentTarget.id;
                 this.sertifikat.splice(targetIndex, 1);
-                this.sertifikatCounter--;
             },
 
             delDataKinerja(event) {
@@ -1106,6 +1229,16 @@
                 this.dataKinerja.splice(targetIndex, 1);
             },
 
+            delRekomendasiTraining(event) {
+                var targetIndex = event.currentTarget.id;
+                this.rekomendasiTraining.splice(targetIndex, 1);
+            },
+
+            delRekomendasiPosisi(event) {
+                var targetIndex = event.currentTarget.id;
+                this.rekomendasiPosisi.splice(targetIndex, 1);
+            },
+
             saveProfilPegawai() {
                 this.enableEditButton();
 
@@ -1115,18 +1248,21 @@
                 this.cachedPegawai = JSON.parse(JSON.stringify(this.pegawai));
                 this.isEditProfile = false;
 
-                // axios.patch('/api/pegawai/4', {
-                //     name: this.user.nama,
-                //     email: this.user.email,
-                //     password: '1234',
-                //     nip: this.user.nopeg
-                // })
-                // .then(function (response) {
-                //     alert(response);
-                // })
-                // .catch(function (error) {
-                //     alert(error);
-                // });
+                axios.post('/api/pegawai/' + this.id, {
+                    pegawai: this.pegawai,
+                    data_kepegawaian: this.dataKepegawaian,
+                    data_kepegawaian_prev: this.dataKepegawaianPrev,
+                    _method: "put"
+                })
+                .then(function (response) {
+                    console.log(response);
+                    window.location.href = '/pages/profile';
+                })
+                .catch(function (error) {
+                    alert(error);
+                });
+
+                console.log(this.dataKepegawaian);
 
             },
 
@@ -1137,6 +1273,19 @@
                 this.cachedDataKepegawaian = JSON.parse(JSON.stringify(this.dataKepegawaian));
                 this.isEditKepegawaian = false;
 
+                console.log(this.dataKepegawaian);
+
+                axios.post('/api/kepegawaian/' + this.id, {
+                    kepegawaian: this.dataKepegawaian,
+                    _method: 'put'
+                })
+                .then(function (response) {
+                    console.log(response);
+                    window.location.href = "/pages/profile";
+                })
+                .catch(function (error) {
+                    alert(error);
+                });
             },
 
             saveRiwayatPegawai() {
@@ -1165,7 +1314,21 @@
                 this.cachedRiwayatPekerjaan = JSON.parse(JSON.stringify(this.riwayatPekerjaan));
                 this.isEditRiwayat = false;
 
-                
+                console.log(this.riwayatPendidikan);
+                console.log(this.riwayatPekerjaan);
+
+                axios.post('/api/riwayat/' + this.id, {
+                    pendidikan: this.riwayatPendidikan,
+                    pekerjaan: this.riwayatPekerjaan,
+                    _method: 'put'
+                })
+                .then(function (response) {
+                    console.log(response);
+                    window.location.href = "/pages/profile";
+                })
+                .catch(function (error) {
+                    alert(error);
+                });
             },
 
             saveSertifikat() {
@@ -1212,6 +1375,13 @@
                 }
             },
 
+            saveRekomendasi() {
+                this.enableEditButton();
+                this.cachedRekomendasiTraining = JSON.parse(JSON.stringify(this.rekomendasiTraining));
+                this.cachedRekomendasiPosisi = JSON.parse(JSON.stringify(this.rekomendasiPosisi));
+                this.isEditRekomendasi = false;
+            },
+
             cancelProfilPegawai() {
                 this.enableEditButton();
                 this.pegawai = JSON.parse(JSON.stringify(this.cachedPegawai));
@@ -1249,19 +1419,39 @@
                 }
             },
 
-            onFileChange(e) {
+            cancelRekomendasi() {
+                this.enableEditButton();
+                this.rekomendasiTraining = JSON.parse(JSON.stringify(this.cachedRekomendasiTraining));
+                this.rekomendasiPosisi = JSON.parse(JSON.stringify(this.cachedRekomendasiPosisi));
+                this.isEditRekomendasi = false;
+            },
+
+            FileChangeProfile(e) {
                 let files = e.target.files || e.dataTransfer.files;
                 if (!files.length)
                     return;
-                this.createImage(files[0], e.currentTarget.id);
+
+                let reader = new FileReader();
+                let vm = this;
+                reader.onload = (e) => {
+                    vm.pegawai.imageProfileUrl = e.target.result;
+                };
+                reader.readAsDataURL(files[0]);
             },
-            createImage(file, id) {
+
+            FileChangeSertifikat(e) {
+                let files = e.target.files || e.dataTransfer.files;
+                if (!files.length)
+                    return;
+
+                var idx = e.currentTarget.id;
+
                 let reader = new FileReader();
                 let vm = this;
                 reader.onload = (e) => {
-                    vm.sertifikat[id].nama_file = e.target.result;
+                    vm.sertifikat[idx].nama_file = e.target.result;
                 };
-                reader.readAsDataURL(file);
+                reader.readAsDataURL(files[0]);
             },
         }
     }
diff --git a/resources/assets/js/profile.js b/resources/assets/js/profile.js
index 381635bdd1f7ce66bf630500aeff26949d9627b0..aeefde9ffcbf28646c4232ea2f8e396555b64029 100644
--- a/resources/assets/js/profile.js
+++ b/resources/assets/js/profile.js
@@ -10,141 +10,6 @@ new Vue({
     el: '#profile-page',
     components: {
         'profil-pegawai': require('./components/ProfilPegawai.vue'),
-    },
-    data: {
-        isEditKepegawaian: false,
-        isEditProfile: false,
-        isEditRiwayat: false,
-        cachedUser: null,
-        cachedDataKepegawaian: null,
-        cachedRiwayatPendidikan: null,
-        cachedRiwayatPekerjaan: null,
-        user: {
-            imageProfileUrl: "https://i.pinimg.com/236x/34/ba/c1/34bac13dd65ab3b81267f727e5633549--patrick-dempsey-handsome-man.jpg",
-            nama: "Joko Susilo",
-            tempatLahir: "Medan",
-            tanggalLahir: "17 Agustus 1981",
-            email: "joko.susilo@gmail.com",
-            nopeg: "12340009876",
-            unitKerja: "Fakultas FMIPA",
-            posisi: "Kepala Bidang Kemahasiswaan",
-            kompetensi: "Administrasi",
-            tahunMasuk: "2010",
-            tahunKeluar: "2020"
-        },
-        dataKepegawaian: [
-            {
-                unitKerja: "Fakultas FMIPA",
-                posisi: "Tenaga Pendidik",
-                kompetensi: "Teknikal",
-                tahunMasuk: "2013",
-                tahunKeluar: "2017"
-            }
-        ],
-        riwayatPendidikan: [
-            {
-                tingkatPendidikan: "S1",
-                namaInstitusi: "ITB",
-                jurusan: "Teknik Sipil",
-                tahunMasuk: "2000",
-                tahunKeluar: "2005"
-            },
-            {
-                tingkatPendidikan: "S2",
-                namaInstitusi: "ITB",
-                jurusan: "Teknik Sipil",
-                tahunMasuk: "2006",
-                tahunKeluar: "2008"
-            }
-        ],
-        riwayatPekerjaan: [
-            {
-                namaInstitusi: "PT TIMBUL TENGGELAM",
-                posisi: "Engineer",
-                tahunMasuk: "2008",
-                tahunKeluar: "2013"
-            },
-            {
-                namaInstitusi: "FMIPA ITB",
-                posisi: "Tenaga Pendidik",
-                tahunMasuk: "2013",
-                tahunKeluar: "2017"
-            }
-        ],
-        rekomendasiTraining: [
-            {
-                namaTraining: "Emotional Training",
-                penyelenggara: "PMO",
-                bidang: "Psikologi"
-            }
-        ]
-
-    },
-    mounted() {
-
-        this.cachedUser = Object.assign({}, this.user);
-        this.cachedDataKepegawaian = Object.assign({}, this.dataKepegawaian);
-        this.cachedRiwayatPendidikan = Object.assign({}, this.riwayatPendidikan);
-        this.cachedRiwayatPekerjaan = Object.assign({}, this.riwayatPekerjaan);
-    },
-    methods: {
-        editProfilPegawai() {
-            this.isEditProfile = true;
-        },
-
-        editDataKepegawaian() {
-            this.isEditKepegawaian = true;
-        },
-
-        editRiwayatPegawai() {
-            this.isEditRiwayat = true;
-        },
-
-        saveProfilPegawai() {
-            this.cachedUser = Object.assign({}, this.user);
-            this.isEditProfile = false;
-
-            axios.patch('/api/pegawai/4', {
-                name: this.user.nama,
-                email: this.user.email,
-                password: '1234',
-                nip: this.user.nopeg
-            })
-                .then(function (response) {
-                    alert(response);
-                })
-                .catch(function (error) {
-                    alert(error);
-                });
-
-        },
-
-        saveDataKepegawaian() {
-            this.cachedDataKepegawaian = Object.assign({}, this.dataKepegawaian);
-            this.isEditKepegawaian = false;
-        },
-
-        saveRiwayatPegawai() {
-            this.cachedRiwayatPendidikan = Object.assign({}, this.riwayatPendidikan);
-            this.cachedRiwayatPekerjaan = Object.assign({}, this.riwayatPekerjaan);
-            this.isEditRiwayat = false;
-        },
-
-        cancelProfilPegawai() {
-            this.user = Object.assign({}, this.cachedUser);
-            this.isEditProfile = false;
-        },
-
-        cancelDataKepegawaian() {
-            this.dataKepegawaian = Object.assign({}, this.cachedDataKepegawaian);
-            this.isEditKepegawaian = false;
-        },
-
-        cancelRiwayatPegawai() {
-            this.riwayatPendidikan = Object.assign({}, this.cachedRiwayatPendidikan);
-            this.riwayatPekerjaan = Object.assign({}, this.cachedRiwayatPekerjaan);
-            this.isEditRiwayat = false;
-        },
     }
 
 });
\ No newline at end of file
diff --git a/resources/assets/sass/profile.scss b/resources/assets/sass/profile.scss
index f5ca16f589727a0ff7242069ba3f7f905788c12d..1ed05a799291119726bb1fa580eeabeeb72b8e8e 100644
--- a/resources/assets/sass/profile.scss
+++ b/resources/assets/sass/profile.scss
@@ -1,6 +1,4 @@
-body {
-    padding-top: 5rem;
-}
+
 .starter-template {
     padding: 3rem 1.5rem;
     text-align: center;
diff --git a/resources/views/layout-profile/footer.blade.php b/resources/views/layout-profile/footer.blade.php
index d9451317e7e893f9557cdf806aab5a4bf9724adf..c00d514200e07766384c52f513b0a045e23ba74d 100644
--- a/resources/views/layout-profile/footer.blade.php
+++ b/resources/views/layout-profile/footer.blade.php
@@ -1,4 +1,12 @@
-<footer class="container">
-    <p class="float-right"><a href="#">Back to top</a></p>
-    <p>&copy; 2018 PMO ITB &middot; <a href="#">Privacy</a> &middot; <a href="#">Terms</a></p>
+
+<footer class="footer">
+    <div class="container">
+        @if ($nama_pengubah === "Anda")
+            <p class="float-right">Terakhir <b>{{$nama_pengubah}}</b> edit
+        @else
+            <p class="float-right">Terakhir diedit oleh <b>{{$nama_pengubah}}</b>
+        @endif
+             pada <b>{{$last_edited}}</b> &nbsp;&nbsp;&nbsp;&nbsp;<a class="btn btn-sm btn-primary"href="#"><i class="fas fa-angle-double-up"></i></a></p>
+        <p>&copy; 2018 PMO ITB &middot; </p>
+    </div>
 </footer>
\ No newline at end of file
diff --git a/resources/views/layout-profile/master.blade.php b/resources/views/layout-profile/master.blade.php
index c1ee316f020ff94811eb87b5987901550eff4ebf..2ec879609ba55d05569da75d3692755751cb905e 100644
--- a/resources/views/layout-profile/master.blade.php
+++ b/resources/views/layout-profile/master.blade.php
@@ -26,9 +26,8 @@
         @yield('content')
     </div>
 
-
     @include('layout-profile.footer')
     
-    <script src="/js/profile.js"></script>
 </body>
+<script src="/js/profile.js"></script>
 </html>
diff --git a/resources/views/profile/index.blade.php b/resources/views/profile/index.blade.php
index 5f508b1835afe1f0304ba8ed6a09d5fbe32917a4..84aa8c67a02a8f51604d5f274f6f9766c1f5dac1 100644
--- a/resources/views/profile/index.blade.php
+++ b/resources/views/profile/index.blade.php
@@ -10,64 +10,11 @@
     :unit-kerja="{{ $unit_kerja }}"
     :posisi="{{ $posisi }}"
     :kelompok-kompetensi="{{ $kelompok_kompetensi }}"
+    :rekomendasi-training-temp="{{ $rekomendasi_training }}"
+    :training-list="{{ $training_list }}"
+    :rekomendasi-posisi-temp="{{ $rekomendasi_posisi }}"
 ></profil-pegawai>
 
     <br>
 
-
-    {{-- 
-
-    <br>
-
-    <div class="card">
-        <div class="card-header">
-            Rekomendasi
-        </div>
-
-        <div class="card-body">
-            <div class="container">
-
-                <h5>Rekomendasi Training</h5>
-
-                <div v-if="rekomendasiTraining.length === 0" class="no-rekomendasi-trainiing">
-                    <hr>
-                    Belum dimtambahkan.
-                    <br>
-                </div>
-
-                <div v-if="rekomendasiTraining.length !== 0" class="rekomendasi-trainiing">
-                    <table class="table">
-                        <thead>
-                        <tr>
-                            <th scope="col">Nama Training</th>
-                            <th scope="col">Penyelenggara</th>
-                            <th scope="col">Bidang</th>
-                        </tr>
-                        </thead>
-                        <tbody v-for="rp in rekomendasiTraining">
-                        <tr>
-                            <td v-text="rp.namaTraining" ></td>
-                            <td v-text="rp.penyelenggara" ></td>
-                            <td v-text="rp.bidang" ></td>
-                        </tr>
-                        </tbody>
-                    </table>
-
-                </div>
-
-                <br><br>
-
-
-                <h5>Rekomendasi Posisi</h5>
-
-                <hr>
-
-                Tidak ada.
-
-            </div>
-        </div>
-    </div> --}}
-
-    <br>
-
 @endsection
\ No newline at end of file
diff --git a/routes/api.php b/routes/api.php
index 072cde7951a10e13efaedeb42087b4ce79215178..a87b9b2d8ec5406b437d95ab0a749a88696cf99f 100644
--- a/routes/api.php
+++ b/routes/api.php
@@ -39,6 +39,11 @@ Route::resource('kinerja', 'DataKinerjaController');
 
 Route::resource('pegawai-denormalized', 'DataPegawaiController');
 
+Route::resource('training', 'TrainingController');
+
+Route::resource('kepegawaian', 'KepegawaianController');
+
+Route::resource('riwayat', 'RiwayatController');
+
 Route::resource('sertifikat', 'SertifikatController');
 
-Route::resource('training', 'TrainingController');
\ No newline at end of file
diff --git a/storage/app/templates/kinerja_template.xlsx b/storage/app/templates/kinerja_template.xlsx
index 73ee3b3fc74a45960c88a5273843d1a5863c6740..33d30e4340651dadbf00dd8aa1533b1ed771f33c 100644
Binary files a/storage/app/templates/kinerja_template.xlsx and b/storage/app/templates/kinerja_template.xlsx differ
diff --git a/storage/app/templates/kinerja_template_export.xlsx b/storage/app/templates/kinerja_template_export.xlsx
index a2f30a877b678366167e31a7038eee1219de3558..5a77a9ccf23f70a1e662402bfd0b72aacf2d071b 100644
Binary files a/storage/app/templates/kinerja_template_export.xlsx and b/storage/app/templates/kinerja_template_export.xlsx differ
diff --git a/storage/app/templates/kompetensi_template.xlsx b/storage/app/templates/kompetensi_template.xlsx
index 9d36ed0ee68978942b095991a98fc3173a467978..9e8e7210f86af1b68e5c36938ed977ed374ab493 100644
Binary files a/storage/app/templates/kompetensi_template.xlsx and b/storage/app/templates/kompetensi_template.xlsx differ
diff --git a/storage/app/templates/kompetensi_template_export.xlsx b/storage/app/templates/kompetensi_template_export.xlsx
index 39e4aa9c12e7394734443aa3ee49583034cb97e7..b047ddfbf34e57562fc7279cd1649e1aab5011c7 100644
Binary files a/storage/app/templates/kompetensi_template_export.xlsx and b/storage/app/templates/kompetensi_template_export.xlsx differ
diff --git a/storage/app/templates/pegawai_template_export.xlsx b/storage/app/templates/pegawai_template_export.xlsx
index c1a2fe3afca5bf20239b09e10fb09b7f7a09c632..0f7b8523b61ec5e050a0f66a6b384d8885a1d0c7 100644
Binary files a/storage/app/templates/pegawai_template_export.xlsx and b/storage/app/templates/pegawai_template_export.xlsx differ