diff --git a/.env.example b/.env.example
index 9a9d0dc7e0052663cc5572bb0e96cbcb7888b8cd..b1242d038e5f08126be2f37fe889bbd9ae80028f 100644
--- a/.env.example
+++ b/.env.example
@@ -10,6 +10,22 @@ DB_DATABASE=homestead
 DB_USERNAME=homestead
 DB_PASSWORD=secret
 
+KTPKK_DB_CONNECTION=mysql
+KTPKK_DB_HOST=167.205.35.176
+KTPKK_DB_PORT=3306
+KTPKK_DB_DATABASE=db_ppl_core
+KTPKK_DB_USERNAME=root
+KTPKK_DB_PASSWORD=ppl2016
+
+KTPKK_API_URL=167.205.34.149:8000/api/kawin
+
+CORE_DB_CONNECTION=mysql
+CORE_DB_HOST=167.205.35.176
+CORE_DB_PORT=3306
+CORE_DB_DATABASE=db_ppl_core
+CORE_DB_USERNAME=root
+CORE_DB_PASSWORD=ppl2016
+
 CACHE_DRIVER=file
 SESSION_DRIVER=file
 QUEUE_DRIVER=sync
diff --git a/.env.example.swp b/.env.example.swp
new file mode 100644
index 0000000000000000000000000000000000000000..68e9570221ed5d7fe0bea2263fd5372a863c0d55
Binary files /dev/null and b/.env.example.swp differ
diff --git a/app/Http/Controllers/Admin/PencatatanController.php b/app/Http/Controllers/Admin/PencatatanController.php
new file mode 100644
index 0000000000000000000000000000000000000000..7bf4f73df896b88e345ce6a7353f1178169741a1
--- /dev/null
+++ b/app/Http/Controllers/Admin/PencatatanController.php
@@ -0,0 +1,78 @@
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+use App\Http\Controllers\Controller;
+use App\Models\Permohonan;
+use App\Models\Pencatatan;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Auth;
+use App\Services\PencatatanService;
+use Illuminate\Support\Facades\Redirect;
+
+
+class PencatatanController extends Controller
+{
+    private $pencatatanService;
+
+    public function __construct()
+    {
+        $this->pencatatanService = new PencatatanService();
+    }
+    
+    public function create($id_permohonan)
+    {
+        $permohonan = Permohonan::where('id', '=', $id_permohonan)->first();
+        $this->pencatatanService->createPencatatan($permohonan);
+        
+        return redirect()->action('Admin\PermohonanController@index');
+    }
+    
+    public function update($id,Request $request)
+    {
+		$pencatatan = Pencatatan::where('id', '=', $id)->first();
+
+		$errorMessages = [];
+		if ($request->session()->has('errorMessages')) {
+			$errorMessages = $request->session()->get('errorMessages');
+			$permohonan->fill($request->session()->get('permohonanData'));
+			$request->session()->forget(['errorMessages', 'permohonanData']);
+		}
+		return view('pencatatan.update', [
+			'pencatatan' => $pencatatan,
+			'errorMessages' => $errorMessages
+		]);
+    }
+    
+    public function postUpdate(Request $request)
+    {
+        $user = Auth::user();
+
+        $rules = [
+            'noKtpPria' => 'required|digits:16',
+            'namaPria' => 'required',
+            'noKtpWanita' => 'required|digits:16',
+            'namaWanita' => 'required',
+            'statusPria' => 'required',
+            'statusWanita' => 'required',
+            'istriPriaSebelumnya' => 'required_if:statusPria,1',
+            'suamiWanitaSebelumnya' => 'required_if:statusWanita,1'
+        ];
+
+        $messages = [
+            'required'=> 'Field :attribute tidak boleh kosong',
+            'digits' => 'Field :attribute harus berupa angka dan memiliki panjang 16 digit'
+        ];
+
+        $validator = Validator::make($request->input(), $rules, $messages);
+
+        if ($validator->fails()) {
+            $request->session()->set('errorMessages', $validator->errors()->all());
+            $request->session()->set('permohonanData', $request->input());
+            return redirect('permohonan/update');
+        } else {
+            $this->permohonanService->updatePermohonan($user, $request->input());
+            return redirect('permohonan/update');
+        }
+    }
+}
diff --git a/app/Http/Controllers/Pencatat/PermohonanController.php b/app/Http/Controllers/Pencatat/PermohonanController.php
index b3693a0bc2a8aadba2d5c06649884d0d4a7a1d88..122b629cdcdb7a6c184258a0a2f5fe7f158ab3ae 100644
--- a/app/Http/Controllers/Pencatat/PermohonanController.php
+++ b/app/Http/Controllers/Pencatat/PermohonanController.php
@@ -6,12 +6,18 @@ use App\Auth;
 use App\Http\Controllers\Core\PencatatController;
 use App\Models\Permohonan;
 use Illuminate\Http\Request;
+use App\Services\PermohonanService;
+use Illuminate\Support\Facades\Redirect;
 
 class PermohonanController extends PencatatController
-{
-    public function __construct(Request $request)
+{    
+	private $permohonanService;
+
+    public function __construct()
     {
+        $this->permohonanService = new PermohonanService();
     }
+
     
     public function index(Request $request)
     {
@@ -33,11 +39,24 @@ class PermohonanController extends PencatatController
             return redirect()->action('HomeController@login');
         }
 
-        $user = $this->user($request);
-        $permohonan = $user->permohonan;
+        $permohonan = Permohonan::where('id', '=', $id)->first();
         
         return view('admin.permohonan.view', [
             'permohonan' => $permohonan
         ]);
     }
-}
\ No newline at end of file
+    
+    public function markApproved(Request $request, $id)
+    {
+		//todo kasih otorisasi user khusus petugas
+		$this->permohonanService->setStatus($id, Permohonan::STATUS_APPROVED);
+		return Redirect::to('/pencatat');
+	}
+	
+	public function markNotCompleted(Request $request, $id)
+	{
+		//todo kasih otorisasi user khusus petugas
+		$this->permohonanService->setStatus($id, Permohonan::STATUS_NOT_COMPLETED);
+		return Redirect::to('/pencatat');
+	}
+}
diff --git a/app/Http/Controllers/PermohonanController.php b/app/Http/Controllers/PermohonanController.php
index 58bad9c1535441a6f2e348ce940a7bbde5ab9d17..6753e565ef20965cdd07def5784b737064418ecd 100644
--- a/app/Http/Controllers/PermohonanController.php
+++ b/app/Http/Controllers/PermohonanController.php
@@ -6,6 +6,7 @@ use App\Auth;
 use App\Http\Controllers\Core\CommonUserController;
 use App\Models\Permohonan;
 use App\Services\PermohonanService;
+use App\UserKependudukan;
 use Illuminate\Http\Request;
 use Validator;
 
@@ -18,63 +19,163 @@ class PermohonanController extends CommonUserController
         $this->permohonanService = new PermohonanService();
     }
     
-    public function index(Request $request)
-    {
-        if (!$this->authenticate($request)) {
-            return redirect()->action('HomeController@login');
-        }
+    public function getToken(){
+		if (isset($_GET['token'])) {
+			return $_GET['token'];
+		}else return NULL;
 
-        $user = $this->user($request);
+	}
+    
+    public function getNIKTerkait($token){
         
-        return view('permohonan.index', [
-            'permohonan' => $user->permohonan
-        ]);
+        $nik = null;
+        
+        if ($token){
+			
+			$userKependudukan = UserKependudukan::where('token','=',$token)->first();
+		
+			$nik = $userKependudukan->nik;
+			
+		}
+		
+		return $nik;
+	}
+	
+	public function getPermohonanFromNIK($nik){
+
+		
+		$permohonan = Permohonan::where('noKtpPria','=',$nik)
+					->orWhere('noKtpWanita','=',$nik)
+					->first();
+					
+		return $permohonan;
+	}
+    
+    public function index(Request $request)
+    {
+		
+        $token = $this->getToken();
+		
+		$nik = $this->getNIKTerkait($token);
+		
+		if ($nik){
+			
+			$permohonan = $this->getPermohonanFromNIK($nik);		
+			
+			return view('permohonan.index', [ 'permohonan' => $permohonan, 'token' => $token ]);
+
+		}else{
+			
+			if (!$this->authenticate($request)) {
+				return redirect()->action('HomeController@login');
+			}
+
+			$user = $this->user($request);
+			
+			return view('permohonan.index', [
+				'permohonan' => $user->permohonan, 'token' => null
+			]);
+		}
     }
     
     public function create(Request $request)
     {
-        if (!$this->authenticate($request)) {
-            return redirect()->action('HomeController@login');
-        }
 
-        $user = $this->user($request);
-        $this->permohonanService->createPermohonan($user);
-        
-        return redirect()->action('PermohonanController@update');
+        $token = $this->getToken();
+        		
+		$nik = $this->getNIKTerkait($token);
+		
+		if ($nik){
+			
+			$permohonan = $this->getPermohonanFromNIK($nik);
+			
+			$this->permohonanService->createPermohonanNIK($nik);
+			
+			return redirect()->action('PermohonanController@update',["token" => $token]);
+			
+		}else{
+
+			if (!$this->authenticate($request)) {
+				return redirect()->action('HomeController@login');
+			}
+
+			$user = $this->user($request);
+			$this->permohonanService->createPermohonan($user);
+			
+			return redirect()->action('PermohonanController@update');
+			
+		}
     }
     
     public function update(Request $request)
     {
-        if (!$this->authenticate($request)) {
-            return redirect()->action('HomeController@login');
-        }
-
-        $user = $this->user($request);
-        if ($this->permohonanService->userHavePermohonan($user)) {
-            $permohonan = $user->permohonan;
-
-            $errorMessages = [];
-            if ($request->session()->has('errorMessages')) {
-                $errorMessages = $request->session()->get('errorMessages');
-                $permohonan->fill($request->session()->get('permohonanData'));
-                $request->session()->forget(['errorMessages', 'permohonanData']);
-            }
-            return view('permohonan.update', [
-                'permohonan' => $permohonan,
-                'errorMessages' => $errorMessages
-            ]);
-        } else {
-            return redirect()->action('PermohonanController@createPermohonan');
-        }
+        
+        $token = $this->getToken();
+		
+		$nik = $this->getNIKTerkait($token);
+		
+		if ($nik){
+			
+			$permohonan = $this->getPermohonanFromNIK($nik);
+			
+			if ($permohonan){
+
+				$errorMessages = [];
+				if ($request->session()->has('errorMessages')) {
+					$errorMessages = $request->session()->get('errorMessages');
+					$permohonan->fill($request->session()->get('permohonanData'));
+					$request->session()->forget(['errorMessages', 'permohonanData']);
+				}
+				return view('permohonan.update', [
+					'permohonan' => $permohonan,
+					'errorMessages' => $errorMessages,
+					'token' => $token
+				]);
+			}else{
+					return redirect()->action('PermohonanController@create');
+			}
+		}else{
+			
+			if (!$this->authenticate($request)) {
+				return redirect()->action('HomeController@login');
+			}
+
+			$user = $this->user($request);
+			if ($this->permohonanService->userHavePermohonan($user)) {
+				$permohonan = $user->permohonan;
+
+				$errorMessages = [];
+				if ($request->session()->has('errorMessages')) {
+					$errorMessages = $request->session()->get('errorMessages');
+					$permohonan->fill($request->session()->get('permohonanData'));
+					$request->session()->forget(['errorMessages', 'permohonanData']);
+				}
+				return view('permohonan.update', [
+					'permohonan' => $permohonan,
+					'errorMessages' => $errorMessages,
+					'token' => null
+				]);
+			} else {
+				return redirect()->action('PermohonanController@createPermohonan',["token" => $token]);
+			}
+			
+		}
     }
     
     public function postUpdate(Request $request)
     {
-        if (!$this->authenticate($request)) {
-            return redirect()->action('HomeController@login');
-        }
-
-        $user = $this->user($request);
+        
+        $token = $this->getToken();
+		
+		$nik = $this->getNIKTerkait($token);
+		
+		if ($nik==NULL){
+			if (!$this->authenticate($request)) {
+				return redirect()->action('HomeController@login');
+			}
+
+			$user = $this->user($request);
+		}
 
         $rules = [
             'noKtpPria' => 'required|digits:16',
@@ -97,10 +198,14 @@ class PermohonanController extends CommonUserController
         if ($validator->fails()) {
             $request->session()->set('errorMessages', $validator->errors()->all());
             $request->session()->set('permohonanData', $request->input());
-            return redirect('permohonan/update');
+            return redirect('permohonan/update?token='.$token);
         } else {
-            $this->permohonanService->updatePermohonan($user, $request->input());
-            return redirect('permohonan/update');
+			if ($nik){
+				$this->permohonanService->updatePermohonanNIK($nik, $request->input());
+			}else{
+				$this->permohonanService->updatePermohonan($user, $request->input());
+			}
+            return redirect('permohonan/update?token='.$token);
         }
     }
 
diff --git a/app/Http/routes.php b/app/Http/routes.php
index 1c1622af6b8d67843d7c32a5ce8bd9ac10b7e513..f54d07f3464fafa9f5fc6da097812408dd71322a 100644
--- a/app/Http/routes.php
+++ b/app/Http/routes.php
@@ -48,9 +48,14 @@ Route::group(['middleware' => ['web']], function () {
         Route::get('/pencatat', 'Pencatat\PermohonanController@index');
 
         Route::get('/pencatat/permohonan/{id}', 'Pencatat\PermohonanController@view');
+        
+        Route::post('/pencatat/permohonan/{id}/approved', 'Pencatat\PermohonanController@markApproved');
+        
+        Route::post('/pencatat/permohonan/{id}/notCompleted', 'Pencatat\PermohonanController@markNotCompleted');
+
 //    });
 
 //    Route::group(['middleware' => ['admin']], function () {
 
 //    });
-});
\ No newline at end of file
+});
diff --git a/app/Models/Pencatatan.php b/app/Models/Pencatatan.php
new file mode 100644
index 0000000000000000000000000000000000000000..875a2886164729287622b30042cab55c5593e935
--- /dev/null
+++ b/app/Models/Pencatatan.php
@@ -0,0 +1,38 @@
+<?php
+
+namespace App\Models;
+
+use App\User;
+use Illuminate\Database\Eloquent\Model;
+
+class Pencatatan extends Model
+{
+    const STATUS_BELUM_PERNAH_MENIKAH = 0;
+    const STATUS_PERNAH_MENIKAH = 1;
+
+    public static $STATUS_STRING = [
+        "Belum pernah menikah",
+        "Pernah menikah"
+    ];
+    
+    protected $table = "pencatatan";
+    
+    public $timestamps = false;
+
+    protected $fillable = [
+		'noAkteNikah',
+        'noKtpPria',
+        'namaPria',
+        'noKtpWanita',
+        'namaWanita',
+        'statusPria',
+        'istriPriaSebelumnya',
+        'statusWanita',
+        'suamiWanitaSebelumnya'
+    ];
+    
+    /*public function user()
+    {
+        return $this->belongsTo(User::class, 'user_id');
+    }*/
+}
diff --git a/app/Models/Penduduk.php b/app/Models/Penduduk.php
new file mode 100644
index 0000000000000000000000000000000000000000..0204d495e89bda19ce896ac668930b54c12835da
--- /dev/null
+++ b/app/Models/Penduduk.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace App\Models;
+
+use App\User;
+use Illuminate\Database\Eloquent\Model;
+
+class Penduduk extends Model
+{
+	
+	protected $connection = 'mysqlcore';
+	
+	protected $table = "penduduk";
+    
+    public $timestamps = false;
+
+    protected $fillable = [
+        'id',
+        'nama',
+        'tanggal_lahir',
+        'tempat_lahir',
+        'jenis_kelamin',
+        'id_keluarga',
+        'id_ayah',
+        'id_ibu',
+        'hubungan_keluarga',
+        'golongan_darah',
+        'agama',
+        'wni',
+        'status_perkawinan',
+        'pekerjaan',
+        'pendidikan',
+        'id_izin_tetap',
+        'id_passport',
+        'created_at',
+        'updated_at',
+        'status'
+    ];
+}
+
+?>
diff --git a/app/models/Permohonan.php b/app/Models/Permohonan.php
similarity index 100%
rename from app/models/Permohonan.php
rename to app/Models/Permohonan.php
diff --git a/app/Pencatatan.php b/app/Pencatatan.php
new file mode 100644
index 0000000000000000000000000000000000000000..e44f8e257b7e9db03f384b2d45125a1b56f6d2eb
--- /dev/null
+++ b/app/Pencatatan.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Pencatatan extends Model
+{
+    //
+}
diff --git a/app/Penduduk.php b/app/Penduduk.php
new file mode 100644
index 0000000000000000000000000000000000000000..951c7d28b58c23835a50445c5095037d054a6b9d
--- /dev/null
+++ b/app/Penduduk.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Penduduk extends Model
+{
+    //
+}
diff --git a/app/Services/PencatatanService.php b/app/Services/PencatatanService.php
new file mode 100644
index 0000000000000000000000000000000000000000..682e2bf5f8ccaa6ce8de563c4ef68a54303bd167
--- /dev/null
+++ b/app/Services/PencatatanService.php
@@ -0,0 +1,58 @@
+<?php
+
+namespace App\Services;
+
+use App\Models\Pencatatan;
+use App\Models\Permohonan;
+use App\User;
+use Carbon\Carbon;
+
+class PencatatanService
+{
+    public function __construct()
+    {
+
+    }
+
+    public function createPencatatan(Permohonan $permohonan)
+    {
+        $pencatatan = new Pencatatan();
+        $pencatatan->id = $permohonan->id;
+        $pencatatan->noKtpPria = $permohonan->noKtpPria;
+		$pencatatan->namaPria = $permohonan->namaPria;
+		$pencatatan->noKtpWanita = $permohonan->noKtpWanita;
+		$pencatatan->namaWanita = $permohonan->namaWanita;
+		$pencatatan->tanggal = new Carbon();
+		$pencatatan->statusPria = $permohonan->statusPria;
+		$pencatatan->istriPriaSebelumnya = $permohonan->istriPriaSebelumnya;
+		$pencatatan->statusWanita = $permohonan->statusWanita;
+		$pencatatan->suamiWanitaSebelumnya = $permohonan->suamiWanitaSebelumnya;
+        
+        return $pencatatan->save();
+    }
+
+    public function updatePencatatan($id, array $data)
+    {
+        $pencatatan = Pencatatan::where('id', '=', $id)->first();
+
+        if ($pencatatan == NULL) {
+            return false;
+        } else {
+            $pencatatan->noKtpPria = $data['noKtpPria'];
+            $pencatatan->namaPria = $data['namaPria'];
+            $pencatatan->noKtpWanita = $data['noKtpWanita'];
+            $pencatatan->namaWanita = $data['namaWanita'];
+            $pencatatan->tanggal = new Carbon();
+            $pencatatan->statusPria = Permohonan::$STATUS_STRING[$data['statusPria']];
+            $pencatatan->istriPriaSebelumnya = $data['istriPriaSebelumnya'];
+            $pencatatan->statusWanita = Permohonan::$STATUS_STRING[$data['statusWanita']];
+            $pencatatan->suamiWanitaSebelumnya = $data['suamiWanitaSebelumnya'];
+
+            return $pencatatan->save();
+        }
+    }
+   
+    public function getPencatatan(int $id){
+		
+	}
+}
diff --git a/app/Services/PermohonanService.php b/app/Services/PermohonanService.php
index a532effc9f30839fa787dddeb2b347e5e15c9a09..f4e8d8e3518b1e74efe6983b18e98bb0e59adbef 100644
--- a/app/Services/PermohonanService.php
+++ b/app/Services/PermohonanService.php
@@ -3,6 +3,7 @@
 namespace App\Services;
 
 use App\Models\Permohonan;
+use App\Models\Penduduk;
 use App\User;
 use Carbon\Carbon;
 
@@ -32,6 +33,59 @@ class PermohonanService
         
         return $permohonan->save();
     }
+    
+    public function createPermohonanNIK($nik)
+    {
+		$permohonan = Permohonan::where('noKtpPria','=',$nik)
+						->orWhere('noKtpWanita','=',$nik)
+						->first();
+						
+		if ($permohonan != NULL) {
+			$permohonan->delete();
+		}
+		
+		$permohonan = new Permohonan();
+        $permohonan->status = Permohonan::STATUS_NOT_COMPLETED;
+        $permohonan->disetujuiRt = 0;
+        $permohonan->disetujuiRw = 0;
+        
+        $penduduk = Penduduk::where('id','=',$nik)->first();
+        if ($penduduk){
+			if ($penduduk->jenis_kelamin=='L'){
+				$permohonan->noKtpPria = $penduduk->id;
+				$permohonan->namaPria = $penduduk->nama;
+			}else{
+				$permohonan->noKtpWanita = $penduduk->id;
+				$permohonan->namaWanita = $penduduk->nama;
+			}
+			
+		}
+		return $permohonan->save();
+	}
+
+    public function updatePermohonanNIK($nik, array $data)
+    {
+		$permohonan = Permohonan::where('noKtpPria','=',$nik)
+						->orWhere('noKtpWanita','=',$nik)
+						->first();
+
+        if ($permohonan == NULL) {
+            return false;
+        } else { //TODO tambahkan pengecekan error noKtp
+            $permohonan->noKtpPria = $data['noKtpPria'];
+            $permohonan->namaPria = $data['namaPria'];
+            $permohonan->noKtpWanita = $data['noKtpWanita'];
+            $permohonan->namaWanita = $data['namaWanita'];
+            $permohonan->tanggal = new Carbon();
+            $permohonan->statusPria = Permohonan::$STATUS_STRING[$data['statusPria']];
+            $permohonan->istriPriaSebelumnya = $data['istriPriaSebelumnya'];
+            $permohonan->statusWanita = Permohonan::$STATUS_STRING[$data['statusWanita']];
+            $permohonan->suamiWanitaSebelumnya = $data['suamiWanitaSebelumnya'];
+            $permohonan->status = Permohonan::STATUS_PENDING;
+
+            return $permohonan->save();
+        }
+    }
 
     public function updatePermohonan(User $user, array $data)
     {
diff --git a/app/UserKependudukan.php b/app/UserKependudukan.php
new file mode 100644
index 0000000000000000000000000000000000000000..cc22ca7aefc3abfc4acbaa5b080e7f5970122a66
--- /dev/null
+++ b/app/UserKependudukan.php
@@ -0,0 +1,19 @@
+<?php
+
+namespace App;
+use Illuminate\Database\Eloquent\Model;
+
+class UserKependudukan extends Model{
+	 protected $connection = 'mysqlktpkk';
+	 
+	 protected $table = 'users';
+	
+	 protected $fillable = [
+        'nik','email','password',
+    ];
+    protected $hidden = [
+        'password', 'remember_token', 'token'
+    ];
+}
+
+?>
diff --git a/bdgwebkit/index.html b/bdgwebkit/index.html
index 8270fbeabd7a22cbd8ccb2c30b2ab9b4d7b9c7a0..047e993ee9fd14ce1e151cfdf697acea243b1c07 100644
--- a/bdgwebkit/index.html
+++ b/bdgwebkit/index.html
@@ -2,8 +2,8 @@
 <html lang="en" class="">
 <head>
   <meta charset="utf-8" />
-  <title>Bandung Web Kit | BDGWEBKIT</title>
-  <meta name="description" content="Bandung Web Kit" />
+  <title>Aplikasi Pencatatan Perkawinan Bandung</title>
+  <meta name="description" content="Aplikasi Pencatatan Perkawinan Bandung Kit" />
   <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
   <link rel="stylesheet" href="../libs/assets/animate.css/animate.css" type="text/css" />
   <link rel="stylesheet" href="../libs/assets/font-awesome/css/font-awesome.min.css" type="text/css" />
@@ -31,8 +31,7 @@
         </button>
         <!-- brand -->
         <a href="#/" class="navbar-brand text-lt">          
-          <img src="img/logo-small.png" alt="." class="small-logo hide">
-          <img src="img/logo.png" alt="." class="large-logo">
+          APLIKASI PENCATATAN PERKAWINAN BANDUNG
         </a>
         <!-- / brand -->
       </div>
@@ -1272,4 +1271,4 @@
 <script src="js/ui-client.js"></script>
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/config/database.php b/config/database.php
index 8451a62fbf2635da0714f17996c7b14683489f14..95fef8473bba5fd8fdadf74c8551cc6d553478ee 100644
--- a/config/database.php
+++ b/config/database.php
@@ -77,6 +77,37 @@ return [
             'prefix' => '',
             'schema' => 'public',
         ],
+        
+         # Database untuk user-user di database yang aplikasi KTP/KK
+        'mysqlktpkk' => [
+            'driver' => 'mysql',
+            'host' => env('KTPKK_DB_HOST', 'localhost'),
+            'port' => env('KTPKK_DB_PORT', '3306'),
+            'database' => env('KTPKK_DB_DATABASE', 'forge'),
+            'username' => env('KTPKK_DB_USERNAME', 'forge'),
+            'password' => env('KTPKK_DB_PASSWORD', ''),
+            'charset' => 'utf8',
+            'collation' => 'utf8_unicode_ci',
+            'prefix' => '',
+            'strict' => false,
+            'engine' => null,
+        ],
+        
+         # Database untuk user-user di database yang aplikasi KTP/KK
+        'mysqlcore' => [
+            'driver' => 'mysql',
+            'host' => env('CORE_DB_HOST', 'localhost'),
+            'port' => env('CORE_DB_PORT', '3306'),
+            'database' => env('CORE_DB_DATABASE', 'forge'),
+            'username' => env('CORE_DB_USERNAME', 'forge'),
+            'password' => env('CORE_DB_PASSWORD', ''),
+            'charset' => 'utf8',
+            'collation' => 'utf8_unicode_ci',
+            'prefix' => '',
+            'strict' => false,
+            'engine' => null,
+        ],
+
 
     ],
 
diff --git a/pencatatan_perkawinan_db.sql b/pencatatan_perkawinan_db.sql
new file mode 100644
index 0000000000000000000000000000000000000000..e41fe3648c6d9adcef5023764857c32e53978fb8
--- /dev/null
+++ b/pencatatan_perkawinan_db.sql
@@ -0,0 +1,152 @@
+-- phpMyAdmin SQL Dump
+-- version 4.4.9
+-- http://www.phpmyadmin.net
+--
+-- Host: localhost
+-- Generation Time: May 16, 2016 at 04:22 PM
+-- Server version: 5.6.25-log
+-- PHP Version: 5.5.31
+
+SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
+SET time_zone = "+00:00";
+
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8mb4 */;
+
+--
+-- Database: `ppl`
+--
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `pencatatan`
+--
+
+CREATE TABLE IF NOT EXISTS `pencatatan` (
+  `id` int(11) NOT NULL,
+  `noKtpPria` varchar(128) DEFAULT NULL,
+  `namaPria` varchar(128) DEFAULT NULL,
+  `noKtpWanita` varchar(128) DEFAULT NULL,
+  `namaWanita` varchar(128) DEFAULT NULL,
+  `tanggal_permohonan` date DEFAULT NULL,
+  `tanggal` date DEFAULT NULL,
+  `statusPria` varchar(32) DEFAULT NULL,
+  `istriPriaSebelumnya` varchar(128) DEFAULT NULL,
+  `statusWanita` varchar(32) DEFAULT NULL,
+  `suamiWanitaSebelumnya` varchar(128) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `pencatatan`
+--
+
+INSERT INTO `pencatatan` (`id`, `noKtpPria`, `namaPria`, `noKtpWanita`, `namaWanita`, `tanggal_permohonan`, `tanggal`, `statusPria`, `istriPriaSebelumnya`, `statusWanita`, `suamiWanitaSebelumnya`) VALUES
+(0, '1234567890123456', 'asdasd asdasd', '1234567890123456', 'pkkodf osf', '2016-04-01', '2016-04-18', 'Belum pernah menikah', '', 'Belum pernah menikah', '');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `permohonan`
+--
+
+CREATE TABLE IF NOT EXISTS `permohonan` (
+  `id` int(11) NOT NULL,
+  `user_id` int(11) NOT NULL,
+  `noKtpPria` varchar(128) DEFAULT NULL,
+  `namaPria` varchar(128) DEFAULT NULL,
+  `noKtpWanita` varchar(128) DEFAULT NULL,
+  `namaWanita` varchar(128) DEFAULT NULL,
+  `tanggal` date DEFAULT NULL,
+  `statusPria` varchar(32) DEFAULT NULL,
+  `istriPriaSebelumnya` varchar(128) DEFAULT NULL,
+  `statusWanita` varchar(32) DEFAULT NULL,
+  `suamiWanitaSebelumnya` varchar(128) DEFAULT NULL,
+  `status` tinyint(4) DEFAULT '0',
+  `disetujuiRt` tinyint(4) NOT NULL DEFAULT '0',
+  `disetujuiRw` tinyint(4) NOT NULL DEFAULT '0',
+  `uploadSuratRt` tinyint(4) NOT NULL DEFAULT '0',
+  `uploadSuratRw` tinyint(4) NOT NULL DEFAULT '0'
+) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `permohonan`
+--
+
+INSERT INTO `permohonan` (`id`, `user_id`, `noKtpPria`, `namaPria`, `noKtpWanita`, `namaWanita`, `tanggal`, `statusPria`, `istriPriaSebelumnya`, `statusWanita`, `suamiWanitaSebelumnya`, `status`, `disetujuiRt`, `disetujuiRw`, `uploadSuratRt`, `uploadSuratRw`) VALUES
+(14, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0),
+(15, 10, '1234567890113456', 'cowok', '1234567890113457', 'cewek', '2016-04-21', 'Belum pernah menikah', '', 'Belum pernah menikah', '', 1, 0, 0, 0, 0);
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `users`
+--
+
+CREATE TABLE IF NOT EXISTS `users` (
+  `id` int(11) NOT NULL,
+  `email` varchar(128) NOT NULL,
+  `password` varchar(128) NOT NULL,
+  `remember_token` varchar(128) DEFAULT NULL,
+  `role` int(11) DEFAULT '0',
+  `name` varchar(128) DEFAULT NULL
+) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `users`
+--
+
+INSERT INTO `users` (`id`, `email`, `password`, `remember_token`, `role`, `name`) VALUES
+(5, 'asdasd', '$2y$10$2z2PTdrtTMF9yWWGFUT1ieVzOABfmAzOp4jYTsPgnc6ZCwyhqy1oO', NULL, 0, 'asd'),
+(6, 'vincent.s.the@gmail.com', 'c2d628ba98ed491776c9335e988e2e3b', 'Yz8Ipe5VWeGgOlRpuZ1vLucEEQQ08UvqfAE3xvTrLkZHkH8YM0xnRrb161Mb', 0, 'Vincent Sebastian'),
+(8, 'qwe@qwe.qwe', 'efe6398127928f1b2e9ef3207fb82663', NULL, 1, 'qwe'),
+(9, 'admin@admin.com', '21232f297a57a5a743894a0e4a801fc3', NULL, 2, 'admin'),
+(10, 'coba@coba.com', 'c3ec0f7b054e729c5a716c8125839829', NULL, 0, 'coba');
+
+--
+-- Indexes for dumped tables
+--
+
+--
+-- Indexes for table `pencatatan`
+--
+ALTER TABLE `pencatatan`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indexes for table `permohonan`
+--
+ALTER TABLE `permohonan`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indexes for table `users`
+--
+ALTER TABLE `users`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- AUTO_INCREMENT for dumped tables
+--
+
+--
+-- AUTO_INCREMENT for table `pencatatan`
+--
+ALTER TABLE `pencatatan`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
+--
+-- AUTO_INCREMENT for table `permohonan`
+--
+ALTER TABLE `permohonan`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=16;
+--
+-- AUTO_INCREMENT for table `users`
+--
+ALTER TABLE `users`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=11;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
diff --git a/resources/views/admin/pencatatan/update.blade.php b/resources/views/admin/pencatatan/update.blade.php
new file mode 100644
index 0000000000000000000000000000000000000000..e53ff8ab97f07ed0cc3c2d6d63c2d90970ee1951
--- /dev/null
+++ b/resources/views/admin/pencatatan/update.blade.php
@@ -0,0 +1,93 @@
+@extends('layouts.base')
+
+@section('title')
+  Pencatatan Perkawinan
+@endsection
+
+@section('content')
+  <div class="col-sm-12">
+    @if(sizeof($errorMessages))
+      <div class="alert alert-danger">
+        Harap betulkan kesalahan pada form
+        <ul>
+          @foreach($errorMessages as $error)
+            <li>{{ $error  }}</li>
+          @endforeach
+        </ul>
+      </div>
+    @endif
+
+    <div class="panel panel-default">
+      <div class="panel-heading font-bold">
+        Form Permohonan
+      </div>
+      <div class="panel-body">
+        <form method="POST">
+
+		  <div class="form-group">
+			<label>No. KTP</label>
+			<input type="text" class="form-control" name="noAktaNikah" value="{{ $pencatatan->noAktaNikah }}">
+		  </div>
+              
+          <div class="row">
+            <div class="col-md-6">
+              <h4>Mempelai Pria</h4>
+
+              <div class="form-group">
+                <label>No. KTP</label>
+                <input type="text" class="form-control" name="noKtpPria" value="{{ $pencatatan->noKtpPria }}">
+              </div>
+
+              <div class="form-group">
+                <label>Nama Lengkap</label>
+                <input type="text" class="form-control" name="namaPria" value="{{ $pencatatan->namaPria }}">
+              </div>
+
+              <div class="form-group">
+                <label>Status Pernikahan Sebelumnya</label>
+                <select class="form-control" name="statusPria" value="{{ $pencatatan->statusPria }}">
+                  <option value="0">Belum Pernah Menikah</option>
+                  <option value="1">Sudah Pernah Menikah</option>
+                </select>
+              </div>
+
+              <div class="form-group">
+                <label>Nama Istri Sebelumnya</label>
+                <input type="text" class="form-control" name="istriPriaSebelumnya" value="{{ $pencatatan->istriPriaSebelumnya }}">
+              </div>
+            </div>
+
+            <div class="col-md-6">
+              <h4>Mempelai Wanita</h4>
+
+              <div class="form-group">
+                <label>No. KTP</label>
+                <input type="text" class="form-control" name="noKtpWanita" value="{{ $pencatatan->noKtpWanita }}">
+              </div>
+
+              <div class="form-group">
+                <label>Nama Lengkap</label>
+                <input type="text" class="form-control" name="namaWanita" value="{{ $pencatatan->namaWanita }}">
+              </div>
+
+              <div class="form-group">
+                <label>Status Pernikahan Sebelumnya</label>
+                <select class="form-control" name="statusWanita" value="{{ $pencatatan->statusWanita }}">
+                  <option value="0">Belum Pernah Menikah</option>
+                  <option value="1">Sudah Pernah Menikah</option>
+                </select>
+              </div>
+
+              <div class="form-group">
+                <label>Nama Suami Sebelumnya</label>
+                <input type="text" class="form-control" name="suamiWanitaSebelumnya" value="{{ $pencatatan->suamiWanitaSebelumnya }}">
+              </div>
+            </div>
+          </div>
+
+          <button type="submit" class="btn btn-success">Submit</button>
+        </form>
+      </div>
+    </div>
+  </div>
+@endsection
diff --git a/resources/views/admin/permohonan/index.blade.php b/resources/views/admin/permohonan/index.blade.php
index c1680582dc3915e09d2cb7f8458c11e2bb23688a..b700de635adce18e3f53534192c3a6c43c720d3c 100644
--- a/resources/views/admin/permohonan/index.blade.php
+++ b/resources/views/admin/permohonan/index.blade.php
@@ -25,7 +25,7 @@
               <td>{{ $permohonan->namaPria }}</td>
               <td>{{ $permohonan->namaWanita }}</td>
               <td>
-                <a href="/admin/permohonan/{{ $permohonan->id }}"><i class="fa fa-search"></i></a>
+                <a href="/pencatat/permohonan/{{ $permohonan->id }}"><i class="fa fa-search"></i></a>
               </td>
             </tr>
           @endforeach
@@ -33,4 +33,4 @@
       </table>
     </div>
   </div>
-@endsection
\ No newline at end of file
+@endsection
diff --git a/resources/views/admin/permohonan/view.blade.php b/resources/views/admin/permohonan/view.blade.php
index 10a2213aa557e7134f40a0c1fbfd457fc6f8d630..2e3c3dd918600925291fb9bca17a529a2e0621d9 100644
--- a/resources/views/admin/permohonan/view.blade.php
+++ b/resources/views/admin/permohonan/view.blade.php
@@ -69,10 +69,10 @@
                 </div>
               </div>
               <div>
-				  <button type="submit" class="btn btn-success" method="POST" formaction="/admin/permohonan/{{ $permohonan->id }}/approved" onclick="return confirm('Anda yakin hendak menandai permohonan ini disetujui?')">Setujui</button>
+				  <button type="submit" class="btn btn-success" method="POST" formaction="/pencatat/permohonan/{{ $permohonan->id }}/approved" onclick="return confirm('Anda yakin hendak menandai permohonan ini disetujui?')">Setujui</button>
               </div>
               <div>
-				  <button type="submit" class="btn btn-dark" method="POST" formaction="/admin/permohonan/{{ $permohonan->id }}/notCompleted" onclick="return confirm('Anda yakin hendak menandai permohonan ini belum lengkap?')">Belum Lengkap</button>
+				  <button type="submit" class="btn btn-dark" method="POST" formaction="/pencatat/permohonan/{{ $permohonan->id }}/notCompleted" onclick="return confirm('Anda yakin hendak menandai permohonan ini belum lengkap?')">Belum Lengkap</button>
               </div>
               <div>
               </div>
diff --git a/resources/views/permohonan/index.blade.php b/resources/views/permohonan/index.blade.php
index 076f231aa39f88856ca833d3be1bbd03166a9b08..b69d787c018823922eb4182bee511538b997a052 100644
--- a/resources/views/permohonan/index.blade.php
+++ b/resources/views/permohonan/index.blade.php
@@ -11,17 +11,31 @@
       <div class="panel-body">
         @if($permohonan == NULL)
           <p>Anda belum mengajukan permohonan pengajuan catatan perkawinan.</p>
+          @if($token == NULL)
           <a href="/permohonan/create" class="btn m-b-sm m-r-sm btn-success btn-addon">
             <i class="fa fa-plus"></i>
             Buat Permohonan
           </a>
+		  @else
+          <a href="/permohonan/create?token={{ $token }}" class="btn m-b-sm m-r-sm btn-success btn-addon">
+            <i class="fa fa-plus"></i>
+            Buat Permohonan
+          </a>
+		  @endif
         @elseif($permohonan->status == \App\Models\Permohonan::STATUS_NOT_COMPLETED)
           <div class="col-md-8">
             <p>Anda sudah mengajukan permohonan</p>
+            @if($token == NULL)
             <a href="/permohonan/update" class="btn btn-info">
               <i class="fa fa-edit"></i>
               Update Data
             </a>
+            @else
+            <a href="/permohonan/update?token={{ $token }}" class="btn btn-info">
+              <i class="fa fa-edit"></i>
+              Update Data
+            </a>
+            @endif
           </div>
           <div class="col-md-4">
             <span class="label label-danger pull-right">
@@ -31,10 +45,17 @@
         @elseif($permohonan->status == \App\Models\Permohonan::STATUS_PENDING)
           <div class="col-md-8">
             <p>Anda sudah mengisi data, harap tunggu sampai anda dikonfirmasi</p>
+            @if($token == NULL)
             <a href="/permohonan/update" class="btn btn-info btn-addon">
               <i class="fa fa-edit"></i>
               Update Data
             </a>
+            @else
+            <a href="/permohonan/update?token={{ $token }}" class="btn btn-info btn-addon">
+              <i class="fa fa-edit"></i>
+              Update Data
+            </a>
+            @endif
           </div>
           <div class="col-md-4">
             <span class="label label-warning pull-right">
@@ -44,6 +65,11 @@
         @elseif($permohonan->status == \App\Models\Permohonan::STATUS_APPROVED)
           <div class="col-md-8">
             <p>Anda sudah mengisi data dan telah disetujui. Silakan lanjutkan kepada pelangsungan lalu laporan dan interview kepada petugas pencatatan</p>
+                <form method="POST">
+					<input type="hidden" name="nik_pria" value="{{ $permohonan->noKtpPria }}">
+					<input type="hidden" name="nik_wanita" value="{{ $permohonan->noKtpWanita }}">
+					<button type="submit" class="btn btn-success" formaction="{{ env('KTPKK_API_URL', '') }}">Teruskan ke aplikasi KTP-KK</button>
+				</form>
           </div>
           <div class="col-md-4">
             <span class="label label-warning pull-right">