<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Tulisan Programmer Gadungan]]></title><description><![CDATA[Tulisan Programmer Gadungan]]></description><link>https://topidesta.my.id</link><image><url>https://topidesta.my.id/logos/logo-512x512.png</url><title>Tulisan Programmer Gadungan</title><link>https://topidesta.my.id</link></image><generator>Tulisan Programmer Gadungan</generator><lastBuildDate>Fri, 15 May 2026 14:50:05 GMT</lastBuildDate><atom:link href="https://topidesta.my.id/rss.xml" rel="self" type="application/rss+xml"/><copyright><![CDATA[Copyright © 2019 - 2025 Topidesta. MIT license.]]></copyright><item><title><![CDATA[Gunakan AI Sesuai Kebutuhan]]></title><description><![CDATA[Bismillah Selama ini gw pake AI dari bawaan IDE Antigravity dan IDE Cursor .. eh, dikantor IDE Cursor pake Claude, karena udah langganan jadi gw pake juga deh, dan Ternyata bikin…]]></description><link>https://topidesta.my.id/gunakan-ai-sesuai-kebutuhan/</link><guid isPermaLink="false">https://topidesta.my.id/gunakan-ai-sesuai-kebutuhan/</guid><category><![CDATA[ai]]></category><pubDate>Wed, 13 May 2026 08:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h2&gt;
&lt;p&gt;Selama ini gw pake AI dari bawaan IDE Antigravity dan IDE Cursor .. eh, dikantor IDE Cursor pake Claude, karena udah langganan jadi gw pake juga deh, dan Ternyata bikin kerjaan cepet, tapi bikin ide di otak kita juga bergerak cepat.&lt;/p&gt;
&lt;p&gt;Dari banyaknya AI tergantung kebutuhannya masing masing, misalkan yang terkenal seperti ChatGPT, si AI ini bisa menjadi apa saja tergantung kita mentraining si AI inih, adalagi Grok, yang terkenal di twitter (x.com) dan lain lain.&lt;/p&gt;
&lt;p&gt;Berikut ini AI yang bisa kita manfaatkan sesuai kebutuhan.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://chat.openai.com&quot;&gt;ChatGPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gemini.google.com&quot;&gt;Gemini AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://grok.com&quot;&gt;Grok&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://claude.ai&quot;&gt;Claude&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.llama.com&quot;&gt;Llama&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.perplexity.ai&quot;&gt;Perplexity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.deepseek.com&quot;&gt;DeepSeek&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kimi.com&quot;&gt;Kimi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chat.qwen.ai&quot;&gt;Qwen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://manus.im&quot;&gt;Manus&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Kesimpulannya:&lt;/p&gt;
&lt;p&gt;ChatGPT:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;bisa segalanya, terlalu general&lt;/li&gt;
&lt;li&gt;kurang objektif&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Gemini:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;data real time&lt;/li&gt;
&lt;li&gt;langsung terhubung ke layanan google&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Claude:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;spesifikasi bidang analisis data, coding, membuat gambar&lt;/li&gt;
&lt;li&gt;belum terkenal secara umum (bukan sebagai pekerjaan sehari - hari)&lt;/li&gt;
&lt;li&gt;pelit fitur gratisan&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Grok:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;akses langsung ke Twitter secara real time&lt;/li&gt;
&lt;li&gt;bisa sarkas, humoris, dan objektif&lt;/li&gt;
&lt;li&gt;kecerdasan emosional yang tinggi&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Llama:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Open source (demokratisasi AI)&lt;/li&gt;
&lt;li&gt;fungsi turunan dari meta AI&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Perplexity:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;jawaban lengkap + akurat + sumber jelas (cocok untuk siswa, mahasiswa, tenaga pengajar)&lt;/li&gt;
&lt;li&gt;bukan buat basa basi dan chat informal&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Deepseek:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;kualitas yang sangat baik mengalahkan CHATGPT pro (kemampuan reasoning tinggi)&lt;/li&gt;
&lt;li&gt;server sering down&lt;/li&gt;
&lt;li&gt;sensor ketat terkait topik negara China&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Kimi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;digunakan untuk menyelesaikan tugas&lt;/li&gt;
&lt;li&gt;harga yang sangat rendah&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Qwen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;jago mengolah data melawan chatgpt&lt;/li&gt;
&lt;li&gt;Agent AI dan bersifat berulang&lt;/li&gt;
&lt;li&gt;kemampuan bahasa inggris dan China yang tinggi&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Manus:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;lebih cocok untuk disuruh suruh daripada menjawab pertanyaan&lt;/li&gt;
&lt;li&gt;bukan buat diajak ngobrol&lt;/li&gt;
&lt;li&gt;sistem kredit masih mahal&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Jadi, Sesuaikan kebutuhan ya.&lt;/p&gt;
&lt;p&gt;Have a Nice Day!&lt;/p&gt;
&lt;p&gt;Source&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://youtu.be/TO3NFnTmItc?si=D3gT2sI7Kcg2FkLb&quot;&gt;https://youtu.be/TO3NFnTmItc?si=D3gT2sI7Kcg2FkLb&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Era AI Untuk Programmer 30an]]></title><description><![CDATA[Bismillah Kali ini gw mau cerita tentang manfaat AI buat gw, programmer yang udah kepala 3. Bersyukur bisa menikmati kemudahan dan merasakan manfaat dari AI sebagai Programmer…]]></description><link>https://topidesta.my.id/era-ai-untuk-programmer-30an/</link><guid isPermaLink="false">https://topidesta.my.id/era-ai-untuk-programmer-30an/</guid><category><![CDATA[ai]]></category><category><![CDATA[programmer]]></category><pubDate>Tue, 03 Feb 2026 08:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h2&gt;
&lt;p&gt;Kali ini gw mau cerita tentang manfaat AI buat gw, programmer yang udah kepala 3. Bersyukur bisa menikmati kemudahan dan merasakan manfaat dari AI sebagai Programmer. Hampir 10 tahun bergulat dengan Google dan DuckDuckGo untuk setiap permasalahan yang dihadapai saat mengembangkan sebuah sistem.&lt;/p&gt;
&lt;p&gt;Ok, Selain mempercepat pekerjaan, AI juga mempermudah gw buat update update aplikasi yang aman, karena kadang ketika update package, ada aja celah keamaanannya, dan AI bisa mendeteksi ituh. Termasuk blog topidesta ini, dibantu AI buat upgrade-upgrade package yang kadaluarsa yang ada celah celah keamaanan, dan penambahan feature tahun di sidebar sebelah kanan.&lt;/p&gt;
&lt;p&gt;Kebetulan saat implementasi AI di pekerjaan itu saat project pembuatan Halaman Administrasi dan Service API untuk travel, di bulan Desember kemaren gw sempet ngerjain project dibantu AI, sebetulnya kalo gak pake AI bisa jadi otak gw bisa meledak lagi. hehe, Selama 1 bulan gw buat Aplikasi Backend dan Admin Travel Vizitrip, kurang lebih tampilan seperti ini.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 70.9090909090909%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAAsTAAALEwEAmpwYAAACb0lEQVR42oVTy4rVQBTM77lx428Mgn/hQh0UN25cuFXUtYwyIDqgcAdkHAbnxR3veB+Zm5tXp1/pLut0MoLgI1DpTjqnTp06Jxl4LZcV5vOcu4gQImLkjrf4a/8PMCo4jf1zhZMVkHnfQyBEcnXaoigbaGPTcx/CfxHILLDkyTQJOm0GReQ0usZ8ucLh8RQzqg7pfcDfrwjtIzonySMyaz2c8+lACJWq4WyHulUo6xa+74ew0YKkRsqMgz0S5PiJEDofqJClSbAEiPzOOJzlEZUaiJS12DmeQBmNnvFOr+HbMxhhYcyk8ZiUGpHnVgjFP9XppC6QUJPwwQ7w+aQVB1Ebg0cfXqJsSvB7hPIj/PQxE7qU8PXa4fmPBqGpYJkxc96jahRkvSYULwS+D7BUMhgekipZXT+CYvqecb289zz3yKQhTcty+qFb0uWqrrEpa9RNMzYrIo4tkLJFnBB3naXnHtYO9oiAzNBDa91oPM3ls/eW+z6Rh5FMFCsh4LuajIYxy6OnmH3ZxvzwCRYH21DlGbLaBtTao2UWzfSKH+6d9njzNeB0esmhX2K1yqFZySovsOBIrSuNhom3Pj3DzXf3cWv3IW68vYe9nIQbllvUHUqulTLQHKP3x8Cr/YDzi0tMp1Pkec4qpBIDw25qF1PyuxcaW0cV7hyVuH2icKBYctUaElkSWmy470i4+w14MYmJcDb7jrKqUsO6rkNDX1vD2fPDXCY/RkiTMiG7hpBqlr4uW8wWBeaLBf/xORZc10WBgri6ukKxKVP3tUCsogjtfJqC3wgFyvDP8Y5/j01jIND0VZohQy/Q1qbgP+EnAgc0wG2tbwkAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;dashboard&quot;
        title=&quot;&quot;
        src=&quot;/static/8c14ebdf3fc54a0327ab9a8c73a4d220/7c811/dashboard-vizitrip.png&quot;
        srcset=&quot;/static/8c14ebdf3fc54a0327ab9a8c73a4d220/103f2/dashboard-vizitrip.png 165w,
/static/8c14ebdf3fc54a0327ab9a8c73a4d220/748ba/dashboard-vizitrip.png 330w,
/static/8c14ebdf3fc54a0327ab9a8c73a4d220/7c811/dashboard-vizitrip.png 660w,
/static/8c14ebdf3fc54a0327ab9a8c73a4d220/d28e0/dashboard-vizitrip.png 990w,
/static/8c14ebdf3fc54a0327ab9a8c73a4d220/bb51b/dashboard-vizitrip.png 1320w,
/static/8c14ebdf3fc54a0327ab9a8c73a4d220/ac7a9/dashboard-vizitrip.png 1920w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Semua design disesuaikan dengan TIM Designer lainnya, bayangkan aja gw sendirian, layout design base tidak tersedia, jadilah gw nyomot base design di github, di link berikut:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/mdestafadilah/codeigniter4-rbac-shield&quot;&gt;https://github.com/mdestafadilah/codeigniter4-rbac-shield&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;repo itu udah gw integrasiin dengan Shield, lebih powerfull dan secure ketimbang project aplikasi backend di vizitrip, kurang lebih tampilannya seperti ini.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 51.515151515151516%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACiklEQVR42k2SSU9TURiGrxoUA4gbNoJTiNHowp0L/QUaZxPiCtSFE+pGIBLcmahAAm0pYhvQpkSMc4xi4rgwUYQCalFKoaXzhAN0uKW03vt4aDH4Jc/9ztk8ed+bI51uCHH8so9yQ4C1Rj/rO7yUtrspa5tkfZuDUs04G7R23lhnmAok8XgS+LyyQGxx9rpihIMy+uvDnK14iXSm3k9lg5tCc4CVAqnTw7ZHAbbc9yF1OMgzTFBgnGAgFCfidyPPJpkfVVXmv6iKmr2b9F85c6QX6ewlH5X1k6y+5SNfyMrveNnx0M/2ux7WdDlZrh9j1Y0xLIE4qViUhJwkPZdmLjVHJp1eFOpEwkPPhLDOTdUlB6uErLDLzWYh3NLjZlP3JJu7nRS02yjU2+j3R5mK/GTcHeFXNENMBI3KKr9jChkhNLcJ4YGnSNU1Tqrq7BQZJynqdFFmcrHOJBLfHCe/zcYK7XcKdd9FwhjxaIwZOUMipQjULPGkkk1o1g5Svf8J0rmLDo7VihQGkcbopOy2k423HZQY7FlZXusIBdoRhoTwT0JmejpFKgXJWXI7mats1lio3vsQ6ULNOCdqRyk2OCg2Oig3OdgqqpbctLFS+418jZXV2q98CCQYDsu890YZisxi/ZHCEk7S54vjTWbo0Vk4v+8B0omT36g49YVlrWNIrTaW60RNUXFps5UlVz8jXRmk6Nog9+xRDr/9xe7eEAd7Axx94WfPYxe7usdoHJqip+kjVTtNSK9eh3n+OkjLQJjmgRBNn0I09gVp6gvQ0h9CYwmjFUTkdO65KH9AoCgKavaeqzw6GOTdIxtSOj3/DBKQnkUVZzLi52RSua1k+H9UdQEWUBf5N38BlZ17ghxj8KkAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;codeigniter-4-shield&quot;
        title=&quot;&quot;
        src=&quot;/static/29e0093a5adb679bf6468ac3efa71957/7c811/ci4-shield.png&quot;
        srcset=&quot;/static/29e0093a5adb679bf6468ac3efa71957/103f2/ci4-shield.png 165w,
/static/29e0093a5adb679bf6468ac3efa71957/748ba/ci4-shield.png 330w,
/static/29e0093a5adb679bf6468ac3efa71957/7c811/ci4-shield.png 660w,
/static/29e0093a5adb679bf6468ac3efa71957/d28e0/ci4-shield.png 990w,
/static/29e0093a5adb679bf6468ac3efa71957/bb51b/ci4-shield.png 1320w,
/static/29e0093a5adb679bf6468ac3efa71957/fe4f1/ci4-shield.png 1830w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Akhirnya selain buat aplikasi backend beberapa aplikasi internal termasuk blog topidesta ini untuk update beberapa package dikerjakan oleh AI ~ Antigravity.&lt;/p&gt;
&lt;p&gt;Jadi, buat gw yang berumur 36 Tahun ini, selama jadi Programmer, AI itu lumayan juga buat Assisten budak yang pintar ketika otak gw mau meledak ~ Burn Out ~, meskipun gw masih menggunakan Pencarian Normal di Forum forum atau duckduckgo.&lt;/p&gt;
&lt;h3 id=&quot;update&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update&quot; aria-label=&quot;update permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;UPDATE&lt;/h3&gt;
&lt;p&gt;Barusan buka linkedin, dan nemu info ini.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 101.21212121212122%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAAAsTAAALEwEAmpwYAAADN0lEQVR42lWTiZKjNhCGef+3yQukkmwyyZTHa3xwS0IS4jC+xgxgQFdanp1UtqqLomw+fequv73jWTatqholKikqxcXi77q3TbfZj/5+2h7mfbjsQhkkUrRGnEzRGt5YKFZbr25VWTuSC8kKlXP4blptPv5edatNv96O33ejf5hjoovjTySrjfd0KiYU4QrRZ3HjHyZ/r7ah9g8aXg6xprUBgDfmi3Tv3tPpyJSoBKvYlU6I9sPFD6cITwgOLQwUKW1euXJkbX7AoAVhQlSEVIj0s8xqM6y3N0zv1XFKmE25zYTFAmC4gnm2oL2ilLT4AQMWpPqQ6X2mAvDnxqlKExATURsziwrgDa2cVnzCeaEyqiOsA2wDZHaZ3ibKT/T3WL/FZpPZPTYHZCNiE2aQsKQEuRZH7fFKEjAzvY6Wb5t7gDtczLvM+KneJOZ3f3zZdgnrY6pDYlfR9BZ29VnzWhe18lgtc6ExsyGSIR7y8kEruY6cdh2Zt2gK8MjrOc6hHXvI5hgP7dWwUheV9OAAItSBTwFdXl51xk1eGyz0W6L+jOaXrfrjLw1zoqUhHBhTn2zdWpgx9OuJRuNS/hoW30KxQff61Lfnm7V2S8ZfVuy3XblDfdPe793Qj7Zp+6o+X997UWlIlCeOMFIVVh059dV9vt7l9X2cZpVATmnHLmN9g1+mj37sPszlfYFT4F9RKlZIB7NGVd10G+V91Nf7cr7du48HKhU+Ls1NwXiOl+l0HdqLPp4BnofBuCxzgF1cNW0UazR0iwSESadMJVTlYi5qmeYqSHSc6ShVaaoQUpjInErOF688ubhA4mAqECMIQ5jbfWZhkC3oxrE+GtiqKFFRrOIYeImRzPOF89n72jLo3ODSZShjJiambk0/zMNjKht9iHSSqiQBWGYAY0npJ/y1ZZ+hBz8RNqOGClO1i6hnwnWKdJo5Z5pIlMmcOLgoZu+/FftcUXimVGVMu1bjGeUmw3DhR4acECoHbb4UfCnLxfv/frpdOZpN8B6hR0LG1/WFMJmixz+vpzDqGXNC52RLWcxltXg/kSddtDDkBy4eiA6EPXA+IgI1YNxDk7xwtwUnkE0z/wsP0ELcsE2cSgAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;ai-tech-structure&quot;
        title=&quot;&quot;
        src=&quot;/static/b7b41a8d6b8dfd347352c756c0188dbc/7c811/ai-tech-structure.png&quot;
        srcset=&quot;/static/b7b41a8d6b8dfd347352c756c0188dbc/103f2/ai-tech-structure.png 165w,
/static/b7b41a8d6b8dfd347352c756c0188dbc/748ba/ai-tech-structure.png 330w,
/static/b7b41a8d6b8dfd347352c756c0188dbc/7c811/ai-tech-structure.png 660w,
/static/b7b41a8d6b8dfd347352c756c0188dbc/d28e0/ai-tech-structure.png 990w,
/static/b7b41a8d6b8dfd347352c756c0188dbc/bb51b/ai-tech-structure.png 1320w,
/static/b7b41a8d6b8dfd347352c756c0188dbc/3643c/ai-tech-structure.png 1400w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Ternyata kita bisa bikin perusahaan dimana AI sebagai karyawan kita yang bukan sebagai Pengambil keputusan.&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;
&lt;p&gt;Source&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/posts/activity-7423712953775902720-dGOk?utm_source=share&amp;#x26;utm_medium=member_desktop&amp;#x26;rcm=ACoAAAheWi0BIInoyxeMs_pYYJU9nfDkVe20DQI&quot;&gt;https://www.linkedin.com/posts/activity-7423712953775902720-dGOk?utm_source=share&amp;#x26;utm_medium=member_desktop&amp;#x26;rcm=ACoAAAheWi0BIInoyxeMs_pYYJU9nfDkVe20DQI&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[CloudPanel Untuk Service Whatsapp]]></title><description><![CDATA[Bismillah Ini postingan pertama di tahun 2026. Semoga bisa konsisten untuk update blog ini. hehe, aamiin. CloudPanel adalah panel kontrol hosting open-source yang ringan dan mudah…]]></description><link>https://topidesta.my.id/cloudpanel-untuk-service-whatsapp/</link><guid isPermaLink="false">https://topidesta.my.id/cloudpanel-untuk-service-whatsapp/</guid><category><![CDATA[cloudpanel]]></category><category><![CDATA[whatsapp]]></category><pubDate>Sat, 03 Jan 2026 08:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h2&gt;
&lt;p&gt;Ini postingan pertama di tahun 2026. Semoga bisa konsisten untuk update blog ini. hehe, aamiin.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;CloudPanel adalah panel kontrol hosting open-source yang ringan dan mudah digunakan. CloudPanel mendukung PHP, Node.js, Python, dan Ruby. CloudPanel juga mendukung MySQL, PostgreSQL, dan MongoDB. CloudPanel juga mendukung Redis, Memcached, dan RabbitMQ. CloudPanel juga mendukung Docker, Kubernetes, dan OpenShift. CloudPanel juga mendukung Let&apos;s Encrypt, Cloudflare, dan Google Cloud DNS. CloudPanel juga mendukung Fail2ban, ModSecurity, dan Nginx.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Itulah yang didapat dari Penjelasan di Website CloudPanel. Sekarang gw akan bahas, apa yang gw manfaatin dari cloudpanel ini, karena sebelumnya pake aaPanel terlalu overkill menurut gw kalo cuman buat service whatsapp.
Pada postingan sebelumnya gw pernah nulis tentang &lt;a href=&quot;/membangun-server-ubuntu-aapanel&quot;&gt;configurasi server&lt;/a&gt; dan &lt;a href=&quot;/un-official-whatsapp-api&quot;&gt;configurasi whatsapp&lt;/a&gt;, silahkan dibaca karena disana secara detail gw jelaskan.&lt;/p&gt;
&lt;p&gt;Untuk Postingan kali ini gw akan bahas tentang install cloudpanel dan configurasi cloudpanel untuk service whatsapp, dengan memanfaatkan teknologi docker. Berikut Ini langkah yang harus dilakukan. Ini spek server yang gw pake.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 90.3030303030303%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAB8ElEQVR42p1UW27jMAzU/e/RPU8O0G4XKNDGTewkTixLIiUuST2sNMF+rIEBKXlMDR+yGYZv+v3+hz6/9uQDNATAu7XzgdzqybnwuO+3PWPtSvN8pcs880agFCMhIq3OqY28ViSGB4oBs4+RAgdIKTWO8A2wkuPxyBj5dEfyAAT62u/5g0D12e129OvlhV7f3nQtAS6XCy3L0r6TPSMyURUktXKAAnHzGbfbQuM0cQDLSjIvQE5ZLBbFRlKbmGjXlZKcIik8QSpK7zgxacqLtTRfr1oyTVk2Bf/7tDpLyhLwfD4rVEEJXg+Q+lzldO/pcDjQNE764caLyrN20SxNrlHQGvTBfgIAtFZ9HqmD9qB2WZx/BaNCRg44HwcaPz/ILzPvswiEjIRbyrEErCnLmbXg4ovRgDKXwVF0lhJ4loUMUKS+huJ4HljnGSHDw+b3g9t8RSo2owUUInDL68xVNXVdg8icBeWBArFabNYIaRxHOp1OD13uIV3+HgbmPZ+GmW+Nky5L5+7H4DmE0wZbUizKf3KMSNUFdwwTKCBC8VHR/wDcGmi1vtgMu3hOOepMmr5Goj53t6QUt26321Dntc7io0Lc5qwUV/4gWuSus/WD/N6yMkvy67vdrN6mu6vXF7feimf16W9NLwBjjiFd/guFCYjsVTP6PgAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;dashboard-cloudpanel&quot;
        title=&quot;&quot;
        src=&quot;/static/dbc7e4bcb5154cbb9ba079d5ffe79175/7c811/dashboard-cloudpanel.png&quot;
        srcset=&quot;/static/dbc7e4bcb5154cbb9ba079d5ffe79175/103f2/dashboard-cloudpanel.png 165w,
/static/dbc7e4bcb5154cbb9ba079d5ffe79175/748ba/dashboard-cloudpanel.png 330w,
/static/dbc7e4bcb5154cbb9ba079d5ffe79175/7c811/dashboard-cloudpanel.png 660w,
/static/dbc7e4bcb5154cbb9ba079d5ffe79175/a54a1/dashboard-cloudpanel.png 901w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Untuk install cloudpanel bisa mengikuti tutorial di &lt;a href=&quot;https://www.cloudpanel.io/docs/v2/introduction/&quot;&gt;website resminya&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;update-server-dahulu&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update-server-dahulu&quot; aria-label=&quot;update server dahulu permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Update Server Dahulu&lt;/h3&gt;
&lt;p&gt;Sesuaikan dengan OS Masing masing, kali ini gw pake Server Debian 13 yang terkenal ringan.&lt;/p&gt;
&lt;h3 id=&quot;install-cloudpanel&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#install-cloudpanel&quot; aria-label=&quot;install cloudpanel permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Install CloudPanel&lt;/h3&gt;
&lt;p&gt;Jika proses install berhasil, maka bisa dilanjut untuk install docker, kali ini gw pake &lt;a href=&quot;https://github.com/louislam/dockge&quot;&gt;Dockge&lt;/a&gt; sebagai interface untuk mengelola docker yang ringan.&lt;/p&gt;
&lt;h2 id=&quot;install-dockge&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#install-dockge&quot; aria-label=&quot;install dockge permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Install Dockge&lt;/h2&gt;
&lt;p&gt;Untuk install dockge bisa mengikuti tutorial di &lt;a href=&quot;https://github.com/louislam/dockge/blob/master/README.md&quot;&gt;website resminya&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 52.121212121212125%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsTAAALEwEAmpwYAAABi0lEQVR42pWRzU7CQBSFuyv9mXb6M522UFsoUMCISlgQlERiolETdz6Ee9/BJ/B5j3cGEDSyYHHSdtr73XNOjevbByzWz+g1UwRJAZF3EckScaZUaYl8f928L5BWY6zfPzG+eYJMCwyvlqgnMxij9RseP75QXi5gthw4foS86EHmJSyXkwK0HB82C/Rzi6TuTYvR9y5M24fphPpMyeBxhkC0CSTg+gkYl/CCBGU9QUhOeJyj6k/ghSnysz463QaOF+NsMEWnd45m2Me0kbC8hOYjGLJ3gXp+j4DAasgLpXbFKTYLM/h0ltJCFki9OEw6tDxGPbtDpz7Xc6FI9azLBYysmWO0eoUgN2x7mGQF2mUfPJI6oo6+jbwTj1KCt2GTWyW1xPZCGOlwhsHyBYKK9ciRAjKK7Eeb+//k0KDq1bS9X0uUDFmNMJytdBQVy6UuOcFkW/2YSveyK/xQf0E/QEZWlX3VgQbyRFt3eaxlHxk8ClSOWLCBaRHQojitraxTgapM5WovcTLkEPgNLNP3610yr9sAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;dockge&quot;
        title=&quot;&quot;
        src=&quot;/static/d44b707317d63c2ca47e57a3e454fb05/7c811/dockge.png&quot;
        srcset=&quot;/static/d44b707317d63c2ca47e57a3e454fb05/103f2/dockge.png 165w,
/static/d44b707317d63c2ca47e57a3e454fb05/748ba/dockge.png 330w,
/static/d44b707317d63c2ca47e57a3e454fb05/7c811/dockge.png 660w,
/static/d44b707317d63c2ca47e57a3e454fb05/d28e0/dockge.png 990w,
/static/d44b707317d63c2ca47e57a3e454fb05/bb51b/dockge.png 1320w,
/static/d44b707317d63c2ca47e57a3e454fb05/6c712/dockge.png 1899w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Dah selesai ... untuk service whatsapp, gw pake 8 service yang opensource. Berikut ini adalah service yang gw pake:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://go.topidesta.my.id/v1&quot;&gt;Baileys-API&lt;/a&gt; ❌&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://go.topidesta.my.id/v2&quot;&gt;WPP-Connect&lt;/a&gt; ✅&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://go.topidesta.my.id/v3&quot;&gt;Wa-Gateway&lt;/a&gt; ✅&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://go.topidesta.my.id/v4-4&quot;&gt;Wuzz-API&lt;/a&gt; ✅&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://go.topidesta.my.id/v4-3&quot;&gt;wwebjs-api&lt;/a&gt; ❌&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/rsuppersahabatan/go-whatsapp-multidevice-rest&quot;&gt;Go-Whatsapp-MultiDevice&lt;/a&gt; ❌&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://go.topidesta.my.id/v6&quot;&gt;Evolution-API&lt;/a&gt; ✅&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://go.topidesta.my.id/v7-3&quot;&gt;Chattery-API&lt;/a&gt; ✅&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Dari beberapa service diatas, gw cuman pake yang 3,4,7,8 yang berjalan di dockge-cloudpanel. Ups, ada bonus neh docker compose yang gw pake.&lt;/p&gt;
&lt;details&gt;
  &lt;summary&gt; 👇 Klik Detail&lt;/summary&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;yaml&quot;&gt;&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;# compose.yaml&lt;/span&gt;
&lt;span class=&quot;token key atrule&quot;&gt;services&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;wppconnect&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;container_name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; wpp&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;server
    &lt;span class=&quot;token key atrule&quot;&gt;restart&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; unless&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;stopped
    &lt;span class=&quot;token key atrule&quot;&gt;build&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;context&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; .
    &lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; ./config.ts&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;/usr/src/wpp&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;server/config.ts
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; ./wppconnect_tokens&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;/usr/src/wpp&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;server/tokens
    &lt;span class=&quot;token key atrule&quot;&gt;ports&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; 5002&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;21465&lt;/span&gt;
&lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;wppconnect_tokens&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token key atrule&quot;&gt;networks&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;yaml&quot;&gt;&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;# compose.yaml&lt;/span&gt;
&lt;span class=&quot;token key atrule&quot;&gt;services&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;wa-gateway&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;container_name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; wa&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;gateway
    &lt;span class=&quot;token key atrule&quot;&gt;restart&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; unless&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;stopped
    &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; mimamch/wa&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;gateway&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;latest
    &lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; ./wa_credentials&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;/app/wa_credentials
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; ./media&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;/app/media
    &lt;span class=&quot;token key atrule&quot;&gt;ports&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; 5001&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5001&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; KEY=changeyoursupersecretkey&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;yaml&quot;&gt;&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;# compose.yaml&lt;/span&gt;
&lt;span class=&quot;token key atrule&quot;&gt;services&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;wuzapi-server&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;build&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;context&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; .
      &lt;span class=&quot;token key atrule&quot;&gt;dockerfile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Dockerfile
    &lt;span class=&quot;token key atrule&quot;&gt;ports&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; $&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;WUZAPI_PORT&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;-8080&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; WUZAPI_ADMIN_TOKEN=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;WUZAPI_ADMIN_TOKEN&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; WUZAPI_GLOBAL_ENCRYPTION_KEY=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;WUZAPI_GLOBAL_ENCRYPTION_KEY&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; WUZAPI_GLOBAL_HMAC_KEY=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;WUZAPI_GLOBAL_HMAC_KEY&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; WUZAPI_GLOBAL_WEBHOOK=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;WUZAPI_GLOBAL_WEBHOOK&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DB_USER=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DB_USER&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;wuzapi&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DB_PASSWORD=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DB_PASSWORD&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;wuzapi&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DB_NAME=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DB_NAME&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;wuzapi&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DB_HOST=db
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DB_PORT=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DB_PORT&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;-5432&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; TZ=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;TZ&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;America/Sao_Paulo&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; WEBHOOK_FORMAT=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;WEBHOOK_FORMAT&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;json&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; SESSION_DEVICE_NAME=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;SESSION_DEVICE_NAME&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;WuzAPI&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token comment&quot;&gt;# RabbitMQ configuration Optional&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; RABBITMQ_URL=amqp&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;//wuzapi&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;wuzapi@rabbitmq&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;5672/
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; RABBITMQ_QUEUE=whatsapp_events
    &lt;span class=&quot;token key atrule&quot;&gt;depends_on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;db&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;condition&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; service_healthy
      &lt;span class=&quot;token key atrule&quot;&gt;rabbitmq&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;condition&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; service_healthy
    &lt;span class=&quot;token key atrule&quot;&gt;networks&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; wuzapi&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;network
    &lt;span class=&quot;token key atrule&quot;&gt;restart&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; on&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;failure
  &lt;span class=&quot;token key atrule&quot;&gt;db&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; postgres&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;16&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;POSTGRES_USER&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; $&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DB_USER&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;wuzapi&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;POSTGRES_PASSWORD&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; $&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DB_PASSWORD&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;wuzapi&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;POSTGRES_DB&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; $&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DB_NAME&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;wuzapi&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;# ports:&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;#   - &quot;${DB_PORT:-5432}:5432&quot; # Uncomment to access the database directly from your host machine.&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; db_data&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;/var/lib/postgresql/data
    &lt;span class=&quot;token key atrule&quot;&gt;networks&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; wuzapi&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;network
    &lt;span class=&quot;token key atrule&quot;&gt;healthcheck&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; CMD&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;SHELL
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; pg_isready &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;U $&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DB_USER&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;wuzapi&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;interval&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 5s
      &lt;span class=&quot;token key atrule&quot;&gt;timeout&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 5s
      &lt;span class=&quot;token key atrule&quot;&gt;retries&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;restart&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; always
  &lt;span class=&quot;token key atrule&quot;&gt;rabbitmq&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; rabbitmq&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;3&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;management
    &lt;span class=&quot;token key atrule&quot;&gt;hostname&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; rabbitmq
    &lt;span class=&quot;token key atrule&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;RABBITMQ_DEFAULT_USER&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; wuzapi
      &lt;span class=&quot;token key atrule&quot;&gt;RABBITMQ_DEFAULT_PASS&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; wuzapi
      &lt;span class=&quot;token key atrule&quot;&gt;RABBITMQ_DEFAULT_VHOST&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /
    &lt;span class=&quot;token key atrule&quot;&gt;ports&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; 5672&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5672&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;# AMQP port&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; 15672&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;15672&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;# Management UI port&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; rabbitmq_data&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;/var/lib/rabbitmq
    &lt;span class=&quot;token key atrule&quot;&gt;networks&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; wuzapi&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;network
    &lt;span class=&quot;token key atrule&quot;&gt;healthcheck&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; CMD
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; rabbitmq&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;diagnostics
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; ping
      &lt;span class=&quot;token key atrule&quot;&gt;interval&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 10s
      &lt;span class=&quot;token key atrule&quot;&gt;timeout&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 5s
      &lt;span class=&quot;token key atrule&quot;&gt;retries&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;restart&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; always
&lt;span class=&quot;token key atrule&quot;&gt;networks&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;wuzapi-network&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;driver&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; bridge
&lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;db_data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token null important&quot;&gt;null&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;rabbitmq_data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token null important&quot;&gt;null&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;yaml&quot;&gt;&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;# compose.yaml&lt;/span&gt;
&lt;span class=&quot;token key atrule&quot;&gt;services&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;evolution-api&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; evoapicloud/evolution&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;api&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;latest
    &lt;span class=&quot;token key atrule&quot;&gt;restart&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; always
    &lt;span class=&quot;token comment&quot;&gt;# Menambahkan dependency agar API tidak jalan sebelum DB &amp;amp; Redis siap&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;depends_on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;evolution-postgres&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;condition&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; service_healthy
      &lt;span class=&quot;token key atrule&quot;&gt;evolution-redis&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;condition&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; service_started
    &lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; evolution&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;instances&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;/evolution/instances
    &lt;span class=&quot;token comment&quot;&gt;# Membuka port agar bisa diakses (sesuaikan jika perlu port lain)&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;ports&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; 5010&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; SERVER_URL=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;SERVER_URL&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; AUTHENTICATION_TYPE=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;AUTHENTICATION_TYPE&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; AUTHENTICATION_API_KEY=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;AUTHENTICATION_API_KEY&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; LANGUAGE=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;LANGUAGE&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; CONFIG_SESSION_PHONE_CLIENT=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;CONFIG_SESSION_PHONE_CLIENT&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; CONFIG_SESSION_PHONE_NAME=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;CONFIG_SESSION_PHONE_NAME&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; TELEMETRY=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;TELEMETRY&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DATABASE_ENABLED=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DATABASE_ENABLED&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DATABASE_PROVIDER=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DATABASE_PROVIDER&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DATABASE_CONNECTION_URI=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DATABASE_CONNECTION_URI&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DATABASE_SAVE_DATA_INSTANCE=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DATABASE_SAVE_DATA_INSTANCE&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DATABASE_SAVE_DATA_NEW_MESSAGE=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DATABASE_SAVE_DATA_NEW_MESSAGE&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DATABASE_SAVE_MESSAGE_UPDATE=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DATABASE_SAVE_MESSAGE_UPDATE&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DATABASE_SAVE_DATA_CONTACTS=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DATABASE_SAVE_DATA_CONTACTS&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DATABASE_SAVE_DATA_CHATS=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DATABASE_SAVE_DATA_CHATS&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DATABASE_SAVE_DATA_LABELS=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DATABASE_SAVE_DATA_LABELS&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DATABASE_SAVE_DATA_HISTORIC=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DATABASE_SAVE_DATA_HISTORIC&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; CACHE_REDIS_ENABLED=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;CACHE_REDIS_ENABLED&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; CACHE_REDIS_URI=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;CACHE_REDIS_URI&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; CACHE_REDIS_PREFIX_KEY=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;CACHE_REDIS_PREFIX_KEY&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; CACHE_REDIS_SAVE_INSTANCES=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;CACHE_REDIS_SAVE_INSTANCES&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;evolution-postgres&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; postgres&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;16&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;alpine
    &lt;span class=&quot;token key atrule&quot;&gt;restart&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; always
    &lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; evolution&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;postgres&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;/var/lib/postgresql/data
    &lt;span class=&quot;token key atrule&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; POSTGRES_DB=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;POSTGRES_DATABASE&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; POSTGRES_USER=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;POSTGRES_USERNAME&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; POSTGRES_PASSWORD=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;POSTGRES_PASSWORD&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;# Healthcheck memastikan database benar-benar siap menerima koneksi&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;healthcheck&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; CMD&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;SHELL
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; pg_isready &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;U $&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;POSTGRES_USERNAME&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;d $&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;POSTGRES_DATABASE&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;interval&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 10s
      &lt;span class=&quot;token key atrule&quot;&gt;timeout&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 5s
      &lt;span class=&quot;token key atrule&quot;&gt;retries&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;evolution-redis&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; redis&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;alpine
    &lt;span class=&quot;token key atrule&quot;&gt;restart&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; always
    &lt;span class=&quot;token key atrule&quot;&gt;command&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; redis&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;server &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;appendonly yes &lt;span class=&quot;token comment&quot;&gt;# Menambah persistensi data&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; evolution&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;redis&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;/data
&lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;evolution-instances&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token null important&quot;&gt;null&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;evolution-postgres-data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token null important&quot;&gt;null&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;evolution-redis-data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token null important&quot;&gt;null&lt;/span&gt;
&lt;span class=&quot;token key atrule&quot;&gt;networks&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;yaml&quot;&gt;&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;# compose.yaml&lt;/span&gt;
&lt;span class=&quot;token key atrule&quot;&gt;services&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;chatery&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;build&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;context&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; .
      &lt;span class=&quot;token key atrule&quot;&gt;dockerfile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Dockerfile
    &lt;span class=&quot;token key atrule&quot;&gt;container_name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; chatery&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;whatsapp&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;api
    &lt;span class=&quot;token key atrule&quot;&gt;restart&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; unless&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;stopped
    &lt;span class=&quot;token key atrule&quot;&gt;ports&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; $&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;PORT&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;-3000&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3000&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; NODE_ENV=production
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; PORT=3000
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; CORS_ORIGIN=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;CORS_ORIGIN&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;*&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DASHBOARD_USERNAME=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DASHBOARD_USERNAME&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;admin&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DASHBOARD_PASSWORD=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;DASHBOARD_PASSWORD&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;admin123&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; API_KEY=$&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;API_KEY&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; chatery_sessions&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;/app/sessions
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; chatery_media&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;/app/public/media
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; chatery_store&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;/app/store
    &lt;span class=&quot;token key atrule&quot;&gt;healthcheck&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;CMD-SHELL&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;wget --no-verbose --tries=1 --spider http://localhost:3000/ || exit 1&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;interval&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 30s
      &lt;span class=&quot;token key atrule&quot;&gt;timeout&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 10s
      &lt;span class=&quot;token key atrule&quot;&gt;retries&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;start_period&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 60s
    &lt;span class=&quot;token key atrule&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;autoheal=true&quot;&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;logging&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;driver&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; json&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;file
      &lt;span class=&quot;token key atrule&quot;&gt;options&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;max-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 10m
        &lt;span class=&quot;token key atrule&quot;&gt;max-file&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;3&quot;&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;networks&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; chatery&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;network

  &lt;span class=&quot;token key atrule&quot;&gt;autoheal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; willfarrell/autoheal&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;latest
    &lt;span class=&quot;token key atrule&quot;&gt;container_name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; autoheal
    &lt;span class=&quot;token key atrule&quot;&gt;restart&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; always
    &lt;span class=&quot;token key atrule&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; AUTOHEAL_CONTAINER_LABEL=autoheal
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; AUTOHEAL_INTERVAL=60
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; DOCKER_SOCK=/var/run/docker.sock
    &lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; /var/run/docker.sock&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;/var/run/docker.sock
    &lt;span class=&quot;token key atrule&quot;&gt;networks&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; chatery&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;network

&lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;chatery_sessions&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;driver&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; local
  &lt;span class=&quot;token key atrule&quot;&gt;chatery_media&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;driver&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; local
  &lt;span class=&quot;token key atrule&quot;&gt;chatery_store&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;driver&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; local

&lt;span class=&quot;token key atrule&quot;&gt;networks&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;chatery-network&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;driver&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; bridge&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/details&gt;
&lt;p&gt;Jangan lupa buat &lt;code class=&quot;language-text&quot;&gt;.env&lt;/code&gt; file juga ya. sesuaikan dengan object yang dibutuhkan.&lt;/p&gt;
&lt;p&gt;Done ya, Have a nice day!&lt;/p&gt;
&lt;p&gt;Sumber:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cloudpanel.io/docs/v2/getting-started/&quot;&gt;https://www.cloudpanel.io/docs/v2/getting-started/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bitdoze.com/cloudpanel-setup-dockge/&quot;&gt;https://www.bitdoze.com/cloudpanel-setup-dockge/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://youtu.be/BuoyvbDVBe0?si=9TjpFIPqZm3WkvZX&quot;&gt;https://youtu.be/BuoyvbDVBe0?si=9TjpFIPqZm3WkvZX&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Coba Coba 5 WAF Opensource]]></title><description><![CDATA[Bismillah Postingan kali ini mencoba 5 WAF Opensource yang ada dipasaran, yang akan diimplentasikan di Project Klinik Halobayi Indonesia, hanya akan digunakan 1 dari sekian banyak…]]></description><link>https://topidesta.my.id/coba-coba-lima-waf-opensource/</link><guid isPermaLink="false">https://topidesta.my.id/coba-coba-lima-waf-opensource/</guid><category><![CDATA[waf]]></category><category><![CDATA[server]]></category><category><![CDATA[security]]></category><pubDate>Tue, 13 May 2025 08:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h2&gt;
&lt;p&gt;Postingan kali ini mencoba 5 WAF Opensource yang ada dipasaran, yang akan diimplentasikan di Project Klinik Halobayi Indonesia, hanya akan digunakan 1 dari sekian banyak. :)&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;SafeLineWAF&lt;/li&gt;
&lt;li&gt;bunkerWAF&lt;/li&gt;
&lt;li&gt;aaWAF&lt;/li&gt;
&lt;li&gt;uuWAF&lt;/li&gt;
&lt;li&gt;WafW00F&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;todo&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#todo&quot; aria-label=&quot;todo permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;TODO!&lt;/h2&gt;
&lt;h2 id=&quot;source&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#source&quot; aria-label=&quot;source permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Source&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/hallobayi#waf-site&quot;&gt;https://github.com/hallobayi#waf-site&lt;/a&gt;&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Scan Linux Server Hazika]]></title><description><![CDATA[Bismillah Postingan pertama diawal tahun 2025 dan diawal Bulan Syawal 1446H, jadi sebelumnya gw udah pernah share beberapa trick configurasi server Aplikasi Klinik Halobayi (Hazika…]]></description><link>https://topidesta.my.id/scan-linux-servers/</link><guid isPermaLink="false">https://topidesta.my.id/scan-linux-servers/</guid><category><![CDATA[waf]]></category><category><![CDATA[server]]></category><category><![CDATA[security]]></category><pubDate>Wed, 16 Apr 2025 08:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h2&gt;
&lt;p&gt;Postingan pertama diawal tahun 2025 dan diawal Bulan Syawal 1446H, jadi sebelumnya gw udah pernah share beberapa trick configurasi server Aplikasi Klinik Halobayi (Hazika) di &lt;a href=&quot;/waf-diaplikasi-klinik-hazika&quot;&gt;postingan ini&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://www.chkrootkit.org/download/&quot;&gt;Chkrootkit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cisofy.com/lynis/&quot;&gt;Lynis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://help.ubuntu.com/community/RKhunter&quot;&gt;Rkhunter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.clamav.net/&quot;&gt;clamAV&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/stamparm/maltrail&quot;&gt;maltrail&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/radareorg/radare2&quot;&gt;radarae2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://greenbone.github.io/docs/latest/index.html&quot;&gt;openvas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://remnux.org/#distro&quot;&gt;RemNux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nongnu.org/tiger/index.html#download&quot;&gt;Tiger&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/rfxn/linux-malware-detect&quot;&gt;LMD&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;#TODO UJICOBA 1.1&lt;/p&gt;
&lt;p&gt;Sumber:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://cybersecuritynews.com/scan-linux-servers/&quot;&gt;https://cybersecuritynews.com/scan-linux-servers/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://linuxcapable.com/how-to-install-chkrootkit-on-ubuntu-linux/&quot;&gt;https://linuxcapable.com/how-to-install-chkrootkit-on-ubuntu-linux/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[WAF diaplikasi Klinik Hazika]]></title><description><![CDATA[Bismillah Alhamdulilah, lagi dipaksa buat nulis lagi, meski lagi sibuk banget ini, tulisan kali ini adalah security trick yang gw implentasikan di Aplikasi Klinik Hazika yang…]]></description><link>https://topidesta.my.id/waf-diaplikasi-klinik-hazika/</link><guid isPermaLink="false">https://topidesta.my.id/waf-diaplikasi-klinik-hazika/</guid><category><![CDATA[codeigniter]]></category><category><![CDATA[server]]></category><pubDate>Fri, 22 Nov 2024 08:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h2&gt;
&lt;p&gt;Alhamdulilah, lagi dipaksa buat nulis lagi, meski lagi sibuk banget ini, tulisan kali ini adalah security trick yang gw implentasikan di &lt;strong&gt;Aplikasi Klinik Hazika&lt;/strong&gt; yang digunakan di halo bayi indonesia, menggunakan WAF. Web Application Firewall, sebuah layer keamanan aplikasi dari sisi aplikasi, dari sisi cara aksesnya. berikut ini gambaran sederhana bagaimana sebuah WAF melindungi aplikasi kita.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 55.757575757575765%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAACB0lEQVR42qVSTWsTURR9Y6ilhiStNZ2pmWTaZKZJ3sz7mD4zmY6RSpyU2M+gDoLtTnCh+Adcuyu4cCeCrgrShdUaJpk2pVRdVBBcCv6Z6RsDQfCDqgcuPHj3Hs495wLA4VOa7hCidyklhwjJIQAx0IcA/gWfKhUpIIR2THPuM2OT31R1GPwPfITsANFbAULXdwzWul2cn5rML+c0rZ6RZW/kD2qF3xHKvq4Xurqe3aNUu8fYOZD3UgB65y2rmWxz9VHtRMV7AN6IK8raKITe2WPVSh5bVnLb82IDwjaEUpcQq4PQlR4hmUeynbmfhtLKRFV8nDcvdRE+5BUcYfTiLTYfAmVREmdWptdhDXYN2mgTc4NnMDUg5ETFA4zrQVSQq8lp+ZdpRdqMixOvcqXZHkIf3hhka1Ovft3F5s0UWhoDxdXEA1yb4XM33mPcjLYcEPYghT7EtT2Dq9Gps23bI4A9G4pWm2fLF7aM2fUnyHavlut3nxqs1J/yYuXyotIqXZtzS65twgUVMDb0/et1qTLe1s0yD4U9N6qik3UvZvKuVigsZFW1ORz5mdBWq6PaEomU/RDIGRE34il0Zyx6D0L6wn074He4jxA6wnjaH5xNZHTfbGfcSWCxET/V2QQ6ufyOr7VrkNY+omsfHSfxF4ct/NQXhkCocaOp2kyHPP4QhMKpBn+BE5Qmg69khKFgAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;waf-working&quot;
        title=&quot;&quot;
        src=&quot;/static/fec367ec1d041fb38508380195fa6cd4/7c811/waf-work.png&quot;
        srcset=&quot;/static/fec367ec1d041fb38508380195fa6cd4/103f2/waf-work.png 165w,
/static/fec367ec1d041fb38508380195fa6cd4/748ba/waf-work.png 330w,
/static/fec367ec1d041fb38508380195fa6cd4/7c811/waf-work.png 660w,
/static/fec367ec1d041fb38508380195fa6cd4/d28e0/waf-work.png 990w,
/static/fec367ec1d041fb38508380195fa6cd4/bb51b/waf-work.png 1320w,
/static/fec367ec1d041fb38508380195fa6cd4/bf9c5/waf-work.png 1489w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;
source: &lt;a href=&quot;https://www.stormit.cloud/blog/what-is-a-web-application-firewall/&quot;&gt;https://www.stormit.cloud/blog/what-is-a-web-application-firewall/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Selain menggunakan WAF dari sisi server gw implentasikan juga &lt;strong&gt;Nginx Free Firewall&lt;/strong&gt; dari aaPanel, berikut ini tampilannya.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 60.60606060606061%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAABpElEQVR42mVSi27iQAzk/7+uKqDCFe5oK5HShjzY7Hs3c7bTjUgBWRtP7PF4sqv39w+klDCOo5wpJLSmwVmdgRGClx8/z/9xnN+V83Q6YbXb7aGUgtYGzjt4G/G3ecPT19OieCbFMr+vOR6OWK03W9TfNdq2nUptBahXIja4NWeovkH+aTDRoNIVtNGo2xrdrZu3E8IjEW63W/T9jaKfCN03MPxDDgOS+kB23azJRItPc0HOGY1tYIIVnPMFYV1fcb02MinGhECRUuRS8PAYI0IIyCkIJiQpUyQxId8rXK83uFwuRFpLs3NO/PTOAEmLOmetYNEPxOSl2RLmnX4k3JCHXddLsELvvahBUNQchDAQxqTOeRnKdTyY8wcPCyH7OK08rTcm8mdMEyHlJUpzGZx/E7687GQdJmVzrbMwxmDQmk4rxbyelbW1KCsY5yzggXAY9GJlz/eRIonp+MG8kBWM1THGhOUrHw4HrPb7P7CkRKlBXnCTFb/cXMiND5h4aBdDqqrC6vl5jZquzCd9aW6696uo+o0ZqjOWhvgJ4xpWyrflPzPqo6nvfn2hAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;nginx-firewall&quot;
        title=&quot;&quot;
        src=&quot;/static/9d1ac9d4bff32fd63d830e57e49a8a54/7c811/nginx-firewall.png&quot;
        srcset=&quot;/static/9d1ac9d4bff32fd63d830e57e49a8a54/103f2/nginx-firewall.png 165w,
/static/9d1ac9d4bff32fd63d830e57e49a8a54/748ba/nginx-firewall.png 330w,
/static/9d1ac9d4bff32fd63d830e57e49a8a54/7c811/nginx-firewall.png 660w,
/static/9d1ac9d4bff32fd63d830e57e49a8a54/d28e0/nginx-firewall.png 990w,
/static/9d1ac9d4bff32fd63d830e57e49a8a54/bb51b/nginx-firewall.png 1320w,
/static/9d1ac9d4bff32fd63d830e57e49a8a54/1cb02/nginx-firewall.png 1397w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;kita bisa setting &lt;em&gt;whitelist&lt;/em&gt; atau &lt;em&gt;blacklist&lt;/em&gt; sebuah IP Address, apakah mencurigkan atau tidak dan menambahkan filter seperti berikut untuk menolak aplikasi web kita di scan oleh orang yang tidak berkepentingan.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;2ip&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; bot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;360Spider&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;404checker&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;404enemy&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;80legs&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Abonti&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Aboundex&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Aboundexbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Acunetix&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;ADmantX&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;adscanner&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;AdsTxtCrawlerTP&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;AfD-Verbotsverfahren&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;AHC&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;AIBOT&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;AiHitBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Aipbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Alexibot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;ALittle&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Client&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Alligator&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;AllSubmitter&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;AlphaBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Amazonbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Anarchie&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Anarchy&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Anarchy99&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Ankit&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Anthill&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;anthropic-ai&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Apache-HttpClient&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Apexoo&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;archive.org_bot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;arquivo-web-crawler&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;arquivo.pt&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Aspiegel&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;ASPSeek&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Asterias&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Atomseobot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Attach&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;autoemailspider&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Awario&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;AwarioBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;AwarioRssBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;AwarioSmartBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BackDoorBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Backlink-Ceck&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;backlink-check&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BacklinkCrawler&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BackStreet&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BackWeb&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Badass&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Bandit&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Barkrowler&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BatchFTP&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Battleztar&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Bazinga&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BBBike&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BDCbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BDFetch&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BetaBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;bidswitchbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Bigfoot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Bitacle&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Black&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Hole&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Blackboard&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BlackWidow&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BLEXBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Blow&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BlowFish&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Boardreader&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Bolt&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BotALot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Brandprotect&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Brandwatch&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Buck&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Buddy&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BuiltBotTough&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BuiltWith&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Bullseye&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BunnySlippers&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;BuzzSumo&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Bytedance&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Bytespider&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;cah.io.community&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Calculon&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;CATExplorador&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;CazoodleBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;CCBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Cegbfeieh&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;CensysInspect&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;CF-UC&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;ChatGPT-User&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;check1.exe&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;CheeseBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;CherryPicker&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;CheTeam&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;ChinaClaw&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Chlooe&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Citoid&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Claritybot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;clark-crawler&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Cliqzbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Cloud&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; mapping&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;coccocbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Cocolyzebot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;CODE87&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Cogentbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;cognitiveseo&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;cohere-ai&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Collector&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;com.plumanalytics&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;comscore&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Copier&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;CopyRightCheck&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Copyscape&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Cosmos&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Craftbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;crawl.sogou.com&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;crawler.feedback&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;crawler4j&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Crawling&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; at&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Home&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Project&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;CrazyWebCrawler&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Crescent&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;CriteoBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;CrunchBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;CSHttp&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Curious&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Custo&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;CyotekWebCopy&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;DatabaseDriverMysqli&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;DataCha0s&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;dataforseo.com&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;DataForSeoBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;dataforseobot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;DBLBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;demandbase-bot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Demon&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Deusu&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Devil&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Digincore&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;DigitalPebble&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;DIIbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Dirbuster&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;dirbuster&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Disco&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Discobot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Discoverybot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Dispatch&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;DittoSpyder&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;DnBCrawler-Analytics&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;DnyzBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;DomainAppender&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;DomainCrawler&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Domains&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Project&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;DomainSigmaCrawler&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;domainsproject.org&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;DomainStatsBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;DomCopBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Download&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Wonder&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Dragonfly&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Drip&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;DSearch&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;DTS&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Agent&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;EasyDL&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Ebingbong&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;eCatch&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;ECCP/1.0&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Ecxi&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;EirGrabber&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;EMail&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Siphon&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;EMail&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Wolf&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;EroCrawler&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;evc-batch&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Evil&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Exabot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Expanse&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Express&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; WebPictures&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;ExtLinksBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Extractor&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;ExtractorPro&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Extreme&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Picture&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Finder&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;EyeNetIE&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Ezooms&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;FacebookBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;facebookscraper&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;FDM&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;FemtosearchBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;FHscan&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Fimap&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Firefox/7.0&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;FlashGet&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Flunky&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Foobot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Freeuploader&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;FriendlyCrawler&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;FrontPage&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Fuzz&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;FyberSpider&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Fyrebot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;G-i-g-a-b-o-t&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Gabanzabot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;GalaxyBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Genieo&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;GermCrawler&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Getintent&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;GetRight&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;GetWeb&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Gigabot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Go-Ahead-Got-It&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Go-http-client&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Go&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;Zilla&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;gopher&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Gotit&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;GoZilla&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;GPTBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Grabber&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;GrabNet&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Grafula&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;GrapeFX&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;GrapeshotCrawler&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;GridBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;GT::WWW&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Haansoft&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;HaosouSpider&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;harvest&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Harvest&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Havij&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;HEADMasterSEO&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Heritrix&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;heritrix&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Hloader&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;HMView&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;HonoluluBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;HTMLparser&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;HTTP::Lite&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;HTTrack&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Humanlinks&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;HybridBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Iblog&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Id-search&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;IDBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;IDBTE4M&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;IlseBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Image&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Fetch&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Image&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Sucker&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;imagesift.com&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;ImagesiftBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;IndeedBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Indy&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Library&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;InfoNaviRobot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;InfoTekies&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;instabid&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Intelliseek&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;InterGET&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Internet&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Ninja&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;InternetSeer&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;internetVista&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; monitor&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;IonCrawl&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;ips-agent&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Iria&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;IRLbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;isitwp.com&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Iskanie&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;IstellaBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;iubenda-radar&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;JamesBOT&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Java&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Jbrofuzz&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;JennyBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;JetCar&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Jetty&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;JikeSpider&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;JOC&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Web&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Spider&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Joomla&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Jorgee&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;JustView&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Jyxobot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Kenjin&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Spider&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Keybot&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Translation-Search-Machine&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Keyword&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Density&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Kinza&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Kozmosbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Lanshanbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Larbin&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Leap&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;LeechFTP&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;LeechGet&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;LexiBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Lftp&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;LibWeb&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Libwhisker&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;LieBaoFast&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Lightspeedsystems&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Likse&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Linkbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;linkdexbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;LinkextractorPro&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;LinkpadBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;LinkScan&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;LinksManager&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;LinkWalker&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;LinqiaMetadataDownloaderBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;LinqiaRSSBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;LinqiaScrapeBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Lipperhey&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Lipperhey&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Spider&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Litemage_walker&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Lmspider&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;LNSpiderguy&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Ltx71&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;lwp-request&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;lwp-trivial&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;LWP::Simple&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Mag-Net&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Magnet&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;magpie-crawler&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Mail.RU_Bot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Majestic-SEO&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Majestic&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; SEO&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Majestic12&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MarkMonitor&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MarkWatch&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Mass&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Downloader&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Masscan&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Mata&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Hari&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MauiBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Mb2345Browser&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MBCrawler&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MeanPath&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Bot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Meanpathbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;meanpathbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Mediatoolkitbot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;mediawords&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MegaIndex.ru&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Metauri&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MFC_Tear_Sample&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MicroMessenger&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Microsoft&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Data&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Access&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Microsoft&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; URL&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Control&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MIDown&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; tool&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MIIxpc&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Minefield&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Mister&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; PiX&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MJ12bot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MJ12Bot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Moblie&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Safari&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Mojeek&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Mojolicious&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MolokaiBot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Morfeus&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Fucking&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt; Scanner&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Mozlila&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MQQBrowser&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Mr.4x3&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MSFrontPage&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MSIECrawler&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;Msrabot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;MTRobot&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;muhstik-scan&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Selain itu gw juga menambahan security lainnya, seperti &lt;strong&gt;nG Firewall&lt;/strong&gt; dari sisi Server, menggunakan tools dari Perishable Press.&lt;/p&gt;
&lt;p&gt;Untuk sisi aplikasi, gw gunakan Shieldon yang compatible dengan PSR-4 (Composer), karena aplikasi klinik hazika menggunakan codeigniter 4, dan tersedia secara &lt;em&gt;opensource.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;masih kurang? yaps, dari tampilan sebelum masuk ke sistem, gw implentasikan sebuah captcha slider, untuk masuk ke sistem, seperti berikut.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 504px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 136.96969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAbCAYAAAB836/YAAAACXBIWXMAABYlAAAWJQFJUiTwAAAE9klEQVR42q2Ve0zWVRjH+aOaa3PNNrNQQCNTUQRTkIvKRV8QUOxNnPqqeEFQkQgxddLAKak1FZh3ZmhiWItNEbwgNxG1tFpzYU4BxV7xylXgfV/eG5/O+SG+Esty82zf33POs+d8f8/lnOfYIYbV2smrGnbyU1RcQnt7O83Nzdy7d5/6+noePnpEU1MTWq2W27V3qKurE7IWo9H4YsLOzk5hfE8xNJvN6A0GdHo97TodHR0dGMRaQifWeqG3Wq3IPf8GhVCObsV/jReRKYTS6HhePs0tLbS2tfFIhNrQ2Eh9Q4Pi1UvnsLPTSuW1a0oOZdgyj62trTx50qqELP8qw/y/eBayyWTCbLH0CEsaWCSE3iJOgkWYdkHMrRZFmoXe+HTvs5C7SWUxZFHMJrNCJj3WCc/NcoOYG9rbsBo7MOralQIZhDQZ9D1yb9d1Dq2UXbxEVnY26bt2kXnwGw4czGLn/v1kHMpm35Gj7M7NJ/1iJXuu3GRX+e/szDxA+rHTZF64Sk75ZS5V37URSpf9pwXTz6k/jqM/5L0Rzjh8MBCHoQ44+3jj6OXNME0MHkd+wievGpdN39JvQD8GqRcweEk8fYY7My9+9XOERhNTp0+mv9NbuPgOY6CzPY7DHHjfdTDObkMY4uqMa3AIsT+Wk/LrAyZEJfBmn9dwGOXK4NGu9O3/BkuiI22EspqBQQG4ebrhMnE4jiMHEhgyCV+VNzHxMYz1cUelVrH2wHdkFP+Gu38AA4a8jf3QQbzjZM/rffuwYNECG6GsYnziCmbMUjFNE4xfmAeaRWFk52Tx5/U/SN+7jYA5E5kerWbqolD8QscRqB7POP9RjPEaibPLID5NWGEjlFU6eyqLdWkLid6uYW/ORlGQVezJTeVq1RWuays5WpzN4dwsFqdGsHzrLDalRZGWFsvXW6NJWvcJR3N22Ajl2P3DDtTJ4UQJ0mXpkYStncL+E3upqKzg+3NHyD2Zwy8XLrMmPQ6feE9CEwPQrAshKmUGH8d68VVmko3QZDaxJHUhqs98idgQTFjSZELXq5i3eSbqDaEs3RJJ4ekCzpeWCk8OEZ4QhMfSsYQl+jM/KRRVjBtb961/jlAcm1lr1HgvdiNkjT9TEibgs3wckxN98VnpSUrGWsoKS8jLO86ZgjNs3J6Mx/wxotqeeC4cg33Au8RujLURmi1m4rbEEZYQSsQXEcxJnknkl3PQpM5m5bYYCk4d40LFRUqEh6VlZeSfyOfzzXHMXCXCXR3OeI03yRkpPYtiMVuUKyYPeYfRLKRFpMIq5l1rfYdRgVybzF132yiktDOKPtrdB54VRd5b2bYMQuqNTzeLO1334CE3q29Rq73Ltes3aGhqUfQ6Q4ewMyl2OsXW1PMuyzzK89ghyIwmswLpiUnxomttEBu7df9ELw9f2SNlEfE3i8fovnhXGh4/5oF4pJrqG2msb8AkHySRq06L9Sksz817QyRWNFjBahDhNoh23yR6nJQt4m4/EZDN9aU9NNbU0lZQhL74PPqicgW6onMK2gvLaM0vpLXgbBdOFtF2uoS2M6W9caoYXcXP2DVmHuaGkztV7v5UuU7sgWqBO2FzqQ2K4Hagmtt+4VR/FKDoq0dPssHNj6rh3vw1Yz52TQdzuDnCmxqfEGrGB/WCVrMM7dxo7kbGKvNbk6ZT46nqaecVrPxIOzuKvwEHpuItsQO2LwAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;waf-slider&quot;
        title=&quot;&quot;
        src=&quot;/static/b5769f2253ac078ca4a294b6891fcf92/7f322/waf-slider.png&quot;
        srcset=&quot;/static/b5769f2253ac078ca4a294b6891fcf92/103f2/waf-slider.png 165w,
/static/b5769f2253ac078ca4a294b6891fcf92/748ba/waf-slider.png 330w,
/static/b5769f2253ac078ca4a294b6891fcf92/7f322/waf-slider.png 504w&quot;
        sizes=&quot;(max-width: 504px) 100vw, 504px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Ouh iya, waktu itu gw juga pake WAF diaplikasi klinik hazika dengan &lt;a href=&quot;https://github.com/Adel-Qusay/ADEL-WAF/issues/10&quot;&gt;Adel-WAF&lt;/a&gt; tapi ada keanehan, diserver aaPanel gw gak kedetect kalo scriptnya mengandung trojan, tapi di server laen yang pake directadmin malah kedetect dan langsung di delete filenya, penasaran akhirnya coba cek menggunakan VirusTotal, jreng bener aja ada trojan script&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 45.45454545454545%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAABYlAAAWJQFJUiTwAAAB2klEQVR42nWS2XLaQBBF9QlJOUICJIT2BW2gxSBBYQwVB8d7pZz//5KTtrAf83Cqe1o9d6bvSDGcljw7kKU3mO6aYvVAXT/SNE9cC61QC3H1TCQkzctAXD+z2v2l6P4MlP07SfWAYoVbyuaRRXWP5XfU/Qvd4Z12+3Zh90a9faWSvOxeCJd3BOUdC9mT1L9F7JW0fSKtzyTlSQS9tZx8T1Q/MZN8sTlL8xk3u8XLjxeyI35+wVncYCd7uY0IyzqV3o+6JxN6yQ5lMsmYWTWmWWBMU8xZjmFkaKMQXYv+y9f3IepS0+MhKkbUYuY7JnGDHlZMkoZxVKG6BapXMPJKNL+8rN0cPVgOqE7Gj0/UL+Ypit0e8I8PuPsz1kZG6o/MN7fY/Qm7O2J1J8zNifn2J87+F97xUeIZvZZLVD3zume06tEk1/I1ihusWbZn8vJIEnSkfkv8yUJwvWtM55posScT08P0gCV/g+luKKINUdTjyMN68Q7LaVDmdkkoY7vuCssS/8QHc/zhSYiqhWifTKfJENVRwFh65tLjTyMM8dyRvfY8J5bDFEuS2Szj6soVkwOiaUwiBJOYqYiOpKaOfDxvxcwUn1Sf6TgkNmIcEbX1YHiY799M4uKef8L+EE+wUdgxAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;adel-waf&quot;
        title=&quot;&quot;
        src=&quot;/static/24f9e838de23c9d92d939bb54d7ec354/7c811/adel-waf.png&quot;
        srcset=&quot;/static/24f9e838de23c9d92d939bb54d7ec354/103f2/adel-waf.png 165w,
/static/24f9e838de23c9d92d939bb54d7ec354/748ba/adel-waf.png 330w,
/static/24f9e838de23c9d92d939bb54d7ec354/7c811/adel-waf.png 660w,
/static/24f9e838de23c9d92d939bb54d7ec354/d28e0/adel-waf.png 990w,
/static/24f9e838de23c9d92d939bb54d7ec354/bb51b/adel-waf.png 1320w,
/static/24f9e838de23c9d92d939bb54d7ec354/a66f5/adel-waf.png 1711w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://www.virustotal.com/gui/file/9772b53bcb8884cf5989e5a7b5a2258ad94364cfe9e21ac9e85b2ee42103432c?nocache=1&quot;&gt;https://www.virustotal.com/gui/file/9772b53bcb8884cf5989e5a7b5a2258ad94364cfe9e21ac9e85b2ee42103432c?nocache=1&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Semoga owner repo tau apa yang dia share, kalo WAF nyah sangat tidak aman untuk server, dan gw juga udah kasih tau dan gw share juga alternatifnya, seperti &lt;a href=&quot;https://github.com/terrylinooo/shieldon&quot;&gt;Shieldon&lt;/a&gt; dan lainnya.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/Adel-Qusay/ADEL-WAF/issues/10&quot;&gt;https://github.com/Adel-Qusay/ADEL-WAF/issues/10&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;catatan-implementasi-waf-shieldon&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#catatan-implementasi-waf-shieldon&quot; aria-label=&quot;catatan implementasi waf shieldon permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Catatan Implementasi WAF Shieldon&lt;/h2&gt;
&lt;p&gt;gw udah buat Pull Request (PR) tapi belom di acc sama ownernya, jadi mau gak mau langsung ubah aja di folder &lt;strong&gt;vendor&lt;/strong&gt; ya.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/terrylinooo/shieldon/pull/68&quot;&gt;https://github.com/terrylinooo/shieldon/pull/68&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Saat implentasi shieldon agak sedikit tricky, karena ada sedikit error seperti ini&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 47.878787878787875%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAABYlAAAWJQFJUiTwAAABkUlEQVR42o2QzU7CQBSF51FY1AVhQQJaKFQx+ogCL8QGWPBTpLqQtpRCoZREpKW2kBzvDIh/Mdrky7nN3Llz7mHBeo0w2CAMQ8Fmszny8qk+nMdxjN1uhz2xSxLs93t8/9joXoPx+ICRYeDpaQTHmcJ1XUynU8xmM9IDvu/j+XmNIAiPBOKR7XZL+gHraQP0iU6ni16vj/l8QZdXWC59YnWqPW8pWCy8A8ea93ueJ/o4zB7bwtXEdjCZODCtMUzDhGlasHhNyv8ty4YhdAzbnsB1HMxoC+7ededHAz4Yt85XOGS4Pa3wWaPoVeQXxwliyi5JKEdC5Ek5cuVEUQTWaDTQarXQbDaFvtftdvuk3W4Xg8EAuj7EcPgTXdehaRpFsADLZDKoVK6hqpcoq6pAKZVQLBahKIpQTqFQ+JUS9afTaVTrd2CSJKFcViHTwfn5BXK5nCD/Tj7/J7IsQ5LOUK2dBpIj8ZosDnlTNpv9N9xAKpVCrVYDO6OBtzeXqFyVUVKKNPBCOP2Ps68OJdTrdbwB+m1Cjq4jLq8AAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;shieldon-ci4&quot;
        title=&quot;&quot;
        src=&quot;/static/cc642e624da682aca9b8f1639771033c/7c811/shieldon-ci4.png&quot;
        srcset=&quot;/static/cc642e624da682aca9b8f1639771033c/103f2/shieldon-ci4.png 165w,
/static/cc642e624da682aca9b8f1639771033c/748ba/shieldon-ci4.png 330w,
/static/cc642e624da682aca9b8f1639771033c/7c811/shieldon-ci4.png 660w,
/static/cc642e624da682aca9b8f1639771033c/d28e0/shieldon-ci4.png 990w,
/static/cc642e624da682aca9b8f1639771033c/bb51b/shieldon-ci4.png 1320w,
/static/cc642e624da682aca9b8f1639771033c/06a01/shieldon-ci4.png 1888w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Kita harus ubah di folder &lt;strong&gt;vendor&lt;/strong&gt; dimana shieldon terinstall dan ubah scriptnya dengan ini di folder&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 4.848484848484849%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAABCAYAAADeko4lAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAS0lEQVR42hXKyw2AIBAAUfvvTEswwcQfsLAsiAWMeJi8y0zrMuOdQ0ojjyQbIRWyPdwxo7Wj7WUPyhGNKxnbGYeVIB0vih/fbyqND7glSmy3ba5CAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;shieldon-ubah&quot;
        title=&quot;&quot;
        src=&quot;/static/b0ab630d4054c588122fda5e8e4415be/7c811/shieldon-ubah.png&quot;
        srcset=&quot;/static/b0ab630d4054c588122fda5e8e4415be/103f2/shieldon-ubah.png 165w,
/static/b0ab630d4054c588122fda5e8e4415be/748ba/shieldon-ubah.png 330w,
/static/b0ab630d4054c588122fda5e8e4415be/7c811/shieldon-ubah.png 660w,
/static/b0ab630d4054c588122fda5e8e4415be/9f1c6/shieldon-ubah.png 828w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;&lt;span class=&quot;token php language-php&quot;&gt;&lt;span class=&quot;token delimiter important&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;/*
 * This file is part of the Shieldon package.
 *
 * (c) Terry L. &amp;lt;contact@terryl.in&gt;
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 * 
 * File Correction: APP\vendor\Shieldon\src\Firewall\Integration\CodeIgniter4
 * Source instalation: https://shieldon.io/en/guide/codeigniter.html#codeigniter-4
 * Source Correction: https://forum.codeigniter.com/showthread.php?tid=78109&amp;amp;pid=382427#pid382427
 * 
 */&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;declare&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;strict_types&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;namespace&lt;/span&gt; &lt;span class=&quot;token package&quot;&gt;Shieldon&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;Firewall&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;Integration&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;token package&quot;&gt;Shieldon&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;Firewall&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;Firewall&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;token package&quot;&gt;Shieldon&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;Firewall&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;HttpResolver&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;token package&quot;&gt;CodeIgniter&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;HTTP&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;RequestInterface&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;as&lt;/span&gt; Request&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;token package&quot;&gt;CodeIgniter&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;HTTP&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;ResponseInterface&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;as&lt;/span&gt; Response&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;token package&quot;&gt;CodeIgniter&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;Filters&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;FilterInterface&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;token package&quot;&gt;Shieldon&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;Firewall&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;Captcha&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;Csrf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token package&quot;&gt;csrf_token&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// CodeIgniter 4&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token package&quot;&gt;csrf_hash&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// CodeIgniter 4&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;/**
 * CodeIgniter 4 Middleware of Shieldon Firewall.
 */&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name-definition class-name&quot;&gt;CodeIgniter4&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;implements&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;FilterInterface&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;/**
     * The absolute path of the storage where stores Shieldon generated data.
     *
     * @var string
     */&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;protected&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$storage&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token comment&quot;&gt;/**
     * The entry point of Shieldon Firewall&apos;s control panel.
     *
     * For example: https://yoursite.com/firewall/panel/
     * Just use the path component of a URI.
     *
     * @var string
     */&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;protected&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$panelUri&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token comment&quot;&gt;/**
     * Constructor.
     *
     * @param string $storage  See property `storage` explanation.
     * @param string $panelUri See property `panelUri` explanation.
     *
     * @return void
     */&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function-definition function&quot;&gt;__construct&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword type-hint&quot;&gt;string&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$storage&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword type-hint&quot;&gt;string&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$panelUri&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token variable&quot;&gt;$this&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;storage&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;WRITEPATH&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;shieldon_firewall&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token variable&quot;&gt;$this&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;panelUri&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;/firewall/panel/&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

        &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;&apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$storage&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$this&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;storage&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$storage&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

        &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;&apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$panelUri&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$this&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;panelUri&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$panelUri&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token comment&quot;&gt;/**
     * Shieldon middleware invokable class.
     *
     * @param Request $request
     *
     * @return mixed
     */&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function-definition function&quot;&gt;before&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name type-declaration&quot;&gt;Request&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$request&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$arguments&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$request&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;isCLI&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

        &lt;span class=&quot;token comment&quot;&gt;// CodeIgniter 4 is not a PSR-7 compatible framework, therefore we don&apos;t &lt;/span&gt;
        &lt;span class=&quot;token comment&quot;&gt;// pass the Reqest and Reposne to Firewall instance.&lt;/span&gt;
        &lt;span class=&quot;token comment&quot;&gt;// Shieldon will create them by its HTTP factory.&lt;/span&gt;
        &lt;span class=&quot;token variable&quot;&gt;$firewall&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Firewall&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token variable&quot;&gt;$firewall&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;configure&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$this&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;storage&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token variable&quot;&gt;$firewall&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;controlPanel&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$this&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;panelUri&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

        &lt;span class=&quot;token comment&quot;&gt;// Pass CodeIgniter CSRF Token to Captcha form.&lt;/span&gt;
        &lt;span class=&quot;token variable&quot;&gt;$firewall&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getKernel&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setCaptcha&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
            &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Csrf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
                &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;name&apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;csrf_token&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;value&apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;csrf_hash&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

        &lt;span class=&quot;token variable&quot;&gt;$response&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$firewall&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

        &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$response&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getStatusCode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;200&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$httpResolver&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;HttpResolver&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$httpResolver&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$response&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token comment&quot;&gt;/**
     * We don&apos;t have anything to do here.
     *
     * @param Response $request
     * @param Response $response
     *
     * @return mixed
     */&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function-definition function&quot;&gt;after&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name type-declaration&quot;&gt;Request&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$request&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name type-declaration&quot;&gt;Response&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$response&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$arguments&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;update--celah-dari-sisi-server&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update--celah-dari-sisi-server&quot; aria-label=&quot;update  celah dari sisi server permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Update ~ Celah dari Sisi Server&lt;/h2&gt;
&lt;p&gt;Jadi sebelum kejadian, gw ada update tp ko aplikasi gak berubah, alhasil gw masuk ke console, buat ngecek dengan melakukan &lt;code class=&quot;language-text&quot;&gt;sudo git status&lt;/code&gt; ternyata ada file yang gak diundang di folder &lt;code class=&quot;language-text&quot;&gt;public&lt;/code&gt;  seperti gambar dibawah ini:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 27.878787878787882%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA1klEQVR42l2PCW7FIAxEyUIWCAlLIPT3/uecDsitokZ6mmcbWY6qtSKXAh8DUs6YZk1mjOOIcZo687JA6xkTfWnO+R9aY2VvYba5iinhCQHlPPG5M4pz3d264Np3JGvwCRH3dSEYixIjjtORE/Y44L1HvBMuH7BuGxQ/BPIQT75JJV+SrZ/ILX4RTSxxZCdG6oUoNQx9YSGR/hm4qKX0Gpl1VUP3QDdkZ23FDd0xN9IvjHJRknzkoixXFskqb+wLIzi5vC/8bVj5pf/eOF5pX2/MazYqhR90VoG5Wp566gAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;uploaded-to-public&quot;
        title=&quot;&quot;
        src=&quot;/static/97dcadab64294c94096411c581d7caec/7c811/uploaded-to-public.png&quot;
        srcset=&quot;/static/97dcadab64294c94096411c581d7caec/103f2/uploaded-to-public.png 165w,
/static/97dcadab64294c94096411c581d7caec/748ba/uploaded-to-public.png 330w,
/static/97dcadab64294c94096411c581d7caec/7c811/uploaded-to-public.png 660w,
/static/97dcadab64294c94096411c581d7caec/f101e/uploaded-to-public.png 870w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Nah aneh kan, cuman sampe sekarang gw belum tau kenapa bisa terupload, akhirnya coba liat akses folder mana pake url apa seperti dibawah ini, tetep gak ketauhan celahnya.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 489px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 57.57575757575757%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAAByklEQVR42mVTV3bDMAzLaTozGsdDXpK3ndmX3v8uLMCobtJ+8MmPokAApBdBbCXKGnHtSbJylDCtpeouktkBMcrLKpSnty0ieIjn952eL8vwIRZB4sQUvQLmbpIUQGV9lMyNYtuj7JJKQtNoTZJ3ekZpI0HsJAGR/4CRRdEgtrkBEoiPyuYIpic0GHGepZu+tKlF3hSd5NVeAX/YMhRw5xkS4FbcK3DRHKSowLgcFIigKSxhnQFTi2a0532TyHKbynJjPMPYKohVRmdxCHpX1gcAeHB8V/1F8zzb6YrvSerhEza0eh97tp7hoIUFZBiAUCYl1cglea/5pv9UxvSVrBPIZsP7Ic2Sk7uh5Cpz9KzOOPfqKxtSAcGphoD0fR3kM9g85ThrcXmYpd5YYlBoUiLPx669gDFZHmAL/DM1ak+y2f0BDE2lD/gwd/vb6njz6+EyN6F866fMGlMOmudQHhn6oTh4QxB6p9IRDQBpAXPteFVmtIZAJEFPX1eRX5vw10MOgYCMDEBcYDKjfzn8UwVYdgab6/B0vfbyEZYADeVtHSv4IoJ/KVaAS6wThHft+KUSyaDTFRn1MdeFjOOUv+pZ71131BpaRobfJeWaNwbt1gsAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;akses-mencurigakan&quot;
        title=&quot;&quot;
        src=&quot;/static/a2ff95693af4991c424db020a5338717/7f605/akses-mencurigakan.png&quot;
        srcset=&quot;/static/a2ff95693af4991c424db020a5338717/103f2/akses-mencurigakan.png 165w,
/static/a2ff95693af4991c424db020a5338717/748ba/akses-mencurigakan.png 330w,
/static/a2ff95693af4991c424db020a5338717/7f605/akses-mencurigakan.png 489w&quot;
        sizes=&quot;(max-width: 489px) 100vw, 489px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;patch-celah-folder-public&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#patch-celah-folder-public&quot; aria-label=&quot;patch celah folder public permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Patch Celah Folder Public&lt;/h3&gt;
&lt;p&gt;Setelah mencari tahu, akhirnya folder &lt;code class=&quot;language-text&quot;&gt;public&lt;/code&gt; gw batasi dan assets image,css dan js diarahkan ke cdn. Berikut ini beberapa config patch untuk nginx.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;location ~* &lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;.&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;jpg&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;jpeg&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;gif&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;png&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;bmp&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;ico&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;flv&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;swf&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;js&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;css&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;ttf&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;woff&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;woff2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  add_header        Cache-Control public&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  add_header        Cache-Control must-revalidate&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  expires           7d&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

location ^~ /public/ &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  deny all&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

location /images/ &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  access_log off&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  expires max&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    
  location ~ &lt;span class=&quot;token string&quot;&gt;&quot;\.(png|jpg|ttf|woff|woff2|pdf)$&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      allow all&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;                &lt;span class=&quot;token comment&quot;&gt;# allow images, etc.&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  location ~ &lt;span class=&quot;token string&quot;&gt;&quot;/$&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      allow all&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
      autoindex off&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;             &lt;span class=&quot;token comment&quot;&gt;# allow listing directory contents&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;dan ubah hak akses foldernya &lt;code class=&quot;language-text&quot;&gt;755&lt;/code&gt; dan file &lt;code class=&quot;language-text&quot;&gt;644&lt;/code&gt;, dan akhirnya tidak ada lagi file aneh yang terupload di folder public.&lt;/p&gt;
&lt;h2 id=&quot;update-menggunakan-aawaf&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update-menggunakan-aawaf&quot; aria-label=&quot;update menggunakan aawaf permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Update Menggunakan aaWAF&lt;/h2&gt;
&lt;p&gt;Aplikasi klinik Hazika sudah menggunakan aaWAF.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://www.aapanel.com/forum/d/18725-aawaf-install-tutorial&quot;&gt;https://www.aapanel.com/forum/d/18725-aawaf-install-tutorial&lt;/a&gt;
&lt;a href=&quot;https://www.aapanel.com/forum/d/18726-aawaf-usage-tutorial&quot;&gt;https://www.aapanel.com/forum/d/18726-aawaf-usage-tutorial&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;todo-install-mod-security-di-aapanel&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#todo-install-mod-security-di-aapanel&quot; aria-label=&quot;todo install mod security di aapanel permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;TODO: INSTALL MOD SECURITY DI AAPANEL&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/@habibi05/implementasi-waf-modsecurity-dengan-nginx-7672faed9359&quot;&gt;https://medium.com/@habibi05/implementasi-waf-modsecurity-dengan-nginx-7672faed9359&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;kesimpulan&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#kesimpulan&quot; aria-label=&quot;kesimpulan permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Kesimpulan&lt;/h2&gt;
&lt;p&gt;Baik, akan gw simpulkan &lt;em&gt;tools&lt;/em&gt; yang digunakan dalam menghadapi kerasanya keaamanan dunia maya, terutama aplikasi berbasis web-base, diantaranya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Nginx Free Firewall with UA Filter&lt;/li&gt;
&lt;li&gt;7G Firewall by PerishablePress&lt;/li&gt;
&lt;li&gt;&lt;del&gt;Shieldon PHP&lt;/del&gt;&lt;/li&gt;
&lt;li&gt;Captcha Login&lt;/li&gt;
&lt;li&gt;Create Symbolic For Assets (CSS and JS)&lt;/li&gt;
&lt;li&gt;Use aaWAF&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Sekian informasi dan trick yang gw implentasikan di aplikasi klinik hazika.&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;
&lt;h3 id=&quot;source&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#source&quot; aria-label=&quot;source permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Source&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://www.aapanel.com/&quot;&gt;aaPanel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://perishablepress.com/ng-firewall/&quot;&gt;nG Firewall&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/terrylinooo/shieldon&quot;&gt;ShieldOn for Codeigniter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gist.github.com/mdestafadilah/9b3cab601c9492d552ebf59a2d698667&quot;&gt;Patch Codeigniter 4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/idflorin/mixed/blob/main/nginx-ban-bad-user-agents.conf&quot;&gt;UA Filter&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Common Function MySQL]]></title><description><![CDATA[Bismillah Ini beberapa trick Function mySQL yang digunakan di project yang gw kerjakan untuk mempermudah dikonsumsi oleh Frontend. Source https://www.youtube.com/watch?v=j73M…]]></description><link>https://topidesta.my.id/common-function-mysql/</link><guid isPermaLink="false">https://topidesta.my.id/common-function-mysql/</guid><category><![CDATA[database]]></category><category><![CDATA[server]]></category><category><![CDATA[mysql]]></category><pubDate>Fri, 11 Oct 2024 12:08:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h2&gt;
&lt;p&gt;Ini beberapa trick Function mySQL yang digunakan di project yang gw kerjakan untuk mempermudah dikonsumsi oleh Frontend.&lt;/p&gt;
&lt;details&gt;
    &lt;summary&gt;JSON Extract&lt;/summary&gt;
    &lt;pre&gt;
        CREATE DEFINER=`namaUser`@`%` FUNCTION `namaDatabase`.`json_extract_c`(
        details TEXT,
        required_field VARCHAR (255)
        ) RETURNS text CHARSET latin1
        BEGIN
        SET details = TRIM(LEADING &apos;{&apos; FROM TRIM(details));
        SET details = TRIM(TRAILING &apos;}&apos; FROM TRIM(details));
        RETURN TRIM(
            BOTH &apos;&quot;&apos; FROM SUBSTRING_INDEX(
                SUBSTRING_INDEX(
                    SUBSTRING_INDEX(
                        details,
                        CONCAT(
                            &apos;&quot;&apos;,
                            SUBSTRING_INDEX(required_field,&apos;$.&apos;, - 1),
                            &apos;&quot;:&apos;
                        ),
                        - 1
                    ),
                    &apos;,&quot;&apos;,
                    1
                ),
                &apos;:&apos;,
                -1
            )
        ) ;
        END
    &lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;JSON Extract with Datetime&lt;/summary&gt;
    &lt;pre&gt;
        CREATE DEFINER=`namaUser`@`%` FUNCTION `namaDatabase`.`json_extract_d`(details TEXT,required_field VARCHAR (255)) RETURNS text CHARSET latin1
            DETERMINISTIC
        BEGIN
          /* get key from function passed required field value */
          set @JSON_key = SUBSTRING_INDEX(required_field,&apos;$.&apos;, -1); 
          /* get everything to the right of the &apos;key = &lt;required_field&gt;&apos; */
          set @JSON_entry = SUBSTRING_INDEX(details,CONCAT(&apos;&quot;&apos;, @JSON_key, &apos;&quot;&apos;), -1 ); 
          /* get everything to the left of the trailing comma */
          set @JSON_entry_no_trailing_comma = SUBSTRING_INDEX(@JSON_entry, &quot;,&quot;, 1); 
          /* get everything to the right of the leading colon after trimming trailing and leading whitespace */
          set @JSON_entry_no_leading_colon = TRIM(LEADING &apos;:&apos; FROM TRIM(@JSON_entry_no_trailing_comma)); 
          /* trim off the leading and trailing double quotes after trimming trailing and leading whitespace*/
          set @JSON_extracted_entry = TRIM(BOTH &apos;&quot;&apos; FROM TRIM(@JSON_entry_no_leading_colon));
          RETURN @JSON_extracted_entry;
        RETURN 1;
        END
    &lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Bulan Indonesia&lt;/summary&gt;
    &lt;pre&gt;
      CREATE DEFINER=`namaUser`@`%` FUNCTION `namaDatabase`.`bulan_indonesia`(bulan INT) RETURNS varchar(255) CHARSET latin1
          DETERMINISTIC
      BEGIN
        DECLARE varhasil VARCHAR(255);
          SELECT 
            CASE (bulan) 
              WHEN 1 THEN &apos;Januari&apos; 
              WHEN 2 THEN &apos;Februari&apos; 
              WHEN 3 THEN &apos;Maret&apos; 
              WHEN 4 THEN &apos;April&apos; 
              WHEN 5 THEN &apos;Mei&apos; 
              WHEN 6 THEN &apos;Juni&apos; 
              WHEN 7 THEN &apos;Juli&apos; 
              WHEN 8 THEN &apos;Agustus&apos; 
              WHEN 9 THEN &apos;September&apos;
              WHEN 10 THEN &apos;Oktober&apos; 
              WHEN 11 THEN &apos;November&apos; 
              WHEN 12 THEN &apos;Desember&apos; 
            END
          INTO varhasil;
          RETURN varhasil;
          END
    &lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Find Strip Tags&lt;/summary&gt;
    &lt;pre&gt;
        CREATE DEFINER=`namaUser`@`%` FUNCTION `namaDatabase`.`fnStripTags`( Dirty varchar(4000) ) RETURNS varchar(4000) CHARSET latin1
            DETERMINISTIC
        BEGIN
          DECLARE iStart, iEnd, iLength int;
            WHILE Locate( &apos;&lt;&apos;, Dirty ) &gt; 0 And Locate( &apos;&gt;&apos;, Dirty, Locate( &apos;&lt;&apos;, Dirty )) &gt; 0 DO
              BEGIN
                SET iStart = Locate( &apos;&lt;&apos;, Dirty ), iEnd = Locate( &apos;&gt;&apos;, Dirty, Locate(&apos;&lt;&apos;, Dirty ));
                SET iLength = ( iEnd - iStart) + 1;
                IF iLength &gt; 0 THEN
                  BEGIN
                    SET Dirty = Insert( Dirty, iStart, iLength, &apos;&apos;);
                  END;
                END IF;
              END;
            END WHILE;
            RETURN Dirty;
        END
    &lt;/pre&gt;
&lt;/details&gt;
&lt;hr &gt;
&lt;h3 id=&quot;source&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#source&quot; aria-label=&quot;source permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Source&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=j73M7OIkEcY&quot;&gt;https://www.youtube.com/watch?v=j73M7OIkEcY&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.queryexamples.com/sql/mysql/create-a-function-calculate-power-of-a-number-in-mysql/&quot;&gt;https://www.queryexamples.com/sql/mysql/create-a-function-calculate-power-of-a-number-in-mysql/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/a/57856940&quot;&gt;https://stackoverflow.com/a/57856940&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/a/50998046&quot;&gt;https://stackoverflow.com/a/50998046&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/a/9815396&quot;&gt;https://stackoverflow.com/a/9815396&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[ADMS Mesin Absensi X100C]]></title><description><![CDATA[Bismillah Alhamdulillah, absensi dengan realtime absen sudah bisa. Pake yang sourcecode (ini)[#1], Simple ADMS Code. Sebelumnya gw kudu beli sourcecode 1 JT, muka gile, unlimited…]]></description><link>https://topidesta.my.id/adms-mesin-absensi-x100c/</link><guid isPermaLink="false">https://topidesta.my.id/adms-mesin-absensi-x100c/</guid><category><![CDATA[laravel]]></category><category><![CDATA[server]]></category><category><![CDATA[absensi]]></category><pubDate>Mon, 15 Jul 2024 12:08:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h2&gt;
&lt;p&gt;Alhamdulillah, absensi dengan realtime absen sudah bisa. Pake yang sourcecode (ini)[#1], Simple ADMS Code. Sebelumnya gw kudu beli sourcecode 1 JT, muka gile, unlimited mesin 20 jt. hallooo... gw aja dapetin 20jt kudu 1 tahun. baru kekumpul.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 223.03030303030306%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAtABQDASIAAhEBAxEB/8QAGAABAQADAAAAAAAAAAAAAAAAAAECAwX/xAAVAQEBAAAAAAAAAAAAAAAAAAABAP/aAAwDAQACEAMQAAAB7iUKiZSgKTMkakf/xAAcEAACAgIDAAAAAAAAAAAAAAABEQAQAiADEiH/2gAIAQEAAQUCcdvZ15Oo0PHiT//EABYRAAMAAAAAAAAAAAAAAAAAAAAgIf/aAAgBAwEBPwFaf//EABYRAAMAAAAAAAAAAAAAAAAAABARIP/aAAgBAgEBPwGEP//EABoQAAAHAAAAAAAAAAAAAAAAAAARICEwQZH/2gAIAQEABj8CRcpvo//EAB0QAAICAwADAAAAAAAAAAAAAAABETEQQXEhgcH/2gAIAQEAAT8htZ0SOb+HOHsc6WNjEjTWLShKKIw0N5Mf/9oADAMBAAIAAwAAABDvyLIcz//EABsRAAIBBQAAAAAAAAAAAAAAAAARARAhQaHh/9oACAEDAQE/EGixNFA8I3w//8QAFxEBAQEBAAAAAAAAAAAAAAAAEQABEP/aAAgBAgEBPxBm04Iv/8QAHhABAQACAgIDAAAAAAAAAAAAAREAITFRQWFxgcH/2gAIAQEAAT8Q0QkncyIUvvWCNfmAKFd8AuCHb3sMt3EzVQ3tQxNAH5ZhfJPvKl0mEcqj1vAPGPrNNG5iOBnu4AmhkWd75zkfE61jsWViDP/Z&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;sc-1-jut&quot;
        title=&quot;&quot;
        src=&quot;/static/64896c34f8f534c7ea4260e4c91c4ea3/5ab81/sc-1-jt.jpg&quot;
        srcset=&quot;/static/64896c34f8f534c7ea4260e4c91c4ea3/e4e7a/sc-1-jt.jpg 165w,
/static/64896c34f8f534c7ea4260e4c91c4ea3/4f5c6/sc-1-jt.jpg 330w,
/static/64896c34f8f534c7ea4260e4c91c4ea3/5ab81/sc-1-jt.jpg 660w,
/static/64896c34f8f534c7ea4260e4c91c4ea3/a2957/sc-1-jt.jpg 718w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 223.03030303030306%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAtABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAECAwX/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAe4nMlkhKtyYG5dCoEZDP//EABwQAAICAgMAAAAAAAAAAAAAAAERAAIDEhATMP/aAAgBAQABBQJzYRxcko7SnYvA46k//8QAFxEBAAMAAAAAAAAAAAAAAAAAEAARIf/aAAgBAwEBPwEp2f/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BX//EABwQAAEDBQAAAAAAAAAAAAAAADEAASAQESEikf/aAAgBAQAGPwIo1ENnaJhfPV//xAAfEAACAgEEAwAAAAAAAAAAAAAAAREhQRAgMZFRYYH/2gAIAQEAAT8haLkeiKlEG7RXl0LSProWWc5wsGdaZDnlsaGsx//aAAwDAQACAAMAAAAQwNfMWN//xAAbEQEAAgIDAAAAAAAAAAAAAAABABEQMVGh4f/aAAgBAwEBPxBshcVe4Di+Hfk//8QAFxEBAQEBAAAAAAAAAAAAAAAAAQAREP/aAAgBAgEBPxBW1keZY3//xAAfEAEBAQACAgIDAAAAAAAAAAABEQAhUTFBcZFhgeH/2gAIAQEAAT8QVARezVIo/GBpU7DNAF8Gl6ADgQ3I8BL4xUZLguTOMPwz2L+v5oeiHxNA8GBEQ+stQB0Bge105lfty0b6zsWViDf/2Q==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;sc-1-juta&quot;
        title=&quot;&quot;
        src=&quot;/static/feb08554c5ca4863bda9704324fb95bc/5ab81/adms-2.jpg&quot;
        srcset=&quot;/static/feb08554c5ca4863bda9704324fb95bc/e4e7a/adms-2.jpg 165w,
/static/feb08554c5ca4863bda9704324fb95bc/4f5c6/adms-2.jpg 330w,
/static/feb08554c5ca4863bda9704324fb95bc/5ab81/adms-2.jpg 660w,
/static/feb08554c5ca4863bda9704324fb95bc/a2957/adms-2.jpg 718w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Akhirnya gw ubek ubek di github, sampe gw pull request dan di response sama owner reponya.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 35.75757575757576%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAABYlAAAWJQFJUiTwAAAA7UlEQVR42pWR6W7DIBCE/f7P2UZ1Yxswyw2ezsZRlCj9k0WfOHfYY/JesK4bdu9hrYXnLBLgbwie7TjeUWuto5SK3gcmawzmeYYxDpv12Chu3Y59XZCdxWgNo9YbR+9UwYMxBiRH1NqQUjkFY0yQEJFyQeC6qQC/Hp1z5l72E+8wSn6NmKOOfl9rxAcmtyz4vVywzj+Iu0MWjxLkJAYSH2Se6f0z+k79ArMpIWC6fn+xhiuEtUzqlBLT7HfaP/Q3Ss70ywjWMEKtFWvQmL8yxoFPraooNTTKyTJVYXeF6kpwDoXd/QT192xuMBv+ANw5IglqTmwGAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;repo-adms&quot;
        title=&quot;&quot;
        src=&quot;/static/99151d5f6442ff5ff82a1dc0f1b6e7c8/7c811/repo-adms.png&quot;
        srcset=&quot;/static/99151d5f6442ff5ff82a1dc0f1b6e7c8/103f2/repo-adms.png 165w,
/static/99151d5f6442ff5ff82a1dc0f1b6e7c8/748ba/repo-adms.png 330w,
/static/99151d5f6442ff5ff82a1dc0f1b6e7c8/7c811/repo-adms.png 660w,
/static/99151d5f6442ff5ff82a1dc0f1b6e7c8/d28e0/repo-adms.png 990w,
/static/99151d5f6442ff5ff82a1dc0f1b6e7c8/bb51b/repo-adms.png 1320w,
/static/99151d5f6442ff5ff82a1dc0f1b6e7c8/b0464/repo-adms.png 1852w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;... berlanjut ke email sampe ke wa owner reponya, dan berhasil handshake dan kirim data log.&lt;/p&gt;
&lt;p&gt;Have a nice day.&lt;/p&gt;
&lt;h2 id=&quot;sumber&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sumber&quot; aria-label=&quot;sumber permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Sumber&lt;/h2&gt;
&lt;ol start=&quot;0&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/a/72994156&quot;&gt;How ADMS is Working&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id=&quot;1&quot;&gt;&lt;a href=&quot;https://github.com/saifulcoder/adms-server-ZKTeco&quot;&gt;ADMS Server&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rawcdn.githack.com/topidesta/topidesta/baa6612c36ed6afa08d639ebc04ca72a4d1a8edd/content/images/HTTPPUSHSDK2_0_1_en.pdf&quot;&gt;Manual Solution Push&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rawcdn.githack.com/topidesta/topidesta/baa6612c36ed6afa08d639ebc04ca72a4d1a8edd/content/images/Attendance-PUSH-Communication-Protocol-20200325.pdf&quot;&gt;Zkteco Push Protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adms.easyapp.my.id/login&quot;&gt;Server EasyApp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nginxtutorials.com/nginx-proxy_set_header-directive/&quot;&gt;ADMS in Nginx&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Online Proctoring System]]></title><description><![CDATA[Bismillah Mulai tanggal 19 April 2024 gw gak lanjut di Catalyst sebagai Freelance. Selama 2 bulan gw research dan bertanya tanya dengan TIM Psikologi Catalyst tentang Proctoring…]]></description><link>https://topidesta.my.id/online-proctoring-system/</link><guid isPermaLink="false">https://topidesta.my.id/online-proctoring-system/</guid><category><![CDATA[preact]]></category><category><![CDATA[vitejs]]></category><category><![CDATA[proctoring]]></category><pubDate>Fri, 19 Apr 2024 12:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h2&gt;
&lt;p&gt;Mulai tanggal 19 April 2024 gw gak lanjut di Catalyst sebagai Freelance. Selama 2 bulan gw research dan bertanya tanya dengan TIM Psikologi Catalyst tentang Proctoring. Semacam teknik anti-curang dalam Ujian Online getu.&lt;/p&gt;
&lt;p&gt;Dan didapatlah beberapa kecurangan yang sering terjadi, yang bisa di deteksi melalui sebuah Browser peserta test diantarnya,&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Detect buka tab/ tutup tab&lt;/li&gt;
&lt;li&gt;Detect camera aktif/ tidak aktif&lt;/li&gt;
&lt;li&gt;Detect muka/ wajah pesert test&lt;/li&gt;
&lt;li&gt;Detect suara disekitar peserta test&lt;/li&gt;
&lt;li&gt;Detect screen capture&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Awal pengembangan masih file JS yang comot dari sourcecode github, inget cara kerja dan belajar gw itu ATM (Amati Tiru Modifikasi), sumbernya akan gw share di bawah ya. Untuk freelance hasil research berikut ini list yang berhasil gw ujicoba.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 522px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 60.60606060606061%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAAB/0lEQVR42m1T23abMBDM//9UT/vQtCUOxlyMBULchLgac7FP3qYrkTZN7Yc9u4vk8Yx29ulyuWCaJhPzvOC6XinPJtZ1xUTnul5WOpuv0PcXunejeqbfjNRf/oknDTQMA/I8g73bwbIsnE4nWL8s2PZ+q62fcN0A37yvcPkebhlglzmQnXoHHT8A/xTn8xld16FpGsqtyXXdmMttq+saNQH0Y4+4ThBUDPXQkoLpMcOiyBF4HjwKzjlFDEbsGIvg+T6ESPG6s7En1m+3N6zTcgf2ieEGWpD0HFJK1EqZP9G9EMIw5DyBzCWuy5UAV/OWDwG13KqqEBObOI6RpSmCwEdCQGmSINZsGYNUEhazwKsEvgxJungMOI6jeTchEgOoB8QpcwIriGFqeo5M5mAFQzN0sEsPoYqwTPNjwLYlwEQgy1IjWctXxFrnsiyhaoU8y9DULZzIhmqpb0sUrbwHHEiyUpUZgk8DSIhZFEcIw8AMw/c9RFEEFp5wjEO46QFFI/GcvmBf+J+G887wgr7vUelh0OM3ZBPNcrNRbc4Ufe8HyrJCTtKFTNBR35L8/tzf20bLch0Hu9dXHMMQB8eG4xzg0XAY0+Z+oe9HBP4RP9xn+IIsVhzxhX9HWEXG4H8Zbmu3rdpKq6ftoOtl0Zn8Nm1nZgUXvZ43Y53/J6wBfwPNdnbFTX/JpwAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Lab catalyst&quot;
        title=&quot;&quot;
        src=&quot;/static/9b72c9f36fe018b5536b07effe0dab30/d15a3/lab-katalis.png&quot;
        srcset=&quot;/static/9b72c9f36fe018b5536b07effe0dab30/103f2/lab-katalis.png 165w,
/static/9b72c9f36fe018b5536b07effe0dab30/748ba/lab-katalis.png 330w,
/static/9b72c9f36fe018b5536b07effe0dab30/d15a3/lab-katalis.png 522w&quot;
        sizes=&quot;(max-width: 522px) 100vw, 522px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Sayangnya, yang dibutuhkan itu file &lt;strong&gt;.JS&lt;/strong&gt; only, alias bundling. Yaps, gw putuskan untuk membuka source dalam versi Bundler (API) dan itu project selanjutnya, untuk sekarang masih full single Javascript File dan bantuan BE (dengan PHP sebagai REST API) yang itu menjadi hak milik Catalyst dimana gw kerja lepas disana.&lt;/p&gt;
&lt;p&gt;Untuk repository Proctoring.js Opensource ada di link berikut:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/mdestafadilah/proctoring.js&quot;&gt;https://github.com/mdestafadilah/proctoring.js&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;apa-itu-proctoring&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#apa-itu-proctoring&quot; aria-label=&quot;apa itu proctoring permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Apa Itu Proctoring?&lt;/h3&gt;
&lt;p&gt;TODO!&lt;/p&gt;
&lt;h3 id=&quot;teknologi-yang-digunakan&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#teknologi-yang-digunakan&quot; aria-label=&quot;teknologi yang digunakan permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Teknologi yang Digunakan!&lt;/h3&gt;
&lt;p&gt;TODO!&lt;/p&gt;
&lt;h3 id=&quot;refrensi--sourcecode&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#refrensi--sourcecode&quot; aria-label=&quot;refrensi  sourcecode permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Refrensi &amp;#x26; Sourcecode&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://kumparan.com/ragam-info/proctoring-definisi-dan-cara-kerja-sistemnya-20nteGRLsZM/2&quot;&gt;https://kumparan.com/ragam-info/proctoring-definisi-dan-cara-kerja-sistemnya-20nteGRLsZM/2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.mettl.com/guide/online-remote-proctoring/&quot;&gt;https://blog.mettl.com/guide/online-remote-proctoring/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://raccoongang.com/blog/online-proctoring-everything-you-need-know/&quot;&gt;https://raccoongang.com/blog/online-proctoring-everything-you-need-know/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/AI-Proctoring-V1&quot;&gt;https://github.com/topidesta/AI-Proctoring-V1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/AI-Proctoring-V2&quot;&gt;https://github.com/topidesta/AI-Proctoring-V2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/online-exam-proctoring-app&quot;&gt;https://github.com/topidesta/online-exam-proctoring-app&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/Recruitment-Application&quot;&gt;https://github.com/topidesta/Recruitment-Application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/ProctoAI-MERN&quot;&gt;https://github.com/topidesta/ProctoAI-MERN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/proctAI&quot;&gt;https://github.com/topidesta/proctAI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/node-whistle-detection&quot;&gt;https://github.com/topidesta/node-whistle-detection&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/react-face-recognition&quot;&gt;https://github.com/topidesta/react-face-recognition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/face-api&quot;&gt;https://github.com/topidesta/face-api&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/face-recognition-from-webcam-and-video-sources&quot;&gt;https://github.com/topidesta/face-recognition-from-webcam-and-video-sources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/Aankh&quot;&gt;https://github.com/topidesta/Aankh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/face-api-js-starter&quot;&gt;https://github.com/topidesta/face-api-js-starter&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Compare 2 Database]]></title><description><![CDATA[Bismillah Ini terinspirasi dari project gw yang di halobayi, karena database ada 2, untuk production dan development. terkadang kita lupa, didevelopment ada perubahan, dan aplikasi…]]></description><link>https://topidesta.my.id/compare-2-database-berbeda/</link><guid isPermaLink="false">https://topidesta.my.id/compare-2-database-berbeda/</guid><category><![CDATA[database]]></category><category><![CDATA[dbvear]]></category><category><![CDATA[aapanel]]></category><pubDate>Wed, 17 Apr 2024 08:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h2&gt;
&lt;p&gt;Ini terinspirasi dari project gw yang di halobayi, karena database ada 2, untuk production dan development. terkadang kita lupa, didevelopment ada perubahan, dan aplikasi production error, karena kurang kolom, nah bisa kita manfaatkan fiture dari dbvear, &lt;strong&gt;Compare/ Migrate Schema&lt;/strong&gt; seperti dibawah ini.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 480px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 72.72727272727273%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACnElEQVR42o1UaW/TQBD1///EF1ABISSQOPoLOCoQAgkQKlVI6sTX+j7ja9d22jpOH7NbUrVIRUR5mvV6583sm5doXtZi5edY2DFY2iCuh9uoOjh5B6PcwWoAL+co8gx3fbRNL+AxR0G0DTZDB8FbdIIrDPS+yHOM41YlcM6RZf8gjCuOxXwO07IRRjGyvAAXHVouFLIsV9gTtkSYSsJL+v4FRbhIauizExjLJXR9jiSOqMtedSaRpbG64nZ7RdhR90We3t3hz4hjZgSwUw6/HEgvATvjKkq46x6roFDvsm6ClTSYsxQJHxG3FyqmYqI44XzcQbv3o8OzLwEevF3i/pslDo4svDjheL3Y4NV8wOG8x+FxhqdfUzz55OHRkYmDdys8/GDh8UeHooOXsw7PKYfRgLXPXglT13GqG2BugFb0aEi7PeqWo2paBcYCOMyD64cwTBtBlKAfziinw7qqUTcNNDOr4Dk2yqpE1wmaMIcQV5ATbRo6WFcKp4sFllTcMgys9CVWpDtzGJ1pUFWVgsbyGj5zsTJMGARZRZJyRUwWEkLZJKfpJ0kC1/VgmhaCMFbPcRwrovV6rc5q4boBsy2V1LatwhWZQOD7iMJIHR7H8f986JQcBl1DdtD3PXUnFJlce64Ln0jLsrxFKH242+0wnZ9jR3aatrSeLlXUatPA4lSnTkJFsu9OrpntwKLrrW8S0g2U+YsC2a8Z6rylojRhJqUjDbO8pCSTNtxrsj3ks9SpoOS9saUkBRUQtO8cvUfqhiQN/RfMXXh2AM3KSUPLRBBE6me111FpKbtJU6XZ9k+Hcj+nAhuySfj9G0o/RVVuyCUDyTWQbfxY2SCMIppWfT3+PSSZ1FBqdnMo08WIM3LE5mzCuL28HspvhBBjExB1fn4AAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Compare Schema&quot;
        title=&quot;&quot;
        src=&quot;/static/68eb077cd385fe1ef6808dc14748cac1/9aebd/comparedb.png&quot;
        srcset=&quot;/static/68eb077cd385fe1ef6808dc14748cac1/103f2/comparedb.png 165w,
/static/68eb077cd385fe1ef6808dc14748cac1/748ba/comparedb.png 330w,
/static/68eb077cd385fe1ef6808dc14748cac1/9aebd/comparedb.png 480w&quot;
        sizes=&quot;(max-width: 480px) 100vw, 480px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Caranya, klik kanan ke database production, pastikan bagian kiri adalah database development dan kanan adalah database production, seperti dibawah ini.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 71.51515151515152%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACGElEQVR42p1T25KaQBDl/78nD3lMUnlIbbmp1Y3rKqAsF2FAFIb7zZPuQSxNmZedqkMD03P6dE+35js2RCAQihBZlkFKiSzPMQwDzoS+79Ey2hZN0yrbdZ2yE6q6QV5U8EUMzTRNrN/XWL29wTAMbNZr6BsdQggEfqCCiSBAmqbIs1zZlAIPwxnn84i+H4AzEMQptK25hbmzsNvtFEEcH3E4xEpxQGRRGMFxHBXsw/OgL+Z4+foFgjJLZYbkdEKSJCrQfu9BEyLAcjnHbPaMjNLlFCcMFJkVNE2Dve/j1+sKs6ff8P7MkRNRTyXpLmlziY7HIzQ3TFCXGVbbHTa2A15Mcrv4QF2ViEhJ4LooLB0Xxzt/Vqqt7Fh9HNIM314WDwlZIUPtkfLk/RVD11737wjDo0RFCj6iGPreh831SyVCqs9wcayJrK7rkTw9oYmjEYcIXS6vxIowpxvr6WBW1Yo4p4MlEZTUIlPkfxUObUO2I5Wd+p4WX4zGj0n2faKPU360psAnuiiNG/lR3T5DeIipsX1qh5wmoyxLFEWh7O17VVXXCWK/W9z6co15GKixTVjU1K7jwqWW4CZmeK6n/tm2DQ7Kdk1TZFmWanK2nOIEvhD202KSyXXkH/+DGreLj3pnK1OlWspxT1JXhGFIs2yYJDVUH7eIoohsNM40zTLD90e72Fj4Plvi5/MSP8jOVybN/wa6buAvRl0ub3b5WkYAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Compare Schema 2&quot;
        title=&quot;&quot;
        src=&quot;/static/0f61414c6d22edb62665675cf6d3231c/7c811/comparedb2.png&quot;
        srcset=&quot;/static/0f61414c6d22edb62665675cf6d3231c/103f2/comparedb2.png 165w,
/static/0f61414c6d22edb62665675cf6d3231c/748ba/comparedb2.png 330w,
/static/0f61414c6d22edb62665675cf6d3231c/7c811/comparedb2.png 660w,
/static/0f61414c6d22edb62665675cf6d3231c/24c26/comparedb2.png 921w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Tunggu beberapa saat... nanti akan muncul result yang memperlihatkan perbedaan strukture table development dengan production seperti dibawah ini.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 26.666666666666668%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABDklEQVR42k2P7W6CQBBFef8Hq2lq2mjBoqIShUVEQBD5WGBPR+yPTnIyc3dm7u5acRgQKUUcxxRFQSlU1YOu00JH27ZUdUPTNNRNSyO6fZ7/o5b+vapR5wQrUhEqCFFhiH/w8X2f5JKIaTWZl0WJ7nvAYIZB6BlFj8MfUmvdY0aDSm5YQRCw2x/wPI9QTLMsI89z0mtKmqZkUscy477NcD/mrOdf7Jc2x9V64vTjcrIdNvNP1tK38jRhG8RE55zbrZbbBp5R15p72b5qMT3O3lFLR5a3BKsdR9vj5OxQzpZo8U1ou2xkxlr412lpkCePgjGTlPzSz+jlW+3jIUPy5V5jdCf5xThlLb2eNLnwC1SWek4CZ0sIAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Compare Schema 3&quot;
        title=&quot;&quot;
        src=&quot;/static/463bcf081d87b4b9cb0777d484525709/7c811/comparedb3.png&quot;
        srcset=&quot;/static/463bcf081d87b4b9cb0777d484525709/103f2/comparedb3.png 165w,
/static/463bcf081d87b4b9cb0777d484525709/748ba/comparedb3.png 330w,
/static/463bcf081d87b4b9cb0777d484525709/7c811/comparedb3.png 660w,
/static/463bcf081d87b4b9cb0777d484525709/1d15d/comparedb3.png 931w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Sekian Trick kali ini.&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Catatan belajar C# .Net]]></title><description><![CDATA[Bismillah Alhamdulillah, gw diterima Freelance di Catalyst sebagai Programmer Support, jadi belum sempet update blog ditambah sebelumnya gw sibuk belajar C# dari Microsoft dan mini…]]></description><link>https://topidesta.my.id/catatan-belajar-c-sharp-dot-net/</link><guid isPermaLink="false">https://topidesta.my.id/catatan-belajar-c-sharp-dot-net/</guid><category><![CDATA[dotnet]]></category><category><![CDATA[C#]]></category><category><![CDATA[csharp]]></category><pubDate>Tue, 27 Feb 2024 08:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h2&gt;
&lt;p&gt;Alhamdulillah, gw diterima &lt;del&gt;Freelance di Catalyst sebagai Programmer Support&lt;/del&gt;, jadi belum sempet update blog ditambah sebelumnya gw sibuk belajar &lt;a href=&quot;https://topidesta.my.id/belajar-c-sharp-sertifikat-resmi&quot;&gt;C# dari Microsoft&lt;/a&gt; dan mini project lainnya, hihi.&lt;/p&gt;
&lt;p&gt;Catatan kali ini terkait teknologi .Net yang 1 tahun terakhir gw udah belajar, dan akan terus belajar, karena teknologi ini sudah multiplatform (windows, linux, macos) dan digunakan oleh Perusahaan besar (semoga THP juga Besar, aamiin.) Oke, jadi semua catatan akan gw taro disini, baik itu trick intrick dalam dunia .Net (terutama C#) ataupun catatan yang perlu gw catata yang akan digunakan berulang ulang.&lt;/p&gt;
&lt;p&gt;Biasanya kita clone project .Net tapi bingung langkah selanjutnya, inget ini mirip java.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;csharp&quot;&gt;&lt;pre class=&quot;language-csharp&quot;&gt;&lt;code class=&quot;language-csharp&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// - Build Dahulu Projectnya&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// - Pilih Nuget Package Manager&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// - Console: PM &gt; Add-Migration Initial&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// - Console: PM &gt; Update-Database&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// We will create model from Database Tables&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// -----------------------------------------&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// source: github.com/CuriousDrive/BookStores/blob/master/Database/GenerateData.sql&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// - Create Core API Project&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// - Select Nuget Package from Root Project Browser&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// - Install EntityFrameworkSqlServer&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// - Install EntityFrameworkCoreTools&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// - Open Pacakge Manager Console to Run Scaffolding the model&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// - Scaffold-DbContext &quot;Server=.\SQLExpress;Database=BookStoresDB;Trusted_Connection=True;&quot; Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dotnet run error kayak gini&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 21.81818181818182%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA7klEQVR42j2PS0/CQBSF++dZ4UIJD1vCHhOaSpE+SLCmDW1BFKgDSlgYCbS0RjT8geOdGXRxcuacO/dLrsKCAFH7Bo+GgaRvgTkOmO0If7EsKd5b9jnb//OFaWJx20VCPtd1bKZPUJ67JoblC/jVGqJrFeNmE7GmCUWNBsYqvamPuas0p57/CSsVJL0e1qMQb36AV+8B78sVlKluwC6VcH95hZAAfImDonodMc8CpkrXJHTSagnA7mOL4ueE/OuI/PiNrPiEwog+6eiY3fXpDFfqfNLSHYj852xA7rpYDT0cCJLlBdJ9ijTNpLIDfgEbbgGvrr0UXQAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Dotnet Error&quot;
        title=&quot;&quot;
        src=&quot;/static/f3dfb17789d9a140edfd9281f0838a02/7c811/dotnet-error.png&quot;
        srcset=&quot;/static/f3dfb17789d9a140edfd9281f0838a02/103f2/dotnet-error.png 165w,
/static/f3dfb17789d9a140edfd9281f0838a02/748ba/dotnet-error.png 330w,
/static/f3dfb17789d9a140edfd9281f0838a02/7c811/dotnet-error.png 660w,
/static/f3dfb17789d9a140edfd9281f0838a02/d28e0/dotnet-error.png 990w,
/static/f3dfb17789d9a140edfd9281f0838a02/bb51b/dotnet-error.png 1320w,
/static/f3dfb17789d9a140edfd9281f0838a02/16e03/dotnet-error.png 1651w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Silahkan pakai trick ini&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;csharp&quot;&gt;&lt;pre class=&quot;language-csharp&quot;&gt;&lt;code class=&quot;language-csharp&quot;&gt;dotnet publish &lt;span class=&quot;token string&quot;&gt;&quot;C:\Users\RSUP\DEV\C#\FolderProject\NamaProject.Ya\NamaProject.Ya.csproj&quot;&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;/p:PublishProfile=C:\Users\RSUP\DEV\C#\FolderProject\NamaProject.Ya\Properties\PublishProfiles\FolderProfile.pubxml&quot;&lt;/span&gt;

&lt;span class=&quot;token preprocessor property&quot;&gt;# simpan dalam bentul .bat&lt;/span&gt;
&lt;span class=&quot;token preprocessor property&quot;&gt;# Jika sudah running hasil publish code tersebut&lt;/span&gt;

$ dotnet Questio&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Web&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;dll &lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;urls&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;http&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;localhost&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5001&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Pertanyaan C# Secara Umum]]></title><description><![CDATA[Bismillah Bahasan kali ini, Kita akan belajar .NET C# dari sebuah pertanyaan, langsung aja pertanyaan sebagai berikut, pertanyaan tahap 1, terdiri dari 20 soal, hasilnya…]]></description><link>https://topidesta.my.id/pertanyaan-c-sharp-secara-umum/</link><guid isPermaLink="false">https://topidesta.my.id/pertanyaan-c-sharp-secara-umum/</guid><category><![CDATA[dotnet]]></category><category><![CDATA[C#]]></category><pubDate>Sun, 13 Aug 2023 08:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h2&gt;
&lt;p&gt;Bahasan kali ini, Kita akan belajar .NET C# dari sebuah pertanyaan, langsung aja pertanyaan sebagai berikut, pertanyaan tahap 1, terdiri dari 20 soal, hasilnya &lt;strong&gt;Mengecewakan&lt;/strong&gt;. hehe, semangat lagi belajarnya!&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 41.21212121212122%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABRUlEQVR42n1SXUvDMBTd//8zgi+DPsh8EBGsMLcVpRvocB105qNJP9M0x5usbghzgUOT25Nzz703E2stnHNwAFxdoiwVDMX88vFhGGA9KOb3zvP/gGI+TlzPmdjxsl3HwNMtlukrovUbWKlDvGkaCCEgZQFLySA5nBJwBUEVx6+mf8ag7ToS9E6yFPZ5SpmO4hmRojSBPwnOsVol+Npl6NoWVVUFp2MJZ3hTwSFthsU93H4zco7k+SYBVxxaKXxutyiKAlrrgL7vcWmdBF3yAPexPGf1SeIplZejox5JKam3FaEMwnVdXxeEZrCPN3C7d0AxuMWMXM8CqaUeSiGDKKfyfU//W0HQkP0gyvcY5ncwLxFsGmMw3Unw+3AAYwx5noceXhUU9FQyrdALhoamduACqukgaKqaJu1JAePz6X/PF2CMwQ9YmWtm8DFPUwAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Ujicoba Tahap 1&quot;
        title=&quot;&quot;
        src=&quot;/static/50e5f132be406ce7e988f68ac5ba497c/7c811/ujicoba1.png&quot;
        srcset=&quot;/static/50e5f132be406ce7e988f68ac5ba497c/103f2/ujicoba1.png 165w,
/static/50e5f132be406ce7e988f68ac5ba497c/748ba/ujicoba1.png 330w,
/static/50e5f132be406ce7e988f68ac5ba497c/7c811/ujicoba1.png 660w,
/static/50e5f132be406ce7e988f68ac5ba497c/a3e85/ujicoba1.png 779w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;IL di dalam .NET berarti?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 41.81818181818182%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAABYlAAAWJQFJUiTwAAABFklEQVR42o2R3XKDIBBGff/H60yn0USsDUFR4x8IiuLXlU4vepGkF2cWZpdvzwzRUFeoMoYmz0KtPxkqQmYpbFPBtc1T1u4OW5Vo0wSWztFvYMku4MkJRXqGuCS4xidoWcDW8ikzLVWCo3h/g25qRMZaTNMErTWGccSoFJSi8zBgcQ6b9y/xfscOwK0rohBEj4uiwJVzCKpCCDDGwpKVhhwFv2JZFizzTIbmMNTQZPljp4Lxtm202Yf6X47gP4acDDm/QZYSxpgQ6FYXLJ9xhO2bD5aRIrt73xMd6rYNNF0HISV6NUJbA2Wmhxz9lubEvQ736Ai60W+lXzlilgbSPMfHOUEz9FCzxUiPHqGpLykjvl3RKYVvL9Fky+mcX6YAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;IL dalam .NET Berarti&quot;
        title=&quot;&quot;
        src=&quot;/static/573bad668cf58d06782988cf4b57d2c3/7c811/ask1.png&quot;
        srcset=&quot;/static/573bad668cf58d06782988cf4b57d2c3/103f2/ask1.png 165w,
/static/573bad668cf58d06782988cf4b57d2c3/748ba/ask1.png 330w,
/static/573bad668cf58d06782988cf4b57d2c3/7c811/ask1.png 660w,
/static/573bad668cf58d06782988cf4b57d2c3/d28e0/ask1.png 990w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(EN) Intermediate language (IL) is an object-oriented programming language designed to be used by compilers for the .NET Framework. The .NET Framework uses IL to generate machine-independent code as the output from compiling source code written in any .NET programming language.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;(ID) Intermediete Language (IL) ialah bahasa pemograman OOP yang didesign sebagai compiler di lingkup .NET. sebuah compiler akan menghasilan sebuah kode bernama machine-independent, yang bisa digunakan di pemograman bahasa .NET&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;CLR artinya?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 41.81818181818182%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA/0lEQVR42o2Q23LDIAxE+f//a+s6vt/AgI3vIX3ZImWSvmTiPhykAWm1QjRKIa9rlG2LrK44T8oCaSDOUuhxxHIcmPf9JfRm5glJ18K4CUIZi67v0WkNEq+lZFHKaUg/DHDrinFZXuICZnLIZId+dBA2HGYY0ZsBShvOW6mYdT9w+BvH7bi+xfsfjoIEtB3QdBJV0z5jWTcsTmLLtr9l3rY76/bncAj7P1DaBseWC/arP3X3gIaL+7oWRdUgzQt2l2Q54iTlQSRILqj4DKoT5IhcunnBtITPn2aG7mkQ3f9H7ClITbLXyIoSlzRjPr4iRPEFn9E3ix7eh4bzlUnwFwqEXu50L49IAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;CLR dalam .NET Berarti&quot;
        title=&quot;&quot;
        src=&quot;/static/4b0af9af5407ba9d9ca112bddcc7ee0f/7c811/ask2.png&quot;
        srcset=&quot;/static/4b0af9af5407ba9d9ca112bddcc7ee0f/103f2/ask2.png 165w,
/static/4b0af9af5407ba9d9ca112bddcc7ee0f/748ba/ask2.png 330w,
/static/4b0af9af5407ba9d9ca112bddcc7ee0f/7c811/ask2.png 660w,
/static/4b0af9af5407ba9d9ca112bddcc7ee0f/1ed31/ask2.png 974w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(EN) The CLR (Common Language Runtime) is a runtime environment that is part of the Microsoft .NET Framework. CLR manages the execution of programs written in different supported languages. CLR transforms the source code into a form of secondary code called CIL (Common Intermediate Language). At runtime, CLR manages the execution of the CIL code.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;(ID) Sebuah CLR (Common Language Runtime) merupakan bagian dari .NET Framework yang dapat mengatur eksekusi sebuah program dibuat dalam bahasa pemograman yang berbeda. Seubah CLR dapat merubah kodeke bahasa CIL, ketika berjalan, CLR dapat mengatur sebuah kode CIL.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;Garbage collector (GC) terdiri dari berapa tahap?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 653px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 41.21212121212122%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAr0lEQVR42qWSzRKDIBCDef8n7K12tFVB+RMQRE2Bjveqh++22ckmS4QQ4CMHpQwxRqzreppD570H0VpDJaQUcLO7xOxnLCHAOQfSM4bXu0HTtRjSUmmmUyhriq4qegnSMYqqqfGsa3xoj1HJMvAveb4dGB7VE904gEzGwFqLfHrJJF4g6bDvCGH5ZahLhvJyKUcxIeVIlNLITTM2FKd3MOlakp2V1+H8lsNt28rbfAHACGvrQfSlCQAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Garbage Collector&quot;
        title=&quot;&quot;
        src=&quot;/static/52c45491f2a752dfca3cfe53b58946ab/ffe7f/ask3.png&quot;
        srcset=&quot;/static/52c45491f2a752dfca3cfe53b58946ab/103f2/ask3.png 165w,
/static/52c45491f2a752dfca3cfe53b58946ab/748ba/ask3.png 330w,
/static/52c45491f2a752dfca3cfe53b58946ab/ffe7f/ask3.png 653w&quot;
        sizes=&quot;(max-width: 653px) 100vw, 653px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(EN)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The 0 generation identifies a newly created object that has never been marked for collection.&lt;/li&gt;
&lt;li&gt;The 1st generation identifies an object that survived a GC (marked for collection but not deleted because there was enough heap space)&lt;/li&gt;
&lt;li&gt;The 2nd generation identifies an object that has survived more than one GC scan.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;Manakah yang termasuk perintah &lt;em&gt;garbage-collector&lt;/em&gt; yang tidak terselesaikan?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 656px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 41.21212121212122%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABA0lEQVR42pWSzW7DIBCE/f7vllZRFStx3SQ2BMyvDSaOfZou3Fs5h0+DxGp2lqXSzoMPA5gUYEKUc0/KpISPEVNK/xIIGyYwo6G8R6WcIxOJO2eomwbnti16ujRQ1MxRsZ3+xk0Bg7Oo7zewQaFy4wRlbMH6EX4MWNatENNzF3NasLw2THFGZSiFIOeOPfD9c0XXc4Q5lcuse8n1OVxJqCmdtg7Z3JA6ShpzYTZ9A58NjRshlC4Jm/aKmt5uMA5pWalzHmnZxfxa4UNE5Y2BYT3cg8PTZoNWiG8SaKm27+Dph1SKttufvsDPJ1w+D2iPH0iSYzMSq96BGfAUDPx4gOlu+AX4pluzcK8CsAAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;GC Finalize&quot;
        title=&quot;&quot;
        src=&quot;/static/41936e87a267869218c3cb8946559e0b/5ad6b/ask4.png&quot;
        srcset=&quot;/static/41936e87a267869218c3cb8946559e0b/103f2/ask4.png 165w,
/static/41936e87a267869218c3cb8946559e0b/748ba/ask4.png 330w,
/static/41936e87a267869218c3cb8946559e0b/5ad6b/ask4.png 656w&quot;
        sizes=&quot;(max-width: 656px) 100vw, 656px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(EN) “SuppressFinalize” should only be called by a class that has a “finalizer”. It tells the Garbage Collector (GC) that this object has been completely cleaned up.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start=&quot;5&quot;&gt;
&lt;li&gt;Sebuah metadata dari assembling .NET tersimpan difile apa?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 651px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 42.42424242424242%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAyUlEQVR42p3R64qDMBAF4Lz/qxUWFroLawu7bmlMNPdYo0Y9HaUPUP3xZWAgZ8KEOe/hX6ZpwjzPhyzLgnEcwdYgZx0qUaHrOqSUDlvvsxACYoxbY52Qcz5sGAYw5xystZBCbo2+7w/JY94exYyzaIyGplrVNXwbdwnEBFqZVrC0PiZUg5sU+L4UOBcFFK1Ax/cZChTW4Kv8A1eKPoUOw+/oaMLgLdVmP1WjFRwPymCSksvzJ+T1B0nckSTfpa8rtPyG/48TdPmLJyVNZnE3RRLuAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Metadata Assembling&quot;
        title=&quot;&quot;
        src=&quot;/static/e8ddbb9a9ccc6731a90fc7dd1d2df619/b7e05/ask5.png&quot;
        srcset=&quot;/static/e8ddbb9a9ccc6731a90fc7dd1d2df619/103f2/ask5.png 165w,
/static/e8ddbb9a9ccc6731a90fc7dd1d2df619/748ba/ask5.png 330w,
/static/e8ddbb9a9ccc6731a90fc7dd1d2df619/b7e05/ask5.png 651w&quot;
        sizes=&quot;(max-width: 651px) 100vw, 651px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(EN) The manifest contains this assembly metadata. A manifest contains all the metadata necessary to specify the assembly requirements and security identity, as well as all the metadata necessary to define the scope of the assembly and resolve references to resources and classes. The manifest can be stored in a PE file (an .exe or .dll file) with MSIL (Microsoft Intermediate Language) code or in a standalone PE file containing only the manifest information.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start=&quot;6&quot;&gt;
&lt;li&gt;Apa arti dari CAS (Code Access Secutriy)?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 649px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 44.84848484848485%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABhUlEQVR42l2R2XLbMAxF9f8f1bRRnDh96Ew7zmaLWm1xkyiJlOy83QK03XH6cOZeQAREAkmrNaQ10H1H9FAdaXf2xjHun/K51mgctIoqrYXzE7pphKT6bhyQHOhDua9x95AiXT/hLr3Hj8cVvt2nWP18xvfVQ4zT9RrbPMeHEHgXWfTFvkH4PMFSw7e6pKY9kiEEjEQ/juinKaq7KMf816sPpxP8smCaZ4wM1/FZYvCe6jzdUNITpEKWl9iJIurHdodtJsgXEEUFUVbY7gTlchqHw3w8ISzHCPtr7OcFiel6dL0744aIpZwyFsrSLC8obWOuH0YMdJP/8dRw9IFumGWoXjZo3l5Qv25Qbv5Ev6gWR31B3ag6YJE3UC7QDprfv2CLHIluaugyh6GhMle/0EaXThPm4lnPcdDyC54aG7GDa/dI4tMISbTGROWZ7luJVhsclCavovJ3VjfxIucveJojayKpiBsWVY2chi+K8rwMIqdcUTNNzJdVE8/wzK5LuGUKM/4CoLScoY+oEP8AAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;CAS&quot;
        title=&quot;&quot;
        src=&quot;/static/f4afd6c659b1c0bad4652bec95ed006c/1bcec/ask6.png&quot;
        srcset=&quot;/static/f4afd6c659b1c0bad4652bec95ed006c/103f2/ask6.png 165w,
/static/f4afd6c659b1c0bad4652bec95ed006c/748ba/ask6.png 330w,
/static/f4afd6c659b1c0bad4652bec95ed006c/1bcec/ask6.png 649w&quot;
        sizes=&quot;(max-width: 649px) 100vw, 649px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(EN) CAS is the solution to block unapproved code from performing privileged actions. When the CLR loads an assembly, it gets proof of the assembly and uses it to identify the code group to which the assembly belongs. A code group contains a set of permissions (one or more permissions).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start=&quot;7&quot;&gt;
&lt;li&gt;Apa nama &lt;em&gt;namespace&lt;/em&gt; yang terhubung kesemua tipe diframework .NET?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 644px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 41.81818181818182%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA5ElEQVR42p3R2W6EMAwF0Pz//1UtVJQRgsRZ2Yawz60zP1Dow3mxLMv2FSEEhOChtYaUCs57nOeJ4zhum+cZous6JEQEpQjWOcQY/2UcR4i0Ydu2cDwoDUvFfd+xbds964o4TRDDMCAhPpm0Qdv1OPjkbeemNPii8/XCvCwQrqnhqgfMo3x7akK0+pZJK1D+CV9XEKosoL4zSC7IPEMkidVpLJYum7WEzT4QqpI35FStdyBjoIxGLSUM1zwHdZXjDKSzsJyHqJVCJRvk5c9bVhRwXYshTuin559SXxh6fPHbGmvwCwvgYz37ZpAqAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Namespace&quot;
        title=&quot;&quot;
        src=&quot;/static/4a0ab11d489110817bb84ab14d8c0677/e8cbb/ask7.png&quot;
        srcset=&quot;/static/4a0ab11d489110817bb84ab14d8c0677/103f2/ask7.png 165w,
/static/4a0ab11d489110817bb84ab14d8c0677/748ba/ask7.png 330w,
/static/4a0ab11d489110817bb84ab14d8c0677/e8cbb/ask7.png 644w&quot;
        sizes=&quot;(max-width: 644px) 100vw, 644px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(EN) C# has a unified type system, which means that all types inherit, directly or indirectly, from Object (System.Object). This includes reference and value types. It also includes all primitive types, such as int and bool, as well as all types provided in the .NET Framework and any custom types you define.&lt;/p&gt;
&lt;/blockquote&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Validasi Input Yup Formik MUI]]></title><description><![CDATA[Bismillah Kali ini share trick validasi kolom yang terikat dengan kolom lain dengan Formik+Yup+MUI, langsung ke kasusnya aja ya, di halaman survey keluhan disana ada 1 kolom yang…]]></description><link>https://topidesta.my.id/validasi-input-yup-formik-mui/</link><guid isPermaLink="false">https://topidesta.my.id/validasi-input-yup-formik-mui/</guid><category><![CDATA[validasi]]></category><category><![CDATA[yup]]></category><category><![CDATA[formik]]></category><category><![CDATA[mui]]></category><pubDate>Mon, 31 Jul 2023 08:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h2&gt;
&lt;p&gt;Kali ini share trick validasi kolom yang terikat dengan kolom lain dengan Formik+Yup+MUI, langsung ke kasusnya aja ya, di halaman &lt;a href=&quot;https://keluhan.survey.rspersahabatan.co.id&quot;&gt;survey keluhan&lt;/a&gt; disana ada 1 kolom yang boleh kosong, sebut saja kolom B, kalo kolom A dipilih &lt;code class=&quot;language-text&quot;&gt;tidak&lt;/code&gt; , begitu juga sebaliknya kalo kolom A dipilih &lt;code class=&quot;language-text&quot;&gt;ya&lt;/code&gt; maka wajib diisi.&lt;/p&gt;
&lt;p&gt;silahkan lihat vidio singkatnya berikut:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/fa1cb58ae4f8601de12d25f5b77b2b14/formikyupmui.gif&quot; alt=&quot;Yup MUI Formik&quot;&gt;&lt;/p&gt;
&lt;p&gt;Sebetulnya itu lebih kompleks, logikanya, ini script sederhananya, ada 3 cara di formik.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;  &lt;span class=&quot;token comment&quot;&gt;// source: https://stackoverflow.com/a/66917809&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;punyaRm&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;Wajib Di Isi Bila Punya Nomor Rekam Medis!&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;parent&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;punyaRm &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;Tidak&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

  &lt;span class=&quot;token comment&quot;&gt;// source: https://stackoverflow.com/a/66342990&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;when&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;punyaRm&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token function-variable function&quot;&gt;is&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;punyaRm&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; punyaRm &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;Tidak&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token literal-property property&quot;&gt;then&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Yup&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;nullable&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token literal-property property&quot;&gt;otherwise&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Yup&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;required&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;Wajib Di Isi Bila Punya Nomor Rekam Medis!&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

  &lt;span class=&quot;token comment&quot;&gt;// source: https://stackoverflow.com/a/56247127&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;when&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;punyaRm&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;punyaRm&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; schema&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; schema&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token function-variable function&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token parameter&quot;&gt;rmPasien&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;punyaRm &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; punyaRm &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;Tidak&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token literal-property property&quot;&gt;message&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;Wajib Di Isi Bila Punya Nomor Rekam Medis!&apos;&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Sumbernya sudah gw sertakan ya, nah kalo mau perisis seperti logika diatas ini dia scriptnya&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;  &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;punyaRm&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;rmPasien&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;requiredErrorMsg&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token comment&quot;&gt;// Pilihan Tidak dan RM Pasien Kosong, dibolehkan!&lt;/span&gt;
      &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;parent&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;punyaRm &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;Tidak&apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;typeof&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;parent&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;rmPasien &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;undefined&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;token comment&quot;&gt;// Pilihan Ya dan RM Wajib ISI&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;parent&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;punyaRm &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;Ya&apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;typeof&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;parent&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;rmPasien &lt;span class=&quot;token operator&quot;&gt;!==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;undefined&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Haha, kudu dijelasin? kga usah yak, tinggal analogikan saja sendiri ya. hehe&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Belajar C# dan Sertifikat Resmi]]></title><description><![CDATA[Bismillah .... Intro Sesuai judulnya, catatan kali ini tentang belajar C# dari sang Empu alias creatornya langsung, Microsoft! oh iya dalam pelatihannya ada Progressnya, mirip…]]></description><link>https://topidesta.my.id/belajar-c-sharp-sertifikat-resmi/</link><guid isPermaLink="false">https://topidesta.my.id/belajar-c-sharp-sertifikat-resmi/</guid><category><![CDATA[dotnet]]></category><category><![CDATA[csharp]]></category><pubDate>Fri, 31 Mar 2023 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah ....&lt;/p&gt;
&lt;h3 id=&quot;intro&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#intro&quot; aria-label=&quot;intro permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Intro&lt;/h3&gt;
&lt;p&gt;Sesuai judulnya, catatan kali ini tentang belajar C# dari sang Empu alias creatornya langsung, Microsoft! oh iya dalam pelatihannya ada Progressnya, mirip kayak pelatihan gw waktu di Progate (Bahasa Go-Lang waktu itu) kurang lebih ada beberapa path yang harus dilewati dan memiliki points power, yang bisa digunakan untuk Claim Achivement di FreeCodeCamp, berikut ini path yang harus kita pelajari agar lebih terarah belajarnya.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 118.18181818181819%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAYCAYAAAD6S912AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACvklEQVR42qVV266bMBDM/39cValq+9SetuckXAMB22AbzHTWzoWE9KZGGnl3DRvveHbZNccjyqJAVVWw1iLMM+ZpwhTh4bl65+C8g/f0nY+rk5hzN9s6zHx3V5Ul6rpCzYRZliE/ZNgf9ij4J4fsgDzP0fc9lFYwxkArBa01esVY10dbMdafOia12IUwY1kCsSQEQYixEFL8X347O1qc2h59p6B6Azt6jIOLsGNajbY83YjBWPoWAzH56XaIM+QAO6MHFFmDpu5YdsejG3TEqVHo2mS3jaav6bPULsWcmzank6Q7Id95G4kXglOJi+xe/1n8Z6d5hpgwJiOkDMSHF8zcvCYNYZVoeWpfS27ViI+vLT4R+6NB3g74XmlUvY3+a22i/6MyODQDMkJiAnlmU7KhfnLyUzQGA22pMKSKuS4rJH8dfxRATDjPLNlLuansO8mc7SU8YLW/4dBS+S3l0ikDQ5m4acboZ1hi5E2O7mKneIxdfDdvOVTU1lul8Fr1qE4DamWRn0Zk5HJPvgraZWfjmrVj3JNnhL+aCKu6byXHG/YRUTJp+w/2Vk5n2bAz2C0j+1B0OLHBPcueprT+DvLMhsO6G/D+5YjPlM2Hbw2+FipKRORRdiOlM+BNpFPqKJ+LdMQ+Kre95YEXUbKl2n4ghwZ+Dk+b/m9mxJVDgczBCDn6evrctdrKX27yuStZLkSbAb02kBt3lIRjC9ozknTu/Whz9b/i8N2XI16KPrZTSVlUlEne3viTuMhI8MZ2lLhIqjVPOLQ8YcfTWbZdmCf8zy8mlIkdwhS/I4LlzM215R7ta8vN8RuS3r9hJwPh2OnYekqmMbnR1kNxcg822bIarnq82FNsx6cTW5IIf2Ur2jMohDvyczi3nfAm7Sac5s2IRrsYPxn/q4ktn0ab4N1tSq+m9aXFnrXa4y3/BFFgVSFDE/L2AAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;C# Learning Path&quot;
        title=&quot;&quot;
        src=&quot;/static/f25887b6c221e6e4e6944851342dfdf5/7c811/csharppath.png&quot;
        srcset=&quot;/static/f25887b6c221e6e4e6944851342dfdf5/103f2/csharppath.png 165w,
/static/f25887b6c221e6e4e6944851342dfdf5/748ba/csharppath.png 330w,
/static/f25887b6c221e6e4e6944851342dfdf5/7c811/csharppath.png 660w,
/static/f25887b6c221e6e4e6944851342dfdf5/2ab73/csharppath.png 749w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;source: &lt;a href=&quot;http://go.topidesta.my.id/csharp&quot;&gt;http://go.topidesta.my.id/csharp&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Untuk video seriesnya juga banyak, kurang lebih kayak gini&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 110.9090909090909%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAYAAADAQbwGAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEOUlEQVR42oWVWWxUZRiGe8etXuiNcYkatVcqRmNAUm2LkrIUiZBgSAo0bDVKrUibSoTUSo03Egp0SIWyCKRQoEsKtXsbNypLF6eF7gvtLLTnzJk5c9aZPv4zY5NSWpzkzZz/P+d7z/e93/f+Jy4UCjEblmni9ymoAQ3DMNH8Yu3V8Xs0goqObYewzRCGbmJZNnPj4yzLYgamaYlNG7Cx7KC41vBNykzdn8I3LKFJCobtxxL7MB1LYFZ8BHGzycKCaNSpUlMocb5wkF9O99J66QHVR7ycKb5L+eUhWs9IXC0c46SjH6dTEsQhEWs+SqhrZjSzqiKZlEX9rE9xkLBqL9vfHWTN03/w8lvrSFj2I5uflfgovpQVKzMoOfEnkZ+hG48SGoYVJbz9u8LhbyeoLhujqrqfksMeHAfHqbzaQ+nFIRz5bk6LDK9V9XDz1tTCGcZgo2kqPklCdpsE5BC6HkCVVZRJRBUWfkXC5w0y5bKiDVxQQ0OPZdhWpbA/aZy0dVfYvO0EP+1wkbP8HhvWHmFHegWFG2V2pTSzcu0xysq7YyUb85Ss6zENq0skUp8fZuunpWzf7SBt6SiprzrJ3HWULZuukr7Yy5p3atiYdohTF5xRQn0+wmiXwzZul5/Odi+9PTKDQwHRyUm62j309fro61fo7PDQ888kQwMysmyKuVygZEsQ2iFL6KMx3O5noENlsFdjyOmjt03GeVP89yiMdMn03fbhFM9IU1o0JpLMghrWn1JIf+4+XySfZfemQ+SsGOWTZzqJX7yTxOUOst+UWP5KJW+8l0PJ2TsLlzxDWHfJx47EMfKzmvguv4rcrSNkrB4g8+tzfPlVI3tSPWSmtfNNXhUV1cNRx0QsOu/Y2GJsgloAX9CLpgejpai6gmYpWHo4OiaK9gAzYsuIp+fo93BT/hvse3/5OZ/jIX/PDQoKWqgs9FKyd5yCAy0cP9ZNZYFEUa6T/fvquNE2LmLCGI+zXvlRiQ8XDRL/Uh6vLdlH2tujvP9kB+u3FLLm4ytseMpDwosXWfLBZxwuvhXTcD7rzWTovKNw9oiL2soRahtGqCj1Uvqzi6aG+/xaO0HZSQ/l58S6aYzuu36mp+35uzxjPdNSscNTYiYNwuJ40i1JrAUsQxxXYm86EPFGpBdCQ/v/NexqVijaPsHBrN84kFfHuTwXh9LHyM66xg8FN7mYK5G/s5NdGVdobBlZuMszGlY4JFKe6GN18nESUr9n29J+Vr7Qw7LEz0lKOMrW+EmSX79O0qpsjhX//RgNzViGvd0KlRfc1Ne4aGwVqHnA9TIPjXVDNDWPc/2yh/oKNy0N4/QPBh7VMKLDbJiWhqpNireK2TNVcdyLmQsHo4HhsDBAZCZtVZBoQlOLufFxuq4zG2pAZWLCjcftxeXy4JPFB0vV8PtVAoGguC+g6gSDujg7H46N4F+LQgTDLUelCAAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;C# Learning&quot;
        title=&quot;&quot;
        src=&quot;/static/dcf6d08ffc5d3ba2ba5fe1ab0cce7b0a/7c811/dotnetseries.png&quot;
        srcset=&quot;/static/dcf6d08ffc5d3ba2ba5fe1ab0cce7b0a/103f2/dotnetseries.png 165w,
/static/dcf6d08ffc5d3ba2ba5fe1ab0cce7b0a/748ba/dotnetseries.png 330w,
/static/dcf6d08ffc5d3ba2ba5fe1ab0cce7b0a/7c811/dotnetseries.png 660w,
/static/dcf6d08ffc5d3ba2ba5fe1ab0cce7b0a/d28e0/dotnetseries.png 990w,
/static/dcf6d08ffc5d3ba2ba5fe1ab0cce7b0a/bb51b/dotnetseries.png 1320w,
/static/dcf6d08ffc5d3ba2ba5fe1ab0cce7b0a/912ae/dotnetseries.png 2472w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;source: &lt;a href=&quot;http://go.topidesta.my.id/dotnet-series&quot;&gt;http://go.topidesta.my.id/dotnet-series&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;foundational-c-with-microsoft&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#foundational-c-with-microsoft&quot; aria-label=&quot;foundational c with microsoft permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Foundational C# with Microsoft&lt;/h2&gt;
&lt;p&gt;This course offers a comprehensive introduction to C# programming, covering its core concepts, syntax, and practical application in software development.&lt;/p&gt;
&lt;p&gt;Through hands-on exercises and projects, you will learn the fundamentals of C#, including variables, data types, control structures, and object-oriented programming principles.&lt;/p&gt;
&lt;p&gt;By the end of this course, you will have gained the practical skills and knowledge needed to confidently leverage C# for building applications.&lt;/p&gt;
&lt;h3 id=&quot;write-your-first-code-using-c&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#write-your-first-code-using-c&quot; aria-label=&quot;write your first code using c permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Write Your First Code Using C#&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 54.545454545454554%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAABYlAAAWJQFJUiTwAAABJUlEQVR42pVS7Y6DMAzj/d9zu5Z+QEsZFBi52IxJ+3EaVykiTYlrO21yHsS5IG3rJcZOhqHI1bXvO7+ljOzfnk9pAABQBA6mxyTLsmisbPgWWNu2Sa2V+8ZaJyF00nW99H3W6MWHSLZnw39WY0wrwUfxPgjAnT/kO43WeeZnWNvK/W7EGKv7oD2RSj4AUUzpkAx2KWVlm177xEANklZtrnV5W3La8gF4uxll5V+DgfxIpmSs7FGDHcu6XrKgAdDJJNK7nqAASeop8hAjz4dcLngI3+jVwRBTxyUIDIt+am5+LMHxzzg+/gbENCEPjNBQxpETRqBGpurhPFf6OE0zn8nXKYMNmOAtIkcN8nFZyvn6s8GUIQMskFMq2SUyxt7iXKd+BfAX1dtU9UmfF7QAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Part #1&quot;
        title=&quot;&quot;
        src=&quot;/static/5c55da1dbb1aa4cac99f67ee92a68828/7c811/part1csharp.png&quot;
        srcset=&quot;/static/5c55da1dbb1aa4cac99f67ee92a68828/103f2/part1csharp.png 165w,
/static/5c55da1dbb1aa4cac99f67ee92a68828/748ba/part1csharp.png 330w,
/static/5c55da1dbb1aa4cac99f67ee92a68828/7c811/part1csharp.png 660w,
/static/5c55da1dbb1aa4cac99f67ee92a68828/d28e0/part1csharp.png 990w,
/static/5c55da1dbb1aa4cac99f67ee92a68828/39d99/part1csharp.png 1102w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;create-and-run-simple-c-console-applications&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#create-and-run-simple-c-console-applications&quot; aria-label=&quot;create and run simple c console applications permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Create and Run Simple C# Console Applications&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 74.54545454545453%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAABYlAAAWJQFJUiTwAAAB4UlEQVR42pVT23KEMAjN/39ip9NubavGeIkaXVfNUg6Y7fb2UGfOECACOYBpW0/WVmSrmhxjGAL991uWC72+vlMIE5lxDDTPsyjTNNN5WWjbNlrXlbHdsG07Xa/EuAruP+gIuu+RTJ5b6jpPztUsOyoKS6gaelU5BlfuGq58/BLgO9JnyqKitmlvPyJ423bU1K0g6S3LGram42qWP59vUBF+rAUa8B6ObU2jgSCRtO8HoQhVhxAo0YZKjVbRy8+9V+kZuOz5Rw3cS1LPfs9nUCI2TqBnvS8B87wU3oAsexOJagvmVrpvHesdlWWlnDK3tnLyGgB2SPgkYO3UiJGBw/tBHDEy2VFlPIiPMf5ohty70w2CDfw0NKU6MjfcBFQpzWA4SdRLtUiMZ8IOW+0+ecfomMCESkMOwjvpZnMDmgGJMYJfX/LZQCRLidEsc3rOCAB/CHqez4Qk44EwTYc+qQ4EPWMRJvZPrIuNO26wEehuYCdKjjzt67Ep2JiEyyVtznrDvu+yQbDjLBxmL28EPDw80tPTiV5OmXCTF1Y404Gv76TyjAlINlCAuwhsZN4wX5g5VMqlw4FKd8EuQIfTWff6+vumYA5BbN+P2lHOWJZWyMdMajO0QtjT3ILD73uNgB9LJ4AOFW4ejgAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Part #2&quot;
        title=&quot;&quot;
        src=&quot;/static/42ae508036d8786a776266a1b0c3cedc/7c811/part2csharp.png&quot;
        srcset=&quot;/static/42ae508036d8786a776266a1b0c3cedc/103f2/part2csharp.png 165w,
/static/42ae508036d8786a776266a1b0c3cedc/748ba/part2csharp.png 330w,
/static/42ae508036d8786a776266a1b0c3cedc/7c811/part2csharp.png 660w,
/static/42ae508036d8786a776266a1b0c3cedc/d28e0/part2csharp.png 990w,
/static/42ae508036d8786a776266a1b0c3cedc/83e8e/part2csharp.png 1084w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;add-logic-to-c-console-applications&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#add-logic-to-c-console-applications&quot; aria-label=&quot;add logic to c console applications permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Add Logic to C# Console Applications&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 53.93939393939393%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAABYlAAAWJQFJUiTwAAABTUlEQVR42n2SgY6EIAxE/f8vXbAFEdfV02yv04rr5syZNAiU4U1LFyNJSlmIkxAlYR2HoejaIDkP9k892xx5pYxSdG3bdrn7unwcRDKCOf8RtBwd22UQXZb1XjA8oqRDELQIYnZqYumVDiNyQuglamAPwreCVzs5I4pTqQBKkJSq0YIM+5ycnHV/27ZvwYcSon6wY4fZrYcQvaaUlZJU5Ersl6zrz41l2FCbqJ3ZJb5EMoGzcTr3HAeo0yTz/JL5OWtNF1lei3QQYiP5dBn2aq1nc5AD+mJzdzBoDshxIc5mK1PRGl4oQDXWSfqTwqntIOYpnwLIjbE/XwhAxrFK1yy0RRTen4rPjQ5Nyx7Uup7cCeo/TU9rDt5mh9vtuWgtrfjkomiKW6KPg6Mh2B8RSoTY9/3ybMwyqdVqYzgagMeMjjdraB4I3++3/Pf9AsQuR/raAI3UAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Part #3&quot;
        title=&quot;&quot;
        src=&quot;/static/7b9c7e94d4596fe75abcecf2ad987b3e/7c811/part3csharp.png&quot;
        srcset=&quot;/static/7b9c7e94d4596fe75abcecf2ad987b3e/103f2/part3csharp.png 165w,
/static/7b9c7e94d4596fe75abcecf2ad987b3e/748ba/part3csharp.png 330w,
/static/7b9c7e94d4596fe75abcecf2ad987b3e/7c811/part3csharp.png 660w,
/static/7b9c7e94d4596fe75abcecf2ad987b3e/d28e0/part3csharp.png 990w,
/static/7b9c7e94d4596fe75abcecf2ad987b3e/58709/part3csharp.png 1108w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;work-with-variable-data-in-c-console-applications&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#work-with-variable-data-in-c-console-applications&quot; aria-label=&quot;work with variable data in c console applications permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Work with Variable Data in C# Console Applications&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 60.60606060606061%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAABm0lEQVR42o1Ta2+DMAzM//9v1YA+tE+tVglICHlAoS1twfOFx9BUTYt0shMT52wfomla0tqQLg15X1FV1fTfNQxDsEVRUsn3+34g0bZXquqa6vrCaAj7x+OxwnPCuJ+TrBfiXccx9gWyy1yRMY6ZlmSto0JpkrKYXrahAljJ592UtO97egGvHzyfLxLb7Sd9fOwojvcUJweK4h1F0Z4S3kfRjmNbjh0oSUbgDNhs4hCDfzx+0el0DhBpKul8TklNrLJMBl+xD+RSUZZLyrkKxNI0DzbLFF0uTcD1elsgUIpSBTnnQ4mA4QYbYye48QH+Bj7QtC3dbve3gxLWVaFvmLDm5I73la/Hs4p9HhYeQ3LPCriwKtYT/j1xgRdRDhqPZDMr2FkOUo5DM6EavQAtQgs0qrI2DEqMFzWV0yShQ1hnx/LgA2AMpvd7Bz7h8hoLQ3yEl2ZpYO+ZKZghCaQEBrB4ADr9awlr/cTAL73E5GDnPwdVIA4fP8A7cS8Jg2C5R85z4qlvYBsED3Fzr5AYSXEe+pblAZDJPJAZ31OPkseLMzYrAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Part #4&quot;
        title=&quot;&quot;
        src=&quot;/static/ae8e7d55b0aaf5da33aa5237f6e6521e/7c811/part4csharp.png&quot;
        srcset=&quot;/static/ae8e7d55b0aaf5da33aa5237f6e6521e/103f2/part4csharp.png 165w,
/static/ae8e7d55b0aaf5da33aa5237f6e6521e/748ba/part4csharp.png 330w,
/static/ae8e7d55b0aaf5da33aa5237f6e6521e/7c811/part4csharp.png 660w,
/static/ae8e7d55b0aaf5da33aa5237f6e6521e/d28e0/part4csharp.png 990w,
/static/ae8e7d55b0aaf5da33aa5237f6e6521e/28b66/part4csharp.png 1129w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;create-methods-in-c-console-applications&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#create-methods-in-c-console-applications&quot; aria-label=&quot;create methods in c console applications permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Create Methods in C# Console Applications&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 49.696969696969695%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA+ElEQVR42pWS6w6CMAyF9/6vaYK73xgGQ6D2dGL8o84lJ8DSnn5tUXNtFEKklDKVUqnWmc5zHDR0Dg4889W63l9GrS20tBvt+yFBg34Suyw3kTLakjWOciqszLRJpPne+SDB/xzlXaAYM6XYzTybJDaPkd95FDlXmuc2bKy8jzLD/kzkuEA3TXIPSmjbtnHDyK2CCKQwA5nQsnnm+VrnZb5DhobnB4EMiaVWIYNwj4IogmIjbSuZFSeEJxVmCRr8BpB0wDHvv9NXQ5AFUIROgWSsH1s/lwPjKouhn5TSstaGt1kkEd/XqxGFJ7m1PeZymWiatMR8Mn4AsikI70XShuAAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Part #5&quot;
        title=&quot;&quot;
        src=&quot;/static/e54b90a6dfd2adf066515b790c93ded1/7c811/part5csharp.png&quot;
        srcset=&quot;/static/e54b90a6dfd2adf066515b790c93ded1/103f2/part5csharp.png 165w,
/static/e54b90a6dfd2adf066515b790c93ded1/748ba/part5csharp.png 330w,
/static/e54b90a6dfd2adf066515b790c93ded1/7c811/part5csharp.png 660w,
/static/e54b90a6dfd2adf066515b790c93ded1/d28e0/part5csharp.png 990w,
/static/e54b90a6dfd2adf066515b790c93ded1/1e0c2/part5csharp.png 1076w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;debug-c-console-applications&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#debug-c-console-applications&quot; aria-label=&quot;debug c console applications permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Debug C# Console Applications&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 58.18181818181818%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAABjElEQVR42oVTB27DMAzM/x+ZoC3qWMPW8ki8WB4lpWlToAQIyaR15J2oU0oDxZhonCYax4nWdaXjOH74vh8vse/cTs4Fut/vtG07ncZxpK5z5H3ghKdlWQlWDzzb728YQACIc9u20Um1mvreiQOwVYYL9NTZnhTvr1clbowlzY6YsV2JawGptq4MqLVlMC8OwLyvBYKAG9ORZZCe985xnNnc5puAPTMRwIYrARQdgDr24twJQOC10/qfZeAqzbMJYCdVA2sYZUVnPkRZkUMc+gaJeQFDblmWF60FEHRANVN3rE8vh/DtCv1KG52qIhFu988OASZ0i2boxKJI0dVygb7LoCHkScie95mhFz3llpvmSufzG71/fNL5ktcLr1obmuaZMKfDMFJMiaZpFp/5QoZhkLmNMecfgEKTO6pjE4p+0E2A+ABidU5DSFnTmLK+HIsxyuNY+FFkDX14jAqSVTuhVcYJdAGci6Ts3LXE0lBeWbkUDGxg0KZpRUvohktRSlPLg49/8CL+M3T4BSlEmjnYxKnQAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Part #6&quot;
        title=&quot;&quot;
        src=&quot;/static/071c728dcc6afa44a0b55db8ebd77812/7c811/part6csharp.png&quot;
        srcset=&quot;/static/071c728dcc6afa44a0b55db8ebd77812/103f2/part6csharp.png 165w,
/static/071c728dcc6afa44a0b55db8ebd77812/748ba/part6csharp.png 330w,
/static/071c728dcc6afa44a0b55db8ebd77812/7c811/part6csharp.png 660w,
/static/071c728dcc6afa44a0b55db8ebd77812/d28e0/part6csharp.png 990w,
/static/071c728dcc6afa44a0b55db8ebd77812/01c73/part6csharp.png 1145w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;foundational-c-with-microsoft-certification-exam&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#foundational-c-with-microsoft-certification-exam&quot; aria-label=&quot;foundational c with microsoft certification exam permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Foundational C# with Microsoft Certification Exam&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 32.72727272727273%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAABYlAAAWJQFJUiTwAAABKklEQVR42m1R246CQAzl///Kp33xxY24oBAxgNzvt0EYzk47rjFmm5yc9kxz0nYMMc8YxxEDYRgxThMmMUEIoXWl9f2gNMFv/aDyid4m3f/G5GXsdl/Y779hWRccDiYc54rbLcA9jGGaNlzHw8/pDM/zYVsObNuBd/OZXfeKy9nF8WjBPNmo6gYGmTRNB4pt2178l3/qnyHl9uqXUsLI0hxhGCGKUoUEfhAqjpGmGSOOEyRJqvIcWaaR5yWie8xbJEn27C2wkqHvhwiCO5sRU922PdZ1xbIsWB4L8+PJ8/zgXIiZoWut8YRd26FWu3fdoIx0TqzRq3O0DKo79SFyk/gvyJBvWBSlWqFAWdWoFIqyYlNiaiCNViQuqwazmmah6d+wypV/uG5a/AJQ0BZdLzj4pgAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Part #7&quot;
        title=&quot;&quot;
        src=&quot;/static/f7b0f49c3e37cf03aefc003e774351bc/7c811/part7csharp.png&quot;
        srcset=&quot;/static/f7b0f49c3e37cf03aefc003e774351bc/103f2/part7csharp.png 165w,
/static/f7b0f49c3e37cf03aefc003e774351bc/748ba/part7csharp.png 330w,
/static/f7b0f49c3e37cf03aefc003e774351bc/7c811/part7csharp.png 660w,
/static/f7b0f49c3e37cf03aefc003e774351bc/d28e0/part7csharp.png 990w,
/static/f7b0f49c3e37cf03aefc003e774351bc/8cf9a/part7csharp.png 1161w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;build-net-applications-with-c&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#build-net-applications-with-c&quot; aria-label=&quot;build net applications with c permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Build .NET applications with C#&lt;/h2&gt;
&lt;p&gt;.NET is a free, cross-platform, open source developer platform for building many different types of applications. With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, games, and IoT, &lt;a href=&quot;https://learn.microsoft.com/en-us/training/paths/build-dotnet-applications-csharp/&quot;&gt;this url&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;write-your-first-c-code&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#write-your-first-c-code&quot; aria-label=&quot;write your first c code permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Write your first C# code&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 58.78787878787879%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAAA10lEQVR42qWTy44DIQwE+f9fTTbJPAC/oGODohxyGhaJI62yu0i5Cm5bxeNktNaxelpvqFKRiAWFBKIN5oG9f++V4y+gTZFyZWwnIZPi6ZSv/LlymZCUkQox9kyOazg9lJ002C4CjonEBiGNwMKKo/jo1pZ2GIEchCwzKOgKm4fLoFwJFBMf2QmfRx2Bsce9zIJWWh6BR2HcXZvNyR6Hl+OjL2ujhCSqTmRDmanNsor+3qY2f1vBbaehjS7KHYRsQ5s56koRvx5S/BTG6XsU6/8KjJbjp7wBSSS2eiGEeFwAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Part Dotnet #1&quot;
        title=&quot;&quot;
        src=&quot;/static/ca98aae8d8d203d71d55a95c4f9f0c66/7c811/dotnetkursus1.png&quot;
        srcset=&quot;/static/ca98aae8d8d203d71d55a95c4f9f0c66/103f2/dotnetkursus1.png 165w,
/static/ca98aae8d8d203d71d55a95c4f9f0c66/748ba/dotnetkursus1.png 330w,
/static/ca98aae8d8d203d71d55a95c4f9f0c66/7c811/dotnetkursus1.png 660w,
/static/ca98aae8d8d203d71d55a95c4f9f0c66/d28e0/dotnetkursus1.png 990w,
/static/ca98aae8d8d203d71d55a95c4f9f0c66/f6540/dotnetkursus1.png 1063w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;introduction-to-net&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#introduction-to-net&quot; aria-label=&quot;introduction to net permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Introduction to .NET&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 59.3939393939394%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAAA3UlEQVR42qWTS3LDMAxDff9jZtNF0ji2rB9JEYXkabptZM1otHsEAWhRawhZsSeBmWP2aBOICRZRwx4zYlFYmwdaMzRvBIrisSVCBanaNLCrU1MsqSq2IyMVG0D3U6V/vLIOlcvtWfD1jPgOFfe9cIpPeqi8BBau/DoKMtV1Hw/e1F8GFTKD8v8NMLdToYhgDT2UP2AcUEOWbsEHK/dQKj28rxGRil6xEtKuhaKsTUj1VFXtXR2f8lDP2myxUJ2Mcs+G0v3rPo5ir3sefl05b4Wq/HbsYdV2Cfj7U34AoCG2asveBIIAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Part Dotnet #12&quot;
        title=&quot;&quot;
        src=&quot;/static/72df83043b0c480163099d80eebc6514/7c811/dotnetkursus2.png&quot;
        srcset=&quot;/static/72df83043b0c480163099d80eebc6514/103f2/dotnetkursus2.png 165w,
/static/72df83043b0c480163099d80eebc6514/748ba/dotnetkursus2.png 330w,
/static/72df83043b0c480163099d80eebc6514/7c811/dotnetkursus2.png 660w,
/static/72df83043b0c480163099d80eebc6514/d28e0/dotnetkursus2.png 990w,
/static/72df83043b0c480163099d80eebc6514/41289/dotnetkursus2.png 1083w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;create-a-new-net-project-and-work-with-dependencies&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#create-a-new-net-project-and-work-with-dependencies&quot; aria-label=&quot;create a new net project and work with dependencies permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Create a new .NET project and work with dependencies&lt;/h3&gt;
&lt;h3 id=&quot;interactively-debug-net-apps-with-the-visual-studio-code-debugger&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#interactively-debug-net-apps-with-the-visual-studio-code-debugger&quot; aria-label=&quot;interactively debug net apps with the visual studio code debugger permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Interactively debug .NET apps with the Visual Studio Code debugger&lt;/h3&gt;
&lt;h3 id=&quot;work-with-files-and-directories-in-a-net-app&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#work-with-files-and-directories-in-a-net-app&quot; aria-label=&quot;work with files and directories in a net app permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Work with files and directories in a .NET app&lt;/h3&gt;
&lt;h3 id=&quot;create-a-web-api-with-aspnet-core-controllers&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#create-a-web-api-with-aspnet-core-controllers&quot; aria-label=&quot;create a web api with aspnet core controllers permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Create a web API with ASP.NET Core controllers&lt;/h3&gt;
&lt;hr&gt;
&lt;h3 id=&quot;link-bermanfaat&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#link-bermanfaat&quot; aria-label=&quot;link bermanfaat permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Link Bermanfaat&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/amati-tiru-modifikasi/c-sharp-dasar&quot;&gt;Github Repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://go.topidesta.my.id/c-sharp-foundation&quot;&gt;Foundational C# with Microsoft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/training/challenges?id=8cf09b9b-743d-4f5f-9cd0-1aa1483d3d7a&quot;&gt;C# Certification with freeCodeCamp Challenge ~ Periode 29 Agustus s.d 31 Oktober 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://go.topidesta.my.id/dot-net-path&quot;&gt;Build .NET applications with C#&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[SIMRS Chrome Notification]]></title><description><![CDATA[Bismillah .... Intro Kali ini mau bahas tentang Extension Chrome untuk notifikasi Prima SIMRS (Aplikasi Sistem Rumah Sakit), based project ada dihalaman ini ya. https://github.com…]]></description><link>https://topidesta.my.id/simrs-chrome-notification/</link><guid isPermaLink="false">https://topidesta.my.id/simrs-chrome-notification/</guid><category><![CDATA[extension]]></category><pubDate>Tue, 21 Mar 2023 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah ....&lt;/p&gt;
&lt;h2 id=&quot;intro&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#intro&quot; aria-label=&quot;intro permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Intro&lt;/h2&gt;
&lt;p&gt;Kali ini mau bahas tentang Extension Chrome untuk notifikasi Prima SIMRS (Aplikasi Sistem Rumah Sakit), based project ada dihalaman ini ya.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/mdestafadilah/prima-chrome-extension.git&quot;&gt;https://github.com/mdestafadilah/prima-chrome-extension.git&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sebetulnya notifikasi udah ada di Prima, dikembangkan oleh &lt;a href=&quot;https://github.com/siaris&quot;&gt;Mas Ari&apos;s &lt;/a&gt; salah satu senior programmer di tempat gw. dengan memanfaatkan pooling atau socket dari nodejs server, cuman aja, resource yang digunakan sungguh menguras core proses dari server development gw, hingga 100%, alhasil beberapa aplikasi dibawah server development tidak merespon, diantaranya server whatsapp notifikasi dan pencarian dokter muter terus, akhirnya sekarang di stop, karena mengganggu proses aplikasi yang lain.&lt;/p&gt;
&lt;p&gt;Jadi, gw coba kembangkan notifikasi berdasarkan plugin/ extension chrome, dengan memanfaatan API REST server Development. Untuk saat ini gw masih reasearch dahulu, untuk awal mungkin gw coba buat UTDRS (Mini PMI - Bank Darah) untuk notifikasi permintaan darah, proses darah, dan pengambilan darah, selebihnya mungkin notifikasi dari Mas Ari&apos;s yang bakal dimigrasikan ke extension chrome.&lt;/p&gt;
&lt;p&gt;Untuk sumber kodingan besar kemungkinan adalah &lt;em&gt;copy-paste&lt;/em&gt; dari project yang ada digithub, hehe. Detailnya ada di &lt;a href=&quot;#sumber&quot;&gt;sumber&lt;/a&gt; belajar ya, jadi gak ada yang istimewa.&lt;/p&gt;
&lt;h2 id=&quot;sumber&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sumber&quot; aria-label=&quot;sumber permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Sumber&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://anobjectisa.wixsite.com/website/post/how-to-build-a-chrome-extension-new-manifest-v3&quot;&gt;https://anobjectisa.wixsite.com/website/post/how-to-build-a-chrome-extension-new-manifest-v3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLwlNvVIUtWpsjFKGfIXKOz3CjUfg_aQN4&quot;&gt;https://www.youtube.com/playlist?list=PLwlNvVIUtWpsjFKGfIXKOz3CjUfg_aQN4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://youtu.be/7Tu2j2pc87I&quot;&gt;https://youtu.be/7Tu2j2pc87I&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://youtu.be/aARbTtYE2JE&quot;&gt;https://youtu.be/aARbTtYE2JE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.openreplay.com/chrome-extensions-for-beginners--part-1-theory/&quot;&gt;https://blog.openreplay.com/chrome-extensions-for-beginners--part-1-theory/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/salahuddinshaikh/chrome-notification.git&quot;&gt;https://github.com/salahuddinshaikh/chrome-notification.git&lt;/a&gt; [V2 Version will be Deprecated]&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cemkucuk/opsgenie-chrome-extension&quot;&gt;https://github.com/cemkucuk/opsgenie-chrome-extension&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/KindEni/Chrome-Extension-Series&quot;&gt;https://github.com/KindEni/Chrome-Extension-Series&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cap2-dark-knight/Alfred-service-extension&quot;&gt;https://github.com/cap2-dark-knight/Alfred-service-extension&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Bingung Belajar DOT NET]]></title><description><![CDATA[Bismillah .... Tulisan ini pemahan gw terhadap video di youtube berikut ini ~ # (Sharp) https://www.youtube.com/watch?v=4olO9UjRiww apa sih .NET Framework vs .NET Core vs .NET vs…]]></description><link>https://topidesta.my.id/dotnet-buat-bikin-bingung/</link><guid isPermaLink="false">https://topidesta.my.id/dotnet-buat-bikin-bingung/</guid><category><![CDATA[dotnet]]></category><pubDate>Thu, 23 Feb 2023 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah ....&lt;/p&gt;
&lt;p&gt;Tulisan ini pemahan gw terhadap video di youtube berikut ini ~ # (Sharp)&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=4olO9UjRiww&quot;&gt;https://www.youtube.com/watch?v=4olO9UjRiww&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;apa sih .NET Framework vs .NET Core vs .NET vs .NET Standard vs C# ? kenapa banyak sekali jenisnya?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Teknologi .net mulai muncul tahun 2000! sebelum twitter, facebook muncul. hehe, dengan nama .net core.&lt;/p&gt;
&lt;p&gt;.NET Framework itu adalah wadah untuk bahasa pemograman apapun (agnotic language), umumnya C#, VB dan F#. jadi ketika kita koding dengan C#, maka bahasa C# akan ditranslate ke CLI (Common Intermediate Language) didalam sebuah framework .NET yang dikirim ke JIT (Just In Time) sebelum diteruskan ke bahasa mesin. CLI sendiri hanya .NET yang bisa faham, memang membingungkan tapi ini hanya sebuah abstraksi translate dari sebuah bahasa mesin yang dimudah difahami oleh manusia.&lt;/p&gt;
&lt;p&gt;F# bahasa pemograman Functional, sedangkan C# pemograman berorientasi objek.&lt;/p&gt;
&lt;p&gt;Tahun 2006 mulai dikembangkan .net framework meski begitu, bahasa pemograman C# pun masih bisa dijalankan di .net core, .net core mulai banyak update dalam 5 tahun terakhir ini.&lt;/p&gt;
&lt;p&gt;Sekarang mulai di fokuskan menjadi .NET Framework, sudah tidak ada lagi .NET Core ataupun .NET only.&lt;/p&gt;
&lt;p&gt;Intinya silahkan koding di .NET Core atau .NET Framework, pastikan ambil yang LTS (Long Term Support) karena akan ada upgrade atau fiture yang baru, meskipun yang tidak update, aplikasi dengan bahasa pemograman seperti C# F# atau VB tetap bisa dijalankan diberbagai versi.&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[CRUD Dot Net dengan ReactJS]]></title><description><![CDATA[Bismillah .... Postingan kali ini tentang CRUD DotNet dengan ReactJS, langsung saja ke Repositorinya ya. https://github.com/mdestafadilah/crud-dotnet-reactjs.git Pembukaan…]]></description><link>https://topidesta.my.id/dotnet-crud/</link><guid isPermaLink="false">https://topidesta.my.id/dotnet-crud/</guid><category><![CDATA[reactjs]]></category><category><![CDATA[dotnet]]></category><category><![CDATA[crud]]></category><category><![CDATA[draft]]></category><pubDate>Tue, 31 Jan 2023 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah ....&lt;/p&gt;
&lt;p&gt;Postingan kali ini tentang CRUD DotNet dengan ReactJS, langsung saja ke Repositorinya ya.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/mdestafadilah/crud-dotnet-reactjs.git&quot;&gt;https://github.com/mdestafadilah/crud-dotnet-reactjs.git&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;pembukaan&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pembukaan&quot; aria-label=&quot;pembukaan permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Pembukaan&lt;/h2&gt;
&lt;p&gt;Sebetulnya gw belajar Dotnet/ C# itu karena ada tugas membuat CRUD sebelum masuk wawancara kerja eh ternyata enak juga ya ngoding di C# terutama .Net,, udah all in one, windows linux macos, desktop mobile web .. semua 1 kode bisa semua device, seperti ReactJS, balik lagi kenapa gw belajar C# karena gw butuh Penghasilan tambahan lewat kerja tambahan, ini gak bercanda gw, hehe. tapi setelah baca baca, ternyata C# DotNet itu bahasa pemograman Enterprise Level, yang artinya bahasa pemograman ini dilevel bisnis, wow... awal kuliah gw pernah sih nyoba dotnet pake visual studio, serba otomatis saat import paket tapi lemot buat laptop gw waktu itu dan juga tren waktu dikampus PHP sama JAVA jadinya belajar php deh haha tapi langsung pake framework, percis belajar dotnet sekarang, gw langsung belajar ke dotnet nyah hehe, C# sembari belajar dotnet, ibaratnya sekali gayuh 2 teknologi gw pelajari di tahun 2023 ini terlepas diterima atau tidak kerjaan tambahan gw, Semoga Allah Mudahkan ya. Aamiin,&lt;/p&gt;
&lt;h2 id=&quot;persiapan&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#persiapan&quot; aria-label=&quot;persiapan permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Persiapan&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Visual Studio (Gak Wajib - Tapi Harus Ada)&lt;/li&gt;
&lt;li&gt;VS Codium (Visual Code Community)&lt;/li&gt;
&lt;li&gt;Github&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;permasalahan&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#permasalahan&quot; aria-label=&quot;permasalahan permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Permasalahan&lt;/h2&gt;
&lt;p&gt;Database bisa pake MySQL, berhubung ini DotNet sekalian aja pake SQLServer 2019, install seperti biasa. nah muncul masalah saat koneksi ke tools dbeavear, pesan erronya kyak gini&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The TCP/IP connection to the host localhost, port 1433 has failed&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;coba browsing duckduckgo, mampir ke halaman ini -&gt; &lt;a href=&quot;https://stackoverflow.com/a/18981672&quot;&gt;https://stackoverflow.com/a/18981672&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Simplenya ketik aja &lt;strong&gt;sql server 2019&lt;/strong&gt; seperti dibawah ini&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 72.12121212121212%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAABYlAAAWJQFJUiTwAAACuUlEQVR42oWTSW/TUBSFs0KVIKSx4yF2BjtJp8TO5NhJHMdJM7W0KRWiUgWIbiqBukHAhgU/p1uGDRRa0SotLUhs+UGH+xyoEKKwOLKf7Xw595z3Qo/3XqL34Dn8nRdwtp/C2nqC+vYzmLf3oI92oXl3IAgxcBwHIRbDtZkZ7Gzdxff9feTSGm6Ew+Ci0el7QUAo422hsrGL8uYjpLv3oJH07n0SXfsPoTXWEYvxUBQFyWQSSiKBhVQKm6kksokkVHqWorUkSVNgdzBCre6iZDmwmx4sp4mqXUfZqsEoVbCYLwT/nkqnkctmoes60iQ9n0d2bi5Yz8/PQ1VV8DyPUL3RwHhjjOFohHbbR9NtodVqwXEclEpFGIYRuJNlGSJzQWL3aXKl0DVOYmv2DYOGXM8LgLfW1tDr9QOoR898vwPLsmASUIorSGdyKGhJ5FUZCYImJBExGpH/TaIoImTbNQyGA4yYQ78N122i2WyCOa9WqzBNBlSRW1iEkV+CWy7CzGjIxSUsKlPpsgiRCgsydBwL4/E6OWsH6nSmDtnYlUoFRqEAUVagZ3NBVlomA56ccFSUxFyRdFmCKgoEJIcu/bDf78FtuTBMkxyRitPsSqUS8uRKkOQAyMZXKatfW4j/KY7KYGLwEBtxMOhj0O8HufmdbuCQwZgKfzhkObE2/6ZgZNu2CeRTfj6WqZSVlVXUbAdLtC1+AWPkgoGYuCtgl8B6vR4APY/l18Xy8jLK5QqpfAlkkEiUwyyNyv8XSPutQ6N2CMqyHFHjw+EQLFuDgEXKNE4fslY1apO5Fa6QxLZNhU5FpzeA1+2BnZrV8SYKJpVB26RBwBqdlBRPJcxGEbk5i+vhyJUKR6IIvT/5gqPJOQ4nFzg6nuDw1WscvHmL85MJTj9/xeTiG959OsUB6cPx2T/18eQMPwBK+L6hpy0C+QAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;sql Server 2019&quot;
        title=&quot;&quot;
        src=&quot;/static/b4c348bd646b0c6b943d2f69b0945589/7c811/sqlserver2019.png&quot;
        srcset=&quot;/static/b4c348bd646b0c6b943d2f69b0945589/103f2/sqlserver2019.png 165w,
/static/b4c348bd646b0c6b943d2f69b0945589/748ba/sqlserver2019.png 330w,
/static/b4c348bd646b0c6b943d2f69b0945589/7c811/sqlserver2019.png 660w,
/static/b4c348bd646b0c6b943d2f69b0945589/d28e0/sqlserver2019.png 990w,
/static/b4c348bd646b0c6b943d2f69b0945589/450ce/sqlserver2019.png 1171w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;kalo udah kebuka, lanjutkan dengan enable TCP/ IP, seperti berikut ini&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 52.72727272727272%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAABYlAAAWJQFJUiTwAAABpElEQVR42pVTa2+jMBDk//+l+1j1qkaXD3eN2pAYzMOGBMgDwiOxoXNrN4FUqqo7S6Ndr+WZnTU4eZ4hzwvs93ukSYIsyyy22RZKa/zvcrI8h5AxDocD0s2GyLYksEPTKmjdo+8HDMNAsR9h9lNtGPcGTpJm1N0au2IDSd3uKgkuNlj6JekNUErjoj7INXVscLmosXY7v8HxfYY4ihFGEXyfg3MOSdZNTUhJ1jMcjyWEkNaBpFrdNJYsSVPsyZkROZ/PJHSBw7wVoithGIaUR6jrGmVZoj7VaOiymW8YchKJwIPAkhp7WxKIaG/ycYa//7xACoGAyMIgRBwLJDKB7/m224AHYIxR9Ajckpl5m5WQE4/OlVYTIWMruEsXqzVF18WSYAgWLwswz7N2qupEXRaWSN+9fFkeEf16wnBXc1ZrhtnsCfP5fMTseYafj494fX2zL9m03UT0/v7pM8kffqBLxXjmFEVh53SqquvMWnRdhxPlpiOTtwSl1PXORGhyg9JdQNfVR4f/8rE2bfvJ6h2jDX1Lr97UE+FN6Sv1bwm/+FP+Ao0BSkkYkxcMAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tcp ip sql Server&quot;
        title=&quot;&quot;
        src=&quot;/static/46356e02624a265c99899078973df12c/7c811/sqlserver-enable.png&quot;
        srcset=&quot;/static/46356e02624a265c99899078973df12c/103f2/sqlserver-enable.png 165w,
/static/46356e02624a265c99899078973df12c/748ba/sqlserver-enable.png 330w,
/static/46356e02624a265c99899078973df12c/7c811/sqlserver-enable.png 660w,
/static/46356e02624a265c99899078973df12c/5b400/sqlserver-enable.png 770w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Kalo udah lanjut deh config connection di dbeaver seperti berikut ini&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 58.78787878787879%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsTAAALEwEAmpwYAAABw0lEQVR42qVS2W7jMAz0/39eF02DTYEmtS2fOnxbduxZjpoECfZlgRUwoA6KHA4ZWadR6RrT5LHvO7Zt+y9El8sZKlMoyxppmqKqKmht4JcF1+t2w/WfEb29/cLxeEQcx9DGomkadF2LdfHYbk5kfsedyb5vAPYX8D1yzmGefXBy/QDXNjByl9cWrmnR9T2GYRBJJoxix3EU/znsu1beu+4BYy0i3JYEh5aLc5AgR6Iy2V+CBNM0YhEJ9vWKQirJ8hy11qjrGsYYWKmMlueINLk2sePYQ6VxyDaNA77OXyFg0zgURRHuW5GE57wySJWCkcCtMCW07B8MWfLsfdBsXVdM8ySNKuCsC5kZkCxYvhc/ap0L04/DAafTZ3hn8r8C3hc1K8sSfddLswx60ZLwNx/umej4ccDh/V2C/kaSJK8B/VNAsiRb7xf5PPw0Rhri/RyaQoZklKQZvgUqy5AX+XNTdljp6k9ZI6w0iAxoeUd9yNSIBEq0o35VVSJWOU7nOIwd71+63LcOts7CmYzoRG0YzBiNJCvw+a3CR+rHZI2MWMdGuQYcwShkDiOggy4s9Q6OyiDlkmEYD2sejJ8twWC0fwBBVZnd1qZSYQAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;dbeaver sql Server&quot;
        title=&quot;&quot;
        src=&quot;/static/5428a6725e86887c00ec7954d807dc16/7c811/dbeavear-sql.png&quot;
        srcset=&quot;/static/5428a6725e86887c00ec7954d807dc16/103f2/dbeavear-sql.png 165w,
/static/5428a6725e86887c00ec7954d807dc16/748ba/dbeavear-sql.png 330w,
/static/5428a6725e86887c00ec7954d807dc16/7c811/dbeavear-sql.png 660w,
/static/5428a6725e86887c00ec7954d807dc16/d28e0/dbeavear-sql.png 990w,
/static/5428a6725e86887c00ec7954d807dc16/bb51b/dbeavear-sql.png 1320w,
/static/5428a6725e86887c00ec7954d807dc16/b45ba/dbeavear-sql.png 1736w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Koneksi SQLServer mau pakai Username dan Password&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Default koneksi dengan &lt;strong&gt;Windows Authentication&lt;/strong&gt; pasti berhasil, jika sudah lakukan perintah SQL berikut ini, satu satu ya.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;sql&quot;&gt;&lt;pre class=&quot;language-sql&quot;&gt;&lt;code class=&quot;language-sql&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;EXEC&lt;/span&gt; xp_instance_regwrite N&lt;span class=&quot;token string&quot;&gt;&apos;HKEY_LOCAL_MACHINE&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; N&lt;span class=&quot;token string&quot;&gt;&apos;Software\Microsoft\MSSQLServer\MSSQLServer&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; N&lt;span class=&quot;token string&quot;&gt;&apos;LoginMode&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; REG_DWORD&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;ALTER&lt;/span&gt; LOGIN &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;sa&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;WITH&lt;/span&gt; PASSWORD&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;newpassword&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; CHECK_POLICY&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;OFF&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;ALTER&lt;/span&gt; LOGIN &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;sa&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;ENABLE&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;disana kita akan enable default username &lt;strong&gt;sa&lt;/strong&gt; dengan password &lt;strong&gt;newpassword&lt;/strong&gt; dan ada angka [2] yang artinya kita akan mengaktifkan kombinasi authentikasi login &lt;a href=&quot;#1&quot;&gt;[1]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Jika sudah jangan lupa restart SQL Servernya.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;VSCode Tidak Cukup, harus Pakai Visual Studio&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ini yang bikin heran, karena pada dasarnya ada beberapa perbedaan, seperti autocompletion dan sifat dari VSCode dengan Visual Studio yang berbeda, kalo vscode project perfolder dan visual studio project based tapi vscode like visual studio juga bisa dengan install beberapa plugin, diantaranya&lt;a href=&quot;#2&quot;&gt;[2]&lt;/a&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=josefpihrt.Roslynator2022&quot;&gt;Rosylnator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=formulahendry.dotnet-test-explorer&quot;&gt;.NET Core Test Explorer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=Fudge.auto-using&quot;&gt;Auto-using for C#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=adrianwilczynski.namespace&quot;&gt;C# Namespace Autocompletion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://open-vsx.org/extension/k--kato/docomment&quot;&gt;C# XML Documentation Comments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;NuGet Reverse Package Search&lt;/li&gt;
&lt;li&gt;Code Spell Checker&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://open-vsx.org/extension/christian-kohler/path-intellisense&quot;&gt;Path Intellisense&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://open-vsx.org/extension/EditorConfig/EditorConfig&quot;&gt;EditorConfig for VS Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://open-vsx.org/extension/ms-mssql/mssql&quot;&gt;SQL Server (mssql)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Github Copilot&lt;/li&gt;
&lt;li&gt;REST Client&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=Phu1237.vs-browser&quot;&gt;VS Browser&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://open-vsx.org/extension/ybaumes/highlight-trailing-white-spaces&quot;&gt;Highlight Trailing White Spaces&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jwt-Decoder&lt;/li&gt;
&lt;li&gt;Nuget Gallery&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=jorgeserrano.vscode-csharp-snippets&quot;&gt;C# Snippets&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Akhirnya gw tau koneksi yang seharusnya setelah install Visual Studio. haha&lt;/p&gt;
&lt;h1 id=&quot;update&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update&quot; aria-label=&quot;update permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;UPDATE&lt;/h1&gt;
&lt;p&gt;Ternyata ada yang ngembangin DEV KIT C# buat Pengguna vscode/ vscodium. namanya DEV KIT C# for VSCode&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ms-dotnettools.csdevkit-0.1.83@win32-x64&lt;/li&gt;
&lt;li&gt;ms-dotnettools.csharp-2.0.206@win32-x64&lt;/li&gt;
&lt;li&gt;ms-dotnettools.vscodeintellicode-csharp-0.1.9@win32-x64&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Install ke-3 nyah kalo pake vscodium. download dulu, cari di google keyword itu.&lt;/p&gt;
&lt;h2 id=&quot;sumber-belajar&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sumber-belajar&quot; aria-label=&quot;sumber belajar permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Sumber Belajar&lt;/h2&gt;
&lt;ol start=&quot;0&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/training/dotnet/&quot;&gt;https://learn.microsoft.com/en-us/training/dotnet/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://go.topidesta.my.id/dotnet5-crud&quot;&gt;http://go.topidesta.my.id/dotnet5-crud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://go.topidesta.my.id/react-hook-crud&quot;&gt;http://go.topidesta.my.id/react-hook-crud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://go.topidesta.my.id/react-crud-simple&quot;&gt;http://go.topidesta.my.id/react-crud-simple&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://go.topidesta.my.id/orm-entity-framework&quot;&gt;http://go.topidesta.my.id/orm-entity-framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://go.topidesta.my.id/orm-entity-framework-official&quot;&gt;http://go.topidesta.my.id/orm-entity-framework-official&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id=&quot;1&quot;&gt;[1] &lt;a href=&quot;https://superuser.com/a/731047&quot;&gt;https://superuser.com/a/731047&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id=&quot;2&quot;&gt;[2] &lt;a href=&quot;https://www.youtube.com/watch?v=m9HvsB1-hAo&amp;#x26;t=857s&quot;&gt;https://www.youtube.com/watch?v=m9HvsB1-hAo&amp;#x26;t=857s&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://go.topidesta.my.id/reactjs-dotnet-official&quot;&gt;http://go.topidesta.my.id/reactjs-dotnet-official&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=OrHO7UeDwZc&quot;&gt;https://www.youtube.com/watch?v=OrHO7UeDwZc&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;TODO:&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Un-Official Whatsapp API]]></title><description><![CDATA[Bismillah .... Sebetulnya ini bukan untuk ditiru ya, kalo perusahaan kalian gak pelit banget, dan mau centang biru mending ambil API yang berbayar https://business.whatsapp.com…]]></description><link>https://topidesta.my.id/un-official-whatsapp-api/</link><guid isPermaLink="false">https://topidesta.my.id/un-official-whatsapp-api/</guid><category><![CDATA[project]]></category><category><![CDATA[whatsapp]]></category><category><![CDATA[API]]></category><pubDate>Fri, 30 Dec 2022 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah ....&lt;/p&gt;
&lt;p&gt;Sebetulnya ini bukan untuk ditiru ya, kalo perusahaan kalian gak pelit banget, dan mau centang biru mending ambil API yang berbayar&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://business.whatsapp.com/products/platform-pricing&quot;&gt;https://business.whatsapp.com/products/platform-pricing&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;tapi tenang, diluar sana ada juga kok yang memanfaatkan API yang free alias Gratis dengan memanfaatkan web whatsapp&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://web.whatsapp.com&quot;&gt;https://web.whatsapp.com&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;beberapa library yang terkenal seperti &lt;a href=&quot;https://github.com/WhiskeySockets/Baileys&quot;&gt;Baileys&lt;/a&gt;, &lt;a href=&quot;https://github.com/pedroslopez/whatsapp-web.js&quot;&gt;Whatsapp-web.js&lt;/a&gt;, &lt;a href=&quot;https://github.com/wppconnect-team/wppconnect&quot;&gt;WWPConnect&lt;/a&gt; dan &lt;a href=&quot;https://github.com/orkestral/venom&quot;&gt;Venom-BOT&lt;/a&gt;, yang menggunakan bahasa typescript/ javascript, ada juga yang menggunakan python atau golang loh, mantap kan ya.&lt;/p&gt;
&lt;p&gt;lanjut, karena lingkup kerja gw butuh hasil ketimbang proses, dan gw sendiri lebih familiar dengan javascript, akhirnya coba hunting deh API yang ready to production. liat aja di pojok kanan github library tersebut, &lt;strong&gt;Used by&lt;/strong&gt; nah, dapat deh beberapa yang berhasil mengembangkan yang sudah ada API Rest. Tinggal test deh endpointnya dengan postman atau insomnia, kalo udah bisa, running deh diserver, ouh iya, kalo mau di onlinekan, sebisa mungkin gunakan domain ya, jangan pake IP Publik, karena nanti port nodejsnya terexpose.&lt;/p&gt;
&lt;p&gt;Untuk server pernah gw bahas di postingan &lt;a href=&quot;/membangun-server-ubuntu-aapanel&quot;&gt;membangun server dengan aapanel&lt;/a&gt;, gw taro service di sana, dengan memaksimalkan Whatsapp Pairing, ada 4 device yang bisa kita pairing. Ouh iya, sebelum pake API Whatsapp Un-Official, gw pake service zenziva yang berbayar pake kredit, kalo sekarang itu hanya untuk Backup saja, baiklah gw share ya, beberapa API yang bisa dipakai tapi dengan terbatas&lt;/p&gt;
&lt;h2 id=&quot;freemium&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#freemium&quot; aria-label=&quot;freemium permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Freemium&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://whatsva.id&quot;&gt;https://whatsva.id&lt;/a&gt; // 100 Pesan per hari (Free Version)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://console.zenziva.net&quot;&gt;https://console.zenziva.net&lt;/a&gt; // Bayar dengan Kredit&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://api.kirimwa.id&quot;&gt;https://api.kirimwa.id&lt;/a&gt; // 100 Pesan per hari (Free Version)&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;freedom&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#freedom&quot; aria-label=&quot;freedom permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Freedom&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hallobayi/baileys-api&quot;&gt;https://github.com/hallobayi/baileys-api&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hallobayi/wppconnect-server&quot;&gt;https://github.com/hallobayi/wppconnect-server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hallobayi/wa-gateway&quot;&gt;https://github.com/hallobayi/wa-gateway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hallobayi/wwebjs-api.git&quot;&gt;https://github.com/hallobayi/wwebjs-api.git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hallobayi/wuzapi&quot;&gt;https://github.com/hallobayi/wuzapi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hallobayi/go-whatsapp-web-multidevice&quot;&gt;https://github.com/hallobayi/go-whatsapp-web-multidevice&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ada kelebihan ada kekurangan masing masing API Restfull Whatsapp, misalkan ada yang bisa kirim sticker ada yang bisa kirim ke group saja, ada yang gak bisa kirim ke group, dan lain sebagianya, tapi secara umum semuanya bisa &lt;strong&gt;kirim ke nomor whatsapp perorangan&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Di group Petirs (Pengguna TI Rumah Sakit) pernah dibahas juga, tentang memanfaatkan Whatsapp API Free untuk mesin penjawab otomatis, lihat di point #4 salah satu contoh kodingannya, next mungkin gw bisa research deh, kalo ada yang mau pdf nya ini gw share ya.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/topidesta/topidesta/raw/master/content/images/chat-bot-petirs.pdf&quot;&gt;Chatbot by Petirs&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;update-puppeter-dependency&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update-puppeter-dependency&quot; aria-label=&quot;update puppeter dependency permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Update Puppeter Dependency&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/a/65497048&quot;&gt;https://stackoverflow.com/a/65497048&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;apt-get&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;install&lt;/span&gt; chromium-browser
&lt;span class=&quot;token function&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;apt-get&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;install&lt;/span&gt; gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils &lt;span class=&quot;token function&quot;&gt;wget&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/cypress-io/cypress-documentation/issues/5816&quot;&gt;https://github.com/cypress-io/cypress-documentation/issues/5816&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;apt-get&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;install&lt;/span&gt; libgtk2.0-0t64 libgtk-3-0t64 libgbm-dev libnotify-dev libnss3 libxss1 libasound2t64 libxtst6 xauth xvfb&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id=&quot;pm2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pm2&quot; aria-label=&quot;pm2 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;PM2&lt;/h3&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;# Trick 1&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;sudo&lt;/span&gt; pm2 start &lt;span class=&quot;token string&quot;&gt;&apos;npm run start:prod&apos;&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;--name&lt;/span&gt; nama_aplikasi --cron-restart&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;0 */6 * * *&quot;&lt;/span&gt; -- start --node-args&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;--max-old-space-size=4096&quot;&lt;/span&gt; --max-memory-restart 4G&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;# Trick 2&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;sudo&lt;/span&gt; pm2 start &lt;span class=&quot;token string&quot;&gt;&apos;npm run start&apos;&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;--name&lt;/span&gt; nama_aplikasi --cron-restart&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;0 */6 * * *&quot;&lt;/span&gt; -- start --node-args&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;--max-old-space-size=4096&quot;&lt;/span&gt; --max-memory-restart 4G &lt;span class=&quot;token parameter variable&quot;&gt;--interpreter&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;/www/server/nodejs/v18.20.4&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id=&quot;use-npm&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#use-npm&quot; aria-label=&quot;use npm permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;USE NPM&lt;/h3&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-g&lt;/span&gt; npm@latest
&lt;span class=&quot;token function&quot;&gt;npm&lt;/span&gt; cache clean &lt;span class=&quot;token parameter variable&quot;&gt;--force&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;install&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;update&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update&quot; aria-label=&quot;update permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;UPDATE&lt;/h2&gt;
&lt;p&gt;Ternyata dispanyol udah ada yang mengembangkan chatbot secara mudah difahami, cek di sini:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/codigoencasa/builderbot&quot;&gt;https://github.com/codigoencasa/builderbot&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Kurang lebih akan muncul seperti ini&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 94.54545454545455%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACzklEQVR42q1US08TURQmMSExxpUmGtf+CnfGtcYYtSiKBh+oRYlisRaxSlAwJsSFBuIjBNFQEhKsiy4BfwBsTKRpC6Uzw9RSpjOdzvQ1nX7ec8ugGFSaeJovp/ee06/n3PNoUPMaYmtxKGsZpFIpmGYetl1FpWJvCbIViyXk83num8sZ/KzrOtNFNKxqaXwVvyEpyQiHF7iBxLZtjmrVQXVDl0pFTmaaJjRNY+cSstksCgVGaFkV/C+pVCpoKJctVOlT/QmS+fl5BINBhEIhzM7OYnp6mmu6m5ub4z6OryOWZVGE1qZLSpNkaGgILpcL3T4vh+/+PTx+9BAez10MDg5u8t0W4aepKfT09eJ4by8OddzBYY8XR7p78ODZU7wfGamf8MvMDNq7urC/9RoaT7ZgV9NF7DjVgvbHfkyOj9dPODY6ihPNZ3GwzY09zZew7/wV7L3Qhib3dUwGAvUTjn/4CI/fjwNXb2LnmVbsbr6MRqY7B/oR+hysn3AiMAF3xy24Om/jqPsGjjE0eb043XIOr4eH/0zI24ZV36amtW3eSyQBltZA/wD8Ph+eP+nDm1cvMfbuLV6wClPrbDtCR/hoMZSZnUaqVC5zFAoFPhm/9q3Tj5yQjHJShizL+M5mOZFIwDCMLRv3X7JBGI/HEV5YYAhzKEqGD7xhmDxSwzTXl4EJgy0D0ub6md8zP/KnMeaESRadJElILC9DWpERX1pCJBLhdwRRFCAIAkRJZGcRyWSSnwUhgZUVCTL7DS0Gq7JOuLgYQyQaRSwW5dFGIzEsM/JMRoXKkFEz0HM6slqWbxVN1ZjW+aZRVBVaVkO+kK8tByLM5XLI6jVnej/6Ia0xsjkos4I4oLetrbZaQWx6a4aNN0yn0zwVSk9g6SmKwu8oyvRqGqnVFIQES1kU+Z//tSi0KCkiKoQDlaVE6TrfCY6NNjS91++gwGjB/gBG3m0perdPVgAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Chat BOT&quot;
        title=&quot;&quot;
        src=&quot;/static/86a33baa0daf63bd2ac6541428ad860f/7c811/chatbot.png&quot;
        srcset=&quot;/static/86a33baa0daf63bd2ac6541428ad860f/103f2/chatbot.png 165w,
/static/86a33baa0daf63bd2ac6541428ad860f/748ba/chatbot.png 330w,
/static/86a33baa0daf63bd2ac6541428ad860f/7c811/chatbot.png 660w,
/static/86a33baa0daf63bd2ac6541428ad860f/93714/chatbot.png 777w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;service-offering&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#service-offering&quot; aria-label=&quot;service offering permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SERVICE OFFERING&lt;/h2&gt;
&lt;p&gt;Buat yang butuh configurasi server wa un-official bisa &lt;a href=&quot;https://api.whatsapp.com/send?phone=6283898973731&amp;#x26;text=halo%20desta%20saya%20mau%20build%20server%20whatsapp&quot;&gt;kontak gw ya&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Done.&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Chat Widget Dengan Intergram]]></title><description><![CDATA[Bismillah .... Sebetulnya gw pake yang contact-form dengan memanfaatkan cloudflare worker sebagai backend server, tapi entah kenapa gak ada chat yang masuk ke telegram, di GatsbyJS…]]></description><link>https://topidesta.my.id/chat-widget-dengan-intergram/</link><guid isPermaLink="false">https://topidesta.my.id/chat-widget-dengan-intergram/</guid><category><![CDATA[project]]></category><category><![CDATA[server]]></category><pubDate>Thu, 29 Dec 2022 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah ....&lt;/p&gt;
&lt;p&gt;Sebetulnya gw pake yang contact-form dengan memanfaatkan cloudflare worker sebagai backend server, tapi entah kenapa gak ada chat yang masuk ke telegram, di GatsbyJS template gw tempel di layout&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;script src&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;https://cdn.jsdelivr.net/gh/anshumanfauzdar/contact-form@v3/src/contact-form.js&quot;&lt;/span&gt; id&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;contactform&quot;&lt;/span&gt; form_worker_url&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;https://v1.formtopidesta.workers.dev/&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;script&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;pusing akh, akhirnya mulai searching lagi, dapetlah &lt;em&gt;intergram&lt;/em&gt; cara kerjanya sama memanfaatkan bot resmi dari Telegram. Tapi, kalo kita langsung akses via intergram.xyz itu akan membebankan server mereka, meskipun free. Jadi akhirnya gw install intergram di server persahabatan.co.id di alamat &lt;a href=&quot;https://telegram.persahabatan.co.id&quot;&gt;telegram.persahabatan.co.id&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Untuk instalasi silahkan klik sumber ke 3 dibawah ini, Tutorial Install Integram, ikuti langkah secara detail, namun saat instalasi selesai muncul halaman seperti ini:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 47.878787878787875%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsTAAALEwEAmpwYAAABCUlEQVR42p2S0WqDMBSGfe/tCXqz19gDtJdluxyDXmxjZRQ7YSrRMaNR4zQm/jtKLRI7Whr4CCc5+XPynzhZlmNKmgpwns3o123ssz3ONBCiQNMoaG2IltADbatR182MPv9fwf5GKSuiRBiGiOMIUcQQMQZGGGNgj6IoZ5Vagr/I8xzuzsV+/wnf9xEEATzPo2rETPSsYFlKtEpDihp1pdB13RFj9DBfLDh6WDcNlFKDl1O/7PishyOciyOnOjvyQ/tJSvkHskOlzqnWX4KucnSVGDCS7CL/RSGvEKRn8iTF3ZrhZhnhdsmweEiwfnyCu91dV2FKH3318o37554YqzeOzeYVX+8f+AOQmPl0FYlQvwAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Intergram Own Server&quot;
        title=&quot;&quot;
        src=&quot;/static/8c8345ddada3de096202041167ee1c77/7c811/telegram.persahabatan.co.id.png&quot;
        srcset=&quot;/static/8c8345ddada3de096202041167ee1c77/103f2/telegram.persahabatan.co.id.png 165w,
/static/8c8345ddada3de096202041167ee1c77/748ba/telegram.persahabatan.co.id.png 330w,
/static/8c8345ddada3de096202041167ee1c77/7c811/telegram.persahabatan.co.id.png 660w,
/static/8c8345ddada3de096202041167ee1c77/d28e0/telegram.persahabatan.co.id.png 990w,
/static/8c8345ddada3de096202041167ee1c77/bb51b/telegram.persahabatan.co.id.png 1320w,
/static/8c8345ddada3de096202041167ee1c77/ac7a9/telegram.persahabatan.co.id.png 1920w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Itu berhasil terinstall, tapi ada yang aneh meski sudah menambahan script untuk menambahkan di website kita seperti ini&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
  window&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;intergramId &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;717698723&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  window&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;intergramServer &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;https://telegram.persahabatan.co.id&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;script&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;pesan tidak masuk ke telegram kita, akhirnya gw coba bukan Issue di github&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/idoco/intergram/issues/121#issue-1493738944&quot;&gt;https://github.com/idoco/intergram/issues/121#issue-1493738944&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Silahkan baca, disana gw jelaskan kalo nodejs masih v3 makan tambahkan script ini di &lt;code class=&quot;language-text&quot;&gt;server.js&lt;/code&gt;, sebagai berikut:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; io &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;socket.io&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;http&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token literal-property property&quot;&gt;allowEIO3&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Boom akhirnya bisa diakses chat dengan enggine telegram bot. seperti dibawah ini:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 49.696969696969695%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAABYlAAAWJQFJUiTwAAAB6ElEQVR42n2Sy4rUQBSG8zAu9Ql8C1cu3IoisxH0BQYElQEZVBBBXCi4daeIthdw4UYQm9noOHaSTuda1blW0rl8ViW2OiIe+DlUkfpy/nOOJWSCEAlVVfGvGIbhmPq+p64VQ1dr6dyqKXf6/dBhpWmK7/uEYUQQhjqHSCmJ4ni8y/PiJxj6YfqJm5Tsvw21Im6+CtmbRVx/GfHwg8BqmoY0y1CqoioyrYJSV5vnGelajtX8Wa2Jw5Vk/80WaGABu8887rx2J2DfdyxFxWzuM19IzLOsAaFZUg2k9UBcDRSbCZilkk0R01f6WyVR0qeMXdaBg9W2HUVZ4keCx+89ns+lLqUdz4nMEGmOzAqtklTbV0oRJwlHC5uF47Kw3THb7pLvtgbWm5aybsiLEi8uiFKlbW5Ya7vrdM3WgVHXdaNtIQSO47BcLo/J3Fn0ZjgDplITlbbWjNZ+T/bvHv4X+CiesbO4xy3/KbvuEy7b9zmoHErdv6TqiMueuNCr0g7TqLdAewK6rvtLtm1jXTy6y8nPlzh3uMeZL9c48ek8L+RHmnSDyHLEeuphpvtn7G+BBrZarcaVMwqCAM/zsK7YDzh9cJUL325z9usNTs13eJfNoQVVV3Rte2yxTeR5Pj42wCiKRhmoOf8A6c7nS6x5q5kAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Intergram Own Server&quot;
        title=&quot;&quot;
        src=&quot;/static/2a2c28d8f1e343c9df3754a8f8bdb6f3/7c811/intergramtopidesta.png&quot;
        srcset=&quot;/static/2a2c28d8f1e343c9df3754a8f8bdb6f3/103f2/intergramtopidesta.png 165w,
/static/2a2c28d8f1e343c9df3754a8f8bdb6f3/748ba/intergramtopidesta.png 330w,
/static/2a2c28d8f1e343c9df3754a8f8bdb6f3/7c811/intergramtopidesta.png 660w,
/static/2a2c28d8f1e343c9df3754a8f8bdb6f3/d28e0/intergramtopidesta.png 990w,
/static/2a2c28d8f1e343c9df3754a8f8bdb6f3/bb51b/intergramtopidesta.png 1320w,
/static/2a2c28d8f1e343c9df3754a8f8bdb6f3/b7708/intergramtopidesta.png 1854w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Dan pesan akan masuk ke Bot Telegram ini &lt;a href=&quot;https://t.me/topidestabot&quot;&gt;https://t.me/topidestabot&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;
&lt;p&gt;sumber&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/tuhinpal/Contact-Form&quot;&gt;Contact-Form&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/idoco/intergram&quot;&gt;Intergram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ictis.cz/telegram-chat-widget-self-hosted-debian-linux-intergram-github-skript-nodejs/&quot;&gt;Tutorial Install Intergram&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Netlify CLI Freemium Forever]]></title><description><![CDATA[Bismillah .... Sebetulnya posting kali ini lebih ke arah opini pribadi aja, soalnya project yang running di netlify udah kadung banyak, jadi males kalo pindah pindah CI/CD yang…]]></description><link>https://topidesta.my.id/netlify-cli-freemium-forever/</link><guid isPermaLink="false">https://topidesta.my.id/netlify-cli-freemium-forever/</guid><category><![CDATA[project]]></category><category><![CDATA[server]]></category><pubDate>Fri, 21 Oct 2022 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah ....&lt;/p&gt;
&lt;p&gt;Sebetulnya posting kali ini lebih ke arah opini pribadi aja, soalnya project yang running di netlify udah kadung banyak, jadi males kalo pindah pindah CI/CD yang lain. Ditambah netlify sekarang menghapus free buat private repo (otomatis build) dari akun organisasi github, tapi masih bisa menggunakan layanan mereka dengan menggunakan &lt;code class=&quot;language-text&quot;&gt;NETLIFY CLI&lt;/code&gt; jadi, kenapa harus pindah? hehe&lt;/p&gt;
&lt;p&gt;Lanjut ya, ternyata netlify tetap memberikan layanan free kok, tapi dengan skema yang sedikit jelimet, kalo sebelumnya cukup push ke repo utama, hubungkan dengan service mereka, maka robot diserver netlify akan menjalankan proses build yang disimpen diserver mereka, simple banget, tapi sekarang proses jelimet itu hanya berlaku untuk &lt;code class=&quot;language-text&quot;&gt;repo private&lt;/code&gt; dengan semua jenis akun, beda dengan repo &lt;code class=&quot;language-text&quot;&gt;topidesta&lt;/code&gt; yang sifatnya publik, maka otomatis build (CI/CD) netlify tetap berjalan.&lt;/p&gt;
&lt;p&gt;Berikut ini 10 Perintah utama untuk memudahkan memanfaatkan layanan &lt;em&gt;freemium&lt;/em&gt; netlify untuk tipe akun github organisasi yang private, berikut ini perintah netlify cli yang sering digunakan, sebelum melakukan perintahnya, pastikan sudah menginstall netlify-cli secara global, dengan perintah&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;install&lt;/span&gt; netlify-cli &lt;span class=&quot;token parameter variable&quot;&gt;-g&lt;/span&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;baiklah, berikut ini 10 perintah yang biasa digunakan dalam netlify-cli, diantaranya:&lt;/p&gt;
&lt;h2 id=&quot;netlify-login&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#netlify-login&quot; aria-label=&quot;netlify login permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Netlify login&lt;/h2&gt;
&lt;p&gt;Untuk dapat memanfaatkan fiture build workflow netlify, pastikan sudah login, dengan perintah &lt;code class=&quot;language-text&quot;&gt;ntl login&lt;/code&gt; jika belum login, maka akan diarahkan ke login page netlify, gunakan login yang terhubung ke github ya, jika sudah maka akan ada warning &lt;code class=&quot;language-text&quot;&gt;Already logged in via netlify config on your machine&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&quot;netlify-init&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#netlify-init&quot; aria-label=&quot;netlify init permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Netlify init&lt;/h2&gt;
&lt;p&gt;Perintah ini untuk melakukan inisiasi awal, agar mempermudah proses workflow CI di netlify, baik projek yang baru atau yang sudah ada di local pc masing masing.&lt;/p&gt;
&lt;h2 id=&quot;netlify-dev&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#netlify-dev&quot; aria-label=&quot;netlify dev permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Netlify dev&lt;/h2&gt;
&lt;p&gt;Perintah ini untuk menjalankan pengembangan lokal untuk aplikasi kita. berjalan untuk semua framework javascript bahkan HTML jadul. &lt;code class=&quot;language-text&quot;&gt;ntl dev&lt;/code&gt; dapat dijalankan dengan aturan Netlify tanpa menggunakan proxis untuk melakukan test dilokal.&lt;/p&gt;
&lt;h2 id=&quot;netlify-deploy&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#netlify-deploy&quot; aria-label=&quot;netlify deploy permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Netlify deploy&lt;/h2&gt;
&lt;p&gt;Perintah ini digunakan untuk &lt;code class=&quot;language-text&quot;&gt;build&lt;/code&gt; hasil kerjaan kita, agar dunia tahu, selebihnya biarkan CI netlify berjalan, tapi jika ditambahkan tanda &lt;code class=&quot;language-text&quot;&gt;--prod&lt;/code&gt; dalam perintahnya maka otomatis di build dalam bentuk production , jika tidak, makan defaultnya akan menjadi draft.&lt;/p&gt;
&lt;h2 id=&quot;netlify-watch&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#netlify-watch&quot; aria-label=&quot;netlify watch permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Netlify watch&lt;/h2&gt;
&lt;h2 id=&quot;netlify-link&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#netlify-link&quot; aria-label=&quot;netlify link permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Netlify link&lt;/h2&gt;
&lt;h2 id=&quot;netlify-switch&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#netlify-switch&quot; aria-label=&quot;netlify switch permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Netlify switch&lt;/h2&gt;
&lt;h2 id=&quot;netlify-status&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#netlify-status&quot; aria-label=&quot;netlify status permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Netlify status&lt;/h2&gt;
&lt;h2 id=&quot;netlify-envset&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#netlify-envset&quot; aria-label=&quot;netlify envset permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Netlify env:set&lt;/h2&gt;
&lt;h2 id=&quot;netlify-function&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#netlify-function&quot; aria-label=&quot;netlify function permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Netlify function&lt;/h2&gt;
&lt;p&gt;TODO DETAILNYA!&lt;/p&gt;
&lt;p&gt;sumber&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.netlify.com/cli/get-started/&quot;&gt;https://docs.netlify.com/cli/get-started/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.netlify.com/blog/code-faster-wt-these-10-netlify-cli-commands/&quot;&gt;https://www.netlify.com/blog/code-faster-wt-these-10-netlify-cli-commands/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Membangun Web Server Multi Aplikasi]]></title><description><![CDATA[Bismillah .... Baru kesempatan nulis lagi, karena belakang ini load pembuatan modul sekaligus aplikasi (UTDRS/ Mini PMI) ditambah Setup Server untuk domain  yang digunakan untuk…]]></description><link>https://topidesta.my.id/membangun-server-ubuntu-aapanel/</link><guid isPermaLink="false">https://topidesta.my.id/membangun-server-ubuntu-aapanel/</guid><category><![CDATA[project]]></category><category><![CDATA[server]]></category><pubDate>Sat, 13 Aug 2022 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah ....&lt;/p&gt;
&lt;p&gt;Baru kesempatan nulis lagi, karena belakang ini load pembuatan modul sekaligus aplikasi (UTDRS/ Mini PMI) ditambah Setup Server untuk domain &lt;code class=&quot;language-text&quot;&gt;persahabatan.co.id&lt;/code&gt; yang digunakan untuk Staging Area Pengembangan Aplikasi Programmer lainnya dan berbagai kesibukan offline (bermain dengan anak dan istri, hehe) bikin lupa untuk nulis hal tekhnis hehe...&lt;/p&gt;
&lt;p&gt;Share kali ini gw mau bahas tentang Membangun server VPS untuk berbagai aplikasi, mulai dari PHP, NodeJS, Python hingga Golang. Mungkin bahasan yang sama di halaman ini juga, terutama mulai persiapan hingga siap digunakan. Sekedar informasi, sebelum menggunakan panel yang sekarang &lt;a href=&quot;https://www.aapanel.com?referral_code=FDoEEhxd&quot;&gt;aaPanel&lt;/a&gt; gw udah coba install &lt;a href=&quot;https://github.com/kurniawandata/nasihosting.git&quot;&gt;NasiHosting&lt;/a&gt; dan explorer beberapa panel namun, melihat support, akhirnya apanel pilihannya.&lt;/p&gt;
&lt;p&gt;Untuk Project jadi, ada dihalaman ini &lt;a href=&quot;https://persahabatan.co.id/&quot;&gt;https://persahabatan.co.id/&lt;/a&gt; dan &lt;a href=&quot;https://dev.persahabatan.co.id/&quot;&gt;https://dev.persahabatan.co.id/&lt;/a&gt; untuk bahannya kurang lebih sebagai berikut:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;VPS dengan IP Publik&lt;/li&gt;
&lt;li&gt;Ubuntu Server 20.04&lt;/li&gt;
&lt;li&gt;AAPanel (Free Forever, Plugin Pro Bayar!)&lt;/li&gt;
&lt;li&gt;DNS CloudFlare (Free-Tier Version)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Yaps, 4 bahan itu yang akan membantu kita membangun sebuah server yang sederhana yang bisa kita gunakan untuk kebutuhan pribadi (bukan untuk dijual lagi sebagai hosting ya). Kita bisa buat aplikasi Multi PHP Version, mulai dari Framework sampai CMS yang terkenal, bisa multi NodeJS atau aplikasi Statis Javascript, Python hingga Golang pun bisa... mantap kali kan... haha, untuk Docker hanya Pengguna Profesional alias Berbayar.&lt;/p&gt;
&lt;h2 id=&quot;persiapan&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#persiapan&quot; aria-label=&quot;persiapan permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Persiapan&lt;/h2&gt;
&lt;h3 id=&quot;download-aapanel&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#download-aapanel&quot; aria-label=&quot;download aapanel permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Download aaPanel&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Login ssh menggunakan Putty atau lainnya.&lt;/li&gt;
&lt;li&gt;Install aaPanel &lt;code class=&quot;language-text&quot;&gt;wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh &amp;amp;&amp;amp; sudo bash install.sh 93684c35&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Done&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;daftarkan-domain-ke-cloudflare&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#daftarkan-domain-ke-cloudflare&quot; aria-label=&quot;daftarkan domain ke cloudflare permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Daftarkan Domain Ke Cloudflare&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Daftar seperti biasa&lt;/li&gt;
&lt;li&gt;Add domain&lt;/li&gt;
&lt;li&gt;Done&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://doc.aapanel.com/web/#/3?page_id=180&quot;&gt;https://doc.aapanel.com/web/#/3?page_id=180&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Untuk Pengecekan apakah IP VPS (Public) sudah mengarah ke DNS Cloudflare silahkan cek IP publik ya bukan domain utamanya dengan alamat berikut&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://intodns.com/&quot;&gt;https://intodns.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dnschecker.org/all-dns-records-of-domain.php&quot;&gt;https://dnschecker.org/all-dns-records-of-domain.php&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dnschecker.org/port-scanner.php&quot;&gt;https://dnschecker.org/port-scanner.php&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://zonemaster.se/en/&quot;&gt;https://zonemaster.se/en/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;permasalahan&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#permasalahan&quot; aria-label=&quot;permasalahan permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Permasalahan&lt;/h2&gt;
&lt;p&gt;Dalam Instalasi tak semudah membalikkan tangan, ada beberapa configurasi lanjutan, ikuti saja manual booknya/ dokumentasi aapanel. Untuk Staging kebutuhan gw misalnya, masih menggunakan PHP 5 untuk kebutuhan internal aplikasi, dan si aapanel tidak fully support, tapi masih menyediakan untuk di pasang diserver kita, misal, ada error seperti ini.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 80.60606060606061%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB5ElEQVR42pVUa5OiMBD0//+orfu29+GqtGpZwD1X0CAKCgLyEF+909kLh+4eVWdVO2SSdDrTUxn9eH6C8+7CfrM1rOkrXhwLrxIt19I557cDy3nBuz/DIvDhK+8O3nKOIFT4+esZo6ltA2WF4y5BKzjt9zimKY5JomOb5Wj3GZqqxvV6xXe/2+2mo1IKI9d1EW82UIsFwiBAtF4j3e2QCmF5OKCpKyETNDXqukYl3/+C4zgY8W8tJErIVqsVwjDU41TU5XmusRfVjFmWdZE5RgOOJ5PJp0Iu2m63HUhWFEW3kGNzwEFUc+4RVD+bzaSG06netFwuEYhK3/f1N5Uacs4TZVnqjX2Y67Ztq/dqQipZSA1JRGykpiQkGRURQ7XjQST0PO8vIR0yhEbdTsxJxByqY2SOax/N+ULIDZRLMEmYEpA8jmNNbmo5qJAu81Q6y81RFOkrE1TEMQmpkBtpwCAhXT6fz/oaTdPcweT6BnzXi18IT6eTLjwn+hgyYrCGJPwfgkdQDG/S1ZCErI1pD5L3FZvW6ed1/PNNssvl8tmHtjwOJGPxCRafJhhD6K4ZE3EkjqcJiuaArMxRVEX3aOjHYTwe6/Yw7WLah41u2ugu5/mY+3N48ozN5ekiVKD04ZZl4QObtrYGJ2OGywAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Error PHP5&quot;
        title=&quot;&quot;
        src=&quot;/static/11ab4d2f587fc7a97d27eeca311fe166/7c811/error-php5.png&quot;
        srcset=&quot;/static/11ab4d2f587fc7a97d27eeca311fe166/103f2/error-php5.png 165w,
/static/11ab4d2f587fc7a97d27eeca311fe166/748ba/error-php5.png 330w,
/static/11ab4d2f587fc7a97d27eeca311fe166/7c811/error-php5.png 660w,
/static/11ab4d2f587fc7a97d27eeca311fe166/d28e0/error-php5.png 990w,
/static/11ab4d2f587fc7a97d27eeca311fe166/92844/error-php5.png 1032w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;gw share di forum aapanel -&gt; &lt;a href=&quot;https://forum.aapanel.com/d/13472-error-php-info&quot;&gt;https://forum.aapanel.com/d/13472-error-php-info&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;dan oleh Kern, salah satu Tim Support menjawab, kurang lebih disuruh install &lt;code class=&quot;language-text&quot;&gt;sudo apt-get install libc-ares-dev &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Sebetulnya ada banyak trouble saat pertama kali gw ngebangung server VPS dengan aaPanel ini, mulai DNS yang tak kunjung resolve, port ip public yang tertutup, dan aapanel yang sering ngecrash, hingga ada 1 insiden yang bikin gw panik, gegara menjalankan perintah aneh, kurang lebih perintah anehnya seperti ini&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;firewall-cmd &lt;span class=&quot;token parameter variable&quot;&gt;--permanent&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;--zone&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;public --add-port&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;80&lt;/span&gt;/tcp &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; /dev/null &lt;span class=&quot;token operator&quot;&gt;&lt;span class=&quot;token file-descriptor important&quot;&gt;2&lt;/span&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token file-descriptor important&quot;&gt;&amp;amp;1&lt;/span&gt;
firewall-cmd &lt;span class=&quot;token parameter variable&quot;&gt;--permanent&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;--zone&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;public --add-port&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;443&lt;/span&gt;/tcp &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; /dev/null &lt;span class=&quot;token operator&quot;&gt;&lt;span class=&quot;token file-descriptor important&quot;&gt;2&lt;/span&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token file-descriptor important&quot;&gt;&amp;amp;1&lt;/span&gt;
firewall-cmd &lt;span class=&quot;token parameter variable&quot;&gt;--reload&lt;/span&gt;

ufw allow &lt;span class=&quot;token number&quot;&gt;80&lt;/span&gt;/tcp
ufw allow &lt;span class=&quot;token number&quot;&gt;443&lt;/span&gt;/tcp
ufw reload&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Akhirnya gw diminta email ke si kern, semua detailnya, wishlah kasih ajah toh ini project testing. hehe, singkat cerita gw email dibalas dalam beberapa jam, cepet banget coy, kurang lebih resolve seperti ini.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;Hello, run the following command to see:
panelPort=$(cat /www/server/panel/data/port.pl)
echo ${panelPort}
firewall-cmd --permanent --zone=public --add-port=20/tcp &gt;/dev/null 2&gt;&amp;amp;1
firewall-cmd --permanent --zone=public --add-port=21/tcp &gt;/dev/null 2&gt;&amp;amp;1
firewall-cmd --permanent --zone=public --add-port=22/tcp &gt;/dev/null 2&gt;&amp;amp;1
firewall-cmd --permanent --zone=public --add-port=80/tcp &gt;/dev/null 2&gt;&amp;amp;1
firewall-cmd --permanent --zone=public --add-port=${panelPort}/tcp &gt;/dev/null 2&gt;&amp;amp;1
firewall-cmd --permanent --zone=public --add-port=39000-40000/tcp &gt;/dev/null 2&gt;&amp;amp;1
firewall-cmd --reload
firewall-cmd --list-all
---------
bt 14
--------
bt status&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;and done. semua bisa diakses.&lt;/p&gt;
&lt;h2 id=&quot;implementasi-di-server&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#implementasi-di-server&quot; aria-label=&quot;implementasi di server permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Implementasi di Server&lt;/h2&gt;
&lt;p&gt;Saat ini implementasi diserver baru sebatas aplikasi PHP dan NodeJS, untuk Python dan Golang belum gw implementasi, mungkin yang Golang akan gw coba buat service, REST API sederhana ya, karena ada fiture Docker (versi demo yang terbatas), jadi gw bungkus pake Docker ajah. dan belum terimplentasi, dan .NET 6 core, sudah terinstall.&lt;/p&gt;
&lt;p&gt;Untuk sekarang hanya berjalan aplikasi PHP (5,7,8) dan NodeJS (Api Whatsapp).&lt;/p&gt;
&lt;h2 id=&quot;link-belajar&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#link-belajar&quot; aria-label=&quot;link belajar permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Link Belajar&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLTErGYUpf8x1LumYtc0QpBS4WsUohJadN&quot;&gt;aaPanel Bahasa Indonesia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://topidesta.files.wordpress.com/2022/08/api-aapanel.pdf&quot;&gt;Api aaPanel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://topidesta.files.wordpress.com/2022/08/aapanel_linux_panel_plug-in_development_documentation_v1.1.pdf&quot;&gt;aaPanel Plugin Development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://topidesta.files.wordpress.com/2022/08/aapanel-nodejs-centos7-setup.pdf&quot;&gt;aaPanel Install Setup&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;api-service&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#api-service&quot; aria-label=&quot;api service permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;API Service&lt;/h2&gt;
&lt;p&gt;aaPanel menyediakan API untuk mengakses informasi tanpa login ke aaPanel, informansinya ada dihalaman berikut&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://forum.aapanel.com/d/482-api-interface-tutorial&quot;&gt;https://forum.aapanel.com/d/482-api-interface-tutorial&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;disana sudah ada dan detail, berhubung, saya develop di dunia PHP jadi saya share juga api nya&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/rspersahabatan/api_aapanel&quot;&gt;https://github.com/rspersahabatan/api_aapanel&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Kalo mau liat service mana yang jalan, tinggal liat deh di modul Prima SIMRS.&lt;/p&gt;
&lt;h2 id=&quot;update--10-november-2023&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update--10-november-2023&quot; aria-label=&quot;update  10 november 2023 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;UPDATE ~ 10 NOVEMBER 2023&lt;/h2&gt;
&lt;p&gt;Server Hosting terbagi menjadi 2, Internet dan Local access, 1 ke Biznet 1 nya lagi ke Bali Tower. Hal ini dilakukan Setelah ada kejadian IP Public gak bisa akses CloudFlare untuk Provider Bali Tower.
Berikut detail masing masing untuk speedtest.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 26.666666666666668%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAyUlEQVR42m3Q646EIAwFYG+AXAS5rWb2/Z/zbFtnnJjsj6Yh1K8Hh2ma4IOHdw7WWoQQsCwL5nm+i89Kqe+ZahiG/4sHjDHIOSOmiNYqSq3IJeM4DqSUaJGTRWY18D7I8nlifAEHeoDruhJQUAnRWks/zwv6IbCUgt679G3bCHRw79d4WuKcfYLjOIJRTqDUBb5+X5L2OE+BGoGtN8QY5fcEgQil8sE9QR7qNFxygQsWuWbs+y4fcUruMaYbSXTHST/3d1rvoY3GH4jcb5i4WJl1AAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;VPS By Biznet&quot;
        title=&quot;&quot;
        src=&quot;/static/b9b7449c905963557fa927414b9203fe/7c811/cloud.png&quot;
        srcset=&quot;/static/b9b7449c905963557fa927414b9203fe/103f2/cloud.png 165w,
/static/b9b7449c905963557fa927414b9203fe/748ba/cloud.png 330w,
/static/b9b7449c905963557fa927414b9203fe/7c811/cloud.png 660w,
/static/b9b7449c905963557fa927414b9203fe/6a959/cloud.png 699w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;
&lt;a href=&quot;https://www.speedtest.net/result/c/1279c5d4-4e59-488b-8783-1c41f7366181&quot;&gt;Biznet Cloud&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://persahabatan.co.id&quot;&gt;https://persahabatan.co.id&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 24.848484848484848%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA9UlEQVR42lVR2Y6DMAyEwIJUIBcJCQECVGr//w9nByqttg+W7fiYGadIKUEqBTuOkFLCGIvmp0ElKoiqQkWraaIUqOuaeQ3B2hWXZYmiKL5tXVc2CMQ5wjuH4CNSTNi3jJRWbOuGzLjvOigCKqkxDAOMNWjb9gb8WngeJ0ayyznj0T0Q4ozncWCaPPJ+YFkW7PuObUnwfqIKBa01+qGnGkMAdS/6Y3tJbprmZnf5mYPPkwuZ7wRb1uUGy1QSCaa1gbUW2qj7RN55nuOf9NfrzcZIyTMUEacQyChj5JAjI823K7b0F6PAuiOY8+6TTwFayc8fKIlfcmF2dt1+S78AAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;VPS By BaliTower&quot;
        title=&quot;&quot;
        src=&quot;/static/a6c1695f9694fbd9900b399f9c538fac/7c811/local.png&quot;
        srcset=&quot;/static/a6c1695f9694fbd9900b399f9c538fac/103f2/local.png 165w,
/static/a6c1695f9694fbd9900b399f9c538fac/748ba/local.png 330w,
/static/a6c1695f9694fbd9900b399f9c538fac/7c811/local.png 660w,
/static/a6c1695f9694fbd9900b399f9c538fac/d703b/local.png 786w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;
&lt;a href=&quot;https://www.speedtest.net/result/c/6e40eb8e-a986-49ac-9dab-fe7500fde978&quot;&gt;Bali Tower&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://dev.persahabatan.co.id&quot;&gt;https://dev.persahabatan.co.id&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;update--1-januari-2024&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update--1-januari-2024&quot; aria-label=&quot;update  1 januari 2024 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;UPDATE ~ 1 JANUARI 2024&lt;/h2&gt;
&lt;p&gt;Alhamdulillah, bisa configurasi server untuk &lt;a href=&quot;https://halobayi.co.id&quot;&gt;Halo Bayi Indonesia&lt;/a&gt;, mulai migrasi domain name, pembelian vps dan configurasi untuk mail server juga. hihi, banyak yak. untuk mail server sempet masih dianggap spam, mungkin domain ini baru netes dan terindex di dns secara global jadi gak anggep domain spammer. ada beberapa kendala waktu itu diantaranya&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Mail server tidak bisa mengirim pesan&lt;/li&gt;
&lt;li&gt;Service mail server mati&lt;/li&gt;
&lt;li&gt;Setting Terminal di aaPanel&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Untuk yang mail server tidak bisa mengirim pesan, di aapanel sudah dishare tricknya dihalaman forum, certnya suruh di arahkan ke subdomain mail server yang kita buat.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://forum.aapanel.com/d/1254-how-to-use-the-mail-server-relay-function/22&quot;&gt;https://forum.aapanel.com/d/1254-how-to-use-the-mail-server-relay-function/22&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Selanjutnya service mail server mati, gak bisa login, ternyata service postfix mati, restart lah, dan berhasil, alhasil, masa harus tiap hari ngecek? gak mau kan, buat aja cronjob, ada juga yang share di forum aapanel, berikut ini linknya.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://forum.aapanel.com/d/19112-notification-for-mail-server-status&quot;&gt;https://forum.aapanel.com/d/19112-notification-for-mail-server-status&lt;/a&gt;
&lt;a href=&quot;https://gist.github.com/mdestafadilah/b862c95f12790b31b2cedc6ee184ab9c&quot;&gt;https://gist.github.com/mdestafadilah/b862c95f12790b31b2cedc6ee184ab9c&lt;/a&gt;
&lt;a href=&quot;http://go.topidesta.my.id/root-cmd&quot;&gt;http://go.topidesta.my.id/root-cmd&lt;/a&gt;
&lt;a href=&quot;https://youtu.be/BPJb6tx9PSc?si=rJeTrg9emlDlAf5Z&quot;&gt;https://youtu.be/BPJb6tx9PSc?si=rJeTrg9emlDlAf5Z&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;*Saya pake nginx dan server ubuntu ya.&lt;/p&gt;
&lt;h2 id=&quot;testing-out-dan-in-email&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#testing-out-dan-in-email&quot; aria-label=&quot;testing out dan in email permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Testing Out dan In Email&lt;/h2&gt;
&lt;h3 id=&quot;testing-email-keluar&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#testing-email-keluar&quot; aria-label=&quot;testing email keluar permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Testing Email Keluar&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://www.appmaildev.com/en/dkim&quot;&gt;https://www.appmaildev.com/en/dkim&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Jika ada error &lt;strong&gt;DKIM&lt;/strong&gt; none, silahkan lakukan perintah berikut:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;644&lt;/span&gt; /www/server/dkim/xx.com/default.private
systemctl restart rspamd&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id=&quot;testing-email-masuk&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#testing-email-masuk&quot; aria-label=&quot;testing email masuk permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Testing Email Masuk&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://www.gmass.co/smtp-test&quot;&gt;https://www.gmass.co/smtp-test&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Isi sesuai dengan configurasi mail servernya ya.&lt;/p&gt;
&lt;h3 id=&quot;email-smpt-alternative&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#email-smpt-alternative&quot; aria-label=&quot;email smpt alternative permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Email SMPT Alternative&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://www.mailersend.com/pricing&quot;&gt;https://www.mailersend.com/pricing&lt;/a&gt;
&lt;a href=&quot;https://www.smtp2go.com/pricing/&quot;&gt;https://www.smtp2go.com/pricing/&lt;/a&gt;
&lt;a href=&quot;https://sendpulse.com/prices&quot;&gt;https://sendpulse.com/prices&lt;/a&gt;
&lt;a href=&quot;https://www.brevo.com/pricing/&quot;&gt;https://www.brevo.com/pricing/&lt;/a&gt;
&lt;a href=&quot;https://ahasend.com/pricing&quot;&gt;https://ahasend.com/pricing&lt;/a&gt;
&lt;a href=&quot;https://www.mailjet.com/pricing/&quot;&gt;https://www.mailjet.com/pricing/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;test-jaringan&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#test-jaringan&quot; aria-label=&quot;test jaringan permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Test Jaringan&lt;/h2&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;Hi, Welcome to Bench.sh

You are able to use this tool to view system information and &lt;span class=&quot;token builtin class-name&quot;&gt;test&lt;/span&gt; the network, disk of your Linux server by using the &lt;span class=&quot;token builtin class-name&quot;&gt;command&lt;/span&gt; as follows

&lt;span class=&quot;token function&quot;&gt;wget&lt;/span&gt; -qO- bench.sh &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;bash&lt;/span&gt;

Or

&lt;span class=&quot;token function&quot;&gt;curl&lt;/span&gt; -Lso- bench.sh &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;bash&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;hdd-penuh&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#hdd-penuh&quot; aria-label=&quot;hdd penuh permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;HDD Penuh&lt;/h2&gt;
&lt;p&gt;Terkadang aplikasi sedikit tapi tetiba hdd sudah mencapai 80%, bisa jadi itu cache/ log dari aplikasi yang tersimpan, seperti dibawah ini:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 206px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 143.63636363636363%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAdCAYAAACqhkzFAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB0klEQVR42t2Vy0/bQBDG/Z9z4gAcAFWckHrpsULigKiqSpyAQgsIJTxaRBEPEZxQk9rZl/f1sV7HTkoCCcJCCMujtXfHv935ZmcdoOIrePtAay2qtOB9aKi1dqaqAzLGobRxT9bd5mVApzMUa8OyVv7iO81zgQbGGFDSQUI4yMU66PY06M9ZqHDvSehQoHHOcZKAc+63QqllcgWyNQVxuvIodBBoNcj5BgSnRUf+YfGxcePbM1Ct2lBoD9gdUNEJ6O6HnoD/LV3nPreHzmdhqM8AUPxZRXr2tewzIoFhd87+lT5WCa+nlaQXxaPAk2WkF2tlclTzyCXiCLJRg+FJt1s64BysiEcDZeMHWO1jqac1Kg81a20esulc+xWOyLLtMgTI5qTPaKlRkZTupNmE4uzLiKT0J6ZVR2d9ArrTGBCe/14C3Zl/xsYuoLd1kO9TYPuLft/x489uu0yDHXzyUTzU7ulKKcLQEib6hfT8G+T1Zl5+JciOXylCCFcl1LdCGWgXcqosRKrBGQGlBEqq8YBaKTSbLdxFf3F5eYWbmxDE1XS73fYWRRHCMEQSJ+OvsP9Izw6JzLIQs7Z/7HVObOVCrNKCOI5RpQVSSlRpb/83eg/Jb+bRed+W6gAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;HDD Server Penuh&quot;
        title=&quot;&quot;
        src=&quot;/static/203b89e86d75ff75f2a90484969108fa/56061/hdd-server-penuh.png&quot;
        srcset=&quot;/static/203b89e86d75ff75f2a90484969108fa/103f2/hdd-server-penuh.png 165w,
/static/203b89e86d75ff75f2a90484969108fa/56061/hdd-server-penuh.png 206w&quot;
        sizes=&quot;(max-width: 206px) 100vw, 206px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;$ &lt;span class=&quot;token function&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;du&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-sh&lt;/span&gt; /www/wwwroot&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;atau&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;$ ncdu &lt;span class=&quot;token parameter variable&quot;&gt;-x&lt;/span&gt; /&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;atau&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;$ &lt;span class=&quot;token function&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;du&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-h&lt;/span&gt; --max-depth&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; /www &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;sort&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-hr&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;https://askubuntu.com/questions/5444/how-to-find-out-how-much-disk-space-is-remaining&quot;&gt;Sumber Trick&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;gak-bisa-login-ke-ssh&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#gak-bisa-login-ke-ssh&quot; aria-label=&quot;gak bisa login ke ssh permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Gak bisa Login ke ssh&lt;/h2&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 38.18181818181819%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABvUlEQVR42jVS2XLaQBDUE1WWRNABFgYZSeiyZUAIHBCgC8mQgI1fUnbiVOX/P6Mzu3Eeunqnd6urZ2YFzdMRxyb+vG7x3qzx63uK35cNPs4pPi6E0wY/M9KLFD/SJQxVgdSWoSgKVEKn0yFWed1utyGkqw3KzQ7PdYNv1R7HssRz80RocKpqzseywKne49zUSFcrBGEIXdfR7xvodrvEfRiGQeZfIGR5hsPhCZvdDnlREHJkhB3pBRkVVYUsz1ESs/skWcAdu2i1WhBFEeLV1T8WJciyDCGKIoz9gMPxfATRhBDR2fvUQ/j3VNM5uLuHR/pwOIRpmrihZIxVVeVm3DAMAuTJHPVyjjKJUS1iNF8XqB8TZPGUa8V8yu9nYQDXc9Hr9fi8/kOSJJ7y0zDEYTHDy3qJM6Gmc/M4x8t2jdftiuv7WYT99A7ujQGZDDRNg0LL4AuhdKxmM2XGwmQywZhSOr4P23VRUKJLVWAVzzCiWd3aY4QPD/yNz0Atm+YQt9TqYDCASe2zEViWxU0F27JhjUZwHAeubeNI6d7qAlN7xL8C26JxfU2sQ6ckmqpBJe71ujwZg0pfiZkxw79EWegb82bi2QAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Failed ssh login&quot;
        title=&quot;&quot;
        src=&quot;/static/627279c4e40b611ec108440d85d09642/7c811/ssh-failed-login.png&quot;
        srcset=&quot;/static/627279c4e40b611ec108440d85d09642/103f2/ssh-failed-login.png 165w,
/static/627279c4e40b611ec108440d85d09642/748ba/ssh-failed-login.png 330w,
/static/627279c4e40b611ec108440d85d09642/7c811/ssh-failed-login.png 660w,
/static/627279c4e40b611ec108440d85d09642/97114/ssh-failed-login.png 690w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;itu karena ssh keypair di portal biznet kita sudah ubah. langkah selanjutnya kita login dengan keypair baru.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 47.27272727272727%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAuklEQVR42qWSTQ7CIBCFuf/WQ3gCdx7ArZew1lZb6c8AM/BkiCYuXNR2kpdAQj7ee2CYGSIC5z0e1iKlhC1jyHmME0HBnMExxm3A7lajvVSQuM2ZJlOZYHuMbQN+A9OPQ//IhOEJdg4xbyT3KLpWkUPKFSwFaWUFSHWVAVQc8f2O8FHTIAVeHJmISv9m9oTdYY/j+YSQIqbgi9vVHSr12rXoR1tukK+Yq17Z2gE+f521EzWVmzHSjCCMFymIxu4qUzYUAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Keypair baru&quot;
        title=&quot;&quot;
        src=&quot;/static/54c555b8ea0071bb93700571e044397f/7c811/biznetkoplak.png&quot;
        srcset=&quot;/static/54c555b8ea0071bb93700571e044397f/103f2/biznetkoplak.png 165w,
/static/54c555b8ea0071bb93700571e044397f/748ba/biznetkoplak.png 330w,
/static/54c555b8ea0071bb93700571e044397f/7c811/biznetkoplak.png 660w,
/static/54c555b8ea0071bb93700571e044397f/d28e0/biznetkoplak.png 990w,
/static/54c555b8ea0071bb93700571e044397f/69083/biznetkoplak.png 1158w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;λ ssh-keygen &lt;span class=&quot;token parameter variable&quot;&gt;-R&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;192.168&lt;/span&gt;.132.2&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;nanti konfirmasi keypair baru, seperti berikut:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 35.75757575757576%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABk0lEQVR42mWRXW8SYRCFN/FGgV122U+Wpd1lv14qLAFqSiqGANZQ2lRpTSCrsTf+BPVaTfzdjy9UTUwvTiZzknPmzIyyerdCC1SSboswtlkOMi5e9VlOC87HKVqzSkWvUK1UqVb/R61WewRlu90RRx3Wp0Ouh33KsyHryQvmpyOmRQ+RZji2g2HomI0GDcNA13XZG6ia9tjw6u0VhmdgBi6671AxpajlYjYtdNfEaXuYno1uSN60cFwXx3HkEBtNq/9L+rcq682ailwrTR3OhcckdMkzDztpInKfxVnGfJgz66Ysezlty+TJ02cHsSYTqqp6SLpPve+VclcSHkX0xQmFEOSdDkkUsxiN+LK55vvujh8f3vOzvOXXx4d6OR4QhpEcnJEkCULq4jimIU+ilGVJ+6hNlmeIbpckTYmkaXEi+DR/ybfNJV8lPq8W3L+Zc38x42YyJvB9giCQxuGh1usP68unbCXRIvozMYxCaRiThce8HhXMBj2mzwVBq0Ugeavp4wZtjqXR4VGWhSWxf9je8Dd16Mb4rEhDlwAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;login-ssh-berhasil&quot;
        title=&quot;&quot;
        src=&quot;/static/febfb92df66db6d3f32b05a61b5274ca/7c811/login-ssh-berhasil.png&quot;
        srcset=&quot;/static/febfb92df66db6d3f32b05a61b5274ca/103f2/login-ssh-berhasil.png 165w,
/static/febfb92df66db6d3f32b05a61b5274ca/748ba/login-ssh-berhasil.png 330w,
/static/febfb92df66db6d3f32b05a61b5274ca/7c811/login-ssh-berhasil.png 660w,
/static/febfb92df66db6d3f32b05a61b5274ca/a1f70/login-ssh-berhasil.png 683w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;kalo udah tinggal login dengan file *.pem dari biznet.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;λ &lt;span class=&quot;token function&quot;&gt;ssh&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-i&lt;/span&gt; namafilecloud.pem username@ip_publik_biznet&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 74.54545454545453%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACrUlEQVR42m1Tu24TURDdBif2Omtn3++18a5tYWwcQ4SCgAIwgiIBpUhDhRASBX9AScFHoCS8CopItJEg0FAQJ0ZBgBTCxxxmJnYUnBRHc/fuzJlz59yrbG5uYjj8juHuENvftjEYDPBjb4/2hhhs72B3Zwc/f/3Glw8b+PjqJbberuHT61WJn9+tY+vNKr5uvMff/X38OTiA0utdROt8C512B91uF81mE+12G51O5wjnWi3M0b/L8/OSc6nXwwXKqWcpIUOzXke9niGKIiimaSGMQvnQdR2WZcL1XHiehyAIYDs2bMuCppWgFouYnp5GvlCQeCaXQ25qCrkcI4cpWis+FbGKaqWKIhXEcYw0zZCNunKsVirUyIJpGpKjqqrE06DYtg3HcQS+71ORCcMwYFB0XYfgjshMOJTLpxBSQoGI1UlCVsRzS5JEjlghNYZhCjk3q1araDQaEpm4XC4jDkOENAqPFFv0/R9hklSEkAt4lqyIj1SenUWpVBKSkObL4PWMpuHB3T7WXzzHGuHZ44coHVOqcFJM6lhpHFMhdec1q+V1EJBhFF0yyfN8UR6GEWppSqjJjCMSMp6rousGJQUjAopUEBExg51m9+Mkkv/jJg4dl2fMI+EmFq2PCA83vSMD2Bwm4T3LskeKeBSemMLNx2PJ5/OC464rXMxwHVeKxyp47fueHNWg4bPzbAi7bNuWzLdYPHl9hJAN4blxZCTkdEYvgNeslFXzHeQcvgXmsSOeIBSC5DAxJnK+6Oz8+PWwARER6fSiZkldvqBSNKCVNBTVUwgNStSpozkaMrvu0dOzaF8uNCEJfCz1b2Lpdh+L/Vu40puDOprdJJT7VxewcuM6GlkqVyEl1Okq1Go1hKSW3TxLah8t3sGT5SU8XVnGvWsL0GZmZI6T+AdL8q9Sc3TDjQAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;login&quot;
        title=&quot;&quot;
        src=&quot;/static/1cd4e58f72f90bf474b60868c6ff6532/7c811/ssh-berhasil.png&quot;
        srcset=&quot;/static/1cd4e58f72f90bf474b60868c6ff6532/103f2/ssh-berhasil.png 165w,
/static/1cd4e58f72f90bf474b60868c6ff6532/748ba/ssh-berhasil.png 330w,
/static/1cd4e58f72f90bf474b60868c6ff6532/7c811/ssh-berhasil.png 660w,
/static/1cd4e58f72f90bf474b60868c6ff6532/f5f2a/ssh-berhasil.png 695w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Jika sudah bisa login tinggal ubah deh Password, ikuti arahan berikut ini ya &lt;a href=&quot;#3&quot;&gt;[Rubah-root-password-server]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Oh iya, jangan lupa copy id_rsa.pub ke terminal web base (terminal aapanel), seperti berikut:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 526px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 98.18181818181817%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC/ElEQVR42o1US08TURTm3/ETeMjCjS5YGGOixJhoXBgTNi5go4lxYSQBjNKoTFsBgfjA0hbSB0FaatIHtLTTdt7tzLSf59x2cGob9SZf7rk3Z775vnPuvWPj4+OYmZnB5OQkpqamMD09LWZeT0xMCHD8L3De3NwcxiKRCGzbRrPZhKZpUBRFxIZhiLWu63BdF38bnU5HzIlEokfIo9VqiQ8Z/ANOYjiOc7n/J7wczueRTCYxFo1GxYITLMsS4CRWqJNCjrvd7hB4n3M9ch7pdHqQsN1uC3AyK7b7iZ6SP+G5YhdDhPw3lt6z0iV1KnL731A5OYLbJeuuIzCKeCShaZqiATwzqdpsoJw8gJrLDDRglP2RhLwpbPYb0iLrPL5U4ri+cxezu/fwMPqEGDGynkOEXDs+JqyQEzSy3LEcbOY/48rWDVz9dAu39x75pV5iJCEr8yt0yLZO5KZJtbXsHsw2dOq+xc3g+hGZSXGlUhEcqVRqkJBraOgabLJ/tL2B/dVXiAdWEH27jMPAa8TXVnAQWMVRMIDM5gdktySchN+j/PN0mNCTLepJ5GenWZQyP2jOoEgzf3SWy4p9hlYtw6xVoV+Uoci1nmU/oXc45dhXyIcRmMTf0A00VA21ep3QEHNVlsWsUI3rjSbqdBq4BEM1ZLu6quDk5VNUUwcoHKeR291A87zkXdiBRnR98eiDbTswGjKsWgVsXinl0cweQyc7rN3tuKIRAtxZgv/u/yaMxXpNoVfGbJB8sulQJ1t0c7jDbVLuqCpcqwWHDz13nda81+k/EAMKY/E4XRMLWjpF9Yuj9GYNciiM83UJ+eVlXGxsQonsQ5ZCqIc+ilhPpaHRy+JS7br9S3FJ+L3/fNlshaSbhQKMfIHmIsx8nlCAVa3C4P1iUcRsmcFnlUvhOL2GJvzPl//Y/M9QyXKxVEK5XMZ86hlmD+/j3Z6EsYXFRWzv7GBdkhAMhSAFgwgSpD78sYdQOIy1QABLS0tYobLcefEA157fxOOFefwC7na3eEgGlYEAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;terminal-aapanel&quot;
        title=&quot;&quot;
        src=&quot;/static/d558411debdcdc3ad29dcfe1cb2da7e9/55e98/terminal-aapanel.png&quot;
        srcset=&quot;/static/d558411debdcdc3ad29dcfe1cb2da7e9/103f2/terminal-aapanel.png 165w,
/static/d558411debdcdc3ad29dcfe1cb2da7e9/748ba/terminal-aapanel.png 330w,
/static/d558411debdcdc3ad29dcfe1cb2da7e9/55e98/terminal-aapanel.png 526w&quot;
        sizes=&quot;(max-width: 526px) 100vw, 526px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;modsecurity-install&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#modsecurity-install&quot; aria-label=&quot;modsecurity install permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ModSecurity Install&lt;/h2&gt;
&lt;ul&gt;
&lt;ol&gt;https://www.youtube.com/watch?v=pNDH437ih6I&lt;/ol&gt;
&lt;ol&gt;https://www.youtube.com/watch?v=478ku0_2LvI&lt;/ol&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;ganti-password&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ganti-password&quot; aria-label=&quot;ganti password permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Ganti Password&lt;/h2&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;root@UbuntuServer:~&lt;span class=&quot;token comment&quot;&gt;# sudo passwd root&lt;/span&gt;
New password:
Retype new password:
passwd: password updated successfully
root@UbuntuServer:~&lt;span class=&quot;token comment&quot;&gt;#&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;root@UbuntuServer:~&lt;span class=&quot;token comment&quot;&gt;# passwd&lt;/span&gt;
New Password:
Retype new password:
passwd: password updated successfully
root@UbuntuServer:~&lt;span class=&quot;token comment&quot;&gt;#&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;cloud-panel-by-geminiai&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cloud-panel-by-geminiai&quot; aria-label=&quot;cloud panel by geminiai permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Cloud Panel by &lt;a href=&quot;#4&quot;&gt;[GeminiAI]&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;su&lt;/span&gt; - rspwa-v1
&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; /home/rspwa-v1/htdocs/v1.rspwa.net
dploy init ghost&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;kesimpulan&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#kesimpulan&quot; aria-label=&quot;kesimpulan permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Kesimpulan&lt;/h2&gt;
&lt;p&gt;Rasanya perlu juga ada kesimpulan? hehe.. baiklah, intinya &lt;strong&gt;Belajar bukan tentang kompetisi, tapi disiplin diri untuk menghadapi berbagai tantangan &lt;a href=&quot;#1&quot;&gt;[1]&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&quot;reference&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#reference&quot; aria-label=&quot;reference permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Reference&lt;/h3&gt;
&lt;ul&gt;
&lt;ol&gt;&lt;a id=&quot;1&quot;&gt;[1] http://go.topidesta.my.id/belajar-niru&lt;/a&gt;&lt;/ol&gt;
&lt;ol&gt;&lt;a id=&quot;2&quot;&gt;[2] http://go.topidesta.my.id/akses-ssh-biznet&lt;/a&gt;&lt;/ol&gt;
&lt;ol&gt;&lt;a id=&quot;3&quot;&gt;[3] http://go.topidesta.my.id/root-instance-server&lt;/a&gt;&lt;/ol&gt;
&lt;ol&gt;&lt;a id=&quot;4&quot;&gt;[4] https://gemini.google.com/share/1727f3164261&lt;/a&gt;&lt;/ol
&lt;/ul&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[TODO List dengan Go dan ReactJS]]></title><description><![CDATA[Bismillah .... Kali ini gw mau share beberapa vidio series tentang membangun Project TODO List dengan Golang sebagai Backend dan ReactJS sebagai Frontend. Karena masih tahap…]]></description><link>https://topidesta.my.id/todolist-golang-reactjs/</link><guid isPermaLink="false">https://topidesta.my.id/todolist-golang-reactjs/</guid><category><![CDATA[golang]]></category><category><![CDATA[reactjs]]></category><pubDate>Sat, 02 Apr 2022 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah ....&lt;/p&gt;
&lt;p&gt;Kali ini gw mau share beberapa vidio series tentang membangun Project TODO List dengan Golang sebagai Backend dan ReactJS sebagai Frontend. Karena masih tahap development, silahkan forked atau clone projectnya dihalaman ini ya&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/amati-tiru-modifikasi/go-reactjs-todolist&quot;&gt;https://github.com/amati-tiru-modifikasi/go-reactjs-todolist&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Untuk vidionya, diambil dari Udemy dan KelasKoding, berikut ini link yang bisa diakses ya.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://go.topidesta.my.id/udemy-golang-todolist&quot;&gt;http://go.topidesta.my.id/udemy-golang-todolist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://go.topidesta.my.id/rest-api-golang&quot;&gt;http://go.topidesta.my.id/rest-api-golang&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://go.topidesta.my.id/rest-gin-gorm&quot;&gt;http://go.topidesta.my.id/rest-gin-gorm&lt;/a&gt; (BONUS)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;sebetulnya gw mau share kalo dah jadi sih, cuman ini biar gw inget dan fokus aja, dan kalo ada yang mau liat proses nyah, lumayan buat nambah portofolio sih, hehe.&lt;/p&gt;
&lt;p&gt;Oh iya, sebetulnya 2 tahun lalu gw pernah share Golang, cuman masih tahap kulitnya doang sih, cek aja &lt;a href=&quot;https://topidesta.my.id/tag/golang/&quot;&gt;ini&lt;/a&gt;, habisnya gw cuman penasaran ajah sama syntactnyah, dah tau, eh malah lanjut fokus di frontend deh (ReactJS, haha), tapi setelah melihat postingan pekerjaan Backend Developer Go-Lang (2022) ... bisa remote dengan 3 hari kerja tapi dengan penghasilan yang gw sekarang (beda jauh sih, hehe) kok gw nyesel ya, hehe... kayak salah langkah getu, hems... gpp, setidaknya selama 2 tahun belajar sembari project pribadi dan bisa ngerasaain build otomatis di Netlify.App dan VercelApp juga, cek &lt;a href=&quot;https://topidesta.my.id/projek/#aplikasi-akses-publik&quot;&gt;disini ya&lt;/a&gt; lumayan lah, buat nambah portofolio, hhee.&lt;/p&gt;
&lt;p&gt;Okeh, lanjut, jadi di tahun 2022 gw bakal fokus buat Backend dengan Golang ditambah gw udah bisa upload ke Heroku dan Nutanix (server kantor) dan mungkin beberapa Backend di kantor yang live akan gw coba ubah dari Codeigniter (PHP) dengan Golang (belum nentuin F/W nyah, hehe), semoga Allah mudahkan dan Fokuskan, aamiin.&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Helper Codeigniter Yang Berguna]]></title><description><![CDATA[Bismillah .... Kebetulan development internal masih menggunakan PHP 5, dan beberapa fungsi ada yang gak berjalan, langkah terbaiknya dengan memanfaatkan helper dan disimpan dalam…]]></description><link>https://topidesta.my.id/helper-codeigniter-yang-berguna/</link><guid isPermaLink="false">https://topidesta.my.id/helper-codeigniter-yang-berguna/</guid><category><![CDATA[codeigniter]]></category><category><![CDATA[php]]></category><pubDate>Wed, 16 Mar 2022 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah ....&lt;/p&gt;
&lt;p&gt;Kebetulan development internal masih menggunakan PHP 5, dan beberapa fungsi ada yang gak berjalan, langkah terbaiknya dengan memanfaatkan helper dan disimpan dalam function.&lt;/p&gt;
&lt;p&gt;Untuk aturan pembuatan helper silahkan liat dokumentasinya, untuk function yang gw buat di Codeigniter 2 dan 3, biasanya ditulis dengan &lt;strong&gt;namaHelper_helper.php&lt;/strong&gt; yang disimpan di folder &lt;em&gt;helpers&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Lanjut ke scriptnya beserta manfaat singkatnya, untuk sumber &lt;em&gt;code&lt;/em&gt; nyah gw sertakan juga ya sudah gw sertakan juga ya.&lt;/p&gt;
&lt;details&gt;
    &lt;summary&gt;Generate Random String&lt;/summary&gt;
    &lt;pre&gt;
        // source: https://gist.github.com/raveren/5555297
        if ( !function_exists(&apos;random_text&apos;)) {
            function random_text( $type = &apos;alnum&apos;, $length = 8 ) {
                switch ( $type ) {
                case &apos;alnum&apos;:
                $pool = &apos;0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&apos;;
                break;
                case &apos;alpha&apos;:
                $pool = &apos;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&apos;;
                break;
                case &apos;hexdec&apos;:
                $pool = &apos;0123456789abcdef&apos;;
                break;
                case &apos;numeric&apos;:
                $pool = &apos;0123456789&apos;;
                break;
                case &apos;nozero&apos;:
                $pool = &apos;123456789&apos;;
                break;
                case &apos;distinct&apos;:
                $pool = &apos;2345679ACDEFHJKLMNPRSTUVWXYZ&apos;;
                break;
                default:
                $pool = (string) $type;
                break;
            }
            $crypto_rand_secure = function ( $min, $max ) {
                $range = $max - $min;
                if ( $range &lt; 0 ) return $min; // not so random...
                $log    = log( $range, 2 );
                $bytes  = (int) ( $log / 8 ) + 1; // length in bytes
                $bits   = (int) $log + 1; // length in bits
                $filter = (int) ( 1 &lt;&lt; $bits ) - 1; // set all lower bits to 1
                do {
                    $rnd = hexdec( bin2hex( openssl_random_pseudo_bytes( $bytes ) ) );
                    $rnd = $rnd &amp; $filter; // discard irrelevant bits
                    } while ( $rnd &gt;= $range );
                    return $min + $rnd;
                };
                $token = &quot;&quot;;
                $max   = strlen( $pool );
                for ( $i = 0; $i &lt; $length; $i++ ) {
                $token .= $pool[$crypto_rand_secure( 0, $max )];
                }
                return $token;
            }
        }
    &lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Kalimat Salam&lt;/summary&gt;
    &lt;pre&gt;
        // source: https://stackoverflow.com/a/46574723
        if(!function_exists(&apos;ucapan_selamat&apos;)) {
            function ucapan_selamat() {
            $hour = date(&quot;G&quot;);
            return ($hour &gt;= 3 &amp;&amp; $hour &lt; 12) 
                    ? &quot;Selamat Pagi, &quot; 
                    : (($hour &gt;= 12 &amp;&amp; $hour &lt; 17) ? &quot;Selamat Siang, &quot; : &quot;Selamat Malam, &quot;);
            }
        }
    &lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Dropdown Field Tabel Kolom Field Enum&lt;/summary&gt;
    &lt;pre&gt;
        // source: https://github.com/typesafer/codeigniter-enum-select-boxes
        if (!function_exists(&apos;dropdownKolom&apos;)) {
            function dropdownKolom($table , $field, $all=false)
            {
                $ci = &amp; get_instance();
                $query = &quot;SHOW COLUMNS FROM &quot;.$table.&quot; LIKE &apos;$field&apos;&quot;;
                $row = $ci-&gt;db-&gt;query(&quot;SHOW COLUMNS FROM &quot;.$table.&quot; LIKE &apos;$field&apos;&quot;)-&gt;row()-&gt;Type;  
                $regex = &quot;/&apos;(.*?)&apos;/&quot;;
                preg_match_all( $regex , $row, $enum_array );
                $enum_fields = $enum_array[1];
                foreach ($enum_fields as $key=&gt;$value)
                {
                    if ($all) {
                        $enums[&apos;all&apos;] = &apos;All&apos;; 
                        $enums[$value] = strtoupper($value); 
                    }else{
                        $enums[$value] = strtoupper($value); 
                    }
                }
                return $enums;
            }
        }
    &lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Merubah array Ke Kolom&lt;/summary&gt;
    &lt;pre&gt;
    // source: https://stackoverflow.com/a/33919648
    // using for php &lt; 5.4 if server using &gt; 5.5 please, use array_columnt instead
    if (!function_exists(&apos;arr_kolom&apos;)) {
        function arr_kolom(array $array, $columnKey, $indexKey = null)
        {
            $result = array();
            foreach ($array as $subArray) {
                if (!is_array($subArray)) {
                    continue;
                } elseif (is_null($indexKey) &amp;&amp; array_key_exists($columnKey, $subArray)) {
                    $result[] = $subArray[$columnKey];
                } elseif (array_key_exists($indexKey, $subArray)) {
                    if (is_null($columnKey)) {
                        $result[$subArray[$indexKey]] = $subArray;
                    } elseif (array_key_exists($columnKey, $subArray)) {
                        $result[$subArray[$indexKey]] = $subArray[$columnKey];
                    }
                }
            }
            return $result;
        }
    }
    &lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Ubah Format HP untuk Whatsapp&lt;/summary&gt;
    &lt;pre&gt;
    if ( !function_exists(&apos;convertNumber&apos;)) {
        function convertNumber( $nope, $whatsappStyle=false ) {
            $ci =&amp; get_instance();
            $styleNomorWa = ($whatsappStyle) ? &apos;@c.us&apos; : &apos;&apos;;
            $cekArrayData = is_string($nope);
            $EnamDuaNumber = &apos;&apos;;
            $NewEnamDuaNumber = &apos;&apos;;
            // Gerombolan
            if ($cekArrayData != true &amp;&amp; isset($nope)) {
                foreach ($nope as $key =&gt; $value) {
                    $output = preg_replace(&apos;/[^0-9]/&apos;, &apos;&apos;, $value);
                    $EnamDuaNumber .= ((mb_substr($output, 0, 1) == 0) ? &quot;&apos;62&quot;.ltrim($output, 0) : $output).$styleNomorWa.&quot;&apos;,&quot;;
                    $NewEnamDuaNumber = rtrim($EnamDuaNumber, &apos;,&apos;);
                }
            // Alone
            }else{
                $output = preg_replace(&apos;/[^0-9]/&apos;, &apos;&apos;, $nope); 
                $EnamDuaNumber = ((mb_substr($output, 0, 1) == 0) ? &quot;62&quot;.ltrim($output, 0) : $output).$styleNomorWa;
                $NewEnamDuaNumber = $EnamDuaNumber;
            }
            return $NewEnamDuaNumber;
        }
    }
    &lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Pengecekan JSON Text&lt;/summary&gt;
    &lt;pre&gt;
    // source: https://stackoverflow.com/a/15198925
    if (!function_exists(&apos;isJson&apos;)) {
        function isJson($string)
        {
            // decode the JSON data
            $result = json_decode($string);
            // switch and check possible JSON errors
            switch (json_last_error()) {
                case JSON_ERROR_NONE:
                    $error = &apos;&apos;; // JSON is valid // No error has occurred
                    break;
                case JSON_ERROR_DEPTH:
                    $error = &apos;The maximum stack depth has been exceeded.&apos;;
                    break;
                case JSON_ERROR_STATE_MISMATCH:
                    $error = &apos;Invalid or malformed JSON.&apos;;
                    break;
                case JSON_ERROR_CTRL_CHAR:
                    $error = &apos;Control character error, possibly incorrectly encoded.&apos;;
                    break;
                case JSON_ERROR_SYNTAX:
                    $error = &apos;Syntax error, malformed JSON.&apos;;
                    break;
                // PHP &gt;= 5.3.3
                case JSON_ERROR_UTF8:
                    $error = &apos;Malformed UTF-8 characters, possibly incorrectly encoded.&apos;;
                    break;
                // PHP &gt;= 5.5.0
                case JSON_ERROR_RECURSION:
                    $error = &apos;One or more recursive references in the value to be encoded.&apos;;
                    break;
                // PHP &gt;= 5.5.0
                case JSON_ERROR_INF_OR_NAN:
                    $error = &apos;One or more NAN or INF values in the value to be encoded.&apos;;
                    break;
                case JSON_ERROR_UNSUPPORTED_TYPE:
                    $error = &apos;A value of a type that cannot be encoded was given.&apos;;
                    break;
                default:
                    $error = &apos;Unknown JSON error occured.&apos;;
                    break;
            }
            if ($error !== &apos;&apos;) {
                // throw the Exception or exit // or whatever :)
                return $error;
            }
            // everything is OK
            return $result;
        }
    }
    &lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Backup DB&lt;/summary&gt;
    &lt;pre&gt;
        /**
        * MySQLi Export
        *
        * @access  private
        * @param   array   Preferences
        * @return  mixed
        * @source https://stackoverflow.com/a/29801337
        */
        if ( !function_exists(&apos;backupDB&apos;)) {
            function backupDB($params = array())
            {
                // Currently unsupported
                //---return $this-&gt;db-&gt;display_error(&apos;db_unsuported_feature&apos;);
                if (count($params) == 0)
                {
                    return FALSE;
                }
                // Extract the prefs for simplicity
                extract($params);
                // Build the output
                $output = &apos;&apos;;
                foreach ((array)$tables as $table)
                {
                    // Is the table in the &quot;ignore&quot; list?
                    if (in_array($table, (array)$ignore, TRUE))
                    {
                        continue;
                    }
                    // Get the table schema
                    $query = $this-&gt;db-&gt;query(&quot;SHOW CREATE TABLE `&quot;.$this-&gt;db-&gt;database.&apos;`.`&apos;.$table.&apos;`&apos;);
                    // No result means the table name was invalid
                    if ($query === FALSE)
                    {
                        continue;
                    }
                    // Write out the table schema
                    $output .= &apos;#&apos;.$newline.&apos;# TABLE STRUCTURE FOR: &apos;.$table.$newline.&apos;#&apos;.$newline.$newline;
                    if ($add_drop == TRUE)
                    {
                        $output .= &apos;DROP TABLE IF EXISTS &apos;.$table.&apos;;&apos;.$newline.$newline;
                    }
                    $i = 0;
                    $result = $query-&gt;result_array();
                    foreach ($result[0] as $val)
                    {
                        if ($i++ % 2)
                        {
                            $output .= $val.&apos;;&apos;.$newline.$newline;
                        }
                    }
                    // If inserts are not needed we&apos;re done...
                    if ($add_insert == FALSE)
                    {
                        continue;
                    }
                    // Grab all the data from the current table
                    $query = $this-&gt;db-&gt;query(&quot;SELECT * FROM $table&quot;);
                    if ($query-&gt;num_rows() == 0)
                    {
                        continue;
                    }
                    // Fetch the field names and determine if the field is an
                    // integer type.  We use this info to decide whether to
                    // surround the data with quotes or not
                    $i = 0;
                    $field_str = &apos;&apos;;
                    $is_int = array();
                    while ($field = mysqli_fetch_field($query-&gt;result_id))
                    {
                        // Most versions of MySQL store timestamp as a string
                        $is_int[$i] = (in_array(
                                                //strtolower(mysqli_field_type($query-&gt;result_id, $i)),
                                                strtolower($field-&gt;type),
                                                array(&apos;tinyint&apos;, &apos;smallint&apos;, &apos;mediumint&apos;, &apos;int&apos;, &apos;bigint&apos;), //, &apos;timestamp&apos;),
                                                TRUE)
                                                ) ? TRUE : FALSE;
                        // Create a string of field names
                        $field_str .= &apos;`&apos;.$field-&gt;name.&apos;`, &apos;;
                        $i++;
                    }
                    // Trim off the end comma
                    $field_str = preg_replace( &quot;/, $/&quot; , &quot;&quot; , $field_str);
                    // Build the insert string
                    foreach ($query-&gt;result_array() as $row)
                    {
                        $val_str = &apos;&apos;;
                        $i = 0;
                        foreach ($row as $v)
                        {
                            // Is the value NULL?
                            if ($v === NULL)
                            {
                                $val_str .= &apos;NULL&apos;;
                            }
                            else
                            {
                                // Escape the data if it&apos;s not an integer
                                if ($is_int[$i] == FALSE)
                                {
                                    $val_str .= $this-&gt;db-&gt;escape($v);
                                }
                                else
                                {
                                    $val_str .= $v;
                                }
                            }
                            // Append a comma
                            $val_str .= &apos;, &apos;;
                            $i++;
                        }
                        // Remove the comma at the end of the string
                        $val_str = preg_replace( &quot;/, $/&quot; , &quot;&quot; , $val_str);
                        // Build the INSERT string
                        $output .= &apos;INSERT INTO &apos;.$table.&apos; (&apos;.$field_str.&apos;) VALUES (&apos;.$val_str.&apos;);&apos;.$newline;
                    }
                    $output .= $newline.$newline;
                }
                return $output;
            }
        }
    &lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Buat array dari String&lt;/summary&gt;
    &lt;pre&gt;
        /**
        * @param $string - Input string to convert to array
        * @param string $separator - Separator to separate by (default: ,)
        * @return array
        * @source http://snippets.khromov.se/convert-comma-separated-values-to-array-in-php/
        * @contoh: [2,3,4] =&gt; { 0=&gt;2, 1=&gt;3, 2=&gt;4 } 
        */
        if ( !function_exists(&apos;comma_separated_to_array&apos;)) {
        function comma_separated_to_array($string, $separator = &apos;,&apos;) {
            //Explode on comma
            $vals = explode($separator, $string);
            //Trim whitespace
            foreach($vals as $key =&gt; $val) {
                $vals[$key] = trim($val);
            }
            //Return empty array if no items found
            //http://php.net/manual/en/function.explode.php#114273
            return array_diff($vals, array(&quot;&quot;));
            }
        }
    &lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Get Data From Row DB&lt;/summary&gt;
    &lt;pre&gt;
        // source: http://stackoverflow.com/a/11479038
        if ( !function_exists(&apos;get_db_row_obj&apos;)) {
            function get_db_row_obj($result)
            {
                return $result-&gt;num_rows() ? $result-&gt;row() : FALSE;
            }
        }
        // source: http://stackoverflow.com/a/11479038
        if ( !function_exists(&apos;get_db_row_arr&apos;)) {
            function get_db_row_arr($result)
            {
                return $result-&gt;num_rows() ? $result-&gt;row_array() : FALSE;
            }
        }
    &lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Get Kolom Data&lt;/summary&gt;
    &lt;pre&gt;
    // source: https://github.com/typesafer/codeigniter-enum-select-boxes
    if (!function_exists(&apos;dropdownKolom&apos;)) {
        function dropdownKolom($table , $field, $all=false)
        {
            $ci = &amp; get_instance();
            $query = &quot;SHOW COLUMNS FROM &quot;.$table.&quot; LIKE &apos;$field&apos;&quot;;
            $row = $ci-&gt;db-&gt;query(&quot;SHOW COLUMNS FROM &quot;.$table.&quot; LIKE &apos;$field&apos;&quot;)-&gt;row()-&gt;Type;  
            $regex = &quot;/&apos;(.*?)&apos;/&quot;;
            preg_match_all( $regex , $row, $enum_array );
            $enum_fields = $enum_array[1];
            foreach ($enum_fields as $key=&gt;$value)
            {
                if ($all) {
                    $enums[&apos;all&apos;] = &apos;All&apos;; 
                    $enums[$value] = strtoupper($value); 
                }else{
                    $enums[$value] = strtoupper($value); 
                }
            }
            return $enums;
        }
    }
    &lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Convert to Img&lt;/summary&gt;
    &lt;pre&gt;
    // source: https://stackoverflow.com/a/45843537
    function base30_to_jpeg($base30_string, $output_file) {
        require_once APPPATH . &apos;Libraries/jSignature_Tools_Base30.php&apos;;
        $data = str_replace ( &apos;image/jsignature;base30,&apos;, &apos;&apos;, $base30_string );
        $converter = new jSignature_Tools_Base30 ();
        $raw = $converter-&gt;Base64ToNative ( $data );
        // Calculate dimensions
        $width = 0;
        $height = 0;
        foreach ( $raw as $line ) {
            if (max ( $line [&apos;x&apos;] ) &gt; $width)
                $width = max ( $line [&apos;x&apos;] );
            if (max ( $line [&apos;y&apos;] ) &gt; $height)
                $height = max ( $line [&apos;y&apos;] );
        }
        // Create an image
        $im = imagecreatetruecolor ( $width + 20, $height + 20 );
        // Save transparency for PNG
        imagesavealpha ( $im, true );
        // Fill background with transparency
        $trans_colour = imagecolorallocatealpha ( $im, 255, 255, 255, 127 );
        imagefill ( $im, 0, 0, $trans_colour );
        // Set pen thickness
        imagesetthickness ( $im, 2 );
        // Set pen color to black
        $black = imagecolorallocate ( $im, 0, 0, 0 );
        // Loop through array pairs from each signature word
        for($i = 0; $i &lt; count ( $raw ); $i ++) {
            // Loop through each pair in a word
            for($j = 0; $j &lt; count ( $raw [$i] [&apos;x&apos;] ); $j ++) {
                // Make sure we are not on the last coordinate in the array
                if (! isset ( $raw [$i] [&apos;x&apos;] [$j] ))
                    break;
                if (! isset ( $raw [$i] [&apos;x&apos;] [$j + 1] ))
                    // Draw the dot for the coordinate
                    imagesetpixel ( $im, $raw [$i] [&apos;x&apos;] [$j], $raw [$i] [&apos;y&apos;] [$j], $black );
                else
                    // Draw the line for the coordinate pair
                    imageline ( $im, $raw [$i] [&apos;x&apos;] [$j], $raw [$i] [&apos;y&apos;] [$j], $raw [$i] [&apos;x&apos;] [$j + 1], $raw [$i] [&apos;y&apos;] [$j + 1], $black );
            }
        }
        // Check if the image exists
        if (! file_exists ( dirname ( $output_file ) )) {
            mkdir(dirname($output_file));
        }
        // Create Image
        $ifp = fopen ( $output_file, &quot;wb&quot; );
        imagepng ( $im, $output_file );
        fclose ( $ifp );
        imagedestroy ( $im );
        copy($output_file, WRITEPATH.&apos;uploads/ttd/&apos;.$output_file);
        unlink( $output_file );
        return $output_file;
    }
    // Source: https://stackoverflow.com/a/50739890
    function base64_to_jpeg($base64_string, $output_file) {
        // open the output file for writing
        $ifp = fopen( $output_file, &apos;wb&apos; ); 
        // split the string on commas
        // $data[ 0 ] == &quot;data:image/png;base64&quot;
        // $data[ 1 ] == &lt;actual base64 string&gt;
        $data = explode( &apos;,&apos;, $base64_string );
        // we could add validation here with ensuring count( $data ) &gt; 1
        fwrite( $ifp, base64_decode( $data[ 1 ] ) );
        // clean up the file resource
        fclose( $ifp ); 
        return $output_file; 
    }
    &lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Debug/ Var_dump/ Print_r&lt;/summary&gt;
    &lt;pre&gt;
    function dump($var, $return = FALSE)
    {
        // Joost Van Veen Style
        // $output = ob_get_clean();
        // $output = preg_replace(&quot;/\]\=\&gt;\n(\s+)/m&quot;, &quot;] =&gt; &quot;, $output);
        // $output = &quot;&lt;pre class=\&quot;dump\&quot;&gt;&quot; . _dump($var, 0) . &quot;&lt;/pre&gt;\n&quot;;
        $output = &apos;&lt;pre class=\&quot;dump\&quot; style=&quot;background: #FFFEEF; color: #000; border: 1px dotted #000; padding: 10px; margin: 10px 0; text-align: left;&quot;&gt;&apos; . _dump($var, 0) . &apos;&lt;/pre&gt;\n&apos;;
        if (!$return)
        {
            $trace = debug_backtrace();
            $i = isset($trace[1][&apos;class&apos;]) &amp;&amp; $trace[1][&apos;class&apos;] === __CLASS__ ? 1 : 0;
            if (isset($trace[$i][&apos;file&apos;], $trace[$i][&apos;line&apos;]))
            {
                $output = substr_replace($output, &apos;&lt;small&gt;&apos; . htmlspecialchars(&quot;in file {$trace[$i][&apos;file&apos;]} on line {$trace[$i][&apos;line&apos;]}&quot;, ENT_NOQUOTES) . &apos;&lt;/small&gt;&apos;, -8, 0);
            }
        }
        if ($return)
        {
            return $output;
        }
        else
        {
            echo $output;
            return $var;
        }
    }
    function _dump(&amp;$var, $level)
    {
        $maxDepth = 4;
        $maxLen = 250;
        $tableUtf = $tableBin = array();
        $reBinary = &apos;#[^\x09\x0A\x0D\x20-\x7E\xA0-\x{10FFFF}]#u&apos;;
        if ($tableUtf === NULL)
        {
            foreach (range(&quot;\x00&quot;, &quot;\xFF&quot;) as $ch)
            {
                if (ord($ch) &lt; 32 &amp;&amp; strpos(&quot;\r\n\t&quot;, $ch) === FALSE)
                    $tableUtf[$ch] = $tableBin[$ch] = &apos;\\x&apos; . str_pad(dechex(ord($ch)), 2, &apos;0&apos;, STR_PAD_LEFT);
                elseif (ord($ch) &lt; 127)
                $tableUtf[$ch] = $tableBin[$ch] = $ch;
                else
                {
                    $tableUtf[$ch] = $ch;
                    $tableBin[$ch] = &apos;\\x&apos; . dechex(ord($ch));
                }
            }
            $tableBin[&quot;\\&quot;] = &apos;\\\\&apos;;
            $tableBin[&quot;\r&quot;] = &apos;\\r&apos;;
            $tableBin[&quot;\n&quot;] = &apos;\\n&apos;;
            $tableBin[&quot;\t&quot;] = &apos;\\t&apos;;
            $tableUtf[&apos;\\x&apos;] = $tableBin[&apos;\\x&apos;] = &apos;\\\\x&apos;;
        }
        if (is_bool($var))
        {
            return ($var ? &apos;TRUE&apos; : &apos;FALSE&apos;) . &quot;\n&quot;;
        }
        elseif ($var === NULL)
        {
            return &quot;NULL\n&quot;;
        }
        elseif (is_int($var))
        {
            return &quot;$var\n&quot;;
        }
        elseif (is_float($var))
        {
        $var = (string) $var;
        if (strpos($var, &apos;.&apos;) === FALSE)
        $var .= &apos;.0&apos;;
        return &quot;$var\n&quot;;
        } elseif (is_string($var))
        {
        if ($maxLen &amp;&amp; strlen($var) &gt; $maxLen)
        {
        $s = htmlSpecialChars(substr($var, 0, $maxLen), ENT_NOQUOTES) . &apos; ... &apos;;
        }
        else
        {
        $s = htmlSpecialChars($var, ENT_NOQUOTES);
        }
        $s = strtr($s, preg_match($reBinary, $s) || preg_last_error() ? $tableBin : $tableUtf);
        $len = strlen($var);
        return &quot;\&quot;$s\&quot;&quot; . ($len &gt; 1 ? &quot; ($len)&quot; : &quot;&quot;) . &quot;\n&quot;;
        }
        elseif (is_array($var))
        {
        $s = &quot;&lt;span&gt;array&lt;/span&gt;(&quot; . count($var) . &quot;) &quot;;
        $space = str_repeat($space1 = &apos;   &apos;, $level);
        $brackets = range(0, count($var) - 1) === array_keys($var) ? &quot;[]&quot; : &quot;{}&quot;;
        static $marker;
        if ($marker === NULL)
        $marker = uniqid(&quot;\x00&quot;, TRUE);
        if (empty($var)) {}
        elseif (isset($var[$marker]))
        {
            $brackets = $var[$marker];
            $s .= &quot;$brackets[0] *RECURSION* $brackets[1]&quot;;
        }
        elseif ($level &lt; $maxDepth || !$maxDepth)
        {
            $s .= &quot;&lt;code&gt;$brackets[0]\n&quot;;
            $var[$marker] = $brackets;
            foreach ($var as $k =&gt; &amp;$v)
        {
        if ($k === $marker)
            continue;
            $k = is_int($k) ? $k : &apos;&quot;&apos; . strtr($k, preg_match($reBinary, $k) || preg_last_error() ? $tableBin : $tableUtf) . &apos;&quot;&apos;;
            $s .= &quot;$space$space1$k =&gt; &quot; . _dump($v, $level + 1);
        }
            unset($var[$marker]);
            $s .= &quot;$space$brackets[1]&lt;/code&gt;&quot;;
            } else {
        $s .= &quot;$brackets[0] ... $brackets[1]&quot;;
            }
            return $s . &quot;\n&quot;;
        }
        elseif (is_object($var))
        {
        $arr = (array) $var;
        $s = &quot;&lt;span&gt;&quot; . get_class($var) . &quot;&lt;/span&gt;(&quot; . count($arr) . &quot;) &quot;;
        $space = str_repeat($space1 = &apos;   &apos;, $level);
        static $list = array();
        if (empty($arr)) {}
        elseif (in_array($var, $list, TRUE))
        {
        $s .= &quot;{ *RECURSION* }&quot;;
        }
        elseif ($level &lt; $maxDepth || !$maxDepth)
        {
            $s .= &quot;&lt;code&gt;{\n&quot;;
            $list[] = $var;
            foreach ($arr as $k =&gt; &amp;$v)
            {
                $m = &apos;&apos;;
                if ($k[0] === &quot;\x00&quot;)
                {
                $m = $k[1] === &apos;*&apos; ? &apos; &lt;span&gt;protected&lt;/span&gt;&apos; : &apos; &lt;span&gt;private&lt;/span&gt;&apos;;
                $k = substr($k, strrpos($k, &quot;\x00&quot;) + 1);
                }
                $k = strtr($k, preg_match($reBinary, $k) || preg_last_error() ? $tableBin : $tableUtf);
                $s .= &quot;$space$space1\&quot;$k\&quot;$m =&gt; &quot; . _dump($v, $level + 1);
            }
            array_pop($list);
            $s .= &quot;$space}&lt;/code&gt;&quot;;
        }
            else
        {
            $s .= &quot;{ ... }&quot;;
        }
        return $s . &quot;\n&quot;;
        }
        elseif (is_resource($var))
        {
        return &quot;&lt;span&gt;&quot; . get_resource_type($var) . &quot; resource&lt;/span&gt;\n&quot;;
        }
        else
        {
            return &quot;&lt;span&gt;unknown type&lt;/span&gt;\n&quot;;
        }
    }
    &lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;PDF File Upload Base64 Sturucture&lt;/summary&gt;
    &lt;pre&gt;
    public function uploadFileFromBlobString($base64string = &apos;&apos;, $file_name = &apos;&apos;, $folder = &apos;&apos;)
    {
        // source: https://dev.to/rogeriotaques/uploading-pdf-files-as-base64-strings-in-php-and-saving-it-in-the-hard-disk-f7o
        $file_path = &quot;&quot;;
        $result = 0;
        // Convert blob (base64 string) back to PDF
        if (!empty($base64string)) {
            // Detects if there is base64 encoding header in the string.
            // If so, it needs to be removed prior to saving the content to a phisical file.
            if (strpos($base64string, &apos;,&apos;) !== false) {
                @list($encode, $base64string) = explode(&apos;,&apos;, $base64string);
            }
            $base64data = base64_decode($base64string, true);
            $file_path  = &quot;{$folder}/{$file_name}&quot;;
            // Return the number of bytes saved, or false on failure
            $result = file_put_contents(&quot;{$file_path}&quot;, $base64data);
        }
        return $result;
    }
    &lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Enkripsi dan Deskripsi&lt;/summary&gt;
    &lt;pre&gt;
        #source: http://3v4l.org/CArS9
        if ( !function_exists(&apos;en_de&apos;)) {
            function en_de($act, $string) {
                $output = false;
                $encrypt_method = &quot;AES-256-CBC&quot;; // method enkripsinya
                // Salt key
                $secret_key = &apos;NAMA-SECRET-RAHASIA-KUNCI&apos;;
                $secret_iv = &apos;NAMA-SECRET-RAHASIA-IV&apos;;
                // hash
                $key = hash(&apos;sha256&apos;, $secret_key);
                $iv = substr(hash(&apos;sha256&apos;, $secret_iv), 0, 16); // varchar(16) it&apos;s true?
                // cek
                if($act == &apos;enkripsi&apos;) { $output = openssl_encrypt($string, $encrypt_method, $key, 0, $iv); $output = base64_encode($output); }
                elseif ($act == &apos;dekripsi&apos;) { $output = $output = openssl_decrypt(base64_decode($string), $encrypt_method, $key, 0, $iv); }
                // return 
                return $output;
            }
            // How to use: $text = &quot;text enkripsi&quot;;  $rahasia = en_de(&apos;enkripsi&apos;, $text); or en_de(&apos;dekripsi&apos;, $rahasia); simple.
        }
    &lt;/pre&gt;
&lt;/details&gt;
&lt;h1 id=&quot;masih-ada-banyak--staytune&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#masih-ada-banyak--staytune&quot; aria-label=&quot;masih ada banyak  staytune permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;masih ada Banyak ... staytune!&lt;/h1&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Perkenalan dengan Grav CMS]]></title><description><![CDATA[Bismillah .... Kebetulan lagi pengen cari Alternatif FlatFile CMS, hampir semuanya mengarah ke MERN Stack. Kebetulan PHP masih menjadi Dominasi dan juga kebutuhan kantor sekarang…]]></description><link>https://topidesta.my.id/perkenalan-dengan-grav-cms/</link><guid isPermaLink="false">https://topidesta.my.id/perkenalan-dengan-grav-cms/</guid><category><![CDATA[cms]]></category><category><![CDATA[gravcms]]></category><category><![CDATA[php]]></category><pubDate>Mon, 10 Jan 2022 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah ....&lt;/p&gt;
&lt;p&gt;Kebetulan lagi pengen cari Alternatif FlatFile CMS, hampir semuanya mengarah ke MERN Stack. Kebetulan PHP masih menjadi Dominasi dan juga kebutuhan kantor sekarang jadi carilah Cms PHP dengan FlatFile support (tanpa koneksi Database), cari sana sini, termasuk dokumentasi serta dukungan komunitas yang banyak, akhirnya coba deh GetGrav CMS.. Contohnya ada di halaman ini -&gt; &lt;a href=&quot;http://me.topidesta.my.id/&quot;&gt;me&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://getgrav.org/about&quot;&gt;https://getgrav.org/about&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Prinsipnya sederhana, dan gw suka.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Tim GravCMS sadar diluar sana banyak CMS powerfull seperti Drupal, Wordpress dan Joomla, tapi... mereka butuh waktu yang banyak untuk mempelajari sebuah fungsi agar bisa di tambahkan atau dirawat. &lt;strong&gt;Grav is a Fast, Simple, and Flexible file-based Web-platform&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Jadi, ini bukan judul yang pas sih, &lt;strong&gt;Perkenalan dengan Grav CMS&lt;/strong&gt; ... hanya sharing gw yang beberapa hari terakhir coba explore ini tools di dunia CMS&apos;s dan sangat sangat Powerfull. Diantaranya teknologi Grav memanfaatkan teknologi terkini, diantaranya:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twig.symfony.com/&quot;&gt;Twig Templating&lt;/a&gt;: untuk mengontrol Template tampilan Pengguna&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Markdown&quot;&gt;Markdown&lt;/a&gt;: untuk konten yang disimpan (termasuk blog ini, filenya format .md)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://yaml.org/&quot;&gt;YAML&lt;/a&gt;: untuk konfigurasi&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://parsedown.org/&quot;&gt;Parsedown&lt;/a&gt;: untuk Membantu Markdown di lingkup PHP&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/caching.html&quot;&gt;Doctrine Cache&lt;/a&gt;: Untuk Performa website&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pimple.symfony.com/&quot;&gt;Pimple Dependency Injection Container&lt;/a&gt;: Untuk Kemudahan dalam Penambahan dan Perawatan website&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://symfony.com/doc/current/components/event_dispatcher.html&quot;&gt;Symfony Event Dispatcher&lt;/a&gt;: Untuk merawat plugin tambahan&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://symfony.com/doc/current/components/console.html&quot;&gt;Symfony Console&lt;/a&gt;: Tampilan Command Line Interface (CLI)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Gregwar/Image&quot;&gt;Gregwar Image Library&lt;/a&gt;: Untuk manipulasi Gambar&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ternyata memanfaatkan teknogi Symfony secara umum. Tapi saat gw coba, tak sesulit yang dibayangkan, kita bisa install melalui .zip extract foldernya ke document root atau lewat composer, banyak pilihannya deh.&lt;/p&gt;
&lt;p&gt;Ouh ya, untuk Template/ Themes/ Plugins sudah banyak juga kok ... kurang lebih dihalaman ini:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://getgrav.org/downloads/skeletons&quot;&gt;https://getgrav.org/downloads/skeletons&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://getgrav.org/downloads/themes&quot;&gt;https://getgrav.org/downloads/themes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://getgrav.org/downloads/plugins&quot;&gt;https://getgrav.org/downloads/plugins&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&quot;skeletons&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#skeletons&quot; aria-label=&quot;skeletons permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Skeletons&lt;/h1&gt;
&lt;p&gt;Jadi skeletons itu All-in-one paket GravCMS, yang bisa digunakan sebagai contoh project diantaranya Plugins, Themes dan Konfigurasi untuk memulai Grav, tinggal extract foldernya. dan Jalankan.&lt;/p&gt;
&lt;h1 id=&quot;themes&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#themes&quot; aria-label=&quot;themes permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Themes&lt;/h1&gt;
&lt;p&gt;Jadi themes semacam layout yang sudah jadi, tinggal di custom sesuai kebutuhannya.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;$ php bin&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;gpm &lt;span class=&quot;token function&quot;&gt;index&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;melihat semua themes yang tersedia&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

$ php bin&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;gpm install &lt;span class=&quot;token function&quot;&gt;themename&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;untuk melakukan instalasi themes&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;plugins&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#plugins&quot; aria-label=&quot;plugins permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Plugins&lt;/h1&gt;
&lt;p&gt;Jadi plugins itu semacam alat tambahan untuk produktifitas GravCMS, ada buanyak tools, baca pelan pelan secara seksama alat yang pas untuk pengembahang websitenya.&lt;/p&gt;
&lt;p&gt;Huft... pengen nulis banyak sih, tp gw lagi baca baca lagi .... atau nanti mungkin gw buat series aja kali ya...  doakan semoga terwujud.&lt;/p&gt;
&lt;h1 id=&quot;sumber-belajar&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sumber-belajar&quot; aria-label=&quot;sumber belajar permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Sumber Belajar&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/getgrav/awesome-grav#tutorials&quot;&gt;https://github.com/getgrav/awesome-grav#tutorials&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://getgrav.org/blog/developing-with-github-part-1&quot;&gt;https://getgrav.org/blog/developing-with-github-part-1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://getgrav.org/blog/developing-with-github-part-2&quot;&gt;https://getgrav.org/blog/developing-with-github-part-2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discourse.getgrav.org/c/showcase/7&quot;&gt;https://discourse.getgrav.org/c/showcase/7&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Have a nice Day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Codeigniter4 Error Push Heroku]]></title><description><![CDATA[Bismillah .... Kebetulan lagi handle Project yang sudah gak dihandle sama Maintenernya, tapi lagi gw tanya, mau dilanjutin apa kagak sih, project terbaru Codeigniter 4 Restful JWT…]]></description><link>https://topidesta.my.id/codeigniter4-error-push-heroku/</link><guid isPermaLink="false">https://topidesta.my.id/codeigniter4-error-push-heroku/</guid><category><![CDATA[codeigniter4]]></category><category><![CDATA[heroku]]></category><category><![CDATA[php]]></category><pubDate>Mon, 27 Dec 2021 14:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah ....&lt;/p&gt;
&lt;p&gt;Kebetulan lagi handle Project yang sudah gak dihandle sama Maintenernya, tapi lagi gw tanya, mau dilanjutin apa kagak sih, project terbaru &lt;strong&gt;Codeigniter 4 Restful JWT Token&lt;/strong&gt; dihalaman ini masih sangat sederhana.&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;https://github.com/mdestafadilah/ci-rest-jwt&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Project sebelumnya masih CI 3 dan ada masalah saat push ke Heroku, dan gw coba Refactore ke CI 4 eh sempet ada masalah juga di heroku, seperti ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;-----&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; Building on the Heroku-20 stack
-----&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; Determining &lt;span class=&quot;token function&quot;&gt;which&lt;/span&gt; buildpack to use &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; this app
-----&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; PHP app detected
-----&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; Bootstrapping&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;.
-----&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; Installing platform packages&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;.
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     ERROR: Failed to &lt;span class=&quot;token function&quot;&gt;install&lt;/span&gt; system packages&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     Your platform requirements &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;for runtimes and extensions&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; could
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     not be resolved to an installable &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; of dependencies, or a
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     platform package repository was unreachable.
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     This usually means that you &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;or packages you are using&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; depend
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     on a combination of PHP versions and/or extensions that are
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     currently not available on Heroku.
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     The following is the full output from the installation attempt:
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; You are using Composer &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;which&lt;/span&gt; is deprecated. You should upgrade to Composer &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;, see https://blog.packagist.com/deprecating-composer-1-support/
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; Loading repositories with available runtimes and extensions
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; Updating dependencies
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; Your requirements could not be resolved to an installable &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; of packages.
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; 
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;   Problem &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;     - The requested package composer-plugin-api could not be found &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; any version, there may be a typo &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; the package name.
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; 
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     For reference, the following runtimes are currently available:
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     PHP:  &lt;span class=&quot;token number&quot;&gt;8.1&lt;/span&gt;.1, &lt;span class=&quot;token number&quot;&gt;8.1&lt;/span&gt;.0, &lt;span class=&quot;token number&quot;&gt;8.0&lt;/span&gt;.14, &lt;span class=&quot;token number&quot;&gt;8.0&lt;/span&gt;.13, &lt;span class=&quot;token number&quot;&gt;8.0&lt;/span&gt;.12, &lt;span class=&quot;token number&quot;&gt;8.0&lt;/span&gt;.11, &lt;span class=&quot;token number&quot;&gt;8.0&lt;/span&gt;.10, 
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     &lt;span class=&quot;token number&quot;&gt;8.0&lt;/span&gt;.9, &lt;span class=&quot;token number&quot;&gt;8.0&lt;/span&gt;.8, &lt;span class=&quot;token number&quot;&gt;8.0&lt;/span&gt;.7, &lt;span class=&quot;token number&quot;&gt;8.0&lt;/span&gt;.6, &lt;span class=&quot;token number&quot;&gt;8.0&lt;/span&gt;.3, &lt;span class=&quot;token number&quot;&gt;8.0&lt;/span&gt;.2, &lt;span class=&quot;token number&quot;&gt;8.0&lt;/span&gt;.1, &lt;span class=&quot;token number&quot;&gt;8.0&lt;/span&gt;.0, 
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     &lt;span class=&quot;token number&quot;&gt;8.0&lt;/span&gt;.0RC4, &lt;span class=&quot;token number&quot;&gt;7.4&lt;/span&gt;.27, &lt;span class=&quot;token number&quot;&gt;7.4&lt;/span&gt;.26, &lt;span class=&quot;token number&quot;&gt;7.4&lt;/span&gt;.25, &lt;span class=&quot;token number&quot;&gt;7.4&lt;/span&gt;.24, &lt;span class=&quot;token number&quot;&gt;7.4&lt;/span&gt;.23, &lt;span class=&quot;token number&quot;&gt;7.4&lt;/span&gt;.22, 
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     &lt;span class=&quot;token number&quot;&gt;7.4&lt;/span&gt;.21, &lt;span class=&quot;token number&quot;&gt;7.4&lt;/span&gt;.20, &lt;span class=&quot;token number&quot;&gt;7.4&lt;/span&gt;.19, &lt;span class=&quot;token number&quot;&gt;7.4&lt;/span&gt;.16, &lt;span class=&quot;token number&quot;&gt;7.4&lt;/span&gt;.15, &lt;span class=&quot;token number&quot;&gt;7.4&lt;/span&gt;.14, &lt;span class=&quot;token number&quot;&gt;7.4&lt;/span&gt;.13, 
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     &lt;span class=&quot;token number&quot;&gt;7.4&lt;/span&gt;.12, &lt;span class=&quot;token number&quot;&gt;7.3&lt;/span&gt;.33, &lt;span class=&quot;token number&quot;&gt;7.3&lt;/span&gt;.32, &lt;span class=&quot;token number&quot;&gt;7.3&lt;/span&gt;.31, &lt;span class=&quot;token number&quot;&gt;7.3&lt;/span&gt;.30, &lt;span class=&quot;token number&quot;&gt;7.3&lt;/span&gt;.29, &lt;span class=&quot;token number&quot;&gt;7.3&lt;/span&gt;.28, 
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     &lt;span class=&quot;token number&quot;&gt;7.3&lt;/span&gt;.27, &lt;span class=&quot;token number&quot;&gt;7.3&lt;/span&gt;.26, &lt;span class=&quot;token number&quot;&gt;7.3&lt;/span&gt;.25, &lt;span class=&quot;token number&quot;&gt;7.3&lt;/span&gt;.24
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     Please verify that all requirements &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; runtime versions &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt;
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     &lt;span class=&quot;token string&quot;&gt;&apos;composer.lock&apos;&lt;/span&gt; are compatible with the list above, and ensure
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     all required extensions are available &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; the desired runtimes.
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     When choosing a PHP runtimes and extensions, please also ensure
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     they are available on your app&apos;s stack &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;heroku-20&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;, and &lt;span class=&quot;token keyword&quot;&gt;select&lt;/span&gt;
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     a different stack &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; needed after consulting the article below.
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     For a list of supported runtimes &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; extensions on Heroku, please
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     refer to: https://devcenter.heroku.com/articles/php-support
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     Push rejected, failed to compile PHP app.
 &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;     Push failed&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Oke ternyata masalahnya di &lt;em&gt;composer&lt;/em&gt; sendiri, duh ya. berikut pernyataannya.&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;Well, the plugin ecosystem is not yet fully compatible with the upcoming Composer 2.0. There is #8726 to track this&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;setelah melakukan downgrade ke composer 1,&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;composer&lt;/span&gt; self-update &lt;span class=&quot;token parameter variable&quot;&gt;--1&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Permasalahan selesai.&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;
&lt;p&gt;sumber:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/composer/composer/issues/8913&quot;&gt;https://github.com/composer/composer/issues/8913&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/a/34525259&quot;&gt;https://stackoverflow.com/a/34525259&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Extension for Fullstack in VSCodium]]></title><description><![CDATA[Bismillah .... Kebetulan blog ini cuman sekedar share keanehan yang gw alami pas install VSCodium di windows 10 di Laptop. Ini detail VSCodium yang gw install. Keanehannya ituh gw…]]></description><link>https://topidesta.my.id/extension-for-fullstack-vscodium/</link><guid isPermaLink="false">https://topidesta.my.id/extension-for-fullstack-vscodium/</guid><category><![CDATA[vscode]]></category><category><![CDATA[vscodium]]></category><category><![CDATA[extension]]></category><pubDate>Thu, 09 Dec 2021 14:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah ....&lt;/p&gt;
&lt;p&gt;Kebetulan blog ini cuman sekedar share keanehan yang gw alami pas install VSCodium di windows 10 di Laptop. Ini detail VSCodium yang gw install.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;Version: 1.62.3 (user setup)
Commit: ccbaa2d27e38e5afa3e5c21c1c7bef4657064247
Date: 2021-11-19T00:29:50.377Z
Electron: 13.5.2
Chrome: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.19042&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Keanehannya ituh gw gak bisa lagi install &lt;strong&gt;workspace-explorer&lt;/strong&gt;, padahal sebelumnya bisa, gw install di PC dengan detail versi yang sama, alhasil gw coba cari tau dan ternyata, betul dugaan gw, ada 2 website penyedia extenstion untuk vscode variant.&lt;/p&gt;
&lt;p&gt;untuk instalasi vscodium yang dilaptop itu diarahkan ke &lt;a href=&quot;https://open-vsx.org/&quot;&gt;open-vsx.org&lt;/a&gt; bukan lagi ke &lt;a href=&quot;https://marketplace.visualstudio.com/vscode&quot;&gt;marketplace-vscode &lt;/a&gt;, alhasil gak ketemu deh extenstion yang gw butuhin, cuman kita masih bisa install dengan format &lt;strong&gt;.vsix&lt;/strong&gt; kok.&lt;/p&gt;
&lt;p&gt;Keduanya memiliki moto yang berbeda, tapi punya manfaat yang sama. hehe.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://open-vsx.org/&quot;&gt;https://open-vsx.org/&lt;/a&gt;
Extensions for VS Code Compatible Editors&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 70.9090909090909%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAAsTAAALEwEAmpwYAAACUUlEQVR42nVTTY/TMBDtT+YfcOQHIMEJwZ0DXLixAgmtOHFYJFasIGnTNGWb5tuJY8eOHzPTprBIRBplPJ73PDPPXu1/FMi2e2T7DPf39+i67r/W1A2KY4GqqlDXtVie5zgejzgcDoJfaa0xjiOMMZIYxzHW6/XFeB1FEeJ1jGT/Zy0x8pmU8czDtnLOgc17D6UUNpuNECVJgu12i5Rsl6VIfqb48ppIolj20jSVP2MYu/CsrLWwFJjmGW6aMIcAPwfMtBbD6ZungCHyEpMCJiv+RJiJ1vxnrpUPgCuPsFkCT8CprWGSGI5PHWkc0R0cJbrZ466ooY1FID869miHkRABdlCwNDKudMUVVO/fYffymVSib2+QvXp+qoQO2j59gmA0lJnw6MUnpEUneY8/7vA5LsXf31wj28REjVPLOanESnHZmgbctB21Pcuwq6aRFtu2EUWHYZC8hsRgIdk4XpalxEWUvu/REJBLNoYV64XEjAZa6ct8eh4HHcLrqlMY9CgYxjKHiMKbi0LO07B1QHcIPBooq3C1+wDreG4BtypAu7NM628IbUGzJRHPeKlQVDpXwIS6m/BrRwRE2JoWb76/FUL+ruIG7ehElOnrNXydCyFjF54L4WIFCVFWBSUZabmrOvInUbHMD6fWqb28rNDSHXTuIf4BIZc9DFpmcvIHVHWFkWbFVpEQ/Bp4r6ZXxftLqxdCCfx1MRfixffBQ9cWY2tJeX/JYzH+7U4IRfKioMffnq4NVaCopWHopQJ+Wj39e9VLq7xe4rLXK+lqyfsNBrMwb5uKCaQAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;VSCodium&quot;
        title=&quot;&quot;
        src=&quot;/static/65940ea924c5a664cc1588f1ea026f94/7c811/open-vsx-org.png&quot;
        srcset=&quot;/static/65940ea924c5a664cc1588f1ea026f94/103f2/open-vsx-org.png 165w,
/static/65940ea924c5a664cc1588f1ea026f94/748ba/open-vsx-org.png 330w,
/static/65940ea924c5a664cc1588f1ea026f94/7c811/open-vsx-org.png 660w,
/static/65940ea924c5a664cc1588f1ea026f94/d28e0/open-vsx-org.png 990w,
/static/65940ea924c5a664cc1588f1ea026f94/bb51b/open-vsx-org.png 1320w,
/static/65940ea924c5a664cc1588f1ea026f94/ac7a9/open-vsx-org.png 1920w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/vscode&quot;&gt;https://marketplace.visualstudio.com/vscode&lt;/a&gt;
Extensions for the Visual Studio family of products&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 151.5151515151515%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEzklEQVR42p1WTW8cRRDdn8KB38KBKycunPkDCAkJhAQ3A0kcJ44ckECCCLiFAwKBEiCggOMojgMhTsza6+z37Oz2fPV87j7e65lxjAgSMFJv11RXVVe9et2zna2tLby/dRnnL23ig1fewplnn8faM89h/eVX8c75c1g/dw4bGxtYW1vDxYsXsbm5eTLePbOOs+sbOHv+AtYvXHK6DvSsUE9+hNWdI2C3B/gxTq/926fj+z40FosFhpMxupMBerMxeoM+jnvH6PV6ODo6QrfbxeHhYS0fdt188OAhhoMB5vM6hkYnCAKEYQjDOTAGAQP7/gxBQFk6jizLOFLY1CJNU2R5hiSMML38JRbDCRZhAGNq+44yGw1HaANHUYQsyZysoSDS1frEzdIrcDT1EdIviWOndwG1mOcFfBNhWa1gUoMPf/sINrdYlks83O+69XJZ4frgEWJmqmdnZwdzJlMw2xdefAk3frpJ/wodRU5Z0mTmoyorBkrxS2/blRWyrO4fh4iZQblc4mDUR14U7n1v715TZoiPP7mCg4MDl7XLMCNeJUtLbIyMeKzyEpFleYs5cholaQJLm0oYcsOQSRRFxURSxGaBFTOzlA1tOmrEbDbDPLIsIUAcERNLLOPQ4ZPlucNM+CizFmsbhSf6wDxpYCfggj8eo3/rV8RJSvqoTA+eJ+At9m7ddqCr08PRyJVl0wyPRj6ixCKnXo2VXht0EmthPA/XPv2MTcix/8DD51f2cO/uhM1I8N6bbzNrdpDGX3/zLavxWGqOq7cesqqEpefoHR83AaMaQwUNuFuUxORXwF0ty4soszRSxfLdkLziaOQoIj1tifOcZFZzpF8YUxPbWuuChMQtIbCpnORgJEe1TH3GOWbjhKVKlRxyE+Gp4DoMHcMujYjNYDRz3Qub8hyxoxhm8YTw84CVhJHL0DWnsff8BbxZ0xSlPjUJtu9dx2qZ1Vz0h1itlsQuxvdf3EBKODKS/MfdH1AWpE9Zorh6BqtZH1m1xGuvv4GdO3dRlkVNbGE0936nomQjcjZpjLIqCXSG/b1HKLICWVFiNrnPYCnJXcLc30ZlI4fdtevf4ej4MeVETQkcVllakjbEh+8pAwgf6QvuKmLHokZWUmbz5nMmQb0uCUKGltjGYWgwnU4wmc8cn0RmDbFesyhj3M2jd3NC5NOyCXhDLZrbxjCjaE467O47rAqeVZFYpSekzHg8dFzTe9roNZwNh9bGY56mKHfN6oTEoBJBv/oZJW8Vd/iZlfAUvre3b/JGyd1GMTHKG1lrkquqwN1dj+USirghttUFQAx02NszmzTEFUc12jtRuri5/1SBZJvWvHXEbi9L7RYlUS2zFO0mB5XmmpXU51mOWpN93MpZLTtiqxGPH/P7wfM4GAzR7/fd7ROYwDVJsmY1T98MQ/Bb/ZzdNs1tJV3dFComk8lJoDFvHn2YPM9zQxtpnk6nTtasd9nIr7UZDoc1bRRVQaQ8HbB2nDLrvnOSs2y0fjpg6zvg18+0GCp1BfhLacb8reRW1pC9/JRQa+/uwyW/FZb8q8h2PQ54dlB6t8YOr1arfxytXTvcP4eWU3pct5uAcki42X/656AfZSfnpz1t5qefp2XZ+nfwP542SNF8Uh25bV3Jnwwv2qTw2zzbAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;VSCode&quot;
        title=&quot;&quot;
        src=&quot;/static/644e358e303ffc68b223c31d621f4d4e/7c811/marketplace-vscode.png&quot;
        srcset=&quot;/static/644e358e303ffc68b223c31d621f4d4e/103f2/marketplace-vscode.png 165w,
/static/644e358e303ffc68b223c31d621f4d4e/748ba/marketplace-vscode.png 330w,
/static/644e358e303ffc68b223c31d621f4d4e/7c811/marketplace-vscode.png 660w,
/static/644e358e303ffc68b223c31d621f4d4e/d28e0/marketplace-vscode.png 990w,
/static/644e358e303ffc68b223c31d621f4d4e/bb51b/marketplace-vscode.png 1320w,
/static/644e358e303ffc68b223c31d621f4d4e/ac7a9/marketplace-vscode.png 1920w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Berikut ini gw share tools yang gw pake dalam format &lt;strong&gt;.vsix&lt;/strong&gt; silahkan akses githubnya ya.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/topidesta/vscodium-ext-for-fullstack-dev&quot;&gt;https://github.com/topidesta/vscodium-ext-for-fullstack-dev&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;update&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update&quot; aria-label=&quot;update permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Update&lt;/h2&gt;
&lt;p&gt;Github Copilot di Vscodium.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 100.60606060606061%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAABYlAAAWJQFJUiTwAAACdklEQVR42p1V23KbMBT0//9XXtuZ9jWJwWCoLS4GSdzhdPc44DgTT8fVzA6yhJZd7ZG8a9tWuq77Fk3TiLVWyrIASuG7RVEApc4Pw6BjnPPeK3betlJXtS6sqkr6vhe2ZVkU0zhh8SDzjP406Uecb5QsTVNJkkTXkJjYObBycp5nXUCSzw1DEoRQ5x3emTb1bC8vLwq21emuhbIRhCQi6QYw6UeA/WsiSXiUsb9tRRRFqi4MQ4njWMeUsK8tbI3yqFFvmmZS5IWM+EgHe9wrkp3PZyWm9Y1whrrBgbTrgU5GTExYNDj30e8kOZzEhLHY8FVMsJf0hN8gO+GZZZnieDxqODsubDAwcC/R7xHM4Ly0SJPPHmPBz99ifv0QD8LqlEptnaZNq1RKogvWacqPvS4yWrwUB1Lu39UB7dOWMQZ2DaxebfPJMU2ZC+Vzsgihz4248E3acyrT0G/JL5iroSQIAjkcDhrIPgglOESyDyOUnrtXOLHGSGROsrBe1noEkX4LfdqiXbV5ucipdICXP4Br2nvCGWEs03hney3wq/hZLa+HgCDx2teUvxbySnTr3giNOW8KuWdMl3vI/axRflfCDztfib4jjJAq1fEs53kOwlxLx4C4/yj6xyl/Q/iOtC2S73huGy+Nv8L7ZjuSOxYxMY+DLP9Q6Lh3SNI2nVQON5FvFW3bSb8SttjUBvJbJDYhkLvz/PXCwDO7eDlmVmJTS5JbSYHs4m4Kn7G8LLMYLI5AmBRWIpDG6EdZLXnlnyek4uul68TznE+zXhgjrrURfV6DzxFCYYM9K7JS64+JW1vrkeMl+x+Wl+1vgfW4KiaojqR/ATzCEca9tEvyAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Copiliot&quot;
        title=&quot;&quot;
        src=&quot;/static/9e1c1c068c66916cf31519cf0913d859/7c811/copilot.png&quot;
        srcset=&quot;/static/9e1c1c068c66916cf31519cf0913d859/103f2/copilot.png 165w,
/static/9e1c1c068c66916cf31519cf0913d859/748ba/copilot.png 330w,
/static/9e1c1c068c66916cf31519cf0913d859/7c811/copilot.png 660w,
/static/9e1c1c068c66916cf31519cf0913d859/487e7/copilot.png 935w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Umami alat untuk Analytics]]></title><description><![CDATA[Bismillah .... Biasanya setiap orang akan memanfaatkan Google Analytics sebagai Default untuk tracking website, termasuk salah satu project gw, landing pendaftaran online, kenapa…]]></description><link>https://topidesta.my.id/umami-alat-untuk-analytics/</link><guid isPermaLink="false">https://topidesta.my.id/umami-alat-untuk-analytics/</guid><category><![CDATA[nextjs]]></category><category><![CDATA[umami]]></category><category><![CDATA[analytics]]></category><pubDate>Thu, 02 Dec 2021 14:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah ....&lt;/p&gt;
&lt;p&gt;Biasanya setiap orang akan memanfaatkan Google Analytics sebagai Default untuk tracking website, termasuk salah satu project gw, landing pendaftaran online, kenapa gak pake google? sebetulnya enakan pake google sih, terserah deh datanya mau diapain, hehe...  tapi, karena gw React mindset haha ... jadi pas ada Developer yang buat aplikasi dengan React (NextJS Framwork) yaitu Umami dan kebetulan juga tools analytics, langsung aja Install, mudah dan gampang!&lt;/p&gt;
&lt;p&gt;Untuk detailnya berikut ini project yang gw install umami&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 64.24242424242425%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACFklEQVR42pVTa3PaQAz0//9lnYQkTSBAaTIEQxwDfj/OPtt4u3se0uRTpzejkdHpVquV8KxtURQFhmHAOI7O/udcLhfUdY2yLNG2LbzGGGR55i6+nxF93/2zgO6bpvkLaEzjAtZanHZvyIIDxqF3iUmcwDJJ7K+mwl9/XztTXN7rGChrg4+9j/jg49ISPE1cdbVSsYOqotc382zXwbBIIUYkkeY5WsYy+rKq4NlegLUDLM5HijLAZgkkwPkYIgreaQHi8APJ6YgiiZEwfmY8j84I/B1KxkK+T6KIgBxKw4pxGKLgA/aAvshhG4Pfd7dY/XzAYjbD6uEe89sbrO7vsHl6xJJ+wd+L2WSPNz/gL+fwRDvnlAPfnwDJsMtTp8f7ZoXtcoEXAmyf53hbPSN42SDcvsJfL7H/tcaOscNmjdfFE46Mex3FFGgUBt8AdTSslpo2ZvKynno1TtdpqgW16/i+JKna1NKwdwyP7wdqePrUUMuSZxkymu5zic5BGILpW6ahxXHsCsdJ4gblAGsGwsP+k6HNJoYVE7T0Mj2SdZoyQctyimm6Wrmcu6wC3kCtjC44sTI6uaFcW3Zrw1UQoNjpW20qLoYCTMhMsTRNXY6XsiXtktagoI4jq133UAliUnMP9VhAYiOGKuKI8L0A5R3DlBVqLmwlUU8hbHzGwJXRMUyQdbZz/4Rry/JiO7Wau1jhhmLwB9Cf5bAOjUewAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Umami Install&quot;
        title=&quot;&quot;
        src=&quot;/static/176683a89295bd4c9926f5ad9d475058/7c811/installed-umami.png&quot;
        srcset=&quot;/static/176683a89295bd4c9926f5ad9d475058/103f2/installed-umami.png 165w,
/static/176683a89295bd4c9926f5ad9d475058/748ba/installed-umami.png 330w,
/static/176683a89295bd4c9926f5ad9d475058/7c811/installed-umami.png 660w,
/static/176683a89295bd4c9926f5ad9d475058/6fa0c/installed-umami.png 881w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Bahkan project Umami ini terbilang baru loh tapi sudah aktif pengembangannya, oya, kebetulan ada 1 project gw yang pake Docusaurus (Dokumentasi tools) tapi belum ada pluginnya, sekalinya ada itu plugin untuk google analytic, dan gw males pakenya hehe, terlihat disana &lt;strong&gt;LAGI BELAJAR BUAT PLUGIN DOCUSAURUS&lt;/strong&gt; hehehe, sabar ya, nanti kalo sempet gw buat kalo gak sempet pake yang developer lain buat, hehe. *developerMales detected!.&lt;/p&gt;
&lt;p&gt;Tapi gw udah posting di Official Github Umami terkait plugin/ tools yang dibuat untuk Umami.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/mikecao/umami/issues/878&quot;&gt;https://github.com/mikecao/umami/issues/878&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Oya, kalo mau contoh tampilannya silahkan akses ke &lt;a href=&quot;https://live.simrspersahabatan.co.id/share/XMQMDVbJ/PENDAFTARAN%20ONLINE&quot;&gt;landing pendaftaran&lt;/a&gt; ya.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 114.54545454545455%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAXCAYAAAALHW+jAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB80lEQVR42qWV3W7UMBCF+/63vAM8ApdIXHABQtwgkFqoEFDU/WnSbGPH9tg+zIzjJap2VadEGjnxxl9mjj1nL0IIWAYR4XA4YL/fo+s6vn9AjFHnvfc6Sjjn8HitxMUpoDEGfd8rcOKF8mysRUwRciX+QIzUBpTwHCmVRd6XzCRLheWMu1F+S21A7wNyTrAB+LYrELnyPDrKeHcdYJzI0AB0DAQiXn92ePnBYrAJr95bvL3yCrzpI168MfjTE6dbEniyZCn1+zbgehcYQPj4Y8KXG4vJR2wGwqefHv1IrGWR50mgRM5zkTwmKc1PxzmR5FS5Z4FyJLxCoRCRYRx5p43VUxBTxrlEzmZYd1V3NiUF16hzzUB5uS6q8V/AaZp0gWQpZYoENN/LPFFkGUrXNAPlZVkssApf6irPqzKUBQKSLlmWvNS1GSiwAkjHjGoUTVdmqJlxiw0jOwolPSYS1WGKFCs0JG787RC4GwLuHgJuO4ODEficOVZkWM1BTODecKvdO/zunDrM8nrWOXSh6CWWFTjrdGy9lcDqfzWKec0w/QBbV6J1x0Zc2s9mK5flDRm91ftf/Ra7sWO34c0Lvq3kf86StTNuNwMurzYgBny93KHbS9dQmx9WDStU7F4Puo507O/mkpfnq/7bPdY1+NP29RfqOgse0wb15AAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Umami Landing Pendaftaran&quot;
        title=&quot;&quot;
        src=&quot;/static/c9bb6955f43fe471dc6f59b57f93313f/7c811/landingpendaftaran-umami.png&quot;
        srcset=&quot;/static/c9bb6955f43fe471dc6f59b57f93313f/103f2/landingpendaftaran-umami.png 165w,
/static/c9bb6955f43fe471dc6f59b57f93313f/748ba/landingpendaftaran-umami.png 330w,
/static/c9bb6955f43fe471dc6f59b57f93313f/7c811/landingpendaftaran-umami.png 660w,
/static/c9bb6955f43fe471dc6f59b57f93313f/d28e0/landingpendaftaran-umami.png 990w,
/static/c9bb6955f43fe471dc6f59b57f93313f/bb51b/landingpendaftaran-umami.png 1320w,
/static/c9bb6955f43fe471dc6f59b57f93313f/912ae/landingpendaftaran-umami.png 2472w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Oke sekian pembahasannya, next mungkin gw share juga hasil plugin docusaurusu ya, doakan ya.&lt;/p&gt;
&lt;p&gt;have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Github Failed Push, Pull]]></title><description><![CDATA[Bismillah .... Sempet heran kok gak bisa push atau pull di laptop, gw lupa ternyata Github ubah aturan Login Credentialnya dari password menjadi Token yang bisa diset sementara…]]></description><link>https://topidesta.my.id/github-failed-push-pull/</link><guid isPermaLink="false">https://topidesta.my.id/github-failed-push-pull/</guid><category><![CDATA[github]]></category><pubDate>Thu, 19 Aug 2021 03:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah ....&lt;/p&gt;
&lt;p&gt;Sempet heran kok gak bisa push atau pull di laptop, gw lupa ternyata Github ubah aturan Login Credentialnya dari password menjadi Token yang bisa diset sementara atau selamanya.&lt;/p&gt;
&lt;p&gt;Pesan errornya kayak gini&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;github&quot;&gt;&lt;pre class=&quot;language-github&quot;&gt;&lt;code class=&quot;language-github&quot;&gt;λ git push -u origin main
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access &amp;#39;https://github.com/amati-tiru-modifikasi/10-aplikasi-sederhana-javascript.git/&amp;#39;: The requested URL returned error: 403&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;cari via google sana sini, akhirnya terdampar diberbagai pembahasan yang jelimet, untuk pasti dihalaman ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;html&quot;&gt;&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;https://stackoverflow.com/a/68780014&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Udah itu ajah, ikutin ajah langkahnya.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Buat Token dihalaman &lt;a href=&quot;https://github.com/settings/tokens&quot;&gt;https://github.com/settings/tokens&lt;/a&gt; (kalo PC pribadi, bikin unlimited ajah)&lt;/li&gt;
&lt;li&gt;Simpan hasil generate itu di txt pc&lt;/li&gt;
&lt;li&gt;Download Github CLI (Gw pake cocolatey buat download manager)&lt;/li&gt;
&lt;li&gt;Ketik &lt;code class=&quot;language-text&quot;&gt;gh auth login&lt;/code&gt;, copy paste hasil generate dari tokens itu&lt;/li&gt;
&lt;li&gt;Done.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[21 Kebiasan Baik Koding ReactJS]]></title><description><![CDATA[Bismillah Entah kadang "Kebiasan Buruk" selalu terulang karena kita jarang membaca Updatenyah hehe, berikut ini 21 kebiasan yang diantarnya pernah gw alami.
Langsung ajah berikut…]]></description><link>https://topidesta.my.id/21-kebiasaan-baik-koding-reactjs/</link><guid isPermaLink="false">https://topidesta.my.id/21-kebiasaan-baik-koding-reactjs/</guid><category><![CDATA[reactjs]]></category><category><![CDATA[medium]]></category><pubDate>Fri, 06 Aug 2021 10:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah&lt;/p&gt;
&lt;p&gt;Entah kadang &quot;Kebiasan Buruk&quot; selalu terulang karena kita jarang membaca Updatenyah hehe, berikut ini 21 kebiasan yang diantarnya pernah gw alami.
Langsung ajah berikut ini 21 Kebiasan Programmer ReactJS, terutama gw sendiri hehe.&lt;/p&gt;
&lt;h1 id=&quot;1-gunakan-jsx&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-gunakan-jsx&quot; aria-label=&quot;1 gunakan jsx permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1. Gunakan JSX&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Navbar showTitle&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Navbar showTitle &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;2-gunakan-logika-ternary&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2-gunakan-logika-ternary&quot; aria-label=&quot;2 gunakan logika ternary permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2. Gunakan Logika Ternary&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; role &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; user

&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;role &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;ADMIN&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;AdminUser &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;NormalUser &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; role &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; user
&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; role &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;ADMIN&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;AdminUser &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;NormalUser &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;3-manfaatkan-object-literal&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3-manfaatkan-object-literal&quot; aria-label=&quot;3 manfaatkan object literal permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3. Manfaatkan Object Literal&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; role &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; user

&lt;span class=&quot;token keyword&quot;&gt;switch&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;role&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;ADMIN&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;AdminUser &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;EMPLOYEE&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;EmployeeUser &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;USER&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;NormalUser &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; role &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; user

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; components &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token constant&quot;&gt;ADMIN&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; AdminUser&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token constant&quot;&gt;EMPLOYEE&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; EmployeeUser&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token constant&quot;&gt;USER&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; NormalUser&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; Component &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; components&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;role&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Componenent &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;4-gunakan-fragments&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#4-gunakan-fragments&quot; aria-label=&quot;4 gunakan fragments permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;4. Gunakan Fragments&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Component1 &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Component2 &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Component3 &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Component1 &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Component2 &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Component3 &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;5-tidak-membuat-sebuah-function-di-dalam-render&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#5-tidak-membuat-sebuah-function-di-dalam-render&quot; aria-label=&quot;5 tidak membuat sebuah function di dalam render permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;5. Tidak membuat sebuah Function di dalam Render&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;button onClick&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;dispatch&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;ACTION_TO_SEND_DATA&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos; &apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;// NOTICE HERE This is a bad example&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;button&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;submitData&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;dispatch&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;ACTION_TO_SEND_DATA&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;button onClick&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;submitData&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;This is a good example&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;button&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;6-gunakan-memo&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#6-gunakan-memo&quot; aria-label=&quot;6 gunakan memo permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;6. Gunakan Memo&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; React&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; useState &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;react&apos;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;TestMemo&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;userName&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; setUserName&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;useState&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;faisal&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;count&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; setCount&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;useState&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;increment&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;setCount&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;count&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; count &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
      &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;ChildrenComponent userName&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;userName&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
      &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;button onClick&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;increment&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; Increment &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;button&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;ChildrenComponent&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; userName &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;rendered&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; userName&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;userName&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; React&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; useState &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;react&apos;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; ChildrenComponent &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; React&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;memo&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; userName &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;rendered&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;userName&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;7-gunakan-tag-javascript-untuk-css&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#7-gunakan-tag-javascript-untuk-css&quot; aria-label=&quot;7 gunakan tag javascript untuk css permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;7. Gunakan Tag Javascript untuk CSS&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;body &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; 10px&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div className&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;body&apos;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; bodyStyle &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;10px&quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div style&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;bodyStyle&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;8-gunakan-object-destructure&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#8-gunakan-object-destructure&quot; aria-label=&quot;8 gunakan object destructure permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;8. Gunakan Object Destructure&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;user&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;name&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;user&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;age&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;user&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;profession&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; age&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; profession &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; user

&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;name&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;age&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;profession&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;9-string-tidak-perlu-kurung-kurawal&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#9-string-tidak-perlu-kurung-kurawal&quot; aria-label=&quot;9 string tidak perlu kurung kurawal permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;9. String Tidak Perlu Kurung Kurawal&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Navbar title&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;My Special App&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Navbar title&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;My Special App&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;10-jangan-gunakan-kode-js-di-jsx&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#10-jangan-gunakan-kode-js-di-jsx&quot; aria-label=&quot;10 jangan gunakan kode js di jsx permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;10. Jangan Gunakan kode JS di JSX&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;ul&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;posts&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;post&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
      &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;li
        onClick&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;event&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
          console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;event&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;target&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;clicked!&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// &amp;lt;- THIS IS BAD&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        key&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;post&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;id&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;post&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;li&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;ul&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;onClickHandler&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token parameter&quot;&gt;event&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;event&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;target&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;clicked!&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;ul&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;posts&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;post&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
      &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;li onClick&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;onClickHandler&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; key&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;post&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;id&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;post&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;li&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;ul&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;11-gunakan-template-literal&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#11-gunakan-template-literal&quot; aria-label=&quot;11 gunakan template literal permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;11. Gunakan Template Literal&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; userDetails &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; user&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;name &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&apos;s profession is&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; user&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;proffession

&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;userDetails&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; userDetails &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;user&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;name&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;s profession is &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;user&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;proffession&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;userDetails&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;12-import-sesuaikan-urutan&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#12-import-sesuaikan-urutan&quot; aria-label=&quot;12 import sesuaikan urutan permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;12. Import sesuaikan Urutan&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; React &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;react&apos;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; ErrorImg &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;../../assets/images/error.png&apos;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; styled &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;styled-components/native&apos;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; colors &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;../../styles/colors&apos;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; PropTypes &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;prop-types&apos;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;//Built-in&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; React &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;react&apos;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Internal/ Komponent&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; PropTypes &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;prop-types&apos;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; styled &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;styled-components/native&apos;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Eksternal/ Assets&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; ErrorImg &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;../../assets/images/error.png&apos;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; colors &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;../../styles/colors&apos;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;13-gunakan-implicit-returnya&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#13-gunakan-implicit-returnya&quot; aria-label=&quot;13 gunakan implicit returnya permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;13. Gunakan &lt;strong&gt;implicit&lt;/strong&gt; returnya&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;add&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; b
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;add&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;a&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; b&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; a &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; b&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;14-penamaan-komponen-dengan-pascalcase&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#14-penamaan-komponen-dengan-pascalcase&quot; aria-label=&quot;14 penamaan komponen dengan pascalcase permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;14. Penamaan Komponen dengan PascalCase&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; reservationCard &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;./ReservationCard&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; ReservationItem &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;ReservationCard &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; ReservationCard &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;./ReservationCard&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; reservationItem &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;ReservationCard &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;15-jangan-gunakan-propertis-yang-digunakan-dom&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#15-jangan-gunakan-propertis-yang-digunakan-dom&quot; aria-label=&quot;15 jangan gunakan propertis yang digunakan dom permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;15. Jangan Gunakan Propertis yang digunakan DOM&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;MyComponent style&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;dark&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;

&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;MyComponent className&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;dark&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;MyComponent variant&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;fancy&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;16-selalu-gunakan-double-qoutes&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#16-selalu-gunakan-double-qoutes&quot; aria-label=&quot;16 selalu gunakan double qoutes permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;16. Selalu Gunakan Double Qoutes&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Foo bar&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;bar&apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;

&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Foo style&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;left&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;20px&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Foo bar&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;bar&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;

&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Foo style&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;left&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;20px&apos;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;17-penamaan-prop-dengan-camelcase&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#17-penamaan-prop-dengan-camelcase&quot; aria-label=&quot;17 penamaan prop dengan camelcase permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;17. Penamaan Prop dengan camelCase&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Component
  UserName&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;hello&quot;&lt;/span&gt;
  phone_number&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;12345678&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;MyComponent
  userName&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;hello&quot;&lt;/span&gt;
  phoneNumber&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;12345678&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  Component&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;SomeComponent&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;18-selalu-wrap-setelah-tutup-kurung-return&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#18-selalu-wrap-setelah-tutup-kurung-return&quot; aria-label=&quot;18 selalu wrap setelah tutup kurung return permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;18. Selalu Wrap setelah Tutup Kurung Return&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;MyComponent variant&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;long&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
           &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;MyChild &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
         &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;MyComponent&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;MyComponent variant&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;long&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
      &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;MyChild &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;MyComponent&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;19-closing-tag-di-tempat-yang-sama&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#19-closing-tag-di-tempat-yang-sama&quot; aria-label=&quot;19 closing tag di tempat yang sama permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;19. Closing Tag di Tempat yang Sama&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;SomeComponent variant&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;stuff&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;SomeComponent&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;SomeComponent variant&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;stuff&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;20-jangan-gunakan-_underscore-di-method&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#20-jangan-gunakan-_underscore-di-method&quot; aria-label=&quot;20 jangan gunakan _underscore di method permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;20. Jangan Gunakan _Underscore di Method&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;_onClickHandler&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// do stuff&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;onClickHandler&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// do stuff&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id=&quot;21-selalu-gunakan-prop-alt-di-gambar&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#21-selalu-gunakan-prop-alt-di-gambar&quot; aria-label=&quot;21 selalu gunakan prop alt di gambar permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;21. Selalu gunakan Prop &quot;alt&quot; di Gambar&lt;/h1&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;img src&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;hello.jpg&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;img src&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;hello.jpg&quot;&lt;/span&gt; alt&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;Me waving hello&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;
&lt;p&gt;source: &lt;a href=&quot;http://go.topidesta.my.id/21-best-practice-reactjs&quot;&gt;http://go.topidesta.my.id/21-best-practice-reactjs&lt;/a&gt;&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[10 Aplikasi Sederhana Javascript]]></title><description><![CDATA[Bismillah Langsung ajah yah, ini dari Udemy, Judul Aselinya sih 10 Project dibuat kurang dari 6 Jam sejujurnya shock juga denger judulnya dan dikerjakan secara langsung 6 jam tanpa…]]></description><link>https://topidesta.my.id/10-aplikasi-sederhana-javascript/</link><guid isPermaLink="false">https://topidesta.my.id/10-aplikasi-sederhana-javascript/</guid><category><![CDATA[javascript]]></category><category><![CDATA[project]]></category><pubDate>Wed, 04 Aug 2021 10:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah&lt;/p&gt;
&lt;p&gt;Langsung ajah yah, ini dari Udemy, Judul Aselinya sih &lt;strong&gt;10 Project dibuat kurang dari 6 Jam&lt;/strong&gt; sejujurnya shock juga denger judulnya dan dikerjakan secara langsung 6 jam tanpa henti ... tapi mau gw kerjakan dalam waktu 10 hari setidaknya dalam 1 hari mengerjakan 1 dengan menyisihkan 1 jam untuk belajar, gimana? lebih manusiawi kan, hehe.&lt;/p&gt;
&lt;p&gt;Lanjut, untuk daftar project aplikasinya gw langsung kasih tau aja yah, ini dia:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot;&gt;No&lt;/th&gt;
&lt;th align=&quot;center&quot;&gt;Nama Aplikasi&lt;/th&gt;
&lt;th align=&quot;center&quot;&gt;Status&lt;/th&gt;
&lt;th align=&quot;center&quot;&gt;Github&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;1&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;Quiz&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;2&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;Todo&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;3&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;Calculator&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;4&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;Digital Clock&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;5&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;Countdown Timer&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;Done&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/amati-tiru-modifikasi/10-aplikasi-sederhana-javascript/tree/countdown-clock&quot;&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;6&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;Loan Calculator&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;7&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;Analag Clock&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;8&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;BMI Calculator&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;9&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;Height Conversion&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;10&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;Word Count&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;-&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Memang terlihat sederhana, tapi sejujurnya gw sendiri lagi mempertajam dan membiasakan diri dengan Javascript, karena kedepannya gw harus terbiasa dengan belajar Typescript (karena belajar ReactJS).&lt;/p&gt;
&lt;p&gt;banyak yah kalo belajar teknologi, belajar itu sampe liang lahat, masyaAllah... lahaulawalakuwataillabillah...&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;project di simpan dihalaman ini -&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; https://github.com/amati-tiru-modifikasi/10-aplikasi-sederhana-javascript&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;source:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://www.udemy.com/share/103znq2@PW1gV1pbSlEGek5EOEhn/&quot;&gt;Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://drive.google.com/file/d/1qWLJIpxn_0fk-YTfXEJP1vYQ-yMlVjJS/view&quot;&gt;Source Code via Google Drive&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Reset Password BackdropCMS]]></title><description><![CDATA[Bismillah Tulisan ini pengalaman gw karena lupa password di localhost (development) backdropCMS. Berikut ini langkah Ribet, karena kalo ubah dari database langsung, tidak akan…]]></description><link>https://topidesta.my.id/reset-password-backdropcms/</link><guid isPermaLink="false">https://topidesta.my.id/reset-password-backdropcms/</guid><category><![CDATA[cms]]></category><category><![CDATA[backdropcms]]></category><category><![CDATA[php]]></category><pubDate>Wed, 30 Jun 2021 10:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah&lt;/p&gt;
&lt;p&gt;Tulisan ini pengalaman gw karena lupa password di localhost (development) backdropCMS.&lt;/p&gt;
&lt;p&gt;Berikut ini langkah Ribet, karena kalo ubah dari database langsung, tidak akan bekerja, ini dilakukan jika reset-password tidak berfungsi ya, langsung saja.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Buat PHP Code&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;&lt;span class=&quot;token php language-php&quot;&gt;&lt;span class=&quot;token delimiter important&quot;&gt;&amp;lt;?php&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;define&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;BACKDROP_ROOT&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getcwd&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;require_once&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;BACKDROP_ROOT&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;/core/includes/bootstrap.inc&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;backdrop_bootstrap&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;BACKDROP_BOOTSTRAP_FULL&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;require_once&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;BACKDROP_ROOT&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;/core/includes/password.inc&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

        &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;isset&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$_GET&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;pass&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;empty&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$_GET&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;pass&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$newhash&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;user_hash_password&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$_GET&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;pass&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token keyword&quot;&gt;die&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;Retry with ?pass=PASSWORD set in the URL&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token variable&quot;&gt;$updatepass&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;db_update&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;users&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; 
                    &lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;fields&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
                    &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;pass&apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$newhash&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                    &lt;span class=&quot;token comment&quot;&gt;// &apos;name&apos; =&gt; &apos;admin&apos;,&lt;/span&gt;
                    &lt;span class=&quot;token comment&quot;&gt;//&apos;mail&apos; =&gt; &apos;&amp;lt;a href=&quot;mailto:yourmail@example.com&apos;&quot;&gt;yourmail@example.com&apos;&amp;lt;/a&gt;&apos;&lt;/span&gt;
                    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
                    &lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;condition&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;uid&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;1&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;=&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
                    &lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;execute&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;Done. Please delete this file immediately!&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;backdrop_exit&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token delimiter important&quot;&gt;?&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;
&lt;p&gt;Upload di &lt;strong&gt;root&lt;/strong&gt; backdropcms disimpan.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Akses Via web browser PHP Code yang sudah kitabuat.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Buka Halaman &lt;a href=&quot;http://localhost/website-backdrop/lupapassword.php?pass=passwordBaru&quot;&gt;http://localhost/website-backdrop/lupapassword.php?pass=passwordBaru&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ganti passwordBaru dengan password yang henda diganti, pastikan kombinasi ya&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;Jika sudah jangan lupa Hapus File lupapassword.php nyah.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;em&gt;Catatan: Bekerja di backdropcms 1.8 s.d 1.19&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;for-your-information-fyi&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#for-your-information-fyi&quot; aria-label=&quot;for your information fyi permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;For Your Information (FYI)&lt;/h2&gt;
&lt;p&gt;Terkadang trick diatas tidak bisa, entah kenapa, akhirnya baca komentar dibawahnya, ada yang share, diantaranya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Set file settings.php ke 777 (jika linux), abaikan jika windows&lt;/li&gt;
&lt;li&gt;copy-paste baris &lt;strong&gt;$settings[&apos;hash_salt&apos;]&lt;/strong&gt; di file settings.php yang website berhasil ke website bermasalah.&lt;/li&gt;
&lt;li&gt;copy-paste password user 1, berhasil login yang terenkripsi di database ke database user 1 login bermasalah.&lt;/li&gt;
&lt;li&gt;Kosongkan table &lt;strong&gt;flood&lt;/strong&gt; di website bermasalah tadi.&lt;/li&gt;
&lt;li&gt;Login dengan Password yang website berhasil tadi.&lt;/li&gt;
&lt;li&gt;Selesai.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;
&lt;p&gt;source:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://forum.backdropcms.org/forum-topic/how-reset-admin-password&quot;&gt;https://forum.backdropcms.org/forum-topic/how-reset-admin-password&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.drupal.org/node/1556488&quot;&gt;https://www.drupal.org/node/1556488&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.drupal.org/forum/support/post-installation/2010-03-01/how-to-unblock-my-own-admin-account-after-5-failed-login&quot;&gt;https://www.drupal.org/forum/support/post-installation/2010-03-01/how-to-unblock-my-own-admin-account-after-5-failed-login&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Landing Page Pendaftaran Online]]></title><description><![CDATA[Bismillah Sekedar mau share hasil ATM (Amati-Tiru-Modifikasi) yang diadaptasi dari GasbyJS, dengan menggunakan Template Gasby Glasess, alasannya karena halaman sebelumnya bersifat…]]></description><link>https://topidesta.my.id/landing-page-pendaftaran-online/</link><guid isPermaLink="false">https://topidesta.my.id/landing-page-pendaftaran-online/</guid><category><![CDATA[react]]></category><category><![CDATA[gatsbyjs]]></category><category><![CDATA[landing]]></category><category><![CDATA[kantor]]></category><pubDate>Tue, 08 Jun 2021 20:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah&lt;/p&gt;
&lt;p&gt;Sekedar mau share hasil &lt;a href=&quot;projek&quot;&gt;ATM (Amati-Tiru-Modifikasi)&lt;/a&gt; yang diadaptasi dari GasbyJS, dengan menggunakan Template &lt;a href=&quot;https://github.com/yinkakun/gatsby-starter-glass.git&quot;&gt;Gasby Glasess&lt;/a&gt;, alasannya karena halaman sebelumnya bersifat statis dan pagerange dari google lumayan kecil, dan penambahan harus hard-code.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 40.60606060606061%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAAsTAAALEwEAmpwYAAABZUlEQVR42nXSTUsCURQGYH9cReO9d4Q2tehjUxARQRJuMnLTohJq0UJNHWf8nNGZEVFELFMpEyOUpN/zdvxIzLHFy909vOec65Ifh1iMZ5ToKAPI8Q94El14tFfIWoNSpZQgUiZ4OgeeSYJn4+C5MLj+ANcy0B3+ghTp09vBetDCajCPldsUpHsNUtzCmmrAncw4MG7cOUEeGeLI+IbXGmBf72FLa8Jnt3FmNbChFnFoV+Gv1bFnFeBOxyCmGCOM5W+coKAxT/RP+M0uvPY7tnMtXNhNXJZfsGmUcGyWEKhUcFAyIGVCfzBWuFoEaWexHkS8A1lpQ1afwdUqdvQadvMV8BTtLE1jZhQalZrlJmP+YswMzIHR/hiTCRNKk1KHIEzQAViyAJbKTjHaWTa0FGPW+RScYW8EtSASTzNMJE266PSaY2zSjC3BmO0bgXNYgpolqJlSJrD479dgOmH6tQNzF0/xA/lTpiV+k02SAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Landing Pendaftaran&quot;
        title=&quot;&quot;
        src=&quot;/static/6498b930439a389e7e7f374a5e5c0935/7c811/landingpendaftaran.png&quot;
        srcset=&quot;/static/6498b930439a389e7e7f374a5e5c0935/103f2/landingpendaftaran.png 165w,
/static/6498b930439a389e7e7f374a5e5c0935/748ba/landingpendaftaran.png 330w,
/static/6498b930439a389e7e7f374a5e5c0935/7c811/landingpendaftaran.png 660w,
/static/6498b930439a389e7e7f374a5e5c0935/d28e0/landingpendaftaran.png 990w,
/static/6498b930439a389e7e7f374a5e5c0935/bb51b/landingpendaftaran.png 1320w,
/static/6498b930439a389e7e7f374a5e5c0935/912ae/landingpendaftaran.png 2472w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Untuk review dari Google Speed, ini untuk landing-page versi Pertama: &lt;a href=&quot;https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fwww.rspersahabatan.co.id%2Fpendaftaran&quot;&gt;48&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 115.75757575757576%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAXCAYAAAALHW+jAAAACXBIWXMAAAsTAAALEwEAmpwYAAACLUlEQVR42qVUXWvUQBTNn/PXFET9AYJW8UF8ESsIViv6ou0+WB+64kvVB30VVlhBhbIiJt1kJjOZTDJfx5vEtlD3q9kLh7vJzD25H+dudO1FhQZXnxPIbzxVuP5K4tG7Ag/fSmwf1njy3rTYPjTY+Whwd7/E5R2FKxRzHtGdwRS3Bxk29xhu7mYERgE5toYcDw7yMww7v0X+3j5v798a8FNsEm7sckSAQwc/B2RaAuy4+73wrkcUAjATzbH3KHWFgjOINIUqNb1rTjrMioswxzydVkRgjIMyBrpyMNrBEeFEeMTKz4ybS9gkEbMpWDyBTjnSQiAuGLjIcOnxfWy8fnn64aWEAd2lr/kE4+8fgG9jjNgRDuIv+JmM8Wz4CW8+j7q7qxCe2G/NEctfQJpgaiR+6AQjnuEcx6qEAXWhYGpLg6A+CglT1nCm66MPFyYkpXABJgpYYyGVhlCKiPyikMWENWVjbDiZUWtHWQbr/cUJm2bXddWWa61FSRLKywp/uPxvsivKJiDnHFJKWOcQSIuWnq0q+pfMqbwsy86koSSCyBHQc8oi51CqbFew4Wy806pfhk1WeZ5DCEGkjXwqOEtluzWm3BAmSYKMMVRFAW/q9kOh11DIhBTgnHcZ0qQ7MvQvWZGYrXX/eriEaRmhJ6nkTELS+knKtGz/C9cgbFVCE1albbeloB5qXbd73F+HtMspE6iqmgYkcDzNiNSss8uWYLr1c4Ey9a1fRPgXofj0/DzbKjAAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Landing Pendaftaran Pertama&quot;
        title=&quot;&quot;
        src=&quot;/static/82bedca29f7f37f6e5f25e1ad0d0bdf8/7c811/landingpage-pertama.png&quot;
        srcset=&quot;/static/82bedca29f7f37f6e5f25e1ad0d0bdf8/103f2/landingpage-pertama.png 165w,
/static/82bedca29f7f37f6e5f25e1ad0d0bdf8/748ba/landingpage-pertama.png 330w,
/static/82bedca29f7f37f6e5f25e1ad0d0bdf8/7c811/landingpage-pertama.png 660w,
/static/82bedca29f7f37f6e5f25e1ad0d0bdf8/d28e0/landingpage-pertama.png 990w,
/static/82bedca29f7f37f6e5f25e1ad0d0bdf8/bb51b/landingpage-pertama.png 1320w,
/static/82bedca29f7f37f6e5f25e1ad0d0bdf8/912ae/landingpage-pertama.png 2472w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Untuk review dari Google Speed, ini untuk landing-page versi Kedua: &lt;a href=&quot;https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Flandingpendaftaran.netlify.app%2F&quot;&gt;92&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 97.57575757575758%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB9UlEQVR42qVUz2/TMBjtnwwHDrvAkMZhU0+7c0CAhEaZQGPT0DQVVQPRiQsXNLaxAirQijW/HNuxY/vx2SWol6Q0fNGTndh+eZ+/Z3c2nheocO9Fgds7HNsHGR4NGIHj6VCjNyxDu/NO49mpxv2+xMYux+LaCp21Jxy3HnPcfDjHDcKdnkB3j2Nrj9qXEpvU9/D97r7E3R7Ne8D+rllEBw3h/rRXchqw+K0uOs7VT3I0qIoCaZYgylIIIauBesK6AWst8jyH1gpKKQhlA7QBNvc/onv4oQ0hhzGG+galsXDW4TqzWNs9xfqrwWqEjh6WM1KnYYgwoZQlpZwVGltHfWyfHK5G6ENwASV1INdaQ6t5/yft6TSP/42w2u+iNBicf8fx2Tf0P40xHE1xcjkm/IBdpSjVVE/4/usYb0df8Pr8M95cXuHo7AKDixGMs7UGqk+ZVEjaQ1OWwT6OimR8ylT1Rh82ESZxjChJUJBt/Lvj9IM8azR3g20csoyRmQVVVwRSRWpLa1sqpJjNZphMJoiiKBB7T4b025yUuW14IPKWsUuULU+ZTgZjHEqXgdDQe5NdlhOSbZKYgZFKxli4GIz9D0IfeS7ABSksXTjXnEs6064toUMcp4jiLFQ4TTP8uqbiSNVeoS79LWNCQXxNDKmzS9L+DYkDBc1bB/6qAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Landing Pendaftaran Kedua&quot;
        title=&quot;&quot;
        src=&quot;/static/d15414e6df27a938d352d552e4bc804e/7c811/landingpage-kedua.png&quot;
        srcset=&quot;/static/d15414e6df27a938d352d552e4bc804e/103f2/landingpage-kedua.png 165w,
/static/d15414e6df27a938d352d552e4bc804e/748ba/landingpage-kedua.png 330w,
/static/d15414e6df27a938d352d552e4bc804e/7c811/landingpage-kedua.png 660w,
/static/d15414e6df27a938d352d552e4bc804e/d28e0/landingpage-kedua.png 990w,
/static/d15414e6df27a938d352d552e4bc804e/bb51b/landingpage-kedua.png 1320w,
/static/d15414e6df27a938d352d552e4bc804e/912ae/landingpage-kedua.png 2472w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 56.36363636363636%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABfklEQVR42o2QW0sCQRiG9w9qqezqarq77sHUfkaUaeRhc+0iA2870oKV6VVR0VXghQUa63lnPYKFCl7YjFKYGQgPH8/M987Mx2C9z/5Hf9jutgFolEu1SqVWKdfqdaBpTaA2YNVUrQ6AqgK1joA77VanqTVeFIBthSTfnri5G/IFRV9wfycc3Q6K/rAUEGPQAxEJeSQ2bcEKl1D8kahfPMD0JKUjab0VggQ5Sa1YmVWb07A2weaESx2K/UJvcWBW3juLTdjAaeFMTsLZs7nXbO6tVK2dykmcccHWXBizsO5ZSM5jsLN3D0/j8Xg0GI4GAyj3j89GOwdbc+EFh40OPn2TbilFNV8AhfdepZq5zZgoYYnDrBtOeHIhx48SoYgUEqXDeOL4/NLsXJ9L/vOynb28SrU63YJSzCvFZrsjX6dMjiXGnkLQLoiZQSBnXAtjGLzvLxYWYea9BO+d+vdc7tkYhtM8TvGoTuXHaY7g3GbOg1McQfPk5DsIRpgNfwH2X0iUzDy6lgAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Login Admin NetlifyCMS&quot;
        title=&quot;&quot;
        src=&quot;/static/2cd37e95900e43ac44f9aaf52465242f/7c811/netlifycms-login.png&quot;
        srcset=&quot;/static/2cd37e95900e43ac44f9aaf52465242f/103f2/netlifycms-login.png 165w,
/static/2cd37e95900e43ac44f9aaf52465242f/748ba/netlifycms-login.png 330w,
/static/2cd37e95900e43ac44f9aaf52465242f/7c811/netlifycms-login.png 660w,
/static/2cd37e95900e43ac44f9aaf52465242f/d28e0/netlifycms-login.png 990w,
/static/2cd37e95900e43ac44f9aaf52465242f/bb51b/netlifycms-login.png 1320w,
/static/2cd37e95900e43ac44f9aaf52465242f/e2f49/netlifycms-login.png 1366w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 56.36363636363636%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABNUlEQVR42o2SSU/DMBCF/f9/FgcOnIrgQiFNnThNuiRexmuWwmsqUFr1gPVp4rHnad5YYa3UnaLm0BSl+PrcZNk2y/J8w/Occ14WheBcbLZFnheVqJEKsavrfSWql3XJpO0NBaW0tb7vBxBiSqkH+CKNMX2fz4irt4/9ocXGOR9CbJVmhjxAUUqjdQF3wzgNwzgM13jZFFWzznjdnKSyKNbGa/JKWdZJdTieoIFeKkPkYuy9jyGkK0hf39dPz6u2M0q7trOdBITIdq0/UjJxUn4gG8h6AAvOxz/QP6YJSnRewhR5F3t4RQ3Gttb2MHq7IJ6my1BoeCvWVimS8gJZB/BM46MFX/fiZTIbI23c7P+eB7bn0X/pqJWEh3nITeUMIxv/A/6FK8tDtuXVfyhFA3ixWx7+ANlXbGQP0rPKAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Dashboard Admin NetlifyCMS&quot;
        title=&quot;&quot;
        src=&quot;/static/cdbe41b5e985abaa2167dab68deccd1e/7c811/netlifycms-dashboard.png&quot;
        srcset=&quot;/static/cdbe41b5e985abaa2167dab68deccd1e/103f2/netlifycms-dashboard.png 165w,
/static/cdbe41b5e985abaa2167dab68deccd1e/748ba/netlifycms-dashboard.png 330w,
/static/cdbe41b5e985abaa2167dab68deccd1e/7c811/netlifycms-dashboard.png 660w,
/static/cdbe41b5e985abaa2167dab68deccd1e/d28e0/netlifycms-dashboard.png 990w,
/static/cdbe41b5e985abaa2167dab68deccd1e/bb51b/netlifycms-dashboard.png 1320w,
/static/cdbe41b5e985abaa2167dab68deccd1e/e2f49/netlifycms-dashboard.png 1366w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Kenapa harus diubah? beberapa kelebihannya diantaranya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Waktu Load Data Kecil&lt;/li&gt;
&lt;li&gt;Penambahan Data Mudah (Menggunakan NetlifyCMS)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Udah Segitu ajah, dan sesederhana itu, kalo mau cek silahkan ke halaman ini:&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;https://landingpendaftaran.netlify.app/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Beberapa stack yang gw pake, dan ini bukan orisinil gw, inget konsep bekerja dan belajar gw itu ATM (Amati-Tiru-Modifikasi), jangan heran yoo...&lt;/p&gt;
&lt;h2 id=&quot;teknologi&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#teknologi&quot; aria-label=&quot;teknologi permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Teknologi&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Gatsby for Static Site Generation&lt;/li&gt;
&lt;li&gt;Netlify CMS for content management&lt;/li&gt;
&lt;li&gt;Styled Component for styling&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Done.&lt;/p&gt;
&lt;p&gt;Have a nice Day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Project Orang Gw Kerjain!]]></title><description><![CDATA[Bismillah ... Sebetulnya gw lagi Gabut banget, gak semanget tuh dikantor juga (gegara THR) dan dapet penawaran kerjaan Remote 3x tapi belum ada yang berhasil belum rezeki kali yah…]]></description><link>https://topidesta.my.id/project-orang-gw-kerjain/</link><guid isPermaLink="false">https://topidesta.my.id/project-orang-gw-kerjain/</guid><category><![CDATA[mockup]]></category><pubDate>Wed, 19 May 2021 04:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah ...&lt;/p&gt;
&lt;p&gt;Sebetulnya gw lagi Gabut banget, gak semanget tuh dikantor juga (gegara THR) dan dapet penawaran kerjaan Remote 3x tapi belum ada yang berhasil belum rezeki kali yah atau sholat dhuhaa gw kurang kuat?!.
kali ini gw mau share ide, belum gw kerjain tapi akan gw kerjakan dan gw share demonya nanti sekaligus sourcecodenya (insyaAllah), ide ini didapat dari Group Telegram yang share tentang Freelance, tapi dihargainnya murah banget kayak kacang goreng, meskipun CRUD (copy paste dari google juga bisa) mungkin itu yang difikirkan kali, masalahnya ini &lt;em&gt;Waktu&lt;/em&gt; dan &lt;em&gt;Usaha&lt;/em&gt;, ini gw kasih ScreenSootnyah.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 431px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 166.06060606060606%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAhCAYAAADZPosTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE2UlEQVR42p1WaXPaSBTk//+a/ZCqpHaNkzjO4oPDmFMnQiAkDnHpFojenhHs2rmzqup6o2H0GM3r7qdKu/oXlKu30G+uoRF69R1C38cBQH4skB1PiLODRMb7vDh9BbGm4Ho/PqCyXy1gthpwlAGMdhN2v4vJyMDEHmM6tjC1bcwcB7OZA9uy4bkenMkEE2I6sQkRp8iSGFF+QiUMQ0ymDlxvDmc2g2lNsFouMHdn8JgoSVKI63Q64XK9HJf3ZQyyIyr4xiUeyA+FxBfP4tvrXySMogiu62K5XMKdufA8j+PFZalM/n2Uf14UZcYgZcI8zxEEIUTiIAgQx7HE71yvdxgGcKZTWQRTN3h2LgswYzHGmHO3YrxgLA9/wntXRsfh/GKJsWXBHo+xnHvYJayyv95CMUYwWIxOdwjTdrCPU4RpjjDJETEGjPE5JqTP4XDG8YgjIeLpeChfOT2csEyO2GYFljFjWmCTFLw/kVcc837F38Xcir+HefHjV07In8V8Dp9F2W+3WC7m2G42fIUFVosFx1us1z42/rrEdsPieVhzvKYAtps1iktCscMtFw8HQ3kWU3uC4XAInWdpaCqUocL5MTSONVWFqmgYmSb6vR563T6skQVd0yV/V3MXfpCisuFuhnxQ17mYSUWloyhGcq52ROJHjIfDEWmaIssy5ETMNYIhacpxkiBPk7Ioau0WAsZjjbjDuPVYovmIEWE/NTAlAnf6+sC+d4ZK9S2ebj6if/eZuEW/9lmie3uDp08fMLivocs47zS/KbuvEoY8VLvTgqv04akDODQHTx0i4o5iz0E0Y5zPSIvjrxE7pkIcklXnAVssiqqb2OyC/6+UOGbC6YTV0iTjVVbZo1rW/kZIuXzFnzjEq4T7/V7SQlU1jJlQ+F2el0p4aQS/kXAnDVLXdZJ6QbokkioXB3nxGE6/kjAk72Y0B0VRJbkNkrrfH8CjUnbbHfyVj/0++OEuXyUUMhPnZxqmVINpGLBp+6qiUC26VItpWnQXmkYQ/NyxhVtIRbDaCdme0vJTMl8oJbuMGUPuUhyHePpUFK9QFMWPW8DvXpf9SnM4ZPS9YI8w3MOns5i9Dqa9Z9jdNibnaDNOXuDy2wXTQQ8HGnUoul4QJRiMHIkPb97AatXhGhqWlomZpmBu6nB1BTNCRHG/YJt1dRUe13mGKtftBs/Yhwkqa5rm8zxF3QnRrFZZZQ1/XlXR7vTQbLVx/1BHvdFA7f4Bf9/dod5soUP7un94wB3nqtfvUas3sVN72FIMlZAH2Z4F6CwSNDo6vO4zNqaGFf/1En3upoyKjHJ8jkvqfkkPmA8H2MU5KqvVCp2+AkUzoVtTaNTy83OHXFSIIRWkyzlBfIO9x2bPGZFGOudG0nx16Jw/stIh20gloPQGfIULD0eGzu5nsgva0sGt0Ui2BGEigkKCXoJmiRhLM46k0f5b5R37SJc76nS6VIvGpCUEsYdUj7D7MZOvqJjlciU/BuZUkegpQqriwyAIo/8SlsRO5L+GtPWYJJZ6ZvVTUiqiG2XnHfyS9FzquC1cuVHH4KlFNNFrNjDgF9nz4z06jw8Ycr7zcA+LR/KKyWcZXqQoE2q1T+i//QPG7XsYN9UzriT0jyXMT9dyfnT9DgXl+WVvEaOMDcwPM/wDV6u9nCAs4F4AAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Freelance&quot;
        title=&quot;&quot;
        src=&quot;/static/a55565aea7edb7f238975b6516fadf80/7921f/kerjaan-orang.png&quot;
        srcset=&quot;/static/a55565aea7edb7f238975b6516fadf80/103f2/kerjaan-orang.png 165w,
/static/a55565aea7edb7f238975b6516fadf80/748ba/kerjaan-orang.png 330w,
/static/a55565aea7edb7f238975b6516fadf80/7921f/kerjaan-orang.png 431w&quot;
        sizes=&quot;(max-width: 431px) 100vw, 431px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Coba itu lo lihat deh, 1 Juta buat 5 Halaman? tunggu, kan dishare templatenya juga, iya sih udah ready (emang gak perlu dipelajari, butuh waktu kan?) kalo penasaran ini link templatenya (reactjs f/w nextjs). Katanya cuman Frontend karena backend sudah dibuatkan (Gak Perlu backend, pake fake backend juga bisa, sebetulnya).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://kutt.it/eleven-template&quot;&gt;Template Admin&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Untuk yang mau nyari versi Gratis Template (Nulled) bisa kunjungin postingan gw yang pernah gw share, pasti ada, coba cek &lt;a href=&quot;daftar-website-penyedia-script-nulled&quot;&gt;dihalaman ini&lt;/a&gt; tapi saran gw kalo nanti diakses public mending lo beli deh, hitung hitung menghargai Developernya (hanya 14$), kurang lebih 200K.&lt;/p&gt;
&lt;h2 id=&quot;mockup&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#mockup&quot; aria-label=&quot;mockup permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Mockup&lt;/h2&gt;
&lt;p&gt;Si pemberi Freelance juga kasih halaman mockup tampilan yang sudah dikerjakan dengan Codeigniter, berikut ini gw share ya hasil screenshoot.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Transaksi Cafe&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 38.18181818181819%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABEElEQVR42pWQy07DQAxF5/9/BtHQBTtWSFSUsmLBplACEkQJGZLMM+OLPQkFCRbB0o3nYZ9cj1pdH3C6eUDB+eym/KX1rsTlfYXz3ROKzR7r2xecXO3nu+eci+0Bq22Ji7tXKKIR3g6IweHvIIzEX+9AneZdQgoW0gdeiyiFnBMRlDS8dxY1K6WEkbvHNInv+YwQYspQ6z30R49+MBiMPcpYh5bPH980lDEGngslvHPQWue1wPu+R4wxw9MMP4q+RSwfRzbloKqqQjtDrLVomiYXCLCu6/wz2S8N1bZtdiIhbgUiMJHAHbteCpQq1XVdbvo58pdD3Wp2GPJYix0aftRpLCCEmF3S/C7T+6V/AT8BUQdrmxEBaswAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Transaksi Order Makanan&quot;
        title=&quot;&quot;
        src=&quot;/static/5308e64abdb6ac1967d66d7c3cdba8fd/7c811/kerjaan-orang-order-makanan.png&quot;
        srcset=&quot;/static/5308e64abdb6ac1967d66d7c3cdba8fd/103f2/kerjaan-orang-order-makanan.png 165w,
/static/5308e64abdb6ac1967d66d7c3cdba8fd/748ba/kerjaan-orang-order-makanan.png 330w,
/static/5308e64abdb6ac1967d66d7c3cdba8fd/7c811/kerjaan-orang-order-makanan.png 660w,
/static/5308e64abdb6ac1967d66d7c3cdba8fd/d28e0/kerjaan-orang-order-makanan.png 990w,
/static/5308e64abdb6ac1967d66d7c3cdba8fd/bb51b/kerjaan-orang-order-makanan.png 1320w,
/static/5308e64abdb6ac1967d66d7c3cdba8fd/05dee/kerjaan-orang-order-makanan.png 2443w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;
&lt;p&gt;Laporan Cafe&lt;/p&gt;
&lt;p&gt;2.1 Laporan Harian&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 20.60606060606061%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAnklEQVR42l2PWQ4DIQxDuf8t+1upg9jCjhuDpq2KFEHsYB7m6QS9d9xrrbV77rufEyVnlFIw9fy/Fs6c9ITH9YKZY6DWilbbp4ZqLAbT235T76f/6sfjg0N9Q5IYI5xzyErCIsk9RI8lKe0AHwKc97guC2stkureBwTVmWV661sMeolEY5zvM7STvpHkJp87tJQKEYFkOeQ644IGS8Ubq4A5LEXNb4oAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Laporan Harian&quot;
        title=&quot;&quot;
        src=&quot;/static/0c46e311a988e99ef991516f0b9c3558/7c811/kerjaan-orang-laporan-harian.png&quot;
        srcset=&quot;/static/0c46e311a988e99ef991516f0b9c3558/103f2/kerjaan-orang-laporan-harian.png 165w,
/static/0c46e311a988e99ef991516f0b9c3558/748ba/kerjaan-orang-laporan-harian.png 330w,
/static/0c46e311a988e99ef991516f0b9c3558/7c811/kerjaan-orang-laporan-harian.png 660w,
/static/0c46e311a988e99ef991516f0b9c3558/d28e0/kerjaan-orang-laporan-harian.png 990w,
/static/0c46e311a988e99ef991516f0b9c3558/bb51b/kerjaan-orang-laporan-harian.png 1320w,
/static/0c46e311a988e99ef991516f0b9c3558/e981e/kerjaan-orang-laporan-harian.png 2452w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;2.2 Laporan Bulanan&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 28.484848484848484%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA0ElEQVR42m2Qa47DIAyEc/8r9gLdSu0mgMG8MvVA6ebHIo3wA3+22X72CNGKdVJKUNPTRWipqKWMWC0ZL68W6/jvpBZxe9yxtdZwnudXvfePpq9ZBzDnPPOXt1eRU01bCAFD3iPGiGITMcmbPqU6obRFBM55eOfsdiO2GLXWCWRiFa1uBGrSb8GCi8QBPI5jiHUhiOXEFj//gBS7c90FZAPG+EYINJs+Qft+jDiBjHNi1m6rgH/Eka9/SZ/gkovZpjL9uY2OGvqPX28NE1rveAN1KNSD7P6rKgAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Laporan Bulanan&quot;
        title=&quot;&quot;
        src=&quot;/static/6e3c79827fa81bb257ae2f657b835bab/7c811/kerjaan-orang-laporan-bulanan.png&quot;
        srcset=&quot;/static/6e3c79827fa81bb257ae2f657b835bab/103f2/kerjaan-orang-laporan-bulanan.png 165w,
/static/6e3c79827fa81bb257ae2f657b835bab/748ba/kerjaan-orang-laporan-bulanan.png 330w,
/static/6e3c79827fa81bb257ae2f657b835bab/7c811/kerjaan-orang-laporan-bulanan.png 660w,
/static/6e3c79827fa81bb257ae2f657b835bab/d28e0/kerjaan-orang-laporan-bulanan.png 990w,
/static/6e3c79827fa81bb257ae2f657b835bab/bb51b/kerjaan-orang-laporan-bulanan.png 1320w,
/static/6e3c79827fa81bb257ae2f657b835bab/38c08/kerjaan-orang-laporan-bulanan.png 2447w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;2.3 Laporang Tanggal&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 26.666666666666668%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAzklEQVR42nVPy47DMAjM///lSj3sqlXiGIzBj0zBanpbpBHYAzOwHax4noJvXIC2DhKD9QFrA2odqoo5J/4Lm4pH2rGN4UOmHxhaoHf8PJMbMX6PjFdm9NbQHCEcfYGob9Ra0X1um9cFZkZKyTMtIky42sJOBYkrpAiqCIhoCYvX55nXO3DmvC5wwelkQfYPcTFVw+Umcw539I2q4G/3QS7OVc+8tgvjUsoyF89EvOa2WDOInGk1xjuIaIw6DNrnvFso/u+zI16JkN0wNnwD14CGKUmTOR4AAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Laporan Tanggal&quot;
        title=&quot;&quot;
        src=&quot;/static/26596e4ea2deea700bda72e40e953a32/7c811/kerjaan-orang-laporan-tanggal.png&quot;
        srcset=&quot;/static/26596e4ea2deea700bda72e40e953a32/103f2/kerjaan-orang-laporan-tanggal.png 165w,
/static/26596e4ea2deea700bda72e40e953a32/748ba/kerjaan-orang-laporan-tanggal.png 330w,
/static/26596e4ea2deea700bda72e40e953a32/7c811/kerjaan-orang-laporan-tanggal.png 660w,
/static/26596e4ea2deea700bda72e40e953a32/d28e0/kerjaan-orang-laporan-tanggal.png 990w,
/static/26596e4ea2deea700bda72e40e953a32/bb51b/kerjaan-orang-laporan-tanggal.png 1320w,
/static/26596e4ea2deea700bda72e40e953a32/5cc60/kerjaan-orang-laporan-tanggal.png 2444w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Master Menu&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 24.242424242424242%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAm0lEQVR42nWQywoCMQxF+//fJIgggntFce1CZ8AZZey7vTaF1Myid5PHbQ5J1aId5scI5ARSzhkxxhpT+vdkTj7VlHMdQqi5Gt8a190RCB65DKRieu+raa1tgzIaYxqMQBKuntMX582+AaMAOudWj3vA2mfgMGtctofuhnx+F0jnC1+9Phr3041Iqz8iEZDgUrw5iy+YlvI2RPwAm+KI0pfByYEAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Master Menu&quot;
        title=&quot;&quot;
        src=&quot;/static/9b70af1847d2fb06d83a85122445323a/7c811/kerjaan-orang-master-menu.png&quot;
        srcset=&quot;/static/9b70af1847d2fb06d83a85122445323a/103f2/kerjaan-orang-master-menu.png 165w,
/static/9b70af1847d2fb06d83a85122445323a/748ba/kerjaan-orang-master-menu.png 330w,
/static/9b70af1847d2fb06d83a85122445323a/7c811/kerjaan-orang-master-menu.png 660w,
/static/9b70af1847d2fb06d83a85122445323a/d28e0/kerjaan-orang-master-menu.png 990w,
/static/9b70af1847d2fb06d83a85122445323a/bb51b/kerjaan-orang-master-menu.png 1320w,
/static/9b70af1847d2fb06d83a85122445323a/414d3/kerjaan-orang-master-menu.png 2464w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;Master Voucher&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 16.96969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAfElEQVR42lVMQQrDMAzL/x+2wx5QCruMjVLodukhJLHjaFa2lNUgZMmywuu9Y19WiCpyzh0pJehPl1I6i8gBesTI0IsxeocgzLcFz8sVFe1UYGY9aLV+2XX1ffittUOzmDsn3B8btmmGeUA9yAMDHIb5+A/OeOZ9ML2YFR/jMuqQv+4M1wAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Master Voucher&quot;
        title=&quot;&quot;
        src=&quot;/static/4bce2922b0692179b857186adb379b24/7c811/kerjaan-orang-makan-hemat.png&quot;
        srcset=&quot;/static/4bce2922b0692179b857186adb379b24/103f2/kerjaan-orang-makan-hemat.png 165w,
/static/4bce2922b0692179b857186adb379b24/748ba/kerjaan-orang-makan-hemat.png 330w,
/static/4bce2922b0692179b857186adb379b24/7c811/kerjaan-orang-makan-hemat.png 660w,
/static/4bce2922b0692179b857186adb379b24/d28e0/kerjaan-orang-makan-hemat.png 990w,
/static/4bce2922b0692179b857186adb379b24/bb51b/kerjaan-orang-makan-hemat.png 1320w,
/static/4bce2922b0692179b857186adb379b24/2bea0/kerjaan-orang-makan-hemat.png 2462w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;ol start=&quot;5&quot;&gt;
&lt;li&gt;Transaksi Gudang&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 18.78787878787879%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAw0lEQVR42m2Oy07DMBBF8/8/07QIxA8glRYQW1YppWVBQIUkjR/xzGHsiAUIy0djzdw7vlW93bO4bag3Oy7uX/7hwM3TG1ebhsW6Ybl9NvaF1d2suXw4Ulv/+vGVChUkRVQnQPl7cmcSgf4TiQHNWomQfEEl+2xuVW1XFWOkGxzD6HDO40Mg2YIfYkqEKWULo827fuBs2hCngg+x4IxD21GJmdqvkVM/WlJLmz8TJaU57fHjzHvvyztZX3TG7i+yp+083whkL6S09puQAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Transaksi Gudang&quot;
        title=&quot;&quot;
        src=&quot;/static/3d586fe93e89ac969ea6881301146568/7c811/kerjaan-orang-transaksi-gudang.png&quot;
        srcset=&quot;/static/3d586fe93e89ac969ea6881301146568/103f2/kerjaan-orang-transaksi-gudang.png 165w,
/static/3d586fe93e89ac969ea6881301146568/748ba/kerjaan-orang-transaksi-gudang.png 330w,
/static/3d586fe93e89ac969ea6881301146568/7c811/kerjaan-orang-transaksi-gudang.png 660w,
/static/3d586fe93e89ac969ea6881301146568/d28e0/kerjaan-orang-transaksi-gudang.png 990w,
/static/3d586fe93e89ac969ea6881301146568/bb51b/kerjaan-orang-transaksi-gudang.png 1320w,
/static/3d586fe93e89ac969ea6881301146568/219e3/kerjaan-orang-transaksi-gudang.png 2458w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;ol start=&quot;6&quot;&gt;
&lt;li&gt;PDF/ Excel (Tambahan)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 315px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 115.15151515151514%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAXCAYAAAALHW+jAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACVElEQVR42q1Va4+bMBDM//+BTSv1wjOAeT8SwIawnVmSU7/0LomKZJk48uzszuxyaNtW6qaWtm0kN0bKspRt22RZFhmGQcZx1P16veq5tVYul4v0fa+L54/3dV3l0ACwqirJ81wMAJM0FT7rugiDEYw7QfgQsOs6PX8AN02jZwx4cIuTeZokLwr5H8/BOScjaMfxWaq6lqoslOmAyCYzYNdJg/MeO9lUVS2zdXqZjP5eOyBqNc+ThFEkGQCScyxBEGoaucmxt5pyB0AGqQHo3PI1QwoQAyg3hQIVJgNA/37Ki7MShSFAExUoTTJJIQ5/J0mqDBu4oCwrud1T+zcg2FmkfDp5UsAyVI+LqnVIke/zNMsE4bi2Zxg6O4vn+1LX1Zf1eSplC8AV1qGyQRiJD+BMDV7Bc+69Gtp51pRbpMkasgx0/bZtbwLaHVAVhsGpOjuCDPf/LXb7VIC7bRyMHUuWUt1E/CCSj4/fWoKyyOHNFCXJ5ApRngKksXk5DAMpcqNWOSPAyaNQtcRRiCCh3G63JwCR3jSN6I4AQAlMbRQsQufkAG/RKXVVahCWZPvWh2obCxaRmKLUEUbAFOn3FAlqD5gqJsu0Jb9j+dnLAeySoncTAHunk17u0SG/jj8lTtIXVL4D+p4nJSxDRqxbke9Thy25s9qeV5m2IUO2Xt9hoqBWj8FaI8grdvwEVIZgx0/A8cdRZ+N704Ypw19sOT8gy0pVvY6TmjzCWRQnr9eQtqEP+SmgXTjBh+Gi05wfqhcAnY6vONq990jbQyuOGFuvpvwHWy36PFDtLaMAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Post Data Order Makanan&quot;
        title=&quot;&quot;
        src=&quot;/static/585f49112f48f08925735b1c156bd0c9/3c1ae/kerjaan-orang-post-data-order-makanan.png&quot;
        srcset=&quot;/static/585f49112f48f08925735b1c156bd0c9/103f2/kerjaan-orang-post-data-order-makanan.png 165w,
/static/585f49112f48f08925735b1c156bd0c9/3c1ae/kerjaan-orang-post-data-order-makanan.png 315w&quot;
        sizes=&quot;(max-width: 315px) 100vw, 315px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;demo&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#demo&quot; aria-label=&quot;demo permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Demo&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;on progress&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sekian, Update selanjutnya dihalaman ini ya.&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Mockup Manajemen Surat]]></title><description><![CDATA[Bismillah Mau share mockup, sebetulnya sudah jadi hasil mockupnya sekitar (70%) cuman nanti gw share lewat vidio ya, karena aplikasinya bersifat private (hanya untuk kalangan…]]></description><link>https://topidesta.my.id/mockup-manajemen-surat-instansi/</link><guid isPermaLink="false">https://topidesta.my.id/mockup-manajemen-surat-instansi/</guid><category><![CDATA[balsamiq]]></category><category><![CDATA[mockup]]></category><category><![CDATA[kantor]]></category><pubDate>Mon, 26 Apr 2021 04:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah&lt;/p&gt;
&lt;p&gt;Mau share mockup, sebetulnya sudah jadi hasil mockupnya sekitar (70%) cuman nanti gw share lewat vidio ya, karena aplikasinya bersifat private (hanya untuk kalangan sendiri, kalo tertarik silahkan PM) sekarang gw mau share mockup/ design sederhana nyah dulu, yang bersifat web base.&lt;/p&gt;
&lt;h3 id=&quot;landingpage-login&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#landingpage-login&quot; aria-label=&quot;landingpage login permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Landingpage Login&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 83.63636363636364%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAACZElEQVR42o2Ue0/iQBTF+8n5f/0cGDXRGCN8gHXXxTcbYUERAbUqUKav6buFs3duSw2EdSX5pTNnzpy5M52iVatVbG9vM3t7e9jZ2cHu7i6Ojo5wfHyMWq2G/f19HBwcoF6vc3+der2Gw8ND9mmdbg+D4TMe+kP0H0c5gycMRi8YKp50jBTPOrfXGRUor5qr2W6AdA7EGZECSfEsSYA0XdMKooLlPD9MoRnCQRBl8IJkI44X43nmw/Yi+P/wKFSYQ8VpM9NFGM9ZWCeg5Q07wulQx9hxEKqFN/hybwZHhh+BSoiSeRm+NLy9TzHS3+gM3yAsyfqngcJyWeje99Fq3+GWUAPLiV6QFu2srDoPyVbCy0CTVlVnYMxMQuD19Z2fliNh2hK27XJ/MjVgOy5pHkwqQpgWxpMpj1vkU6EunbOmDA4feIg0SSCEQJZlPNkQNhaLOaSUiCIap9c9mZoIwpA8FOC6NL6gQJfDPgKp1CTNMBmPUalUoH6O62E6s7jdur3Fi65zezyZIc3meNVf8G1rizWbdrMSqBoOVeRRJc3mDYIgwExYtFWbKou4EtM04Xk+xlMBV3qstdotxHEMwxCQfpIHiuIMh8MndO/u0O/30el0MRiMOPD+vod2q81jfzodTAwz93a76PUeiB4eybtybVQnLzlkUVJb+jGjNOlHhRYVWr69D29EGXN6kf7qPVxneR2+oqkMDvzfp/cVVNUqQ70PzZEBsgV93Jv+GD4jy/35nAVnBGEM7fvJT1zf/MbVdbPk8qqJi8vrkvOLK5ydXzKNswvmtHFW8qtxztrJj1P8BVuN+3cxyhahAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Landing Page Surat&quot;
        title=&quot;&quot;
        src=&quot;/static/6ce66007b366f3deb29097ccb4c5b804/7c811/landing-page-surat.png&quot;
        srcset=&quot;/static/6ce66007b366f3deb29097ccb4c5b804/103f2/landing-page-surat.png 165w,
/static/6ce66007b366f3deb29097ccb4c5b804/748ba/landing-page-surat.png 330w,
/static/6ce66007b366f3deb29097ccb4c5b804/7c811/landing-page-surat.png 660w,
/static/6ce66007b366f3deb29097ccb4c5b804/d28e0/landing-page-surat.png 990w,
/static/6ce66007b366f3deb29097ccb4c5b804/047c3/landing-page-surat.png 1208w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;form-login-dengan-nip&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#form-login-dengan-nip&quot; aria-label=&quot;form login dengan nip permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Form Login (dengan NIP)&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 83.63636363636364%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAAB5klEQVR42pWU626bMBiGuf/rSBRFTZQfCRewbm3O635tWteGNCEtHQXbgCEcmnefnQYx1ANFeiSwPz9+sQ1Gq9VCu93WdLtddDodzdlZD8PhEKPRCL1eD/1+H6Zp6uc6pjnCYDDQdcbPX9dYWRv8ubFwc7suuV3dwVpvYd3ZWCs2tr6vs35B1apxBg9i5M9AWhA5kBVH1L0mA/K88lxh/8JpnExyGK4nEO8LRHH2KiJKsXmS4NEe8o0ahZIJCmc8+QGS9Fk3VFGTJIQrUlxaOzwKqttTHbXVa0/1IkzeFgaUyOch7J2D1WaLFa2R63GEcl8maiQ8dXAeQAhBBAgIzkkWhhqPxqg6WRGXQo+Fx85Kh9qoOKGEvgfHcbSMMaYnkFKiuu7NhfFRaNs2OIl83ycxo1QxPBZ8XhjJhNJElPABruvSBDHSNNV8+pUZCWWcUBKO33Tgt7sHHA4HqCvLcv3Kat3rCYNICdVstV0OZQqfCfz1GO4ffTguo1QMjDbKo3YeyP9CNDo25VlMj+dRJq+fPw0lVQ4m5PvCpkRV4UefXhPUEimHzyMYIoxR0Hpnee2n8BFF9Udy0I44SWF8Of+G5fcfWCyvSuaLK8zmy5LpbIHJdK4ZT2aai/Gk5HI81W3nXy/wDxrRBdyacLyLAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Login&quot;
        title=&quot;&quot;
        src=&quot;/static/75b0df8614716c23c3fb591634a71c8d/7c811/LOGIN.png&quot;
        srcset=&quot;/static/75b0df8614716c23c3fb591634a71c8d/103f2/LOGIN.png 165w,
/static/75b0df8614716c23c3fb591634a71c8d/748ba/LOGIN.png 330w,
/static/75b0df8614716c23c3fb591634a71c8d/7c811/LOGIN.png 660w,
/static/75b0df8614716c23c3fb591634a71c8d/d28e0/LOGIN.png 990w,
/static/75b0df8614716c23c3fb591634a71c8d/047c3/LOGIN.png 1208w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;form-login-dengan-sms&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#form-login-dengan-sms&quot; aria-label=&quot;form login dengan sms permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Form Login (dengan SMS)&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 83.63636363636364%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAAB5klEQVR42p2U327aMBTG8/7PAUJIIC4gD7BuLf/XXW3SBiVQYIKQxE7sOE4CX22nRBkrK93FT4mPjz9/OcexVavVUK/XDc1mE41Gw9But9HtdtHr9dBqtczYtm0zvsS2e+h0OibP+v7jJ54WK/yaLTCbOyXzpyUWzjMWyzUczWpt3i9xXtG5ep1FwhjZEZC5IgPSvEC/G1IgyyrjCskr53VcZLBcjyJOcrA4fRPKJFYHDsIS8Cs5Gi1GlTnr4IcQ8mgCVfQmQtl2qcSDs8EujJDIk4pnf+We82kkrgtGPIHnU6yet5g7S8xUTXduYOJnRzcJFhMJgoBCSlmQSAghkKZKiHPoNTqPV4RLQS+IisnKhG4UjwUYY6ouIfI8V43JzFNvoOuuTbCPCMZxAkIJ1psN9nsXruvC933lMIYXhGUjP+YwirA1gnscj+psAcbpf30yU06YEt3uDghIBJxORjBNs6ufHDItqHe76HLEJXzVFNcj+L33sTsEquMEhIQmTkL+h4mbjo1JEuosqsRicf5mjkE51RoB5f8WvBVWFXzv17sFXSKt4RMGi0YxclXvNLu4FN4jr14kJ6MRCwnr090XTL9+w2T6WDKePGI0npYMRxMMhmNDfzAy3PcHJQ/9oYndfb7HCzgXB1FTtDDqAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Login dengan SMS&quot;
        title=&quot;&quot;
        src=&quot;/static/deba120198f2f55c996bdf0dc272308c/7c811/LOGINSMS.png&quot;
        srcset=&quot;/static/deba120198f2f55c996bdf0dc272308c/103f2/LOGINSMS.png 165w,
/static/deba120198f2f55c996bdf0dc272308c/748ba/LOGINSMS.png 330w,
/static/deba120198f2f55c996bdf0dc272308c/7c811/LOGINSMS.png 660w,
/static/deba120198f2f55c996bdf0dc272308c/d28e0/LOGINSMS.png 990w,
/static/deba120198f2f55c996bdf0dc272308c/047c3/LOGINSMS.png 1208w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;form-login-verifikasi-otp&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#form-login-verifikasi-otp&quot; aria-label=&quot;form login verifikasi otp permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Form Login (Verifikasi OTP)&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 83.63636363636364%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAAB6UlEQVR42p2U7W7aMBiFc//XAQIkEEKCC1i3lu91vzZppRAodEBIYid2EidpzmwnRJSWjg7pEc7r4+NjvwGjUqmgWq1qGo0GarUa6vW6Hnc6HXS7XTSbTbRaLfR6Pf18Tq/XRbvd1jrj56/fmC9WeJgtMHs0XzE3n7BYrmEqVms9PscsWEitWmMQL0DyAohUkgBxWoyLZxEDSVKMz4gKjut4mMCwbIogSsGC+F0oE1gdOAiLwC9oFMqMynDGwfEQihddOEVtEsqYFhW4MzfYeT4ikcl68kZ71FM/vGzo8wi2Q7F6esajucRsvsTOcnX9mOgqw3wigutSCCFyIoEwDBHH0ohzqDVKx0+MS0Pb9fPJkwnVKB6E4IyBUII0TWVjEv2tNlD3rkKwzxgGQaTN1psN9nsLlmXBcRyZMIDtemUjP5EwgudRmKaJ7XaLLMugPirpfx2ZySRMHvt5d4BLfKAwjOPk4pE9pgzVbmdd9rmAI5ti2QR/9g52B1d2nIAQT9eJx1+FuOq10aJQvotSmC9O39VoZFLl4VL+seG1sFPDf/30rkFdkfJwCINB/QCpvO/4+MeQXEma6/M1mfYIQgHjy803TL//wGR6XzKe3GM0npYMRxMMhmNNfzDS3PYHJXf9oa7dfL3FX5TfByRSSTPHAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Login verifikasi OTP&quot;
        title=&quot;&quot;
        src=&quot;/static/0493b1dd5632c1dc4443ceb3644e2888/7c811/LOGINSMSOTP.png&quot;
        srcset=&quot;/static/0493b1dd5632c1dc4443ceb3644e2888/103f2/LOGINSMSOTP.png 165w,
/static/0493b1dd5632c1dc4443ceb3644e2888/748ba/LOGINSMSOTP.png 330w,
/static/0493b1dd5632c1dc4443ceb3644e2888/7c811/LOGINSMSOTP.png 660w,
/static/0493b1dd5632c1dc4443ceb3644e2888/d28e0/LOGINSMSOTP.png 990w,
/static/0493b1dd5632c1dc4443ceb3644e2888/047c3/LOGINSMSOTP.png 1208w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;form-lihat-surat-pribadi&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#form-lihat-surat-pribadi&quot; aria-label=&quot;form lihat surat pribadi permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Form Lihat Surat Pribadi&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 83.63636363636364%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAAB9UlEQVR42p2U23KbMBCGef/nsMd2xh5f2H6Apk18bnoVJ21iiEOHYjAgkEAC4r+SfIjrJi0tM9+MWO3+Wu0uGLVaDfV6XdNqtdBoNNBsNtG6uECv10O/30e73Uan08FgMNDv5wwGfXS7Xe1n3C6+Ymmu8O3BxMOj9cryCab1DPPJhqVY2Xp9jrVH+ao4I4pTFC+AKCUFkJf79f5d5EBR7Ndn8D2HOJYVMLwNQcpL0DR/E0IFVj5DRDnYOz4KJUZkcoYfxMjEizacog7JJD4RuLa+w40TcLGV9uI334M/SbL3BWPGEYQJnm0Hj9ZK19T1AiTSfsiokuBugyOMCBhjiJMEggtwzpHnubapGOXHToSPghuZhd482VCNSjMO3/dgmiY8zwMhBOu1C0qV4GvdKwtmmYDruri7u8dyuYRt23AcRwpSbML43wVVhsFmg8XiFlEUytEp9JWFnKP/ujJlqQzI4Lg+Eprh8OR5ATVqqu7nGcZUCarTzrqcMCE7TGRgBGcd4IcXyqxC2ahYXpfIA9kvSVQaG+2U7WZxF1y+6aORmSqNkLA/C1aFngr+7dOrgiqR0ggiCoMkKcqtLPbhx1BUpNz572K2WiOVo2Z8uPyE+ecvmM1vjkxnN5hM50fGkxlG46lmOJporoajI9fDsbZdfrzCTxVfBYodxrLlAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Form Lihat Surat Pribadi&quot;
        title=&quot;&quot;
        src=&quot;/static/570a133eb6927beebfb291e41c4005d6/7c811/FORMCEKSURATPRIBADI.png&quot;
        srcset=&quot;/static/570a133eb6927beebfb291e41c4005d6/103f2/FORMCEKSURATPRIBADI.png 165w,
/static/570a133eb6927beebfb291e41c4005d6/748ba/FORMCEKSURATPRIBADI.png 330w,
/static/570a133eb6927beebfb291e41c4005d6/7c811/FORMCEKSURATPRIBADI.png 660w,
/static/570a133eb6927beebfb291e41c4005d6/d28e0/FORMCEKSURATPRIBADI.png 990w,
/static/570a133eb6927beebfb291e41c4005d6/047c3/FORMCEKSURATPRIBADI.png 1208w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;halaman-dashboard&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#halaman-dashboard&quot; aria-label=&quot;halaman dashboard permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Halaman Dashboard&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 83.63636363636364%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAADJUlEQVR42l1U2U4jSRDs//8HntiFgQHNIsHTztPO2BjMgBDG5vDR7tN2u+/LB57YyGxAq7UU6qrMqszIyCwbB3/+gaPDQxwcHOD4+BhHR0eKQ9q+ffsL5+fnODn5itPTE1xcXOj+/xD72dkZz5zCuOs9o9t/RX/wjMHzEI/8PvE7nlgwpw4mhOXOYDm+7k3LxdT2mi8xMW2MxlM8vYzw8jqB4SxiDOcBZotQDcOxBX8eIkwKLOMMWVGrb7GMuV4jjGmPMqR5rQjCFDOet5wZAtqN4chEp9NFWW9x+OUrbu4eUFRr9B7JlAnSfIUfPy/xs32FJKvwKuevfzFJpIk+AuflGhFJGI63YJkvGJsO5kGs2eWwsBQ0e65nzV58clGYyV7uCOKkbAKKBpblwHFc+P5CS5xOLTiuB9ebIU5LauXAthtMLRv1esdgATyfZQahfhcMWrBKw3I8jIZDBpkiihINYNs2BoM+irxQdnmeo99/ZGILGddpscIyTJDEEUzTxGazwVzOlZuG4XgygWVbykhom2TokqEvDHjRIitZz4iJOVW9XXbedmxl7cnZWUDtGVDqD9nNj68YRR/RbhmlKrZ0uEGivmr1ppXMg0jtcjcja4Exp8ieH7BTFdZvYMCtaiSoVjtls90Bq83vT7vYBKvNTn2N/U31NzxpRJZj8PSs5cg6SnI9EFLTRRDg4aFHjQLVWEZKWMdxypJd9HqPSJKUXc51rIwFaXueh729Pdzf3/NgrAGVwXqLdruF/f19ij+hL9FgUlpZ1frcBGEYUoKMkuUwpIvL5VLf5Gg0QkJHnBYM+IZ6tdEkf3//Tll89X0GLGu0Wi0mbGvAjJLpS3G9Oeq6RlEU2G63OgIRm1Ovf7MMNqCqUNG/2+04PsVnQDlf15XelV+Wl2wYA9p89MJQyilLTnsUaSelCTK0juPwcqm+YBlqQHlqs/lCR0tmVBIF7LbcM2Q8JKP8GYgG/31WNtnLo5/aPhvAuXPnbE6sAeWcIEyaOx+JjH9+tHB7d49fxO07uje3aF9e47Ij6Oq6fXmFVruj6Fx1333v4P7q+gYS619rMOD8ED24fgAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Halaman Dashboard&quot;
        title=&quot;&quot;
        src=&quot;/static/bab2a92410034734ec14f69eb9ed5c7b/7c811/DASHBOARD.png&quot;
        srcset=&quot;/static/bab2a92410034734ec14f69eb9ed5c7b/103f2/DASHBOARD.png 165w,
/static/bab2a92410034734ec14f69eb9ed5c7b/748ba/DASHBOARD.png 330w,
/static/bab2a92410034734ec14f69eb9ed5c7b/7c811/DASHBOARD.png 660w,
/static/bab2a92410034734ec14f69eb9ed5c7b/d28e0/DASHBOARD.png 990w,
/static/bab2a92410034734ec14f69eb9ed5c7b/047c3/DASHBOARD.png 1208w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;halaman-surat-keluar&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#halaman-surat-keluar&quot; aria-label=&quot;halaman surat keluar permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Halaman Surat Keluar&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 83.63636363636364%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAAClklEQVR42qVUaVPaUBR9//93tFhcPjjqD6iyCaKiYRchCSGEbJA9qD2995V0sLXTzvTDmbu93Hvy7klE6fMnlA8OUCqVcHh4iHK5LMH+2dkZzs/PcXx8hJOTY1xcXMj4V3D+9PSUzpxA3ClDtHpj9PpD9IdP6LIdjDGd6VA1A1N1Ds1YQpubmJGv6guJGdU0slyfPKsYjCYYjacQ+srHxHJgrVyMnqZ4etawXHnw1hEcL0QQZTJeOWuE8RauH0pw3vUCrOy1rOuGBdvbQEwmKmr1JuJki4MvR7i5e0QU53hUBjT1GRt68LJSx2W1AX8TY0gs7h965EdoNNtEYiYbco1JCFU3JW0Gs+Dpnh/JIvsOsdi3nC+wH6+DhGwIwU0iYsevEKcvSPM3iWz7DWn2+jPOKU4oTnY5rmfbt3c57iFsdyPpq7ohk/yKPGS+sGTMk5kdL4IH81BmpO2WIwfzwBfQHVNDpTtArdbA7e09+nLDQ2kVpYfBcEwYydx95wGtVhuN6xYpYkB33EW318doRMro9nHTvpXXJjoPCqqVCgzDwHq9hu/7Evs+w/M8aJpK0lF/O2dZFoz5HHPDJIY0RVEUhGGIPM+RZdmHSJIEtm3DWBjvzrEfBLQw14W5tCF47R0Stk7itawVTNOiwg8sKbYsW4LzM1WDSijqRc0gZqqm0zALglfNF8qX/Tck2Yvc6Ee1NH+lLacQDm35T4f+GbR93jSLW7AkOPifhtF+Q5uFTcmQPrcChd6K6dEOxcP7ZyV2HwV/OYJFGtPdsMoLMOuF5cJYOjBMm3yHFuRiseSfiI8gzLAJU4mAGjLi9FXG4utVFW0S9T6aJOA6/TBq9WuJao3RQKVal5bFXdQY9UZT5i6vqvgODKPqjJFgfBYAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Surat Keluar&quot;
        title=&quot;&quot;
        src=&quot;/static/11c8192f4e00726a65108f25aec6ad28/7c811/SURATKELUAR.png&quot;
        srcset=&quot;/static/11c8192f4e00726a65108f25aec6ad28/103f2/SURATKELUAR.png 165w,
/static/11c8192f4e00726a65108f25aec6ad28/748ba/SURATKELUAR.png 330w,
/static/11c8192f4e00726a65108f25aec6ad28/7c811/SURATKELUAR.png 660w,
/static/11c8192f4e00726a65108f25aec6ad28/d28e0/SURATKELUAR.png 990w,
/static/11c8192f4e00726a65108f25aec6ad28/047c3/SURATKELUAR.png 1208w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;halaman-tulis-surat&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#halaman-tulis-surat&quot; aria-label=&quot;halaman tulis surat permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Halaman Tulis Surat&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 101.21212121212122%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAADH0lEQVR42oVUa1PaUBDl//+SaoGOY0crfquOD1QUCSQBAnlCCAmPBJKg4unuIg7Wac3MmX3ce0929+7dwre9PZRLJezvf0epVEaxWESR7FK5jOPjXzg5OcHh4U/CIekVsQWViqBSOcXp6SmOjo5wcHCAgtox0bB8dHsWTNuD0bcFQTgV+KMI0TQW+EEkvnE0x2g8Ed3xfFjOAD060zMdFJzhGAqRjWhRaeloaV34tJkPu4MAk9kCfculzS7pifzA8UYYhzP6SYKQyIPxFEM/xJDWCsx8dnaJCS0Wiz9wflHFLE5Rf2yhqbYxnS3x++wCZ+dXQqjqHVxXa3LYo2DYx0iWudgFj6II6C9s+MEEy+wZ2WqNNGf5IuTJciX+eZIhXuRYpE8iE5LL7EnsNF9TCWYocC344CJ9lkOc5ngyF1Kum+N6cL0hvIGPwdCH6w7EZt2yXSHbBjGOhHAqxnaBCx5R3fKnV0orRL3+iHa7A01vQ9N0qKomuk6+hqJ8TcgRhxTZ6hngtbu7e/R6Jt2iCaPXfwf7Wqr+lvYOIee9S8j2tpYsGw2FUrNhWQ5My4ZpWqTbsG2HIu9+jvATIUXFdeSL4Gg55U7XEHQNQ1Jtd7owjB61mP41YTSJJVXWQ7ocVe9SZNSHfWvTvG8wKWKD+pf38dl/EnLTWs7wndwwNjXrm5aQGlS7LvmYsE8v40tCjo5fB/t4rdlUpfhyywSFbFVrE3R6Wdp7u+0QfrxlbnB+n2n+Ik+rb9rSb7bjidy1OxTpbg3fGvsjIZPwK+DOl4EwCjAKQnq7E0IkekAIyfb9sZxjcJt5w+Az4RabCGOs12v8/b2+bmQcJ9INW0KX6v9fQr7lNMuQ5zmyN5lmqeir1QpRNPlIOCBCHlN8eLuwBft4AtmOK6NsHi9pUCxp+iTin84XJGPau5JJkz+tpUMKPAeZgKcKYzpfbuYctQynoDQ1kpu5uBm0CU2d/H3yxItMdM6SL7NwdX1LbcFt0BFo1MgNpYWb2xpu6B3f3D2gSvp19RaXVzeo0ix8qCuoPTyidr/BXa1O87OJi8sq/gBYQ82rm++v8QAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Tulis Surat&quot;
        title=&quot;&quot;
        src=&quot;/static/7410fcc5b5d6d2f957ddb88c06005d0d/7c811/SURATKELUARCREATE.png&quot;
        srcset=&quot;/static/7410fcc5b5d6d2f957ddb88c06005d0d/103f2/SURATKELUARCREATE.png 165w,
/static/7410fcc5b5d6d2f957ddb88c06005d0d/748ba/SURATKELUARCREATE.png 330w,
/static/7410fcc5b5d6d2f957ddb88c06005d0d/7c811/SURATKELUARCREATE.png 660w,
/static/7410fcc5b5d6d2f957ddb88c06005d0d/d28e0/SURATKELUARCREATE.png 990w,
/static/7410fcc5b5d6d2f957ddb88c06005d0d/047c3/SURATKELUARCREATE.png 1208w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;halaman-surat-masuk&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#halaman-surat-masuk&quot; aria-label=&quot;halaman surat masuk permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Halaman Surat Masuk&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 83.63636363636364%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAAClElEQVR42p1U6VbaYBDN+7+HtLj88KgPUGUTgVYMJAJCEgghhCxkIwH1OvNplHrsaU9/3DNrZj5m7iCVDg5Q/lZCqVTC4eEhyuWyAOtnZ2c4Pz/H8fERTk6OcXFxIezPYP/p6SnlnEC66SroKCMoygDK/Qg95Z7kEBN9Ct0wSc5gmAsYMwsa6Rr59On8VXJcm+JhrEMdPGAwnEDSFi4mSxdLx8NgNMFobGCx9OAFMVZehDDOhL1cBYiS7Zs/FH4G6xw3TBuOt4bE1Wv1JuJ0i9L3I7R+3iFOctzJKnUdY00fXVbquKw24K8TDB80NJptUWS+WCEIU4GIvuFmkmbMxavG9HTu5vqRCDBYL3yF/BznJgwuyra0ctdI80ek2Qc2+RPyHd51RrZ9+sgpfLtnIZPNTkgegWQ7PrgoD5iT1xHPzBU2jyFOc9grH5btUNFn0Yg/5BeO6Odbtost+TgWJVRQ7qmo1RrodH7RpmnD6gC9voputweVdJU23id/tyuj1eqgcX0jbEUl350sZK+voNXuCEZIt5RYrVRgmiaCIIDv+wL7OsPzPOi6TtTR32MsGbZtw5zNMDMteiFVl2UZURQhz3NkWfYl0jSF4zgw5+ZveayHIS3MdWEtHEiDkYbb/hBTIq9tL2FZNgVesSDbptkx2K/pBr3SeI8XMZNephtTamZD8oJIDJo39Tek2U4s7qvYhpgSxps32vwh6Z9BbGDaMB8lJmzBpf9FvF/QoRuNycmnU4AT9rvHbyg+3s8VIF5yTFwKEzSh2RTHXhz8nAhr0q2alkP6ihbkitu1lz5CIv862giEVJCRbB6FLf24qqJNpN5H86aNOv1h1OrXAtUao4FKtS4kk7uIMeqNpvBdXlXxAre36y3A7n3gAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Surat Masuk&quot;
        title=&quot;&quot;
        src=&quot;/static/50fcc526140d5cfe3954ee2dbc07906e/7c811/SURATMASUK.png&quot;
        srcset=&quot;/static/50fcc526140d5cfe3954ee2dbc07906e/103f2/SURATMASUK.png 165w,
/static/50fcc526140d5cfe3954ee2dbc07906e/748ba/SURATMASUK.png 330w,
/static/50fcc526140d5cfe3954ee2dbc07906e/7c811/SURATMASUK.png 660w,
/static/50fcc526140d5cfe3954ee2dbc07906e/d28e0/SURATMASUK.png 990w,
/static/50fcc526140d5cfe3954ee2dbc07906e/047c3/SURATMASUK.png 1208w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;halaman-lihat-surat&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#halaman-lihat-surat&quot; aria-label=&quot;halaman lihat surat permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Halaman Lihat Surat&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 118.18181818181819%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAYCAYAAAD6S912AAAACXBIWXMAAAsTAAALEwEAmpwYAAADBklEQVR42p2V2U8bMRDG8/8/9a3inVNC0EoJfSlV2SSlFAXIHchFISHnZu/d7Pl1xrtBCQkoqqWfbGfsb2fGYye1u7uLvb09wdHREQ4ODnB4eCjY39/H6ekpTk5OcHx8jEwmg3Q6vUYmk8aXL6diTapWf0Cn+4Rmq4tW+3ENtj0+9Ykeun9XeVyC57w+peo2/BBwgwhewD3hRwnA3Is2wjZhT3reazs+UhNZgz0PYFguFBLXdQuW7cFyPJi2G/dke0X85kM3bWiGLfaZYr1Pcwep6UwXX2RPNVVFX9dQrBRRLJZw//CAcqWMarWGer0h4HGxVMJEMWGZFmRFFw4xujmPBW03hENfLMsWPnU+o9v9inz+BhfST5yfn0OSJORyORr/QC4rodTooDiYYWyoUBQD1ltBhwQN08FYNfC98xuDUQNPlORarUZUUalU0Gg0xLzdapF9gttOE1N1BkXdJEghc/y2bYNbGEWICN/zMJlM8PLSJ5slbFFi4+b7PhZnsOYhT4bDETzPRb/fQ7PZxGg0hKpqCMJwRWjRYkF1VZCTGgs6mCkqQtrMnlqJtx+1dwSNVw9H4zGF94LBYEAMydP+K71eD8/Pz2LMPa91XRfTmbZZkOuJF99T8luUeA6ZabfbAg5fp5LStBiOIgiC9wX5UEyqKw6ZF3I4C3i+OeQA8kzfIJgU9kd5cxyHDkiFYZiYz+OK4I9N/1dwccKyLGNnZ0f03NbKZiGokaC9peDZtzPMZvLmHC7fZcvarlQ4z9x7VPjLIa88DpoQtLBNW74pyx6yU8lNia8eJ51DMk1TYBiGqLWPvN0oOF85lEjkhsMKqX973bYW5JB18igMwqUaDBLifC1Y1KbjzFfqUAiOJop4bQ06oSmVAN/N8VTBaELvHdmW58OxHP9O8zH1PFY1ixxxxH6umBQ/5fyfwl7y/4IXxgRMFBNinSiBx0GSFnvuIiVl8yiV6RGt1gVlolSp4eamiELhDoXbO/y5LuDy6lrw6/JKwPsupJxAkvLI5i5xkc3jHyXXGP6RrScsAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Lihat Surat&quot;
        title=&quot;&quot;
        src=&quot;/static/05dc7ff608d9704d4d4ac911b040a477/7c811/LIHATSURATPRIBADI.png&quot;
        srcset=&quot;/static/05dc7ff608d9704d4d4ac911b040a477/103f2/LIHATSURATPRIBADI.png 165w,
/static/05dc7ff608d9704d4d4ac911b040a477/748ba/LIHATSURATPRIBADI.png 330w,
/static/05dc7ff608d9704d4d4ac911b040a477/7c811/LIHATSURATPRIBADI.png 660w,
/static/05dc7ff608d9704d4d4ac911b040a477/d28e0/LIHATSURATPRIBADI.png 990w,
/static/05dc7ff608d9704d4d4ac911b040a477/047c3/LIHATSURATPRIBADI.png 1208w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;halaman-setup--maste-data&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#halaman-setup--maste-data&quot; aria-label=&quot;halaman setup  maste data permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Halaman Setup &amp;#x26; Maste Data&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 83.63636363636364%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAACoklEQVR42o1UaU8TURSdX43GT5r4xZj4E4wbxRbQEIoRMRqB0tICVfbSfd9b2plu0+V4z22HtMaIk5zcd/ftvTFcy+/gXlmBy+WCx+OB2+1WeFY92NzchNfrxdraKtbX17C1taX8n6B8Y2NDbNZhhM8jCF1GcXkVwVUkhgvS6yiSqSzSmTyS6Rwy+RIyuSJSck6JLJ0tTCn1YhdPpHF9E8dNNAkjV2kiXqmhXG3gJpZELJFBqdJA49ZCrWGibfWVr9RuYXbsmbytcoJn6jP5MqqNFoxYPIUDfxCmNYDr/SqOwmfiOMDZ+bVkTaBl9bC778euL4Bmq6NJA8FjDVIo1XDb7irow2RGsVy/q6jeNDUj6QI/q4q8o3P0pEzEoOSNar0lDiYG9gi9wVgxHE+ETnl7NEF/JicdjiZ67vZHeraHE3R6Q5VxBAZLjcgyXr56iwmArCzg8ZOnkrWLsfCv3ywjfHoJfuxmaekh0rmS8p+3d/Dh46aera6NltmDwXLTmQKCobBmqjfb2N75BlMMmJHzSol+MIQspokvX7/riJjs1+kFjk5OpQuorwZk3xSwTUuE3f5QWhmrAWGPpu1Z3ZlO7EjJD4YyEgGro40G5LAJXgsnCMcwf6bD33SUO7q7gGyxJLNhQAqJtii4NQ7acb4P6idXzKCT1/sJz56/kHag7R8ehrD04JEGnK/uvoB3LfNZRaIJbYd8OlvUS82t0ojG/wwoSZmcC9aAzlKcTH17PBv+6L+qs+YDVmV2zh1ihbwqZqc/twx7Yfik1C1AfKZXTl4Kn05HroHz2J0HX5B28/JW88WqnGu6OL7dsvxM2mZfCyDaLEI3P5vhjz0fjk9+LiAYOoZffhgH/kOF74AIYN/nVxqQpTk6wh8Iqmx3z4ffZSrtIsPNNQoAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Setup Master Data&quot;
        title=&quot;&quot;
        src=&quot;/static/ae1a886a97134d993ef500a14c221310/7c811/SETUP.png&quot;
        srcset=&quot;/static/ae1a886a97134d993ef500a14c221310/103f2/SETUP.png 165w,
/static/ae1a886a97134d993ef500a14c221310/748ba/SETUP.png 330w,
/static/ae1a886a97134d993ef500a14c221310/7c811/SETUP.png 660w,
/static/ae1a886a97134d993ef500a14c221310/d28e0/SETUP.png 990w,
/static/ae1a886a97134d993ef500a14c221310/047c3/SETUP.png 1208w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Sebetulnya masih ada lagi, ini yang sudah gw implementasikan ke web-base, jadi mockup ini saja yang gw share ya, nanti akan ada update lagi, tetap semangat.&lt;/p&gt;
&lt;p&gt;Have a nice Day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Aplikasi Lowongan Online]]></title><description><![CDATA[Bismillah Sekedar mau share ide, setelah memperjuangkan untuk design (frontend) dan beberapa perbaikan dari sisi server (backend) dan lembur 2 hari gw kagak di hitung, akhirnya gw…]]></description><link>https://topidesta.my.id/aplikasi-lowongan-online-rsup-persahabatan/</link><guid isPermaLink="false">https://topidesta.my.id/aplikasi-lowongan-online-rsup-persahabatan/</guid><category><![CDATA[react]]></category><category><![CDATA[kantor]]></category><pubDate>Fri, 26 Feb 2021 04:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah&lt;/p&gt;
&lt;p&gt;Sekedar mau share ide, setelah memperjuangkan untuk design (&lt;em&gt;frontend&lt;/em&gt;) dan beberapa perbaikan dari sisi server (&lt;em&gt;backend&lt;/em&gt;) dan lembur 2 hari gw kagak di hitung, akhirnya gw coba kasih tau deh layout aplikasi, sourcecode masih belum bisa gw publish.. maaf.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 101.81818181818183%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAACwUlEQVR42oVUTU8TURTtbxH2YNIfgBvUf8EKFy66c2kwMXFlXGhiTFgYSUxoZGWEGK1VA4avUqBkSEtboNa2U6alLcwM8/Hm+O6bzptOS2CS07777nvn3jv33Il5ngcC/4HLPHRMC6Zjg3mM7wHSzx/GGAzDgOM4Yu26rtgPzhBig4bLD3UMC7pt8bUbOUgPEei6jk6ng0ajIdBut0WAIGCE0L/ojUQl0GGflGF29hHi8TjuTU1hcmICy8vLwkfEI4QCgCTF0Fo7O8PipyVkczkcKgpWVlaQSv2QFUhCKsU0Tdi2DcuyJGifEJTVbDaRyWRkILK3trZCQlrouoGNjU1kd3eRz+dRLBah8Oj0Xy6XUSqV0O12xaUznmE6nUalcioaRO8xk9mJElJWtVqVv+AW6vUaTk5OBMnR0RG365GSfcKfgkjTNFSrf7GzM0TYUDU8fzmPpy/eYmHxi+zYaMOIUBMZqqrKAx+jUCggm81GCbu9S6R+bSD1exPbWWWky4MZdrlk3i8k8epdEp+/ruKcy2Zvbz+UDW55hmXT6/UwN/cM0/cfYnr6ARKJBNbW1kLZBJcoXR8sQhSVjSf8MzMzGB8fx+TkXdwZG5M6JFXEbs4OMEwXptWH7aI/pSJjxqeJseggXEvo8UPUefPKhlJuCRyUNCjHbb5ncZ8VebeDlcSuLY9Htq58kTsclxc9XHA4DtkOL80Ec53wnuf6aRNhOL2Q5cg9T56L+PuukfO0Fhnmc0WsflsPxyn/EY2DNzJQm09Pk89uQHSx/gR67nVorz6Gkf8QltzRzlE7rSL4LLQr3zlpUhLWuXj/HR5KAqO0BKOSDm2egFH9I9bRkgcwbN/kw8BeLBAtaTAYN18OTkTUzHUHbCf0M78pJPjWeRcxUjd9tugzpKrN/r8KrdUSXb4NpnnFO28hpxSwvr2P/3qA69jzibWXAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Lowongan Pekerjaan&quot;
        title=&quot;&quot;
        src=&quot;/static/77e943318b140e02412bf5875b56e506/7c811/lowonganpekerjaan.png&quot;
        srcset=&quot;/static/77e943318b140e02412bf5875b56e506/103f2/lowonganpekerjaan.png 165w,
/static/77e943318b140e02412bf5875b56e506/748ba/lowonganpekerjaan.png 330w,
/static/77e943318b140e02412bf5875b56e506/7c811/lowonganpekerjaan.png 660w,
/static/77e943318b140e02412bf5875b56e506/d28e0/lowonganpekerjaan.png 990w,
/static/77e943318b140e02412bf5875b56e506/bb51b/lowonganpekerjaan.png 1320w,
/static/77e943318b140e02412bf5875b56e506/e2f49/lowonganpekerjaan.png 1366w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;https://lowonganpekerjaan.netlify.app/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;konsepnya sederhana hanya mengumpulkan data para pelamar yang akan bekerja yang akan diverifikasi oleh pihak terkait (unit SDM). Beberapa stack yang gw pake, dan ini bukan orisinil gw, inget konsep bekerja dan belajar gw itu ATM (Amati-Tiru-Modifikasi), jangan heran yoo...&lt;/p&gt;
&lt;h2 id=&quot;teknologi&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#teknologi&quot; aria-label=&quot;teknologi permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Teknologi&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;ReactJS (CRA Template ~Fronted)&lt;/li&gt;
&lt;li&gt;Netlify (Domain dan Production Stage)&lt;/li&gt;
&lt;li&gt;Github (Hosting ~private source)&lt;/li&gt;
&lt;li&gt;Codeigniter 3 (Pengatur Data ~Backend)&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;library&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#library&quot; aria-label=&quot;library permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Library&lt;/h3&gt;
&lt;h4 id=&quot;frontend&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#frontend&quot; aria-label=&quot;frontend permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Frontend&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;React-hook-form&lt;/li&gt;
&lt;li&gt;React Bootstrap&lt;/li&gt;
&lt;li&gt;React device Mockup&lt;/li&gt;
&lt;li&gt;React Router DOM&lt;/li&gt;
&lt;li&gt;Redux etc (Sekedar belajar, pilihan lain bisa pake MobX)&lt;/li&gt;
&lt;li&gt;Axios&lt;/li&gt;
&lt;li&gt;Node SASS (CSS System)&lt;/li&gt;
&lt;li&gt;...Etc&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&quot;backend&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#backend&quot; aria-label=&quot;backend permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Backend&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Codeigniter 3&lt;/li&gt;
&lt;li&gt;REST Server&lt;/li&gt;
&lt;li&gt;JWT Firebase&lt;/li&gt;
&lt;li&gt;Etc&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;todo&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#todo&quot; aria-label=&quot;todo permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;TODO:&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Menambahkan Fungsi Login/ Logout&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Have a nice Day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Aplikasi Jadwal Zoom Sederhana]]></title><description><![CDATA[Bismillah Sekedar mau share ide, aplikasi jadwal zoom sederhana sekali.   konsepnya sederhana biar enak dipandang ajah. Beberapa stack yang gw pake, dan ini bukan orisinil gw…]]></description><link>https://topidesta.my.id/aplikasi-jadwal-zoom-sederhana/</link><guid isPermaLink="false">https://topidesta.my.id/aplikasi-jadwal-zoom-sederhana/</guid><category><![CDATA[react]]></category><category><![CDATA[kantor]]></category><pubDate>Thu, 18 Feb 2021 20:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah&lt;/p&gt;
&lt;p&gt;Sekedar mau share ide, aplikasi jadwal zoom sederhana sekali.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 40.60606060606061%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAwklEQVR42o2S6w6DIAyFef9H1F8ao4mXqNOggHLmYalxZuqaNC20fLQFZYzBsizw3oP+uq7Bd85tFsE2TYO+f2EYBszzHPKstXveJ9cHVQzKQmBUXkIhIM9zFEWBruv2mOTSHs8pt91EkQ0R8adpQhRFiOMYdV1/xc7nbiukLxWmaYokSdC2bdg75p1VGXsPZIUEZlkWWn4EynCvgIyz1aqqMI7jH8DDC/0CciSElWUZXvkRKF/mCsgvwVY5P631I/ANNt11BQbjM14AAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Jadwal Zoom PC&quot;
        title=&quot;&quot;
        src=&quot;/static/2bff9dcd37fbb6a8f7980e07c3c99598/7c811/jadwalpc.png&quot;
        srcset=&quot;/static/2bff9dcd37fbb6a8f7980e07c3c99598/103f2/jadwalpc.png 165w,
/static/2bff9dcd37fbb6a8f7980e07c3c99598/748ba/jadwalpc.png 330w,
/static/2bff9dcd37fbb6a8f7980e07c3c99598/7c811/jadwalpc.png 660w,
/static/2bff9dcd37fbb6a8f7980e07c3c99598/d28e0/jadwalpc.png 990w,
/static/2bff9dcd37fbb6a8f7980e07c3c99598/bb51b/jadwalpc.png 1320w,
/static/2bff9dcd37fbb6a8f7980e07c3c99598/912ae/jadwalpc.png 2472w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;https://jadwalzoom.netlify.app/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;konsepnya sederhana biar enak dipandang ajah. Beberapa stack yang gw pake, dan ini bukan orisinil gw, inget konsep bekerja dan belajar gw itu ATM (Amati-Tiru-Modifikasi), jangan heran yoo...&lt;/p&gt;
&lt;h2 id=&quot;teknologi&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#teknologi&quot; aria-label=&quot;teknologi permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Teknologi&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;ReactJS (CRA Template ~Fronted)&lt;/li&gt;
&lt;li&gt;Netlify (Domain dan Production Stage)&lt;/li&gt;
&lt;li&gt;Github (Hosting ~private source)&lt;/li&gt;
&lt;li&gt;Codeigniter 3 (Pengatur Data ~Backend)&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;library&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#library&quot; aria-label=&quot;library permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Library&lt;/h3&gt;
&lt;h4 id=&quot;frontend&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#frontend&quot; aria-label=&quot;frontend permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Frontend&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Dayz&lt;/li&gt;
&lt;li&gt;Redux etc (Sekedar belajar, pilihan lain bisa pake MobX)&lt;/li&gt;
&lt;li&gt;Axios&lt;/li&gt;
&lt;li&gt;Node SASS (CSS System)&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&quot;backend&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#backend&quot; aria-label=&quot;backend permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Backend&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Codeigniter 3&lt;/li&gt;
&lt;li&gt;REST Server&lt;/li&gt;
&lt;li&gt;JWT Firebase&lt;/li&gt;
&lt;li&gt;Etc&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;todo&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#todo&quot; aria-label=&quot;todo permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;TODO:&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Tampilan dengan Styled-Components/ Emotion/&lt;/li&gt;
&lt;li&gt;Bikin Fungsi Service API REST&lt;/li&gt;
&lt;li&gt;Added Redux&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Have a nice Day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Aplikasi Permintaan Bankdarah]]></title><description><![CDATA[Bismillah Sekedar mau share ide, setelah sebelumnya sudah selesai mengerjakan aplikasi sampingan maksudnya aplikasi dikantor gw juga, tapi gak jadi prioritas (melihat kondisi…]]></description><link>https://topidesta.my.id/aplikasi-permintaan-bankdarah-rspersahabatan/</link><guid isPermaLink="false">https://topidesta.my.id/aplikasi-permintaan-bankdarah-rspersahabatan/</guid><category><![CDATA[react]]></category><category><![CDATA[kantor]]></category><pubDate>Sat, 06 Feb 2021 20:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah&lt;/p&gt;
&lt;p&gt;Sekedar mau share ide, setelah sebelumnya sudah selesai mengerjakan aplikasi sampingan maksudnya aplikasi dikantor gw juga, tapi gak jadi prioritas (melihat kondisi dilapangan, akhirnya gw kasih ide ke unit tersebut, dan masih bahasan user ke user, belum permintaan dari unit), maklum ide gw kadang gak terlalu diperhatikan jadi ya gw tulis diblog ajah, hehe.&lt;/p&gt;
&lt;p&gt;Yap, module bankdarah dikantor gw ada yang dibangun untuk unit tersebut, dan sekarang lagi zaman covid19 sivirus dari cina daratan yang Kebetulan bankdarah dikantor gw juga memproduksi darah yang bisa di order/ permintaan dari rumah sakit lain, gw tanya prosesnya, dan ternyata gw kasih ide ini bisa kita ringkas prosesnya, unit cukup memvalidasi saja gak perlu isi data dasar, biar mereka (orang yang perlu darah) yang isi datanya, dan diterima.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 59.3939393939394%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAClUlEQVR42i2Ra2/SYBiG0Rg1aqLf/AM6jRqzxA/LYtziCov7ADsBg9JCYRQoLW05tUAHdCjjuDEG9H1pOQTBsTE3/6JlW/J8vXLd9/0YOLTHYvp1OAzQBKD8IBACfgb4eOBJKFhKcUrK3iHEGhO0PbbDsa0/NmsDU/sMUdsGYRPGbZB3KqwL0B5A7YNAEOzTgOCBW4fFjjMLrZmTT99Nb5e/flhde7O0vGh3/FAhot3CCWs35uhyOGTuzYqfBl5OhwEmKmhe26SzXxa+LX5GPi6tLqysrGxZ1punxgGYw7EdwNkUxqno5jAJgxT0M1CPTcR1s+LMqzvMIbt3Folf4Ed9++ScBS1TvWYcQkPCDH4Fx3XxqpyaJagBSXTIgOKjFA8HUEF1iR00r25HZHqjGCQ61mTTArrUad1YrxqHwJC0gAp70cz+q2evjw5mkjBJZyaZwjSa7h2Qst4ZldXNcJa11GRplmhfon+mPGghtYpJNyfNoMxOG9JNKXVZla+Lh1dHpb/F+k2hNvspNjFBhzULlY3vHsv561ShG9FUBnaQWvUWtoCse5gLjkSyn6QGQmyUFEbR1DCa++3PjVz6YHdmc0WSZlK+FW40IipAqrdmfbCkrSu6eyI5SFD9KNOn6K4vrOBMG4917mLPzdZjWZpyjYnvYsYrrbXaPQySNhh3Qh6HES+kSRiarw28vOKJKy49dq67xeQTu00her5fHOLnl8JQW6tW5q9Kb/cEmxZzqBymMoRKB7RQWCNZzRfTCFF1Z7pYYbDNyoQ1FA6JJCf40xk3zyHNk/Vxz0BvVChzhbadhNFGED8mXBXcU3Z5y45A2U6VrUxpN17bCIjPXr189OTx0xfPHz54+Prde6RaXqmX/gMRWEqIVyFwdAAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Permintaan Darah Web&quot;
        title=&quot;&quot;
        src=&quot;/static/eed70404852d0e3814dc936076a732fa/7c811/bankdarahpc.png&quot;
        srcset=&quot;/static/eed70404852d0e3814dc936076a732fa/103f2/bankdarahpc.png 165w,
/static/eed70404852d0e3814dc936076a732fa/748ba/bankdarahpc.png 330w,
/static/eed70404852d0e3814dc936076a732fa/7c811/bankdarahpc.png 660w,
/static/eed70404852d0e3814dc936076a732fa/d28e0/bankdarahpc.png 990w,
/static/eed70404852d0e3814dc936076a732fa/8283d/bankdarahpc.png 1162w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;https://bankdarah.netlify.app/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;konsepnya sederhana kalo gw cermati dari unit bankdarah, unit hanya perlu data pasien (asal) dan darah apa yang diperlukan, yang jadi masalahnya, pasien plek dateng dengan berkas banyak, dan unit yang isi juga (ini yang bikin lama proses nyiapin darah).&lt;/p&gt;
&lt;p&gt;Dan terciptalah ide ini, karena hanya form sementara, next ada fungsi login berdasaran &lt;strong&gt;KTP&lt;/strong&gt; dan &lt;strong&gt;Nomor Telpon&lt;/strong&gt; yang terdaftar, sehingga pasien cukup login dan request, tanpa isi data ulang.&lt;/p&gt;
&lt;p&gt;Beberapa stack yang gw pake, dan ini bukan orisinil gw, inget konsep bekerja dan belajar gw itu ATM (Amati-Tiru-Modifikasi), jangan heran yoo...&lt;/p&gt;
&lt;h2 id=&quot;teknologi&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#teknologi&quot; aria-label=&quot;teknologi permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Teknologi&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;ReactJS (CRA Template ~Fronted)&lt;/li&gt;
&lt;li&gt;Netlify (Domain dan Production Stage)&lt;/li&gt;
&lt;li&gt;Github (Hosting ~private source)&lt;/li&gt;
&lt;li&gt;Codeigniter 3 (Pengatur Data ~Backend)&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;library&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#library&quot; aria-label=&quot;library permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Library&lt;/h3&gt;
&lt;h4 id=&quot;frontend&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#frontend&quot; aria-label=&quot;frontend permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Frontend&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Bootstrap&lt;/li&gt;
&lt;li&gt;Redux etc (Sekedar belajar, pilihan lain bisa pake MobX)&lt;/li&gt;
&lt;li&gt;Axios&lt;/li&gt;
&lt;li&gt;React Hook Form&lt;/li&gt;
&lt;li&gt;Yup&lt;/li&gt;
&lt;li&gt;HTML5 Mockup&lt;/li&gt;
&lt;li&gt;React Client Captcha&lt;/li&gt;
&lt;li&gt;NIK Parser&lt;/li&gt;
&lt;li&gt;Node SASS (CSS System)&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&quot;backend&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#backend&quot; aria-label=&quot;backend permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Backend&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Codeigniter 3&lt;/li&gt;
&lt;li&gt;REST Server&lt;/li&gt;
&lt;li&gt;JWT Firebase&lt;/li&gt;
&lt;li&gt;Etc&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Done, selanjutnya gw rencanya mau buat mobilenya, yang bisa untuk Android dulu, karena kalo untuk iOS gw harus punya MacOS dengan dibantu teknologi React, ya React Native.&lt;/p&gt;
&lt;p&gt;Have a nice Day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Trial Reset Beyond Compare Win10]]></title><description><![CDATA[Bismillah Kalo ini gw mau share compare tools buat para developer sangat bagus neh, terutama kalo servernya tidak memanfaatkan GIT setiap perubahan melainkan merge manual di lokal…]]></description><link>https://topidesta.my.id/trial-reset-beyond-compare-windows-10/</link><guid isPermaLink="false">https://topidesta.my.id/trial-reset-beyond-compare-windows-10/</guid><category><![CDATA[download]]></category><pubDate>Mon, 30 Nov 2020 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah&lt;/p&gt;
&lt;p&gt;Kalo ini gw mau share compare tools buat para developer sangat bagus neh, terutama kalo servernya tidak memanfaatkan GIT setiap perubahan melainkan merge manual di lokal server, dimana setiap perubahan harus manual dicompare dan diwindows biasa pake &lt;strong&gt;Beyond Compare 4&lt;/strong&gt; dan dilinux ada yang free, gw lupa, kurang lebih seperti ini.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 533px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 69.6969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC+klEQVR42m1SSUxTURT9QEhABYkkDgmCunBBghLAtrDRINE4EBy6kMjChUEXLhzjxpjgkOiKpYLQljIWNETEhWsWbgRDUksH+stQKPD/70Tn9nO872kMCC85uXn33nfOHZ4gut1wOZ1gVnS54HQ4ICsKwuEwQqEQRzAY3BEs5vf7oVA+g5s4hEDAj0QigXgqDRV/zsbGBlRV/Qds8nP8uW3JZWd1dQ1CMBBAmhxRnw+/2l7A8Oo1fLIMNZPhQpH1ddhn7PB4PPAuLsLrXcL83DxEuouiBwF6z/JSqRQUWaIKIxEkFhbg0+sx3nQBD263QK+/AllaQ4aEYrEYlohEFEVMT09j6ucUJiYmYLVaqaJVPppkMslzl7xzEOLEbP8xiYc1JzE3OwlFckJ/XY/P4994G0ydtaVQ1asrK5yEVcrai8cTyPztJKNuwOf1QIhFo1hcWsYJrQaDpnZ0mYdx5pED360hokvR0AOcRCZCmVpSFD9fRoCWIUkSX0o8HufETFBg22Hn65cxXGzUo6HVAsP4PLUSQYpaYfEV3wqktTXYbTbYbDM00xk+R0YoSzIfC5shExWCpKCm07QuFSH2HRSJV5ZJJZGMkTKRsjizaTZ8qoYhzfzsZ1CM+VW+FCKcpW3ZHU44XG76RyLc8wtw0PY8Xi/ClBgi9SCNhdn/EaSFBmgpwVAY4UgUyzQaYaTlJnrPnkbf+Qb0XzoHY50O3dU1MJzSwKTVwaTRoKe2Fj11dVtg0tWir74ew9euclgaL2P07h0IQ9XVGD5eipHyYxitKUdvcRFMu/Jh2rMbxvw89BQUoCs7Gx8EYRu6c3NhLiqCuXgfTHl5sNTqIFhI3Vi4F+aDh2DefwC9JYfRV1aGvlKyJSXoP3oERnpgIGJDYeFWkK8zJwedJPiOBAapG2GgogLv6cKcncwSOjbZjh0q48jK4rHephv4+OQZLPceY/BWK4Sx5mYMVFZiSKfDkFa7M0h5G8g/WFWFkftP8elNO0ba3mLs+Uv8BtzHVnibfqT/AAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Beyond Compare 4&quot;
        title=&quot;&quot;
        src=&quot;/static/a202f0092e83b62ed169cd78e4224138/4907d/beyond.png&quot;
        srcset=&quot;/static/a202f0092e83b62ed169cd78e4224138/103f2/beyond.png 165w,
/static/a202f0092e83b62ed169cd78e4224138/748ba/beyond.png 330w,
/static/a202f0092e83b62ed169cd78e4224138/4907d/beyond.png 533w&quot;
        sizes=&quot;(max-width: 533px) 100vw, 533px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Kalo lo punya duit, mending beli seharga $60 ... tapi kalo gak punya mending pake trick gw, ada 2 tools dengan trick yang sama, yaitu menghapus register &lt;strong&gt;TRIAL MODE&lt;/strong&gt; si beyondcompare.  Berikut ini tools yang bisa gw share&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Buat File CMD | &lt;a href=&quot;https://simrspersahabatan.co.id/supports/trialResetBC4.bat&quot;&gt;Download&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jalankan File EXE | &lt;a href=&quot;https://simrspersahabatan.co.id/supports/Beyond_Compare_Trial_Reset.exe&quot;&gt;Download&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Buka Aplikasi Beyond Compare, Jangan di tutup/ close ya (trick ampuh), buka sampe sebulan juga tetep 30Hari&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;reg delete &lt;span class=&quot;token string&quot;&gt;&quot;HKCU\Software\Scooter Software\Beyond Compare 4&quot;&lt;/span&gt; /v CacheID /f&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;bonus&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bonus&quot; aria-label=&quot;bonus permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bonus&lt;/h2&gt;
&lt;p&gt;Untuk pengguna macOS silahkan gunakan script ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;rm&lt;/span&gt; “/Users/&lt;span class=&quot;token variable&quot;&gt;&lt;span class=&quot;token variable&quot;&gt;$(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;whoami&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;)&lt;/span&gt;&lt;/span&gt;/Library/Application Support/Beyond Compare/registry.dat”&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Done.&lt;/p&gt;
&lt;p&gt;Sumber:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://gist.github.com/zsoumya/f7e8c6edc31ccedc7d51b0b1747b4f9f&quot;&gt;https://gist.github.com/zsoumya/f7e8c6edc31ccedc7d51b0b1747b4f9f&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=nQSRspyVYYA&quot;&gt;https://www.youtube.com/watch?v=nQSRspyVYYA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://devopsdiaryblog.wordpress.com/2017/07/02/how-to-reset-beyond-compare-trial-period/#comment-457&quot;&gt;https://devopsdiaryblog.wordpress.com/2017/07/02/how-to-reset-beyond-compare-trial-period/#comment-457&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Have a nice day.&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Daftar Website Penyedia Script Nulled]]></title><description><![CDATA[Bismillah Sebetulnya trick ini jangan digunakan untuk mencari duit ya, gak berkah ... mending development secara lokal jika ingin dipublish silahkan order ... lebih aman ... serius…]]></description><link>https://topidesta.my.id/daftar-website-penyedia-script-nulled/</link><guid isPermaLink="false">https://topidesta.my.id/daftar-website-penyedia-script-nulled/</guid><category><![CDATA[download]]></category><category><![CDATA[template]]></category><pubDate>Fri, 25 Sep 2020 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah&lt;/p&gt;
&lt;p&gt;Sebetulnya trick ini jangan digunakan untuk mencari duit ya, gak berkah ... mending development secara lokal jika ingin dipublish silahkan order ... lebih aman ... serius ... atau nyontek script nyah (untuk belajar) ... jangan keseluruhan ... okeh ... berikut ini listnya:&lt;/p&gt;
&lt;ol start=&quot;0&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/nullNol&quot;&gt;https://kutt.it/nullNol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/nullSatu&quot;&gt;https://kutt.it/nullSatu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/nullDua&quot;&gt;https://kutt.it/nullDua&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/nullTiga&quot;&gt;https://kutt.it/nullTiga&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/nullEmpat&quot;&gt;https://kutt.it/nullEmpat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/nullLima&quot;&gt;https://kutt.it/nullLima&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/nullEnam&quot;&gt;https://kutt.it/nullEnam&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/nullTujuh&quot;&gt;https://kutt.it/nullTujuh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/nullDelapan&quot;&gt;https://kutt.it/nullDelapan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://go.topidesta.my.id/Tutorial-Nulled&quot;&gt;http://go.topidesta.my.id/Tutorial-Nulled&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;extra&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#extra&quot; aria-label=&quot;extra permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Extra&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/cocoleech&quot;&gt;https://kutt.it/cocoleech&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/checkBeforeUse&quot;&gt;https://kutt.it/checkBeforeUse&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;bonus&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bonus&quot; aria-label=&quot;bonus permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bonus&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;/website-penyedia-software-link-download/&quot;&gt;Aplikasi Nulled&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Sumber: &lt;a href=&quot;https://bloggersutra.com/nulled-wordpress-themes/&quot;&gt;https://bloggersutra.com/nulled-wordpress-themes/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Have a nice day.&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Mockup Prima Versi Android/ iOS]]></title><description><![CDATA[Bismillah Kebetulan pencarian dokter sudah kelar, sekarang mau buat Prima versi Mobile dengan teknologi React Native, rencannya setiap module yang existing prima web, nanti mau gw…]]></description><link>https://topidesta.my.id/mockup-prima-versi-android-ios/</link><guid isPermaLink="false">https://topidesta.my.id/mockup-prima-versi-android-ios/</guid><category><![CDATA[mockup]]></category><category><![CDATA[balsamiq]]></category><category><![CDATA[kantor]]></category><pubDate>Wed, 12 Aug 2020 13:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah&lt;/p&gt;
&lt;p&gt;Kebetulan pencarian dokter sudah kelar, sekarang mau buat Prima versi Mobile dengan teknologi React Native, rencannya setiap module yang existing prima web, nanti mau gw buat &lt;strong&gt;Package NPM&lt;/strong&gt; jadi setiap developer mengembangkan sesuai kebutuhan tanpa harus install semua module (pilih package sesuai kebutuhan yang diubah), hems... nice idea? ya, gw juga kudu belajar neh, mantap, balik lagi ke judulnya ... yaps, gw cuman sedikit share ajah, soalnya sekalian buat prototive gw sih, karena diruangan belum ada kesempatan buat menjelaskan dan sedikit ada waktu buat sharing, baiklah, ini di beberapa mockup yang udah gw coba buat.&lt;/p&gt;
&lt;h3 id=&quot;halaman-ketika-dibuka-pertama-kali&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#halaman-ketika-dibuka-pertama-kali&quot; aria-label=&quot;halaman ketika dibuka pertama kali permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Halaman ketika dibuka pertama kali&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 129.6969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAaABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAIDAQX/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAH24uTYERsDo//EABsQAQACAgMAAAAAAAAAAAAAAAEAAhExICIy/9oACAEBAAEFArbwhLel6y21ycP/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/AR//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/AR//xAAaEAACAgMAAAAAAAAAAAAAAAAAAQIQESAx/9oACAEBAAY/AkjtRHSMa//EABwQAAIBBQEAAAAAAAAAAAAAAAERABAgIUGxcf/aAAgBAQABPyFktwkDkqdHIzAR7RmjUIZO2//aAAwDAQACAAMAAAAQ48cw/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPxAf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPxAf/8QAIBABAQABAgcBAAAAAAAAAAAAAREhABAgMVFxgaGxwf/aAAgBAQABPxB2IW23pdA8+THvZxJY/TUDy31sIoybe2h8BcZB+cP/2Q==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Halaman Utama Mobile&quot;
        title=&quot;&quot;
        src=&quot;/static/7315852733e0b6a3e4513fa938bd4f97/5ab81/first.jpg&quot;
        srcset=&quot;/static/7315852733e0b6a3e4513fa938bd4f97/e4e7a/first.jpg 165w,
/static/7315852733e0b6a3e4513fa938bd4f97/4f5c6/first.jpg 330w,
/static/7315852733e0b6a3e4513fa938bd4f97/5ab81/first.jpg 660w,
/static/7315852733e0b6a3e4513fa938bd4f97/7ed05/first.jpg 990w,
/static/7315852733e0b6a3e4513fa938bd4f97/9ef87/first.jpg 1320w,
/static/7315852733e0b6a3e4513fa938bd4f97/fef31/first.jpg 1700w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;ketika-mengklik-login&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ketika-mengklik-login&quot; aria-label=&quot;ketika mengklik login permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Ketika mengklik Login&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 129.6969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAaABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAIDAQX/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAH24uDcEZ7g6P/EABoQAAICAwAAAAAAAAAAAAAAAAExAAIRIDL/2gAIAQEAAQUCs8ECWZ5lmxp//8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPwEf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPwEf/8QAGBABAAMBAAAAAAAAAAAAAAAAAQAQMSD/2gAIAQEABj8CCbRGiZz/AP/EAB0QAQABBAMBAAAAAAAAAAAAAAERABAhsSBBUYH/2gAIAQEAAT8hlC7pQcotv6pLYGTylkAHzj//2gAMAwEAAgADAAAAENPHMP/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8QH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8QH//EAB8QAQEAAQQCAwAAAAAAAAAAAAERUQAQITEggUGhwf/aAAgBAQABPxB2IW23F0Dz7OPva6jH5e2hBxkybMiBE29ck1a4Sdj88f/Z&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Login Mobile&quot;
        title=&quot;&quot;
        src=&quot;/static/db78a43a4a78e6b4264de5c171a095f3/5ab81/login.jpg&quot;
        srcset=&quot;/static/db78a43a4a78e6b4264de5c171a095f3/e4e7a/login.jpg 165w,
/static/db78a43a4a78e6b4264de5c171a095f3/4f5c6/login.jpg 330w,
/static/db78a43a4a78e6b4264de5c171a095f3/5ab81/login.jpg 660w,
/static/db78a43a4a78e6b4264de5c171a095f3/7ed05/login.jpg 990w,
/static/db78a43a4a78e6b4264de5c171a095f3/9ef87/login.jpg 1320w,
/static/db78a43a4a78e6b4264de5c171a095f3/fef31/login.jpg 1700w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;halaman-daftar-pegawai&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#halaman-daftar-pegawai&quot; aria-label=&quot;halaman daftar pegawai permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Halaman daftar Pegawai&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 129.6969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAaABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAIDAQX/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAH24uDcEZ7g6P/EABsQAAEEAwAAAAAAAAAAAAAAAAIAASAxITJC/9oACAEBAAEFAivLMi25RXcf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPwEf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPwEf/8QAGRAAAwADAAAAAAAAAAAAAAAAAAEQAiAx/9oACAEBAAY/AkdmI4h6/wD/xAAcEAEAAQUBAQAAAAAAAAAAAAABEQAQQXGxICH/2gAIAQEAAT8hbCZahDhbo5UzqtKUxSwAfXfn/9oADAMBAAIAAwAAABCDxzD/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/EB//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/EB//xAAgEAACAQMEAwAAAAAAAAAAAAABESEAEHEgMUGRobHR/9oACAEBAAE/EIJzAvFFVi3L+28z2USYJMN82BKEi3ijKAClOo0//9k=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Halaman Daftar&quot;
        title=&quot;&quot;
        src=&quot;/static/85015d7bd2669d4b6a508d298a836f6d/5ab81/daftar.jpg&quot;
        srcset=&quot;/static/85015d7bd2669d4b6a508d298a836f6d/e4e7a/daftar.jpg 165w,
/static/85015d7bd2669d4b6a508d298a836f6d/4f5c6/daftar.jpg 330w,
/static/85015d7bd2669d4b6a508d298a836f6d/5ab81/daftar.jpg 660w,
/static/85015d7bd2669d4b6a508d298a836f6d/7ed05/daftar.jpg 990w,
/static/85015d7bd2669d4b6a508d298a836f6d/9ef87/daftar.jpg 1320w,
/static/85015d7bd2669d4b6a508d298a836f6d/fef31/daftar.jpg 1700w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;halaman-lupa-email-password&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#halaman-lupa-email-password&quot; aria-label=&quot;halaman lupa email password permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Halaman lupa email/ password&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 129.6969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAaABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAIBAwX/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAH24vDqCI7A0f/EABoQAAEFAQAAAAAAAAAAAAAAAAEAAhExMiD/2gAIAQEAAQUCdcEBO0cp1kyOP//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABkQAAIDAQAAAAAAAAAAAAAAAAABAhARIP/aAAgBAQAGPwJG7UR0jOf/xAAaEAEAAgMBAAAAAAAAAAAAAAABABEQQbEg/9oACAEBAAE/IW0m2KGjHRyFLMWtNRGp3z//2gAMAwEAAgADAAAAEKPHMP/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8QH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8QH//EACAQAAIBAwQDAAAAAAAAAAAAAAERIQAQcSBBUWGxwdH/2gAIAQEAAT8QgnMC8VJ427+2Fg78lKoEubAlCRbxQfACYkB60//Z&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Lupa Password&quot;
        title=&quot;&quot;
        src=&quot;/static/3d9893ad6448a14e3abef2aefa142453/5ab81/lupa.jpg&quot;
        srcset=&quot;/static/3d9893ad6448a14e3abef2aefa142453/e4e7a/lupa.jpg 165w,
/static/3d9893ad6448a14e3abef2aefa142453/4f5c6/lupa.jpg 330w,
/static/3d9893ad6448a14e3abef2aefa142453/5ab81/lupa.jpg 660w,
/static/3d9893ad6448a14e3abef2aefa142453/7ed05/lupa.jpg 990w,
/static/3d9893ad6448a14e3abef2aefa142453/9ef87/lupa.jpg 1320w,
/static/3d9893ad6448a14e3abef2aefa142453/fef31/lupa.jpg 1700w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;halaman-dashboard&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#halaman-dashboard&quot; aria-label=&quot;halaman dashboard permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Halaman Dashboard&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 129.6969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAaABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAECAwX/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAHt0kbAzpuCR//EABsQAAMAAgMAAAAAAAAAAAAAAAABAhESICEx/9oACAEBAAEFArO0i1sVOEV623x//8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPwEf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPwEf/8QAGBABAAMBAAAAAAAAAAAAAAAAAQAQIDH/2gAIAQEABj8CJ2gjRr//xAAdEAEAAQMFAAAAAAAAAAAAAAABEQAQQSAhMZGh/9oACAEBAAE/IUiTNIp3d2NNwzQIMs2lIYoFIPdP/9oADAMBAAIAAwAAABAjzzD/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/EB//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/EB//xAAfEAEAAQQBBQAAAAAAAAAAAAABEQAhMUEQIJGxwfD/2gAIAQEAAT8Q20ke1Rho+b4IsUCJOqheJHBlYPXBteU5mMUPQG1wPjp//9k=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Halaman Dashboard&quot;
        title=&quot;&quot;
        src=&quot;/static/892d21a826881ae751205c63da154ee5/5ab81/dashboard.jpg&quot;
        srcset=&quot;/static/892d21a826881ae751205c63da154ee5/e4e7a/dashboard.jpg 165w,
/static/892d21a826881ae751205c63da154ee5/4f5c6/dashboard.jpg 330w,
/static/892d21a826881ae751205c63da154ee5/5ab81/dashboard.jpg 660w,
/static/892d21a826881ae751205c63da154ee5/7ed05/dashboard.jpg 990w,
/static/892d21a826881ae751205c63da154ee5/9ef87/dashboard.jpg 1320w,
/static/892d21a826881ae751205c63da154ee5/fef31/dashboard.jpg 1700w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;halaman-profile-pengguna&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#halaman-profile-pengguna&quot; aria-label=&quot;halaman profile pengguna permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Halaman Profile Pengguna&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 129.6969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAaABQDASIAAhEBAxEB/8QAGQABAQADAQAAAAAAAAAAAAAAAAMBAgQF/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAAB9udNC4Jz6AZH/8QAGhAAAgIDAAAAAAAAAAAAAAAAAAIgMTJBQv/aAAgBAQABBQJjQ2XIxcf/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/AR//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/AR//xAAaEAACAgMAAAAAAAAAAAAAAAAAAQIQESAh/9oACAEBAAY/AlgfaiOlt//EAB0QAQABBAMBAAAAAAAAAAAAAAERABBBUSAhsXH/2gAIAQEAAT8hbJyqEQLFvR5SvdqxZRjdMyACfvH/2gAMAwEAAgADAAAAEFPLMP/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8QH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8QH//EAB8QAAICAgEFAAAAAAAAAAAAAAERIUEAkRAgMVFhsf/aAAgBAQABPxAW6kHWFkjRkwd8VPP0whyle+IGyNl2xBUEQg1HT//Z&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Profile Mobile&quot;
        title=&quot;&quot;
        src=&quot;/static/e48ed27a96209d7800bc617564f66c09/5ab81/profile.jpg&quot;
        srcset=&quot;/static/e48ed27a96209d7800bc617564f66c09/e4e7a/profile.jpg 165w,
/static/e48ed27a96209d7800bc617564f66c09/4f5c6/profile.jpg 330w,
/static/e48ed27a96209d7800bc617564f66c09/5ab81/profile.jpg 660w,
/static/e48ed27a96209d7800bc617564f66c09/7ed05/profile.jpg 990w,
/static/e48ed27a96209d7800bc617564f66c09/9ef87/profile.jpg 1320w,
/static/e48ed27a96209d7800bc617564f66c09/fef31/profile.jpg 1700w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Semuanya masih mockup, tambahan seperti &lt;em&gt;animation&lt;/em&gt;, &lt;em&gt;background color&lt;/em&gt;, dll. itu bisa nanti berjalan, baiklah, di &lt;strong&gt;Halaman Dashboard&lt;/strong&gt; terlihat beberapa module dan seperti yang dijelaskan sebelumnya, module itu nanti akan gw bungkus menjadi package dengan &lt;strong&gt;private source&lt;/strong&gt;, Semoga kepala ruangan gw baca kelebihan dan kekurangan memanfaatkan Git sebagai server cloud.&lt;/p&gt;
&lt;p&gt;Baiklah, sekian informasinya.&lt;/p&gt;
&lt;p&gt;Have a nice day.&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Buat Branch dari Commit GIT]]></title><description><![CDATA[Bismillah Lagi iseng mau nyamain kode berdasarkan commit ... jadi tidak usah rollback atau liat digithub, cukup dilocal komputer kita juga bisa, ini dia tricknya: Done. Sumber…]]></description><link>https://topidesta.my.id/buat-branch-dari-commit-git-local/</link><guid isPermaLink="false">https://topidesta.my.id/buat-branch-dari-commit-git-local/</guid><category><![CDATA[git]]></category><pubDate>Fri, 03 Jul 2020 16:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah&lt;/p&gt;
&lt;p&gt;Lagi iseng mau nyamain kode berdasarkan commit ... jadi tidak usah rollback atau liat digithub, cukup dilocal komputer kita juga bisa, ini dia tricknya:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;$ git checkout &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;commit&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
$ git checkout &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;b feature    # create a &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;branch&lt;/span&gt; named &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;feature&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt; from the commit

# &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; you want to replace the current &lt;span class=&quot;token function&quot;&gt;branch&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;say &lt;span class=&quot;token string&quot;&gt;&apos;develop&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;with&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;created&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;branch&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;feature&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
$ git branch &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;D&lt;/span&gt; develop     # &lt;span class=&quot;token keyword&quot;&gt;delete&lt;/span&gt; the local &lt;span class=&quot;token string&quot;&gt;&apos;develop&apos;&lt;/span&gt; branch
$ git checkout &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;b develop   # create a &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;develop&apos;&lt;/span&gt; branch &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;feature&apos;&lt;/span&gt; branch&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Done.&lt;/p&gt;
&lt;p&gt;Sumber: &lt;a href=&quot;https://stackoverflow.com/a/42159757&quot;&gt;https://stackoverflow.com/a/42159757&lt;/a&gt;&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Login Localhost NetlifyCMS di GatsbyJS]]></title><description><![CDATA[Bismillah Kebetulan gw mau ubah website persahabatan menjadi git source sebagai sumber data (graphQL), karena beberapa kali mysql server dikantor diserang, semua database di…]]></description><link>https://topidesta.my.id/login-localhost-netlifycms-digatsbyjs/</link><guid isPermaLink="false">https://topidesta.my.id/login-localhost-netlifycms-digatsbyjs/</guid><category><![CDATA[react]]></category><category><![CDATA[github]]></category><category><![CDATA[gatsbyjs]]></category><category><![CDATA[netlifycms]]></category><pubDate>Fri, 26 Jun 2020 09:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah&lt;/p&gt;
&lt;p&gt;Kebetulan gw mau ubah website persahabatan menjadi &lt;strong&gt;git source&lt;/strong&gt; sebagai sumber data (graphQL), karena beberapa kali mysql server dikantor diserang, semua database di truncate dan untungnya punya backup, entahlah, belum tahu darimana celahnya. baiklah, karena gw tipe yang males diribetin dengan setup yang jelimet hehe... akhirnya pake starter pack dari GatsbyJS, bisa yang base css bulma atau bootstrap, ini githubnya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/netlify-templates/gatsby-starter-netlify-cms&quot;&gt;https://github.com/netlify-templates/gatsby-starter-netlify-cms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/fullstack-rocket/gatsby-starter-netlify-cms-bootstrap&quot;&gt;https://github.com/fullstack-rocket/gatsby-starter-netlify-cms-bootstrap&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Keseringan kita develop dalam local dan login pun local, nah dengan NetlifyCMS bisa kita lakukan, saat fase development atau production, hanya saja untuk localhost ada beberapa trick, berikut ini langkahnya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Buka File &lt;em&gt;config.yml&lt;/em&gt; di folder static&lt;/li&gt;
&lt;li&gt;Lalu tambahkan kode baris ini: &lt;em&gt;local_backend: true&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Buka 2 command line (cmd) jalankan perintah: &lt;em&gt;yarn start&lt;/em&gt; dan &lt;em&gt;npx netlify-cms-proxy-server&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Buka Browser arahkan ke port defaut &lt;a href=&quot;http://localhost:8000&quot;&gt;http://localhost:8000&lt;/a&gt; atau &lt;a href=&quot;https://localhost:8000/admin&quot;&gt;https://localhost:8000/admin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Selesai.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Mudah bukan? ya. Karena belajar memang harus mudah dan menyenangkan.&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;
&lt;p&gt;source: &lt;a href=&quot;https://kutt.it/ZMivyK&quot;&gt;https://kutt.it/ZMivyK&lt;/a&gt;&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Fullstack Developer Universitas Helsinki]]></title><description><![CDATA[Bismillah... Ini adalah postingan lain dari Belajar ReactJS yang diadakan oleh Department of Computer Science at the University of Helsinki in Spring 2020 (belajar dimusim semi…]]></description><link>https://topidesta.my.id/fullstack-developer-universitas-helsinki/</link><guid isPermaLink="false">https://topidesta.my.id/fullstack-developer-universitas-helsinki/</guid><category><![CDATA[react]]></category><category><![CDATA[github]]></category><pubDate>Thu, 11 Jun 2020 13:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah...&lt;/p&gt;
&lt;p&gt;Ini adalah postingan lain dari Belajar ReactJS yang diadakan oleh &lt;strong&gt;Department of Computer Science at the University of Helsinki in Spring 2020&lt;/strong&gt; (belajar dimusim semi 2020). Sebelumnya gw banyak share, dan beberapa gw ikutin pula, mulai dari ebook sanpai video ... karena kadang gw butuh pemahaman dasar dulu, misal gw baru belajar React Lifecycle, tetiba muncul Lifecycle baru bernama &quot;Hooks&quot; akhirnya gak lanjut cari pemahaman dasar dulu baru deh gw coba, meski belom gw lanjutin, karena lagi lagi kadang mood moodan, balik lagi ke topik ya.&lt;/p&gt;
&lt;p&gt;Di pelatihan yang diadakan oleh departemen komputer science, ada beberapa part, ada 9 part (beberapa katanya hasil update dari pelatihan di 2019) dan pelatihan ini jika kita mahasiswa disana, dijadikan bahan matakuliah yang punya bobot nilai, tapi tenang saja, kita juga bisa punya sertifikatnya kok, kalo gak salah baca ya, jadi dibaca secara berurutan, kalo gw masih di part0 masuk di part1.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Langsung ke halaman ini: &lt;a href=&quot;https://fullstackopen.com/en/about&quot;&gt;Fullstack Open&lt;/a&gt;, &lt;a href=&quot;https://studies.cs.helsinki.fi/stats/&quot;&gt;Laporan Progress&lt;/a&gt; dan &lt;a href=&quot;https://github.com/fullstack-hy2020/example-submission-repository&quot;&gt;Format Submit Laporan&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Yaps, sekarang tinggal kita fokuskan, sepertinya Pelajaran dari Univeristas Helsinki bakal gw ikutin ... soalnya ada target dan disubmit lalu direview oleh dosen dosen disana, membiasakan diri dengan pola belajar disana ya. Ganbatte!!&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Alternatif Anime Psycho Pass]]></title><description><![CDATA[Bismillah... Belakangan ini web langganan gw kalo mau nongton Psycho Pass 3 belum update lagi, katanya sih di Jepang lagi Lockdown jadi dihold juga nongtonya, alhamdulillah sih ada…]]></description><link>https://topidesta.my.id/alternatif-anime-psycho-pass/</link><guid isPermaLink="false">https://topidesta.my.id/alternatif-anime-psycho-pass/</guid><category><![CDATA[anime]]></category><pubDate>Fri, 29 May 2020 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah...&lt;/p&gt;
&lt;p&gt;Belakangan ini &lt;a href=&quot;https://kutt.it/kgWOxj&quot;&gt;web langganan&lt;/a&gt; gw kalo mau nongton &lt;strong&gt;Psycho Pass 3&lt;/strong&gt; belum update lagi, katanya sih di Jepang lagi Lockdown jadi dihold juga nongtonya, alhamdulillah sih ada alternatifnya, sumber &lt;a href=&quot;https://kutt.it/6ubq5t&quot;&gt;dari sini&lt;/a&gt; misalnya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Top Secret – The Revelation&lt;/li&gt;
&lt;li&gt;Ghost in the Shell: Stand Alone Complex&lt;/li&gt;
&lt;li&gt;No. 6&lt;/li&gt;
&lt;li&gt;Terror in Resonance&lt;/li&gt;
&lt;li&gt;Monster&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Kebetulan gw tertarik dengan nomor 2, &lt;strong&gt;Ghost in the Shell&lt;/strong&gt; di web langganan gw gak ada ternyata, akhirnya searching via google dapet juga alternatifnya di web &lt;a href=&quot;https://kutt.it/LjJ7kW&quot;&gt;ryuukoi.web.id&lt;/a&gt; dan &lt;a href=&quot;https://kutt.it/tbyJYX&quot;&gt;bakadame.org&lt;/a&gt;, dan ternyata ini anime bagus, rating diatas 7.5 dan udah lama juga dan berseries, hems, dimulai dari tahun 1995 - 2015, diantaranya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ghost in the Shell (1995) 📥&lt;/li&gt;
&lt;li&gt;Ghost in the Shell 2.0 (Remake GITS 1 - Produksi 2008) 📥&lt;/li&gt;
&lt;li&gt;Ghost in the Shell 2: Innocence 📥&lt;/li&gt;
&lt;li&gt;Ghost in the Shell: Stand Alone Complex 📥&lt;/li&gt;
&lt;li&gt;Ghost in the Shell: Stand Alone Complex 2nd GIG 📥&lt;/li&gt;
&lt;li&gt;Ghost in the Shell: Arise – Border:1 Ghost Pain 📥&lt;/li&gt;
&lt;li&gt;Ghost in the Shell: Arise – Border:2 Ghost Whispers 📥&lt;/li&gt;
&lt;li&gt;Ghost in the Shell: Arise – Border:3 Ghost Tears 📥&lt;/li&gt;
&lt;li&gt;Ghost in the Shell: Arise – Border:4 Ghost Stands Alone 📥&lt;/li&gt;
&lt;li&gt;Ghost in the Shell Arise Alternative Architecture 📥&lt;/li&gt;
&lt;li&gt;Ghost in the Shell (2015) 📥&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Genrenya keren juga: &lt;strong&gt;Action&lt;/strong&gt;, &lt;strong&gt;Mecha&lt;/strong&gt;, &lt;strong&gt;Military&lt;/strong&gt;, &lt;strong&gt;Police&lt;/strong&gt;, &lt;strong&gt;Sci-Fi&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Belajar ReactJS oleh Davidceddia]]></title><description><![CDATA[Bismillah... Kebetulan lagi baca buku penulis Davidceddia tentang PureReact, ya sekalian aja gw jadiin postingan, soalnya ada project sederhana yang bisa gw share dan gw sembari…]]></description><link>https://topidesta.my.id/belajar-purereact-oleh-davidceddia/</link><guid isPermaLink="false">https://topidesta.my.id/belajar-purereact-oleh-davidceddia/</guid><category><![CDATA[react]]></category><category><![CDATA[github]]></category><pubDate>Thu, 28 May 2020 13:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah...&lt;/p&gt;
&lt;p&gt;Kebetulan lagi baca buku penulis &lt;a href=&quot;https://daveceddia.com/pure-react/&quot;&gt;Davidceddia&lt;/a&gt; tentang PureReact, ya sekalian aja gw jadiin postingan, soalnya ada project sederhana yang bisa gw share dan gw sembari belajar juga, dengan konsep &lt;a href=&quot;konsep-belajar-atm-amati-tiru-modifikasi&quot;&gt;ATM (Amati-Tiru-Modifikasi)&lt;/a&gt; dan hasil ketikannya gw taro dihalaman ini&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;https://github.com/topidesta/purereact&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Baiklah, lanjut ya, ada catatan dari om david, ketika membuat sebuah komponen buat 4 langkah sederhana, yaitu&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Buat sebuah &lt;strong&gt;sketsa&lt;/strong&gt; (gw gunakan balsamiq mockup)&lt;/li&gt;
&lt;li&gt;Membagi sketsa tersebut ke &lt;strong&gt;komponen&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Tambahkan &lt;strong&gt;nama&lt;/strong&gt; untuk setiap komponen&lt;/li&gt;
&lt;li&gt;Baru tulis ke &lt;strong&gt;kode&lt;/strong&gt;!&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id=&quot;️komponen-twitter&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EF%B8%8Fkomponen-twitter&quot; aria-label=&quot;️komponen twitter permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;✔️Komponen Twitter&lt;/h2&gt;
&lt;p&gt;Baiklah, project pertama yaitu pembuatan komponen twitter&lt;/p&gt;
&lt;h3 id=&quot;1-buat-sebuah-sketas-dahulu&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-buat-sebuah-sketas-dahulu&quot; aria-label=&quot;1 buat sebuah sketas dahulu permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1. Buat sebuah sketas dahulu&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 648px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 56.36363636363636%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAACCElEQVR42p1TyY7aQBD1nTvfxEcgkeTMF/ApEwlxYRuWMIh9CSgkYvNMksEMMGI4YHYbLiDANuGlqxJnIuWWkp67qrq62q+qS/L7/YhEIggGgwgEAkgkEri7S6FYLKJcLqNUKiGZTCAej6NQKLDvb1SrVaRSKWSzWcRiMUihUAi5XI4TUdJkMsmoVCocTKjX6/+gVqsxKCklovhMJgNJURTouo7z+Yz9fo/FYsF4mUwwnaqYz+dQZypm8xnrtKeqKmM6nbK93W6xXq8xGAwgkULidrsRjUZhS7vdZvSVHrpdGePxGL3eIx57yp+Y59GzSPKEZrMJ07I4sUSf1WoFh8MBr9fLgZfLBZZlwjDO/OcEwzDEarBui2maMIVf03S2NU2DRAE+nw+SJMHpdKLf7/PmSvz5crnEgigLeqTTxbquMdXNZi2giXLMcDydXhMeDgeEw2G4XC54PB4+TEL16HQ6omFZtFotPDzc4+u37xgOh6IZHyHLXdGcGj6IDm93u9eEdCvJ9XrF/4p9drPZQKIukYOoU02ofiRPgvr4ZcL6TtRZlmVYlx84HPZ4f3MD5XdpToIulYOE2Em2Yd9ir/fdDhqfv/yi31dwextj3TINvHv7Bs12l+3j8YjRaMQ6PSuJpoQmIJ/P83QQaDrIRw+e/PRgCWQTGp8aIqaIdDrNE0KxdI4G4yeyHP9n5DXQvwAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;twitterkomponen&quot;
        title=&quot;&quot;
        src=&quot;/static/a983ca7cc4c415eb90d0e7a7ec55b696/244f0/twitterkomponen.png&quot;
        srcset=&quot;/static/a983ca7cc4c415eb90d0e7a7ec55b696/103f2/twitterkomponen.png 165w,
/static/a983ca7cc4c415eb90d0e7a7ec55b696/748ba/twitterkomponen.png 330w,
/static/a983ca7cc4c415eb90d0e7a7ec55b696/244f0/twitterkomponen.png 648w&quot;
        sizes=&quot;(max-width: 648px) 100vw, 648px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;2-bagi-bagi-sketsa-dengan-pewarnaan&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2-bagi-bagi-sketsa-dengan-pewarnaan&quot; aria-label=&quot;2 bagi bagi sketsa dengan pewarnaan permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2. Bagi-bagi sketsa dengan pewarnaan&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 648px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 56.36363636363636%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAAChUlEQVR42pWTy08TURjF568zJm5cunapaxIT484YY1Tic6ERMdpSpbQ8OnSmUyjFFEQSXxgqFNppZ+hjZqBlSjttaefnZTDGrV/m5NzvfCfnZm7ulSYmJohMTREKvWPy9QTRaJS5uVlUVSWV0gSniM3MMD0dJZlUhJZC07S/SKfTzMbjyLIsPNNI4XCYpKoxt5Dg/YcosfgssVhMmNNkMkusrCwLrATIZrOsrmbJinUmkyEjWEsvERX+9PIyCREqbX3/Rq30i6q+R62YxywVqNZqlMslCgWdnR2dSrmCYRjoeoXCXlnMRG+aGLqOWSzSELO6USG/vY10IEJa62/ZenON/ZlbdAo5zurTRgNZqaNqFh/XbDY2m+TWD8mtOXT7wlCrMJgNMZifohN5BRsfcep1pErhJ7XMC1bvX+L762s4m3GGgz72IdiOT7Plc9REMBy3wetxXl6f0eExvuvRsxzRd7EtC6la2iUfGWPl3kVy45cxtOeM+h0GXp6+m6PnrgkIbp/xOp67Qfd4k15nm563g9f5wempFexh2zaS1WigK+N8fnqFLy+vYqaeMew4tA5COMUH1Pfv4JTGOdQfcWQ8oWk8x96/J/qHQr9LffcmJ/ZSEOg4IrDRsBi5Fl1zG6+6Q/cgz+i0z/+U7/sBW8EvV6tBMxJiIPtnn8/JQpOTpaZYjfB+uhypDYajIQOnR/2xTvtrKzD3y13ceRs6UDkwkGriivy7C3+oPWbh3j4/G/elTf16EX8o4o0BpQtbtLVWMBt87nJ0wwQDzIaJFIlEUBRFvIJk8DpURUATiCso80lkdZFURGV5UkNelJETMuqM0BcTLCQWSMwnUMKLqLJCKBziN3MZASD1mDQkAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;twitterkomponen&quot;
        title=&quot;&quot;
        src=&quot;/static/b8c6c77bce3d83600aa164c1dec67b4a/244f0/twitterkomponen2.png&quot;
        srcset=&quot;/static/b8c6c77bce3d83600aa164c1dec67b4a/103f2/twitterkomponen2.png 165w,
/static/b8c6c77bce3d83600aa164c1dec67b4a/748ba/twitterkomponen2.png 330w,
/static/b8c6c77bce3d83600aa164c1dec67b4a/244f0/twitterkomponen2.png 648w&quot;
        sizes=&quot;(max-width: 648px) 100vw, 648px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;3-kita-berikan-nama-setiap-komponen&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3-kita-berikan-nama-setiap-komponen&quot; aria-label=&quot;3 kita berikan nama setiap komponen permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3. Kita berikan nama setiap komponen&lt;/h3&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 55.757575757575765%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsTAAALEwEAmpwYAAACAUlEQVR42n1S2W7aQBTly/oblfoR/YK+VOpTH/qQSv2CSlWaTWoSCDbB1DGLl9jsS8AYsAfjHXuw64I97kCiqrz0PNy50ujqnHvOzWXHQAjhalmWLMu4Zv9FLk1T/Diuy7KNRr1WqzKPgtBosDT9QFUqDFOVpFYTQ5KaoihwnCAIjuM80+SeqTRVPb+4PL+6/vrt9PvZGUEUCCJPknel0h1VJkmiWLwvEz/py9v8j5tbVVVfhrE2AMBUmYFxZyGSoE271mr0pDLMU6s9H400qTkHS9OZDAz2weKq2rDf6w+WACRJksMaTMMAumG0y+KXN5OLdwia8izr9JKxnE4UNJ2heIe1gaTV3YlCrANtqcMg2A9ne9kIRr9X4g314RX3+XWo9rZRJ14XYp+IPWK7oUKbCgNuE7FJYmOLXNf9d2fkw9DXhnL+k1I8iZbDOO34biHwSuGGhk4ljO+hW/TNq82vUQBDRZmu1+sgCF4M8zwPyzhktS+phJCVIS/bTvdZRJVt6qMszHbtXbpLBsPhYrFQFCX3N1hd1y3TwPvbvq287wNqpl3L449dc7XqvuXV5kxvq/OTkb7Qbcc+igozc4cMeZ7nWK4m1DmRE3ihztQ4nuNbAs3Q/CPP8ixJkoZh4Os4GHZ8XtgM/Gdb9qHBrKsoigI/wA2EMAxD+wCcLoTwD5GsSPIztJsAAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;twitterkomponen&quot;
        title=&quot;&quot;
        src=&quot;/static/10bc1e48ebf050b971c5270532017120/7c811/twitterkomponen3.png&quot;
        srcset=&quot;/static/10bc1e48ebf050b971c5270532017120/103f2/twitterkomponen3.png 165w,
/static/10bc1e48ebf050b971c5270532017120/748ba/twitterkomponen3.png 330w,
/static/10bc1e48ebf050b971c5270532017120/7c811/twitterkomponen3.png 660w,
/static/10bc1e48ebf050b971c5270532017120/e7448/twitterkomponen3.png 900w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Setiap nama akan menjadi komponen, dan &lt;strong&gt;A Web Page&lt;/strong&gt; akan menjadi &lt;em&gt;parent component&lt;/em&gt; dari semuanya, terdiri dari:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A Web Page
&lt;ul&gt;
&lt;li&gt;Avatar&lt;/li&gt;
&lt;li&gt;Author&lt;/li&gt;
&lt;li&gt;Time&lt;/li&gt;
&lt;li&gt;Message&lt;/li&gt;
&lt;li&gt;ReplyButton&lt;/li&gt;
&lt;li&gt;RetweetButton&lt;/li&gt;
&lt;li&gt;LikeButton&lt;/li&gt;
&lt;li&gt;MoreOptionButton&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Lanjut kita bangun masuk fase ke-4.&lt;/p&gt;
&lt;h3 id=&quot;4-mulai-koding&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#4-mulai-koding&quot; aria-label=&quot;4 mulai koding permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;4. Mulai Koding!&lt;/h3&gt;
&lt;p&gt;Kita bisa menentukan tehnik, &lt;strong&gt;(Top - Down) atau (Bottom - Up)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Misalkan kita buat dari Top ke Down, #1: Buat komponen &lt;em&gt;Web Page&lt;/em&gt;, lalu buat komponen children, seperti avatar, author, time dan seterusnya.&lt;/p&gt;
&lt;p&gt;Misalkan kita buat dari Bottom ke Up, #2: Buat komponen avatar, author, time dan digabungkan, dicek lalu gabung dengan komponen &lt;em&gt;Web Page&lt;/em&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Untuk hirarki yang sederhana, mana aja sih bisa, tapi kalo yang ruwet bisa dimulai dari bawah, buat dari yang terkecil lalu bungkus dan gabungkan dengan komponen lainnya dan juga mempermudah ujicoba dengan tools Jest dan Enzyme.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Untuk source ada di branch tweet:&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;https://github.com/topidesta/purereact/tree/tweet&lt;/code&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;️komponen-list-github&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EF%B8%8Fkomponen-list-github&quot; aria-label=&quot;️komponen list github permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;✔️Komponen List Github&lt;/h2&gt;
&lt;p&gt;Baiklah, Contoh dari Project Twitter kita melakukan 4 langkah, diantaranya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Mulai dengan Skema/ Sketsa/ Mockup&lt;/li&gt;
&lt;li&gt;Bagi kebeberapa bagian komponen&lt;/li&gt;
&lt;li&gt;Beri nama komponen tersebut&lt;/li&gt;
&lt;li&gt;Mulai bangun!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Kurang lebih tampilannya (mockup) akan seperti dibawah ini&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 35.151515151515156%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA0ElEQVR42nVQ2WrEMBDL//9koUtJN7D2+JrDZ5VAXzatEGbs0ViDto/H/jjC55O+Xnl3xfEItkjvnEdQ8Em6E3979qVtB6kLWayKNWtda09FcbYx32htQACyVkpFtG5UuqiuNdeF1loIQUSulzcCc4wBTUzZzDYWJSJUv8M9pqSqc64/qWrQpJwVwyIKq8I8L+DXjIba/Aei1nsvhc0qnMU5F2JEA861VqLALOeKN2Bn6OFJEdvZFnN5ecqMkM7AkIOniPxwvbOwUDzT9QFz8gNcbZfwixd/IgAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;purereactgithub&quot;
        title=&quot;&quot;
        src=&quot;/static/cc62abeaf308b8c64e49485379555879/7c811/purereact-github.png&quot;
        srcset=&quot;/static/cc62abeaf308b8c64e49485379555879/103f2/purereact-github.png 165w,
/static/cc62abeaf308b8c64e49485379555879/748ba/purereact-github.png 330w,
/static/cc62abeaf308b8c64e49485379555879/7c811/purereact-github.png 660w,
/static/cc62abeaf308b8c64e49485379555879/4a2a8/purereact-github.png 912w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Selanjut kita bagi kebeberapa bagian, seperti ini&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 35.151515151515156%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAA7DAAAOwwHHb6hkAAABfklEQVR42lWR207cQBBE/f8/FOWNSOQBQQgBFpbF7BXbux5fx3Ozx/bJLEmQMlKppeqeKnV1tMlyDpUiPjUsE8HDOmGVFKTSkLaap23Ga1qQtQY5QXvGDMJNCOPJtecoe45dT21Gouo5pry9Y/nlK/uLb7T3jzQ3t3ShHu/uOVxdY1/fMLsDZv+OWq6QP39RX/+geVjQxWvkZkfz+IStW6K6NjjZwDjgmgad57iqohUnrJKBH5m1YlAdOvBaCPqiYGpbRinxWtOHnhQ5vTVEyjjywrF4XnNIEqogarVD5ZquUCRpRhZMyromL0tEEFXG8O8N3uOnmc6N9ENY2dqe3c6yWQumyf8ZUj1yVdPEFcfsyDAMoTd9inRdhw9CdTBJ0hPFe4jpcIkSL0RlURHHL2z3W4QQHx/Prk1Y1/TuU2SeZ6aAc7XWfsydccrDAfcLmuQGVb4RXabfWe1C6HbA9iFHP6KtC+4S6/5yg/8PfZg5Q4e4Om0YxpkqbKWc5zd6LRNjZWx2ewAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;purereactgithubkomponen&quot;
        title=&quot;&quot;
        src=&quot;/static/d0a66f425314764ef434e4023cdc4a5b/7c811/purereact-github-komponen.png&quot;
        srcset=&quot;/static/d0a66f425314764ef434e4023cdc4a5b/103f2/purereact-github-komponen.png 165w,
/static/d0a66f425314764ef434e4023cdc4a5b/748ba/purereact-github-komponen.png 330w,
/static/d0a66f425314764ef434e4023cdc4a5b/7c811/purereact-github-komponen.png 660w,
/static/d0a66f425314764ef434e4023cdc4a5b/4a2a8/purereact-github-komponen.png 912w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Selanjutnya kita berinama dalam bentuk hirariki (top-to-down)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;fileList
&lt;ul&gt;
&lt;li&gt;fileListItem
&lt;ul&gt;
&lt;li&gt;fileName
&lt;ul&gt;
&lt;li&gt;fileIcon&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;commitMessage&lt;/li&gt;
&lt;li&gt;Time&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Penjelasan:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;fileList&lt;/strong&gt; akan mengambil sebuah &lt;em&gt;prop&lt;/em&gt; dari sebuah objek array.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;fileListItem&lt;/strong&gt; akan mengambil sebuah objek tunggal sebagai prop file, yang punya nama, tipe, commit, dan modifikasi terakhir.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;fileName&lt;/strong&gt; akan mengambil sebuah objek file dan diharapkan memiliki sebuah properti nama.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;fileIcon&lt;/strong&gt; akan mengambil sebuah objek menggunakan properti type dimana akan dimunculkan sebuah icon.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;commitMessage&lt;/strong&gt; akan menambilkan sebuah objek pesan commit dan diharapkakn memiliki sebuah properti pesan.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time&lt;/strong&gt; akan menjadi sebuah string, dimana akan digunakan berulangkali disetiap komponen.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Untuk Project dasar, copy-paste, file index.html di &lt;a href=&quot;https://github.com/topidesta/purereact/tree/twitter&quot;&gt;branch twitter&lt;/a&gt; untuk setup awal dengan &lt;em&gt;Font Awesome&lt;/em&gt; dan sekaligus ubah nama &amp;#x3C;&lt;em&gt;title&lt;/em&gt;&gt; atau terserah anda deh.&lt;/p&gt;
&lt;p&gt;Untuk source ada di branch github:&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;https://github.com/topidesta/purereact/tree/github&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Sebelum masuk ke Komponen Shooping, Om David memberikan sedikit tugas (latihan) tambahan, semuanya sama seperti kode sebelumnya, hems... menarik. Untuk melihatnya bisa akses di halaman ini:&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;https://github.com/topidesta/purereact/tree/latihan&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Silahkan buka foldernya, karena masing masing sudah berdasarkan project latihan tambahan.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;komponen-shooping&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#komponen-shooping&quot; aria-label=&quot;komponen shooping permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;❌Komponen Shooping&lt;/h2&gt;
&lt;hr&gt;
&lt;p&gt;&lt;a href=&quot;&quot;&gt;TOOLS&lt;/a&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;VSCodium&lt;/li&gt;
&lt;li&gt;Balsamiq Mockup Desktop&lt;/li&gt;
&lt;li&gt;GIMP&lt;/li&gt;
&lt;/ol&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Dashboard Template with ReactJS Support]]></title><description><![CDATA[Bismillah... Berikut ini daftar Template Gratis untuk React Developer gw dapet dari Github, lumayan bisa dimanfaatkan disetiap Project, Jangan Pernah Menghapus COPYRIGHT kalo mau…]]></description><link>https://topidesta.my.id/template-dashboard-for-reactjs/</link><guid isPermaLink="false">https://topidesta.my.id/template-dashboard-for-reactjs/</guid><category><![CDATA[github]]></category><category><![CDATA[template]]></category><category><![CDATA[themes]]></category><pubDate>Tue, 19 May 2020 05:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah...&lt;/p&gt;
&lt;p&gt;Berikut ini daftar &lt;strong&gt;Template Gratis untuk React Developer&lt;/strong&gt; gw dapet dari Github, lumayan bisa dimanfaatkan disetiap Project, Jangan Pernah Menghapus &lt;strong&gt;COPYRIGHT&lt;/strong&gt; kalo mau dihapus, beli/ hubungi authornya. OKE!&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/flatlogic/react-dashboard.git&quot;&gt;https://github.com/flatlogic/react-dashboard.git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/DesignRevision/shards-dashboard-react.git&quot;&gt;https://github.com/DesignRevision/shards-dashboard-react.git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/JSLancerTeam/crystal-dashboard.git&quot;&gt;https://github.com/JSLancerTeam/crystal-dashboard.git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/creativetimofficial/argon-dashboard-react.git&quot;&gt;https://github.com/creativetimofficial/argon-dashboard-react.git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/DesignRevision/shards-react.git&quot;&gt;https://github.com/DesignRevision/shards-react.git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Raathigesh/Dazzle-Starter-Kit.git&quot;&gt;https://github.com/Raathigesh/Dazzle-Starter-Kit.git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/webkom-co/airframe-next.git&quot;&gt;https://github.com/webkom-co/airframe-next.git&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;bonus&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bonus&quot; aria-label=&quot;bonus permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bonus&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/reduction-admin/react-reduction.git&quot;&gt;https://github.com/reduction-admin/react-reduction.git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/flatlogic/react-material-admin.git&quot;&gt;https://github.com/flatlogic/react-material-admin.git&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Upgrade Package NodeJS di Github]]></title><description><![CDATA[Bismillah... Kebetulan kita project belajar gw ada notif error getu, kayak gini:
 Alhasil kita harus install ulang modules yang di node, disini gw pake yarn sebagai package manager…]]></description><link>https://topidesta.my.id/upgrade-package-nodejs-di-github/</link><guid isPermaLink="false">https://topidesta.my.id/upgrade-package-nodejs-di-github/</guid><category><![CDATA[github]]></category><category><![CDATA[yarn]]></category><pubDate>Sun, 03 May 2020 09:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah...&lt;/p&gt;
&lt;p&gt;Kebetulan kita project belajar gw ada notif error getu, kayak gini:
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 9.090909090909092%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAACCAYAAABYBvyLAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAX0lEQVR42nWMOw6AIBAFuf/p/EKlUSPtIoug8fckaKnFZKoZwZTBmRKOisemAFOOxSnMUwVvJc6tw7X33xwDHGsYo0E0Qnhbx1imMLCKyMSxttjXJvl39hK8Bscp2xE3tVuXclcipBoAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;warninggit&quot;
        title=&quot;&quot;
        src=&quot;/static/4269c5662f18f5a9d37f367d36e59c64/7c811/gitwarning.png&quot;
        srcset=&quot;/static/4269c5662f18f5a9d37f367d36e59c64/103f2/gitwarning.png 165w,
/static/4269c5662f18f5a9d37f367d36e59c64/748ba/gitwarning.png 330w,
/static/4269c5662f18f5a9d37f367d36e59c64/7c811/gitwarning.png 660w,
/static/4269c5662f18f5a9d37f367d36e59c64/d28e0/gitwarning.png 990w,
/static/4269c5662f18f5a9d37f367d36e59c64/45359/gitwarning.png 999w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Alhasil kita harus install ulang modules yang di node, disini gw pake yarn sebagai package manager.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-rf&lt;/span&gt; node_modules .yarn-lock&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Kalo udah, install deh dengan perintah &lt;code class=&quot;language-text&quot;&gt;yarn -i&lt;/code&gt;
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 434px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 27.272727272727277%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA+UlEQVR42lWQ207FIBBF+yxwgLRHa6KWAuXS67Ht///adoomJz6sDAzsyYLKuQ7TkvFpvmBsh+beoL7XeHtvoWsNJhiE5JBCPKG9Vhw3QdyeSKJy8YEPM8L7AWPOyIR3Ho4YvIeSCuyFgXEOxtgfvMD/9Rg49areUpiCMViknJDHXGqIAed5IKUMrTUZ3ApKqVKvYZxsS19KMlYQZFzN8RXeaAy2oSGJzBwssSxLsW3b9tc2BDqPmKYJpjPl3iVy1ZyvF3rYvkN17N9YKRwpsMwT5mmEsz1mWi/zSJcMzmPHtq0IwVM40dck7PsD27piP65XRMpYDK7HD1bohZvrUcNzAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;yarninstall&quot;
        title=&quot;&quot;
        src=&quot;/static/03bed446ea3de5ec04616d17ddb5fff1/66227/yarninstall.png&quot;
        srcset=&quot;/static/03bed446ea3de5ec04616d17ddb5fff1/103f2/yarninstall.png 165w,
/static/03bed446ea3de5ec04616d17ddb5fff1/748ba/yarninstall.png 330w,
/static/03bed446ea3de5ec04616d17ddb5fff1/66227/yarninstall.png 434w&quot;
        sizes=&quot;(max-width: 434px) 100vw, 434px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Done!&lt;/p&gt;
&lt;p&gt;Simple kan.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://itnext.io/fixing-security-vulnerabilities-in-npm-dependencies-in-less-than-3-mins-a53af735261d&quot;&gt;SOURCE&lt;/a&gt;&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Konsep Belajar "ATM"]]></title><description><![CDATA[Bismillah... Buat yang sering baca blog gw mungkin udah tau, gw cuman developer abal-abal .. jadi cara belajar gw bukan menaiki tangga, tapi menuruni tangga.  Gw belajar dari…]]></description><link>https://topidesta.my.id/konsep-belajar-atm-amati-tiru-modifikasi/</link><guid isPermaLink="false">https://topidesta.my.id/konsep-belajar-atm-amati-tiru-modifikasi/</guid><category><![CDATA[atm]]></category><pubDate>Thu, 23 Apr 2020 09:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah...&lt;/p&gt;
&lt;p&gt;Buat yang sering baca blog gw mungkin udah tau, gw cuman developer abal-abal .. jadi cara belajar &lt;strong&gt;gw bukan menaiki tangga, tapi menuruni tangga&lt;/strong&gt;.  Gw belajar dari Kodingan Orang, saat skripsi (waktu kuliah) gw belajar PHP dengan lebih dahulu belajar manual book Codeigniter dan bongkar codingan/ tutorial codeigniter diblog atau di github, kalo gak tau cari manual book di php atau googling, intinya gw mau tau logic alur proses, dan boom, gw bisa ikutin pola itu, yaps, pertama gw amati, gw tiru, gw ubah sesuai kebutuhan gw.&lt;/p&gt;
&lt;p&gt;Saat belajar ReactJS pun sama, kebetulan gw pengen buat aplikasi pencarian dokter, kebetulan gw udah buat backend, yang sebelumnya backend gw ada yang bikin &lt;strong&gt;sql injection&lt;/strong&gt; alhasil bikin server lemot dan sekarang udah gw buat authenticaton header setiap akses endpoint api backend.&lt;/p&gt;
&lt;p&gt;Karena konsep belajar gw itu &lt;strong&gt;ATM&lt;/strong&gt; jadi gak ada yang istimewa, apa bisa dibilang plagiator? ya bisa juga, jika gw publish aplikasi gw hanya pada tahap &lt;strong&gt;tiru&lt;/strong&gt; dan tidak merubah, ouh iya, meski dirubah, kadang kalo aplikasi tersebut memiliki semacam &lt;strong&gt;LICENSE&lt;/strong&gt; gw ikuti, minimal menambahkan link aselinya. :)&lt;/p&gt;
&lt;p&gt;Biasanya sumber sourcecode &lt;strong&gt;TIRU&lt;/strong&gt; dari Github atau &lt;a href=&quot;https://topidesta.my.id/daftar-website-penyedia-script-nulled/&quot;&gt;nulled source code&lt;/a&gt; ... gw amati, tiru, lalu &lt;strong&gt;MODIFIKASI&lt;/strong&gt; dengan style coding gw, terus kalo mau pake FULL sourcecode nullednya, YA BELI LAH!!... Alhamdulillah, setiap Goal Project gw selalu order Sourcecode yang gw Tiru di Themeforest. Karena Prinsip gw &lt;strong&gt;BERBAGI REZEKI&lt;/strong&gt; .. hehe.&lt;/p&gt;
&lt;p&gt;more info 👉 &lt;a href=&quot;https://topidesta.my.id/projek#aplikasi-akses-publik&quot;&gt;Klik https://topidesta.my.id/projek&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Dana Tiket KAI 100% Kembali]]></title><description><![CDATA[bismillah Kebetulan baca berita online danjuga dikasih tau Istri, bahwa Tiket Mudik bisa dikembalikan full 100% tanpa potongan 25% seperti biasa, alhasil gw cari info dan langsung…]]></description><link>https://topidesta.my.id/pengembalian-dana-kai-full/</link><guid isPermaLink="false">https://topidesta.my.id/pengembalian-dana-kai-full/</guid><category><![CDATA[covid19]]></category><pubDate>Sat, 28 Mar 2020 10:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;Kebetulan baca berita online danjuga dikasih tau Istri, bahwa Tiket Mudik bisa dikembalikan full 100% tanpa potongan 25% seperti biasa, alhasil gw cari info dan langsung hubungi KAI untuk cari kebenarannya, gw coba email ke alamat ini &lt;code class=&quot;language-text&quot;&gt;cs@kai.id&lt;/code&gt; Pada tgl 25 Maret 2020 dan dibalas kembali pada tanggal 28 Maret 2020 dengan email pengirim &lt;code class=&quot;language-text&quot;&gt;kontak_pelanggan@kai.id&lt;/code&gt;, berikut isinya:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;email&quot;&gt;&lt;pre class=&quot;language-email&quot;&gt;&lt;code class=&quot;language-email&quot;&gt;Dear,

Bukankah pembatalan di masa pandemi corona tidak ada potongan sebesar 25%?

Mohon kejelasan informasi.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;itu gw kirim ke &lt;code class=&quot;language-text&quot;&gt;cs@kai.id&lt;/code&gt;, dan dapat balasan seperti ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;Yth. Bapak Muchamad,

Terima kasih atas pertanyaan yang Bapak Muchamad sampaikan. Terhitung sejak tanggal 23 Maret 2020, tiket untuk keberangkatan 23 Maret-29 Mei 2020 jika dibatalkan maka dana akan dikembalikan 100%.

Untuk proses pembatalan tiket dapat dilakukan di stasiun online (stasiun yang melayani proses pembatalan tiket) paling lambat 1 jam sebelum keberangkatan kereta dengan membawa bukti tiket asli, identitas asli dan fotokopi identitas penumpang. Berikut langkah-langkahnya:

• Prosesnya dilakukan di stasiun online yang melayani pembatalan, paling lambat 1 jam sebelum keberangkatan sudah ada di depan loket.
• Mengisi formulir pembatalan.
• Melampirkan identitas asli, fotokopi identitas dan tiket/boarding pass asli.
• Untuk pembatalan yang dilakukan jauh-jauh hari (di luar batas 7x24 jam sebelum keberangkatan) yang dilakukan di stasiun yang sudah memiliki mesin CIC (Check In Counter) maka tidak perlu melampirkan tiket fisik. Cukup langsung ke loket pembatalan melampirkan identitas asli, fotokopi identitas dan kode booking.
• Apabila diwakilkan maka melampirkan surat kuasa bermaterai dari pemilik tiket kepada pemohon untuk melakukan pembatalan tiket beserta fotokopi bukti identitas pemberi kuasa dan yang dikuasakan.
• Jika pemohon pembatalan adalah turis asing maka yang dilampirkan adalah paspor dengan nama yang tertera pada tiket (pengembalian dana langsung secara tunai).
• Jika tiket yang dibatalkan lebih dari satu penumpang namun dengan kode booking yang sama, maka fotokopi bukti identitas dan surat kuasa yang dilampirkan cukup salah satu dari penumpang dimaksud. Jika masih dalam 1 kode booking dan yang bersangkutan juga batal berangkat, maka tidak perlu surat kuasa. Apabila yang hendak membatalkan tetap berangkat walaupun dalam 1 kode booking maka harus dilengkapi surat kuasa.
• Apabila memilih cara tunai untuk pengembalian uang pembatalan tiket, maka di tanggal yang sudah ditentukan penumpang mengambil uangnya ke loket yang sudah ditentukan (seperti yang tertera di formulir pembatalan). Jika diwakilkan silakan membawa surat kuasa bermaterai 6000, formulir pembatalan, fotokopi identitas dan identitas asli atas nama penumpang yang dibatalkan tiketnya.
• Refund secara tunai akan memerlukan waktu 30 hari terhitung setelah tanggal pembatalan.
• Apabila memilih refund secara transfer, mohon membawa atau mencantumkan nomor rekening dan nomor telepon yang dapat dihubungi. Untuk proses pengembalian dana secara transfer akan membutuhkan waktu 30-45 hari.
• Sejak tanggal 01 Juli 2016, pengembalian bea tiket yang dibatalkan secara transfer, ditetapkan rekening bank yang dapat digunakan adalah Bank Mandiri, BRI, BCA, BNI, CIMB Niaga.

Silakan Bapak sebutkan ingin melakukan pembatalan tiket di stasiun mana, agar dapat kami informasikan jam operasional loketnya.

Untuk alternatif lain, pembatalan juga dapat dilakukan melalui aplikasi KAI Access. Berikut langkah-langkah pembatalan melalui aplikasi KAI Access:


• Nomor identitas pengguna yang melakukan login harus termasuk dalam data penumpang pada kode booking yang akan dibatalkan. Nomor identitas pengguna juga harus sama dengan yang ada di dalam tiket.

• Dapat dilakukan paling lambat 3 jam sebelum jadwal keberangkatan kereta. Untuk sistem operasi Android adalah versi 4.3.0 dan setelahnya. Untuk sistem operasi iOS adalah versi 25.0 dan setelahnya. Kode booking yang dimiliki harus berstatus &quot;Paid&quot;, serta belum dicetak sebagai boarding pass. Jika kurang dari 24 jam maka proses pembatalan hanya dapat dilakukan di loket stasiun online.

• Status pemesanan telah lunas dibayarkan.

• Pada halaman utama KAI Access pilih menu &quot;Tiket/My Ticket&quot; atau &quot;Pembatalan/Cancellation&quot;.

• Jika sudah memilih menu &quot;Tiket/My Ticket&quot; atau &quot;Pembatalan/Cancellation&quot; silahkan pilih kode booking yang akan dilakukan pembatalan.

• Pada tampilan E-Ticket pilih nama yang akan dilakukan proses pembatalan, dengan mencentang kolom yang ada pada samping kanan nama penumpang lalu pilih &quot;Pembatalan/Cancellation&quot;.

• Pada halaman pembatalan, beri tanda centang untuk penumpang yang akan dibatalkan, lalu isi data:

- Bank Account Name diisi dengan nama pemilik rekening.

- Bank Account Number diisi dengan nomor rekening.

- Penumpang dapat memilih salah satu dari 5 bank yang melayani refund yaitu: Bank Mandiri, BNI, BRI, BCA, dan CIMB Niaga. Klik kolom persetujuan untuk melanjutkan transaksi lalu klik &quot;Lanjut/Next&quot;.

• Pada halaman konfirmasi pembatalan akan muncul data perjalanan, akun bank yang digunakan untuk proses refund, serta jumlah pengembalian dana refund. Jika sudah sesuai semua, klik &quot;Batalkan Tiket/Cancel Ticket&quot;.

• Proses pembatalan berhasil dilakukan dan pemesanan akan masuk ke menu Histori.

• Untuk pengembalian dana refund secara transfer akan memerlukan waktu 30-45 hari. Silakan menunggu hingga jangka waktu tersebut, jika setelah 45 hari dana belum diterima silakan konfirmasi kembali kepada kami. Apabila refund telah dilakukan transfer, maka akan ada SMS ke nomor handphone yang dicantumkan saat proses pembatalan.

Demikian kami sampaikan. Apabila Bapak Muchamad masih membutuhkan informasi atau memiliki saran, keluhan mengenai layanan PT. KAI, Bapak dapat menghubungi Contact Center 121 (layanan 24 jam) di nomor telepon 121/021-121 atau email ke kontak_pelanggan@kereta-api.co.id, akun Twitter: @kai121 dan Facebook: KAI121. Atas kerja sama yang baik kami ucapkan terima kasih.


&quot;Anda adalah Prioritas Kami&quot;

Salam Hormat,

Customer Relation &amp;amp; Digital Community 121

PT Kereta Api Indonesia (Persero)

Telepon : 121 / +6221-121

KAI121 | @KAI121 | www.kereta-api.co.id&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;itu pengirimnya &lt;code class=&quot;language-text&quot;&gt;kontak_pelanggan@kai.id&lt;/code&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Tunggu, ada point yang utama agar dapat 100% FULL, diantaranya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;23 Maret-29 Mei 2020&lt;/strong&gt; Itu Range Tanggal Tiket Keberangkatan yang bakal REFUND FULL 100%&lt;/li&gt;
&lt;li&gt;Prosesnya Wajib Dateng &lt;strong&gt;Ke Loket Pembatalan&lt;/strong&gt; (Di Stasiun Gambir Tersedia). 😪😪😪&lt;/li&gt;
&lt;li&gt;Tersedia Pengembalian &lt;strong&gt;Tunai&lt;/strong&gt;, lebih cepat, 30 HARI saja, Jika &lt;strong&gt;Transfer&lt;/strong&gt; 30-45 HARI.&lt;/li&gt;
&lt;li&gt;Alternatif Retrun Melalui Aplikasi KAI Access.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ohya, untuk melalui aplikasi KAI masih ada catatan 25% potongan, jadi gw masih confirmasi dulu ke mereka, karena kalo melalui Loket Pengembalian di Gambir, gw ngeri ngeri sedap dengan Pandemi Covid19 ini.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/e533c994f027c651a60f49a3b7aebfef/batalkaiaplikasi.jpg&quot; alt=&quot;withhooks&quot;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;update&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update&quot; aria-label=&quot;update permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;UPDATE&lt;/h3&gt;
&lt;p&gt;Yes, Ternyata 25% adalah perubahan Jadwal, sedangkan di TOS &lt;em&gt;Syarat dan ketentuan pembatalan daring&lt;/em&gt; dijelaskan dan sudah tertulis, jadi FULL 100% gw terima, kurang lebih 30-45 hari kerja, dengan katalain 2bulan kemudian.&lt;/p&gt;
&lt;p&gt;Ini bukti pembatalannya: :) :) :)&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/47111c227a35a4da21794db329042c36/kaibatal1.jpg&quot; alt=&quot;withhooks&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/25a60164669379225bb51c595d014925/kaibatal2.jpg&quot; alt=&quot;withhooks&quot;&gt;&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Membagi Komponen Pencarian Dokter]]></title><description><![CDATA[bismillah Kebetulan lagi melanjutkan Project yang senpet tertunda, belajar ReactJS selama 30 hari, ya itu hasil translate manual gw sendiri, sekalian gw juga belajar, sebelumnya gw…]]></description><link>https://topidesta.my.id/membagi-komponen-pencarian-dokter/</link><guid isPermaLink="false">https://topidesta.my.id/membagi-komponen-pencarian-dokter/</guid><category><![CDATA[react]]></category><category><![CDATA[30hari]]></category><pubDate>Wed, 25 Mar 2020 10:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;Kebetulan lagi melanjutkan &lt;a href=&quot;projek&quot;&gt;Project&lt;/a&gt; yang senpet tertunda, belajar ReactJS selama 30 hari, ya itu hasil translate manual gw sendiri, sekalian gw juga belajar, sebelumnya gw tulis dengan format doc/ dokumen word, tapi kurang sreg, akhirnya gw pake tools dokumentasi &lt;code class=&quot;language-text&quot;&gt;docusaurus&lt;/code&gt;, bisa diakses dihalaman ini: &lt;a href=&quot;https://30hari.netlify.com/&quot;&gt;30 Hari Belajar ReactJS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pas dihari ke-4, ada pembahasan mengenai komponen &lt;strong&gt;parent&lt;/strong&gt; dan komponen &lt;strong&gt;child&lt;/strong&gt; kebetulan di mockup pencarian dokter, belum gw bahas hehehe. ya kesempatan deh gw bisa bahas, kalo mau liat postingannya silahkan cek postingan &lt;a href=&quot;mockup-design-aplikasi-pencarian-dokter&quot;&gt;mockup-design-aplikasi-pencarian-dokter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Postingan kali ini kita fokus untuk membagi bagi komponen-komponennya, pada halaman depan misalkan, bisa kita pecah komponen child menjadi 5, sebagi berikut:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 79.39393939393939%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAAAsTAAALEwEAmpwYAAADD0lEQVR42l2Uy5PaRhDG9b/7kMrBlUsqlS1nwSwgHrssQkjoLdALCTR6DILdqviWcsrleCsH5+RcPrcGL1nn8Kue7vm6exg1I/X7fdzdTTEY3girKPdYrbQzxpnp7RiT6RgGrQ1Dv/C8r6pzLFQF4/EE0qAvYzJSIQ/ngtuphsXCxkKxsVw4Z1QfhubT2qW1C031LuhLH/OZifuZhtlsBul2FMBecbhWCdcs4RgF+ezCzazEzyOGxXIvfOv/6KQzGDSFwzQ8SLNpgLIsUR/2qHkuqIjmkMPKGKZhjlEU4zY1weoMnBekZRcqznA45dh4HJaxpoKjCNuQI0sLZNvywi6tkG457rwd3jgm/DjFPq1F/KUuTUrsswKu3pwL9i0F1/4SHYdwz/atp+Gn2QA/ytf4Qf4Nr+Q3eD3pkd/Br/odukKnXri2F+iGOmzfhWRpQ3hOD74nw/MGZIdYE5b5lu6oA4fwjC4csyti7f5mM/qONRFRrudakOLpBMVyicpxUVo2arLMMHH0fBzSFAkRE+U2xe9RhMeQCML/2AR4CGM8aCp804S08dvEDarIQR27girxcAhtmCzGjTLCL70rqLsANWmqdr+1Lwkt8F0C36c7DOm3N4866sYU8KOJkq9Q1RriBwfWowPjZCMgW3Od9nSheUmbd3rQsfYdSFE0R03jsN8fwViDJGF49+4PfPkX+OvD3/j4/gkf//yED+8/4fPnL3h6+geWtUFRHCmHI885drsTmsaj+zTagvfk2CSIaB5DKroRHA5bFOS3lFVEJ45xPGbUPEYYGcK2+rIMKDfG6aRhvaaC67VNBS0SGDS0JhWywAqNuirUXcWeaG3OlmK92y+EptU+0+Y2jU9TQmPj0ddkrKbjl5RYCVjeDnWOOM7oCnaIohRhmCAIEmpUCE2rf6aNFQX9fV23/SgBVT9QgNHxi28wbLcJFWsLZMiyFGm6FbF2n/OaTskvtP7x2FDDAFKv16NnZwxdp+dotfoORVEwn8/FKzKZTASyLGMwGKDb7V7odDoYDoe4urrCV5I5DKJgs68jAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Komponen Child Halaman Depan&quot;
        title=&quot;&quot;
        src=&quot;/static/d9c130c6cfba91d17430d74cbf9bc589/7c811/HALAMAN-DEPAN-GUNTING.png&quot;
        srcset=&quot;/static/d9c130c6cfba91d17430d74cbf9bc589/103f2/HALAMAN-DEPAN-GUNTING.png 165w,
/static/d9c130c6cfba91d17430d74cbf9bc589/748ba/HALAMAN-DEPAN-GUNTING.png 330w,
/static/d9c130c6cfba91d17430d74cbf9bc589/7c811/HALAMAN-DEPAN-GUNTING.png 660w,
/static/d9c130c6cfba91d17430d74cbf9bc589/d7627/HALAMAN-DEPAN-GUNTING.png 841w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 114.54545454545455%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAXCAYAAAALHW+jAAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7UlEQVR42m2VW3PbxhmG+cN7104uWvciM1Ei2bHEWjyAIMEDJB4EkDjyJOJEkDQlio4tmZYsNnYmsq0mdTR5uoQ006TNxcNvv90P72LBd3dTpZLMwWENuShxcFCj1WpgWoag84CBKsZVMWaJ3BK5ZRtJNB9yTWtxpDVR1Rqpvd08Ul4ln6uSy5SRJZWK0rqn3EKttDis6QnVyhG1ikat+kDlHqXYoCgfks0opDJ7DlZnjN4KBCFaMxD4HAnaLR+5FvCV5FOqebQ3/Y3/ov0GQ4/Y37VJqVWbk4XPOB4RTz3BiLGI05lHN/CQXI9yf0C+f0R/3GU69ZPx+Ddsnp0vAjZaqUJ6wNCZ4rTHuJ34dzidCXI9ZEc1KLVskf9/TVInnh0IjUK6T+pv9T2+HVTY7hbZdmV2RNzpldixi3xR/oa/KF/zp8oWf5a3eHS4x5Numceu8jt2nBLf9ir8tbFL6qCr0ht16XYdvMinP+jRHTq4MwczMmj7OobfpiMwwg52bP0BJl1Rf9hTSblHLnN9TuSEZB9t0W92mdWFcDnNoJEjMspMHZWJvaFGbNWYPJC0k74qsVnGbgrbWEcmsTPhOOxjSo9wbA3b7LNd/Yr9XobCqEjRK1H0SyhBOWHT3vSVfEWMy0lsnDWp9qqkHN1hYsZiuQFT1xBL7zMThi2XcxTKElIpm1CsSBTL+Yc8g6RkkUWeL2YEOUy3Qa8vCUHNZmpP6AVDnj1Nc6hpzByLRnmLg9rX1NUdWvUnwptPRXyM2dmn50i4Vo6uwLXzwsdZ+t0MXTf/IGhMGbgDXPG2x32PUUEjt/13pGdf0lD2aB9kMRp5HK2Eru6jH2REX4ZeW2E8aBH0mkS9Oh21IL6haRPbMeNOlBBbE0Y1jePhMWE8E6adEUQTTs++4/nJWdKOp/OE4SjEC8aMBEEQ0j4sC0HLIhgHonMkBkf444iB0eRkMmZ1ccF8NmM+nXLx6iWL+ZzpeJzExckJoe/hHQ/xRmLy4wGGqtwLRmGE7/l4nieKItpuXWyjfSxNpSyW3NQLtHSZeiuf0BYW0Q0FrVPCsKsYwjYdR0Fp7t8LemKm4WiAH3ri1SP0wGa3tU9GkygJK7TGOs2gdY/fpPG/eE3qUZOSmChlGAa22Kd23cW3QuL+kOmxSzSwiYY2Y4E37IoJjxmJif0wJBQWC6MweZENfuAThAGm0Eq1j3S+n71nWK2xtMSf4o2R3SzmRCc8FwfH0qJp1bm8vObyfIl1kOfT7b+YP3/OarXiw4ePfP78maurK/S2Tqpz1ObHVx94t5pys3rLi/NTtNcmw3XE6F2MfzNG8+p8v/6Bf9/+yJu5x8+f73ixXHJ9vU6Ebm5uuHr7lk6nI5asdVjP/kmrVmfkzvjp1ZyXi5BX81OW0xnvLpeEgcr1+j2LxYJKqcrH21vOFqfM5yfCVjHn5+dC8OpecPPzw9l7blefuHvzKxdvPJzTffrzojhxCkSrGvpAZv32HXd3v/Dx00cR7/juxQvOzpaCM/E5LhPRRNA0TZYvl6wuV2IJ12ixwVbpMbvVZzxRdvlGeYqsKSwXoubNitevX3Mh/NlsNsWlpopLTdw7qooutqxtixM7nU6vs5nsehPT6X+ss9nsOl/IrbP5zDonZRPkQmGdyWSSmr29vSRKkrTO5/MJm7Ysy+vt7e31fwCwEtg5PH25FAAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Komponen Child Detail Dokter&quot;
        title=&quot;&quot;
        src=&quot;/static/484c9d3307a6732efe0bde23420b49ce/7c811/DETAIL-DOKTER-GUNTING.png&quot;
        srcset=&quot;/static/484c9d3307a6732efe0bde23420b49ce/103f2/DETAIL-DOKTER-GUNTING.png 165w,
/static/484c9d3307a6732efe0bde23420b49ce/748ba/DETAIL-DOKTER-GUNTING.png 330w,
/static/484c9d3307a6732efe0bde23420b49ce/7c811/DETAIL-DOKTER-GUNTING.png 660w,
/static/484c9d3307a6732efe0bde23420b49ce/d7627/DETAIL-DOKTER-GUNTING.png 841w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;update&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update&quot; aria-label=&quot;update permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;UPDATE&lt;/h2&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 83.63636363636364%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAADqElEQVR42m1Ua3OiWBTk//+H/bC7k0wmookKYhQF5SkgoqgxyaiJz0wZn9lspWon29tQO/NpPnRdDnD7ntO3zxHOzs5xdv4ZFxcXyBclFCQZkixDUcoolRTIcgm5XJbIMS4xln+JQiGPwvUVBPmmhqpmIlM2UNEsaE0H1aqK4nUOZbkIy2zCaDZhEs1fogHDslCVrpH94zcIpt1CzY3wRfchWQ2EYQTDtHiaiEpZRi8KEYQh2u12ipDPnShC2OkgSN6FyXc+2wZUiRk2Sag7AT6pFShGHX7YhV7T0WJs3ZThWyZcw0Dg2IQDn1nZqorQNBHZdrrGnoeIq++1IKg1DbreQE2tQdcasN0W6nIZk9EA49BC/3GM7tMYy9MO95sV7icTrO8ibNdzrJYrbF82+Pj4wKTfh9FoQLj483cU8kVEnQjtgKV5PvRiHg+3t4jaIaaLEXrDNuJhhK+zAb5O7zFgybP5AvPZDL1eD0/zOcYktJi9cKPkUddKsB0thePqaCgynqZTbDZbbpzAa5sI/AbiyMbtsI/tbo/X11fMSBjHMR7GY/R9HzalEfLqNWRVguE2YXkmHG7SGHcpdNyLmEGMeq0O0zRg87J8bozCNokHsKlhg2U6rRZcTYPLWBCLlzinD+u1Gq1hMhsPjbqCzXKOxV0H+8MB6/Ua7+/vOJ1OmD7NsHroYvu8xPr5G/a7Hf4F8EiJzETDnJxBRhTTk1zHhRu4aOplzMYThNRwR8LBYEAMMZ/PMKEUMS2TaLigdt1uF48s/aeGOVnEl8tLlmSmBF7opSWvl2v89fY3dswgIYy5od8f4JaZHE+veOO36fQRPRKO7u7QdV1KYkLIFplhVkSLHgqCICXUazK6JO8ELQyHQ1jshMTQyffEzKHvYjjop3q6JIpImvjT4X9CTiJhJsv24k16AY3ts+QbvCxpixFL3h+wWCyY7RuOLP+Hhi/PC6xWazphg3++f081bPJihKsyS766gKpX4HgWrND8X8MpW6yHw/GI0WiUlrpcLqnhBHE3xpySrFZL9GibGQ+cspKmrrOXawbaDj1ktuBZLJttaCtVrBZzvJ6O+MYbDtsBOkkPE4O4j8N+j9PxgBEPCXwv9WJomOkAEcyKAa1eR7WiElWYnDgtlRdks1epT0CzmtXqT6Q9zJ5O4HCfxb5O3vt0ic+eFsRPIuQM51+Wcy0jQb6UUSookJQSJM5GmTOwpCjpmqAocWYWi8jn8+maxD8giiL+A1EteU+/t7CxAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Komponen Child Halaman Depan&quot;
        title=&quot;&quot;
        src=&quot;/static/3fca49f6bc3df874df9c146f7e165f42/7c811/HALAMAN-DEPAN-V2-PECAH.png&quot;
        srcset=&quot;/static/3fca49f6bc3df874df9c146f7e165f42/103f2/HALAMAN-DEPAN-V2-PECAH.png 165w,
/static/3fca49f6bc3df874df9c146f7e165f42/748ba/HALAMAN-DEPAN-V2-PECAH.png 330w,
/static/3fca49f6bc3df874df9c146f7e165f42/7c811/HALAMAN-DEPAN-V2-PECAH.png 660w,
/static/3fca49f6bc3df874df9c146f7e165f42/d28e0/HALAMAN-DEPAN-V2-PECAH.png 990w,
/static/3fca49f6bc3df874df9c146f7e165f42/047c3/HALAMAN-DEPAN-V2-PECAH.png 1208w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Penjelasan: TODO :P&lt;/p&gt;
&lt;/blockquote&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Website Penyedia Kerjaan Remote]]></title><description><![CDATA[Bismillah Lagi tren neh, kerja dirumah haha.. gegara si Corona, padahal di dunia perkodingan udah ada, yang penting mah ada kekuatan nepotisme haha .. Project 2m (Makasih-Mas…]]></description><link>https://topidesta.my.id/kerjaan-remote-dari-rumah/</link><guid isPermaLink="false">https://topidesta.my.id/kerjaan-remote-dari-rumah/</guid><category><![CDATA[home]]></category><category><![CDATA[covid19]]></category><pubDate>Wed, 18 Mar 2020 10:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h2&gt;
&lt;p&gt;Lagi tren neh, kerja dirumah haha.. gegara si Corona, padahal di dunia perkodingan udah ada, yang penting mah ada kekuatan &lt;strong&gt;nepotisme&lt;/strong&gt; haha .. Project 2m (Makasih-Mas). Skip, selain kekuatan nepotisme juga kekuatan menjual diri, baik dari sosial media, facebook, twitter, instagram atau linkedin juga gak kalah penting.&lt;/p&gt;
&lt;p&gt;Berikut ini web yang memberikan informasi perusahaan yang menerima kerja remote (working from home) yang kurang lebih belum gw coba, mayan buat catatan pribadi gw aja dulu, sumber dari group fesbuk:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://www.facebook.com/groups/webdesignindo/permalink/2964513876976365/&quot;&gt;https://www.facebook.com/groups/webdesignindo/permalink/2964513876976365/&lt;/a&gt;
&lt;a href=&quot;http://go.topidesta.my.id/remote-job&quot;&gt;http://go.topidesta.my.id/remote-job&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://wfh.team/&quot;&gt;https://wfh.team/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.upwork.com/&quot;&gt;https://www.upwork.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.workingnomads.co/jobs&quot;&gt;https://www.workingnomads.co/jobs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://epicjobs.co/&quot;&gt;https://epicjobs.co/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.flexjobs.com/&quot;&gt;https://www.flexjobs.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/&quot;&gt;https://www.linkedin.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://weworkremotely.com/&quot;&gt;https://weworkremotely.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://authenticjobs.com/&quot;&gt;https://authenticjobs.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://startup.jobs/&quot;&gt;https://startup.jobs/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dribbble.com/jobs&quot;&gt;https://dribbble.com/jobs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://remote.co/&quot;&gt;https://remote.co/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.producthunt.com/jobs&quot;&gt;https://www.producthunt.com/jobs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://remotive.com/&quot;&gt;https://remotive.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.crossover.com/&quot;&gt;https://www.crossover.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://epicareer.com/&quot;&gt;https://epicareer.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.outsourcely.com/&quot;&gt;https://www.outsourcely.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dynamitejobs.com/&quot;&gt;https://dynamitejobs.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thewfhjobs.com/&quot;&gt;https://thewfhjobs.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jsremotely.com/&quot;&gt;https://jsremotely.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.simplyhired.com/&quot;&gt;https://www.simplyhired.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.idealist.org/en/remote-jobs&quot;&gt;https://www.idealist.org/en/remote-jobs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://torre.co/?r=vm6biA2E&quot;&gt;https://torre.co/?r=vm6biA2E&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.careerbuilder.com/&quot;&gt;https://www.careerbuilder.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://angel.co/&quot;&gt;https://angel.co/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://himalayas.app/&quot;&gt;https://himalayas.app/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fiverr.com/&quot;&gt;https://www.fiverr.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.awesomejobs.io/&quot;&gt;https://www.awesomejobs.io/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://remote4me.com/&quot;&gt;https://remote4me.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.werk.eu/&quot;&gt;https://www.werk.eu/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://workew.com/&quot;&gt;https://workew.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://100telecommutejobs.com/telejobs/&quot;&gt;https://100telecommutejobs.com/telejobs/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://boards.greenhouse.io/sysdig&quot;&gt;https://boards.greenhouse.io/sysdig&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#&quot; aria-label=&quot; permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol start=&quot;33&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://www.toptal.com/&quot;&gt;https://www.toptal.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nodesk.co/remote-jobs/&quot;&gt;https://nodesk.co/remote-jobs/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://remoteok.com/&quot;&gt;https://remoteok.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wellfound.com/jobs&quot;&gt;https://wellfound.com/jobs&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Nah lo, luar negeri semua ... hoho ... nice ... ntr kita coba cari tau, &lt;strong&gt;responsibility&lt;/strong&gt; dan &lt;strong&gt;requiredment&lt;/strong&gt; setiap kerjaan remote, kebetulan gw sendiri nyari remote untuk Admin Server (Setup dengan aaPanel), Codeigniter, Go-Lang dan React/ NextJS.&lt;/p&gt;
&lt;p&gt;have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Upgrade Docusaurus Manual Book Prima]]></title><description><![CDATA[bismillah Tutorialnya ada dihalaman ini:  sebetulnya mager kalo upgrade, karena banyak config yang akan diubah .. hehe .. mungkin nanti di repository (maaf diprivate sourcecodenya…]]></description><link>https://topidesta.my.id/upgrade-manual-prima-docusaurus/</link><guid isPermaLink="false">https://topidesta.my.id/upgrade-manual-prima-docusaurus/</guid><category><![CDATA[react]]></category><category><![CDATA[docusaurus]]></category><category><![CDATA[kantor]]></category><pubDate>Sat, 07 Mar 2020 11:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;Tutorialnya ada dihalaman ini:&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;https://v2.docusaurus.io/docs/migrating-from-v1-to-v2/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;sebetulnya mager kalo upgrade, karena banyak config yang akan diubah .. hehe .. mungkin nanti di repository (maaf diprivate sourcecodenya), akan dibuat branch-versi-2 biar gampang handle.&lt;/p&gt;
&lt;p&gt;Kebetulan searching online, pake Algolia, nah karena kebutuhan aplikasi untuk kalangan tersendiri, jadi pencarian dilocal server, menggunakan library &lt;strong&gt;lunr.js&lt;/strong&gt; dan kebetulan beberapa source di github sudah ada yang implementasi, yahoooo ... jadi gak banyak oprek, berikut linknya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cmfcmf/docusaurus-search-local&quot;&gt;https://github.com/cmfcmf/docusaurus-search-local&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/lelouch77/docusurus-lunr-search&quot;&gt;https://github.com/lelouch77/docusurus-lunr-search&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;gw mau coba 1-1, tapi sebelum nyoba, sesuai judul, sedang proses upgrade dokumentasi prima dari versi 1 ke versi 2.&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Fetch Data di ReactJS]]></title><description><![CDATA[bismillah Lagi ikutin tutorial copy paste untuk aplikasi pencarian dokter, mentog di  lifecycle method, yang dahulu pernah gw bahas, ada di sini: ajax-request-di-react-lifecycle…]]></description><link>https://topidesta.my.id/fetch-data-di-reactjs/</link><guid isPermaLink="false">https://topidesta.my.id/fetch-data-di-reactjs/</guid><category><![CDATA[react]]></category><category><![CDATA[parcel]]></category><category><![CDATA[hooks]]></category><category><![CDATA[fetch]]></category><pubDate>Wed, 26 Feb 2020 13:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;Lagi ikutin tutorial copy paste untuk aplikasi pencarian dokter, mentog di &lt;code class=&quot;language-text&quot;&gt;hooks&lt;/code&gt; lifecycle method, yang dahulu pernah gw bahas, ada di sini: &lt;a href=&quot;ajax-request-di-react-lifecycle-event&quot;&gt;ajax-request-di-react-lifecycle-event&lt;/a&gt; dan seketika dikenalkan dengan hooks, ada dihalaman ini: &lt;a href=&quot;https://reactjs.org/docs/hooks-effect.html&quot;&gt;https://reactjs.org/docs/hooks-effect.html&lt;/a&gt;, langsung ajah kita coba okeh, source uji coba ada dihalaman ini:&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;https://github.com/mdestafadilah/contohreacthooks&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;pembahasan master ada di halaman ini: &lt;a href=&quot;https://medium.com/@ri7nz/3-cara-fetch-data-di-reactjs-aaa064ccf5e9&quot;&gt;https://medium.com/@ri7nz/3-cara-fetch-data-di-reactjs-aaa064ccf5e9&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;disini gw cuman mau bahasa sebagai noobitol, pemula, meski sudah tua. hehe.&lt;/p&gt;
&lt;p&gt;dalam uji coba tersebut, kita dikenalkan dengan merubah suatu DOM dengan render ulang (re-render), kalo dihooks dikenal dengan &lt;code class=&quot;language-text&quot;&gt;useEffect&lt;/code&gt; kalo yang umum itu lifecycles method (&lt;code class=&quot;language-text&quot;&gt;componentDidMount&lt;/code&gt;,&lt;code class=&quot;language-text&quot;&gt;componentDidUpdate&lt;/code&gt;) jika tanpa hooks kita merubah dengan state/ data ke DOM tanpa render ulang.&lt;/p&gt;
&lt;p&gt;kalo pake hooks jadi lemot dong? ups, ya kagak lah ... bukan render halaman website secara utuh, hanya logical data aja, dan tidak ada pengulangan fetch data disetiap komponen, di project react-movie sudah ada, jadi cukup 1 komponen untuk 1 kebutuhan, dan seterusnya. inget, state itu sifatnya local, bukan global loh. #koreksikalogwsalah&lt;/p&gt;
&lt;p&gt;ini dia perbedaan lifecycle nya:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 143px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 134.965034965035%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAbCAYAAAB836/YAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACLElEQVR42q1VaZOiMBTk//+pqZov1tZ6jEepDIwLKiOKiFxKgKQ3L8iuuq6OOql6lYt0Oi+dRivLEt9ZNCE4Vp8JbHOr6qUTw7EjLGYRXCeBO4/xOY0Qh+zrgATyMfbxS9/g5+scHyNfgdhmgIkct4wAnpuqBULcAPz2IxdFgTrKkqKUwQ9RHgUH57dDK84YCnmmZ0JL0xTj8RiGYajatu0/wMf1pUJT59OavQzxro9hWRb6/T4cx7kJdDWHulcdmcv1dR5q+nmegzGm8ltvQPNVvgV8f48sO02ZZqxpgCvA6XSKdrutWPq+D13XVQqGwyFqNdAmcRxLYGC9vgCYMhqoGNHOWZapRVQTO2onSXKS+ONT/HMpLJfH4ZVErn14Lo+/0jqTTV5IoANYDfiUsKMoQqvVQrPZRKPRwGAwUMBPvRQC9TwPm22IULafYXn0liVInkHke4gsVUFzVf6EksldgFwyZcMfYN1X5J0XFG8vCByb7l9KKMNsljzgNtIcOJMMJVOUDEL2qZDW9vvyPoZkEoulB2vqYGLN4PkBXNkPguCxHFK9cFdSxCmWK0+2l9gEW4RhdNEErt5y7Xn8IPD/iflLflgzVCBnnviIR2q73Q6dTgej0UgaQwfdbhe9Xk/1ySMp7vlNaGQApmliPp/DMA1Y9kQ6jKX8cbFwldPcI/QT2ZSFQLYrwfYc9eu799Vo9SVQibYZBk1XxS7NK0AuHn16NUty5MfN4TfNykTzlRV2CAAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;withhooks&quot;
        title=&quot;&quot;
        src=&quot;/static/00278327184c0751e090cb1737a520d2/c80c1/withhooks.png&quot;
        srcset=&quot;/static/00278327184c0751e090cb1737a520d2/c80c1/withhooks.png 143w&quot;
        sizes=&quot;(max-width: 143px) 100vw, 143px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 130px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 136.15384615384616%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAbCAYAAAB836/YAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACJ0lEQVR42r1VbW/aMBDOX93fmPabpvULEp2ExhdIxISSllCkQdFWlpSkvBQDebWf+mzMgjZtAaGddBy24/Pd+XnOVlmWEELgWmKRQ84F1ssEbJ3hdZViu8nAXg8q51YvCbYsAy95PYck38druE6AkRfh/uszPCfE0I3wzX/Bg6ftjuXq278lZJmU6SOypYwiz/lxXBRcZVAWvFZprKvXMM9zGUXxm9JBl+j1I6SfwWCAdruNTqeDVqulxrr49Q7S9T44pE1RFGG5XCobhiE2m81ZDv95KZxzpSSmptU5Eo3fUq4JzOcSp9tCO0zzX7Chjb7vo9vtYjqdYrVaod/vYzKZoNfrIQiCo0PGGHa7LeiMxSJBkmg8W++/aLByqkMlOlI6gFBAkqYpDAlMOf5UEuvdx4wSQ5rlJ5CpOjbjWrD5UInwOs1B1iAIfiqoeJ4H13VPin8RDsfjMRzHUTi0bVt2lUOthOavqODt/3NZO+T6hnN5k9ET+PwHeDwDf7xHFocouIbVbLZVnad2hGLPUEw8FH4HuduGkA7Z7BG7NFPrd3cL1drOSlkYYpq5k7UaKRvcGcoZwBqtYrEWDg0j9vs9siyTdNpJGiWKGWRpTP/rQknBZjQa4ebTDWzHVvb29rPSZrOJ4XCIRqOBOI5rdSDL0Eq/J+UxEjMmoXZGUdZ2aLqN2iyf0fCJ4XnGkCZFpYGKy/ohvcsPXgy/P5fPZnZ2o706U94ASNpBqkIHQ6YAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;withouthooks&quot;
        title=&quot;&quot;
        src=&quot;/static/adf33dc12e7be397139ac1ec8c1828b0/ff419/withouthooks.png&quot;
        srcset=&quot;/static/adf33dc12e7be397139ac1ec8c1828b0/ff419/withouthooks.png 130w&quot;
        sizes=&quot;(max-width: 130px) 100vw, 130px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;terlihat kan, kalo hooks itu re-render dari DOM, sedangkan tanpa hooks, merubah state yang sama.&lt;/p&gt;
&lt;p&gt;bingung ya? gw jg bingung jelasinnya... hehe.&lt;/p&gt;
&lt;p&gt;~ todo: &lt;a href=&quot;https://www.robinwieruch.de/react-fetching-data&quot;&gt;https://www.robinwieruch.de/react-fetching-data&lt;/a&gt; ~&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Mockup Design Aplikasi Pencarian Dokter]]></title><description><![CDATA[bismillah Langsung aja ini adalah mockup atau design dari aplikasi yang akan gw kembangkan, yang sudah running dihalaman ini cuman kurang puas getu, dari sisi  ataupun  ya, karena…]]></description><link>https://topidesta.my.id/mockup-design-aplikasi-pencarian-dokter/</link><guid isPermaLink="false">https://topidesta.my.id/mockup-design-aplikasi-pencarian-dokter/</guid><category><![CDATA[react]]></category><category><![CDATA[parcel]]></category><category><![CDATA[atm]]></category><category><![CDATA[kantor]]></category><pubDate>Sat, 22 Feb 2020 13:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;Langsung aja ini adalah mockup atau design dari aplikasi yang akan gw kembangkan, yang sudah running dihalaman &lt;a href=&quot;https://rspersahabatan.co.id/dokter&quot;&gt;ini&lt;/a&gt; cuman kurang puas getu, dari sisi &lt;code class=&quot;language-text&quot;&gt;frontend&lt;/code&gt; ataupun &lt;code class=&quot;language-text&quot;&gt;backend&lt;/code&gt; ya, karena dikembangkan dengan butuh cepet, alhasil gw kembangkan sesuai template yang sudah dibeli.&lt;/p&gt;
&lt;p&gt;Dipostingan lainnya akan gw jelaskan juga dari sisi backend API/ REST data dari aplikasi PRIMA, karena yang sekarang belum bisa sharing api/ rest, kudu pake password dan username basic, next implementasi JWT sebagai authnyah dari sisi backend.&lt;/p&gt;
&lt;p&gt;Kembali lagi ke postingan kali ini, ini dia 3 design utama, ups... gw nyontek ini hehe dari beberapa project react-movie yang pernah gw &lt;a href=&quot;source-react-movie-di-github-siap-dibedah&quot;&gt;bahas&lt;/a&gt;, baiklah berikut ini 3 designnyah:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Antarmuka
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 79.39393939393939%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAAAsTAAALEwEAmpwYAAACCElEQVR42n1UubLiMBD0//8BCRTnA6o46hmbNcYGg218c4bEUCQkhAS9mlnECh71grYka6ZrjtZo9Xod3W4XtVqN136/j9FopMBAu9PBV7sDwzBeIG2GwyGjI+y0VqvFh16vx2S6rmMymcCyLLFavLftKVzHEXtb7F8xnU5hmiYTE4fmCMM8z5GmKSNJEkYcxwx9nqJpx/DCFZLHv08gDiLXZrMZiqJgsizLGKnAOs9gLHO0nAx1N8DXwkKUxijygp1VkM96vYbrup8JCRx1tsbAX6HimVgkPttJAhXkS3dPQmKnn/nDoChyOK6DP2NT1MfAtzmCbU0wHo8RhuEP0hdC+si6Ef7VMWVH3/cFAt4HYYAgCPnuU8q0MiE1hRzIMIpiXlerlTAocDgcsNvtsN1usd/vGfL8DoqQuLT5fP4/5Vyp3yMNXf9Go9l8quC9fjLlX5siZSNlFEUR76VEfm0KRSgJKTJK/3g84n6/43K54Hw+M06nE263G67XK4tdDeJHl9VL2RxZBlVGVD+ylUG8p8w1fCckR0qROkzRSlCjuNtB8FE2T0L16alGREDOoZALkS+XSywWC0VaycszpaD46Xmex6nI6CTCIGTdkTFFLCPMheNms2EfCZINSYy4tGq1ina7zeOIpoYKmkKDwYCnCI0mAk2nRqOBSqXyRLlcRlNIq1Qq4S/rrSEV9p79awAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;antarmuka&quot;
        title=&quot;&quot;
        src=&quot;/static/2639df2608637d258e4a8458ca0be997/7c811/HALAMAN-DEPAN.png&quot;
        srcset=&quot;/static/2639df2608637d258e4a8458ca0be997/103f2/HALAMAN-DEPAN.png 165w,
/static/2639df2608637d258e4a8458ca0be997/748ba/HALAMAN-DEPAN.png 330w,
/static/2639df2608637d258e4a8458ca0be997/7c811/HALAMAN-DEPAN.png 660w,
/static/2639df2608637d258e4a8458ca0be997/d7627/HALAMAN-DEPAN.png 841w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Hasil Pencarian
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 167.27272727272728%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAhCAYAAADZPosTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFg0lEQVR42nVWh1IiWxD1/3/i1YZnleW6Ss4gQYmD5CAgwYAIRqKinNenYQz1dq1qZ5x77+nu0336uvXz50/8+vUL379/x+7uLiwWC7w+H7xeLzxiPnl3Ouyw2e36TvP7/e/vNJvNpkacrZ2dHTidTjgcDv3Ip9vthkvM53HD6fbA4vIh4POrkz+Zy+XSM3t7e9gKBoM4OTlBJpOBYRj6NC2RysAazmLbn0EgHkc6k/6y/tlyuZxGvhUIBJDNZpFOf2xOc4ORgSNi4Ic/iX8CIfwbdiKeTsLIGP8D41kG9VdA0/Ly3Xl8jB9hF1JGClkj+8fovgCaKZuAuihAfiH79+992CwHcNjssEtRrBYrotHo+z7TUqnUByB/JRNJxOMJsTiSyeT7UzkVIwWZT/zy+2czvysgyx4JR5A9yclHY+MxLRuzSjQ9FwoF5PN5lEolNfMbjXtopI1YWyx3Pp9DJBQUjgw0Gg3kNwD1eh1nZ2fqxJAD8aMY4rEYmq3W2plYrVZDq9lUR2whBVy+vqGecGPQPcV4PEVDNjw+PuL5+Rn8Kcvm65sRLiopNHNHeFsBtWoN9/f3mC8WeHt7w/n5ufbilsfjwXQ+R6OQxXmvh+lsql5PTxuoVCoYjUYoFou4vOrjollHo1rGqwDUalXNhpFdXV2h3W6DWAr4+PQIv9eHQqmC+Xz2DlgWwPF4rH/3xFlSChc9SmD5slQ6TKdDcXpxcbEGpGzM1PgznU6VN3qsn9ZxLhuTyQQuLy83O1ZYLpe6zgj5bLXOtEBaFKKyasVSGaVyWQvAAWG1WlXs7D+SnUgkZL2ixoLY7Tbp09+6d39/X8EoEgF0S8i3OHTsoZIzcDMcoiopMqLJZIKXlxeUhMNWu4NM1I94yCsUjSXVskZvFq/T6ayL4pUIF8LJ7VkOT0MBmc508fb2Fndii8WzFuXqeoBxv4VhpypFAc4kzZEEwqJNJlM5011z6JN0Hp6e4LU7kc0VhcOJUJCTPiyoQgaDgRJP0hPRGIKhiHLIPqVxDwvW7XY/qsxC8MOteGP41/2+AjFt/l0VQB7Sb9Iir6+vuL6+Rr9P6+NJAnqvMvMeCm9z6UUC82A4HEZMFMENsdiRkt2UZl8I+HQ2w83NDWIyJELBECKRsKwH9UxwXRSPchSQ1FNSSabHiXIsY4t65hrfWf1o+FAsLP13iqOjI0TFKfXP1DkcVHoEfBGWGykvbnoNjCfswzaepKGfpcIqvfJaele1NFr5Y5UeQVnhhUhvtVqJ9C42VRbUyWyO+gnJ7UraM+WsVquLhsvaRqb0eqc11ASc0qtWq6qWYrGkXLfbZ2sOCUjpBf1BFMtVLIRLbiRnlUr1i/TSyRSO4ymtMiNsNJqq6dGfpbfS9NjMTZFUS0YUo+h0eqqSd+mt1tLjOh23Wk0Fp/Tex1eBw1MkVZaIKENeqzSL1SJe13czxzzXOTCoHJ7jtct9lGdI5ukG0IX7h0dEHLuoFQzc3d2r6Nlz8zkJf9MR1e6eIxvzIXkofTtbSHQ19KUX2WrsS1JC8C2PeFo8L3HXLuJp1BfOJprOQKRGUB5gOpTeZNDGsFeXgbxC43TtlI39INWmXEmfapnSc9scME4KmAqHvHtzubxeVKb0OAiO5e4JBCN4EQ55h5CeVCqpOubEVkD+mm26nxJ6kQLxne3CScwClGWsMSX2HYcGU6S6uO96k/YXQC48PDzogXZnPcp5X/P/HMqORWEb0SHvkYGA+Pw++f/Hpevk7vDw8ONe5j0ciUTUKCmVlcjPfOc6n3/bQ92zC7QPQ6GQkk5OzHuYT4LQa1h448GwvDNq6praNe9j8wzVpBFub29rP7GXPhu/8RqgccybdnBwoMaxbxqvAu779u0b/gPVUebsc7SYTwAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;hasil pencarian&quot;
        title=&quot;&quot;
        src=&quot;/static/1914956bcb527c25e058c18317c41e57/7c811/HASIL-PENCARIAN.png&quot;
        srcset=&quot;/static/1914956bcb527c25e058c18317c41e57/103f2/HASIL-PENCARIAN.png 165w,
/static/1914956bcb527c25e058c18317c41e57/748ba/HASIL-PENCARIAN.png 330w,
/static/1914956bcb527c25e058c18317c41e57/7c811/HASIL-PENCARIAN.png 660w,
/static/1914956bcb527c25e058c18317c41e57/d7627/HASIL-PENCARIAN.png 841w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Detail pencarian
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 114.54545454545455%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAXCAYAAAALHW+jAAAACXBIWXMAAAsTAAALEwEAmpwYAAADs0lEQVR42oVVa1PiWBDl5+8v2Cp3vyxQykNwVN4kQHiGJCToKsKyyCCIysBSwyBl6Vh1trshDBaztR8OnXvpe+7pe08nHr/fj3A4DJ/PJ/Hk5ATxeHwHCQSCIUIQiUTiA9yc09NTQSgUgicQCMiAiRixWAzZbBaZTEagKlloeRX5nCrziqLsIZlMCnE0GoUnn8/Dtm2YpgnLsiQahoE6wTINKGUT/qwBtVxHYzNv/ASNRgOqqsJTKBTgOI6Q8STDIjh2AwXdhl+1ES6Y8BWyKJk1NG0HDRJg74DXNJtNMNdPCV2YDQfnFSIrZhHXczTezxEBtJY59gjdsoWMYjaTRjqVRDQdRzKRRCFf2Cr6X0L+4/rmZvvMsV6vo1Ktol7TUeVI432F1j4h12/SBfh/+xUljVU4KGpFlMvl7fk4DFpk09mySsexN9HZxh8KKdky6lC8v6CopmGYFiLHESh0a0xaqVQE1VoVeq2GGqmt8phiuVSWeHFxsSbUNG1dJu3SqmvQqxW5ZfYUGz1Ipg6GgohEIzg+Pgb79ujoSIweJiPzmMH22xI2iVAnL/l+/wOJZEZKOCOzC87OxOzSGRTZyBodRy6fEwImUhQVxWJxh5BKrlEpPKHruiAQIAXhEFKpFHK59eJSqbR5zgsRr7nYnO3l5eXHkq3NrbE6dn6VSudob2xxQw64vr4Wa7mGdm/9wy1vCTf+cxM7nQ5Go5HEdrtNz0N0u120Wi30ej38TXCcpqzbI+SSP3QIqdDoTDiRz4xvkcsrU8lctvQ6barr/6HQLfNH+1lyCalUWmwjPnQ9J1U0tn50RWx7mQ9XIzMXyU+NnWY3DFPMzpu4irgdG7azPUO3VRk8Zi6PqiqYzuYwcnF0/rTxz3xOF9DG4+MjXl5esFo9ywZ3wxHGgx60WAjL5xVa1y0MaW7x7RveXl/x8PCwfn3l6GexfMasf4X500iSB4MBptMpZrMZFouFKHiafMHbaoHxjYnXt3f0b2/xhXImkycsl0sRwJaSkqezKdKxJEznEqvnZ1xdXYlFmtROd3d3onAymaD7VxcnkU9YrlbotNc24pvu9W4xHo/XJTPrnMrkXdwS+/0+bkkBJ05JpWmZouDt+xu+Lr7i/f0dg8+fJYfxRJuxxUQh183+Gg2HGNIkqzvdtBt/a2KxuJwNe/H+/p7ObSiqU8kUziknRe/L8/Nz+v5k17fs9Xql2aXhqcn5y8UvBQaPg/wSoOfDw0P5MnK+l6Kf4NsB5x4cHOBfHe362nTXyKIAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;detail pencarian&quot;
        title=&quot;&quot;
        src=&quot;/static/a8fe40143707179cfc467f5811bc31fe/7c811/DETAIL-DOKTER.png&quot;
        srcset=&quot;/static/a8fe40143707179cfc467f5811bc31fe/103f2/DETAIL-DOKTER.png 165w,
/static/a8fe40143707179cfc467f5811bc31fe/748ba/DETAIL-DOKTER.png 330w,
/static/a8fe40143707179cfc467f5811bc31fe/7c811/DETAIL-DOKTER.png 660w,
/static/a8fe40143707179cfc467f5811bc31fe/d7627/DETAIL-DOKTER.png 841w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Emang sih sederhana, setidaknya gw berusaha membuat sebuah aplikasi berkualitas, aplikasi yang kedepannya mudah dikembangkan, dimana sourcecode bahkan designpun bisa diubah tidak terlalu rumit, dimana kalo ada programmer selain gw, mudah untuk handle, tidak kebingungan.&lt;/p&gt;
&lt;p&gt;Oyah, silahkan comot file mockupnya, gw pake balsamiq mockup. ini filenya:&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;https://share.getcloudapp.com/NQuZAp96&lt;/code&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;update&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update&quot; aria-label=&quot;update permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;UPDATE&lt;/h2&gt;
&lt;p&gt;Kurang puas dengan tampilan diatas akhirnya gw coba mockup ulang, dengan sedikit nyontek hehe ... berikut ini tampilannya.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Antarmuka
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 83.63636363636364%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAADMUlEQVR42m1UZ1fiUBDN//8duxaKLEXABiaQgkAKoeiugiYEZJVmWT3Ho3dnxo3rBz/Meckrd2buve8p379vYHNzA4mtTeTzeRQKBezu7qJULqNYKqG4W8TOTppiB8ViUda+ilwuh2w2C2V/fx/VYxWZchWVYw31Wg0HBwfI/MjIxhr9x6Fp2pdRr9ext1fG9vY2FMvUcWh52FJbyOsaXNeRw+l0igALsG0b7XYbrVYLLRrb9O84jszzHK9xnDQaBLoHxTB0qGYT3w7LKNWPYLdtAWxYFkzDpASuHOTR8zw0m02piEHiZF6nI0l4TeHDlmkQiAZTN2RDncZZFCA8tbFYLBGNIzw9PWG9XmN0GSD66eH2OkI0mWI+n+P19RUXFxdSiMJ9Z7M5uI4rLXE1OgEGoyFcqnaxXKLf66HfHyAMQwxHI/SIliAcIwwCdKi64CrA+fm5VK5Ujo7ko9VufXDCmSaTCZZU0Wq1wmAwIMA+Tk/PKE4xXyxwf/+AgAD9ri9gvu/DMAxSmYhkVS3i7OTkRHhh5RzHRsdzZWO1WpXNuq4TT8Sn3cag35M5VVPlrGmaMirsn42NTRwdHkplTKxOG39PQozPHCypwilV+/z0jLu7O4yovckvD3PicHo9w5KqfXt7w3A4fOeQzZxMpaCqqmRhQIPGK9rAijNgjzjs9frEYSAc+s47h2PilJW/vLr6z2GhkMd2IiE/sQ2Ew+kUD49/SOWFAPrdLrrdnvC5vrvHI62NRpdEiye8MrBwmKeWU+k0GsTfhygE7hKHTqshYjB3sZHZCXbTIuW70g3zxh5l/rlDajmHRDKFmlaTyTapbZgWbqZkiwHbZoXxeEzVPmJN7ccc3l6PyQlT3Nzc4OXlhaodiZhKiS78TiYD9fhYMnIVJmW9JA5dt4MVWYdb4lajKBLyfa+DMJoQYEQ+9InPUOYFMG7Har77kL/1uk63ICKv3WM2m8mcQ8bnYD5X6xUp/p6Iz7C15IaxKBqpW6lUsE9e5JdHI0GYC97gEDdNOvD5xZF5UpmDRWAQnme65C4nk0nk/72BbCGO+N2L38bP7yCvx28fj/EZjlQqhb8UOIGOupaTdwAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;antarmuka&quot;
        title=&quot;&quot;
        src=&quot;/static/f61531a2bb529e6dab0940f1a60e2681/7c811/HALAMANDEPANV2.png&quot;
        srcset=&quot;/static/f61531a2bb529e6dab0940f1a60e2681/103f2/HALAMANDEPANV2.png 165w,
/static/f61531a2bb529e6dab0940f1a60e2681/748ba/HALAMANDEPANV2.png 330w,
/static/f61531a2bb529e6dab0940f1a60e2681/7c811/HALAMANDEPANV2.png 660w,
/static/f61531a2bb529e6dab0940f1a60e2681/d28e0/HALAMANDEPANV2.png 990w,
/static/f61531a2bb529e6dab0940f1a60e2681/047c3/HALAMANDEPANV2.png 1208w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Hasil Pencarian
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 83.63636363636364%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAADL0lEQVR42m2UWVfiQBCF8/9/x7gB6mERARFMIAsCWQiLzihoQkBG2VxGz/Honapy4vjgQ51OOt23q766aWVjYxNbW5tIbG8hm80il8vh4OAAhUIB+Xwe+YM89vZ2Kfbknb99F5lMBul0GkqpVEL1RMV+oYrKiYZ6rYZyuSwCLFqj9zg0Tfs26vU6isUCdnZ2oFimjrLlYVttIatrcF1HNu/u7qJQLMK2bbTbbbRaLbRobNO74zgyz3P8jeO00SDRIhTD0KGaTfwoF3BYP4bdtkWwYVkwDIMOcGUjj57nodlsSkYsEh/mdTpyCH9TeLNlGiSiwdQNWVCncRYFCM9sLBZLRFGE5+dnrNdrjK4CRD893N1EiCZTzOdzvL294fLyUhJRuO50OgPXcaUkzkYnwWA0hEvZLpZL9Hs99PsDhGGI4WiEHmEJwjHCIECHsguuA1xcXEjmSuX4WB5a7dYnEz5pMplgSRmtVisMBgMS7OPs7JziDPPFAg8PjwhI0O/6Iub7viBSSgTy6OgIFjE7PT0VLtw5x7HR8VxZWK1WZbGu68SJeNptDPo9mVM1Vfaapimjwv7Z3NzCMVmFM2OwOi38PQkxPnewpAynlO3L8wvu7+8xovImvzzMieH0ZoYlZfv+/o7hcPjBkM2cTKWgqqqcwoIGjde0gDvOgj1i2Ov1iWEgDH3ng+GYmHLnr66v/zPM5bLYSSTkJbaBMJxO8fj0h7q8EEG/20W32xOe6/sHPNG30eiKsHjClYWFYZZKTpGJG8Tvsykk7hJDp9WQZjC72MjsBLtpUee7Ug1zY48yf66QSs4gkUyhptVksk3dNkwLt1OyxYBts8J4PKZsn7Cm8mOGdzdjcsIUt7e3eH19pWxH0kzlkH74vf19qCcnciJnYdKpV8TQdTtYkXW4JC6VDc7wfa+DMJqQYEQ+9IlnKPMiGJdjNT98yM96Xae/ICKvPWA2m8mcQ8bnYJ6r9Yo6/nEQ72FryR/GTdGou5VKBSXyIt88GjWEWfACh9g0acPXG0fmqcsc3AQW4XnGJf9yMplE9t8dyBbiiO+9+G78eg/y9/ju4zHew5FKpfAXbhiBoTrQjJUAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;hasil pencarian&quot;
        title=&quot;&quot;
        src=&quot;/static/69c8dcf5398a8214ed75dc00b1b3e4fa/7c811/HASILPENCARIANV2.png&quot;
        srcset=&quot;/static/69c8dcf5398a8214ed75dc00b1b3e4fa/103f2/HASILPENCARIANV2.png 165w,
/static/69c8dcf5398a8214ed75dc00b1b3e4fa/748ba/HASILPENCARIANV2.png 330w,
/static/69c8dcf5398a8214ed75dc00b1b3e4fa/7c811/HASILPENCARIANV2.png 660w,
/static/69c8dcf5398a8214ed75dc00b1b3e4fa/d28e0/HASILPENCARIANV2.png 990w,
/static/69c8dcf5398a8214ed75dc00b1b3e4fa/047c3/HASILPENCARIANV2.png 1208w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Detail pencarian
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 83.63636363636364%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAADKElEQVR42m1UaU8iURCc//9tvy8b16xyqzDccg7MAQwwuOrAcMm1QQHduHETjUltd4PGTfzQDO+qrqru95Sjo2P4/ccIBfxQVRWJRALJZBKZTAapVAqpZAonJ1GKExnz2mcRj8cRi8Wg5HI5lMoVnGZKKJY11KpV5PN5nJ6eInd+jiqNa7WahKZpnwavZbMZBINBKJapI291EajYUHUNjtORDZFIBKFgCK2WjUajIdHpdN7DcRz6OrKf//N6NpuFYhg6KmYTP/IZpGsFtFttVAmwUTehfv8Cy+DsOZydnaFQKKBYLKJULNH/vCjhKNCcbdsULSgsyTINkqbB1A1i1BKZjWYD9XwKhmEICDOORqKIRnfBnrHnHJxMzhBLhXXHYnE4RN8msDdAwzQRDUWJrS4FCgQCIqlQIIalkrDlL4OwKj5Xr9ehFGmBPbNbttB+Z0gbdzJ24XkeLi+vMBwO0XNduBSeN4BlWe/nBDBHWc+pmrzAIG+Att2UgvCYE1pWXeR3u100m0102m109sVo7ZUJIHtxfOxHgczdAdnSCmw0y+aNPC6VygLIhyyKt8q/BZ8TQDY1TIZXKhWYBMDZdcPEeNCD121gdXuH+XyO5+dn3EwmGI0nmHo/MR32MV8scbe+kzW2hJUoiYSKYCgkgzbJ4EwGAc4mI/QuOlhvNvD6HhaLBdxeD4vlkgBdTMYjzGYzDAYDrNdr+bJCRSXJEWqD+oci6LqOJR1cb7bYbjfiW4/AnO4FptMp7h9+Y3v/QKBjaeoJMb++vt4xVNU4QuEIqlr1v6LwRpbBCfgOc5vwNeX1fr8vVeb+5Ln8+c5/tkxJ0+YTureVcln848oapoXpyIPnmOTRRuS+vLwQuxuMb6aYe8R0yPJ/YUuWvL6+SjtxHRSWx95ZzZ3cdrsFk1roZjTEVdfBZnsvTFmq6+48nPRdjEkuJ2IrVqsVhqM9oEY/Qp16kelrfBUJcLW6xePjHwLcyGMgHpINzPLp6S+tPWI8GtFcd++hK22lhMNhqPs38ON7mE6n5QHgZ+ybz4eDgwMcHh7KHk7MvvKcj9Z8X31yNfmO/wPnt25T5ztR7AAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;detail pencarian&quot;
        title=&quot;&quot;
        src=&quot;/static/a9686d67c9f5b2c3bfea50908cea6032/7c811/DETAILDOKTERV2.png&quot;
        srcset=&quot;/static/a9686d67c9f5b2c3bfea50908cea6032/103f2/DETAILDOKTERV2.png 165w,
/static/a9686d67c9f5b2c3bfea50908cea6032/748ba/DETAILDOKTERV2.png 330w,
/static/a9686d67c9f5b2c3bfea50908cea6032/7c811/DETAILDOKTERV2.png 660w,
/static/a9686d67c9f5b2c3bfea50908cea6032/d28e0/DETAILDOKTERV2.png 990w,
/static/a9686d67c9f5b2c3bfea50908cea6032/047c3/DETAILDOKTERV2.png 1208w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Seperti biasa, kalo ada yang mau, file mockupnya, comot ajah, geratis, bebas lu mau pake apa kagak:&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;https://share.getcloudapp.com/RBuvvlwA&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[React Parcel Bundler dan Netlify]]></title><description><![CDATA[bismillah Sebelumnya pengen pake  untuk project pencarian dokter dengan reactJS, tapi kok ya kayak berat ya, pas perintah build atau development, seperti  ataupun . Akhirnya cari…]]></description><link>https://topidesta.my.id/react-parcel-bundler-netlify/</link><guid isPermaLink="false">https://topidesta.my.id/react-parcel-bundler-netlify/</guid><category><![CDATA[react]]></category><category><![CDATA[parcel]]></category><category><![CDATA[atm]]></category><pubDate>Fri, 21 Feb 2020 06:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;Sebelumnya pengen pake &lt;code class=&quot;language-text&quot;&gt;create-react-app&lt;/code&gt; untuk project pencarian dokter dengan reactJS, tapi kok ya kayak berat ya, pas perintah build atau development, seperti &lt;code class=&quot;language-text&quot;&gt;yarn start&lt;/code&gt; ataupun &lt;code class=&quot;language-text&quot;&gt;yarn build&lt;/code&gt;. Akhirnya cari via google alternatif webpack, dapet deh beberapa diantaranya yang rekomended itu &lt;code class=&quot;language-text&quot;&gt;Parcel bundler&lt;/code&gt;, banyak di Github yang udah ready-to-production structure folder untuk development react. hanya saja disini gw ikut meramaikan, hehe, silahkan ke halaman ini:&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;https://github.com/mdestafadilah/react-parcel&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;itu udah ready to-go, termasuk running di netlify :) :) :).&lt;/p&gt;
&lt;p&gt;Ups, ada settingan khusus dinetlify berikut ini settingannya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Masuk ke Site Settings&lt;/li&gt;
&lt;li&gt;Pilih Build &amp;#x26; Deploy&lt;/li&gt;
&lt;li&gt;Edit Publish directory, defaultnya adalah &lt;code class=&quot;language-text&quot;&gt;build&lt;/code&gt; ganti menjadi &lt;code class=&quot;language-text&quot;&gt;dist&lt;/code&gt;
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 41.81818181818182%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABJklEQVR42n1Ri07DMAzs/38ibEMCupbRpU2TNM2rxzkbExIFS6e60fl8thulZ+jZIOcMCbN4tJdP9FeF166v+eQcYeFCgE/pXzTXSaNloZomRIoGPjrvYZcFuWwobFK27QbJicx8D4H1zWwthnGEZ3cREyx06f2CjSSJxDdBvH9LKdiLKihuRq0hwuIwpgxtHdYQK0mKFVdi2WQ2BoY8v650X35BzDR6njFxjytJEos1aI/POJ8OUOd3qPYN7eEJ9jpA/IrrsiP2ELRuoZvwsO0o2L0c0Z6O0B8dzOWDDQ6Y+q6KbSwUwcdef6CObHnBEOONTCSSLTvNKcKRYAl9/zcxYM0Jf0WsR+FeRl64fB+Aj/0w4KJUFa97LfmWy2jSWEbfgTj8AhDHcJl2+WSaAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;netlifyparcel&quot;
        title=&quot;&quot;
        src=&quot;/static/e812f4da0fedc4529f051784c41709f3/7c811/parcelnetlify.png&quot;
        srcset=&quot;/static/e812f4da0fedc4529f051784c41709f3/103f2/parcelnetlify.png 165w,
/static/e812f4da0fedc4529f051784c41709f3/748ba/parcelnetlify.png 330w,
/static/e812f4da0fedc4529f051784c41709f3/7c811/parcelnetlify.png 660w,
/static/e812f4da0fedc4529f051784c41709f3/d28e0/parcelnetlify.png 990w,
/static/e812f4da0fedc4529f051784c41709f3/ed9c8/parcelnetlify.png 1245w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;done.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Haha ... sekian alternatif yang bisa di implementasikan!&lt;/p&gt;
&lt;p&gt;have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[React Movie di Github Siap Dibedah!]]></title><description><![CDATA[bismillah Ini terkait postingan sebelumnya disini: movie react dan karena otak gw terbatas, hanya bisa ATM (Amati, Tiru, Modifikasi), tahap sekarang masih gw TIRU, berikut ini list…]]></description><link>https://topidesta.my.id/source-react-movie-di-github-siap-dibedah/</link><guid isPermaLink="false">https://topidesta.my.id/source-react-movie-di-github-siap-dibedah/</guid><category><![CDATA[react]]></category><category><![CDATA[skillshare]]></category><category><![CDATA[atm]]></category><pubDate>Mon, 17 Feb 2020 08:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;Ini terkait postingan sebelumnya disini: &lt;a href=&quot;https://topidesta.netlify.com/project-react-movie-dari-skillshare&quot;&gt;movie react&lt;/a&gt; dan karena otak gw terbatas, hanya bisa ATM (Amati, Tiru, Modifikasi), tahap sekarang masih gw &lt;strong&gt;TIRU&lt;/strong&gt;, berikut ini list source movie react yang gw coba tiru dan pelajari lalu modifikasi :) :P:&lt;/p&gt;
&lt;h3 id=&quot;web-base&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web-base&quot; aria-label=&quot;web base permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web base&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/react-movie-searcher&quot;&gt;https://github.com/topidesta/react-movie-searcher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/movieapp&quot;&gt;https://github.com/topidesta/movieapp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/ReactMovieDB&quot;&gt;https://github.com/topidesta/ReactMovieDB&lt;/a&gt; (mirip dengan Tuturial Di Skillshare)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/movie-searcher&quot;&gt;https://github.com/topidesta/movie-searcher&lt;/a&gt; (parcel bundler)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/MovoDB&quot;&gt;https://github.com/topidesta/MovoDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/react-movie-list&quot;&gt;https://github.com/topidesta/react-movie-list&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/react-movie-app&quot;&gt;https://github.com/topidesta/react-movie-app&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/movie-library-react&quot;&gt;https://github.com/topidesta/movie-library-react&lt;/a&gt; (design simple bagus!)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/sweet-movie-app&quot;&gt;https://github.com/topidesta/sweet-movie-app&lt;/a&gt; (ada error kalo pake yarn)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/watchlist&quot;&gt;https://github.com/topidesta/watchlist&lt;/a&gt; (harus login/ daftar ke TMBD)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/react_movie_app&quot;&gt;https://github.com/topidesta/react_movie_app&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/Movie-Bear&quot;&gt;https://github.com/topidesta/Movie-Bear&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/sampleMovieList&quot;&gt;https://github.com/topidesta/sampleMovieList&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/reactMovies&quot;&gt;https://github.com/topidesta/reactMovies&lt;/a&gt; (desing simple juga, bagus!)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/react-imdb&quot;&gt;https://github.com/topidesta/react-imdb&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;native-base&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#native-base&quot; aria-label=&quot;native base permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Native base&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/MovieTickets&quot;&gt;https://github.com/topidesta/MovieTickets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/DoubanMovie-React-Native&quot;&gt;https://github.com/topidesta/DoubanMovie-React-Native&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/react-native-movies-app&quot;&gt;https://github.com/topidesta/react-native-movies-app&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/React-Native-Actors-In-Movies&quot;&gt;https://github.com/topidesta/React-Native-Actors-In-Movies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/Movie-React-Native&quot;&gt;https://github.com/topidesta/Movie-React-Native&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/react-native-movie&quot;&gt;https://github.com/topidesta/react-native-movie&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/MovieTickets-1&quot;&gt;https://github.com/topidesta/MovieTickets-1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/21mobile&quot;&gt;https://github.com/topidesta/21mobile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/topidesta/ReactNativeMovie&quot;&gt;https://github.com/topidesta/ReactNativeMovie&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Done. ups, banyak juga ya? hehe. namanya juga copy-paste untuk baca logicnya, postingan selanjutnya bisa jadi gw bedah secara detail, dan kebetulan udah gw fork, jd bebas kita custome. :)&lt;/p&gt;
&lt;p&gt;have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Project React Movie dari SkillShare.com]]></title><description><![CDATA[bismillah Langsung ajah ini alamatnya: https://www.skillshare.com/classes/Beginner-React-Movie-App-Hooks-API-and-Styled-Components-2019/1385179036 dan gw masih proses ikutin…]]></description><link>https://topidesta.my.id/project-react-movie-dari-skillshare/</link><guid isPermaLink="false">https://topidesta.my.id/project-react-movie-dari-skillshare/</guid><category><![CDATA[react]]></category><category><![CDATA[skillshare]]></category><pubDate>Fri, 14 Feb 2020 14:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;Langsung ajah ini alamatnya:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.skillshare.com/classes/Beginner-React-Movie-App-Hooks-API-and-Styled-Components-2019/1385179036&quot;&gt;https://www.skillshare.com/classes/Beginner-React-Movie-App-Hooks-API-and-Styled-Components-2019/1385179036&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;dan gw masih proses ikutin tutorialnya, lumayan, meski penjelasannya bukan level &lt;strong&gt;noob/ basic banget&lt;/strong&gt;, lebih ke intermediet, alhamdulillah masih bisa gw ikutin, karena sebelumnya gw ikut tutorial di Lynda.com ... &lt;code class=&quot;language-text&quot;&gt;became react js developer&lt;/code&gt; jadi sedikit faham, kurang lebih syntact ES2016 script, dan beberapa logic script yang dividio skillshare.&lt;/p&gt;
&lt;p&gt;Setiap Progres gw upload di Github pribadi, bisa diakses dihalaman ini:
&lt;a href=&quot;https://github.com/mdestafadilah/react-movie&quot;&gt;https://github.com/mdestafadilah/react-movie&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Dan, lagi lagi ... gw kudu belajar dari script orang juga ... dulu belajar PHP/ Codeigniter, eh sekarang belajar JavaScript/ React, kudu dari script orang juga ;( ;( emang sih nantinya gw punya logic sendiri, cuman, gak pro banget kayaknya haha, gpp lah yang menting gw usaha dan baca dokumentasi juga, bismillah paksakan ...&lt;/p&gt;
&lt;p&gt;Oya, karena tipe belajar gw &lt;strong&gt;ATM&lt;/strong&gt; (Amati, Tiru, Modifikasi) akhirnya 2 website kadang jadi rujukan buat pencarian di mesin pencari gugel ..&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/&quot;&gt;https://stackoverflow.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/&quot;&gt;https://github.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;dan, pada saat ikutin tutorial di skillshare pun, tak luput gw cari tau dengan keyword &lt;code class=&quot;language-text&quot;&gt;react-movie&lt;/code&gt;, bum ... hasilnya menakjubkan, ada 6.811 project!, banyak programmer dibelahaan dunia lainpun yang bikin project sama, jadi ATM gw otomatis bekerja, hehe.&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;https://github.com/search?o=desc&amp;amp;p=1&amp;amp;q=react-movie&amp;amp;s=stars&amp;amp;type=Repositories&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Postingan lain mungkin gw bakal bahas, project di github yang membuat project pencarian film dengan teknik webbase ataupun nativebase, gw udah list tinggal coba atu atu, gw tiru, modifikasi, comot sana comot sini, buat project gw selanjutnya. masih rahasia. hehe&lt;/p&gt;
&lt;p&gt;sekian, have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Belajar Hook di React Pondasi FLUX]]></title><description><![CDATA[bismillah Karena gw tipe belajar yang lama, lama pahamin gampang melupakan, jadi lagi belajar di Lynda.com,  dapat materi tentang REDUX, gw skip dulu. Gw pengen belajar dasar dulu…]]></description><link>https://topidesta.my.id/belajar-hook-direact-sebagai-pondasi-flux/</link><guid isPermaLink="false">https://topidesta.my.id/belajar-hook-direact-sebagai-pondasi-flux/</guid><category><![CDATA[react]]></category><category><![CDATA[skillshare]]></category><pubDate>Mon, 10 Feb 2020 03:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;Karena gw tipe belajar yang lama, &lt;strong&gt;lama pahamin gampang melupakan&lt;/strong&gt;, jadi lagi belajar di Lynda.com, &lt;code class=&quot;language-text&quot;&gt;Became React.JS Developer&lt;/code&gt; dapat materi tentang REDUX, gw skip dulu.&lt;/p&gt;
&lt;p&gt;Gw pengen belajar dasar dulu, redux udah level advanced level kebutuhan aplikasinya beda, jadi redux itu semacam implementasi dari arsitektur FLUX, FLUX sendiri dikembangkan oleh Tim Fesbuk di React. sedangkan FLUX yang dipakai di React sendiri namanya HOOK, jadi keduanya adalah &lt;code class=&quot;language-text&quot;&gt;state management&lt;/code&gt; setiap komponen yang dibutuhkan, dan tergantung kebutuhan.&lt;/p&gt;
&lt;p&gt;nah, karena gw subscribe beberapa video pembelajaran yang terbatas (ada waktu 2-3bulan), dapat pembahasan tentang hooks, sanpai pembuatan project realnya di &lt;code class=&quot;language-text&quot;&gt;skillshare.com&lt;/code&gt; diantaranya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.skillshare.com/classes/Introducing-the-React-Hooks/1058267682&quot;&gt;https://www.skillshare.com/classes/Introducing-the-React-Hooks/1058267682&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.skillshare.com/classes/Beginner-React-Movie-App-Hooks-API-and-Styled-Components-2019/1385179036&quot;&gt;https://www.skillshare.com/classes/Beginner-React-Movie-App-Hooks-API-and-Styled-Components-2019/1385179036&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.skillshare.com/classes/React-Hooks-Building-Real-Project-From-Scratch/1029373557&quot;&gt;https://www.skillshare.com/classes/React-Hooks-Building-Real-Project-From-Scratch/1029373557&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ini hanya sebagai list pengingat ajah, kalo ada yang kebetulan sama lagi belajar, yuk sama sama belajar, yuk kita punya kemampuan &lt;em&gt;frontend&lt;/em&gt; yang lebih baik, semoga pendapatan kita juga membaik.&lt;/p&gt;
&lt;p&gt;Have A Nice Day!&lt;/p&gt;
&lt;p&gt;#done&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Trick Membuat Video Streaming Full HD]]></title><description><![CDATA[bismillah Pas lagi pengen belajar ya, sesuai dengan yang gw pengen, dan kebetulan dapet free premium, 2 bulan di skillshare.com eh pas streaming kualitasnya berasa file 3gp jaman…]]></description><link>https://topidesta.my.id/trick-memubat-video-streaming-fullhd/</link><guid isPermaLink="false">https://topidesta.my.id/trick-memubat-video-streaming-fullhd/</guid><category><![CDATA[react]]></category><category><![CDATA[skillshare]]></category><pubDate>Thu, 06 Feb 2020 03:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;Pas lagi pengen belajar ya, sesuai dengan yang gw pengen, dan kebetulan dapet free premium, 2 bulan di skillshare.com eh pas streaming kualitasnya berasa file 3gp jaman kibenen...
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 53.93939393939393%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABdUlEQVR42q2SS0/CQBSF+ycoj75ftAWDbkgkAi1FiL/euBAT2QmUjRSmPGSh9DgzRhRjjCRMcjIzp+mXM/deQbVcaKYHWbVQ0m0UZA1iUdkrV5ChUL8VXiPs9hFEPQSdHtpUQdRH1LvhYme3egFB1h3Y7hk814NZ9qCbFmRF51I1E2K+hHa7g3g8wSpdYvY8QzJLkNCdzBfYvmy5FmSJ27t7CIpmoezV4JR9GJZN5UBRjT0wJxYRhF2kJAVbWZbhYNFrtvvwNpsNBFW34Po12LbHAZpuQlEMLo1+E/MSQgokc8J/2r3ukL1lB2IeA6/SFQPa0CiIJWLJeDp6VzXjK2EQ/Qu4Xq4h6BToORW4lXP4fpXvplultbR5wqOBEnueSpugmvuECk0r0W6zc04s8RoeBfzs6k/xJ9MuN1vh6YBsbC4bV1gki9MBG40mCCG/j803j4/NX0BWw3xBQr1+icHgAdN4itHTCOPR+EDMiycxho9DvAORGy/jMeX0UQAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;kualitas 3gp&quot;
        title=&quot;&quot;
        src=&quot;/static/7f794b1d39941bb4b1b41d88ba78ddab/7c811/skillshare1.png&quot;
        srcset=&quot;/static/7f794b1d39941bb4b1b41d88ba78ddab/103f2/skillshare1.png 165w,
/static/7f794b1d39941bb4b1b41d88ba78ddab/748ba/skillshare1.png 330w,
/static/7f794b1d39941bb4b1b41d88ba78ddab/7c811/skillshare1.png 660w,
/static/7f794b1d39941bb4b1b41d88ba78ddab/f7121/skillshare1.png 899w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;dan ini connect ke laptop.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 78.7878787878788%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACL0lEQVR42q2UyW4aQRRFm6EhQGwmgxtoeqAbsP0BIY6VGCc/4Rh/TQzON7FiHrwIKCwQEgtYQwQskRhuqgrjgAUyi5R09Fo9HN3XpVdcNptFLpdDpVJBuVw+mEKhgFKp9HKdz+dRLBbB8bwFHMe9icFg2IvRaGTv8Bbi4i1WWHgeVqsVJpNpp8xsNu99xjBwsNvewWazg/N4vVAjGmRJhefEB8f7oy1sdgf8pwGcCgEcO11wuT1bOJ1uOF1uRKMxCIEQODv5SIzEEIlEocXiUKIaQmEZQVFi9cQv4EPiEo1GE78aDdSe6qhWa6jV62g0m2i322j+bqFQfcJ1MgnOcXQMWY1Cj51D1TRIqgpRkhEIhZnQ7fXh5uYb6JrP5+j3++h2u+h0Omi1Wuj1ephOp+z57e33lVAh6RQ9vkolSaSGGVRMf0My+RWLxQKTyQTD4RCj0Qjj8ZjVwWCAP+QeXalUigiPnYgoGjQtxlrWY2ek7TOSVIMoKyzhNRHuW8vlkvFPSBKKpDVRoq0qL2y2vClcC9bQ5JQtYYC0JwRFBAjruk94UEL676jgNWvh5y/J/yWUyKb4kbi8Yju8i9lsxqDr7o4I7RstC8+tbiakwo+frg5LeH9PEzoRllcbQhP5hSB8ZDIo9JoK9WgcPx7SeEhnkM487iTz+BOJRAKckcyoaYN9B8BbBwetDjKmnImcNkz2fACw+gozOTwogiBA13UyppEtNDJhsiLj4vwCfwGf9plbKyp7ZwAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;kualitas fullhd&quot;
        title=&quot;&quot;
        src=&quot;/static/f28c2fcc18fd5be68550f26e454fe4d1/7c811/skillshare2.png&quot;
        srcset=&quot;/static/f28c2fcc18fd5be68550f26e454fe4d1/103f2/skillshare2.png 165w,
/static/f28c2fcc18fd5be68550f26e454fe4d1/748ba/skillshare2.png 330w,
/static/f28c2fcc18fd5be68550f26e454fe4d1/7c811/skillshare2.png 660w,
/static/f28c2fcc18fd5be68550f26e454fe4d1/45d60/skillshare2.png 807w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;nah loh, apa yang mau lo liat? haha,akhirnya download 2 tools getFlv dan iStudio ... semua berbayar dan lagi lagi free cuman 1 menit, ah seteres, akhirnya coba deh koneksiin ke laptop, dan bisa ... ini trick simplenya&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Search di windows &lt;code class=&quot;language-text&quot;&gt;connect&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Aktifkan Tampilan Wi-Fi (Vivo F5 Plus)&lt;/li&gt;
&lt;li&gt;Done&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Simple, and Ready To Rock!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Website Persahabatan diHack]]></title><description><![CDATA[bismillah Lagi iseng pengen backup file website, tetiba muncul notif virus trojan oleh Antivirus ESET NOD32, kurang lebih ini file trojan yang sudah diupload di folder  PHP/Agent…]]></description><link>https://topidesta.my.id/website-persahabatan-di-hack/</link><guid isPermaLink="false">https://topidesta.my.id/website-persahabatan-di-hack/</guid><category><![CDATA[hacker]]></category><category><![CDATA[kantor]]></category><pubDate>Wed, 05 Feb 2020 08:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;Lagi iseng pengen backup file website, tetiba muncul notif virus trojan oleh Antivirus ESET NOD32, kurang lebih ini file &lt;strong&gt;trojan&lt;/strong&gt; yang sudah diupload di folder &lt;code class=&quot;language-text&quot;&gt;files&lt;/code&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://www.virusradar.com/en/PHP_Agent.NGN/description&quot;&gt;PHP/Agent.NGN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.virusradar.com/en/PHP_WebShell.NES/description&quot;&gt;WebShell.NES&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.virusradar.com/en/HTML_Iframe.B/description&quot;&gt;HTML/Iframe.B&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.virusradar.com/en/PHP_C99Shell.NAG/description&quot;&gt;PHP/C99Shell.NAG&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.virusradar.com/en/PHP_Agent.MK/description&quot;&gt;PHP/Agent.MK&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Keren kalian hacker bazingan ... 🤣🤣🤣. &lt;del&gt;Gw bukan hekel, jadi gak tau cara kerja bisa upload ini file&lt;/del&gt;, ada banyak cuy, hebat ... 👏🏻👏🏻👏🏻&lt;/p&gt;
&lt;p&gt;Kurang lebih ini filenya:
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 585px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 30.303030303030305%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABAElEQVR42nWQjW6DMAyEef93LAXUdivkFxJCEsLVTtmmTZol60A5fbavWZYF99sdIWzgOo4Df4s9Skk45+q7Mab2gR9vCCv5HBprDfquh5IK/9U8zxBCVGUgw5WUv4av3tP7gkYQqG079P2AlHcUMr0bZxNAG4yTgDYWe+ENLVa6iHF7QVW/brA0sPkUBpfrgLa7YUsEZBM5En3Es59C4/EUmJRFyIX+FSZpkE9fIp0JKA1t+DHQdl2HB+WotYakUwxpiglnqHSi+j65lAKOib1hDYgxVlvctpp1M04jrpe2ZuKdr8E70pzzmc5Bp9iaGwN3Bpo3MNLQL5+nDN3i8AKWmNA5mK2xjAAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;hekel1&quot;
        title=&quot;&quot;
        src=&quot;/static/6705a63f39639308dc11bf93ac5f2708/51d84/hekel1.png&quot;
        srcset=&quot;/static/6705a63f39639308dc11bf93ac5f2708/103f2/hekel1.png 165w,
/static/6705a63f39639308dc11bf93ac5f2708/748ba/hekel1.png 330w,
/static/6705a63f39639308dc11bf93ac5f2708/51d84/hekel1.png 585w&quot;
        sizes=&quot;(max-width: 585px) 100vw, 585px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 589px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 160.60606060606062%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAgCAYAAAASYli2AAAACXBIWXMAAA7EAAAOxAGVKw4bAAADP0lEQVR42oVWbXOyMBDs//95z4y2VV4CqIgGCIgCou5zlyBSCS0zfpCBze3e7h0fkfuNSISId3tcr1e8X4/HA4VSyPMcRVGgu91QnSqo/t7lctHPtW2Dc3XGR7BaQLgeAj+APKZWQEUvpmmKnEAY8FSWGozvnatKP1fXNU500IdYLeGuHWRZhqZucb/fJ4B5Ri9nBvDGgKcR4LnqK2x/AgohsN3s0HW3SZVFoQgwGyg/AbM0I8CzfqZpGi2FBvQcV1M+Jkc7ZZVDUjXqSfk0pcyAQ4WB5yMKN1pUG2BO1RnKOa5dZ6V8oUo1YECAkQiwiSJso43WaNqUjOiZCp8aKk15BEjd1oDO1xKOK+CJDVJVoe4eaAjz+eP/e5lhl6RIUoWq6SBViUTmiA90UHnG9UE6n2uoggCXyyX+fXpYrELI6oqiBVTz+uX1A2GSQ8QS0aFAfrljK8v+Xoo4q1CSfQ9lSwcRoP+9MBoGIdmmtmvIlEnDkvw3R3nosv+9hO+6CAkwiZOZLpNtyCJaw27c5Zdt6rrXUFCFnuMgoobYksJXSf6TUuqusk9tSWmaUVJ88qHnePRiOUPZJCWjxHTvtnmPHmvoUVICsk6eK0Kw+1DKFAVVxtEsS0tS6l7DYP2pm3I4HK10h6QQZdZQS1DasjwkZUFNMYC3290GaZrCScnno/ei3Gd5H+/RzcxD1WvIgLe/ALkpIem328azWWbKxyNRpm5zxUxZzU0bbgpTFqSjpJdOZaVB3rvMGvL44v+/asiAwvepywIpdbJt2ikgdzmVmvIEcKDcG5u7zLHbbeLZnWLmodQgc5QHDZ+22dOSeh9dpsdmSfGALbTx7RW+BiwBclOOBwn79QSUesDOU67HlAMk+8ReYb9GeacwyDh6P5MypkxN2W621gX1HF/Ghzkd2v2xU6jLzmpN43+rT7cB8ixk2wwVlvY1WlUjY8e75IddJtOGdwr5cDwcrIBMOQyMB+eGQ/H8cvglegNln4ZD4AvEFL36Us9QNhoqHg7dHxoG6yV927hYr5whCdPhwCvAJGVC2eZD4XnYk23Y/TworYte7+Vew98+RQLnSyel7oFsFZqJbbo8rXAcvRP+A46VnMx7JbBGAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;hekel2&quot;
        title=&quot;&quot;
        src=&quot;/static/cfd6b35f2cea8cb5a2c9391881f53540/49bab/hekel2.png&quot;
        srcset=&quot;/static/cfd6b35f2cea8cb5a2c9391881f53540/103f2/hekel2.png 165w,
/static/cfd6b35f2cea8cb5a2c9391881f53540/748ba/hekel2.png 330w,
/static/cfd6b35f2cea8cb5a2c9391881f53540/49bab/hekel2.png 589w&quot;
        sizes=&quot;(max-width: 589px) 100vw, 589px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 597px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 152.12121212121212%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADhklEQVR42n1W2ZaaUBDk//8rrzmTl4wadWSZiayX3XEEOlXNIuIQzuEI0tSt6q7uixWZXOyTI57rSpZlsjzatpU0NZIkiT5vm0aSOJH6cnmI4/PPz6tYUZqLY7vy7npyu91WAFOJ41jyvND7PM+luTX6vOs6/S2KAoCfYnlhJsfjSY5/DnLFCn3QI2CSxBKGoWQA4j3BLwPDJ0AXgJ77LiYxU8D8VIZZqpKU4Si5qmW+OtNxvULy8Wxku9khj/aqZIJFUYSXeoZBECijOUOmYZDc59BDDrlqWZZSIrjQs9RFCgT3DHMAtGKMkUt9eWBYVWXP8PDXyGazBcuNSueLfCGGLF4ziDnzA18S/E+GYRhJvQCk5MvnRSwbku0TGHqe5FmhIKMcjQcAgxPTMySgQdUpb4oBqDH94pYdsMpvymLMGc+Hogy2GavMRVer/Oansnndin/2HwKWRQmjECxSaVBltU39CEgVk21O6JQQlePLa8YeO4WAzPEouZuKUvWSd04oe5h697qRj/ePJ9CRYRAGCqQMYSFe0xFfX18ax+sLGdKsjm2rnO8kd0OrEUBbrm2UKS01j+WzK8CtoizksD+I63jSLsBGhszZ2T/rLxmyDZmG+UHjs1AWK8dJE/i+eqttu9XhQFlkxfu5tbQo6dB6pG9DsuM4mpu1HBIwHYqiFlqMunQolMWVKJkzsVuRzPzRBTQ0YxQwfQTMR9sQ0AU7ThAtwgKQAGRDEMZqVyy6qS/KTPL+z14nyP+MzaSTIYdFFEdPRamQ34mhhwovJcwBM6xutBDlZJsS1/OjruueoeYQxqYV1gDJzocLUnhVp01wt828lyfbuBiuHJ6rDMGIhakwLzWnA9tHhkPrVTC2fTrBh4Hcmma1ymTJJhir/FyU/D4cjocTenk7rTovzNgpWhTMPPowwoBdxk7TxglobEeD1iSTYaLb6H3Xq4ZN6mkecpN6BTvPcWEP8yRbbWPmm1Tfy6ubFCVzx7Mxtb/7cuAL3KT49aDTBguyzeolQ04bFsXzE7GxOYUR9gzkhZ3cdPfzq8G2GcXygYkeopt4f/ZDiWChGh8GjOE73NQqDBdr40by4/eHbJObHOCcHTpwZ+7nNmnlxc3k58nIL7fA805eHN6n8uIVGrOHsBc8CwswDJCb3W6PvMRP7EaGMXL7F7aKuafgvwAF5GnQXbynaKrjB9Q/L0EQm87b1loAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;hekel1&quot;
        title=&quot;&quot;
        src=&quot;/static/8005bb018c582b6a007e8b05861e2eaa/f523d/hekel3.png&quot;
        srcset=&quot;/static/8005bb018c582b6a007e8b05861e2eaa/103f2/hekel3.png 165w,
/static/8005bb018c582b6a007e8b05861e2eaa/748ba/hekel3.png 330w,
/static/8005bb018c582b6a007e8b05861e2eaa/f523d/hekel3.png 597w&quot;
        sizes=&quot;(max-width: 597px) 100vw, 597px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Setelah dianalisa, ternyata folder &lt;code class=&quot;language-text&quot;&gt;files&lt;/code&gt; rwxrwxrwx ... OMG ... haha. dannn.... kelemahan dari KCFinder. :(&lt;/p&gt;
&lt;p&gt;Nama Hackernya yang keren dan Ganteng.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hacked By Tn.Angel&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/whoami-45&quot;&gt;https://github.com/whoami-45&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mr.3L€NK ( RADEN KRAMAJAYA )&lt;/li&gt;
&lt;li&gt;Tested By AzwarHensem&lt;/li&gt;
&lt;li&gt;Hacked by Hentai Haxor&lt;/li&gt;
&lt;li&gt;Pwnd By Nzul Xsexurity7&lt;/li&gt;
&lt;li&gt;Kentoted By NzXsx7 feat Fake Friends&lt;/li&gt;
&lt;li&gt;Hacked by ./AlfanXploit - Cowok Tersakiti Team&lt;/li&gt;
&lt;li&gt;Powered By Indonesian Darknet&lt;/li&gt;
&lt;li&gt;HACKED BY CH33KS&lt;/li&gt;
&lt;li&gt;Deface By XRRXIY&lt;/li&gt;
&lt;li&gt;Hacked By zorgon&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Silahkan cari celah dan Panggung, cuman jika secara Resmi RSUP Persahabatan melaporkan kalian jangan pada Nangis ya.&lt;/p&gt;
&lt;h2 id=&quot;update&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update&quot; aria-label=&quot;update permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Update&lt;/h2&gt;
&lt;p&gt;Setelah cek beberapa aplikasi ternyata upload hanya ada di folder files yang memang default 777 ... sekarang lagi bandingkan development dengan GatsbyJS atau BackdropCMS ... akhirnya pake &lt;a href=&quot;https://getgrav.org/downloads&quot;&gt;GravCMS&lt;/a&gt; :), flatfile cms with php supports.&lt;/p&gt;
&lt;p&gt;Untuk sekarang fungsi upload via cms di non-aktifkan. setiap yang mau isi content pake cms tapi kalo mau tambah foto atau file pdf, harus lewat win-scp.&lt;/p&gt;
&lt;p&gt;Untuk yang mau file hacker yang terupload bisa cek di github ya:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;https://github.com/rspersahabatan/hacker.git&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Everything is done!&lt;/p&gt;
&lt;p&gt;👌 👈 👌 👈 👌 👈&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Dua Cara Binding Set State di React]]></title><description><![CDATA[bismillah Lagi ikutin langkah menjadi ReactJS developer dari Lynda.com, ini linknya:
https://www.lynda.com/learning-paths/Web/become-a-react-developer nah, dibagian tutorial bu…]]></description><link>https://topidesta.my.id/dua-cara-binding-set-state-di-react/</link><guid isPermaLink="false">https://topidesta.my.id/dua-cara-binding-set-state-di-react/</guid><category><![CDATA[react]]></category><category><![CDATA[lynda]]></category><pubDate>Sun, 02 Feb 2020 08:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;Lagi ikutin langkah menjadi ReactJS developer dari Lynda.com, ini linknya:
&lt;a href=&quot;https://www.lynda.com/learning-paths/Web/become-a-react-developer&quot;&gt;https://www.lynda.com/learning-paths/Web/become-a-react-developer&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;nah, dibagian tutorial bu ello &lt;code class=&quot;language-text&quot;&gt;React.js Essential Training&lt;/code&gt; section &lt;em&gt;Using setState&lt;/em&gt;, ada 2 teknik untuk memaparkan lemparan data kalo direact disebut setstate, teknik #1&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token function&quot;&gt;constructor&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;props&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;props&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;state &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token literal-property property&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;// cara #1&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;toggleOpenClosed &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toggleOpenClosed&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;bind&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token function-variable function&quot;&gt;toggleOpenClosed&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setState&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;token parameter&quot;&gt;prevState&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token literal-property property&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;prevState&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;open
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Penjelasan singkat:
sebuah object data open bernilai false, disimpan dikonstraktor, yang sifatnya global, dan dibuat fungsi onClick namanya &lt;code class=&quot;language-text&quot;&gt;toggleOpenClosed&lt;/code&gt; dengan menggunakan setState, dengan objek yang bernilai kebalikan dari false, berarti true, &lt;code class=&quot;language-text&quot;&gt;!prevState.open&lt;/code&gt; dah getu aja.&lt;/p&gt;
&lt;p&gt;dan ini trick ke #2&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;state &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token function-variable function&quot;&gt;toggleOpenClosed&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setState&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;token parameter&quot;&gt;prevState&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token literal-property property&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;prevState&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;open
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;done. nah kan ada yang lebih simple.&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Ajax Request di React - Lifecyle Event]]></title><description><![CDATA[bismillah Jika di Javascript kita mengenal Ajax request untuk menghandle tampilan data setelah ada permintaan, direact pun sama ada sendiri, dikenal dengan Lifecycle events, jika…]]></description><link>https://topidesta.my.id/ajax-request-di-react-lifecycle-event/</link><guid isPermaLink="false">https://topidesta.my.id/ajax-request-di-react-lifecycle-event/</guid><category><![CDATA[react]]></category><category><![CDATA[udacity]]></category><pubDate>Sun, 19 Jan 2020 03:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;Jika di Javascript kita mengenal &lt;em&gt;Ajax request&lt;/em&gt; untuk menghandle tampilan data setelah ada permintaan, direact pun sama ada sendiri, dikenal dengan &lt;strong&gt;Lifecycle events&lt;/strong&gt;, jika direact nampilin data dengan method &lt;em&gt;Render()&lt;/em&gt;, hanya menampilkan ini belom request/ fetch data, nah method untuk request/ fetch data ini dikenal dengan lifecycle events, diantaranya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;componentDidMount()&lt;/strong&gt;
dipanggil saat komponen sudah &lt;em&gt;dimasukkkan&lt;/em&gt; ke DOM&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;componenetWillMount()&lt;/strong&gt;
dipanggil sebelum komponene &lt;em&gt;dihapus&lt;/em&gt; dari DOM&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;getDrivedStateFromProps()&lt;/strong&gt;
dipanggil saat komponen dipakai dan ketika ada props baru&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;ingat, method &lt;em&gt;Render()&lt;/em&gt; hanya untuk menampilkan data, jangan sesekali menambahkan fungsi fetch data didalamnya!, gunakanlah &lt;strong&gt;componentDidMount()&lt;/strong&gt; untuk menghandle fetch/ request data.&lt;/p&gt;
&lt;p&gt;dah itu ajah, contohnya bisa cek disini: &lt;a href=&quot;https://reactjs.org/docs/react-component.html&quot;&gt;https://reactjs.org/docs/react-component.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;bonus:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 49.090909090909086%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABqklEQVR42oVSi26jMBDM//9faHslLQ8nogSI3+ZhM911mugqnXREo5W9y+wwkwP+8yzLAmM0wcA5B600FCGl9M/5w9+HGCPWdX2Cz/M8w1kHa2wmZGLGo891Y2xbxi/CEDxu04DLWWAcenhnYa2l+4BxHFHXDalTCHOAsfcFfd9DCIGvrw7eexweW7DvUMZDDA4fYoS4WoyKlFmTSVmVUpKUmqdKJuQeL7E/Cw7TNOF8uUBr8sYEVJ1FUV6oGgySFEuJYZwgpcpVaUNqepq/E7KqB3kmDHTBw8syY9JEeI2o+hX1EAkJb63Bn7PHZ59w6lbqJ5RdxEjL2JIcFIl5ErKRM5FtGwXgJVZTI6gKq21hphPU9R12+iCcsFBvc+I+4yS9k7CnnULZcupbpFBYbtu25IGjBm3UFeRQwmp6yQh43cKbBnIsoYjU6waza7HMBsu2ws+ObJC5rttCCikQNjTFBBMsXsU7jtULiuYNNyshvUJzE/TZJYrqNffriQQESlh2KOoj3R/x0hQY9PX33yalmKXvlDhXBnvrOU2zZlt2+qUYn32efYDP37xtAV3CZHK+AAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;lifecycle-react-in-table&quot;
        title=&quot;&quot;
        src=&quot;/static/4d35b936732bea4dbcca4f99f317b2d7/7c811/lifecycle-react-in-table.png&quot;
        srcset=&quot;/static/4d35b936732bea4dbcca4f99f317b2d7/103f2/lifecycle-react-in-table.png 165w,
/static/4d35b936732bea4dbcca4f99f317b2d7/748ba/lifecycle-react-in-table.png 330w,
/static/4d35b936732bea4dbcca4f99f317b2d7/7c811/lifecycle-react-in-table.png 660w,
/static/4d35b936732bea4dbcca4f99f317b2d7/d28e0/lifecycle-react-in-table.png 990w,
/static/4d35b936732bea4dbcca4f99f317b2d7/890d8/lifecycle-react-in-table.png 1103w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;sumber: &lt;a href=&quot;http://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/&quot;&gt;http://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/&lt;/a&gt;&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Balsamiq Keyboard Shortcut Di Windows]]></title><description><![CDATA[bismillah berikut ini syntact cepat untuk membuat design dengan balsamiq mockup ... ups, gw dapet dari tutorial yang gratis tapi lewat web resmi, ini buktinya:  https://www…]]></description><link>https://topidesta.my.id/balsamiq-keyboard-shortcut-di-windows/</link><guid isPermaLink="false">https://topidesta.my.id/balsamiq-keyboard-shortcut-di-windows/</guid><category><![CDATA[design]]></category><pubDate>Tue, 31 Dec 2019 16:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;berikut ini syntact cepat untuk membuat design dengan balsamiq mockup ... ups, gw dapet dari tutorial yang gratis tapi lewat web resmi, ini buktinya:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 47.27272727272727%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACXklEQVR42k2S20uTcRjH38ryUGIURiHlEct06uY8zeWch6ZmZlIieFlRdBlFKEKFoTicus286l/otogoki5SMs08ROrmfOfr5tLwVJNMP/187cIHPjyHiwe+z/eRNKZy8spr0RVfRmuuIq24gqScIuJ1F4jTGUkQJGWbVKoabtFw+wF1N+9xOsNIrN7EqawijmsMRAvCk/VID5se4+xy0trSRntrO7Z2G45Oh8rO3G7rxtpmxWa10WntxN7ppNvmINNgJjLdSESqASk2g/2JWRw8m4v04eMgwfXf+Ob9BIMb7MT29jYLPj+bm5tqvyHm62vryB4vgfkfLPqX0FbVclhTQERaAVKclgNJesJS8pFevunDJyss/1wm+CvIrEdhbMLF+DcXHtmvsri0QiCwxPDgMJ7pWWbdMgU11zkpJJ8xWEQ2c0JnIipdLH8lFs66PKwsr/JnY4PhUTfv+ycZm/QxMR1gfMqPrCwRWFxl7OsE8/I88oyXsrp6Us0W9BW1aEoukWwsJSbHjPS2r58FxSfkBlWJy6tr7MY2e+Pv1hauKTcBZQGf14e2skZIzOPQuXxCknMJEZJDRS11PH/B63cDuKbdzLg9jE98R5nz4ZXnBIrKnFdBFv2ngc98GRphZGiUDEs1R4Szx3RmojILhTkFhO7c0FJ/lxt37tPy6AnP7A66Omz0OnvUusdup9fhFG53i9wjPuEpzY2NNDc1kVxYwtFME9HZpaoxYefzdxdGZpQRk1tJ5sUasiquobXU/ufqnnoXTekVca9q0gThKeJF4rXsE+8iJeh2SdTxD91Jy9JMMxDNAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;bukti-balsem&quot;
        title=&quot;&quot;
        src=&quot;/static/e2e3a2d1aea0603a4c6235742b3c36a5/7c811/ini-buktinya-balsem.png&quot;
        srcset=&quot;/static/e2e3a2d1aea0603a4c6235742b3c36a5/103f2/ini-buktinya-balsem.png 165w,
/static/e2e3a2d1aea0603a4c6235742b3c36a5/748ba/ini-buktinya-balsem.png 330w,
/static/e2e3a2d1aea0603a4c6235742b3c36a5/7c811/ini-buktinya-balsem.png 660w,
/static/e2e3a2d1aea0603a4c6235742b3c36a5/d28e0/ini-buktinya-balsem.png 990w,
/static/e2e3a2d1aea0603a4c6235742b3c36a5/bb51b/ini-buktinya-balsem.png 1320w,
/static/e2e3a2d1aea0603a4c6235742b3c36a5/28c38/ini-buktinya-balsem.png 1437w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://www.skillshare.com/classes/Rapid-Wireframing-Finding-the-Right-Product-Design/1947996659/projects&quot;&gt;https://www.skillshare.com/classes/Rapid-Wireframing-Finding-the-Right-Product-Design/1947996659/projects&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;berikut ini screenshoot cara pemanfaatan balsamiq dengan keyboard shortcut:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Membuat Frameborder/ Rectangle (R + Drag Mouse)
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 65.45454545454545%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA+0lEQVR42u1Sy07DMBD0RyFKadokjYrb0ENedujX0DyafDBNbAmSYTdInJCQaI5YGu1qZnbklS36aw/TmW/Y3v6I33RGd+0g2IQRwHAjKIMvJzj5P/DPgfwe8wea3swbyHuPHyOG9+EmcEb3Rv/QWlp5pmONhajKCu2lRVVUaKhe6gbFuaS+AWvMl0VJqCaO0TYt6rKeePazj/XzawER+D50liGJImRJApWmSKN44l60hiIuzxRypXAMQxyknOpJ59DsjeNp7kRe11lD3DkeHv0nrLYSS2+HJffBHg/UO1RXgYQrj9jsQiw2ARbuF1jziGc/z7vyGffrLT4BTySUe0S8PfMAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;bukti-balsem&quot;
        title=&quot;&quot;
        src=&quot;/static/d2d137f096be8737d40a68c20702a341/7c811/1.png&quot;
        srcset=&quot;/static/d2d137f096be8737d40a68c20702a341/103f2/1.png 165w,
/static/d2d137f096be8737d40a68c20702a341/748ba/1.png 330w,
/static/d2d137f096be8737d40a68c20702a341/7c811/1.png 660w,
/static/d2d137f096be8737d40a68c20702a341/d949d/1.png 723w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Membuat Menu/ Judul (Y + Drag Mouse)
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 49.090909090909086%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB10lEQVR42n2S7XKaQBSGub2aGgQEU9M0t9DL6Z/eQX/nj/1IY4sJTNLGaaOi1bGKJojKVwAt8HZ3TSq2Mz0zL3v28O6zsHu4n99qMPvf0WoZ6Ha6WNgLLOdLeI6P6D7CeGTCHE/gOh575y5dmKRmtA2MhiMM+0PMpjPM7+ZM3OBGx914hJllw1k4CIOQySMLzz99xofaW5zW3uFK0xGHMdsk8AIGt24tDHoD2FN7CzxpDPD+ysQqjkEjSzM2ruM11NMzND7WoasNqGd1BP79jsdzPfSNPuzbHNB2VnhTH8L3wwczeTwqF0mSIlmnrJ4lD0ByDP3uX8CXr5t4dfID6WpFnFsgHdNf6Vbr5M9Gj0Df9Te/nAdOxhZsktBzo8YdSE4JAeZzCqYX1Ov0YE0sdjFUXOgE8MmnR1GE/0WWZf/kQRDAmlpw5x78pQ9v4YHTGhr0cx3Nr03WNu2bNgzSQrQtOq3ORu3Opt42dnT95RqX2iUu1AsmTdXACbyI/SKPsiRBLstQZAVCSUCJL7F5WSrjoHLAcn6fZ5JEifmoRxRE4pdYrfi0CE4UtiBaPKweMgitHb84JrAKWSCi+qyKvcIeCk8KDET9R8+PIEsymQuoKBUoZQW/AQilp0r2FqbnAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;bukti-balsem&quot;
        title=&quot;&quot;
        src=&quot;/static/d19e1ee4df4236caaf9d79ffce50759c/7c811/2.png&quot;
        srcset=&quot;/static/d19e1ee4df4236caaf9d79ffce50759c/103f2/2.png 165w,
/static/d19e1ee4df4236caaf9d79ffce50759c/748ba/2.png 330w,
/static/d19e1ee4df4236caaf9d79ffce50759c/7c811/2.png 660w,
/static/d19e1ee4df4236caaf9d79ffce50759c/cda85/2.png 928w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Membuat Text Paragraf
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 49.090909090909086%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACIUlEQVR42mVS2W7aUBD117VBKksCBKKy5LmfkpfSl1S0qpRUVaOmarqoUvLQiqhVRJKnQjCLC9hgG8xiY/ZCsE/vnSjqkisfeTxz5sx45gpK/gtaioRcrgCpLMHqWxiYA4zsEcbDMRpyA3JNxtAawrZsDAdDGG0D4pWIptJEk8UrooSO3mW2CkEq5NA3ukSeTWaYjqeYT+eYjCbInmWR+ZohXJ5fUvwWPM7FlZqCaqmKaqUGMV+E8PF7FWdXbayWS/DjrBzAZc/KhVT5iUK+gEqpQt1zP8Ucl7iLxQJKXaHO+kafddmBoHYn+HyuMgEHNvvdD68P8OnNIY7fHSGXvWAFVpRMYs4NeDH+vZjfCOoNneXasLoWhEfpHA5OZcrp6AZ2d3bwPPUEL1IpnBy9x/WvJQk4184dwSWLNeoNaIqGQW8As2NCMFp9WoTDSL12B88ep7C/+5RwkTmF+5fQHcHFkmb4j+DMntBGV44Ds9fDq3Qab/f2cbj3Et+OT9i8HPx/XPfPDLtsoaZhYjwYY2SNIBTZZkpiCXJdhqqoKLLrUykUUWaQimVoDQ2aqkFXdbS0FuHWrtfqtDDxhwgxx5AXIfi8Png8Hvh9foSCIQQZAoF1RCJRrLM3+TZC4LyAPwDvAy+B+z1rHvL7vH7C/XtrEDbDEUQ2I4gygXAojGQiSWRuJ+IJ8sdjccQexqgAF+HFt6Jb2E5ukz+4ESQ+5/0GRsGY3kXOGBEAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;bukti-balsem&quot;
        title=&quot;&quot;
        src=&quot;/static/055afce217b6540caa7a12c4f5f4d6c4/7c811/3.png&quot;
        srcset=&quot;/static/055afce217b6540caa7a12c4f5f4d6c4/103f2/3.png 165w,
/static/055afce217b6540caa7a12c4f5f4d6c4/748ba/3.png 330w,
/static/055afce217b6540caa7a12c4f5f4d6c4/7c811/3.png 660w,
/static/055afce217b6540caa7a12c4f5f4d6c4/9d62a/3.png 908w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Membuat Dummy Tet (Ketikkan &lt;em&gt;lorem&lt;/em&gt;)
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 68.48484848484848%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACs0lEQVR42o1TCU8aQRTe39wE26KAgIDUozb2sEbrhfoHmlobQjwoUlErVkQQdpdbDl1g2WUVlq9v1iBNY9JO8uW9ede8980Ml8vmkE7xqFxXoMgKWs2WIRlURUWlXAafFtCQGo9+uSlDaSm4rd2iVCxBbshokj92dgHuR/gQuzt7iF/EUavUUC1XDTBdupEgpHlsf92GKGZQrVSNg5mfHZBKXiEUDCGfyyMjZBCLxsCpLRXoAXpHR/e+a8het2eA2VvUTbFQgta+g0425n+MZXEsTO+hkCsg/isOjo3Bkjt3HQrQjXGk2g11INEYdch1CeVikWQdHU2D2myi2aiDVdI7VJQKg/JYl9GTKLhatfbAC/HARhQFEQeRcwT2TxDYO0YgGMWWP4zdg3MkhCpO4zkEI5c4u8wiX6wiV6wgXyKZv4b/WwCc1tbQX6qqQuAFrH0+w/i8H+98O9gK8fCHicdQClvBJMkrfNlPYCfCIyHeIHZVRioroXbbROTwmAqqmsGVUZD45NMiZFnDnaaj3b43OHpyMXufa1oNmvLo8OTvggqy2QK6vUFS/4J63T/1hz10/FFQwfHRKd0yvTXmYMnsgsRMHp3O4PR/gd04y5XqMnX4kzrUBhy2icNsvmjU/9/VH0alZ5VK8OCSl0mIvGggHrtA8HsYKeJRoN/B0w96CkJq4OvHJZNpHATD4IZMQ3A6nHDanRg2m2EyvYDH7YV7zA2PywO3y40J7wRcThcmX03C6/Eausc9bsQwvJ6aphoumF+OgHPY7JiemMLm+gY2feuYnZnFwvwC1pZXsEH7j+/n8GlhEStLy5j/MAff6pqxZ/5Vwts3s1hZXCK7DzPTM+DMw1ZYrHY4xzwYtY9hxOrAsMUOK9mYfcQyaoDpFpJWm+PRbht1wsb2pJsJz0zP8Ru0ttfaZRdnpwAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;bukti-balsem&quot;
        title=&quot;&quot;
        src=&quot;/static/2921ad598ddacee59baafc8f9742a68c/7c811/4.png&quot;
        srcset=&quot;/static/2921ad598ddacee59baafc8f9742a68c/103f2/4.png 165w,
/static/2921ad598ddacee59baafc8f9742a68c/748ba/4.png 330w,
/static/2921ad598ddacee59baafc8f9742a68c/7c811/4.png 660w,
/static/2921ad598ddacee59baafc8f9742a68c/6a959/4.png 699w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Transform Rectangle ke Icon Tertentu
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 56.96969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACW0lEQVR42jVSaVPaUBTNr2tdK5vgKNZl6j/r9EP92LEtikhkMyYEBKeEAAEiEELAoKKDbKfvXdo3cyZ5dzvn3neFVr0CKZWBksmg3+tj+DiEO3DxNnqDYztoGA2YDRPPw2e4fRdP7hMGzgB6uYKqXkWnbUG712A9WOiYHQhOuwWjYqDOwItwjN/GVFwrlVEs3KOQL6D90CY7B48Z9AewuzY6rTaqWhXdVhf6Hx1CybABzPH/LOYL+tYqNZx+P4UYFxE9j0K6kZb+xYLAz3Q6paIlprBWNhhqEL5dlsk5m8wxfZ+iWqniVrqlQH7mjICT8NbTyTRse2lfzBaYjCfodXvIKXloTB21/DWqLxNnQF7NQ7wScR2/hizJqNcMIuEKz36cMfxEQkygUatTDi/I56xIClQ5R20L6WKL81HXN+kbRH5FcP77nNRYbODz6RypRArxWByxaIyR3tHDUcuMzLZsmmHH/Pcojz2HmHgLyq2Ci8gFJcuM1R0MycdVXV5ckj2XzeF19EoC3sfvsDoWivkiTMNcKnxkKzKbzYhRVVRKTCXSEGMizKZJdq6QEyWvk6SyWW8uW55M4LounK6DkTvCi/sCQcpIbKAadE2Hytg5uAq+KlpJI18ykUT8Kk6z5WqzcpZ28J6tlJpV2fxUyBmZIHg9PmxubMLr8SK4HYTP66N/Ds+Wh+4Bf4DuO6EdHHw+wNanLWwHtgmhYAhrq+v4+GEF62sbEELBZdDhwSGODo+wt7sHv9+P8G4Y++F98oX3wlSYJ/MYTszjj4+OcfLlBH5fgAqurqzhL+ak2khK5Xf3AAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;bukti-balsem&quot;
        title=&quot;&quot;
        src=&quot;/static/5d466f80a1e8539cbd626d6a1f161ab6/7c811/5.png&quot;
        srcset=&quot;/static/5d466f80a1e8539cbd626d6a1f161ab6/103f2/5.png 165w,
/static/5d466f80a1e8539cbd626d6a1f161ab6/748ba/5.png 330w,
/static/5d466f80a1e8539cbd626d6a1f161ab6/7c811/5.png 660w,
/static/5d466f80a1e8539cbd626d6a1f161ab6/45d60/5.png 807w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Generate Button
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 59.3939393939394%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACxElEQVR42lWS2U8TURTG5y/yzTeNGojQsuizApZVxbgQ44uiAtWAFQiLuOASAdfER/8EHySRRWjZSjc6lGHaTvcW2tKfd26R6M18OWfOPffc73znKp2dt2htvUKLrYOW5g5amy9L23DRhq2pDduldpoaW2lqMNFCY2MLDRdsNNvaZV5HWyc3b9zm+rUuzFrKyOgLxscmeD35VuLF80meT7wU/jumpz4wM/2Jr1++8XHmM1PvP/Du7ZTIecXkqzcSw0MjjI5MMDH+kvFnkyhG2OCgcICmaXg3PeRyOcxVKpWkLeQLeNwe9nJ75fhBOb6r7ZJOpfD7/OjbOolInGQ0gRLaCpFOplGDKsFAkFg0Jv9N5DI5EvEEziUnkXBUxlICGYGIHsGIGCzOLRL0q/g3/awsraJoqiYSMuxlDxkUS9I3D2dSGbICCSNOVhQv7BcEq7ToqAgiD/G5ll24V92oZlFPAEUNqLJg3DyUzpKMJyXbufllZmfnmJ9fYvbnL1yudbZEN07nGpoeJRpLYiRSLCws4XP7MHSDWDiG4l7bJBQMkc/njzQLbYdE4iqLC06cv10sH2JdMFlxrZFIZckXSphEzQvWxWXhnQg7wR0Un+jdZJnfKxc0ra7p/Lvi8TjFYlH60WhZy79rxbkitTNnEfD4UYJeH9tbwbKGB7Cf22d3R6MoJm/CfAE5qV9R7kfCESmL6Zt6b6xt4N3wood0NHUX5fuPTdxeVRw+bLlQQNf/Z/jvMzIMg3Q6fRSLiklvB0IkxJNJxVIoV2/dpevOfYaeOgSGcQw4sPfZeTLwhP7+fgYdg4yNjPLosYPuhwPc6+5hQMSHh4YZfDqIvdfOg+6H9Dzopa/HjnLs+CkqKquwWqzUWGukraurl37V2Sqqq6qxWq1YLLWcOFnBmdMV1Iv92ppa6mrrsFRbOFd/XvqVFZX8AcpZF030Is54AAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;bukti-balsem&quot;
        title=&quot;&quot;
        src=&quot;/static/2e85d03e850d48818d7d9d9262a17976/7c811/6.png&quot;
        srcset=&quot;/static/2e85d03e850d48818d7d9d9262a17976/103f2/6.png 165w,
/static/2e85d03e850d48818d7d9d9262a17976/748ba/6.png 330w,
/static/2e85d03e850d48818d7d9d9262a17976/7c811/6.png 660w,
/static/2e85d03e850d48818d7d9d9262a17976/8dd80/6.png 889w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Checkbox atau Uncheckbox
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 69.0909090909091%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACyUlEQVR42nVSW08TURDeX2SMonJH4JEglUKhVHnShKBBSlt+lw9KQkzUgA+mQOmF3i9LS3d733Z73267n3NOK0GCm3yZPfPNmflm5gixSByJWBLMhq7CHOFghCMUDCMSihCXQDg0PN9yFMfuxKMJfj4++oYvn79CyN5k4bnwIBqOotVsod1qo9PqoNvuoqf1UClXEPAFoFQUdNodzrM4vacjlUgiScjJOQS8AeSzeQhpMQ2/10+V4lCrKmqEeq3O0Wq0IGcluH+7kZfzaKgNHqMSx/5zUg6lQgnXqWtcnnuhFBUIjXoDA2MA/pEZ6ANKxFSSwm4PjM9JMk/AlDP0e30eawwMfo114TnzIBFNQigWilDKyrAyoVKqoJCTkJckyKSAKWMJy8UyH0NVqRJfoBFUqZsammoTrEuP2wMpLUFgrTFVoGJMUZ7mcXou4sybQEZM8RmxxYgpkRLlcZPOIB6Lc8UYCkRNqeH0xylSMfGhhDKOT0I4+n4B76UfXt8VwjTfEC0tQFv2+YP0H4NSraOnG9Cp+1K5ipOfv5CK30uoazoy6RvIcgH+aA6hmASt00OfzZbmZRjMUmGtD62rQ6d7g76BJs3VTS2L9xWyYV+LGV6dfQbLYAyX9S9G/lHLGj2vM/clgr4gBLWm3kmoQ6QBK4p6u3Gj/1DCO2D3qO9UIo0kPXShSttirRokXetoSCVFqLQ50LnfG/CkTPn/wHidbDZbQNBLCj/sfsT+JzscB05ud3Z2sbdnh8t5iAO7A/b9AzidLjgdLopxjKyTcwzM53Id4v27Hby1bUOYmZyE2fQaG2vreLW0hPVVMzbXLdi22WCzWrFqMsG0vEz+VayurMBiNsNq2YBt04qtjU28sW7BRtZiXsPU+DiExxOzeD63iLGZBTydnseTqZfcMozNzOPZ7CJhgfv/gnMjnoH5Hk/M4dGLafwBBuKxmeWacqcAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;bukti-balsem&quot;
        title=&quot;&quot;
        src=&quot;/static/a4912b9c97e74918da04bce3fe4511ff/7c811/7.png&quot;
        srcset=&quot;/static/a4912b9c97e74918da04bce3fe4511ff/103f2/7.png 165w,
/static/a4912b9c97e74918da04bce3fe4511ff/748ba/7.png 330w,
/static/a4912b9c97e74918da04bce3fe4511ff/7c811/7.png 660w,
/static/a4912b9c97e74918da04bce3fe4511ff/ad973/7.png 722w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Buat Kolom dengan Comma
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 65.45454545454545%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC+UlEQVR42nWS+U5bRxTG71tVUasGSAhgG0zSF6iU90nSSpFKFylKq5bENbYDBWPSVq1SCJGF9wZjbGxfX/ter3jF+y/nTqT+15E+fTNnm3O+Gc2/s4vP+4qAb5eAsOeFF6/Hx86vfmXzi20vsM/B7j4/PPPw1Xdenv/kldgA3pc+fB6/8h8d/k5wP4RWN+tUSibddpdeu0cpX6JZbZJOpSnrZf46/oNSocy1VWX7zxxbRyVeHevM+wPajQ7dVpd+u/8ftJpZo2bVBcKyt4tUhY2igVm2KJfK1K0GlvC7pEHguEA8YzFod+i0BM0OpjRUzOkqR7sZ3FCv1mg2mvQ6Pfq9PoPeANt+07+h3Wqry+zzeDSEyZDxcEj7ukO91qAjnIwlSUZT5DJXaHpB53XoNW9PTlXRhgQ1601ajZYKjkVjnJ68U0WtikWlbKqYq2xO5aTfp4mEIzREpnKxjGZrNx6OmU1nzKdzZpMZk9FEwd7bySW9RDaTFTYwjAplw6RSMWk1r8mIPR5JoF/pXKZzaB3RYjQcMR1PVQF73Ko8gD2qjetmC10KnbwNc3oaJvXvuRQ1KRQM8nmdfKHE2VmC/GVeaanZY17LTf1uX41pmVVikRiRswhR4UQ8wfE/J0SjCQxdRy8U1UXMEMyZShPhcIzseRbLsKRD0cnuzl7DwVBeuMrF+YUa00YxXyCVSHF+fqliRiKPkmgyVxJNJDeZvCCfyctLF0XDbpfp9GPB0WiEKdoY8nXi0Thv/n6jHuS9jBmXTv9vNeU/2t3Z/1fz7/jZ/01+euiIvd09tn/Z5unXT3n45UMeP3rMk0dP2PrmW7a2vlcxwYMgh8HDjzg4JBQMSY6H589+5MXPL9HWXS7cG25cTmHXOo7VNRY+v41zzcHS4hJLC4tsit/hcPHF/Qdsujdxr28oqBzxOcW3fGeZW5/cQnM413G6NnCuuxUv31tleWWVlVWHgu1fk4Q7d1dwbz5gw31fxdl2G/b53oqThcW7fPrZbT4AgfdeqiG84HoAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;bukti-balsem&quot;
        title=&quot;&quot;
        src=&quot;/static/33aa3f9f559eb60c9c84cf9fbd3ebac3/7c811/8.png&quot;
        srcset=&quot;/static/33aa3f9f559eb60c9c84cf9fbd3ebac3/103f2/8.png 165w,
/static/33aa3f9f559eb60c9c84cf9fbd3ebac3/748ba/8.png 330w,
/static/33aa3f9f559eb60c9c84cf9fbd3ebac3/7c811/8.png 660w,
/static/33aa3f9f559eb60c9c84cf9fbd3ebac3/68c0a/8.png 756w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;alhamdulillah, kelar juga perkenalan dengan balsamiq mockup ... seru juga ternyata ... haha, maaf video tutorialnya gak bisa di download meski ada terdownload, suara tak muncul, karena formatnya .ts pake vlc cuman gambar ajah.&lt;/p&gt;
&lt;p&gt;have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Cara Mengetest Madu Asli atau Palsu]]></title><description><![CDATA[bismilllah Lagi iseng liat pertanian, muncul diberanda cara mencari madu yang asli, ada berbagai cara diantaranya: Periksa Label
Pada saat pembelian periksa label dengan hati-hati…]]></description><link>https://topidesta.my.id/cara-mengetest-madu-asli-atau-palsu/</link><guid isPermaLink="false">https://topidesta.my.id/cara-mengetest-madu-asli-atau-palsu/</guid><category><![CDATA[madu]]></category><pubDate>Mon, 30 Dec 2019 09:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismilllah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismilllah&quot; aria-label=&quot;bismilllah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismilllah&lt;/h2&gt;
&lt;p&gt;Lagi iseng liat pertanian, muncul diberanda cara mencari madu yang asli, ada berbagai cara diantaranya:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Periksa Label&lt;/strong&gt;
Pada saat pembelian periksa label dengan hati-hati. Jika Anda menemukan bahan-bahan tambahan, tidak usah membelinya. Jika Anda tak percaya, atau penjualnya tidak mencantumkan label, Anda bisa melakukan uji keaslian lainnya.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Uji Air&lt;/strong&gt;
Salah satu cara yang efektif untuk mengetahui bahwa madu Anda murni adalah dengan melakukan uji air. Tuangkan sesendok madu ke dalam segelas air. Jika madunya larut, madu itu berarti tidak murni karena ada kandungan air di dalamnya. Madu murni selalu berbentuk gumpalan ketika dituangkan ke dalam air.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Uji Api&lt;/strong&gt;
Hati-hati saat uji coba cara ini. Madu adalah objek yang mudah terbakar. Untuk membuktikan keaslian madu, Anda bisa mengambil lilin dan menempatkan madu pada sumbu. Sulutkan sumbu dengan api. Jika sumbu mulai menyala, maka madu murni. Jika tidak, berarti ada kandungan air dalam madu.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Uji Kertas&lt;/strong&gt;
Anda perlu kertas yang dapat mengisap cairan untuk melakukan uji ini. Tuangkan setetes madu di atasnya. Jika madunya tidak alami, kertas akan menyerap madu. Jika madunya murni, madu akan tetap berada di atas kertas. Ini adalah salah satu cara yang berguna untuk mengetahui bahwa madu Anda murni.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Uji Kain&lt;/strong&gt;
Tuangkan beberapa tetes madu pada kain. Madu murni akan diserap. Anda juga dapat membuktikan kemurnian dengan cara lain. Cuci bekas madu pada kain. Jika Anda tidak menemukan noda di atasnya, madu Anda murni.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Uji Alkohol&lt;/strong&gt;
Ambil proporsi yang sama madu dan alkohol dan tuangkan ke dalam gelas. Madu murni pasti akan membentuk gumpalan sementara madu yang tidak murni akan encer. Jika madu tidak murni Anda akan menemukan cairan putih seperti susu setelah percobaan.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Uji Panas&lt;/strong&gt;
Panas dapat membuat beracun. Meskipun tidak ada bukti ilmiah tentang itu. Coba panaskan madu sebentar. Madu murni akan membentuk karamel.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Uji Jam&lt;/strong&gt;
Kedengarannya sangat menarik, bukan? Sebenarnya, penelitian ini tidak ada hubungannya dengan jam. Tapi banyak orang percaya metode ini. Tenggelamkan sesendok madu ke dalam botol madu. Sekarang, angkat dan arahkan ke dalam wadah kosong. Biarkan madu menetes dari sendok. Jika madu jatuh searah jarum jam, madu dianggap murni.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Uji Roti&lt;/strong&gt;
Coba ini pada saat sarapan. Madu murni selalu membuat roti menjadi keras. Jika ada bahan lain di dalam madu, roti akan menjadi basah dan lembek. Hal ini terjadi karena kelembapan.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Uji Aroma&lt;/strong&gt;
Madu yang tidak murni baunya asam. Anda juga akan menemukan zat berbusa putih di dalamnya. Lebih baik untuk membuangnya segera. Madu murni memiliki aroma yang ringan dan halus yang menggoda hidung Anda.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Next kita coba sendiri ya, nanti gw share videonya, hehe. :)&lt;/p&gt;
&lt;p&gt;source: &lt;a href=&quot;https://youtu.be/-Owl7lY999o&quot;&gt;https://youtu.be/-Owl7lY999o&lt;/a&gt;&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Komponen dengan Fungsi atau Kelas]]></title><description><![CDATA[bismillah sekedar catatan lagi ya, hehe ... jadi di react sendiri di izinkan untuk menuliskan sebuah komponen dalam bentuk functional style atau class style, lanjutan dari…]]></description><link>https://topidesta.my.id/menulis-komponen-styling-dengan-fungsi-atau-kelas/</link><guid isPermaLink="false">https://topidesta.my.id/menulis-komponen-styling-dengan-fungsi-atau-kelas/</guid><category><![CDATA[react]]></category><pubDate>Sun, 29 Dec 2019 20:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;sekedar catatan lagi ya, hehe ... jadi di react sendiri di izinkan untuk menuliskan sebuah komponen dalam bentuk &lt;em&gt;functional&lt;/em&gt; style atau &lt;em&gt;class&lt;/em&gt; style, lanjutan dari penjelasan tutorial udacity, berikut ini contoh komponen &lt;strong&gt;class style.&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* CLASS STYLE */&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ListContacts&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Component&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;render&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token comment&quot;&gt;// console.log(&apos;Props&apos;, this.props)&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
            &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;ol className&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;contact-list&apos;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;props&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;contacts&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;contact&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
                    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;li key&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;contact&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;id&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; className&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;contact-list-item&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                        &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div 
                            className&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;contact-avatar&quot;&lt;/span&gt;
                            style&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                                &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                                    &lt;span class=&quot;token literal-property property&quot;&gt;backgroundImage&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;url(&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;contact&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;avatarURL&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
                                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
                            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                        &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                        &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div className&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;contact-details&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                            &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;p&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;contact&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;name&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;p&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                            &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;p&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;contact&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;handle&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;p&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                        &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                        &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;button className&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;contact-remove&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                            Remove
                        &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;button&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;li&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
            &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;ol&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; ListContacts&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;dan kalau &lt;strong&gt;function&lt;/strong&gt; style kurang lebih macam ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* FUNCTIOANAL STYLE */&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;ListContacts&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;props&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
        &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;ol className&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;contact-list&apos;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; props&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;contacts&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;contact&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
                &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;li key&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;contact&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;id&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; className&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;contact-list-item&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div 
                        className&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;contact-avatar&quot;&lt;/span&gt;
                        style&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
                                &lt;span class=&quot;token literal-property property&quot;&gt;backgroundImage&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;url(&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;contact&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;avatarURL&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
                            &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
                        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div className&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;contact-details&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                        &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;p&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;contact&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;name&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;p&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                        &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;p&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;contact&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;handle&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;p&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;button className&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;contact-remove&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                        Remove
                    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;button&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;li&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;ol&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; ListContacts&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;jadi apa bedanya, yaps, perbedaan ada pada pelemparan data, ketika dalam class style, sebuah data masih dalam state (otomatis binding) dengan memanfaatkan keyword global di javascript, yaitu &lt;em&gt;this&lt;/em&gt; sedangkan dengan memanfaatkan &lt;em&gt;function&lt;/em&gt; style, data harus ada variabel parameter untuk menampung lemparan data yang belom ter-state (belum binding), kurang lebih itu yang gw fahami.&lt;/p&gt;
&lt;h2 id=&quot;bonus&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bonus&quot; aria-label=&quot;bonus permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bonus&lt;/h2&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Email&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;React&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Component&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
 &lt;span class=&quot;token function&quot;&gt;render&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
   &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
     &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
       &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;props&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;text&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
     &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
   &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;Email&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;props&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
 &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
   &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;props&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;text&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
 &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Sintak Sederhana Format JS dan JSX di React]]></title><description><![CDATA[bismillah sekedar catatan pribadi ajah, karena sebelumnya kita sudah bahas cara memecah sebuah object array di react, dengan declarative code, menggunakan fungsi map() dan filter…]]></description><link>https://topidesta.my.id/sintak-sederhana-js-dan-jsx-di-react/</link><guid isPermaLink="false">https://topidesta.my.id/sintak-sederhana-js-dan-jsx-di-react/</guid><category><![CDATA[react]]></category><pubDate>Sun, 29 Dec 2019 15:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;sekedar catatan pribadi ajah, karena sebelumnya kita sudah bahas cara memecah sebuah object array di react, dengan declarative code, menggunakan fungsi &lt;em&gt;map()&lt;/em&gt; dan &lt;em&gt;filter()&lt;/em&gt;, berikut ini contoh pemanfaatannya, dalam format .js ataupun .jsx format.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; orang &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;nama&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;desta&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;nama&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;putri&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;nama&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;haikal&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;/* FORMAT JS */&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; element &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; React&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
  &lt;span class=&quot;token string&quot;&gt;&quot;ol&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  orang&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;seorang&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt;
    React&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;li&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; seorang&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;nama &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; seorang&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;nama&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; orangs &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;nama&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;desta&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;nama&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;putri&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;nama&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;haikal&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;/* FORMAT JSX */&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; element &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;ol&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    orangs&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;orang&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
      &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;li&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;orang&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;nama&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;li&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;ol&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;/* DALAM FORMAT KOMPONEN TERSENDIRI */&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ContactList&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;React&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Component&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;render&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; orang &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;nama&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;desta&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;nama&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;putri&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;nama&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;haikal&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
      &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;ol&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;orang&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;orangs&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
          &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;li&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;orangs&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;nama&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;li&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;ol&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

ReactDOM&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;render&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;ContactList &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;root&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;resultnya sama seperti ini:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 268px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 43.03030303030303%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABLElEQVR42qWRS0/CQBSFu3ZDNIZgglIebYFSSqkSjUBQ4p/i1Qr+v0K66mNNgsiiISxobY8zo8G4FG7yzck9k3tzZy5XEMvIl0QUifJFAap+B+22hSxfgCgrqCgN5AUJQkVGVVEhEU/RdPClb4/WU4pSGTlSz11d53CRziCTvWFab+qQVQ1nqXNSXEev/4L7xw6Esky0je5THw29BbFaw0O7i5raZF6n94zUZRqc8TqFOXuDOZ0doB5lMJ5gODYwMkyMJgaGBKqD0Zh4vzm7/4EDiSRJDpwa3Gcc42Ozwft6jcVigfl8jg3JY9I8DENEUfQv2ITb7ZY1cV0Xvu9jv98fPyE9giDAcrmEbdtwHAe73e60hnTC1WrFnmtZFjzPO/o//ywlJv9JOWU5X8ALRDdBnODxAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;result-react-map&quot;
        title=&quot;&quot;
        src=&quot;/static/1597a6ec051c84e824ab076698cbc294/baf7c/result-map-react.png&quot;
        srcset=&quot;/static/1597a6ec051c84e824ab076698cbc294/103f2/result-map-react.png 165w,
/static/1597a6ec051c84e824ab076698cbc294/baf7c/result-map-react.png 268w&quot;
        sizes=&quot;(max-width: 268px) 100vw, 268px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;live version bisa dicek dihalaman ini: &lt;a href=&quot;https://tpbt4.csb.app/&quot;&gt;https://tpbt4.csb.app/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;oke done, have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Memanfaatkan Fungsi Map dan Filter Di Javascript]]></title><description><![CDATA[bismillah Sekarang masih fokus di Front End dengan reactJS, cuman beda source, sebelumnya di lynda.com nah karena pembahasan di lynda.com sedikit membosankan, coba cari Video…]]></description><link>https://topidesta.my.id/memanfaatkan-fungsi-map-dan-filter-di-javascript/</link><guid isPermaLink="false">https://topidesta.my.id/memanfaatkan-fungsi-map-dan-filter-di-javascript/</guid><category><![CDATA[react]]></category><pubDate>Sun, 29 Dec 2019 13:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;Sekarang masih fokus di &lt;em&gt;Front End&lt;/em&gt; dengan reactJS, cuman beda source, sebelumnya di lynda.com nah karena pembahasan di lynda.com sedikit membosankan, coba cari Video Tutorial lainnya di Internet, &lt;em&gt;Udacity NanoDegree V2&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Langsung aja ke &lt;em&gt;sourcecode&lt;/em&gt; nyah yah&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; people &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;Amanda&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;Farrin&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;Geoff&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;Karen&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;Richard&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;Tyler&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;kalo biasa kita memecahkan data dengan fungsi &lt;em&gt;for&lt;/em&gt; dan &lt;em&gt;if&lt;/em&gt; dengan vanillaJS sangat gampang, sekarang akan kita gunakan fungsi &lt;em&gt;map()&lt;/em&gt; dan &lt;em&gt;filter()&lt;/em&gt; untuk menggantikannya, karena di ReactJS akan lebih menggunakan itu ketimbang gaya lama.&lt;/p&gt;
&lt;p&gt;jadi pada contoh kali ini kita akan share cara menggunakan 2 fungsi yang sudah mendukung ES6&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map&quot;&gt;.map()&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter&quot;&gt;.filter()&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;sekarang kita akan bahas menggunakan fungsi &lt;em&gt;for&lt;/em&gt; yang digantikan dengan fungsi &lt;em&gt;.map()&lt;/em&gt;, kita tambahkan karakter &lt;strong&gt;!&lt;/strong&gt;, berikut contohnya:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;
&lt;span class=&quot;token comment&quot;&gt;/* Menggunakan For untuk looping */&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; excitedPeople &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; people&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
 excitedPeople&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; people&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;!&apos;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;/* Menggunakan Map() untuk looping */&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; excitedPeople &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; people&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; name &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;!&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// contoh: https://jsbin.com/nofelop/5/edit?js,console&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;oke lanjut kita akan coba dengan fungsi lainnya&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* Menggunakan If untuk mencari kondisi */&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; excitedPeople &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; excitedPeopleLength &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; people&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
 excitedPeople&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; people&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
 excitedPeopleLength&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; people&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
 
  &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;excitedPeopleLength&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;excitedPeople&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;/* Menggunakan Filter() untuk mencari kondisi */&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; shortNames &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; people&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;filter&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;token parameter&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; name&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;nah, simple kan .. yah gw juga baru tau pas belajar reactJS ajah sih .. haha.&lt;/p&gt;
&lt;p&gt;have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[React Native dengan Nox Emulator di Windows 10]]></title><description><![CDATA[bismillah Untuk yang baru pertama kali setup react-native silahkan ke halaman berikut ini: http://go.topidesta.my.id/setup-rn-awal kali ini sekedar catatan pribadi ajah, cara biar…]]></description><link>https://topidesta.my.id/react-native-dengan-nox-emulator-di-windows-10/</link><guid isPermaLink="false">https://topidesta.my.id/react-native-dengan-nox-emulator-di-windows-10/</guid><category><![CDATA[react]]></category><category><![CDATA[mobile]]></category><pubDate>Mon, 09 Dec 2019 05:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;Untuk yang baru pertama kali setup react-native silahkan ke halaman berikut ini:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://go.topidesta.my.id/setup-rn-awal&quot;&gt;http://go.topidesta.my.id/setup-rn-awal&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;kali ini sekedar catatan pribadi ajah, cara biar running emulator yang ringan, NOX Emulator termasuk ringan, dibanding dengan GenyMotion ya, nah karena sering muncul kalimat &lt;strong&gt;no devices detected ..&lt;/strong&gt; akhirnya cari tau di google, terdampar dihalaman github, kurang lebih perintahnya seperti gambar ini:
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 87.27272727272728%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACQUlEQVR42pWU2ZLcMAhF/f+/2eP2KtmS960JBy9JzeQhcRcFFvIFLtCJb6O80kyyohbXBKlcI5y5prX32ut7iDKvm0zLesq8/rYvGadFhmmWZJ5nCTFKPwwS9MOu66Xre+lNBpOu68yPL8TuvKMSL5u72MuySDKOk9TOifdeBv1o2zfZtk121avqbd8fvWOvq/mR9dL3nf04JGlDkNdXKmn6lizP5f3OZJ4XmTV99HRpKkEWBUSmb370cXwkIWLUkpq2ldCGsxQtPWggqOCsVYlqE/ymAZsy8fVGRbRAyefzsQtV7cRpQxqa4bx4laIopKpqo6Sua8mL0nylnnFelpXdcUoXCS0LgCLiFCx9v+X1Su1jApARZcDPzZlxu8HjyR/VPaLvJJccSmSr6N6TnY6IChHJBCpo2jCMqkdr2nDpWTt6PwCZ1p+VXFaVZphJmmUG2ig4gLVmXll5leR5YSVSbq5l1gTUKox/pQn+eAyQObsBsMmAcsmMMv/1IU8bbGek+6v9k5ELL5TF7P0XIB8yAqQNPwSAL8Am7Gl8eOuNy8mCHhdvPwBpCivnbExK46mqnBSMRFmetp5j5yo0DGpI4g50r51xyLqQHZeYtUql9mq7c9bs3J1dp2EA1Taz/hmZ5Q9qEspiK7rY28TTlK7vrHunxPP82g42gz8Pxmxe1r80RdG5AFC4V+5ZK90a5pO11BFBA4jft82zeudZFGhNuPilfwzMFryFq0EMuM3kBQI4vlZ9+Dkz35VACJ1l+AvOcB+mTL/53AAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;nox emulator&quot;
        title=&quot;&quot;
        src=&quot;/static/ad78f5a05624827ac301eeb0ec61def2/7c811/nox-emulator-run.png&quot;
        srcset=&quot;/static/ad78f5a05624827ac301eeb0ec61def2/103f2/nox-emulator-run.png 165w,
/static/ad78f5a05624827ac301eeb0ec61def2/748ba/nox-emulator-run.png 330w,
/static/ad78f5a05624827ac301eeb0ec61def2/7c811/nox-emulator-run.png 660w,
/static/ad78f5a05624827ac301eeb0ec61def2/3a6ec/nox-emulator-run.png 686w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;pastikan liat log setelah perintah &lt;em&gt;react-native run-android&lt;/em&gt; karena nanti akan muncul error yang akan tampil kurang lebih kayak gini:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 20.60606060606061%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAqUlEQVR42l2P2w6EIAxEeVVBY+I1lJuIuv//gbPQ6Mbsw8l0hhaoCCGANDHTNGEYBozjiL7v0TQNqqpCXddcN1nrF5z9IZxz2FNCSnvWHcdx4LxOxD0ixgjvPaZ55sfmWwvLsrBv25bpukIHUS64Ph9Ya+CcBxHl2jI+eGzbBmMMKGNyprVmz+Te4ulWawiiDDpnOVzXlVeVUkIpxZQ1pFQ//5y9e55fFr5YC2RvufKWLwAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;error nox&quot;
        title=&quot;&quot;
        src=&quot;/static/248cdd799d2505521271eceda16a9bfd/7c811/error-nox-1.png&quot;
        srcset=&quot;/static/248cdd799d2505521271eceda16a9bfd/103f2/error-nox-1.png 165w,
/static/248cdd799d2505521271eceda16a9bfd/748ba/error-nox-1.png 330w,
/static/248cdd799d2505521271eceda16a9bfd/7c811/error-nox-1.png 660w,
/static/248cdd799d2505521271eceda16a9bfd/78204/error-nox-1.png 956w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;solusinya buka SDK Manager (dalam hal ini, gw gak install Android Studio ya) dan install deh build tools 28.0.3, kelar.&lt;/p&gt;
&lt;p&gt;running deh react native, ups, muncul error lagi kayak gini:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 587px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 10.90909090909091%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAACCAYAAABYBvyLAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAa0lEQVR42i2MWwrFIAxEuwIVcpFofBZaULv/7U2r148DwyRzjvE86L3jum+M0dBah4jAew9mRoxxUUpBrRVEBKUUtNYwxvzZefaH8w7hE8gmbMEU5pwXs0spfcJz3ay1i/kzN8wOEgLoR3gBl4E0b+hqrEEAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;erro nox kedua&quot;
        title=&quot;&quot;
        src=&quot;/static/bd372bf63d7a07adfdc1aabca9ae9e9f/cd94f/error-nox-2.png&quot;
        srcset=&quot;/static/bd372bf63d7a07adfdc1aabca9ae9e9f/103f2/error-nox-2.png 165w,
/static/bd372bf63d7a07adfdc1aabca9ae9e9f/748ba/error-nox-2.png 330w,
/static/bd372bf63d7a07adfdc1aabca9ae9e9f/cd94f/error-nox-2.png 587w&quot;
        sizes=&quot;(max-width: 587px) 100vw, 587px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;jangan panik, jalankan lagi ajah perintah koneksi ke nox, liat gambar pertama, perintahnya kurang lebih seperti ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;nox_adb.exe connect &lt;span class=&quot;token number&quot;&gt;127.0&lt;/span&gt;.0.1:62001&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;eh muncul error&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;script&quot;&gt;&lt;pre class=&quot;language-script&quot;&gt;&lt;code class=&quot;language-script&quot;&gt;unable to connect to 127.0.0.1:62001: cannot connect to 127.0.0.1:62001: No connection could be made because th
e target machine actively refused it.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;langsung ajah jalankan perintah dibawah ini...&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;nox_adb.exe kill-server
nox_adb.exe connect &lt;span class=&quot;token number&quot;&gt;127.0&lt;/span&gt;.0.1:5037&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;berikut ini gambarnya:
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 29.6969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA10lEQVR42pWQUW+DMAyE8wiBBEhICBXJ2AjrOvX//71b7NKpqjZNe/jkKLbuzhbpnJByQowRqbAwC7xzGIyBsRbjOMIMA5qm+ZG2bVFVFaZpgrh+XpHfNuScse87tm1jnHfw3rOwc8e7YA+De+Veoe97rOsKEV5n2NnCGstDWilordmVUOpeb//fVavbbKHrOkgpcTrNEMt5QXiZOK4vuCMRORKP4r9BJnVdI4QAcbl8IO+Z1+SVy/q0min3o8R9cf+XYHyP6EbNSSgRNSk+HVvK5k+xZ8EvvfyRjrnTym4AAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;nox error&quot;
        title=&quot;&quot;
        src=&quot;/static/f4b1d2c3ae901e6cd0103b8d94c91953/7c811/nox-error.png&quot;
        srcset=&quot;/static/f4b1d2c3ae901e6cd0103b8d94c91953/103f2/nox-error.png 165w,
/static/f4b1d2c3ae901e6cd0103b8d94c91953/748ba/nox-error.png 330w,
/static/f4b1d2c3ae901e6cd0103b8d94c91953/7c811/nox-error.png 660w,
/static/f4b1d2c3ae901e6cd0103b8d94c91953/8c258/nox-error.png 963w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;done, sekarang bisa pake nox emulator deh! :)&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Kebetulan pas lagi pengen develop native react, tetiba nox emulator di windows 10 gw selalu &lt;em&gt;bluescreen&lt;/em&gt; begitupula pake emulator dari android studio dan genymotion. Gw cari permasalahannya, karena install software tertentu, gw juga lupa. Akhirnya &lt;strong&gt;reset&lt;/strong&gt; windows deh, eh kereset juga settingan native react dan beberapa tools lainnya.&lt;/p&gt;
&lt;p&gt;Seperti biasa, gw ikutin langkah diatas seperti ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;nox_adb.exe connect &lt;span class=&quot;token number&quot;&gt;127.0&lt;/span&gt;.0.1:62001&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;dan ternyata gak bisa langsung connect, gw lupa ada point tertentu untuk koneksikan nox dengan SDK android, gw baru engeh pas liat vidio ini: &lt;a href=&quot;https://www.youtube.com/watch?v=_JJ-mxlTADc&quot;&gt;https://www.youtube.com/watch?v=_JJ-mxlTADc&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;sebelum itu hapus dulu semua sdk di foldernya, melalu &lt;strong&gt;SDK Manager&lt;/strong&gt; atau kalo install android studio, kalo udah restart lalu buka lagi kalo muncul kayak gini:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 52.121212121212125%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABKUlEQVR42rWRT26CQBSHB/mzEAQDCRpOQAgb13XPxgO4JuEAbFFsCKm49A6cgZ1xIxfwArLkANXU3a/OGGwkprVpOsmXNzPv5ZuXeWS1WiFJEqRpirflEvScZRnjdbHAfD5HHMcsRlH0kNlshjAMkec5iK7r4HkekiRBFMULAov0jhDyFE3tdDoFsSwLiqJAVVVomga114NpmnAch+G6LkajEWzbRr/ff4hhGOA4DkEQgAyHQ3S73Zu00+nA8zzUdY3D4YCqqnA8HlGWJcvTut7lURobaCO0Q9/3QQaDwZ2QvjSZTEDX+eOM0/uJ7ff7/VUo/yBsdygIAsYvY+zKHbbbLTabDYqiwHq9ZnlZlu9k3wob6Pk6oC/o0Nqip4XNP7X5k/A3/KvwE004LSyYOvV9AAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;gradle sdk eror&quot;
        title=&quot;&quot;
        src=&quot;/static/ddf069c970f63b3b8925abd5c4eea877/7c811/gradle-sdk.png&quot;
        srcset=&quot;/static/ddf069c970f63b3b8925abd5c4eea877/103f2/gradle-sdk.png 165w,
/static/ddf069c970f63b3b8925abd5c4eea877/748ba/gradle-sdk.png 330w,
/static/ddf069c970f63b3b8925abd5c4eea877/7c811/gradle-sdk.png 660w,
/static/ddf069c970f63b3b8925abd5c4eea877/9e029/gradle-sdk.png 982w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;itu harus download dulu file &lt;strong&gt;android.bat&lt;/strong&gt; karena folder tools hilang ... download dulu sdk di google &lt;a href=&quot;https://dl.google.com/android/repository/tools_r25.2.3-windows.zip&quot;&gt;https://dl.google.com/android/repository/tools_r25.2.3-windows.zip&lt;/a&gt;, extract folder &lt;strong&gt;tools&lt;/strong&gt; di folder sdk sebelumnya.&lt;/p&gt;
&lt;p&gt;terus buka lagi deh SDK Managernya. lanjut ...&lt;/p&gt;
&lt;p&gt;copy file &lt;strong&gt;adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll&lt;/strong&gt; copy-paste di folder &lt;strong&gt;bin&lt;/strong&gt; nox terinstall, lalu rename &lt;strong&gt;adb.exe ke nox_adb.exe&lt;/strong&gt; dan nox_adb dibackup/ rename nama lain.&lt;/p&gt;
&lt;p&gt;Kalo sudah, &lt;strong&gt;buka nox emulator&lt;/strong&gt; lalu &lt;strong&gt;koneksikan&lt;/strong&gt; ke nox! Ups, di youtube atas dikasih trick biar gak ngetik ngetik, dibuat &lt;strong&gt;.bat&lt;/strong&gt; file biar bisa dieksekusi windows 10, berikut scriptnya:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;@echo off
PAUSE
C:
&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;C:\Program Files (x86)\Nox&lt;span class=&quot;token entity&quot; title=&quot;\b&quot;&gt;\b&lt;/span&gt;in&quot;&lt;/span&gt;
nox_adb.exe connect &lt;span class=&quot;token number&quot;&gt;127.0&lt;/span&gt;.0.1:62001
@echo Port Emulator sudah diaktifkan
PAUSE
&lt;span class=&quot;token builtin class-name&quot;&gt;exit&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;buat yang mau filenya silahkan dicomot disini: &lt;a href=&quot;https://cl.ly/d90053443bd9&quot;&gt;https://cl.ly/d90053443bd9&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Selesai, tunggu... ada error di &lt;strong&gt;gradle&lt;/strong&gt; ...&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 56.96969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABw0lEQVR42nVR2U7bQBSdv+hDVRpI7HodbzNe49hJbEzL0qgP/FGKUuQAMd4CTxUfygkWbV8qHV1d323OOSbb3abtmufn/ump7/qmbqqmeWzav2i7uutbtPq+QdzvO6Cuq5eX34RausMMxk2AGopOJWrIlqUZpmJaGircNW1Hdxxq2ZqmfxGlE0mejI4/FmdLggm0uWsBjBmuZ7me7TAKYAcL6DJuDAPoogIo6uTq+zmxbN0PHM+3MYpDaOhUVlRBUUVVE0EEdeaaIIJP5a2CXJSOLy7PiO3QMHLDiEdTbxr78SwIQx5FXpJG6Xw6X8T56TzPU+RByIKQg4XrWpC2Wl2Q02IBYngZ8AOGHiwA54Hq8ImILuSg4jAd6sDianVO8mLucAMnQR4UMIRR24YEFQBDwzxEyHmz8FDEaVmB5m+kyBZYw5u4Cv2D7ZiAz8MojBgS7P9JVE04LF9+LZIkyrJ0uUwgbJaEcewPggcss1k8O3gBzZ4PdhzW4KXr6x8kTj2FjjRjLMknICPJ43/xXsG/HU+EzxPhCFEQR5+OPmR5Sh4ef27vb+r2rqrudrv/oqruy+1tWd7+Km/W5XqzWTf7/hVQerFJAzrlsQAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;gradle error&quot;
        title=&quot;&quot;
        src=&quot;/static/831e8e1963ab0e98eed1da61598c03c9/7c811/gradle.png&quot;
        srcset=&quot;/static/831e8e1963ab0e98eed1da61598c03c9/103f2/gradle.png 165w,
/static/831e8e1963ab0e98eed1da61598c03c9/748ba/gradle.png 330w,
/static/831e8e1963ab0e98eed1da61598c03c9/7c811/gradle.png 660w,
/static/831e8e1963ab0e98eed1da61598c03c9/e7a62/gradle.png 965w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;OMG ... cobaaan apalagi ini, searching via gogel, akhirnya disuruh hapus folder cachenya dahulu, berikut contohnya:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 597px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 49.090909090909086%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAIAAAA7N+mxAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABaklEQVR42nVRCY6kMAzkL9tAE2JykACBJBzhaOje/39nDcyuNCOtVCqV5JRjuyLjwY7gA+sXPmx83GTbaaV5Y0qlACCF4vk/RKUmqiKqJrohlclPtHltSamAcQLFZYafNno1jeq2qNvc2MJPsmxSoR9cxULHFGJK0y/zdxuFm9Oo6kjjs8qm2ibaxqp9KBNr+wCWUJrcj/7h59hjsH4wSlPGU1nmCCGJVLkQqKmUlIsc5xeXKFj2zTyMHV7ImBI5zH57TcjLOiCHucfqFHxVSxTWNYyj/3ZeO+O7vjfWVdbVrz28P+u2jfsRUJ+NgpuXfnvN8+xtb+NuL4wDltGCnObtFfqhc66xzhzH+vm97/vy/mzHe70aTfuxLOu0LMMwT7+6g/iDaAOlxBQj1RBlnqp5KpNWbVZ3V2ZdJkuCa3NBuKD4CWOnoAxAYPjJnX/UOo7BIGQdy+rCpYFhGa+d3OvRM+3077ZfZ/sDGcl4dymWqUQAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;gradle error 4&quot;
        title=&quot;&quot;
        src=&quot;/static/a681832cafd15bb20c434ebe54ac01bc/f523d/gradle4.png&quot;
        srcset=&quot;/static/a681832cafd15bb20c434ebe54ac01bc/103f2/gradle4.png 165w,
/static/a681832cafd15bb20c434ebe54ac01bc/748ba/gradle4.png 330w,
/static/a681832cafd15bb20c434ebe54ac01bc/f523d/gradle4.png 597w&quot;
        sizes=&quot;(max-width: 597px) 100vw, 597px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;@echo off
PAUSE
C:
cd &quot;C:\Users\&amp;lt;NAMAUSER&gt;\.gradle&quot;
rmdir /s caches
@echo Berhasil Dihapus
PAUSE
exit&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;kalo udah lalu jalankan perintah &lt;strong&gt;react-native run-android&lt;/strong&gt; di folder project native react, kurang lebih nanti akan download ulang, pastikan terkoneksi ke internet, seperti digambar ini:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 56.96969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABuElEQVR42o2RS28TMRDH/SUqVUg0+7DX9trJ7mYfyb5fSVNxQUKIC+LAAYmQbIFy6anHFEhalGwofNxOuhx6AqSfRv+ZsUd/e9Dl9dWm/XH7q93sd5u2BbZ3P9vfd2vQ+/Zmv/++3a53OxAHfbP++m21ul5tbtfNeYPKSewGzB8J1xWWxUxTBxjXhMCca4CUBDQUhYkpVTHpafpTRX1yfHyEps9mZZ3X03I6q6o6S9IxxLJKgUOahWkWjsauHzj+yBl6A9e3XG8A05M0RH3PHUfeODwg+9QUREgDBEQBqTQo04ihGlQlhgKacZ2bcIYwxpBlSy+wYXBexFkeR3Hg+/bQHcB42xHOUHq+Bd0u2o5kJpaScUlcaqGhZ9eTIsuivEzAahQF09Myy0PQeRHFSRAno3qSVVU6O6uzIoLLjOoqVaqBjxg/+DTFH7iJH1JiSsIFgRTo3iIkBQ3+KdUJVaK+hzDRuvdA7ADd8aiiPq5Qpmv4ZJbkCBrwB5TDev4NXAPArE6U07xAmt7T8Qms7v/BuIeNHnhHr9+8bM4Xny8+/p2LL5+Wy/lysXz/Yf52/q5pFs9fvLoHQ7CYVPx9pQ8AAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;gradle download&quot;
        title=&quot;&quot;
        src=&quot;/static/2f2a9e692f84f146eee6b4bb09d1025a/7c811/gradle2.png&quot;
        srcset=&quot;/static/2f2a9e692f84f146eee6b4bb09d1025a/103f2/gradle2.png 165w,
/static/2f2a9e692f84f146eee6b4bb09d1025a/748ba/gradle2.png 330w,
/static/2f2a9e692f84f146eee6b4bb09d1025a/7c811/gradle2.png 660w,
/static/2f2a9e692f84f146eee6b4bb09d1025a/3ccd1/gradle2.png 967w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;ditunggu saja, tergantung kecepatan internet dan hardisk anda, karena banyak file yang didownload, jika sudah selesai maka akan muncul keterangan koneksi ke nox, seperti digambar ini:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 56.36363636363636%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAB5klEQVR42k2RWW/TQBSF/S9YkyYO3me8jfclGTtOyp9ASHlBtDIgCqghrVoJ+tK+IZ4gNHHT8Ds5ThBC+nR1Z+Qz59xr4dv36+XyZ9PcNs1q3aw29w2au7v1ZtOA7e/77XazXt+C1eoX2DfL5Q98JiRx6DjEdakfOKapmaZOqWrZBiEqIQp6XZdVdaCoA1nuK4qIHkhSLwqZMJ2Wk0kxrkZgxJPhKElSP0585lmebzHWPuoy07J1QtU9lGq6LiVZIEwPq6riZTnkRVqUOS+zLA+zrCVJAxBFzPdt09J0QzaIQqhMqGIQGUcBsjQNYRWE7h5YwTMInSj2wghHGzcIYjvEcantGI5LUHVDEg6fV+PxkPMUVnHi8SLDpwBivAg9LqGEDBvBLuBpEAlV1QZCNSk4z6CMYsaYGUbMtnWExNv7OTGepj/7W9vksqKKstKXFVHgPM/zOMsjyJhveQgZOvvkCLzL7+4Ct2BaKOEJWnFRRrwI81EQp23IfwJMC3ZbcJCZeeZOT3erkgCCCH7mpzkLItNlFLZIi38rDjqd7oNO9yHoHoBH4KD3GPT6T/ri057YVuHy6+Lm5vrq6sv886fF4vTsfH5xeXY6//j+5O3/nHx4V785quuj4/rV7HhW169fzF7+AUNIp0r6aRFWAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;gradle done&quot;
        title=&quot;&quot;
        src=&quot;/static/2a58b26246f4cdac0880e8bb324f00d4/7c811/gradle3.png&quot;
        srcset=&quot;/static/2a58b26246f4cdac0880e8bb324f00d4/103f2/gradle3.png 165w,
/static/2a58b26246f4cdac0880e8bb324f00d4/748ba/gradle3.png 330w,
/static/2a58b26246f4cdac0880e8bb324f00d4/7c811/gradle3.png 660w,
/static/2a58b26246f4cdac0880e8bb324f00d4/a91f8/gradle3.png 960w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Done! beneran selesai. Project native react sudah tampil di emulator nox!&lt;/p&gt;
&lt;h2 id=&quot;fyi&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#fyi&quot; aria-label=&quot;fyi permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;FYI&lt;/h2&gt;
&lt;p&gt;Kalo suatu saat tidak bisa padahal sebelumnya bisa, COPY ULANG &lt;strong&gt;adb.exe&lt;/strong&gt; (dari folder platform-tools) lalu rename jadi &lt;strong&gt;nox_adb.exe&lt;/strong&gt; (di folder nox) dan pasti bisa lagi deh.&lt;/p&gt;
&lt;p&gt;Mantap betul ...&lt;/p&gt;
&lt;p&gt;sumber:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/facebook/react-native/issues/13397#issuecomment-360830691&quot;&gt;https://github.com/facebook/react-native/issues/13397#issuecomment-360830691&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codingrakitan.blogspot.com/2018/11/cara-mengatasi-unable-to-connect-to.html&quot;&gt;https://codingrakitan.blogspot.com/2018/11/cara-mengatasi-unable-to-connect-to.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=_JJ-mxlTADc&quot;&gt;https://www.youtube.com/watch?v=_JJ-mxlTADc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/a/54514380&quot;&gt;https://stackoverflow.com/a/54514380&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/a/23357856&quot;&gt;https://stackoverflow.com/a/23357856&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Command Not Found React Native Run Android]]></title><description><![CDATA[bismillah langsung sajah dah, tetiba perintah react-native run-android gw kagak bisa, command not found! apa karena gw ganti hdd ke ssd yak ... hems... padahal hanya drive selain C…]]></description><link>https://topidesta.my.id/command-not-found-react-native-run-android/</link><guid isPermaLink="false">https://topidesta.my.id/command-not-found-react-native-run-android/</guid><category><![CDATA[react]]></category><category><![CDATA[mobile]]></category><pubDate>Thu, 05 Dec 2019 05:40:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h2&gt;
&lt;p&gt;langsung sajah dah, tetiba perintah &lt;strong&gt;react-native run-android&lt;/strong&gt; gw kagak bisa, command not found! apa karena gw ganti hdd ke ssd yak ... hems... padahal hanya drive selain C: .. yasudah, ini dia tricknya, install ulang lagi ajah module node js pake yarn package manager ya, ini perintahnya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;yarn global add expo-cli&lt;/li&gt;
&lt;li&gt;yarn global add react-native-cli&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;pastikan buka &lt;strong&gt;CMD&lt;/strong&gt; atau &lt;strong&gt;BASH&lt;/strong&gt; terminal dalam posisi &lt;em&gt;Run Administrator&lt;/em&gt; kalo udah ya restart atau log-out dulu, biar re-create index dl itu windows, inget ini bukan linux yak, hehe.&lt;/p&gt;
&lt;p&gt;cek dengan perintah ini: &lt;strong&gt;react-native -v&lt;/strong&gt; nanti akan muncul versi nyah.&lt;/p&gt;
&lt;p&gt;Done, have a nice day!&lt;/p&gt;
&lt;p&gt;source:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/a/55224044&quot;&gt;https://stackoverflow.com/a/55224044&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/a/54778838&quot;&gt;https://stackoverflow.com/a/54778838&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Contoh Surat Resmi Untuk Daftar Kerja di Pemerintahan atau Swasta]]></title><description><![CDATA[Bismillah Langsung ajah ini gw share surat resmi untuk mendaftar pekerjaan, baik pemerintahan atau swasta ya.      kalo mau file pdf nyah ini ya: SURAT-BEBAS-HUKUM SURAT-BEBAS…]]></description><link>https://topidesta.my.id/contoh-surat-resmi-untuk-daftar-kerja-di-pemerintahan-atau-swasta/</link><guid isPermaLink="false">https://topidesta.my.id/contoh-surat-resmi-untuk-daftar-kerja-di-pemerintahan-atau-swasta/</guid><category><![CDATA[download]]></category><pubDate>Wed, 20 Nov 2019 08:40:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h3&gt;
&lt;p&gt;Langsung ajah ini gw share surat resmi untuk mendaftar pekerjaan, baik pemerintahan atau swasta ya.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 129.6969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAaCAIAAAA44esqAAAACXBIWXMAAAsTAAALEwEAmpwYAAABUklEQVR42tWS226DMAyG8/7PhgCBKOUopHIcaJzZEFD2K6EpMLTucDH1u4gsx7/t2CHzlnfKG6XrOm7A2fc97GEYeDDh1jRNRVFomqYoCs7T6QRDVVUYoigKgiBJkizLbdsi+Hq9bsRIGYbhCwVxTKlQzudzlmXw53m+bpPMn0DWuq5fKTkF3c5HkEPvOI6shSRJUJNlZByIEb2bEDzzIwhLht6CIKiqqixLnJgcn+qu2kHlpmnSNEUKNAn7oWwjZpVRDcvEuX7h7qlrm/C/wRb4IxYxdhPHMXq+XC4hJYoi9IJpw45XwM9neRcjCKG+70eUgMITARi4xWh458u04TIMQ9d1nK7rmqZp2zZsy7LwvRzHsSie5yEj3sgev1TGYvmXYid2lt+AXVB2yydfjwTppxvsdeuvSnjQd0CKg1X9jn8S36f9PGI2/GcU48P8SfwBkyfvSxGJKgEAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;SURAT-BEBAS-HUKUM&quot;
        title=&quot;&quot;
        src=&quot;/static/666447bce3c4f18214467b3bccb55be6/7c811/SURAT-BEBAS-HUKUM.png&quot;
        srcset=&quot;/static/666447bce3c4f18214467b3bccb55be6/103f2/SURAT-BEBAS-HUKUM.png 165w,
/static/666447bce3c4f18214467b3bccb55be6/748ba/SURAT-BEBAS-HUKUM.png 330w,
/static/666447bce3c4f18214467b3bccb55be6/7c811/SURAT-BEBAS-HUKUM.png 660w,
/static/666447bce3c4f18214467b3bccb55be6/d28e0/SURAT-BEBAS-HUKUM.png 990w,
/static/666447bce3c4f18214467b3bccb55be6/bb51b/SURAT-BEBAS-HUKUM.png 1320w,
/static/666447bce3c4f18214467b3bccb55be6/de891/SURAT-BEBAS-HUKUM.png 1700w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 129.6969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAaCAIAAAA44esqAAAACXBIWXMAAAsTAAALEwEAmpwYAAABM0lEQVR42u2TWW6DMBRFs/+FsQRAYh5KmYsYwpi0V74pBepWifJVqefDss27fiOn9yc4Hc5XQZ7nURS9CoIgCMPQ9/1hGOTiZVnmecbKY9M0ZVm+CcpPYCAXx3FsGIbneTAqigLiB8KGpq7rs2CapnEcGQjXLRKx4zhwm2VZ27bMAnq+sq7IGRuJOE1T13VRGHim+DvbohxzBl3XsaSwo58D8C8RXwRo0rpOPyAvGFr6ImBL+BzivOyRiKuqygRIvu97Fokg/vXIXNbMb2LbtjVNw1TBMyqPIwbLFXgCXOIGG3zC5HAWb2Jd1xVFUVXVNE18tiwL8whTbKjBhu3AK8hxJ2bOSZJwpBk8YahsBG+OYf8Ci7+2g1O4E1/3SJ/YWt7r+YH/+S+Iv1r1L74LDNxT4g8/V/UwsPdx8AAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;SURAT-BEBAS-NARKOBA&quot;
        title=&quot;&quot;
        src=&quot;/static/d2b1caad800c441fb0537c4d84d40333/7c811/SURAT-BEBAS-NARKOBA.png&quot;
        srcset=&quot;/static/d2b1caad800c441fb0537c4d84d40333/103f2/SURAT-BEBAS-NARKOBA.png 165w,
/static/d2b1caad800c441fb0537c4d84d40333/748ba/SURAT-BEBAS-NARKOBA.png 330w,
/static/d2b1caad800c441fb0537c4d84d40333/7c811/SURAT-BEBAS-NARKOBA.png 660w,
/static/d2b1caad800c441fb0537c4d84d40333/d28e0/SURAT-BEBAS-NARKOBA.png 990w,
/static/d2b1caad800c441fb0537c4d84d40333/bb51b/SURAT-BEBAS-NARKOBA.png 1320w,
/static/d2b1caad800c441fb0537c4d84d40333/de891/SURAT-BEBAS-NARKOBA.png 1700w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 129.6969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAaCAIAAAA44esqAAAACXBIWXMAAAsTAAALEwEAmpwYAAABJ0lEQVR42uWU2W6DMBBF+f/PK2JHoQkgsRdIoGVremQrqE5pGqlVX3IfRsNyPNczGO2s6v0OrS9r519Iged5DsPwWYjkcDiQ7HY7x3FI9vt9EARxHG/DWBqG4U2oaZoXoaqq2rZ9Fer7nkfX8LIskgEex5GYpmme56kQl7ds13UdRRGROsSiKL4DNuDj8ZgkCSapg+Grzv8AU41OTNOEc6IEbmAK3HUdhr/O/C6YJtFJ+tldxCV76S9abxLXhmtyeTpkWRaTJLqu63me7/uMtyxLdiRnRo47RsDkFJhuGYbxJARMzipE27Z1XWct0zS5L7+WLMsU2/gphbBQCcmByVJEWfl0On3u/73f9gowC5ZQ4M2js+azKvi/PlX/B7Odh4P5fzwi/AFzTPZZxjSEwgAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;SURAT-BEBAS-STUDI&quot;
        title=&quot;&quot;
        src=&quot;/static/dccf9cda1c782270be04dac9998b03c0/7c811/SURAT-BEBAS-STUDI.png&quot;
        srcset=&quot;/static/dccf9cda1c782270be04dac9998b03c0/103f2/SURAT-BEBAS-STUDI.png 165w,
/static/dccf9cda1c782270be04dac9998b03c0/748ba/SURAT-BEBAS-STUDI.png 330w,
/static/dccf9cda1c782270be04dac9998b03c0/7c811/SURAT-BEBAS-STUDI.png 660w,
/static/dccf9cda1c782270be04dac9998b03c0/d28e0/SURAT-BEBAS-STUDI.png 990w,
/static/dccf9cda1c782270be04dac9998b03c0/bb51b/SURAT-BEBAS-STUDI.png 1320w,
/static/dccf9cda1c782270be04dac9998b03c0/de891/SURAT-BEBAS-STUDI.png 1700w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 129.6969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAaCAIAAAA44esqAAAACXBIWXMAAAsTAAALEwEAmpwYAAABmklEQVR42r2UyZKCQBBE+f+fI0IHNTzggoqAKzpuiM6LzoEBRXE8mAeiuu3s7Mqq0rpmuBhc/wPr0Q/L5dL3/SiKRqPRarV6SJZgHMccStP0ZLBer1lut1v2D4dDDTkIglar5bouQRiGi8XifD7XP1vkzWYjDgGax+PxpZxFJj3IMPf7PcskSU5lcB3favJ0Ou10OsPhUBnqtFBPRhnmbDaTMgknBkVxltVk7EU8NMBzNtMMlwKqyRQWZc/zKCy2zedzdgh4i5ZRBnkJ648M07btdrtN5vAnk8lgMOh2u9TPcRw2vzJg6i2Z63kwCe92O+7GNmLenB+4f3mpwxwDpJrNJgEivV5PDle2fYnMadEajUZ+hcwvild3GEn6BuPxGOcJ+N6U55nbEMg8MMAzFY+7cETmY3veKqU6Y7KUReOrGD49o5rDlIulecZhBhCrvzMojg0gwEcGC/JErCdDoxfB7/f78O8Nt2rnDk2kyPZmKkpkFDCJZsQS5pmAVEnkpf8wFDR0xWF68mfy257v4X2yWu3jZBxRzX8AW4roWwLKO0EAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;SURAT-LAMARAN-CONTOH&quot;
        title=&quot;&quot;
        src=&quot;/static/51161ef5d29465176bd16f0a5d71d45f/7c811/SURAT-LAMARAN-CONTOH.png&quot;
        srcset=&quot;/static/51161ef5d29465176bd16f0a5d71d45f/103f2/SURAT-LAMARAN-CONTOH.png 165w,
/static/51161ef5d29465176bd16f0a5d71d45f/748ba/SURAT-LAMARAN-CONTOH.png 330w,
/static/51161ef5d29465176bd16f0a5d71d45f/7c811/SURAT-LAMARAN-CONTOH.png 660w,
/static/51161ef5d29465176bd16f0a5d71d45f/d28e0/SURAT-LAMARAN-CONTOH.png 990w,
/static/51161ef5d29465176bd16f0a5d71d45f/bb51b/SURAT-LAMARAN-CONTOH.png 1320w,
/static/51161ef5d29465176bd16f0a5d71d45f/de891/SURAT-LAMARAN-CONTOH.png 1700w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 129.6969696969697%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAaCAIAAAA44esqAAAACXBIWXMAAAsTAAALEwEAmpwYAAABHElEQVR42u2T206EQAyGef+nIyExsJwJCISDEEKyLKB+6Syji7prsnql30XpDP3bmRaMlzsw1ONZwJnnOcuyR6GqqjRNcbBRFBVFsSzLJ2INr4dhIPphIwiCruvatu37fl3XvZitpmnqusY+CYSehEW4dmxeU4rEg3A8Hjm8vsiNO1O5LEtVGYtSN+K2mMphGI7juBN8S6ya/FXoLt375blyHMdcG+t5HlPBCYQkSVjiuK4bCuzQyDcxZR3H8X2fiMPh4AkI8H2BJTbPc9UX3f+zmHnatm2aptKzJB07lmVh8dGrAhxwmqaLbrdCs6GnrVA+s6Tm/s7XIXrdQEwKPcuLb1vzcUdDCl3c+IG/6l/8+2IG9rfE6lO9S/wKZkvzF8P0MJMAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;SURAT-SEDIA-DIMANA-SAJA&quot;
        title=&quot;&quot;
        src=&quot;/static/ee783b1d7da1f7e7a59f591885b18b3c/7c811/SURAT-SEDIA-DIMANA-SAJA.png&quot;
        srcset=&quot;/static/ee783b1d7da1f7e7a59f591885b18b3c/103f2/SURAT-SEDIA-DIMANA-SAJA.png 165w,
/static/ee783b1d7da1f7e7a59f591885b18b3c/748ba/SURAT-SEDIA-DIMANA-SAJA.png 330w,
/static/ee783b1d7da1f7e7a59f591885b18b3c/7c811/SURAT-SEDIA-DIMANA-SAJA.png 660w,
/static/ee783b1d7da1f7e7a59f591885b18b3c/d28e0/SURAT-SEDIA-DIMANA-SAJA.png 990w,
/static/ee783b1d7da1f7e7a59f591885b18b3c/bb51b/SURAT-SEDIA-DIMANA-SAJA.png 1320w,
/static/ee783b1d7da1f7e7a59f591885b18b3c/de891/SURAT-SEDIA-DIMANA-SAJA.png 1700w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;kalo mau file pdf nyah ini ya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mdestafadilah/topidesta/blob/master/content/images/SURAT-BEBAS-HUKUM.pdf&quot;&gt;SURAT-BEBAS-HUKUM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mdestafadilah/topidesta/blob/master/content/images/SURAT-BEBAS-NARKOBA.pdf&quot;&gt;SURAT-BEBAS-NARKOBA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mdestafadilah/topidesta/blob/master/content/images/SURAT-BEBAS-STUDI.pdf&quot;&gt;SURAT-BEBAS-STUDI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mdestafadilah/topidesta/blob/master/content/images/SURAT-LAMARAN-CONTOH.pdf&quot;&gt;SURAT-LAMARAN-CONTOH&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mdestafadilah/topidesta/blob/master/content/images/SURAT-SEDIA-DIMANA-SAJA.pdf&quot;&gt;SURAT-SEDIA-DIMANA-SAJA&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;semoga bermangfaat ya.&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Plugin VSCodium (VSCode Opensource) Editor di Windows]]></title><description><![CDATA[Bismillah Hari ini gw mau share plugin yang ada di editor vscode, ups vscodium maksudnya hehe ... kebetulan ada beberapa plugin yang compitabel dengan vscodium, ada juga yang kgk…]]></description><link>https://topidesta.my.id/plugin-vscodium-vscode-opensouce-editor-di-windows/</link><guid isPermaLink="false">https://topidesta.my.id/plugin-vscodium-vscode-opensouce-editor-di-windows/</guid><category><![CDATA[editor]]></category><category><![CDATA[windows]]></category><pubDate>Mon, 11 Nov 2019 08:40:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h3&gt;
&lt;p&gt;Hari ini gw mau share plugin yang ada di editor &lt;del&gt;vscode&lt;/del&gt;, ups &lt;a href=&quot;https://vscodium.com/&quot;&gt;vscodium&lt;/a&gt; maksudnya hehe ... kebetulan ada beberapa plugin yang compitabel dengan vscodium, ada juga yang kgk, dan gw baru nemuin yang kagak compitabel, yaitu &lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh&quot;&gt;remote ssh&lt;/a&gt;, dalam penjelasan pluginnya kurang lebih seperti ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;Telemetry
Visual Studio Code Remote &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;SSH&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;and&lt;/span&gt; related extensions collect telemetry data to help us build a better experience working remotely from &lt;span class=&quot;token constant&quot;&gt;VS&lt;/span&gt; Code&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt; We only collect data on which commands are executed&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt; We &lt;span class=&quot;token keyword&quot;&gt;do&lt;/span&gt; not collect any information about image names&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; paths&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; etc&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt; The extension respects the telemetry&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;enableTelemetry setting which you can learn more about in the Visual Studio Code &lt;span class=&quot;token constant&quot;&gt;FAQ&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;kurang lebih ini dia daftarnya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Workspace Explorer&lt;/li&gt;
&lt;li&gt;Prettier - Code Formatter&lt;/li&gt;
&lt;li&gt;PHP InteliSense&lt;/li&gt;
&lt;li&gt;php cs fixer&lt;/li&gt;
&lt;li&gt;Material Icon Theme&lt;/li&gt;
&lt;li&gt;Markdown Preview Enhanced&lt;/li&gt;
&lt;li&gt;Nest Comments&lt;/li&gt;
&lt;li&gt;Markdown All in One&lt;/li&gt;
&lt;li&gt;GitDiffer&lt;/li&gt;
&lt;li&gt;Git Diff and Merge Tool&lt;/li&gt;
&lt;li&gt;Auto Rename Tag&lt;/li&gt;
&lt;li&gt;Auto Complete Tag&lt;/li&gt;
&lt;li&gt;Auto Close Tag&lt;/li&gt;
&lt;li&gt;Auto Import - ES6 TS JSX TSX&lt;/li&gt;
&lt;li&gt;EsLint&lt;/li&gt;
&lt;li&gt;Git Lenst - Git Supercharged&lt;/li&gt;
&lt;li&gt;React Native/ Reat/ Redux for Es6/ Es7&lt;/li&gt;
&lt;li&gt;Reactjs code snippets&lt;/li&gt;
&lt;li&gt;SSH FS&lt;/li&gt;
&lt;li&gt;GO&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Waduh banyak juga ternyata, tapi anehnya gak lemot gak kayak editor lainnya, sebelumya pake SublimeText sama Ecslipse ... tapi kok gak pas getu yah rasanya haha, akhirnya lumayan lama pake sublimetext, ketemu vscode beralih deh ke vscodium haha.&lt;/p&gt;
&lt;p&gt;have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Fungsi Untuk Mencari Kelipatan Bulan Setiap Tahun]]></title><description><![CDATA[bismillah Sekedar catatan pribadi aja sih yah, hehe ... kebetulan lagi buat laporan Grafik, dan beberapa pilihannya itu ada yang unik, yaitu mencari data pertriwulan, persemester…]]></description><link>https://topidesta.my.id/fungsi-untuk-mencari-kelipatan-bulan-setiap-tahun/</link><guid isPermaLink="false">https://topidesta.my.id/fungsi-untuk-mencari-kelipatan-bulan-setiap-tahun/</guid><category><![CDATA[php]]></category><category><![CDATA[codeigniter]]></category><pubDate>Wed, 30 Oct 2019 08:40:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h3&gt;
&lt;p&gt;Sekedar catatan pribadi aja sih yah, hehe ... kebetulan lagi buat laporan Grafik, dan beberapa pilihannya itu ada yang unik, yaitu mencari data pertriwulan, persemester, pertahun dan perbulan, tapi gak mau pake rentang bulan, misalkan kalo biasa bikin laporan kan gw pake rentang bulan, seperti gambar dibawah ini:
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 7.2727272727272725%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAABCAYAAADeko4lAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAALElEQVR42mN4/frN/zdv3v7/+vXr/y9fvvz/+fMnVvzt2zewmk+fPoFpXGoAPLxNoLXJQHMAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;rentangbulan&quot;
        title=&quot;&quot;
        src=&quot;/static/9d7692de49b33b68bb52a7d4e6a0548d/7c811/rentangbulan.png&quot;
        srcset=&quot;/static/9d7692de49b33b68bb52a7d4e6a0548d/103f2/rentangbulan.png 165w,
/static/9d7692de49b33b68bb52a7d4e6a0548d/748ba/rentangbulan.png 330w,
/static/9d7692de49b33b68bb52a7d4e6a0548d/7c811/rentangbulan.png 660w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;
Nah, gak masalah sih, bisa dihitung, asal &lt;em&gt;baku&lt;/em&gt; pertriwulan itu dimulai dari Januari - Maret, bukan Febuari - April, ok Fix, bisa. nah langkah pertama buka google, haha ... cari deh keyword pake englsih .. &quot;&lt;em&gt;&lt;strong&gt;date range 3 month in php&lt;/strong&gt;&lt;/em&gt;&quot; ... pasti resultnya banyak dan bingung, neh gw kasih langsung ajah yah, fungsinya, bisa taro di helper (kalo pake Codeigniter).&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// source: https://stackoverflow.com/a/7068745&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// contoh: https://3v4l.org/6GWnC&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;function_exists&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;trisemester&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function-definition function&quot;&gt;trisemester&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$apa&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

        &lt;span class=&quot;token variable&quot;&gt;$isiTri&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

        &lt;span class=&quot;token comment&quot;&gt;// 1 Jan - 31 Maret&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$apa&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;1&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$awal&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;01-01-&apos;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;Y&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$tri&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;mktime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;01&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;Y&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

        &lt;span class=&quot;token comment&quot;&gt;// 1 April - 30 Juni&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;elseif&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$apa&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;2&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$awal&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;01-04-&apos;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;Y&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$tri&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;mktime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;4&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;01&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;Y&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        
        &lt;span class=&quot;token comment&quot;&gt;// 1 Juli - 30 September&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;elseif&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$apa&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;3&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$awal&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;01-07-&apos;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;Y&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$tri&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;mktime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;7&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;01&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;Y&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        
        &lt;span class=&quot;token comment&quot;&gt;// 1 Oktober - 31 Desember&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;elseif&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$apa&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;4&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$awal&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;01-10-&apos;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;Y&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$tri&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;mktime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;10&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;01&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;Y&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

        &lt;span class=&quot;token comment&quot;&gt;// Semester 1, 1 Januari - 30 Juni&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;elseif&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$apa&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;5&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$awal&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;01-01-&apos;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;Y&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$tri&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;mktime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;01&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;Y&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

        &lt;span class=&quot;token comment&quot;&gt;// Semester 1, 1 Juli - 31 Desember&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;elseif&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$apa&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;6&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$awal&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;01-07-&apos;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;Y&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$tri&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;mktime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;7&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;01&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;Y&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

        &lt;span class=&quot;token comment&quot;&gt;// Setaon&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;elseif&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$apa&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;7&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$awal&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;01-01-&apos;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;Y&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;token variable&quot;&gt;$tri&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;mktime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;01&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;Y&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

        &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$isiTri&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
            &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;awal&apos;&lt;/span&gt;  &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$awal&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;akhir&apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;gmdate&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;d-m-Y&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$tri&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;itu sekalian gw kasih source dari StackOverFlow nyah yah. oh iya bonus neh, ada satu lagi yang bikin fungsinya juga, ini dia.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// source: https://stackoverflow.com/a/24014541&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;function_exists&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;addMonths&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function-definition function&quot;&gt;addMonths&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$months&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token class-name type-declaration&quot;&gt;DateTime&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$dateObject&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token variable&quot;&gt;$next&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;DateTime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$dateObject&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;Y-m-d&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token variable&quot;&gt;$next&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;modify&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;last day of +&apos;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$months&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos; month&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

        &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$dateObject&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;d&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$next&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;d&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$dateObject&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;diff&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$next&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;DateInterval&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;P&apos;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$months&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;M&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;function_exists&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;endCycle&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function-definition function&quot;&gt;endCycle&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$d1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$months&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token variable&quot;&gt;$date&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;DateTime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$d1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

        &lt;span class=&quot;token comment&quot;&gt;// call second function to add the months&lt;/span&gt;
        &lt;span class=&quot;token variable&quot;&gt;$newDate&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$date&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addMonths&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$months&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

        &lt;span class=&quot;token comment&quot;&gt;// goes back 1 day from date, remove if you want same day of month&lt;/span&gt;
        &lt;span class=&quot;token variable&quot;&gt;$newDate&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;sub&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;DateInterval&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;P1D&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; 

        &lt;span class=&quot;token comment&quot;&gt;//formats final date to Y-m-d form&lt;/span&gt;
        &lt;span class=&quot;token variable&quot;&gt;$dateReturned&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$newDate&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;Y-m-d&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; 

        &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$dateReturned&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Keduanya sama saja, cuman yang gw butuh date yang sudah di definisikan, kalo yang kedua, kita bisa tentuin sendiri, triwulan itu dimulai dari mana, dah getu ajah, gak perlu lah yah dijelasin fungsinya, searching aja di dokumentasi php official ajah. sekian.&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Cara Download File Di Pan Baidu Cina Dengan Web Downloader]]></title><description><![CDATA[bismillah Kebetulan gw pengen ikutin trick menjadikan dbeaver ee menjadi unlimited karena sekarang masih pake lisensi education, hanya 1 tahun, nah orang cina sono berhasil merubah…]]></description><link>https://topidesta.my.id/cara-download-file-di-pan-baidu-bahasa-cina-dengan-mudah-dengan-web-downloader/</link><guid isPermaLink="false">https://topidesta.my.id/cara-download-file-di-pan-baidu-bahasa-cina-dengan-mudah-dengan-web-downloader/</guid><category><![CDATA[baidu]]></category><pubDate>Tue, 15 Oct 2019 03:40:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;bismillah&lt;/h3&gt;
&lt;p&gt;Kebetulan gw pengen ikutin trick menjadikan dbeaver ee menjadi unlimited karena sekarang masih pake lisensi education, hanya 1 tahun, nah orang cina sono berhasil merubah menjadi tak terbatas, next gw akan coba ya, kalo sekarang fokus cara downloadnya ajah dulu, nah, ini trick bahasa cina &lt;a href=&quot;https://zhile.io/2019/05/08/dbeaver-license-crack.html&quot;&gt;ini&lt;/a&gt; dan diarahkan ke alamat &lt;a href=&quot;https://pan.baidu.com/s/1Ci_g6SHRaYL923FnH6zX1g&quot;&gt;baidu&lt;/a&gt;, okelah gw coba daftar, tricknya ada di &lt;a href=&quot;https://youtu.be/YqryvEsSS-A&quot;&gt;youtube&lt;/a&gt; ternyata tak semudah itu ferguso! muncul notifikasi error ...&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;The system detects that the current account is registered through an illegal channel. For your account security, please use the formal channel to register.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ok, cari digogel tricknya, secara ringkas, menggunakan&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;TamperMonkey&lt;/li&gt;
&lt;li&gt;WebDownloader&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;dengan tampermonkey .. nothing works!&lt;/p&gt;
&lt;p&gt;Akhirnya pakai cara ke-2, menggunakan jasa web-downloader, buatan orang rusia, alamatnya: &lt;a href=&quot;https://speedbaidu.ru/enindex.php&quot;&gt;https://speedbaidu.ru/enindex.php&lt;/a&gt;. kurang lebih langkahnya seperti digambar bawah ini:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 47.878787878787875%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABxUlEQVR42l1Sya7TQBDM/38QehInkOCAhIQ4IPKSeIl3x8t4iWfGfk5R3SgPiUPJM+2equrl4L2HwDqHdfW43RokSYo8z1EQpyDCz1OANE1xTRKUZakYxpH5K6y1eHI4chyeFzx2DMOALMsRBCERIAwjBBHPYYDj8RWn80VjQi7Czvl3sieUcFksXk4pyn6Ap6IoibJg33aF/S++LAvWnSTrP3fqUGyv24bPcQ1jPR5vb5psnQV24Gv2CR+jD8AGOO+0TG0RTYwx80b3TqoO7/c77d8w9i3qqoJh2RsFlPAB/Ki/41v5Rcm1X+6vK7d4FC8D5mzB9lg1rg6bpmFPMsTXK+L4iqZpMU2TqmV5hqZsYZqBgyj0wdOhGJmXGdM8qdAzfhCyvCj4oNLpyVBuFBGnRVHqZNNMpl5oXEinaUYiU6cJGVLXdRpXwprlVixVIKWX/Ha9UZcy9bquNdYbg7ZtFbJWkl9Wtf4X4YpvldAwMaaLX8cjLmFIsl7V2rbT8kPGojhGSxcCY3ptjcQSvgvo8Hy5oGNLPMs+3OcZ4jJj2QVVJ96ddZjZI+mTuDRm0PMi4AaICSlzENdctd/nCCP3VrblDzMd9ijFs9vpAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;speedbaidu&quot;
        title=&quot;&quot;
        src=&quot;/static/a7e0005b1a3c283dfc51b21e7f6f77d0/7c811/caradispeedbaidu.png&quot;
        srcset=&quot;/static/a7e0005b1a3c283dfc51b21e7f6f77d0/103f2/caradispeedbaidu.png 165w,
/static/a7e0005b1a3c283dfc51b21e7f6f77d0/748ba/caradispeedbaidu.png 330w,
/static/a7e0005b1a3c283dfc51b21e7f6f77d0/7c811/caradispeedbaidu.png 660w,
/static/a7e0005b1a3c283dfc51b21e7f6f77d0/d28e0/caradispeedbaidu.png 990w,
/static/a7e0005b1a3c283dfc51b21e7f6f77d0/9b7e9/caradispeedbaidu.png 1009w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Gratisnya sekali doang sayangnya&lt;/em&gt;, karena mereka juga sewa server dan membayar tim, dan file yang gw kirim ke mereka, ternyata &lt;a href=&quot;https://share.getcloudapp.com/GGu0kyNP&quot;&gt;salah&lt;/a&gt; ... sedih ... :(&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: mereka benar benar baik ... Tim speedbaidu telah mendownloadkan ulang file yang gw &lt;a href=&quot;https://share.getcloudapp.com/Z4uzL2ej&quot;&gt;minta&lt;/a&gt;, alhamdulillah.&lt;/p&gt;
&lt;p&gt;Buat temen temen yang punya dollar atau online payment ... silahkan donasi kemereka berapapun ... gw belum bisa karena memang gw gak punya dollar apalagi paypall.&lt;/p&gt;
&lt;p&gt;akhirkata, ternyata daftar pan.baidu.com harus lewat speedy wifi id.&lt;/p&gt;
&lt;p&gt;Have a nice day.&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Penulisan Variabel di Go Lang]]></title><description><![CDATA[Bismillah Sekedar catatan dari belajar Golang, ada beberapa style penulisan variabel di golang, 1 baris atau lebih dari 1 baris. berikut ini contoh penulisan variabel yaps…]]></description><link>https://topidesta.my.id/penulisan-variabel-di-bahasa-go-lang/</link><guid isPermaLink="false">https://topidesta.my.id/penulisan-variabel-di-bahasa-go-lang/</guid><category><![CDATA[golang]]></category><pubDate>Fri, 20 Sep 2019 03:40:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h3&gt;
&lt;p&gt;Sekedar catatan dari belajar Golang, ada beberapa style penulisan variabel di golang, 1 baris atau lebih dari 1 baris. berikut ini contoh penulisan variabel&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;go&quot;&gt;&lt;pre class=&quot;language-go&quot;&gt;&lt;code class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;// sintak penulisan variabel dengan banyak baris&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; john &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// variabel john dengan tipe int nilai default 0&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; doe &lt;span class=&quot;token builtin&quot;&gt;float64&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// variabel doe dengan tipe float nilai default 0 &lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; salah &lt;span class=&quot;token builtin&quot;&gt;bool&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// varibel salah dengan tipe bool nilai default false atau 0&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; benar &lt;span class=&quot;token builtin&quot;&gt;bool&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// variabel dengan tipe bool dan nilai true atau 1&lt;/span&gt;
    
    benar &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// sintak penulisan secara singkat, tipenya bool dengan nilai 1/ true&lt;/span&gt;

    &lt;span class=&quot;token comment&quot;&gt;// sintak penulisan variabel dengan banyak baris dalam 1 group&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
        john &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;
        doe &lt;span class=&quot;token builtin&quot;&gt;float64&lt;/span&gt;
        salah &lt;span class=&quot;token builtin&quot;&gt;bool&lt;/span&gt; 
    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
 
    &lt;span class=&quot;token comment&quot;&gt;// atau dengan cara lazzy, termalas ... hehe, 1 baris kelar&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; john&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; doe &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// john dan doe pertipe integer&lt;/span&gt;

    namaDepan&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; namaBelakang &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;John&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Doe&quot;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// deklarasi secara singkat otomatis bertipe string &lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;yaps, sesimple ituh ... semoga bermanfaat.&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Activation Windows 10 Edu dengan KMS Server]]></title><description><![CDATA[Bismillah Sebetulnya ini catetan pribadi aja yah ... karena lagi belajar GoLang dan iseng cari tau apa itu Docker pas lagi install, lah ternyata minimum required itu "windows pro…]]></description><link>https://topidesta.my.id/activation-windows-10-edu-dengan-kms-server/</link><guid isPermaLink="false">https://topidesta.my.id/activation-windows-10-edu-dengan-kms-server/</guid><category><![CDATA[windows]]></category><category><![CDATA[hacker]]></category><pubDate>Thu, 19 Sep 2019 11:00:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h3&gt;
&lt;p&gt;Sebetulnya ini catetan pribadi aja yah ... karena lagi belajar &lt;em&gt;GoLang&lt;/em&gt; dan iseng cari tau apa itu &lt;em&gt;Docker&lt;/em&gt; pas lagi install, lah ternyata minimum required itu &quot;windows pro, education dan enterprise&quot; sedangkan komputer kantor, pake lisensi home edition 😩&lt;/p&gt;
&lt;p&gt;Akhirnya dipake deh, lisensi windows education gw (didapat dengan cara mendaftar di Universitas di Luar Negeri, ada banyak tutorialnya, ini cara Legal dan semoga berkah ... aamiin 😏), ternyata aktivasi gagal karena mendeteksi Hardware dengan Lisensi berbeda, maklum, lisensi sebelumnya itu &lt;strong&gt;Home Retailer&lt;/strong&gt; karena gw pengen install itu docker, akhirnya terdampar dibeberapa vlog dan blog, kurang lebih isinya seperti dibawah ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;@echo off
title Windows &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; ALL version activator&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;cls&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; ************************************&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; Supported products:&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; - Windows &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; Home&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; - Windows &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; Professional&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; - Windows &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; Enterprise, Enterprise LTSB&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; - Windows &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; Education&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;echo.&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;echo.&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; ************************************ &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; Windows &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; activation&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;.
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /ipk TX9XD-98N7V-6WMQ6-BX7FG-H8Q99 &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /ipk 3KHY7-WNT83-DGQKR-F7HPR-844BM &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /ipk 7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /ipk PVMJN-6DFY6-9CCP6-7BKTT-D3WVR &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /ipk MH37W-N47XK-V7XM9-C7227-GCQG9 &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /ipk NW6C2-QMPVW-D7KKK-3GKT6-VCFB2 &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /ipk 2WH4N-8QGBV-H22JP-CT43Q-MDWWJ &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43 &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /ipk DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4 &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /ipk WNMTR-4C88C-JK8YV-HQ7T2-76DF9 &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /ipk 2F77B-TNFGY-69QQF-B8YKP-D69TJ &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; ************************************ &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;echo.&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;echo.&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
:server
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %i%&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;KMS_Sev&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;kms.shuax.com
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %i%&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;KMS_Sev&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;NextLevel.uk.to
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %i%&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;KMS_Sev&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;GuangPeng.uk.to
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %i%&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;KMS_Sev&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;AlwaysSmile.uk.to
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %i%&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;KMS_Sev&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;kms.chinancce.com
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %i%&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;exit&lt;/span&gt;
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /skms %KMS_Sev% &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /ato &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;find&lt;/span&gt; /i &lt;span class=&quot;token string&quot;&gt;&quot;successfully&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;echo.&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; ************************************ &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; echo. &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; choice /n /c YN /m &lt;span class=&quot;token string&quot;&gt;&quot;Do you want to restart your PC now [Y,N]?&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; errorlevel &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;exit&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;echo The connection to the server failed&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; Trying to connect to another one&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;. &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; Please wait&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;. &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; echo. &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; echo. &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; /a &lt;span class=&quot;token assign-left variable&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;+=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; goto server&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
shutdown.exe /r /t 00&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;@echo off
title Activate Windows &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; ALL versions &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; FREE&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;cls&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;#Project: Activating Microsoft software products for FREE without software&amp;amp;echo ============================================================================&amp;amp;echo.&amp;amp;echo #Supported products:&amp;amp;echo - Windows 10 Home&amp;amp;echo - Windows 10 Home N&amp;amp;echo - Windows 10 Home Single Language&amp;amp;echo - Windows 10 Home Country Specific&amp;amp;echo - Windows 10 Professional&amp;amp;echo - Windows 10 Professional N&amp;amp;echo - Windows 10 Education N&amp;amp;echo - Windows 10 Education N&amp;amp;echo - Windows 10 Enterprise&amp;amp;echo - Windows 10 Enterprise N&amp;amp;echo - Windows 10 Enterprise LTSB&amp;amp;echo - Windows 10 Enterprise LTSB N&amp;amp;echo.&amp;amp;echo.&amp;amp;echo ============================================================================&amp;amp;echo Activating your Windows...&amp;amp;cscript //nologo slmgr.vbs /upk &gt;nul&amp;amp;cscript //nologo slmgr.vbs /cpky &gt;nul&amp;amp;wmic os | findstr /I &quot;enterprise&quot; &gt;nul&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %errorlevel% EQU &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;cscript //nologo slmgr.vbs /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43 &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;cscript //nologo slmgr.vbs /ipk DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4 &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;cscript //nologo slmgr.vbs /ipk WNMTR-4C88C-JK8YV-HQ7T2-76DF9 &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;cscript //nologo slmgr.vbs /ipk 2F77B-TNFGY-69QQF-B8YKP-D69TJ &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;cscript //nologo slmgr.vbs /ipk DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;cscript //nologo slmgr.vbs /ipk QFFDN-GRT3P-VKWWX-X7T3R-8B639 &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; wmic os &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; findstr /I &lt;span class=&quot;token string&quot;&gt;&quot;10 pro&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %errorlevel% EQU &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;cscript //nologo slmgr.vbs /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;cscript //nologo slmgr.vbs /ipk MH37W-N47XK-V7XM9-C7227-GCQG9 &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; wmic os &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; findstr /I &lt;span class=&quot;token string&quot;&gt;&quot;home&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %errorlevel% EQU &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;cscript //nologo slmgr.vbs /ipk TX9XD-98N7V-6WMQ6-BX7FG-H8Q99 &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;cscript //nologo slmgr.vbs /ipk 3KHY7-WNT83-DGQKR-F7HPR-844BM &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;cscript //nologo slmgr.vbs /ipk 7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;cscript //nologo slmgr.vbs /ipk PVMJN-6DFY6-9CCP6-7BKTT-D3WVR &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;echo.&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
:server
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %i%&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;KMS_Sev&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;kms7.MSGuides.com
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %i%&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;KMS_Sev&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;kms8.MSGuides.com
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %i%&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;KMS_Sev&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;kms9.MSGuides.com
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %i%&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt; goto notsupported
cscript //nologo slmgr.vbs /skms %KMS_Sev% &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;echo.&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;echo.
cscript //nologo slmgr.vbs /ato &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;find&lt;/span&gt; /i &lt;span class=&quot;token string&quot;&gt;&quot;successfully&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;echo.&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;echo.&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;#My official blog: MSGuides.com&amp;amp;echo.&amp;amp;echo #How it works: bit.ly/kms-server&amp;amp;echo.&amp;amp;echo #Please feel free to contact me at msguides.com@gmail.com if you have any questions or concerns.&amp;amp;echo.&amp;amp;echo #Please consider supporting this project: donate.msguides.com&amp;amp;echo #Your support is helping me keep my servers running everyday!&amp;amp;echo.&amp;amp;echo ============================================================================&amp;amp;choice /n /c YN /m &quot;Would you like to visit my blog [Y,N]?&quot; &amp;amp; if errorlevel 2 exit) || (echo The connection to my KMS server failed! Trying to connect to another one... &amp;amp; echo Please wait... &amp;amp; echo. &amp;amp; echo. &amp;amp; set /a i+=1 &amp;amp; goto server)&lt;/span&gt;
explorer &lt;span class=&quot;token string&quot;&gt;&quot;http://MSGuides.com&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;goto &lt;span class=&quot;token function&quot;&gt;halt&lt;/span&gt;
:notsupported
&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;echo.&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; Sorry&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; Your version is not supported.&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;echo.
:halt
pause &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Berdasarkan informasi yang gw dapet key diatas adalah key evaluate (180 hari), jadi nanti kudu generate ulang lagi, dan itu key &lt;strong&gt;ORIGINAL&lt;/strong&gt; alias bukan bajakan, kenapa karena kita aktivasi langsung ke server KMS Microsoft melalui server yang ada di script diatas.&lt;/p&gt;
&lt;p&gt;kalo gw pake yang ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;@echo off
title Windows &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; ALL version activator&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;cls&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; ************************************&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; Supported products:&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; - Windows &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; Home&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; - Windows &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; Professional&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; - Windows &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; Enterprise, Enterprise LTSB&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; - Windows &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; Education&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;echo.&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;echo.&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; ************************************ &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; Windows &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt; activation&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;.
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /ipk GW_GANTI_SAMA_KEY_EDU_GW &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
&lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; ************************************ &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;echo.&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;echo.&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
:server
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %i%&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;KMS_Sev&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;kms.shuax.com
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %i%&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;KMS_Sev&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;NextLevel.uk.to
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %i%&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;KMS_Sev&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;GuangPeng.uk.to
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %i%&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;KMS_Sev&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;AlwaysSmile.uk.to
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %i%&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;KMS_Sev&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;kms.chinancce.com
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; %i%&lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;exit&lt;/span&gt;
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /skms %KMS_Sev% &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;nul
cscript //nologo c:&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;windows&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;system32&lt;span class=&quot;token punctuation&quot;&gt;\&lt;/span&gt;slmgr.vbs /ato &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;find&lt;/span&gt; /i &lt;span class=&quot;token string&quot;&gt;&quot;successfully&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;echo.&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; ************************************ &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; echo. &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; choice /n /c YN /m &lt;span class=&quot;token string&quot;&gt;&quot;Do you want to restart your PC now [Y,N]?&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; errorlevel &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;exit&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;echo The connection to the server failed&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; Trying to connect to another one&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;. &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; Please wait&lt;span class=&quot;token punctuation&quot;&gt;..&lt;/span&gt;. &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; echo. &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; echo. &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; /a &lt;span class=&quot;token assign-left variable&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;+=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; goto server&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
shutdown.exe /r /t 00&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;*&lt;/code&gt; &lt;strong&gt;CARA PAKAI&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Copy &amp;#x26; Paste Script diatas, simpan dengan nama &lt;em&gt;activator.txt&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Simpan dengan nama &lt;em&gt;activator.cmd&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Klik kanan &lt;em&gt;run as administrator&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Selesai.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;dan sekarang lisensi ada 2 dikomputer gw, &lt;strong&gt;home retailer&lt;/strong&gt; dan &lt;strong&gt;education&lt;/strong&gt; hehe, dan bisa install Docker untuk belajar.&lt;/p&gt;
&lt;p&gt;Have a nice Day!!&lt;/p&gt;
&lt;p&gt;source:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://go.topidesta.my.id/activate-win10-service&quot;&gt;http://go.topidesta.my.id/activate-win10-service&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://go.topidesta.my.id/microsoft-free&quot;&gt;http://go.topidesta.my.id/microsoft-free&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[dua Cara Rendering Data dengan setState ReactJS]]></title><description><![CDATA[Bismillah Langsung ke sourcecode js nya yah, ini adalah cara pertama melakukan setState() dimana kita melakukan binding terhadap fungsi addSideDish(). atau kita bisa membuatkan…]]></description><link>https://topidesta.my.id/dua-cara-rendering-data-dengan-setstate-reactjs/</link><guid isPermaLink="false">https://topidesta.my.id/dua-cara-rendering-data-dengan-setstate-reactjs/</guid><category><![CDATA[reactjs]]></category><pubDate>Wed, 18 Sep 2019 08:00:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h3&gt;
&lt;p&gt;Langsung ke sourcecode js nya yah, ini adalah cara pertama melakukan &lt;em&gt;setState()&lt;/em&gt; dimana kita melakukan binding terhadap fungsi &lt;em&gt;addSideDish()&lt;/em&gt;.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;
&lt;span class=&quot;token comment&quot;&gt;// komponen&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;NowEating&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token parameter&quot;&gt;props&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;h1&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;props&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;meal&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;h1&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Menu&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;React&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Component&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;constructor&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;props&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;props&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;state &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token literal-property property&quot;&gt;meal&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Roti&quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;addSideDish &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addSideDish&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;bind&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token comment&quot;&gt;// cara#1&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;addSideDish&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setState&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token literal-property property&quot;&gt;meal&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;Roti dan Kopi&quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token comment&quot;&gt;// cara#2&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;addSideDish&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setState&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;prevState&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;meal&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;prevState&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;meal&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt; dan Kopi&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    
    &lt;span class=&quot;token function&quot;&gt;render&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
            &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;NowEating meal&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;state&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;meal&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;state&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;meal &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Roti&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
                    &lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;button onClick&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;addSideDish&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;Add side dish&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;button&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                    &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;null&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
            &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

ReactDOM&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;render&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Menu &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;root&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;atau kita bisa membuatkan &lt;em&gt;fungsi anonymouse&lt;/em&gt; ... source seperti ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Komponen&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;NowEating&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token parameter&quot;&gt;props&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;h1&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;props&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;meal&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;h1&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Menu&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;React&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Component&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

    state &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; 
        &lt;span class=&quot;token literal-property property&quot;&gt;meal&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Roti&quot;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token comment&quot;&gt;// membuat function anonimus&lt;/span&gt;
    &lt;span class=&quot;token function-variable function&quot;&gt;addSideDish&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setState&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;prevState&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;meal&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;prevState&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;meal&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt; dan Kopi&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    
    &lt;span class=&quot;token function&quot;&gt;render&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
            &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;NowEating meal&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;state&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;meal&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;state&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;meal &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Roti&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
                    &lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;button onClick&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;addSideDish&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;Add side dish&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;button&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                    &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;null&lt;/span&gt;
                &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
            &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

ReactDOM&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;render&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Menu &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;root&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;yaps kata mentor seterah dah pake teknik yang mana, karena semuanya bisa dilakukan ... have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Rendering Arrays di React JS]]></title><description><![CDATA[Bismillah Lagi belajar ReactJS di Lynda.Com, kebetulan sekalian nyatet, sourcecode kurang lebih seperti ini: akan keluar output: Hello John Doe apa bedanya? silahkan analisa…]]></description><link>https://topidesta.my.id/rendering-arrays-di-react-js/</link><guid isPermaLink="false">https://topidesta.my.id/rendering-arrays-di-react-js/</guid><category><![CDATA[reactjs]]></category><pubDate>Tue, 17 Sep 2019 13:00:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h3&gt;
&lt;p&gt;Lagi belajar ReactJS di Lynda.Com, kebetulan sekalian nyatet, sourcecode kurang lebih seperti ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;html&quot;&gt;&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token doctype&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;!&lt;/span&gt;&lt;span class=&quot;token doctype-tag&quot;&gt;DOCTYPE&lt;/span&gt; &lt;span class=&quot;token name&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;html&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;head&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://unpkg.com/@babel/standalone/babel.js&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token script&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://unpkg.com/react/umd/react.development.js&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token script&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://unpkg.com/react-dom/umd/react-dom.development.js&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token script&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;head&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;root&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;text/babel&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token script&quot;&gt;&lt;span class=&quot;token language-javascript&quot;&gt;

    &lt;span class=&quot;token comment&quot;&gt;// Kita Akan Buat Komponen &apos;Greeting&apos; dengan functional type ( =&gt; )&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;Greetings&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
            &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;li key&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;Hello&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;li&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;li key&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;2&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;John&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;li&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;li key&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;3&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;Doe&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;li&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token comment&quot;&gt;// Rendering value dari komponen Greeting&lt;/span&gt;
    ReactDOM&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;render&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
        &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Greetings &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;root&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;html&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;akan keluar output:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hello&lt;/li&gt;
&lt;li&gt;John&lt;/li&gt;
&lt;li&gt;Doe&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;html&quot;&gt;&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token doctype&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;!&lt;/span&gt;&lt;span class=&quot;token doctype-tag&quot;&gt;DOCTYPE&lt;/span&gt; &lt;span class=&quot;token name&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;html&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;head&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://unpkg.com/@babel/standalone/babel.js&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token script&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://unpkg.com/react/umd/react.development.js&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token script&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
        &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://unpkg.com/react-dom/umd/react-dom.development.js&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token script&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;head&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;root&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;text/babel&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token script&quot;&gt;&lt;span class=&quot;token language-javascript&quot;&gt;

    &lt;span class=&quot;token comment&quot;&gt;// buat array sederhana&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; data &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;greeting&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Hello&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;greeting&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;John Doe&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;greeting&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Again&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;

    &lt;span class=&quot;token comment&quot;&gt;// komponen gretings&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;Greetings&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; data &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;item&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
                &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;li key&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;{item.id}&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;item&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;greeting&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;li&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    ReactDOM&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;render&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
        &lt;span class=&quot;token comment&quot;&gt;// Passing Data array ke komponen&lt;/span&gt;
        &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Greetings data&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;root&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;html&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;apa bedanya? silahkan analisa sendiri haha haha haha&lt;/p&gt;
&lt;p&gt;have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Bermain Konstanta di Golang]]></title><description><![CDATA[Bismillah kali ini gw akan coba bahas mendasar, penulisan konstanta (nilai tetap) pada golang .. ya sekedar catatan gw sendiri juga ya, berikut code go nyah. Play groundnya klik…]]></description><link>https://topidesta.my.id/bermain-konstanta-di-golang/</link><guid isPermaLink="false">https://topidesta.my.id/bermain-konstanta-di-golang/</guid><category><![CDATA[golang]]></category><pubDate>Wed, 11 Sep 2019 08:00:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h3&gt;
&lt;p&gt;kali ini gw akan coba bahas mendasar, penulisan konstanta (nilai tetap) pada golang .. ya sekedar catatan gw sendiri juga ya, berikut code go nyah.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;go&quot;&gt;&lt;pre class=&quot;language-go&quot;&gt;&lt;code class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&quot;fmt&quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; Hello &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;hello&quot;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; World &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;world&quot;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;Hello&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; World&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Play groundnya &lt;a href=&quot;https://play.golang.org/p/z6AsqQM2-oF&quot;&gt;klik&lt;/a&gt;, jadi pada fungsi diatas, kita akan menampilkan fungsi hello world dengan mendefinisikan nilai tetap &lt;strong&gt;Hello&lt;/strong&gt; dan &lt;strong&gt;World&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;senjata utama GO ialah, bisa &lt;strong&gt;penetapan nilai secara multiple&lt;/strong&gt;, seperti code go dibawah ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;go&quot;&gt;&lt;pre class=&quot;language-go&quot;&gt;&lt;code class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&quot;fmt&quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; Hello&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; World &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;hello&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;world&quot;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;Hello&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; World&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Play groundnya &lt;a href=&quot;https://play.golang.org/p/uyULLpLyoKS&quot;&gt;klik&lt;/a&gt; untuk beberapa orang akan menganggap ini terlalu beraturan, sulit untuk membacanya, makah bisa kita ubah menjadi ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;go&quot;&gt;&lt;pre class=&quot;language-go&quot;&gt;&lt;code class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&quot;fmt&quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    Hello &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;hello&quot;&lt;/span&gt;
    World &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;world&quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;Hello&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; World&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Play groundnya &lt;a href=&quot;https://play.golang.org/p/TSwONyUC1yI&quot;&gt;klik&lt;/a&gt; ups, ini tergantung kalian, style yang mana ... kondisikan saja lah yah, oh iya kita juga mendefinisikan keluaran dengan jenis tipe nyah dengan menambahkan &lt;strong&gt;%v&lt;/strong&gt; semacam verb default (nilai bawaan), sumberya ini: package &lt;a href=&quot;https://golang.org/pkg/fmt/&quot;&gt;fmt&lt;/a&gt;, source go seperti ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;go&quot;&gt;&lt;pre class=&quot;language-go&quot;&gt;&lt;code class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;package&lt;/span&gt; main

&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&quot;fmt&quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    Hello &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;hello&quot;&lt;/span&gt;
    World &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;world&quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;%v %v&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;Hello&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; World&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Play groundnya &lt;a href=&quot;https://play.golang.org/p/NP76SqDDkKI&quot;&gt;klik&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;done.&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;
&lt;p&gt;sumber: &lt;a href=&quot;https://twitter.com/hashtag/GoNotebook&quot;&gt;GoNotebook&lt;/a&gt;&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Memahami Slice atau Array di Golang]]></title><description><![CDATA[Bismillah Langsung saja baca penjelasannya ya, konsepnya sama hanya beda gaya menjelaskannya. :) atau kita sedikit bermain dengan playground ya ... kurang lebih seperti ini: oya…]]></description><link>https://topidesta.my.id/memahami-slice-array-di-golang/</link><guid isPermaLink="false">https://topidesta.my.id/memahami-slice-array-di-golang/</guid><category><![CDATA[golang]]></category><pubDate>Thu, 29 Aug 2019 16:00:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h3&gt;
&lt;p&gt;Langsung saja baca penjelasannya ya, konsepnya sama hanya beda gaya menjelaskannya. :)&lt;/p&gt;
&lt;p&gt;atau kita sedikit bermain dengan playground ya ... kurang lebih seperti ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;go&quot;&gt;&lt;pre class=&quot;language-go&quot;&gt;&lt;code class=&quot;language-go&quot;&gt;
    &lt;span class=&quot;token comment&quot;&gt;// ke-1&lt;/span&gt;
    fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;\n###### Array ######\n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    intArray &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;   
    &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; index&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;element &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;range&lt;/span&gt; intArray&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;index&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;=&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;element&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
     
    &lt;span class=&quot;token comment&quot;&gt;// ke-2&lt;/span&gt;
    fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;\n###### Slice ######\n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    intSlice &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    intSlice&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
    intSlice&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;
    intSlice&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
    intSlice&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;
    intSlice&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; index&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;element &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;range&lt;/span&gt; intSlice&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;index&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;=&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;element&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
     
    &lt;span class=&quot;token comment&quot;&gt;// ke-3&lt;/span&gt;
    fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;\n###### Map ######\n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    intStrMap &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    intStrMap&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;A&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
    intStrMap&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;B&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
    intStrMap&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;C&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;
    intStrMap&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;D&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
    intStrMap&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;E&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; index&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;element &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;range&lt;/span&gt; intStrMap&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;index&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;=&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;element&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;oya, ini gw dapet dari halaman ini: &lt;a href=&quot;https://www.golangprograms.com/print-index-and-element-or-data-from-array-slice-and-map.html&quot;&gt;Golang Programs&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;ke-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ke-1&quot; aria-label=&quot;ke 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Ke #1&lt;/h3&gt;
&lt;hr&gt;
&lt;p&gt;Kita akan mencoba modifikasi source ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;go&quot;&gt;&lt;pre class=&quot;language-go&quot;&gt;&lt;code class=&quot;language-go&quot;&gt;    fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;\n###### Array ######\n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    intArray &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;   
    &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; index&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;element &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;range&lt;/span&gt; intArray&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;index&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;=&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;element&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;\n###### Array ######\n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    intArray &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;   
    &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; index&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;element &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;range&lt;/span&gt; intArray&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;index&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;=&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;element&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;// output: ./prog.go:9:32: array index 4 out of bounds [0:4]&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Menurut Mas Noval Agung, &lt;code class=&quot;language-text&quot;&gt;error&lt;/code&gt; itu karena kapasitas dari array adalah &lt;code class=&quot;language-text&quot;&gt;4&lt;/code&gt;, sedangkan isi dari array itu berjumlah &lt;code class=&quot;language-text&quot;&gt;5&lt;/code&gt;, bagaimana kalo di isi &lt;code class=&quot;language-text&quot;&gt;6&lt;/code&gt; ? silahkan cek &lt;a href=&quot;https://play.golang.org/p/nngB_aeKMrQ&quot;&gt;playground&lt;/a&gt; ternyata tidak error, tetapi akan mengisi dengan nilai &lt;code class=&quot;language-text&quot;&gt;0&lt;/code&gt;. Nah, kita akan convert ke slice berdasarkan buku mas noval. kurang lebih seperti ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;go&quot;&gt;&lt;pre class=&quot;language-go&quot;&gt;&lt;code class=&quot;language-go&quot;&gt;    fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;\n###### Array ######\n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    intArray &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;   
    newArray &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; intArray&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// kita ambil nilai sebelum 4&lt;/span&gt;

    &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; index&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;element &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;range&lt;/span&gt; newArray &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;index&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;=&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;element&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Silahkan cek &lt;a href=&quot;https://play.golang.org/p/9mdkYUiQmaM&quot;&gt;playgroundnya&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;ke-2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ke-2&quot; aria-label=&quot;ke 2 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Ke #2&lt;/h3&gt;
&lt;hr&gt;
&lt;p&gt;Lanjut, kita akan modifikasi slice ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;go&quot;&gt;&lt;pre class=&quot;language-go&quot;&gt;&lt;code class=&quot;language-go&quot;&gt;    fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;\n###### Slice ######\n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    intSlice &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    intSlice&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
    intSlice&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;
    intSlice&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
    intSlice&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;
    intSlice&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; index&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;element &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;range&lt;/span&gt; intSlice&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;index&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;=&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;element&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;sebetulnya slice tak perlu di-index datanya (dari buku yang gw baca) .. hems, coba kita ubah menjadi ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;go&quot;&gt;&lt;pre class=&quot;language-go&quot;&gt;&lt;code class=&quot;language-go&quot;&gt;    fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;\n###### Slice ######\n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    intSlice &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; index&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;element &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;range&lt;/span&gt; intSlice&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;index&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;=&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;element&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ternyata berhasil tanpa error, silahkan cek &lt;a href=&quot;https://play.golang.org/p/UXBtCH7XxqG&quot;&gt;playgroundnya&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;sumber:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://dasarpemrogramangolang.novalagung.com/14-array.html&quot;&gt;https://dasarpemrogramangolang.novalagung.com/14-array.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dasarpemrogramangolang.novalagung.com/15-slice.html&quot;&gt;https://dasarpemrogramangolang.novalagung.com/15-slice.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kodingin.com/slice-pada-golang/&quot;&gt;https://kodingin.com/slice-pada-golang/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Deklarasi Tipe data secara dinamik di Golang]]></title><description><![CDATA[Bismillah Sekedar catatan aja sih, hehe .... soalnya saat liat source code golang, ada yang membenak di otak gw, ini tuh kode apa sih ...  nah mulai deh baca manual book dari orang…]]></description><link>https://topidesta.my.id/deklarasi-tipe-data-dinamik-di-golang/</link><guid isPermaLink="false">https://topidesta.my.id/deklarasi-tipe-data-dinamik-di-golang/</guid><category><![CDATA[golang]]></category><pubDate>Wed, 28 Aug 2019 12:50:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h3&gt;
&lt;p&gt;Sekedar catatan aja sih, hehe .... soalnya saat liat source code golang, ada yang membenak di otak gw, ini tuh kode apa sih ... &lt;code class=&quot;language-text&quot;&gt;:=&lt;/code&gt; nah mulai deh baca manual book dari orang laen bukan official yak, ternyata itu adalah &lt;strong&gt;tipe data dinamik&lt;/strong&gt; kalo orang bule nyebutnya tuh &lt;strong&gt;type inference&lt;/strong&gt; alias tipe data berdasarkan nilai valuenya, contohnya,&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;go&quot;&gt;&lt;pre class=&quot;language-go&quot;&gt;&lt;code class=&quot;language-go&quot;&gt;	&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; x &lt;span class=&quot;token builtin&quot;&gt;float64&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;20&lt;/span&gt;
	y &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt;
	firstName &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;fadilah&quot;&lt;/span&gt;
	
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;x&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;y&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;firstName&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;tipe data x adalah %T\n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; x&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;tipe data y adalah %T\n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; y&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;tipe data firstName adalah %T\n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; firstName&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;bisa dilihat, baris pertama dari nilai &lt;code class=&quot;language-text&quot;&gt;x&lt;/code&gt; adalah &lt;code class=&quot;language-text&quot;&gt;20&lt;/code&gt; dengan tipe datanya &lt;code class=&quot;language-text&quot;&gt;float64&lt;/code&gt; yang sudah didefinisikan diawal, inget cara bacanya dari kanan, &lt;strong&gt;nilai 20 bertipe float64 divariabel X&lt;/strong&gt; lanjut, kalo variabel &lt;code class=&quot;language-text&quot;&gt;y&lt;/code&gt; tipe datanya adalah &lt;code class=&quot;language-text&quot;&gt;int&lt;/code&gt; karena berupa angka, sedangkan variabel &lt;code class=&quot;language-text&quot;&gt;firstName&lt;/code&gt; tipe datanya adalah &lt;code class=&quot;language-text&quot;&gt;string&lt;/code&gt;, golang membacanya melalui sebuah &lt;strong&gt;literal double quote&lt;/strong&gt; macam ini &lt;code class=&quot;language-text&quot;&gt;&quot;_value_&quot;&lt;/code&gt; silahkan baca manualnya &lt;a href=&quot;https://golang.org/pkg/fmt/&quot;&gt;di sini&lt;/a&gt; dan bisa dilihat di halaman &lt;a href=&quot;https://play.golang.org/p/0TRE3j0UcFO&quot;&gt;play go&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;done, simple tapi mengena.&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[3 Cara mencari tahu tipe data apa di golang]]></title><description><![CDATA[Bismillah lagi belajar variabel tipe data di golang, catatan coba cek disini eh coba gogling, karena error muncul saat define string,  ternyata dimanual booknya dikatakan men…]]></description><link>https://topidesta.my.id/3-cara-mencari-tahu-tipe-data-apa-di-golang/</link><guid isPermaLink="false">https://topidesta.my.id/3-cara-mencari-tahu-tipe-data-apa-di-golang/</guid><category><![CDATA[golang]]></category><pubDate>Wed, 28 Aug 2019 11:50:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h3&gt;
&lt;p&gt;lagi belajar variabel tipe data di golang, catatan coba cek &lt;a href=&quot;/deklarasi-tipe-data-dinamik-di-golang&quot;&gt;disini&lt;/a&gt; eh coba gogling, karena error muncul saat define string, &lt;code class=&quot;language-text&quot;&gt;./prog.go:13:15: invalid character literal (more than one character)&lt;/code&gt; ternyata dimanual booknya dikatakan men-definisi string wajib kudu harus double quote .. &lt;code class=&quot;language-text&quot;&gt;&quot;_value_&quot;&lt;/code&gt; tetiba terdampar dihalaman &lt;a href=&quot;https://stackoverflow.com/a/27160765&quot;&gt;stackoverflow&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&quot;1---string-formatting&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1---string-formatting&quot; aria-label=&quot;1   string formatting permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;#1 - &lt;em&gt;&lt;strong&gt;string formatting&lt;/strong&gt;&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;Teknik ini sudah kita gunakan dicatatan &lt;a href=&quot;/deklarasi-tipe-data-dinamik-di-golang&quot;&gt;ini&lt;/a&gt;, pengunnannya simple, contohnya seperti ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;go&quot;&gt;&lt;pre class=&quot;language-go&quot;&gt;&lt;code class=&quot;language-go&quot;&gt;i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;horror&quot;&lt;/span&gt;
fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;%T\n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;resultnya adalah &lt;strong&gt;string&lt;/strong&gt; tipe datanya.&lt;/p&gt;
&lt;h4 id=&quot;2---package-reflect&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2---package-reflect&quot; aria-label=&quot;2   package reflect permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;#2 - &lt;em&gt;&lt;strong&gt;package reflect&lt;/strong&gt;&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;Teknik ini dengan mengimport paket &lt;code class=&quot;language-text&quot;&gt;reflect&lt;/code&gt; dahulu, baru bisa kita gunakan, misalkan seperti ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;go&quot;&gt;&lt;pre class=&quot;language-go&quot;&gt;&lt;code class=&quot;language-go&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&quot;fmt&quot;&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&quot;reflect&quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	i &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;horror&quot;&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;reflect&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;TypeOf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;resultnya adalah &lt;strong&gt;string&lt;/strong&gt; juga, silahkan coba di go play ya &lt;a href=&quot;https://play.golang.org/p/IkmNqTCgPrc&quot;&gt;ini&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&quot;3---dengan-assertions&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3---dengan-assertions&quot; aria-label=&quot;3   dengan assertions permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;#3 - &lt;em&gt;&lt;strong&gt;dengan assertions&lt;/strong&gt;&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;Assertion itu semacam mengecek value yang sudah didefine sebelumnya, contohnya ini, sumber di &lt;a href=&quot;https://tour.golang.org/methods/15&quot;&gt;tour golang&lt;/a&gt; ya&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;go&quot;&gt;&lt;pre class=&quot;language-go&quot;&gt;&lt;code class=&quot;language-go&quot;&gt;	&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; i &lt;span class=&quot;token keyword&quot;&gt;interface&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;hello&quot;&lt;/span&gt;

	s &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	s&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ok &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;s&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ok&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	f&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ok &lt;span class=&quot;token operator&quot;&gt;:=&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;float64&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;f&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ok&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	f &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;float64&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// panic&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;f&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;go&quot;&gt;&lt;pre class=&quot;language-go&quot;&gt;&lt;code class=&quot;language-go&quot;&gt;	&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; i &lt;span class=&quot;token keyword&quot;&gt;interface&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;horror&quot;&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;%T\n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;reflect&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;TypeOf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;switch&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;betul string&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
		fmt&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;betul integer&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;berdasarkan info &lt;a href=&quot;https://dasarpemrogramangolang.novalagung.com/&quot;&gt;e-book&lt;/a&gt; dari om noval agung, penggunakan &lt;code class=&quot;language-text&quot;&gt;switch&lt;/code&gt; - &lt;code class=&quot;language-text&quot;&gt;case&lt;/code&gt; hanya digunakan untuk mendeteksi tipe data konkrit yang bertipe &lt;code class=&quot;language-text&quot;&gt;interface{}&lt;/code&gt;. silahkan cek di &lt;a href=&quot;https://play.golang.org/p/5NTJ5O4U3Ey&quot;&gt;playgroundnya&lt;/a&gt; ya.&lt;/p&gt;
&lt;p&gt;yaps sekian, have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Setting Workspace Go Lang Project di Windows]]></title><description><![CDATA[Bismillah Sekedar catatan gw ajah sih, lagi iseng belajar bahasa GO, tetiba terfikirkan kalo banyak folder dalam pengembangannya bagaimana? struktur projectnya, karena GO itu sifat…]]></description><link>https://topidesta.my.id/setting-workspace-go-lang-project-di-windows/</link><guid isPermaLink="false">https://topidesta.my.id/setting-workspace-go-lang-project-di-windows/</guid><category><![CDATA[windows]]></category><category><![CDATA[golang]]></category><category><![CDATA[project]]></category><pubDate>Tue, 27 Aug 2019 11:50:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h3&gt;
&lt;p&gt;Sekedar catatan gw ajah sih, lagi iseng belajar bahasa GO, tetiba terfikirkan kalo banyak folder dalam pengembangannya bagaimana? struktur projectnya, karena GO itu sifat bahasanya package/ membutuhkan paket lain, akhirnya googling dulu ... terdampar dihalaman ini:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://golang.org/doc/code.html#Workspaces&quot;&gt;https://golang.org/doc/code.html#Workspaces&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Secara eksplisit, &lt;strong&gt;workspace&lt;/strong&gt; bahasa GO, merupakan ruang kerja, dimana didalamnya terdapat, 2 folder utama, yaitu:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;src&lt;/code&gt; source file go disini&lt;/li&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;bin&lt;/code&gt; source exe go disini&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;update&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update&quot; aria-label=&quot;update permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;UPDATE&lt;/h2&gt;
&lt;hr&gt;
&lt;p&gt;Ternyata ada 1 folder, setelah dieksekusi, nama foldernya:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;pkg&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;jadi semacam folder yang menghubungkan &lt;em&gt;object go yang sudah dicompile&lt;/em&gt; dari folder &lt;code class=&quot;language-text&quot;&gt;src&lt;/code&gt; yang saling terhubung ke folder &lt;code class=&quot;language-text&quot;&gt;bin&lt;/code&gt;, contohnya: paket &lt;code class=&quot;language-text&quot;&gt;fmt&lt;/code&gt; hampir ada disemua program Go, ketika kita compile akan muncul di pkg tapi sekali saja, dan tersimpan di folder &lt;code class=&quot;language-text&quot;&gt;pkg&lt;/code&gt;, dan akan &lt;em&gt;terlink otomatis&lt;/em&gt;, penghematan!.&lt;/p&gt;
&lt;p&gt;info didapat dari sini: &lt;a href=&quot;https://stackoverflow.com/a/47369867&quot;&gt;StackOverFlow&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;GO akan membuat file binaries saat build project yang akan disimpan di &lt;code class=&quot;language-text&quot;&gt;bin&lt;/code&gt; folder dan folder &lt;code class=&quot;language-text&quot;&gt;src&lt;/code&gt; lah yang akan menjadi tempat project dibuat dalam bentuk &lt;strong&gt;subdirectory&lt;/strong&gt; , kurang lebih workspce seperti ini:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 459px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 69.0909090909091%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB6ElEQVR42oVUi3KbMBD0//9Op3/QyTSd6bST2HHiBww2BgMSMk8hEGxPInZKJzXAIfRabm/vtHBdF57noSxLMJbAcfbwfd/28zzH6XSCWRMEAaqqQt/3N8Mw0DPY9jq2GN4H+14jK2pUUsFc1wVaa9uaNeZ77Gs0sgEXGS5ZgZhf0KjWzo2A9gZUFaLIU6i2w9xlNmdFiaIwTEp0nbbjC/Pquo5AiEL1G+fjmmie0Wl9F7Cn+TTliKIIKWeQ5PENsG1bNK3GUC0RBVscvCPiOCEv+hnAFEnCCDBFXddTQOthvcTRXZEAES6C4tKoWUDzY+OpbP728EqZAMPDK05+gLIoZikLAmRJYlul1DSGUvWk1grflht8fdzhy8Maj26OFw4skwErhok9xxrf9ykeNgl+OAI/D6Udn4hSZU9Yvb3AZzWiTCLKW3CJTy0pNZyQY+tT7oYCgZDgzY3yNYbPOB/WiM8xBCmn7yhtKF9ECk6UM/EPZUWiSKXHGPobbN72SIUYN5INn1inO3DOrSicRKmk/AA0mW+cGconxMGOsl7bcrorSm88FBbUZMQkD/FeKUP5C+HxFbutS+qxceY/wJo8ZIxRYsdgFJ5JHlpAU+PSAYs8OhwCdDPlZ+o7zzMIip85REzqGcA/P7s8ZBYm7n8AAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;directory windows&quot;
        title=&quot;&quot;
        src=&quot;/static/ec4761cf858bd2add5e2f1c044701f13/e38a7/directory-windows.png&quot;
        srcset=&quot;/static/ec4761cf858bd2add5e2f1c044701f13/103f2/directory-windows.png 165w,
/static/ec4761cf858bd2add5e2f1c044701f13/748ba/directory-windows.png 330w,
/static/ec4761cf858bd2add5e2f1c044701f13/e38a7/directory-windows.png 459w&quot;
        sizes=&quot;(max-width: 459px) 100vw, 459px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Lihat, ada folder &lt;code class=&quot;language-text&quot;&gt;mdestafadilah&lt;/code&gt; dimana didalam folder itu akan ada subdirectory project kita, ini berdasarkan rekomendasi golang didokumentasinya ya.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Untuk instalasi GO silahkan gunakan &lt;a href=&quot;aplikasi-manager-aplikasi-di-windows&quot;&gt;Chocolatey Management Software&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ups, kayaknya ada yang keliwat, yaps .. &lt;code class=&quot;language-text&quot;&gt;PATH&lt;/code&gt; agar bisa diakses oleh CMD Windows dan &lt;code class=&quot;language-text&quot;&gt;GOPATH&lt;/code&gt; agar menjadi default dari workspace project GO, silahkan refrensikan ke alamat ini:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://go.topidesta.my.id/go-setup-win&quot;&gt;http://go.topidesta.my.id/go-setup-win&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;secara singkat kurang lebih seperti gambar dibawah ini untuk setting &lt;code class=&quot;language-text&quot;&gt;path&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 45.45454545454545%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABwUlEQVR42l1S2XLaQBDUn+cp+aa8+SGOc9gBuwoDkoIsIQktAml1XxA6PYvtB29V12ztztHTM1ae59Bao6prFGUJXRQoaY/Ho4HWBZqmJZpX8F5V9K1Q0fb9AN10aKYBI2EppRDHMSTx4XAwKKsSSZJAJQpt26JgkZoFKxZSao80Tc1d3oZhQNv3SHWJsqhhSUDbduZjHEcTnOfaJNwz+Hw+0yq4toNtEFwL8V38BvrLcaMYt/M57qMlLKkibUjCy+WC0zSxQGPa7boep9Nk2k52CbbbECFhrx0slytEQYiF7eLb7BG+72O2eYYlemVZZvTpmVTQsQVhpVRi9BUf+Rd2cRTB23hIKYdNe3P/YAhFYYg4iGCNTCCs/pFdV1fYvXhItj6cp0eE9gpN1xktRWuxAdsOX3w8U4Kbh5kZysR413Xxd7OB1THAMKMex2SH9XwGl8k8cXDc12lnyAgZmNrv8bRa4+v3H0Z7OT07CskwIvv3oVzbamHbS3z+8gm/fv804sv0BSJLQJ2c+R/c3t2hou/bEf21vq6fhQ+n4MrMFwtEXCXR7W1PS7MyClvXQU4rU04PKZFh7e/gcUCyBf8BzNSiESN8Fy4AAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Setting Path Windows&quot;
        title=&quot;&quot;
        src=&quot;/static/e2b513e51e4bd036e3ffbeb22236a623/7c811/path-go-cmd.png&quot;
        srcset=&quot;/static/e2b513e51e4bd036e3ffbeb22236a623/103f2/path-go-cmd.png 165w,
/static/e2b513e51e4bd036e3ffbeb22236a623/748ba/path-go-cmd.png 330w,
/static/e2b513e51e4bd036e3ffbeb22236a623/7c811/path-go-cmd.png 660w,
/static/e2b513e51e4bd036e3ffbeb22236a623/d28e0/path-go-cmd.png 990w,
/static/e2b513e51e4bd036e3ffbeb22236a623/bb51b/path-go-cmd.png 1320w,
/static/e2b513e51e4bd036e3ffbeb22236a623/a4e81/path-go-cmd.png 1322w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Untuk mengecek apakah berhasil, silahkan buka command prompt, lalu ketik: &lt;code class=&quot;language-text&quot;&gt;go version&lt;/code&gt; maka akan muncul versi go, kurang lebih seperti gambar dibawah ini:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 463px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 38.78787878787879%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABQ0lEQVR42o2Qy27CMBBFvUWxE/NKwElFg5IsyE8RxIIFlBJICj9Lv4BHQEhlEW5tIxCqKoSloztje0Zzh6zX3zgej9hutygOBTabDYp9gWK3w35/QHm54NkpyxKn00nHP+czyHg8RpYtMJ1+YL7IME9TTCYTpOkMn7OZvFsgz3OZp/haLpFnGVarFUajEQaDAYbDIZIk0XG/3wexLBNCCNRqVdQbDTRtG9ziMq/BcRw0mzbq8o0xE5ZlwZbv6p5SCs6r+l+lUgEh5IrnenBdVyIgtLpotdp48zypspBRDTNN3dQ0r6jmnPM7KlcQ3/cRRRG63S7iOEYQBPBlrLTXi/He6SAII4RhqKcyDEOrjqkhofdcQRxHWpA2blYYYxoqUeu4TaKU/in+DyLaQu9QoewqO48f1EQ3XmqoFvrIK0XPGv4CgMYLAoFoPv0AAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Versi GO Windows&quot;
        title=&quot;&quot;
        src=&quot;/static/01f40d768d304470fc6d89e9b149798f/11b02/go-version.png&quot;
        srcset=&quot;/static/01f40d768d304470fc6d89e9b149798f/103f2/go-version.png 165w,
/static/01f40d768d304470fc6d89e9b149798f/748ba/go-version.png 330w,
/static/01f40d768d304470fc6d89e9b149798f/11b02/go-version.png 463w&quot;
        sizes=&quot;(max-width: 463px) 100vw, 463px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;selanjutnya, kita akan setting &lt;code class=&quot;language-text&quot;&gt;GOPATH&lt;/code&gt; sebagai workspace project kita, terkait tulisan ini, silahkan bebas meletakkan folder utama GO dimana saja, kalo gw di drive D: dengan nama folder &lt;code class=&quot;language-text&quot;&gt;GO-WORKS&lt;/code&gt;, silahkan lihat gambar dibawah ini, perhatikan ada nomor sebagai langkahnya:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 53.333333333333336%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACOUlEQVR42l1TWWvbYBDUH+9bf0cfWiiE0tBAXwqFEpqSkAQ3JLZjS9ZpW/dlnfEhT2e/HA8VLCuh/WZmZ/fTsizHZrNB27aoqhplWaJuGtR1jSLP1XdVVej7XkXXdf9Fi/7pCfWmQFcm0FzXQxzHyLIMSZKo95TvQuJ5Hvy1r8CFrCgKtE2LhoQioG0FsFe1cZJiu9tDq8kuTFIguakbBVoRZLVawVqYCPyAhyokeYHdMOD1OR6PKstZ3/epdAtNmHdE3h8OqmA4DqpA2nNsh2GrlpLAx4/PH/Hr9At+n51irc8hcPv9Hk/8X5CMAFRIJc8AHYaBgATO0lT5GJA1CkOlLvXX+HP2FT8/fcDJ+3e4/f4NRbmhVSnCMEYSeWhKA1ocxchpvngjbTb05cC2Wra/FsAXTwv6VG+3KFkTuA4Cz0UURW8RJyEcbwpt4GEJaXdLkJLqXNNEGoV4HN3CfpzCtyw4hoHIsRGRpKVXDYfRvPgu5F2/QxRY0KRv8e9AQ/KVh8fLC4wvzmHejTC5vsKMeTqd4+R8htvRBOFyibLboqhbZHWHIK8R5hViZtM1ocnI1djZWkC/bNuFZdmwHQdzqhtdXUIfj6FPJ7i7uYFJ9bJOnuvCZO31g46HuYmFocOx7qEdRB1DpiXZNJf4e3cP3Vgo/xJaUHC5c+5gwl0LgwC6rpPUgkEbbNviGQsr36GX9PBtp16ybjwDut5KDauqNuq2SLx2IzdH/vnrNScccF+Z4yX8eIZ/YQA2k1jvexQAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;GOPATH Windows&quot;
        title=&quot;&quot;
        src=&quot;/static/39b7349f5ba8e91db558fc337b4350bd/7c811/go-path-project.png&quot;
        srcset=&quot;/static/39b7349f5ba8e91db558fc337b4350bd/103f2/go-path-project.png 165w,
/static/39b7349f5ba8e91db558fc337b4350bd/748ba/go-path-project.png 330w,
/static/39b7349f5ba8e91db558fc337b4350bd/7c811/go-path-project.png 660w,
/static/39b7349f5ba8e91db558fc337b4350bd/d28e0/go-path-project.png 990w,
/static/39b7349f5ba8e91db558fc337b4350bd/acfc2/go-path-project.png 1091w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Untul melakukan pengecekan konfigurasi lakukan perintah seperti dibawah ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;go &lt;span class=&quot;token function&quot;&gt;env&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Jika sudah nanti akan muncul konfigurasi golang di PC kita.
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 81.21212121212122%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAABYlAAAWJQFJUiTwAAACBElEQVR42m1U23ajMAz0lzU37pBwJw6mJc02Z/v/P6BqhA1Odx/mWAZ7PCPJVnq40GQ6auuMovCN4gjYCZJoT0m8pzQ5UhofeLSQ+EjZf6CMrul+n6jrSirLTMa+r3msqOe4KGLefKLEIksDnjPSDZk3qnEc6PH4IK1bapoztW1JNY91DRSyMIoOQhbHxxXuAPxPkmCdq9Fc6fFnpvdJC4FsxgZstItiu/FFaRZSnkcCxA6i8O/3F83zaG3nVFWF2AdWonRT4RTGDjwPw73Eqm0vYrnrKzmtyEM6nxMhu1xSIXQEft5eEa6xMmagTyY0rBTkQFXlUgwANhbrgcSSfGvvdwxiZWxRkMPpXdM49kKKfEIhcno6vVlbBwo4xhzfYfNk5w7KMNHz+Um3W8fopcqwWzEhSEtWm7PSgDdH0ZKrINgvZMFuq7zkknN40w19zBPpaytESL6fQ+QVdqFuAQh3cgBisZ2Hax7VZHqaubFhc8tFsLaFX1UXgzC0vRlZhS4FSrPViW1DEQh8Mr/H/Gr+U3E7zzKp8pW+nne+bpWt6kboN+xv5OsaFuFBoarzbEQlGtupcQp9Jc629Csf7tb4UKgs2gYPBCoNQne1kvT1/vr3OMYL5NLjXz2tO1GIPoR9kKJAw1BLPAwNtfICVfIKNdxWaK2B45YfkaW9+CGR65rTD+FpWXy5FIOIAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;GOENV&quot;
        title=&quot;&quot;
        src=&quot;/static/4ea00eb7bef4c13759f711fa95832bd8/7c811/go-env.png&quot;
        srcset=&quot;/static/4ea00eb7bef4c13759f711fa95832bd8/103f2/go-env.png 165w,
/static/4ea00eb7bef4c13759f711fa95832bd8/748ba/go-env.png 330w,
/static/4ea00eb7bef4c13759f711fa95832bd8/7c811/go-env.png 660w,
/static/4ea00eb7bef4c13759f711fa95832bd8/3fcec/go-env.png 914w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;info dari sini -&gt; &lt;a href=&quot;https://stackoverflow.com/a/36800555&quot;&gt;https://stackoverflow.com/a/36800555&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;verifikasi apakah &lt;code class=&quot;language-text&quot;&gt;GOPATH&lt;/code&gt; sudah benar dengan download hellworld golang:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;cms&quot;&gt;&lt;pre class=&quot;language-cms&quot;&gt;&lt;code class=&quot;language-cms&quot;&gt;go get github.com/golang/example/hello
%GOPATH%/bin/hello&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;update-2022&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update-2022&quot; aria-label=&quot;update 2022 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Update 2022&lt;/h2&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;λ go get github.com/golang/example/hello
go: go.mod &lt;span class=&quot;token function&quot;&gt;file&lt;/span&gt; not found &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; current directory or any parent directory.
        &lt;span class=&quot;token string&quot;&gt;&apos;go get&apos;&lt;/span&gt; is no longer supported outside a module.
        To build and &lt;span class=&quot;token function&quot;&gt;install&lt;/span&gt; a command, use &lt;span class=&quot;token string&quot;&gt;&apos;go install&apos;&lt;/span&gt; with a version,
        like &lt;span class=&quot;token string&quot;&gt;&apos;go install example.com/cmd@latest&apos;&lt;/span&gt;
        For &lt;span class=&quot;token function&quot;&gt;more&lt;/span&gt; information, see https://golang.org/doc/go-get-install-deprecation
        or run &lt;span class=&quot;token string&quot;&gt;&apos;go help get&apos;&lt;/span&gt; or &lt;span class=&quot;token string&quot;&gt;&apos;go help install&apos;&lt;/span&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;tinggal update init module nya dulu..&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;go mod init&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;jika gopath sesuai akan muncul seperti ini:
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 429px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 41.81818181818182%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABdElEQVR42oVQS27CUAx8CzaEpBA+Scg/QaJIRaJHQELlAIQATbgsvQLLggT0BuxIkKb2o6is2sVobD+/8dhis/nAdrvF1+mE/W6Pw/GI3ecOx8MBJ4q5dj6fUZYliqK4oSxwuVxQUvxYv16vEFmWYT6fI89y4gRZniMnJEmCNE3xTu+zWYLVaiX7lssFFlRfr9dIKZ9MJpi+TSXG4zFEq9VCo9GAYZrQdR3Npg6uPdXrMu90OpLb7TYURZG91WoVjuNA0zQJrnFPpVKBcF0PnuuCmZtcz4VHcFwHlmUhCALKPVjdLsIoRBQSoljW4zhGr0dxGMjcMAwI07RgkjtmyzJl7JG4S0N4gO/7sLs2bPsGi975IztnNgm8EefsVDwPBuj3+zQ9omk9ip8xGr1iOHxBKN1EUtwnByyoqiqtXkWtVpMnYNxjZsG2eTW+EU/0A58EHOn0/kFRfj+w4F8QvBbfyPP8n/vxLW15eG7QVO1fkUfBbz4hCByWLAMSAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;GOPATH HELLOW&quot;
        title=&quot;&quot;
        src=&quot;/static/34e21877781b036330b67dfe35ffd245/7cc24/go-path-hello.png&quot;
        srcset=&quot;/static/34e21877781b036330b67dfe35ffd245/103f2/go-path-hello.png 165w,
/static/34e21877781b036330b67dfe35ffd245/748ba/go-path-hello.png 330w,
/static/34e21877781b036330b67dfe35ffd245/7cc24/go-path-hello.png 429w&quot;
        sizes=&quot;(max-width: 429px) 100vw, 429px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;dan ... selesai!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Website Penyedia Software Link Download]]></title><description><![CDATA[Bismillah Hanya sekedar berbagi informasi, sebaiknya .. BELI LAH SOFTWARE ASELI, JIKA MAMPU! KARENA HAL TERSEBUT MENDUKUNG PENGEMBANGNYA NYICIL GADGET ATAU LAPTOP MAC-OS…]]></description><link>https://topidesta.my.id/website-penyedia-software-link-download/</link><guid isPermaLink="false">https://topidesta.my.id/website-penyedia-software-link-download/</guid><category><![CDATA[windows]]></category><category><![CDATA[download]]></category><pubDate>Mon, 26 Aug 2019 09:00:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h3&gt;
&lt;p&gt;Hanya sekedar berbagi informasi, sebaiknya ..&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;BELI LAH SOFTWARE ASELI, JIKA MAMPU! KARENA HAL TERSEBUT MENDUKUNG PENGEMBANGNYA NYICIL GADGET ATAU LAPTOP MAC-OS&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;dikarenakan beberapa software gw ada yang pake jamu ada yang pakai serial fake atau user fake atau register fake dll, dan juga biar gak ribet klak kliknya, berikut ini list website penyedia software gratis yang sering gw kunjungin, diantaranya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/kuyhaa&quot;&gt;Kuyhaa&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/bagas31&quot;&gt;Bagas31&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/gigapurbalingga&quot;&gt;GigaPurbalingga&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/adamsan&quot;&gt;Ad4m-San&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/yasir&quot;&gt;Yasir252&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Tambahan:&lt;/p&gt;
&lt;ol start=&quot;6&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/getintopc&quot;&gt;GetIntoPC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/freeware&quot;&gt;FreewareSys&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/akangsuhar&quot;&gt;AkangSuhar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Haramain Software&lt;/li&gt;
&lt;li&gt;Mufasi&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/haxnode&quot;&gt;HaxNode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/latestuploads&quot;&gt;LatestUploads&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;bonus&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bonus&quot; aria-label=&quot;bonus permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bonus&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;/daftar-website-penyedia-script-nulled/&quot;&gt;Aplikasi Nulled&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Have a nice Day!&lt;/p&gt;
&lt;p&gt;sumber: &lt;a href=&quot;https://kutt.it/12-software&quot;&gt;https://kutt.it/12-software&lt;/a&gt;&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Dua Langkah Disable IDM Windows dengan Regedit - Register Editor]]></title><description><![CDATA[Bismillah Ini mah sekedar catatan gw ajah yak, kebetulan meski dengan windows original, beberapa software masih pakai jamu (alias crack-crackan) ... terkait harga software yang…]]></description><link>https://topidesta.my.id/dua-langkah-disable-idm-windows-regedit/</link><guid isPermaLink="false">https://topidesta.my.id/dua-langkah-disable-idm-windows-regedit/</guid><category><![CDATA[idm]]></category><category><![CDATA[windows]]></category><category><![CDATA[regedit]]></category><pubDate>Mon, 26 Aug 2019 03:00:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h3&gt;
&lt;p&gt;Ini mah sekedar catatan gw ajah yak, kebetulan meski dengan windows original, beberapa software masih pakai jamu (alias crack-crackan) ... terkait harga software yang benar benar ngocek kantong, kali ini catatan mengenai update &lt;em&gt;IDM&lt;/em&gt; yang selalu muncul, ada 2 cara yang gw lakukan, 2 tekhnik seharusnya, ini tekhnik pertama.&lt;/p&gt;
&lt;h4 id=&quot;1-perpanjang-tahun&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-perpanjang-tahun&quot; aria-label=&quot;1 perpanjang tahun permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1 (Perpanjang Tahun)&lt;/h4&gt;
&lt;p&gt;berikut ini langkahnya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open regedit (WinKey + R) lalu ketik &lt;strong&gt;regedit&lt;/strong&gt;, lalu Enter&lt;/li&gt;
&lt;li&gt;Buka key: &lt;strong&gt;HKEY_CURRENT_USER\Software\DownloadManager\LastCheck&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Ubah ke format tahun yang akan datang, misal: &lt;strong&gt;01/01/99&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Keluar regedit&lt;/li&gt;
&lt;li&gt;Restart Komputer&lt;/li&gt;
&lt;li&gt;Done&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Berikut screenshoot tanggalnya:
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 300px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 66.66666666666666%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACNElEQVR42p3T7U/aUBTH8f7//8CyZa/cfBxmOh1DAXlQmQgICohSKFBBxRZuW6BFFL67MGZcnHvhTT45J6e/NE16rhKIHhJM5PAfZtiMpImfG0RLglChQ/iiR6w+IVQds6OOCVQmLMR0PgbVWd0+HxLSJkRrYw4aY46uJignhTLnaoPTyxrpfJli3eDi2qHYtMjrFrmaICudzFjEshqRjEosVyOlmmTrYpY5awgKukCpVFRy2RxVWQv5PFq1imNb2KKLYwnZC3rP9B2bfs+S1XqaOX/IvFKv10mnMiSPjkkmU1SqGt2uwDBMTLPzwnQ+Y069fK7ozSaXqkapXOGyonF7Z2A7DpZtv4lSUcuoxSxNrUQxl8a4a2NbFpYQb6IUq1d8iN3yPtbmXbhF9cZC9AYYVh/Tfp3xvLd689pHuWjcsng24XPugdX8I21nxPB+RN8bMRi+zpUZV1bv/oH7x/G8H6E0W01GAwuv18F1ugj52d3/6HS7cgME6o1JqilIajeETlVOrwXHuoliGG2GwyGDgTvjuS7uoP86z+Vh6KF3HY6vbRLyhd8zJdItIRdb/uU1/yEbwSM2gwdshRMzgXiK3YOTf9re+8lWKMG25PNH+eKPEZBzfzzNzn4GZXV5g08LKyyt+maW19b5sRsmHN0nFIn/ZTpbkZnF5S8srfjwff2Gb32TnVCEvdjvjOK25O5Vy+i6TqNWo6HV8LwhszPh6Uzm/ZW8CHW5/NML8Th+FpifX4e5r/bEE8IgAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Regedit IDM Langkah Pertama&quot;
        title=&quot;&quot;
        src=&quot;/static/58aa2dcfe223d015fb287dec5c7628aa/a8a0d/idm-langkah-1.png&quot;
        srcset=&quot;/static/58aa2dcfe223d015fb287dec5c7628aa/103f2/idm-langkah-1.png 165w,
/static/58aa2dcfe223d015fb287dec5c7628aa/a8a0d/idm-langkah-1.png 300w&quot;
        sizes=&quot;(max-width: 300px) 100vw, 300px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h4 id=&quot;2-abaikan-server-idm&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2-abaikan-server-idm&quot; aria-label=&quot;2 abaikan server idm permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2 (Abaikan Server IDM)&lt;/h4&gt;
&lt;p&gt;Jika langkah pertama kurang puas, alias masih ajah muncul notif update atau apalah apalah ini tekhnik selanjutnya, berikut ini langkahnya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open regedit (WinKey + R) lalu ketik &lt;strong&gt;regedit&lt;/strong&gt;, lalu Enter&lt;/li&gt;
&lt;li&gt;Klik &lt;strong&gt;HKEY_CURRENT_USER\Software\DownloadManager&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Klik kanan, new keyword &lt;strong&gt;DWORD&lt;/strong&gt; pilih arsitektur 32/64 bit&lt;/li&gt;
&lt;li&gt;Ketik nama &lt;strong&gt;AutoUpdate&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Lalu pilih &lt;strong&gt;ExceptionServers&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Klik kanan tambahkan tulisan &lt;strong&gt;&apos;*.tonec.com&apos;&lt;/strong&gt; dibaris terakhir&lt;/li&gt;
&lt;li&gt;Klik Ok&lt;/li&gt;
&lt;li&gt;Restart Komputer&lt;/li&gt;
&lt;li&gt;Done&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Berikut ini tampilannya:
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 393px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 44.242424242424235%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB2klEQVR42l2SS2/TUBBG/dvZsUdI3bAAsUCsECmtVFqpShSpEalfefn9ju087NhOuz2MjagKi6Nv5pu5mrnXVq4nGndzm9tHl6ld8dMo+DoO+Xxn8fFmycVI4+LHgi+zPZerJ66WHbf2E6NZxPepw2gec/3hE9O3b7h//w7l19JjE+ZsohIrrTC8kod1zsSIuFc9xmbEY1CjJ2f0uBtYpGce7RzVytBdUdNhtRTsCMX1Q0xdQ1NVbMuia0409ZH2VElcD9rn/1D1Wg2c+rxtaLqO4lChOEGMaeioqo6u62iawTYvqesTx6p+oXrF/96xqqhFt+UBxfIiHNvBsmzyouR8fpKJLU3T0rbdH5XpvXdqmkE7yf/Wht62723Jd0eUjZ+yWFnM5hqqscb2o4EgznCDBD9Ksb0QL0yJs1z8FMvxcWWRMMnxJXf8mCDJ8NNS3jAuh7X7a0ZSTLItqRzMi4J0m4svKl4iXrGvSKSvH+iEMZncqNzth7OFxGG2Q/GTgueuoZWPce7aFzp56NfaSH2atVzZe76ZKTfZs/wZKWtTYzIes14uZOMMRbMzkvJEkFcE2yNuusNLSll/P+Q9odQiwYiPPAQHZv5e2LEKtizdBNOJ2Ui88HJ+AwnYjcuBmRLxAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Regedit IDM Langkah Dua&quot;
        title=&quot;&quot;
        src=&quot;/static/95c3690ab96f3fc5c91f803914a2c407/52621/idm-langkah-2.png&quot;
        srcset=&quot;/static/95c3690ab96f3fc5c91f803914a2c407/103f2/idm-langkah-2.png 165w,
/static/95c3690ab96f3fc5c91f803914a2c407/748ba/idm-langkah-2.png 330w,
/static/95c3690ab96f3fc5c91f803914a2c407/52621/idm-langkah-2.png 393w&quot;
        sizes=&quot;(max-width: 393px) 100vw, 393px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Selesai, Have a nice day!&lt;/p&gt;
&lt;p&gt;sumber:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/xoRCeB&quot;&gt;https://kutt.it/xoRCeB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kutt.it/xC99tg&quot;&gt;https://kutt.it/xC99tg&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Download Video Youtube Di Windows]]></title><description><![CDATA[Bismillah Sekedar berbagi informasi tentang downloader di youtube namanya 4kdownloader .. lumayan bisa download video youtube dengan mudah, ada juga yang melalui website, tapi ini…]]></description><link>https://topidesta.my.id/cara-jitu-download-video-youtube/</link><guid isPermaLink="false">https://topidesta.my.id/cara-jitu-download-video-youtube/</guid><category><![CDATA[download]]></category><category><![CDATA[youtube]]></category><pubDate>Tue, 20 Aug 2019 08:00:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h3&gt;
&lt;p&gt;Sekedar berbagi informasi tentang downloader di youtube namanya &lt;a href=&quot;https://kutt.it/4kdwonloader&quot;&gt;4kdownloader&lt;/a&gt; .. lumayan bisa download video youtube dengan mudah, ada juga yang melalui website, tapi ini yang sangat mudah dan cepat.&lt;/p&gt;
&lt;p&gt;bisa download lalu install via chocolatey atau searching di google, ada banyak linknya.&lt;/p&gt;
&lt;p&gt;Terima kasih.&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Function Sederhana Upload Data Via Sheet Excel di Codeigniter]]></title><description><![CDATA[Bismillah Sekedar catatan kecil gw ajah, karena keseringan digunakan untuk update data master yang ribet input lewat interface, mending dalam format excel, lebih cepet. Pertama…]]></description><link>https://topidesta.my.id/fungsi-upload-data-excel-ke-tabel-dengan-codeigniter/</link><guid isPermaLink="false">https://topidesta.my.id/fungsi-upload-data-excel-ke-tabel-dengan-codeigniter/</guid><category><![CDATA[codeigniter]]></category><category><![CDATA[excel]]></category><pubDate>Thu, 15 Aug 2019 08:00:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah&lt;/h3&gt;
&lt;p&gt;Sekedar catatan kecil gw ajah, karena keseringan digunakan untuk update data master yang ribet input lewat interface, mending dalam format excel, lebih cepet.&lt;/p&gt;
&lt;p&gt;Pertama, buat fungsi seperti ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function-definition function&quot;&gt;disposisi_upload&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token variable&quot;&gt;$this&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;load&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;library&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;PHPExcel&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;PHPExcel/IOFactory&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

		&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$this&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;post&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;save&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;token variable&quot;&gt;$type&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;explode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;.&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$_FILES&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;import&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;name&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// data file&lt;/span&gt;
			&lt;span class=&quot;token variable&quot;&gt;$type&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;strtolower&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;count&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// data type like .jpg&lt;/span&gt;
			&lt;span class=&quot;token comment&quot;&gt;// exit(dump($type));&lt;/span&gt;
			&lt;span class=&quot;token variable&quot;&gt;$inputFileName&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;./assets/upload/&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;uniqid&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;rand&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;.&apos;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// hash unik&lt;/span&gt;
            
			&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;in_array&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;xls&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;xlsx&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
				&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;is_uploaded_file&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$_FILES&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;import&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;tmp_name&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
					&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;move_uploaded_file&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$_FILES&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;import&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;tmp_name&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$inputFileName&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

						&lt;span class=&quot;token comment&quot;&gt;//  Read your Excel workbook&lt;/span&gt;
						&lt;span class=&quot;token keyword&quot;&gt;try&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
							&lt;span class=&quot;token variable&quot;&gt;$inputFileType&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token class-name static-context&quot;&gt;IOFactory&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;identify&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$inputFileName&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
							&lt;span class=&quot;token variable&quot;&gt;$objReader&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token class-name static-context&quot;&gt;IOFactory&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createReader&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$inputFileType&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
							&lt;span class=&quot;token variable&quot;&gt;$objPHPExcel&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$objReader&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;load&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$inputFileName&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
						&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;catch&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token class-name&quot;&gt;Exception&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$e&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
							&lt;span class=&quot;token keyword&quot;&gt;die&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;Error loading file &quot;&apos;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;pathinfo&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$inputFileName&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;PATHINFO_BASENAME&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;&quot;: &apos;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$e&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getMessage&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
						&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

						&lt;span class=&quot;token comment&quot;&gt;//  Get worksheet dimensions&lt;/span&gt;
						&lt;span class=&quot;token variable&quot;&gt;$sheet&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$objPHPExcel&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getSheet&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
						&lt;span class=&quot;token variable&quot;&gt;$highestRow&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$sheet&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getHighestRow&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
						&lt;span class=&quot;token variable&quot;&gt;$highestColumn&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$sheet&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getHighestColumn&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

						&lt;span class=&quot;token comment&quot;&gt;//  Loop through each row of the worksheet in turn&lt;/span&gt;
						&lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$row&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$row&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$highestRow&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;  				&lt;span class=&quot;token comment&quot;&gt;//  Read a row of data into an array 				&lt;/span&gt;
							&lt;span class=&quot;token variable&quot;&gt;$rowData&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$sheet&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;rangeToArray&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;A&apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$row&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;:&apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$highestColumn&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$row&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
								&lt;span class=&quot;token constant&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
								&lt;span class=&quot;token constant boolean&quot;&gt;TRUE&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                                &lt;span class=&quot;token constant boolean&quot;&gt;FALSE&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
                                
							&lt;span class=&quot;token comment&quot;&gt;// Insert row data array into your database of choice here&lt;/span&gt;
							&lt;span class=&quot;token variable&quot;&gt;$data&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
								&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;nama&quot;&lt;/span&gt;	&lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$rowData&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
								&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;kode_org&quot;&lt;/span&gt;	&lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$rowData&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
							&lt;span class=&quot;token comment&quot;&gt;// exit(dump($rowData[0][1]));&lt;/span&gt;
							&lt;span class=&quot;token variable&quot;&gt;$this&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;db&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;insert&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;sdm_master_jabatan_detail&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// exit(show_last_query());&lt;/span&gt;
						&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
						&lt;span class=&quot;token keyword&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;Import Success, tunggu sebentar..&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
					&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
				&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
		&lt;span class=&quot;token variable&quot;&gt;$this&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setFlash&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;Data eksel berhasil diimport!&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;alert-success&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;token function&quot;&gt;redirect&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;office/upload_disposisi&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;refresh&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;script src=&quot;https://gist.github.com/mdestafadilah/e261f5c4cd33f89a4c705f7a56c45650.js&quot;&gt;&lt;/script&gt;
&lt;p&gt;Kedua, buat form upload seperti ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div &lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;col-xs-12 col-sm-12&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div &lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;box&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div &lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;box-content&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
        &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;h3 &lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;page-header&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt;php echo $title&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;h3&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
        &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;form &lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;form-horizontal well&quot;&lt;/span&gt; action&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;&amp;lt;?=base_url(&apos;officeaction/disposisi_upload&apos;);?&gt;&quot;&lt;/span&gt; method&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;post&quot;&lt;/span&gt; enctype&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;multipart/form-data&quot;&lt;/span&gt; role&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;form&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
            &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div &lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;form-group&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div &lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;col-sm-3&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;td&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;input type&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;file&quot;&lt;/span&gt; id&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;import&quot;&lt;/span&gt; name&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;import&quot;&lt;/span&gt; multiple&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;multiple&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;td&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
              &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
              &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div &lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;col-sm-3&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
                &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;input type&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;submit&quot;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;btn btn-primary&quot;&lt;/span&gt; value&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;Import&quot;&lt;/span&gt; name&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;save&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
            &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
        &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;form&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
	&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;script src=&quot;https://gist.github.com/mdestafadilah/ca77ee86bc8ed898951711edfc487ae1.js&quot;&gt;&lt;/script&gt;
&lt;p&gt;Jangan lupa untuk load library, kalo belum ada silahkan download/ clone aja dialamat ini:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/mdestafadilah/excel-upload-codeigniter&quot;&gt;https://github.com/mdestafadilah/excel-upload-codeigniter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;have a nice day!&lt;/p&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Satu Perintah Bash Untuk Virtual Host 2.4 Di Linux Lite]]></title><description><![CDATA[Bismillah... pernah share, cara membuat virtual host untuk pengembangan web terutama laravel ya masa kudu akses dari loclhost/laravel/public, soal akses url, ini dia: kalo males…]]></description><link>https://topidesta.my.id/satu-perintah-bash-untuk-virtual-host-2-4-linux-lite/</link><guid isPermaLink="false">https://topidesta.my.id/satu-perintah-bash-untuk-virtual-host-2-4-linux-lite/</guid><category><![CDATA[linux]]></category><category><![CDATA[codeigniter]]></category><category><![CDATA[bash]]></category><pubDate>Fri, 09 Aug 2019 08:00:00 GMT</pubDate><content:encoded>&lt;h4 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah...&lt;/h4&gt;
&lt;p&gt;pernah share, cara membuat virtual host untuk pengembangan web terutama laravel ya masa kudu akses dari loclhost/laravel/public, soal akses url, ini dia:&lt;/p&gt;
&lt;blockquote&gt;trick-cara-jitu-setting-virtual-host-untuk-laravel-di-linuxlite-ubuntu-16-04&lt;/blockquote&gt;
&lt;script src=&quot;https://gist.github.com/mdestafadilah/2aff0ebefefcd79a7932393d8dec5f1d.js&quot;&gt;&lt;/script&gt;
&lt;p&gt;kalo males copy past donwload aja ini url:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token shebang important&quot;&gt;#! /bin/bash&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;# May need to run this as sudo!&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;# I have it in /usr/local/bin and run command &apos;vhost&apos; from anywhere, using sudo.&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;#   Show Usage, Output to STDERR&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function-name function&quot;&gt;show_usage&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&amp;lt;-&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;_EOF_

Create a new vHost in Ubuntu Server
Assumes /etc/apache2/sites-available and /etc/apache2/sites-enabled setup used

    -d    DocumentRoot - i.e. /var/www/yoursite
    -h    Help - Show this menu.
    -s    ServerName - i.e. example.com or sub.example.com
    
    how: sudo vhost -d /var/www/myproject  -s myproject.local
    
_EOF_&lt;/span&gt;
&lt;span class=&quot;token builtin class-name&quot;&gt;exit&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;


&lt;span class=&quot;token comment&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;#   Output vHost skeleton, fill with userinput&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;#   To be outputted into new file&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function-name function&quot;&gt;create_vhost&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&amp;lt;-&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;_EOF_
&amp;lt;VirtualHost *:80&gt;
    ServerAdmin webmaster@localhost
    ServerName &lt;span class=&quot;token variable&quot;&gt;$ServerName&lt;/span&gt;
    ServerAlias www.&lt;span class=&quot;token variable&quot;&gt;$ServerName&lt;/span&gt;

    DocumentRoot &lt;span class=&quot;token variable&quot;&gt;$DocumentRoot&lt;/span&gt;

    &amp;lt;Directory &lt;span class=&quot;token variable&quot;&gt;$DocumentRoot&lt;/span&gt;&gt;
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted
    &amp;lt;/Directory&gt;

    ErrorLog \&lt;span class=&quot;token variable&quot;&gt;${APACHE_LOG_DIR}&lt;/span&gt;/&lt;span class=&quot;token variable&quot;&gt;$ServerName&lt;/span&gt;-error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog \&lt;span class=&quot;token variable&quot;&gt;${APACHE_LOG_DIR}&lt;/span&gt;/&lt;span class=&quot;token variable&quot;&gt;$ServerName&lt;/span&gt;-access.log combined


&amp;lt;/VirtualHost&gt;
_EOF_&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;#Sanity Check - are there two arguments with 2 values?&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$#&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-ne&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;then&lt;/span&gt;
	show_usage
&lt;span class=&quot;token keyword&quot;&gt;fi&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;#Parse flags&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;getopts&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;d:s:&quot;&lt;/span&gt; OPTION&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;do&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$OPTION&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt;
        h&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
            show_usage
            &lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        d&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;token assign-left variable&quot;&gt;DocumentRoot&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$OPTARG&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        s&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;token assign-left variable&quot;&gt;ServerName&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$OPTARG&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        *&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
            show_usage
            &lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;esac&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;done&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$DocumentRoot&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;then&lt;/span&gt; 
    &lt;span class=&quot;token function&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-p&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$DocumentRoot&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;#chown USER:USER $DocumentRoot #POSSIBLE IMPLEMENTATION, new flag -u ?&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;fi&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-f&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&lt;span class=&quot;token variable&quot;&gt;$DocumentRoot&lt;/span&gt;/&lt;span class=&quot;token variable&quot;&gt;$ServerName&lt;/span&gt;.conf&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;then&lt;/span&gt;
    &lt;span class=&quot;token builtin class-name&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;vHost already exists. Aborting&apos;&lt;/span&gt;
    show_usage
&lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;sh&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;echo &lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&quot;&lt;/span&gt;127.0.0.0    &lt;span class=&quot;token variable&quot;&gt;${ServerName}&lt;/span&gt;&lt;span class=&quot;token entity&quot; title=&quot;\&amp;quot;&quot;&gt;\&quot;&lt;/span&gt; &gt;&gt; \/tmp\/hosts&quot;&lt;/span&gt;
    create_vhost &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; /etc/apache2/sites-available/&lt;span class=&quot;token variable&quot;&gt;${ServerName}&lt;/span&gt;.conf
    &lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; /etc/apache2/sites-available/ &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; a2ensite &lt;span class=&quot;token variable&quot;&gt;${ServerName}&lt;/span&gt;.conf &lt;span class=&quot;token comment&quot;&gt;#Enable site&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;service&lt;/span&gt; apache2 reload &lt;span class=&quot;token comment&quot;&gt;#Optional implementation&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;fi&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Langkahnya:&lt;/p&gt;
&lt;ol&gt;
 	&lt;li&gt;$ cd /tmp&lt;/li&gt;
 	&lt;li&gt;wget -s https://gist.github.com/mdestafadilah/2aff0ebefefcd79a7932393d8dec5f1d&lt;/li&gt;
 	&lt;li&gt;sudo mv vhosts.sh vhosts&lt;/li&gt;
 	&lt;li&gt;sudo mv /tmp/hosts /usr/local/bin/vhosts&lt;/li&gt;
 	&lt;li&gt;Run: vhost -h&lt;/li&gt;
&lt;/ol&gt;
Done. caranya ada kok di sourcenya.
&lt;p&gt;Have a nice day.&lt;/p&gt;
&lt;p&gt;source: &lt;a href=&quot;https://gist.github.com/fideloper/2710970&quot;&gt;Sumber&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&quot;have-a-nice-day&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#have-a-nice-day&quot; aria-label=&quot;have a nice day permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;have a nice day!&lt;/h4&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Upload docusaurus local ke github pages]]></title><description><![CDATA[Bismillah... Langsung ajah lo liat video youtube ini: https://www.youtube.com/watch?v=dn4dgA51WNg Jadi, Langkahnya yang gw tangkep: Permasalahan_ke_1 Tanya: Gw Pengen Update ke…]]></description><link>https://topidesta.my.id/upload-docusaurus-local-ke-github-pages/</link><guid isPermaLink="false">https://topidesta.my.id/upload-docusaurus-local-ke-github-pages/</guid><category><![CDATA[github]]></category><pubDate>Fri, 09 Aug 2019 08:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah...&lt;/h2&gt;
&lt;p&gt;Langsung ajah lo liat video youtube ini:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=dn4dgA51WNg&quot;&gt;https://www.youtube.com/watch?v=dn4dgA51WNg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Jadi, Langkahnya yang gw tangkep:&lt;/p&gt;
&lt;ol&gt;
 	&lt;li&gt;Buat Repository di Github&lt;/li&gt;
 	&lt;li&gt;Clone ke Lokal (Komputer)&lt;/li&gt;
 	&lt;li&gt;Install docusaurus di Folder hasil clone (di dalam foldernya), gw anggep lu tau install docusaurus&lt;/li&gt;
 	&lt;li&gt;Push ke master&lt;/li&gt;
 	&lt;li&gt;Commit ke branch&lt;/li&gt;
 	&lt;li&gt;$ git checkout -b gh-pages&lt;/li&gt;
 	&lt;li&gt;Masuk ke folder website, jalankan perintah ini:yarn run build # or `npm run build`&lt;/li&gt;
 	&lt;li&gt;$ git add -f website/build/nama_repo_github &amp;amp;&amp;amp; git commit -m &quot;Initial dist subtree commit&quot;&lt;/li&gt;
 	&lt;li&gt;$ git subtree push --prefix website/build/nama_repo_github origin gh-pages&lt;/li&gt;
 	&lt;li&gt;Done. akses via: nama_username.github.io/nama_repo_github&lt;/li&gt;
&lt;/ol&gt;
&amp;nbsp;
&lt;h4 id=&quot;permasalahan_ke_1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#permasalahan_ke_1&quot; aria-label=&quot;permasalahan_ke_1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Permasalahan_ke_1&lt;/h4&gt;
&lt;p&gt;Tanya: Gw Pengen Update ke Master, tapi github.io gak update?&lt;/p&gt;
&lt;p&gt;Jawab:&lt;/p&gt;
&lt;ol&gt;
 	&lt;li&gt;git branch -d the_local_branch&lt;/li&gt;
 	&lt;li&gt;git push origin --delete the_remote_branch&lt;/li&gt;
 	&lt;li&gt;Ikuti Ke-6 diatas sanpai langkah terakhir&lt;/li&gt;
 	&lt;li&gt;Selesai terupdate&lt;/li&gt;
&lt;/ol&gt;
Have a Nice Day!
&lt;p&gt;source:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;html&quot;&gt;&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;ul&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
 	&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;https://www.youtube.com/watch?v=dn4dgA51WNg&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
 	&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;https://makandracards.com/makandra/621-git-delete-a-branch-local-or-remote&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
 	&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;https://docusaurus.io/docs/en/publishing&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;ul&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;have-a-nice-day&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#have-a-nice-day&quot; aria-label=&quot;have a nice day permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;have a nice day!&lt;/h2&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Aplikasi Install Program dengan Chocolatey di Windows]]></title><description><![CDATA[Bismillah Kebetulan laptop dan komputer kantor pakai windows original, jadi sekarang pakai windows baik nguli jadi web dev (front/ backend) atau sebagai penulis blog Topidesta' Dev…]]></description><link>https://topidesta.my.id/aplikasi-install-program-dengan-chocolatey-di-windows/</link><guid isPermaLink="false">https://topidesta.my.id/aplikasi-install-program-dengan-chocolatey-di-windows/</guid><category><![CDATA[chocolatey]]></category><category><![CDATA[management]]></category><category><![CDATA[windows]]></category><pubDate>Fri, 09 Aug 2019 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bismillah&lt;/p&gt;
&lt;p&gt;Kebetulan &lt;strong&gt;laptop&lt;/strong&gt; dan &lt;strong&gt;komputer kantor&lt;/strong&gt; pakai windows original, jadi sekarang pakai windows baik nguli jadi web dev (front/ backend) atau sebagai penulis blog &lt;a href=&quot;https://topidesta.my.id/&quot;&gt;Topidesta&apos; Dev&lt;/a&gt;
, kembali ke topik lagi. Kalo di GNU/Linux kita kenal, DPKG, RPM, YUM, PACMAN, dll. Untuk diwindows, sekarang ini ada yang namanya Chocolatey Package Manager, amazing ini aplikasi, bisa akses kehalaman ini:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://chocolatey.org/packages&quot;&gt;Chocolatey Link&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Silahkan baca sendiri cara installnya, bisa lewat commandpromt (CMD) atau Windows Powershell (WPS), harus &lt;strong&gt;admin&lt;/strong&gt; saat hendak install yah.&lt;/p&gt;
&lt;p&gt;Kurang lebih dengan perintah &lt;code class=&quot;language-text&quot;&gt;choco list --local-only&lt;/code&gt; kita akan lihat daftar yang sudah terinstall, kurang lebih seperti gambar dibawah ini daftar list yang terinstall
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 329px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 126.66666666666666%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAZCAYAAAAxFw7TAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADHElEQVR42pVV21IaURBcWERRBFGUi7DcRVhcQEAFBRW5GK/JUx5SmqTy/9/QmR6F0koim4eus1K7fXqme0YjeZRG1I7COrEQyAcQKoRg7pgwUgY8lgeehAdGUJ49HiwtLcHv9yu8Xi9M04DPZ+jp9b6cRu2rg3ArjEgzgvhpHJFqBEZCCIpClJMXsoI1geESw/4Y9aqDUr6Eht1ArVJDPBZHbDuGarEKK23pi1RElW/xV8KLqyFa7ZbCqTvIZDOwazbK+2Wc9k/RO+25V0eMJlMc1Go4ODhAs9lEuVxGLpdDvV5HqVTSvxOJBOLxuJ7r6+vY3NxENBrVns6I5oovhldoHR4qoeM4ehLD4RDtdhuVSgXdblef9/b2kM1mUa1Wsb+/j3w+j+3tbWxtbenlvMgYi0ISnZyc6EuZTAaxWAyFQgEbGxt6q2ma87697SV/f3HbnP9u3NzeyY0VvYHKalL+zs7O/GOfz/eHIR/28PrmFjkpg4REo9FQdel0GpZlad+owLUpN3f36HTaOD4+1nLZM5Imk0lEIhHtGcF+zVrwIW7vHtDrdWHbNlqtlp5sejgc1ianUiklJ4LB4GLCHz9/4fz8XF0cDAaqhrEh8dnZmTpMx6n+XTz+hafn7xj0++8+JOGhRGk0GmE8HmMymegFrgi/PT1jKh/0hZTY3d1VwqOjI31eXV3V3gUCAXemPH7+oupoCg2hQuaRk7KysvJ/Y0cMLi5Rl2APpI+MCUtj0GkMJ4CmMEIMuyvCq9EEPVHIqLBv2ddM8pngfLNs12ovr0Y6HXkJc7FYVEVURlWcGC4FTorrku8fHpXQed0uzBs3CUPNZcCp4cbpdDqqdCHh3SshDaG7VBUKhTTUnGOOHVc+S14YGWJy/UkdZbDp7mzMeAlV8hKW7brk/vnF3BBuG0aIDs+WKy+hMTypeLEpQzFFomLbNckgl6ctxI70chdra0EJdUThqn/EeDpBRW4vFnOiYk/ISGxJuRuyINZlI0elr1tYXva7I5xM88jnlqWHS7K1/eKmX1w2pWRDSn5Bs2mISbP/HR8T/gbRZ2vixAx4gwAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Choco Installed Thinkpad&quot;
        title=&quot;&quot;
        src=&quot;/static/4b5116717c4e50e39fba51e42ba2b70d/9b18f/chocolist-laptop-thinkpad.png&quot;
        srcset=&quot;/static/4b5116717c4e50e39fba51e42ba2b70d/103f2/chocolist-laptop-thinkpad.png 165w,
/static/4b5116717c4e50e39fba51e42ba2b70d/9b18f/chocolist-laptop-thinkpad.png 329w&quot;
        sizes=&quot;(max-width: 329px) 100vw, 329px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;tanpa download file lagi, choco akan mengdownload lalu install, otomatis dengan perintah yang simple, &lt;code class=&quot;language-text&quot;&gt;choco install nama_aplikasi -y&lt;/code&gt;, tunggu dan boom. done.&lt;/p&gt;
&lt;h2 id=&quot;update&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#update&quot; aria-label=&quot;update permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Update&lt;/h2&gt;
&lt;p&gt;Ternyata aplikasi yang terinstall oleh choco ada beberapa yang perlu update ... gak mungkin kan satu satu ... nah ada satu perintah lagi untuk update aplikasi yang tersedia &lt;code class=&quot;language-text&quot;&gt;cup all -y&lt;/code&gt; dengan catatan choco versi &lt;em&gt;0.9.8.33+.&lt;/em&gt; kurang lebih nanti tampilannya seperti ini:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; &quot;
    &gt;
      &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 86.06060606060606%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAADkElEQVR42nVUSU9bZxQ1jsEYbAfPE4OxMRgMNsbzADgEqyIJZfD0bGObh40ZFSl02y6qdtd1N63Uf5C0UpsmTaqKklZVitRFpf6e0/MeQi1tWBzd6+/TPT73nvs9xbPXv+Lpy3M8++Ec37y+wNevfsarXy7x8s0lXlxc4vuL3+X4/PwtvvvpLZ6/A9/++BuevniDP/78C4r5xTO4504wMncEb/gUo4z2qS7Mvg6MPhGGiV2YJkXoPE30jJWgcBf/hzveMhSmhzj98HMonNkmtPEydBEB2kQJugUB+mgF+nAVWm8DuskG9L4GtNN13JmsoGfivyijzy9AYV/H2SdfQuHKV9GXfh+67BYGiMHMJjSZDWji29BGC+hf4Dmjan4T6sAWNIFt9E8XSMK76SLU0yX0TpHQRsJPSTi5ug9TZAf2ZBPWRBP2RAuWWAPmeAO2SAumUBPmcBN3Z3egm61CH2QHISJYxUCgTLLiTcKRBwKG8o9gvL+Bu4Qhtwm9FPPr0CS30RsrQhUsoS9YgXpeoMoqldWpjCPwkchbvkk4s34C83IL9pwI10oH9uU9WO+14FjZg2u1DfuKCOuiCMdSG+ZUCwOhOtuuU91VlGZ4gzCwegDbwg4csV0Ms20HW7VGG3DGmzCw2LJQhYnKjPNVtlyBZqZAc0oy0TVuEI6t7kIfr2Aow6JEHUaSD4V3OKcaBuc4J5LoQnRcygMCev0lKH3l2wmDjx7DnTvBWO4QY0tHcKYOaMy+jOH0IUazx3Av8X7xGCPZQ7jSvE/uwxbvyLAnOhhfOqayIp5IaxN++AQeFniXT+XoXjyCh3/gTHVZ0CZpVy5yJDtw8Ww4cwArz/V0XxdsyOr6Z2r/KIxtfADfyikcqX0ZrrSELqyxDsxRkW7W6GaZqMhQXudccuXk1WKr/t2yda0GVX4D6nvb6Lu/BXWOkbk6VkY/jVAFy1DOcm6hIpR+5hMCSYXbZziVb8OWrMKeqsMqxbQAU7ICC3MDn6M5JlC5wDueRyRUqVyQVb+TcPw9EYN8u0NpEqT4Ergqg7M1zofL66+glyvSNyVBKqRCH5X6CrcrDKw9xiiNcGb2YUm0+ew4u0gbxrAIS7TDJ9aCYV7k7z05V/trJK+hx12gs1dQefgVMqzh7OMvoFh4QEKSjWe78Cx2MU64Cc9yF46ESIdFOt2mw204k3tyLkHKrzGS6UDLrj767Cv8DYcsULR/f+dRAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Choco Installed Office PC&quot;
        title=&quot;&quot;
        src=&quot;/static/0690662b776ec61a3b96822bf2f6bde3/7c811/cocoupdate.png&quot;
        srcset=&quot;/static/0690662b776ec61a3b96822bf2f6bde3/103f2/cocoupdate.png 165w,
/static/0690662b776ec61a3b96822bf2f6bde3/748ba/cocoupdate.png 330w,
/static/0690662b776ec61a3b96822bf2f6bde3/7c811/cocoupdate.png 660w,
/static/0690662b776ec61a3b96822bf2f6bde3/3127d/cocoupdate.png 865w&quot;
        sizes=&quot;(max-width: 660px) 100vw, 660px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Have a nice day!&lt;/p&gt;
&lt;p&gt;source:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://superuser.com/questions/1270151/how-to-list-installed-chocolatey-packages&quot;&gt;https://superuser.com/questions/1270151/how-to-list-installed-chocolatey-packages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://superuser.com/a/890257&quot;&gt;https://superuser.com/a/890257&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Daftar List Postingan Wordpress Yang akan Digunakan kembali di Rumah Baru]]></title><description><![CDATA[Daftar Tulisan yang akan di Import ke Website Git Style. Menambahkan Library ESC/POS di Codeigniter Error Yang Sering Muncul Dalam Pengembangan Web Codeigniter Upload Docusaurus…]]></description><link>https://topidesta.my.id/daftar-postingan-wordpress-yang-akan-diposting-ulang/</link><guid isPermaLink="false">https://topidesta.my.id/daftar-postingan-wordpress-yang-akan-diposting-ulang/</guid><category><![CDATA[windows]]></category><category><![CDATA[wordpress]]></category><pubDate>Thu, 08 Aug 2019 08:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Daftar Tulisan yang akan di Import ke Website Git Style.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;library-esc-pos-di-codeigniter.md&quot;&gt;Menambahkan Library ESC/POS di Codeigniter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;error-pengembangan-codeigniter.md&quot;&gt;Error Yang Sering Muncul Dalam Pengembangan Web Codeigniter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;upload-docusaurus-local-to-github-pages&quot;&gt;Upload Docusaurus Localhost ke Github Pages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Belajar Translate E-Book React FullStack&lt;/li&gt;
&lt;li&gt;Cara Jitu Setting Virtual Host di LinuxLite (ubuntu)&lt;/li&gt;
&lt;li&gt;1 Perintah Bash Untuk Buat Virtual Host di Apache 2.4&lt;/li&gt;
&lt;li&gt;Cara Jitu Setting Virtual Host Untuk Laravel di LinuxLite (Ubuntu 16.04)&lt;/li&gt;
&lt;li&gt;Download File di Google Drive Yang Terkena Limit (Batasan)&lt;/li&gt;
&lt;li&gt;Pemanfaatan DropzoneJS dengan Codeigniter 2&lt;/li&gt;
&lt;/ul&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Cara Jitu Setting Virtual Host untuk Laravel di LinuxLite]]></title><description><![CDATA[TODO :p]]></description><link>https://topidesta.my.id/cara-jitu-setting-ulang-virtual-host-laravel-linuxlite/</link><guid isPermaLink="false">https://topidesta.my.id/cara-jitu-setting-ulang-virtual-host-laravel-linuxlite/</guid><category><![CDATA[linux]]></category><category><![CDATA[laravel]]></category><category><![CDATA[github]]></category><pubDate>Thu, 08 Aug 2019 08:00:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;todo-p&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#todo-p&quot; aria-label=&quot;todo p permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;TODO :p&lt;/h3&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Daftar Error Pengembangan Web Codeigniter buat pemula]]></title><description><![CDATA[Bismillah... Solusinya ini Solusinya: Solusinya ini: Solusinya ini: Solusinya ini: Solusinya ini: Solusinya ini: Yups, hanya itu yang gw alami, nanti gw tambahin juga trick dari…]]></description><link>https://topidesta.my.id/daftar-error-pengembangan-web-codeigniter-buat-pemula/</link><guid isPermaLink="false">https://topidesta.my.id/daftar-error-pengembangan-web-codeigniter-buat-pemula/</guid><category><![CDATA[codeigniter]]></category><category><![CDATA[php]]></category><pubDate>Thu, 08 Aug 2019 08:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah...&lt;/h2&gt;
&lt;p style=&quot;text-align:justify;&quot;&gt;Okelah, pagi pagi dengan internet gratis di kampus yang &lt;del datetime=&quot;2012-12-26T01:52:56+00:00&quot;&gt;tercinta&lt;/del&gt;? kali ini gw pengen berbagi dari hasil pengalaman gw aja sih, dan halaman ini akan terus di update secara berkala, karena setiap error yang gw alami, akan gw catat, haa... biasa otak pas-pasan dan cepet lupa pula, okelah ini dia beberapa line-code yang error dan berhasil gw atasi masalahanya dengan bantuan om google.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;Fatal error&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Call to a member &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function-definition function&quot;&gt;query&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; on a non&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token keyword type-declaration&quot;&gt;object&lt;/span&gt; in &lt;span class=&quot;token constant&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;\xampp\htdocs\lab\ci\@riset&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;PKL&lt;/span&gt;\www\models\user_model&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;php on line &lt;span class=&quot;token number&quot;&gt;21&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Solusinya ini&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;into your library don’t &lt;span class=&quot;token keyword&quot;&gt;use&lt;/span&gt;
&lt;span class=&quot;token variable&quot;&gt;$this&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;db&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;query&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token class-name type-declaration&quot;&gt;but&lt;/span&gt;
&lt;span class=&quot;token variable&quot;&gt;$CI&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;get_instance&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token variable&quot;&gt;$CI&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;db&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;query&lt;/span&gt;
see in the help file
Ciao&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;
sumber&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;sumber link&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token argument-name&quot;&gt;http&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token comment&quot;&gt;//goo.gl/xk61d)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;&lt;span class=&quot;token constant&quot;&gt;A&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;PHP&lt;/span&gt; Error was encountered
Severity&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Notice
Message&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Undefined variable&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; kd_wil
Filename&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; controllers&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;admin&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;php
Line Number&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;79&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Solusinya:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;Tambahkan variable kd_wil di file Admin dengan $kd_wil yang memiliki nilai tertentu misalkan&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; dalam passing object yang telah di assign ke variable $kd_wil&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; biasanya variable di view gak singkron dengan variable kontroler&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;&lt;span class=&quot;token constant&quot;&gt;A&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;PHP&lt;/span&gt; Error was encountered
Severity&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Notice
Message&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Trying to get property of non&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token keyword type-declaration&quot;&gt;object&lt;/span&gt;
Filename&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; controllers&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;user&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;php
Line Number&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;40&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Solusinya ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;Solusi&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Ganti &lt;span class=&quot;token function&quot;&gt;tanda&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; setiap &lt;span class=&quot;token keyword&quot;&gt;endforeach&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
Source&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; http&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token comment&quot;&gt;//codeigniter.com/forums/viewthread/160337/&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;&lt;span class=&quot;token php language-php&quot;&gt;&lt;span class=&quot;token delimiter important&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;anchor&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token delimiter important&quot;&gt;?&gt;&lt;/span&gt;&lt;/span&gt;
PERMASALAHAN: TIDAK BISA link image? Ada solusinya.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Solusinya ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;http&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token comment&quot;&gt;//codeigniter.com/forums/viewthread/97297/&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;[Err] 1305 - FUNCTION riset_pkl.alamat does not exist&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Solusinya ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;&lt;span class=&quot;token constant&quot;&gt;SOLUSI&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Artinya&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; tidak ada field alamat pada tabel&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; dikarenkan kurang dalam penulisan sintaks&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;tambahkan&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;comma&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt; Masalah ilaang&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;Parse error&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; syntax error&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; unexpected &lt;span class=&quot;token constant&quot;&gt;T_ELSE&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; expecting &lt;span class=&quot;token constant&quot;&gt;T_FUNCTION&lt;/span&gt; in &lt;span class=&quot;token constant&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;\xampp\htdocs\lab\ci\@riset&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;PKL&lt;/span&gt;\www\controllers\peksos&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;php on line &lt;span class=&quot;token number&quot;&gt;1141&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Solusinya ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;&lt;span class=&quot;token constant&quot;&gt;SOLUSI&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Cek tanda kutif kurawal – &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; di setiap baris logic codenya&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt; Selasai&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;Fatal error&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Call to a member &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function-definition function&quot;&gt;getCalendar&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; on a non&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token keyword type-declaration&quot;&gt;object&lt;/span&gt; in &lt;span class=&quot;token constant&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;\xampp\htdocs\lab\ci\@mynote\www\controllers\welcome&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;php on line &lt;span class=&quot;token number&quot;&gt;135&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Solusinya ini:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;php&quot;&gt;&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;&lt;span class=&quot;token constant&quot;&gt;SOLUSI&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Kalo udah baca post &lt;span class=&quot;token function&quot;&gt;diatas&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;paling atas&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; biasanya pake &lt;span class=&quot;token class-name type-declaration&quot;&gt;ini&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$CI&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;get_instance&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; tricknya&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; tapi kali ini sedikit berbeda&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; setelah gw liat script oranglaen&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; dan wow&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; bisa ini dia yang dia pake&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;

&lt;span class=&quot;token constant&quot;&gt;BEST&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;SOLUSI&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 
&lt;span class=&quot;token variable&quot;&gt;$date&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$this&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;welcome&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getCalendar&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$year&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$mon&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token variable&quot;&gt;$this&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;load&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;model&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;Mynote_m&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;welcome&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

artinya&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Kita mengload controller &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;welcome&apos;&lt;/span&gt; agar pas diakses controller maka langsung mengakses &lt;span class=&quot;token function&quot;&gt;model&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;construct&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Yups, hanya itu yang gw alami, nanti gw tambahin juga trick dari group codeigniter indonesia, biar lebbih afdol mending temen-temen bookmark. ya, kalo dirasa perlu.&lt;/p&gt;
&lt;h2 id=&quot;have-nice-day&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#have-nice-day&quot; aria-label=&quot;have nice day permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Have Nice Day!&lt;/h2&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item><item><title><![CDATA[Library ESC/ POS, Menambahkan Fungsi cetak Server Side di Codeigniter]]></title><description><![CDATA[Bismillah... Kebetulah dikantor lagi dapet maenan baru, printer epson series tm-u220d kayak gini: Terus, karena ngoding langsung pake RAW-TEXT dari printer ribet, contoh RAW-TEXT…]]></description><link>https://topidesta.my.id/library-esc-post-dicodeigniter-server-side-printing/</link><guid isPermaLink="false">https://topidesta.my.id/library-esc-post-dicodeigniter-server-side-printing/</guid><category><![CDATA[codeigniter]]></category><category><![CDATA[printer]]></category><category><![CDATA[php]]></category><pubDate>Thu, 08 Aug 2019 08:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;bismillah&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bismillah&quot; aria-label=&quot;bismillah permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bismillah...&lt;/h2&gt;
&lt;p&gt;Kebetulah dikantor lagi dapet maenan baru, printer epson series tm-u220d kayak gini:&lt;/p&gt;
&lt;span class=&quot;gatsby-resp-image-wrapper&quot; style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 211px; &quot;&gt;
      &lt;span class=&quot;gatsby-resp-image-background-image&quot; style=&quot;padding-bottom: 141.21212121212122%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAcCAYAAABh2p9gAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFpUlEQVR42m1VSW9bVRR+EmKF2CF2rBAC2kj8gP6ELmBRiR0SYosQCwQIoYoFCxBCQipCRaqqRqpCm6ZJh3Rwk6aJY6eO8+LZb7xvst/gMZ4z2e8dznl23LSqpc93eOd+97vnnnMux+FP07QLKtMiKjMigsTil/69lro2t5BHqLM3Fp3r83dqc/P3qjcWl0tzt+9pN5ceCH9dvppO8Jktw7BWJJlFFMZ+4E5+jlu5eng0hGqtPkznBLi1uAwQ+DDo96fYHwzgYH8f9vcHQL+FpQewHk9Co7Hnt7t98Cq15JRQUbRl2/aAMf2oKEgj1/V8/2DgH3Za/nG3FQx77eC41wmoj/D940Pf8yp+oSiOJEk9VpgOgqQoPM+/yc3Pz7+BhDtepQqGbvqSrIDrurCPqiqeB/VaDRq1OrRbLWjU61BFu6ODA7TxQBAl4NO5ICfIkM4Vq5lM5i3uTiz2NvrPxB3Bskq+ruvgIdEhHm3Q60K/24EmEnXbbeggKeEQj16tVoBpGsiyEpA9CmnH4/F3OfpTVNa1SmXQDSNgmg627UAPibqdDnSQqIEq95pN7LdC4n63i0oroOsGCIIU1GpVJNcHMZ5/n0ulih9kC+JIkFTchQVbOxlYi/NQdSugSTKYTIOK7YKLKBkWWMwIXRBNpIDPFGF5ZSOYXXwEq5uJY1mWP+HS6fw50yyB47jknyCbL8Lcwl1I7uzCxvomRKNbkEzykNjmYWtrG+Lx55DO5EKbXEGATEEMVje3YSedB0li57h4gv+sVLbBLpcDOqphmKFvTNMEw7SwtcI5kzAZm9Z4jtyECND3gYl9Pp0+z6Wy2U/pxlzbDhzHAQdJy7QBtq8DnYRgIygaaC2OR829FioWv+TygvxFHW/RdR3fIeJX4L2mTy3d7Klvw063Ry74kcOA/JZuEg1GFDqh4QST3TEeXRyPlTkTVa9g2O31IZcXf+OKovxdr9ejMBiOCSeYGFerdWCGA5qJxNXa68jA9bxhf7AP+aL8C4dp8+sBRj5mxfC0QndyrFq9CVmxDGmhBJVa8yUXnFbY6w2gKCp/cpi/lwaDAzrO8OSItv0C5TJdhAOu8/JllU9dEK3tdHqYiuo/HNOMWTo/Gg3JkELIKtlQwjAoha2NYVIOYVn2pKVxKQybsX15tNdqg6SwWQ5jaKGFAzQa0UcDg5xgTRaeLCacfBvDwlS1wg1wPKo39oDpxi0O1TxsNltjQlRDRsbEcEz0gtA8RajplABG2Mc1oyr6WjPMu5xpljcajSb5Z0T+IiMNQUc+rXKq1hwTq1gDyZY2IsIaXpimmY+x/BubrkfVwvAprTCMIJnKgiir5BNQVA2ogIbAvoxzoszC3C1KCiq1aN4vOx6tiXGyyuaJEA1HdAxMH7j5YBUi0QQ8je/Asy1+irUJVmNJWHj8jIpqqFKSVV9H1QVRljl05HWSi+EzpIQviArM3V+FpSdRiGwk4NF6ApafPYfltefwBKtKJDoG2WClwZpo0vF9GxXKqpYihVcoeFH2kHyHwQkbiV3Y3s3D/ZUo5IoS3H64BvGdNCSx/t1b2YRsQQaqm3lBCv2Np/PLGLOyosUoUy7V63ugIqE68VPobPRnKpunSgwiFl9SEm4oKNi36LkYzyFwzShUKLM1Dol+r9UbRHhE0vHoPj4JAe4a4BhbNWzx3QlwYYB2ARIHX3/3c3D+86+Cb76/GMiyekwK8QWMcLjLRUobDIXhNIingWuOY3JaaMctxerla3Pwx99XYPa/BVI5ajRaFDZL9CZfQEVRVWURxrR1HMdR5TZT2C6O00zXs5qm57CKF1BdHucyqsLSWEh4fGITmP8xVP4UEcM35SdOkqR3FEU5I4rihzjxMYHGxaJ6VlXVs4IgzAgCm2GMzYz7wgzNP93cPvtwNXqGgBwfFQqFM/m8+t7/+rqNjWqZ9WUAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;&gt;&lt;/span&gt;
  &lt;img class=&quot;gatsby-resp-image-image&quot; alt=&quot;epson tm u220 web&quot; title=&quot;&quot; src=&quot;/static/67b918565dc059db563641560132a232/9fccc/epson_tm-u220_web.png&quot; srcset=&quot;/static/67b918565dc059db563641560132a232/103f2/epson_tm-u220_web.png 165w,
/static/67b918565dc059db563641560132a232/9fccc/epson_tm-u220_web.png 211w&quot; sizes=&quot;(max-width: 211px) 100vw, 211px&quot; style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;
    &lt;/span&gt;
&lt;p&gt;Terus, karena ngoding langsung pake RAW-TEXT dari printer ribet, contoh RAW-TEXT dari Vendor Zebra kayak gini neh:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FN11&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;NO&lt;/span&gt; Rekam medis
&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FN12&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Nama Pasien
&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FN13&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; No Rekam medis bentuk barcode
&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FN61&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Nama obat
&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FN62&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; kwantitas makan&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; brp tablet&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;kapsul perhari
&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FN63&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; sblm atau ssedh makan
&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;PQ&lt;/span&gt;  &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; kwantitas label identik
&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;XA&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;XFE&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;PHARMA01&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;ZPL&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FN11&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FD111212121212&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FS&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FN12&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;FDKomarudin Ibrahim Saleh&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FS&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FN13&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FD&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;gt&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;111212121212&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FS&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FN61&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;FDPanadol Expectoran 250mg&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FS&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FN62&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FD3&lt;/span&gt; x &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; Tablet &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt; hari&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FS&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FN63&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;FDMinum Setelah Makan&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;FS&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;PQ2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;XZ&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Nah, karena yang dipake itu dari EPSON, akhirnya searching eh dapet deh di Github yang senang hati berbagi ini linknya:&lt;/p&gt;
&lt;blockquote&gt;[https://github.com/mike42/escpos-php/tree/master](https://github.com/mike42/escpos-php/tree/master)&lt;/blockquote&gt;
Ternyata TM-U220 didukung sama libarary ini, yaudah oprek deh, cara gunanya gampang banget, karena udah pake bootstrap auotloader, jadi yah tinggal load sebagai library ... selebihnya bisa dicek di repo gw:
&lt;blockquote&gt;[https://github.com/rspersahabatan/ESC-POS](https://github.com/rspersahabatan/ESC-POS)&lt;/blockquote&gt;
Gw Kagak fork, soalnya gw pake manual download dan upload file git nyah .... hehehe.
&lt;p&gt;Have a nice day!&lt;/p&gt;
&lt;p&gt;source:&lt;/p&gt;
&lt;ol&gt;
 	&lt;li&gt;https://github.com/mike42/escpos-php/tree/master&lt;/li&gt;
 	&lt;li&gt;https://github.com/RSUP/ESC-POS&lt;/li&gt;
&lt;/ol&gt;</content:encoded><author>desta@rspersahabatan.co.id</author></item></channel></rss>