diff --git a/app/Http/Controllers/HasilBimbinganController.php b/app/Http/Controllers/HasilBimbinganController.php
index 8abc2f4d8abb950f3b895ac7aae05813fc5d3abe..89b178910e5428e49c10639736c52f25c095be28 100644
--- a/app/Http/Controllers/HasilBimbinganController.php
+++ b/app/Http/Controllers/HasilBimbinganController.php
@@ -2,9 +2,11 @@
 
 namespace App\Http\Controllers;
 
+use App\Dosen;
 use App\HasilBimbingan;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Auth;
+use Illuminate\Support\Facades\Validator;
 
 class HasilBimbinganController extends Controller
 {
@@ -23,6 +25,73 @@ class HasilBimbinganController extends Controller
         }
     }
 
+    public function showFormHasilBimbingan() {
+        $mhs = Auth::user()->isMahasiswa();
+        if($mhs) {
+            $hsl_bimbingan = $mhs->getHasilBimbinganBelumDisetujui();
+            //nanti diubah dosennya
+            $dosen = Dosen::all();
+            return view('mahasiswa.form_hasil_bimbingan',['hsl_bimbingan' => $hsl_bimbingan, 'dosen' => $dosen]);
+        } else {
+            return abort(403);
+        }
+    }
+
+    public function uploadHasilBimbingan(Request $request) {
+        $mahasiswa = Auth::user()->isMahasiswa();
+        if($mahasiswa) {
+            $user = Auth::user();
+            $data = $request->all();
+            $ok_count = 0;
+            $db_hsl_bimbingan = HasilBimbingan::where('mahasiswa_id',$user->id)->where('status',0)->get();
+
+            $validator = $this->validateHasilBimbingan($data);
+            if ($validator->fails()) {
+                echo json_encode($validator->errors());
+            } else {
+                $ok_count++;
+                if ($db_hsl_bimbingan->count() >= $ok_count) {
+                    $cur = $db_hsl_bimbingan[$ok_count - 1];
+                    $cur->mahasiswa_id = $user->id;
+                    $cur->dosen_id = $data['dosen_id'];
+                    $cur->tanggal_waktu = $data['tanggal_waktu'];
+                    $cur->topik = $data['topik'];
+                    $cur->hasil_dan_diskusi = $data['hasil_dan_diskusi'];
+                    $cur->rencana_tindak_lanjut = $data['rencana_tindak_lanjut'];
+                    $cur->save();
+                } else {
+                    $hasil_bimbingan = HasilBimbingan::create([
+                        'mahasiswa_id' => $user->id,
+                        'dosen_id' => $data['dosen_id'],
+                        'status' => 0,
+                        'tanggal_waktu' => $data['tanggal_waktu'],
+                        'topik' => $data['topik'],
+                        'hasil_dan_diskusi' => $data['hasil_dan_diskusi'],
+                        'rencana_tindak_lanjut' => $data['rencana_tindak_lanjut']
+                    ]);
+                }
+            }
+
+            if($ok_count==0) {
+                return abort(400);
+            } else {
+                return redirect('/hasilbimbingan');
+            }
+        } else{
+            return abort (403);
+        }
+    }
+
+    private function validateHasilBimbingan($hsl_bimbingan) {
+        return Validator::make($hsl_bimbingan, [
+            'dosen_id' => 'required|integer',
+            'tanggal_waktu' => 'required|date',
+            'topik' => 'required|string|max:255',
+            'hasil_dan_diskusi' => 'required|string',
+            'rencana_tindak_lanjut' => 'required|string'
+        ]);
+    }
+
     /**
      * Display the specified resource.
      *
diff --git a/resources/views/mahasiswa/form_hasil_bimbingan.blade.php b/resources/views/mahasiswa/form_hasil_bimbingan.blade.php
new file mode 100644
index 0000000000000000000000000000000000000000..b4e285339cb04e4a3fd1a1118a5ccbf800fdafbb
--- /dev/null
+++ b/resources/views/mahasiswa/form_hasil_bimbingan.blade.php
@@ -0,0 +1,49 @@
+@extends('layouts.app')
+@section('title','Hasil Bimbingan')
+
+@section('content')
+    <div class="container">
+        <h2  class="text-center">Formulir Hasil Bimbingan</h2>
+        <br>
+        <div id="form-app">
+            <form action="" method="post" id="form-hsl-bimbingan" >
+                {{csrf_field()}}
+                <div class="form-group">
+                    <div class="form-group row col-md-12">
+                        <label for="topik" class="col-md-4 col-form-label text-md-right text-center">Topik Bimbingan<sup>*</sup></label>
+                        <input type="text" id="topik" name="topik" class="form-control col-md-8 " required>
+                    </div>
+                    <div class="form-group row col-md-12">
+                        <label for="dosen_id" class="col-md-4 col-form-label text-md-right text-center ">Dosen Pembimbing<sup>*</sup></label>
+                        <select type="text" id="dosen_id" class="form-control col-md-8" name="dosen_id">
+                            <option value="" disabled>Pilih Dosen</option>
+                            <option value=""></option>
+                            @foreach($dosen as $item)
+                                @php($user_item = $item->user())
+                                <option value="{{$user_item->id}}">{{$user_item->name}}</option>
+                            @endforeach
+                        </select>
+                    </div>
+                    <div class="form-group row col-md-12">
+                        <label for="tanggal_waktu" class="col-md-4 col-form-label text-md-right text-center">Waktu Bimbingan<sup>*</sup></label>
+                        <input type="datetime-local" id="tanggal_waktu" name="tanggal_waktu" class="form-control col-md-8 " required>
+                    </div>
+                    <div class="form-group row col-md-12">
+                        <label for="hasil_dan_diskusi" class="col-md-4 col-form-label text-md-right text-center ">Hasil dan Diskusi<sup>*</sup></label>
+                        <input type="text" id="hasil_dan_diskusi" name="hasil_dan_diskusi" class="form-control col-md-8 " required>
+                    </div>
+                    <div class="form-group row col-md-12">
+                        <label for="rencana_tindak_lanjut" class="col-md-4 col-form-label text-md-right text-center ">Rencana Tindak Lanjut<sup>*</sup></label>
+                        <input type="text" id="rencana_tindak_lanjut" name="rencana_tindak_lanjut" class="form-control col-md-8 " required>
+                    </div>
+                </div>
+
+            </form>
+            <span><sup>*</sup>Wajib diisi</span>
+            <div class="row justify-content-center align-items-center">
+                <button type="exit" class="btn btn-white mr-2" onclick="backpage()">Cancel</button>
+                <button type="submit" form="form-hsl-bimbingan" class="btn btn-blue ml-2">Submit</button>
+            </div>
+        </div>
+    </div>
+@endsection
\ No newline at end of file
diff --git a/routes/web.php b/routes/web.php
index f1387920dffbdf6c240e424e1f50385c1d9a5008..cf8931a5bb4d71569a3ee1574fcf9d6860746889 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -54,4 +54,5 @@ Route::get('/proposal/download/{id}/{filename}','ProposalController@download');
 Route::post('/proposal/penerimaan','ProposalController@approval')->name('proposal-penerimaan');
 
 Route::get('/hasilbimbingan','HasilBimbinganController@showListHasilBimbingan');
-Route::get('/hasilbimbingan/{id}','HasilBimbinganController@showListHasilBimbingan');
\ No newline at end of file
+Route::get('/hasilbimbingan/tambah','HasilBimbinganController@showFormHasilBimbingan');
+Route::post('/hasilbimbingan/tambah','HasilBimbinganController@uploadHasilBimbingan');
\ No newline at end of file