diff --git a/app/src/main/java/id/ac/ui/cs/myui/activity/NewsHomeActivity.java b/app/src/main/java/id/ac/ui/cs/myui/activity/NewsHomeActivity.java
index 14adbc0229c52f31cd0765973852e9017c487058..70d91be95d424b3b74d6bad6bbd123c0b0ce3e19 100644
--- a/app/src/main/java/id/ac/ui/cs/myui/activity/NewsHomeActivity.java
+++ b/app/src/main/java/id/ac/ui/cs/myui/activity/NewsHomeActivity.java
@@ -4,11 +4,13 @@ import android.content.Intent;
 
 import android.os.Bundle;
 
+import android.util.Log;
 import android.widget.FrameLayout;
 
 
 import com.crashlytics.android.Crashlytics;
 import id.ac.ui.cs.myui.R;
+import id.ac.ui.cs.myui.helper.Error;
 import id.ac.ui.cs.myui.task.NewsSceleTask;
 import io.fabric.sdk.android.Fabric;
 
@@ -23,7 +25,6 @@ public class NewsHomeActivity extends DrawerActivity {
 
         FrameLayout contentFrameLayout = (FrameLayout) findViewById(R.id.content_bookmark); //Remember this is the FrameLayout area within your activity_main.xml
         getLayoutInflater().inflate(R.layout.activity_news_home, contentFrameLayout);
-        
 
         new NewsSceleTask(this).execute();
 
diff --git a/app/src/main/java/id/ac/ui/cs/myui/helper/Error.java b/app/src/main/java/id/ac/ui/cs/myui/helper/Error.java
new file mode 100644
index 0000000000000000000000000000000000000000..65ffe0f79d30591a7fb3113c0f90a90d1025792b
--- /dev/null
+++ b/app/src/main/java/id/ac/ui/cs/myui/helper/Error.java
@@ -0,0 +1,38 @@
+package id.ac.ui.cs.myui.helper;
+
+/**
+ * Created by muhammad.yusuf43 and Siti Ina on 24/07/17.
+ */
+
+public enum Error {
+    DATABASE(0, "A database error has occured."),
+    UNAUTHORIZED(1, "Failed login"),
+    INVALID_TOKEN(2, "Invalid Token"),
+    EXPIRED_TOKEN(3, "Token Expired"),
+    NETWORK(4, "Connection not established"),
+    SERVER_ERROR(5, "Bad gateway"),
+    NO_CONTENT(6, "Success connected but retrieve nothing"),
+    RTO(7, "request time out"),
+    UMT(8, "Unsupported media type");
+
+    private final int code;
+    private final String description;
+
+    private Error(int code, String description) {
+        this.code = code;
+        this.description = description;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public int getCode() {
+        return code;
+    }
+
+    @Override
+    public String toString() {
+        return code + ": " + description;
+    }
+}
diff --git a/app/src/main/java/id/ac/ui/cs/myui/task/CalendarTask.java b/app/src/main/java/id/ac/ui/cs/myui/task/CalendarTask.java
index 4dbe40c22ce837d5a7f32ef23e9dc789e8c07f25..674df56a388a2a202cc621cf0d7bf3a8af3cc00b 100644
--- a/app/src/main/java/id/ac/ui/cs/myui/task/CalendarTask.java
+++ b/app/src/main/java/id/ac/ui/cs/myui/task/CalendarTask.java
@@ -6,6 +6,8 @@ import android.content.Context;
 import android.content.Intent;
 import android.os.AsyncTask;
 import android.util.Log;
+import android.widget.Toast;
+
 import android.view.View;
 import android.widget.AdapterView;
 import android.widget.ListAdapter;
@@ -32,6 +34,7 @@ public class CalendarTask extends AsyncTask<String, Void, String> {
     private Context context;
     private DatabaseHandler dbHelper;
     final String URL2 = "https://academic.ui.ac.id/main/CalendarUI/Index";
+    private String error_message;
 
     public CalendarTask(Context context) {
         this.context = context;
@@ -47,14 +50,71 @@ public class CalendarTask extends AsyncTask<String, Void, String> {
 
     @Override
     protected String doInBackground(String... params) {
-
+  //      try {
+       
         List<CalendarItem> calendarItemList = createCalenderItem();
         dbHelper.insertMenu(calendarItemList);
-        Log.d("kalendar","insert");
+//            Connection.Response initial = Jsoup
+//                    .connect(params[0])
+//                    .method(Connection.Method.GET).execute();
+//
+//            Connection.Response login = Jsoup
+//                    .connect(params[0])
+//                    .data("u","")
+//                    .data("p","")
+//                    .cookies(initial.cookies())
+//                    .method(Connection.Method.POST)
+//                    .execute();
+//
+//            /*Document page = Jsoup
+//                    .connect("ANY_PAGE_INSIDE_THE_SITE")
+//                    .cookies(login.cookies()) //use this with any page you parse. it will log you in
+//                    .get();*/
+//
+//            Log.d("masuk", "test");
+//            Document doc = Jsoup.connect(URL2).cookies(login.cookies()).maxBodySize(0).get();
+//            Log.i("ha", doc.title().toString());
+////            Elements tableElement = doc.select(".box");
+////            Log.d("nama jsoup", tableElement.toString());
+////            Elements tableRows = tableElement.select("tr");
+////            for (Element row : tableRows) {
+////                Elements cells = row.select("td");
+////                if (cells.size() >0) {
+////                //    System.out.print("haiahai");
+////                    Log.d("CALENDAR TASK",cells.get(0).text()+"; "+cells.get(1).text()+"; "+cells.get(2).text()+"; "+cells.get(3).text());
+////                }
+////            }
+//
+//            //Element table = doc.select("table").first();
+//            Boolean html = doc.html().contains("class\"box\"");
+//            Element table = doc.getElementsByClass("box").first();
+//
+//            if(table == null) {
+//                Log.d("hasil", "masih null nih :(" + html);
+//            }
+//
+//            else {
+//
+//
+//            Elements tableRows = table.select("tr");
+//            for (int i = 1; i < tableRows.size(); i++) { //first row is the col names so skip it.
+//                Element row = tableRows.get(i);
+//                Elements cols = row.select("td");
+//                Log.d("CALENDAR TASK", cols.get(0).text()+"; "+cols.get(1).text()+"; "+cols.get(2).text()+"; "+cols.get(3).text());
+//            }
+//            }
+
+//            return "halo halo";
+//        }
+//
+//        catch (IOException e) {
+//            e.printStackTrace();
+//        }
         return data;
     }
 
 
+
     private List<CalendarItem> createCalenderItem() {
         CalendarItem item1 = new CalendarItem(1, "19 Mei 2017", "01 Jun 2017" ,	14,	"Universitas Indonesia","Registrasi Akademik");
         CalendarItem item2 = new CalendarItem(2, "24 Mei 2017", "01 Jun 2017", 9, "Program Studi S1 Paralel Sistem Informasi","Registrasi Akademik");
@@ -99,6 +159,9 @@ public class CalendarTask extends AsyncTask<String, Void, String> {
 
     @Override
     protected void onPostExecute(String s) {
+        if (error_message != null) {
+            Toast.makeText(context,error_message,Toast.LENGTH_LONG).show();
+        }
         Activity actCalendar = (Activity) context;
         ListView dateList = (ListView) actCalendar.findViewById(R.id.list_tanggal);
         final List<CalendarItem> myCalendar = dbHelper.getAllParentMenu(); //Harus ambil data dari serviceL
diff --git a/app/src/main/java/id/ac/ui/cs/myui/task/NewsSceleTask.java b/app/src/main/java/id/ac/ui/cs/myui/task/NewsSceleTask.java
index 209e3fb8db70961c4dec0b788ed0566e3492bdcd..7ac11665e43a64ca7cf93c955649679fbf2b984c 100644
--- a/app/src/main/java/id/ac/ui/cs/myui/task/NewsSceleTask.java
+++ b/app/src/main/java/id/ac/ui/cs/myui/task/NewsSceleTask.java
@@ -19,6 +19,8 @@ import id.ac.ui.cs.myui.R;
 import id.ac.ui.cs.myui.activity.NewsDetailActivity;
 import id.ac.ui.cs.myui.activity.NewsHomeActivity;
 import id.ac.ui.cs.myui.adapter.NewsAdapter;
+import id.ac.ui.cs.myui.helper.Error;
+
 import id.ac.ui.cs.myui.database.DatabaseHandler;
 import id.ac.ui.cs.myui.model.ItemNews;
 import id.ac.ui.cs.myui.model.News;
@@ -35,8 +37,8 @@ import retrofit2.converter.simplexml.SimpleXmlConverterFactory;
 
 public class NewsSceleTask extends AsyncTask<Object,Object,ArrayList<News>> {
     private Context context;
+    private String error_message;
     private DatabaseHandler dbhandler;
-
     public NewsSceleTask(Context context) {
         this.context = context;
         this.dbhandler = new DatabaseHandler(context);
@@ -83,6 +85,7 @@ public class NewsSceleTask extends AsyncTask<Object,Object,ArrayList<News>> {
 
         } catch (IOException e) {
             e.printStackTrace();
+            error_message = Error.DATABASE.getDescription();
         }
 
         return null;