diff --git a/app/src/main/java/id/ac/ui/cs/myui/model/calendar/CalendarItem.java b/app/src/main/java/id/ac/ui/cs/myui/model/calendar/CalendarItem.java
index 43653c6757aea3158a147e6b5d295928d6e5f7c7..8d51e0e5f72299dbfbd4bbf26abf4871044dc800 100644
--- a/app/src/main/java/id/ac/ui/cs/myui/model/calendar/CalendarItem.java
+++ b/app/src/main/java/id/ac/ui/cs/myui/model/calendar/CalendarItem.java
@@ -1,6 +1,8 @@
 package id.ac.ui.cs.myui.model.calendar;
 
 
+import android.support.annotation.NonNull;
+
 import java.util.ArrayList;
 
 /**
@@ -9,7 +11,7 @@ import java.util.ArrayList;
  * modified by ghozi&emon on 16/8/17
  */
 
-public class CalendarItem{
+public class CalendarItem implements Comparable<CalendarItem>{
 
     private String start_date;
     private String end_date;
@@ -108,5 +110,21 @@ public class CalendarItem{
         result.add(year);
         return result;
     }
+    @Override
+    public int compareTo(@NonNull CalendarItem calendarItem) {
+        String[] thisStart = this.getStart_date().split("-");
+        String[] thatStart = calendarItem.getStart_date().split("-");
+        String a= thisStart[0]+thisStart[1]+thisStart[2];
+        String b= thatStart[0]+thatStart[1]+thatStart[2];
+        int diff = Integer.parseInt(a) - Integer.parseInt(b);
+        if(diff == 0){
+            String[] thisEnd = this.getEnd_date().split("-");
+            String[] thatEnd = calendarItem.getEnd_date().split("-");
+            String aa= thisEnd[0]+thisEnd[1]+thisEnd[2];
+            String bb= thatEnd[0]+thatEnd[1]+thatEnd[2];
+            diff = Integer.parseInt(aa)-Integer.parseInt(bb);
+        }
+        return diff;
+    }
 
 }
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 9a92bdbd54c265a15f00534a16f84ed7429e63c2..50887bb68cd91ff42a0bc8828e9bd914669e01da 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
@@ -10,6 +10,7 @@ import android.widget.Toast;
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Collections;
 
 import id.ac.ui.cs.myui.BuildConfig;
 import id.ac.ui.cs.myui.R;
@@ -65,6 +66,7 @@ public class CalendarTask extends AsyncTask<Object, Object, ArrayList<CalendarIt
         }else {
             Activity actCalendar = (Activity) context;
             ListView dateList = (ListView) actCalendar.findViewById(R.id.list_tanggal);
+            Collections.sort(item);
             ListAdapter adapter = new ListCalendarAdapter(context, R.layout.content_calender, (ArrayList<CalendarItem>) item);
             dateList.setAdapter(adapter);
         }