diff --git a/app/Events.php b/app/Events.php
new file mode 100644
index 0000000000000000000000000000000000000000..bb9798219d69076c1eb6b21f1736f0fd9223e67a
--- /dev/null
+++ b/app/Events.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Events extends Model
+{
+    protected $table = 'events';
+    protected $primaryKey = 'id';
+    protected $fillable = ['group_id', 'time'];
+    public $timestamps = true;
+}
\ No newline at end of file
diff --git a/app/Http/Controllers/EventsController.php b/app/Http/Controllers/EventsController.php
new file mode 100644
index 0000000000000000000000000000000000000000..4e09c4446bfd9c9b4dff44313ee4849d29b8faee
--- /dev/null
+++ b/app/Http/Controllers/EventsController.php
@@ -0,0 +1,65 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+use App\Events;
+use Illuminate\Support\Facades\DB;
+
+class EventsController extends Controller
+{
+    public function store(Request $request) {
+        $request->validate([
+            'group_id' => 'required',
+            'time' => 'required'
+        ]);
+        $input = $request->all();
+
+        DB::beginTransaction();
+
+        $event = Events::create([
+            'group_id' => $input['group_id'],
+            'time' => $input['time'],
+        ]);
+
+        DB::commit();
+
+        return response(json_encode([
+            'statusMessage' => 'success',
+            'data' => $event->toArray()
+        ]), 200);
+    }
+
+    public function show(Request $request, $groupId) {
+        $isGroupExist = Events::find($groupId);
+
+        if (is_null($isGroupExist)) {
+            return response(json_encode([
+                'statusMessage' => 'Not Found'
+            ]), 404);
+        } else {
+            $events = $isGroupExist->toArray();
+
+            return response(json_encode([
+                'statusMessage' => 'Success',
+                'data' => $events
+            ]), 200);
+        }
+    }
+
+    public function destroy(Request $request, $groupId) {
+        $event = Events::find($groupId);
+
+        if (is_null($group)) {
+            return response(json_encode([
+                'statusMessage' => 'Bad Request'
+            ]), 400);
+        } else {
+            $event->delete;
+
+            return response(json_encode([
+                'statusMessage' => 'Success'
+            ]), 200);
+        }
+    }
+}
\ No newline at end of file
diff --git a/database/migrations/2019_02_25_062350_create_events_table.php b/database/migrations/2019_02_25_062350_create_events_table.php
new file mode 100644
index 0000000000000000000000000000000000000000..22b4071e7b7e8cdee0da843db7e85057e9452802
--- /dev/null
+++ b/database/migrations/2019_02_25_062350_create_events_table.php
@@ -0,0 +1,37 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateEventsTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('events', function (Blueprint $table) {
+            $table->increments('id');
+            $table->unsignedInteger('group_id');
+            $table->string('time');
+            
+            $table->foreign('group_id')
+                ->references('id')->on('groups')
+                ->onDelete('cascade');
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('events');
+    }
+}
diff --git a/routes/api.php b/routes/api.php
index 596c5379a1dafbba5b3e57ba591ff0ad2ed80884..46c9556da5bf17f612a38993b9c3887ba4eaff40 100644
--- a/routes/api.php
+++ b/routes/api.php
@@ -57,6 +57,11 @@ Route::delete('/group/{groupId}/member/{userId}', 'GroupsMemberController@delete
 //Get History Group
 Route::get('/group/{groupId}/history', 'GroupHistoryController@getHistory'); //Bisa ambil seluruh member dari suatu group
 
+//Event
+Route::post('/group/events', 'EventsController@store');
+Route::get('/group/{groupId}/events', 'EventsController@show');
+Route::delete('/group/{groupId}/events', 'EventsController@destroy');
+
 
 Route::post('/user/{userId}/task/{taskId}/comment', 'CommentController@createCommentInTaskId');
 Route::get('/task/{taskId}/comment', 'CommentController@getCommentsFromTaskId');