diff --git a/app/Http/Controllers/AutograderController.php b/app/Http/Controllers/AutograderController.php
index 6221b3b9fca390ac8a2af8ce34847252ec972405..b349bd6d9d349ce709e036a4aa4a78270bf6cff4 100644
--- a/app/Http/Controllers/AutograderController.php
+++ b/app/Http/Controllers/AutograderController.php
@@ -137,7 +137,7 @@ class AutograderController extends Controller
             if ($response->values == NULL) {
                 $answers[] = NULL;
             } else {
-                $answers[] = strval(($response->values)[0][0]);
+                $answers[] = strtoupper(strval(($response->values)[0][0]));
             }
         }
 
@@ -146,23 +146,6 @@ class AutograderController extends Controller
 
     public function test()
     {
-        $item1 = [];
-        $item2 = [];
-
-        $item1[] = '=SUM';
-        $item1[] = 'A1';
-        $item1[] = 'A2';
-        $item1[] = 'A3';
-
-        $item2[] = '=SUM';
-        $item2[] = 'A8';
-        $item2[] = 'A2';
-        $item2[] = 'A1';
-
-        $arr_intersection = count(array_intersect( $item1, $item2 ));
-        $arr_union = count(array_merge( $item1, $item2 )) - $arr_intersection;
-        $coefficient = $arr_intersection / $arr_union;
-
-        echo "koefisien = " . $coefficient;
+        echo strtoupper("=sum(A1,A2)");
     }
 }
diff --git a/app/Http/Controllers/LearnController.php b/app/Http/Controllers/LearnController.php
index 303f277655f13a1c06986c3371daf2fe75612d6d..9b81636331e3442d051a4c383d9c977664092f3f 100644
--- a/app/Http/Controllers/LearnController.php
+++ b/app/Http/Controllers/LearnController.php
@@ -108,17 +108,55 @@ class LearnController extends Controller
      *
      * @return message
      */
-    public function save(Request $request)
+    public function save($id_course, $id_topic, Request $request)
     {
-        echo $request->id_spreadsheet;
-        echo $request->myTextArea;
-        echo $request->richh;
-        DB::table('topics')->insert([
-            'id_course' => '2',
-            'name' => 'ahaha',
-            'content' => $request->richh,
-            'id_spreadsheet' => $request->id_spreadsheet
+        $cells = [];
+        foreach ($request->cells as $cell) {
+            $cells[] = strtoupper($cell);
+        }
+
+        $client = LearnController::getClient();
+        $service = new \Google_Service_Sheets($client);
+
+        // Get Answer
+        $responses = $service->spreadsheets_values->batchGet($request->id_spreadsheet, [
+            'valueRenderOption' => 'FORMULA',
+            'dateTimeRenderOption' => 'SERIAL_NUMBER',
+            'ranges' => $cells
+        ]);
+
+        $answers = [];
+        foreach ($responses->valueRanges as $response) {
+            if ($response->values == NULL) {
+                $answers[] = NULL;
+            } else {
+                $answers[] = strtoupper(strval(($response->values)[0][0]));
+            }
+        }
+
+        // Clear Answer
+        $requestBody = new \Google_Service_Sheets_BatchClearValuesRequest([
+            'ranges' => $cells
         ]);
+
+        $response = $service->spreadsheets_values->batchClear($request->id_spreadsheet, $requestBody);
+
+        // Save to Database
+        DB::table('spreadsheets')->where('id',$id_topic)->delete();
+        for ($i=0; $i<count($answers); $i++) {
+            DB::table('spreadsheets')->insert([
+                'id' => $id_topic,
+                'cell' => $cells[$i],
+                'value' => $answers[$i],
+                'type' => 0
+            ]);   
+        }
+
+        DB::table('topics')->where('id', $id_topic)->update([
+            'content' => $request->rich_text,
+        ]);
+
+        return redirect()->route('course', ['id_course' => $id_course, 'msg' => 2]);
     }
 
     /**
diff --git a/public/js/learn.js b/public/js/learn.js
index c710941b621753f923850121541647e7d0988e19..e42ad59958790cdcc963a83ce4fe3d530d14e911 100644
--- a/public/js/learn.js
+++ b/public/js/learn.js
@@ -14,4 +14,15 @@ function submit(id_spreadsheet, url) {
     xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
     xmlhttp.setRequestHeader('X-CSRF-TOKEN', $('meta[name="csrf-token"]').attr('content'));
     xmlhttp.send("id_spreadsheet=" + id_spreadsheet);
+}
+
+function setForm(number) {
+    if (number > 0) {
+        document.getElementById("cell-answers").innerHTML = '';
+        var str = "";
+        for (i=0; i<number; i++) {
+            str = str.concat('<div class="col-3" style="margin-bottom:1rem;"> <input type="text" name="cells[]" class="form-control"></div>');
+        }
+        document.getElementById("cell-answers").innerHTML = str;
+    }
 }
\ No newline at end of file
diff --git a/resources/views/course.blade.php b/resources/views/course.blade.php
index e2adfd3e1225194edacccc16bb8a11fec010fcc7..6b5b2d0354324ff6db1d54bcef0ea7d09ceba979 100644
--- a/resources/views/course.blade.php
+++ b/resources/views/course.blade.php
@@ -4,12 +4,25 @@
 <div class="container">
 @isset(request()->msg)
     @if( request()->get('msg') == 1 )
-        <div class="alert alert-success" role="alert">
+        <div class="alert alert-success alert-dismissible fade show" role="alert">
             Pembuatan Topik Berhasil
+            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
+                <span aria-hidden="true">&times;</span>
+            </button>
+        </div>
+    @elseif( request()->get('msg') == 2 )
+        <div class="alert alert-success alert-dismissible fade show" role="alert">
+            Perubahan Topik Berhasil Disimpan
+            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
+                <span aria-hidden="true">&times;</span>
+            </button>
         </div>
     @else
-        <div class="alert alert-danger" role="alert">
+        <div class="alert alert-danger alert-dismissible fade show" role="alert">
             Pembuatan Topik Gagal
+            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
+                <span aria-hidden="true">&times;</span>
+            </button>
         </div>
     @endif
 @endisset
@@ -40,10 +53,13 @@
                                 </div>
                             </div>
                         @endforeach
-                    </div> <br/>
-                    <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalCenter">
-                       Tambah Topik
-                    </button>
+                    </div> 
+                    @if(Auth::user()->role == 1)
+                        <br/>
+                        <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalCenter">
+                        Tambah Topik
+                        </button>
+                    @endif
                     <div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
                         <div class="modal-dialog modal-dialog-centered" role="document">
                             <div class="modal-content">
diff --git a/resources/views/edit.blade.php b/resources/views/edit.blade.php
index 70c7f3d17e0dc9fb2d7cf3e7ed70b3733bed1950..75e71a145ae198ab71844ee73a80f291a66596ad 100644
--- a/resources/views/edit.blade.php
+++ b/resources/views/edit.blade.php
@@ -19,35 +19,57 @@
         <div class="col-lg-4">
             <h4>Materi: {{ $topic->name }}</h4>
             <div class="accordion" id="accordionCourses">
-                <div class="card">
-                    <div class="card-header" id="heading1" style="transform: rotate(0);">
-                        <h5 class="mb-0">
-                            <button class="btn stretched-link" type="button" data-toggle="collapse" data-target="#collapse1" aria-expanded="false" aria-controls="collapse1">
-                                Persoalan
-                            </button>
-                        </h5>
-                    </div>
-                    <div id="collapse1" class="collapse show" aria-labelledby="heading1" data-parent="#accordionCourses">
-                        <form action="<?php echo Request::url(); ?>/save" name="myform" id="myform" method="post">
-                            @csrf
+                <form action="<?php echo Request::url(); ?>/save" name="myform" id="myform" method="post">
+                    @csrf
+                    <div class="card">
+                        <div class="card-header" id="heading1" style="transform: rotate(0);">
+                            <h5 class="mb-0">
+                                <button class="btn stretched-link" type="button" data-toggle="collapse" data-target="#collapse1" aria-expanded="false" aria-controls="collapse1">
+                                    Atur Persoalan
+                                </button>
+                            </h5>
+                        </div>
+                        <div id="collapse1" class="collapse show" aria-labelledby="heading1" data-parent="#accordionCourses">
                             <input type="hidden" value="<?php echo $id_spreadsheet; ?>" class="form-control" name="id_spreadsheet" id="id_spreadsheet">
-                            <textarea name="richh" id="richh"><?php echo $topic->content;?></textarea>
-                            <button style="float: right; margin-top: 1rem; margin-bottom: 1rem;" type="submit" class="btn btn-primary"><b>Simpan</b></button>
-                        </form>
-                    </div>
-                </div>
-                <div class="card">
-                    <div class="card-header" id="heading2" style="transform: rotate(0);">
-                        <h5 class="mb-0">
-                            <button class="btn stretched-link" type="button" data-toggle="collapse" data-target="#collapse2" aria-expanded="false" aria-controls="collapse2">
-                                Kunci Jawaban
-                            </button>
-                        </h5>
+                            <textarea name="rich_text" id="rich_text"><?php echo $topic->content;?></textarea>
+                        </div>
                     </div>
-                    <div id="collapse2" class="collapse" aria-labelledby="heading2" data-parent="#accordionCourses">
-                        Iki isinie
+                    <div class="card">
+                        <div class="card-header" id="heading2" style="transform: rotate(0);">
+                            <h5 class="mb-0">
+                                <button class="btn stretched-link" type="button" data-toggle="collapse" data-target="#collapse2" aria-expanded="false" aria-controls="collapse2">
+                                    Atur Cell Jawaban
+                                </button>
+                            </h5>
+                        </div>
+                        <div id="collapse2" class="collapse" aria-labelledby="heading2" data-parent="#accordionCourses">
+                            <div class="card-body">
+                                <label for="exampleFormControlSelect1">Jumlah Cell Jawaban</label>
+                                <input type="number" class="form-control" id="cell-number" min="1" value="5" onkeyup="setForm(this.value)" onchange="setForm(this.value)">
+                                <br/>
+                                <label for="exampleFormControlSelect1">Masukkan Cell Jawaban</label>
+                                <div class="row" id="cell-answers">
+                                    <div class="col-3" style="margin-bottom:1rem;">
+                                        <input type="text" name="cells[]" class="form-control">
+                                    </div>
+                                    <div class="col-3" style="margin-bottom:1rem;">
+                                        <input type="text" name="cells[]" class="form-control">
+                                    </div>
+                                    <div class="col-3" style="margin-bottom:1rem;">
+                                        <input type="text" name="cells[]" class="form-control">
+                                    </div>
+                                    <div class="col-3" style="margin-bottom:1rem;">
+                                        <input type="text" name="cells[]" class="form-control">
+                                    </div>
+                                    <div class="col-3" style="margin-bottom:1rem;">
+                                        <input type="text" name="cells[]" class="form-control">
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
                     </div>
-                </div>
+                    <button style="float: right; margin-top: 1rem;" type="submit" class="btn btn-primary"><b>Simpan</b></button>
+                </form>
             </div>
         </div>
         <div class="col-lg-8">