
Seperti sudah dijelaskan pada artikel yang lalu, API (Application Programming Interface), bahwasanya format konten yang dihasilkan oleh pemanggilan fungsi API berbentuk JSON (JavaScript Object Notation). Berikut ini akan saya jelaskan struktur obyek dari JSON yang dihasilkan oleh API kalender.
Urutan paling atas terdapat dua buah obyek yaitu Month dan Translate. Pada API kalender tahunan, obyek Month merupakan senarai (array) yang berisi 12 obyek yang merupakan informasi bulanan. Sementara pada API kalender bulanan bukanlah merupakan senarai namun tetap merupakan obyek berisi informasi bulanan khusus untuk bulan berlaku (yang ditentukan saat pemanggilan API). Sementara obyek Translate berisi daftar informasi kode hari libur yang nilainya merupakan nama dari hari libur.

Pada sebuah obyek Month akan terdapat informasi berikut ini:
Nama Kunci | Keterangan |
---|---|
DaysCount | Jumlah banyaknya hari pada bulan berlaku |
WeeksCount | Jumlah banyaknya minggu pada bulan berlaku |
Firstweek | Minggu pertama dari tanggal awal bulan. Misalnya untuk bulan Januari 2019 bernilai 2 (dua), artinya tanggal 1 Januari 2019 jatuh pada hari ke tiga dalam satu minggu, yaitu hari Selasa. Senarai daftar hari dalam satu minggu diawali dengan nilai 0 (nol) untuk hari Ahad/Minggu dan diakhiri nilai 6 (enam) untuk hari Sabtu, selengkapnya: 0-Ahad, 1-Senin, 2-Selasa, 3-Rabu, 4-Kamis, 5-Jum'at, 6-Sabtu |
FirstDate | Tanggal awal dari bulan berlaku. Merupakan sebuah obyek yang mempunyai atribut lain di dalamnya, diantaranya M(asehi), H(ijriyah), J(awa), C(andra), S(surya). Misalnya untuk bulan Januari 2019, nilai H adalah "1440-04-24", artinya tanggal 1 Januari bertepatan dengan tanggal 24 bulan ke-4 (Rabbiul Akhir) tahun 1440 kalender Hijriyah |
LastDate | Tanggal awal dari bulan berlaku. Merupakan sebuah obyek yang mempunyai atribut lain di dalamnya, diantaranya M(asehi), H(ijriyah), J(awa), C(andra), S(surya). Misalnya untuk bulan Januari 2019, nilai J adalah "1952-05-24", artinya tanggal 31 Januari bertepatan dengan tanggal 24 bulan ke-5 (Jumadi Awal) tahun 1952 kalender Jawa |
Dates | Merupakan obyek yang merupakan senarai obyek yang berisi informasi setiap tanggal dari bulan berlaku. Daftar obyek dari Dates akan dijelaskan pada tabel berikutnya. |

Obyek Dates berupa senarai dengan jumlah item 42 yang dimulai dari indeks 0 (nol) sampai 41. Jika diimplementasikan ke dalam suatu tabel, sejumlah item senarai tersebut akan menciptakan sebuah tabel yang memiliki 7 buah kolom dan 6 buah baris, di mana 7 kolom tersebut merupakan jumlah hari dalam satu minggu.

Berikut ini informasi yang terkandung pada item senarai obyek Dates.
Nama Kunci | Keterangan |
---|---|
M | Tanggal kalender Masehi |
H | Tanggal kalender Hijriyah |
J | Tanggal kalender Jawa |
C | Tanggal kalender Sunda Candra |
S | Tanggal kalender Sunda Surya |
W | Weekday, hari ke-n dalam satu minggu, sama seperti "Firstweek", dengan urutan sebagai berikut: 0-Ahad, 1-Senin, 2-Selasa, 3-Rabu, 4-Kamis, 5-Jum'at, 6-Sabtu |
Type | Merupakan tipe tanggal, mempunyai tiga buah opsi, yaitu: "before", "current", dan "after". Tipe "before" menununjukkan bahwa tanggal tersebut merupakan tanggal bulan sebelumnya dari bulan bersangkutan. Tipe "current" menununjukkan bahwa tanggal tersebut merupakan tanggal bulan bersangkutan. Dan tipe "after" menununjukkan bahwa tanggal tersebut merupakan tanggal bulan setelahnya dari bulan bersangkutan. Pada tampilan kalender pada situs ini, tanggal dengan tipe "before" dan "after" akan ditandai dengan warna latar belakang abu-abu |
Holiday | Berupa senarai yang menampilkan informasi hari-hari libur pada tanggal bersangkutan. Item senarai berupa sebuah obyek dengan informasi yang akan dijelaskan pada bahasan selanjutnya. |
Leave | Berupa senarai, mirip dengan "Holiday", yang menampilkan informasi hari-hari cuti bersama pada tanggal bersangkutan. Item senarai berupa sebuah obyek dengan informasi yang hampir mirip dengan "Holiday" |
Islamic | Berupa senarai, ini juga mirip dengan "Holiday", yang menampilkan informasi hari-hari penting/peringatan Islami/Hijriyah pada tanggal bersangkutan. Item senarai berupa sebuah obyek dengan informasi yang hampir mirip dengan "Holiday" |
Info | Berisi info tambahan dari tanggal bersangkutan, berbentuk obyek dengan item obyek, yaitu: M(asehi) yang menampilkan info seputar/berkaitan dengan kalender Masehi, diantaranya: Zodiac, Shio, Elemen. J(awa) menampilkan info seputar/berkaitan dengan kalender Jawa, diantaranya: Pasaran, Wuku, Neptu, Mongso, Tahun, Windu, Lambang. S(unda) menampilkan info seputar/berkaitan dengan kalender Sunda, diantaranya: Pasaran, Wuku, Tahun, Windu |
Berikut ini kode/indeks daftar Zodiac, Shio, Elemen pada API.
Index | Zodiac | Shio | Elemen |
---|---|---|---|
0 | Aries | Ayam | |
1 | Taurus | Anjing | Kayu |
2 | Gemini | Babi | Api |
3 | Kanser | Tikus | Tanah |
4 | Leo | Kerbau | Logam |
5 | Virgo | Harimau | Air |
6 | Libra | Kelinci | |
7 | Scorpio | Naga | |
8 | Sagitarius | Ular | |
9 | Kaprikornus | Kuda | |
10 | Akuarius | Kambing | |
11 | Pises | Monyet |
Pada dasarnya, API Kalender ini sudah mencakup daftar hari libur dari beberapa negara yang kami pilih, di antaranya: Indonesia (id), Malaysia (my), Brunai (bn), Singapura (sg), Filippina (ph), Vietnam (vn), China (cn), serta Amerika Serikat (us). Berikut ini informasi yang dimiliki oleh obyek Holiday, Leave, dan Islamic.
Nama Kunci | Keterangan |
---|---|
Name | Kode hari libur, misalnya: "hijri_0001". Nama/keterangan untuk kode hari libur dapat dilihat pada obyek Translate pada pembahasan di atas |
Info | Menampilkan informasi pelengkap dari hari libur bersangkutan, misalnya: 1440 Hijriyah, 1941 Saka, dan sebagainya |
Type | Hampir mirip dengan "Name" yaitu berupa kode hari libur, hanya saja tipe ditambahi akhiran "a" atau "b" pada akhir kode. Akhiran "a" berarti sebelum hari libur utama, misalnya: "hijri_0009a" untuk menunjukkan cuti bersama sebelum Hari Raya Idul Fitri. Sedangkan akhiran "b" berarti setelah hari libur utama |
Status | Status hari libur bersangkutan, terdiri dari tiga opsi: 0-Obervasi, 1-Libur Nasional, 2-Libur Pengganti. Untuk libur nasional di Indonesia, silakan abaikan Status dengan nilai 0 (nol) dan 1 (satu) |
Rel | Menunjukan jenis atau kelompok hari libur, akan bernilai: "Masehi", "Hijriyah", "Buddha", "Hindu", "China" |
Country | Berupa senarai untuk menentukan negara-negara yang memperingati hari libur bersangkutan, nama negara akan ditulis dalam kode negara internasional yang terdiri dari 2 (dua) huruf. Kode-kode negara sudah dituliskan di bagian atas |
Exclude | Jika hari libur merupakan hari libur internasional, informasi yang berupa senarai ini akan menentukan negara-negara yang tidak memperingati hari libur bersangkutan, nama negara akan ditulis dalam kode negara internasional. |
StateIn | Khusus untuk hari libur yang diperingati oleh negara yang memiliki negara bagian, seperti Malaysia, dan Amerika Serikat. StateIn berisi senarai daftar negara bagian yang memperingati hari libur bersangkutan |
StateEx | Sama seperti "StateIn", hanya saja senarai berisi daftar negara bagian yang tidak memperingati hari libur bersangkutan |

Agar tidak membingungkan dalam membaca obyek Holiday, untuk mengambil hari libur nasional Indonesia, pastikan untuk mengecek nilai pada "Status", pilih hanya yang bernilai 1 (satu), serta periksa pada senarai "Country", pastikan terdapat kode negara Indonesia, yaitu "id". Bila ada pertanyaan seputar pembacaan hasil API, silakan menuju halaman Kontak untuk pertanyaan.