{"id":8,"date":"2022-05-09T15:00:27","date_gmt":"2022-05-09T15:00:27","guid":{"rendered":"https:\/\/rizkiakmanda.com\/?p=8"},"modified":"2022-05-10T03:52:05","modified_gmt":"2022-05-10T03:52:05","slug":"cara-membuat-check-in-check-out-kalender-di-html","status":"publish","type":"post","link":"https:\/\/rizkiakmanda.com\/?p=8","title":{"rendered":"Cara Membuat Check-In Check-Out Kalender di HTML"},"content":{"rendered":"\r\n<p class=\"wp-block-paragraph\">Ketika kita ingin membuat sebuah web hotel, sebisa mungkin kita membuat fitur-fitur yang bisa mempermudah user. Salah satu fitur yang penting adalah fitur booking, dimana fitur ini membutuhkan tanggal check-in dan check-out. Bisa saja tanggal check-in dan check-in kita buat berupa input text, tapi jika seperti itu rasanya kurang mempermudah, karena user harus melihat kalender terlebih dahulu, dan bisa menimbulkan mismatch data. Karena hal tersebut alangkah baiknya kita menampilkan kalender yang tanggalnya bisa dipilih, baik menjadi tanggal check-in ataupun tanggal check-out.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Ada banyak plugin JS untuk menampilkan kalender, tapi saya akan menggunakan daterangepicker js, karena selain menampilkan kalender, plugin ini memiliki fitur <em>daterangepicker <\/em>seperti namanya, fitur ini bisa dimanfaatkan untuk mengambil tanggal check-in dan check-out, dengan cara mengambil value <em>start Date<\/em> dan <em>end Date.<\/em><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Cara membuatnya tidak terlalu sulit,pertama kita hanya harus mendownload terlebih dahulu plugin daterangepicker js di websitenya, setelah itu kita hanya tinggal memindahkan file yang kita butuhkan, yaitu daterangepicker.css, daterangepicker.js dan moment.min.js ke folder kerja kita, biasanya saya akan memisahkan antara css dan js ke folder yang berbeda.Css disimpan di folder css sedangkan js disimpan di folder js.Setelah itu tinggal kita import file tadi ke html kita.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Setelah di import semua file tadi, dan pastikan jQuery sudah di import juga, setelah itu kita tinggal membuat sebuah input kosong, sebagai tempat untuk mengambil tanggal dan menampilkan kalender,kira-kira kodenya seperti berikut:<\/p>\r\n<div class=\"dm-code-snippet dark no-background no-background-mobile dm-slim-version\" style=\"background-color:#abb8c3;\" snippet-height=\"\">\n\t\t\t<div class=\"control-language\">\n                <div class=\"dm-buttons\">\n                    <div class=\"dm-buttons-left\">\n                        <div class=\"dm-button-snippet red-button\"><\/div>\n                        <div class=\"dm-button-snippet orange-button\"><\/div>\n                        <div class=\"dm-button-snippet green-button\"><\/div>\n                    <\/div>\n                    <div class=\"dm-buttons-right\">\n                        <a id=\"dm-copy-raw-code\">\n                        <span class=\"dm-copy-text\">Copy Code<\/span>\n                        <span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span>\n                        <span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a>\n                    <\/div>\n                <\/div>\n                <pre class=\"no-line-numbers\"><code id=\"dm-code-raw\" class=\"no-wrap language-markup\"><\/p>\r\n<pre class=\"dm-pre-admin-side\">&lt;div class=\"book-calender-inner\"&gt;\r\n\t&lt;input type=\"text\" name=\"calender-book\"&gt;\r\n&lt;\/div&gt;<\/pre>\r\n<p><\/code><\/pre>\n\t\t\t<\/div>\n        <\/div>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><span style=\"font-weight: 400;\">Setelah itu yang perlu kita lakukan adalah menambah kode javascript, untuk menampilkan kalender,kodenya seperti berikut:<\/span><\/p>\r\n<div class=\"dm-code-snippet dark no-background no-background-mobile dm-slim-version\" style=\"background-color:#abb8c3;\" snippet-height=\"\">\n\t\t\t<div class=\"control-language\">\n                <div class=\"dm-buttons\">\n                    <div class=\"dm-buttons-left\">\n                        <div class=\"dm-button-snippet red-button\"><\/div>\n                        <div class=\"dm-button-snippet orange-button\"><\/div>\n                        <div class=\"dm-button-snippet green-button\"><\/div>\n                    <\/div>\n                    <div class=\"dm-buttons-right\">\n                        <a id=\"dm-copy-raw-code\">\n                        <span class=\"dm-copy-text\">Copy Code<\/span>\n                        <span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span>\n                        <span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a>\n                    <\/div>\n                <\/div>\n                <pre class=\"no-line-numbers\"><code id=\"dm-code-raw\" class=\"no-wrap language-javascript\"><\/p>\r\n<pre class=\"dm-pre-admin-side\">const monthNames = [\"Jan\", \"Feb\", \"March\", \"April\", \"May\", \"June\",\"July\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\nlet dateObj = new Date();\r\nlet month = dateObj.getMonth() + 1;\r\nlet monthName = monthNames[month];\r\nlet day = dateObj.getDate();\r\nlet year = dateObj.getFullYear();\r\n\r\n$('input[name=\"calender-book\"]').daterangepicker({\r\n\u00a0 \u00a0 showDropdowns: false,\r\n\u00a0 \u00a0 startDate: `${month}\/${day}\/${year}`,\r\n\u00a0 \u00a0 endDate: `${month}\/${day}\/${year}`,\r\n\u00a0 \u00a0 locale: {\r\n\u00a0 \u00a0 monthNames: moment.months()\r\n\u00a0 \u00a0 }\r\n});<\/pre>\r\n<p><\/code><\/pre>\n\t\t\t<\/div>\n        <\/div>\r\n<p>Penjelasan dari kode kode diatas:<\/p>\r\n<ul>\r\n<li>monthNames = kumpulan nama nama bulan berupa Array<\/li>\r\n<li>dateObj = inisialisasi object Date<\/li>\r\n<li>month = mereturn bulan sekarang yang berupa angka<\/li>\r\n<li>monthName = mereturn bulan sekarang yang berupa nama bulan<\/li>\r\n<li>day = mereturn tanggal hari ini<\/li>\r\n<li>year = mereturn tahun ini<\/li>\r\n<\/ul>\r\n<p>Sisanya adalah kode bawaan daterangepicker,untuk lebih jelasnya ada di dokumentasi <a href=\"https:\/\/www.daterangepicker.com\/\">daterangepicker<\/a>.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-25 size-full\" src=\"https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/05\/calender1.png\" alt=\"\" width=\"512\" height=\"275\" srcset=\"https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/05\/calender1.png 512w, https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/05\/calender1-300x161.png 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/p>\r\n<p>Hasilnya akan terlihat seperti gambar diatas, lalu bagaimana caranya untuk mengambil value startDate dan endDate. Kita hanya perlu menambahkan beberapa kode berikut:<\/p>\r\n<div class=\"dm-code-snippet dark no-background no-background-mobile dm-slim-version\" style=\"background-color:#abb8c3;\" snippet-height=\"\">\n\t\t\t<div class=\"control-language\">\n                <div class=\"dm-buttons\">\n                    <div class=\"dm-buttons-left\">\n                        <div class=\"dm-button-snippet red-button\"><\/div>\n                        <div class=\"dm-button-snippet orange-button\"><\/div>\n                        <div class=\"dm-button-snippet green-button\"><\/div>\n                    <\/div>\n                    <div class=\"dm-buttons-right\">\n                        <a id=\"dm-copy-raw-code\">\n                        <span class=\"dm-copy-text\">Copy Code<\/span>\n                        <span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span>\n                        <span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a>\n                    <\/div>\n                <\/div>\n                <pre class=\"no-line-numbers\"><code id=\"dm-code-raw\" class=\"no-wrap language-javascript\"><\/p>\r\n<pre class=\"dm-pre-admin-side\">$('input[name=\"calender-book\"]').on('apply.daterangepicker', function(e, picker) {\r\n\u00a0 \u00a0 \u00a0 let startDate = picker.startDate.format('DD');\r\n\u00a0 \u00a0 \u00a0 let startMonthNumber = picker.startDate.format('MM');\r\n\u00a0 \u00a0 \u00a0 let startYear = picker.startDate.format('YYYY');\r\n\u00a0 \u00a0 \u00a0 let endDate = picker.endDate.format('DD');\r\n\u00a0 \u00a0 \u00a0 let endMonthNumber = picker.endDate.format('MM')\r\n\u00a0 \u00a0 \u00a0 let endYear = picker.endDate.format('YYYY');\r\n\r\nconsole.log(`checkin: ${startDate}\/${startMonthNumber}\/${startYear} checkout: ${endDate}\/${endMonthNumber}\/${endYear}`);\r\n});<\/pre>\r\n<p><\/code><\/pre>\n\t\t\t<\/div>\n        <\/div>\r\n<p>Penjelasan kode diatas:<\/p>\r\n<ul>\r\n<li>startDate = mengambil value startDate yang berupa tanggal<\/li>\r\n<li>startMonthNumber = mengambil value startDate yang berupa bulan(dalam bentuk angka)<\/li>\r\n<li>startYear = mengambil value startDate yang berupa tahun<\/li>\r\n<li>endDate,endMonthNumber,dan endYear = sama seperti startDate,startMonthNumber dan startYear hanya saja dari value endDate<\/li>\r\n<\/ul>\r\n<p>console.log di atas akan menampilkan hasil seperti berikut:<\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-28 size-full\" src=\"https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/05\/calender2.png\" alt=\"\" width=\"316\" height=\"50\" srcset=\"https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/05\/calender2.png 316w, https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/05\/calender2-300x47.png 300w\" sizes=\"auto, (max-width: 316px) 100vw, 316px\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>Value seperti di console sudah bisa digunakan, karena tampilannya sangat biasa, kita bisa rombak kodenya untuk mempercantik tampilannya. Dengan menambahkan dua buah div untuk menampilkan tanggal check-in dan tanggal check-out,dan juga menyembunyikan inputnya. Yang kira-kira akan seperti ini tampilannya:<\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-29 size-full\" src=\"https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/05\/calender3.png\" alt=\"\" width=\"512\" height=\"433\" srcset=\"https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/05\/calender3.png 512w, https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/05\/calender3-300x254.png 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/p>\r\n<p>Berikut kode yang sudah dirombak:<br \/>HTML markup:<\/p>\r\n<div class=\"dm-code-snippet dark no-background no-background-mobile dm-slim-version\" style=\"background-color:#abb8c3;\" snippet-height=\"\">\n\t\t\t<div class=\"control-language\">\n                <div class=\"dm-buttons\">\n                    <div class=\"dm-buttons-left\">\n                        <div class=\"dm-button-snippet red-button\"><\/div>\n                        <div class=\"dm-button-snippet orange-button\"><\/div>\n                        <div class=\"dm-button-snippet green-button\"><\/div>\n                    <\/div>\n                    <div class=\"dm-buttons-right\">\n                        <a id=\"dm-copy-raw-code\">\n                        <span class=\"dm-copy-text\">Copy Code<\/span>\n                        <span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span>\n                        <span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a>\n                    <\/div>\n                <\/div>\n                <pre class=\"no-line-numbers\"><code id=\"dm-code-raw\" class=\"no-wrap language-markup\"><\/p>\r\n<pre class=\"dm-pre-admin-side\">&lt;div class=\"book-calender\"&gt;\r\n\u00a0 \u00a0 \u00a0&lt;div class=\"book-calender-inner\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 &lt;input type=\"text\" name=\"calender-book\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"calender-item\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0&lt;div class=\"calender-item-text\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;p&gt;Check In&lt;\/p&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;h3 class=\"check-in-date\"&gt;29 Sep 2021&lt;\/h3&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0&lt;\/div&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0&lt;div class=\"calender-item-icon\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;i class=\"fas fa-calendar-alt\"&gt;&lt;\/i&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0&lt;\/div&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 &lt;\/div&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 &lt;div class=\"calender-item\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0&lt;div class=\"calender-item-text\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;p&gt;Check Out&lt;\/p&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;h3 class=\"check-out-date\"&gt;29 Sep 2021&lt;\/h3&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0&lt;\/div&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0&lt;div class=\"calender-item-icon\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0&lt;i class=\"fas fa-calendar-alt\"&gt;&lt;\/i&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0&lt;\/div&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 &lt;\/div&gt;\r\n\u00a0 \u00a0 \u00a0&lt;\/div&gt;\r\n&lt;\/div&gt;\u00a0<\/pre>\r\n<p><\/code><\/pre>\n\t\t\t<\/div>\n        <\/div>\r\n<p>Css kode:<\/p>\r\n<div class=\"dm-code-snippet dark no-background no-background-mobile dm-slim-version\" style=\"background-color:#abb8c3;\" snippet-height=\"500px\">\n\t\t\t<div class=\"control-language\">\n                <div class=\"dm-buttons\">\n                    <div class=\"dm-buttons-left\">\n                        <div class=\"dm-button-snippet red-button\"><\/div>\n                        <div class=\"dm-button-snippet orange-button\"><\/div>\n                        <div class=\"dm-button-snippet green-button\"><\/div>\n                    <\/div>\n                    <div class=\"dm-buttons-right\">\n                        <a id=\"dm-copy-raw-code\">\n                        <span class=\"dm-copy-text\">Copy Code<\/span>\n                        <span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span>\n                        <span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a>\n                    <\/div>\n                <\/div>\n                <pre class=\"no-line-numbers\"><code id=\"dm-code-raw\" class=\"no-wrap language-css\"><\/p>\r\n<pre class=\"dm-pre-admin-side\">.book-calender {\r\n  padding: 40px 40px;\r\n  background-color: #ffffff;\r\n  border-radius: 20px;\r\n  transition: all 0.3s ease;\r\n}\r\n\r\n.book-calender.calender-show {\r\n  max-height: 100%;\r\n  transition: all 0.3s ease;\r\n}\r\n\r\n.book-calender input {\r\n  position: absolute;\r\n  top: 100%;\r\n  left: -40px;\r\n  width: 100%;\r\n  visibility: hidden;\r\n  height: 0;\r\n  pointer-events: none;\r\n}\r\n\r\n.book-calender-inner {\r\n  position: relative; \r\n  display: flex;\r\n\r\n  justify-content: space-between;\r\n  gap: 30px;\r\n}\r\n\r\n.book-calender-inner::before {\r\n  content: \"\";\r\n  border-radius: 50%;\r\n  background-color: rgb(255, 255, 255);\r\n  box-shadow: 0px 0px 6.65px 0.35px rgba(1, 2, 2, 0.1);\r\n  position: absolute;\r\n  top: 50%;\r\n  left: 50%;\r\n  width: 60px;\r\n  height: 60px;\r\n  background-image: url('img\/arrow-right.png');\r\n  background-repeat: no-repeat;\r\n  background-size: 25px;\r\n  background-position: 50% 50%;\r\n  transform: translate(-50%, -50%);\r\n  -webkit-transform: translate(-50%, -50%);\r\n  -moz-transform: translate(-50%, -50%);\r\n  -ms-transform: translate(-50%, -50%);\r\n  -o-transform: translate(-50%, -50%);\r\n  z-index: 10;\r\n}\r\n\r\n.calender-item {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  border-width: 2px;\r\n  border-color: rgb(235, 235, 235);\r\n  border-style: solid;\r\n  border-radius: 10px;\r\n  padding: 0 35px;\r\n  height: 100px;\r\n  cursor: pointer;\r\n  width: 50%;\r\n}\r\n\r\n.calender-item-text p {\r\n  font-size: 14px;\r\n  font-weight: 300;\r\n  line-height: 30px;\r\n  margin: 0;\r\n}\r\n\r\n.calender-item-text h3 {\r\n  font-family: 'Quicksand';\r\n  font-size: 23px;\r\n  line-height: 30px;\r\n  margin: 0;\r\n}\r\n\r\n.calender-item-icon i {\r\n  font-size: 25px;\r\n}\r\n\r\n.daterangepicker {\r\n  width: 607px !important;\r\n  border: none !important;\r\n  padding: 0 40px 40px !important;\r\n  border-bottom-left-radius: 20px !important;\r\n  border-bottom-right-radius: 20px !important;\r\n}\r\n\r\n.daterangepicker.show-calendar .drp-calendar {\r\n  width: 45% !important;\r\n  max-width: 100%;\r\n}\r\n\r\n.daterangepicker .drp-calendar.left .calendar-table {\r\n  padding-right: 0 !important;\r\n}\r\n\r\n.daterangepicker:before, .daterangepicker:after {\r\n  display: none !important;\r\n}\r\n\r\n.daterangepicker .calendar-table thead tr:first-child th {\r\n  border-bottom: 1px solid #000000;\r\n  padding: 10px 0;\r\n  font-size: 14px;\r\n  font-family: 'Quicksand';\r\n  font-weight: 600;\r\n}\r\n\r\n.daterangepicker .calendar-table thead tr:last-child th {\r\n  padding-top: 15px;\r\n  color: #119e91;\r\n}\r\n\r\n.daterangepicker .drp-calendar.left,\r\n.daterangepicker .drp-calendar.right {\r\n  padding: 8px 15px 15px 15px !important;\r\n}\r\n\r\n.daterangepicker .calendar-table th, .daterangepicker .calendar-table td {\r\n  font-family: 'Quicksand';\r\n}\r\n\r\n.daterangepicker .calendar-table td {\r\n  font-weight: 600 !important;\r\n  line-height: 35px !important;\r\n  border-radius: 50% !important;\r\n  border: none !important;\r\n}\r\n\r\n.daterangepicker td.active, \r\n.daterangepicker td.end-date.in-range,\r\n.daterangepicker td.active:hover {\r\n  position: relative;\r\n  color: #000000 !important;\r\n  background-color: transparent !important;\r\n  z-index: 10;\r\n}\r\n\r\n.daterangepicker td.in-range {\r\n  background-color: rgba(70, 217, 203, 0.4) !important;\r\n  border-radius: 0 !important;\r\n}\r\n\r\n.daterangepicker td.active.start-date::before, \r\n.daterangepicker td.end-date.in-range::before {\r\n  content: \"\";\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  width: 100%;\r\n  height: 100%;\r\n  background-color: #46d9cb;\r\n  z-index: -1;\r\n  border-radius: 50%;\r\n}\r\n\r\n.daterangepicker td.active::after {\r\n  content: \"\";\r\n  position: absolute;\r\n  top: 0;\r\n  right: 0;\r\n  width: 50%;\r\n  height: 100%;\r\n  background-color: rgba(70, 217, 203, 0.4);\r\n  z-index: -2;\r\n}\r\n\r\n.daterangepicker td.end-date.in-range::after {\r\n  content: \"\";\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  width: 50%;\r\n  height: 100%;\r\n  background-color: rgba(70, 217, 203, 0.4);\r\n  z-index: -2;\r\n}\r\n\r\n.daterangepicker .calendar-table .next span, \r\n.daterangepicker .calendar-table .prev span {\r\n  border-width: 0 1px 1px 0 !important;\r\n}\r\n\r\n.daterangepicker .drp-selected {\r\n  font-family: 'Quicksand';\r\n  font-weight: 600;\r\n}\r\n\r\n.daterangepicker .drp-buttons .btn {\r\n  background-color: #119e91;\r\n  color: #ffff;\r\n  border-radius: 10px;\r\n  padding: 4px 10px !important;\r\n}\r\n\r\n.daterangepicker .drp-buttons .btn:hover {\r\n  background-color: #12857a;\r\n}\r\n<\/pre>\r\n<p><\/code><\/pre>\n\t\t\t<\/div>\n        <\/div>\r\n<p>&nbsp;<\/p>\r\n<p>JS kode:<\/p>\r\n<div class=\"dm-code-snippet dark no-background no-background-mobile dm-slim-version\" style=\"background-color:#abb8c3;\" snippet-height=\"500px\">\n\t\t\t<div class=\"control-language\">\n                <div class=\"dm-buttons\">\n                    <div class=\"dm-buttons-left\">\n                        <div class=\"dm-button-snippet red-button\"><\/div>\n                        <div class=\"dm-button-snippet orange-button\"><\/div>\n                        <div class=\"dm-button-snippet green-button\"><\/div>\n                    <\/div>\n                    <div class=\"dm-buttons-right\">\n                        <a id=\"dm-copy-raw-code\">\n                        <span class=\"dm-copy-text\">Copy Code<\/span>\n                        <span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span>\n                        <span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a>\n                    <\/div>\n                <\/div>\n                <pre class=\"no-line-numbers\"><code id=\"dm-code-raw\" class=\"no-wrap language-javascript\"><\/p>\r\n<pre class=\"dm-pre-admin-side\">const monthNames = [\"Jan\", \"Feb\", \"March\", \"April\", \"May\", \"June\",\r\n      \"July\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"\r\n    ];\r\n    let dateObj = new Date();\r\n    let month = dateObj.getMonth() + 1;\r\n    let monthName = monthNames[month];\r\n    let day = dateObj.getDate();\r\n    let year = dateObj.getFullYear();\r\n\r\n    let newDate = `${day} ${monthName} ${year}`;\r\n    let checkOut = `${day} ${monthName} ${year}`;\r\n    $('.check-in-date').text(newDate);\r\n    $('.check-out-date').text(checkOut);\r\n\r\n    $('.calender-item').on('click', function() {\r\n      $('input[name=\"calender-book\"]').trigger('click');\r\n    });\r\n\r\n    $('input[name=\"calender-book\"]').daterangepicker({\r\n        showDropdowns: false,\r\n        startDate: `${month}\/${day}\/${year}`,\r\n        endDate: `${month}\/${day}\/${year}`,\r\n        locale: {\r\n          monthNames: moment.months()\r\n        }\r\n    });\r\n\r\n    $('input[name=\"calender-book\"]').on('apply.daterangepicker', function(e, picker) {\r\n      let startDate = picker.startDate.format('DD');\r\n      let startMonthNumber = picker.startDate.format('MM');\r\n      let startYear = picker.startDate.format('YYYY');\r\n      let endDate = picker.endDate.format('DD');\r\n      let endMonthNumber = picker.endDate.format('MM')\r\n      let endYear = picker.endDate.format('YYYY');\r\n\r\n      if(startMonthNumber.indexOf('0') === '1' ) {\r\n        startMonthNumber = startMonthNumber.replace('0', '');\r\n      } else {\r\n        startMonthNumber = startMonthNumber;\r\n      }\r\n\r\n      if(endMonthNumber.indexOf('0') === '1') {\r\n        endMonthNumber = endMonthNumber.replace('0', '');\r\n      } else {\r\n        endMonthNumber = endMonthNumber\r\n      }\r\n\r\n      let startMonth = monthNames[startMonthNumber - 1];\r\n      let endMonth = monthNames[endMonthNumber - 1];\r\n      let checkInDate = `${startDate} ${startMonth} ${startYear}`;\r\n      let checkOutDate = `${endDate} ${endMonth} ${endYear}`;\r\n\r\n      $('.check-in-date').text(checkInDate);\r\n      $('.check-out-date').text(checkOutDate);\r\n    });\r\n<\/pre>\r\n<p><\/code><\/pre>\n\t\t\t<\/div>\n        <\/div>\r\n<p><code><\/code><\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Ketika kita ingin membuat sebuah web hotel, sebisa mungkin kita membuat fitur-fitur yang bisa mempermudah user. Salah satu fitur yang penting adalah fitur booking, dimana fitur ini membutuhkan tanggal check-in dan check-out. Bisa saja tanggal check-in dan check-in kita buat berupa input text, tapi jika seperti itu rasanya kurang mempermudah, karena user harus melihat kalender [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":29,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[3,4],"tags":[8,6,5,7],"class_list":["post-8","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-coding-tutorial","category-html","tag-calender","tag-css","tag-html","tag-js"],"acf":[],"_links":{"self":[{"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/posts\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8"}],"version-history":[{"count":10,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/posts\/8\/revisions"}],"predecessor-version":[{"id":51,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/posts\/8\/revisions\/51"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/media\/29"}],"wp:attachment":[{"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}