<?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" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Bervianto Leo Pratama on Medium]]></title>
        <description><![CDATA[Stories by Bervianto Leo Pratama on Medium]]></description>
        <link>https://medium.com/@berviantoleo?source=rss-b9076172b79d------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*sghXApcqVoWizbiIkmAnAA.jpeg</url>
            <title>Stories by Bervianto Leo Pratama on Medium</title>
            <link>https://medium.com/@berviantoleo?source=rss-b9076172b79d------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Fri, 13 Nov 2026 06:00:45 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@berviantoleo/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Memanfaatkan Model Tensorflow pada Backend]]></title>
            <link>https://berviantoleo.medium.com/memanfaatkan-model-tensorflow-pada-backend-0435e99c1f16?source=rss-b9076172b79d------2</link>
            <guid isPermaLink="false">https://medium.com/p/0435e99c1f16</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[software-architecture]]></category>
            <category><![CDATA[tensorflow-serving]]></category>
            <category><![CDATA[tensorflow]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Bervianto Leo Pratama]]></dc:creator>
            <pubDate>Sat, 15 Nov 2025 01:48:13 GMT</pubDate>
            <atom:updated>2025-11-15T01:50:15.103Z</atom:updated>
            <content:encoded><![CDATA[<h4>Suatu Riset Perbandingan Berbagai Solusi</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*-yUCYylEe-UubRqc" /><figcaption>Photo by <a href="https://unsplash.com/@boliviainteligente?utm_source=medium&amp;utm_medium=referral">BoliviaInteligente</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><h3>Intermezo</h3><p>Tentu akan lebih mudah jika kita menggunakan solusi yang termudah, namun dalam beberapa kasus kita dibatasi dengan kebutuhan khusus seperti mengharuskan API/Backend berjalan menggunakan bahasa tertentu namun menggunakan model Tensorflow.</p><h3>Pendahuluan</h3><p>Kita ketahui model Tensorflow akan lebih mudah jika kita load menggunakan Python, karena library tersebut tersedia pada bahasa Python. Ada alternatif lain seperti Tensorflow.js yang berjalan pada lingkungan Javascript/Node.js. Namun, mari kita bandingkan berbagai cara untuk melakukan “deploy” model yang sudah kita buat ini sehingga dapat digunakan untuk melakukan prediksi. Saya hanya akan membahas solusi berikut:</p><ol><li>API (Python — FastAPI/Django/dll) &lt;-&gt; API (bahasa apapun, contoh Node.js/Express/Hapi/dll), saya akan sebut model ini <strong>API to API</strong> atau <strong>Service to Service</strong>.</li><li>Menggunakan library yang tersedia untuk membaca model Tensorflow dan fungsi-fungsinya, mari kita sebut saja langsung <a href="https://www.tensorflow.org/js"><strong>Tensorflow.js</strong></a>.</li><li>Managed service &lt;-&gt; API, jadi model ini cukup menggunakan <em>container </em>dalam meng-hosting modelnya, sehingga dapat dipanggil oleh API lain. Jadi Tensorflow juga menyediakan fitur ini dengan nama <a href="https://www.tensorflow.org/tfx/serving/docker"><strong>TensorFlow Serving</strong></a>.</li><li>Dalam beberapa kasus, mungkin menggunakan <a href="https://ai.google.dev/edge/litert">Tensorflow Lite </a>(sekarang <strong>LiteRT</strong>) adalah solusi terbaik, namun saya tidak akan membahas banyak di sini.</li></ol><p>Di akhir, mari kita bandingkan kelemahan dan kelebihan dari setiap solusi tersebut. Setiap solusi tersebut memiliki kompleksitas masing-masing dan kebutuhan memahami teknologi yang digunakan, contoh dalam penggunaan Docker/<em>container</em>, mungkin untuk beberapa orang itu adalah sesuatu yang rumit.</p><h3><strong>Service-to-Service</strong></h3><p><strong>Kompleksitas: Menengah-Sulit</strong></p><p>Untuk menerapkan sistem ini, perlu pemahaman lebih lanjut mengenai konsep <em>Microservices</em> atau <em>Services. </em>Dalam hal ini perlu pemahaman mengenai model komunikasi antar <em>service</em>. Perlu diketahui ada dua model komunikasi saat ini, yaitu <em>Synchronous (Sync) </em>dan <em>Asynchronous (Async).</em></p><h4>Sync</h4><p>Model <em>Sync </em>ini mengedepankan jawaban saat itu juga, jadi ini cocok untuk pemanggilan yang membutuhkan jawaban saat itu. Komunikasi biasanya dilakukan melalui HTTP/S, baik HTTP 1.1 atau HTTP 2.0. Contohnya seperti menggunakan REST maupun gRPC.</p><p>Konsepnya adalah pemanggil perlu mengetahui Request dan Response yang akan didapat. Dalam hal ini, kita jadi perlu me-<em>maintain multiple services</em>.</p><p>Contoh solusinya adalah seperti ini.</p><ul><li>Backend (yang bertemu user secara langsung) ← → Backend (AI)</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/611/1*q7Xf47FeEyh0z9_4NDysJw.png" /><figcaption>Model Sync</figcaption></figure><p>Backend yang bertemu user bisa bahasa apa saja, contoh saja jika ingin menggunakan Node.js. Lalu, karena AI lebih banyak menggunakan Python, jadi bisa menggunakan FastAPI, Flask, dll.</p><p>Model ini hanya cocok jika operasi dari AI hanya sebentar, mungkin dibawah hitungan menit, atau maksimal 15 menit.</p><h4>Async</h4><p>Ada berbagai cara untuk memenuhi versi ini. Ini akan cocok untuk operasi AI yang kemungkinan lama. Saya akan memberikan gambaran beberapa solusinya. Dalam hal ini, sangat diperlukan koordinasi antar <em>service</em> untuk mendapatkan jawabannya. Bisa melalui <em>Event Driven</em> atau <em>Pooling</em>, atau bahkan memanfaatkan keduanya<em>. </em>Mari simak contoh berikut</p><p>Contoh 1</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/701/1*YiU4bdETelqUYJmKAUmiZA.png" /><figcaption>Async 1</figcaption></figure><p>Dalam contoh 1 ini, Backend-Customer akan bekerja sama dengan FrontEnd untuk mendapatkan jawaban. Frontend akan melakukan Pooling untuk memastikan jawaban dari Backend. Contoh 1 ini cukup kompleks karena memanfaatkan <em>Event Driven</em>.</p><p>Contoh lain sebenarnya hanya memindahkan siapa yang akan melakukan Pooling. Contoh 2 adalah Backend-Customer yang akan melakukan Pooling, dan Backend-AI tidak akan memberikan informasi bahwa Job sudah selesai.</p><p>Contoh 2</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/701/1*ctkGHGgTNeERptzgINC2Tg.png" /><figcaption>Async 2</figcaption></figure><p>Kelebihan:</p><ul><li>Backend yang berhubungan dengan FrontEnd tidak bergantung dengan bahasa yang dibutuhkan oleh AI</li></ul><p>Kekurangan:</p><ul><li>Perlu <em>maintain</em> banyak <em>service</em>.</li></ul><h3>Tensorflow.js</h3><p>Ini cukup <em>straightforward, </em>cocok jika Backend juga menggunakan Node.js.</p><p>Kelebihan:</p><ul><li>Lebih simpel, tidak perlu <em>maintain</em> banyak <em>service.</em></li></ul><p>Kekurangan:</p><ul><li>Terbatas hanya <em>Node.js</em></li></ul><h3>Tensorflow Serving</h3><p>Ini prinsipnya sama dengan <em>service to service</em>, namun <em>hosting</em> model dilakukan oleh Tensorflow Serving. Jadi kelebihan dan kekurangannya kurang lebih sama.</p><p>Kelebihan:</p><ul><li>Lebih mudah untuk <em>maintain service AI</em></li><li>Backend yang berhubungan dengan FrontEnd tidak bergantung dengan bahasa yang dibutuhkan oleh AI</li></ul><p>Kekurangan:</p><ul><li>Lebih kompleks, karena perlu pemahaman Docker.</li><li>Perlu <em>maintain</em> banyak <em>service</em>.</li></ul><h3>Tensorflow Lite</h3><p>Ini adalah kasus sangat spesifik, jika ingin <em>deploy model</em> ke Android atau <em>device</em> lain.</p><p>Kelebihan:</p><ul><li>Hosting lebih mudah, karena cukup <em>convert</em> model ke versi Lite.</li></ul><p>Kekurangan:</p><ul><li>Perlu <em>update</em> model sekalian meng-<em>update</em> aplikasi.</li></ul><h3>Simpulan</h3><p>Secara ringkas, kelebihan <em>deploy</em> model di Backend adalah sisi FrontEnd tidak perlu tahu menahu apakah model perlu diupdate. Namun, jika menggunakan versi Lite, jika model di-update, maka versi aplikasi juga perlu update. Setiap solusi memiliki kelebihan dan kekurangan, disesuaikan dengan kebutuhan setiap tim dan ketersediaan tim. Mari dibahas lebih lanjut nanti.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=0435e99c1f16" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Pengalaman Kedua HashiConf]]></title>
            <link>https://berviantoleo.medium.com/pengalaman-kedua-hashiconf-da834278e92d?source=rss-b9076172b79d------2</link>
            <guid isPermaLink="false">https://medium.com/p/da834278e92d</guid>
            <category><![CDATA[hashicorp-ambassador]]></category>
            <category><![CDATA[pengalaman-hidup]]></category>
            <category><![CDATA[hashiconf]]></category>
            <category><![CDATA[pengalaman]]></category>
            <category><![CDATA[hashicorp]]></category>
            <dc:creator><![CDATA[Bervianto Leo Pratama]]></dc:creator>
            <pubDate>Sat, 11 Oct 2025 02:56:53 GMT</pubDate>
            <atom:updated>2025-10-11T02:56:53.230Z</atom:updated>
            <content:encoded><![CDATA[<h4>HashiConf 2025 — Pengalaman Berbeda di Kota yang Sama</h4><p>HashiConf 2023 diadakan di San Fransisco. Bagi yang belum pernah membaca cerita saya. Berikut artikelnya.</p><p><a href="https://berviantoleo.medium.com/pengalaman-pertama-ke-luar-negeri-day-0-part-1-a10bebe5ede1">Pengalaman Pertama ke Luar Negeri — Day 0 (Part 1)</a></p><p>— — — —</p><p>Ini adalah pengalaman ketiga dalam perjalanan ke luar negeri.</p><ol><li>HashiConf 2023</li><li>(Dalam waktu yang singkat, mungkin 1 minggu), ada perjalanan bisnis ke Australia</li><li>HashiConf 2025</li></ol><p>— — — —</p><p>Pada kesempatan pertama di HashiConf 2023, saya berkesempatan berbicara dengan topik Vagrant.</p><p><a href="https://sessionize.com/s/berviantoleo/exploring-vagrant-with-k3s-and-using-vault-as-the-/68618">Bervianto Leo Pratama&#39;s Speaker Profile</a></p><p>Kali ini, di HashiConf 2025. Saya juga membawa topik Vagrant.</p><p><a href="https://sessionize.com/s/berviantoleo/enhancing-developer-experience-with-vagrant/146361">Bervianto Leo Pratama&#39;s Speaker Profile</a></p><p>Berikut ini juga tambahan dari pembicaraan saya.</p><p><a href="https://dev.to/berviantoleo/enhancing-developer-experience-with-vagrant-ai0">Enhancing developer experience with Vagrant</a></p><h3>Highlight</h3><p>Saya akan membawakan cerita ini dengan beberapa <strong>highlight<em> </em></strong>saja ya. Sebelum saya lupa seperti cerita 2 tahun lalu. Hehehe…</p><p>Setiap perjalanan pasti ada pengalaman baik dan buruknya. Bahkan pengalaman “buruk” 2 tahun lalu belum tentu terjadi di waktu yang berbeda, sama dengan pengalaman “baik” 2 tahun lalu belum tentu terjadi waktu yang berbeda.</p><h4>Delay…</h4><p>Aduh, ampun sudah. Kali ini pengalaman menegangkan sepanjang masa saat menggunakan transportasi pesawat. Saya mengalami beberapa kejadian yang “wow”.</p><ol><li>Saat berangkat, saya cukup terlambat sampai di Singapura. Saya transit di Singapura ya. Telat sekitar 15 menit… Oke, padahal transitku itu sekitar 55 menit. Saya sudah berpikir, wah saya harus lari ini, dari Terminal 2 ke Terminal 3 dalam waktu 20 menitan! <strong>Untungnya</strong>, penerbangan ke SFO itu terjadi keterlambatan, karena mengganti pesawatnya ke pesawat lain. Saat itu pesawatnya memiliki kendala teknis. Jadi, kami menunggu sekitar 1 jam di dalam <em>gate. </em>Tidak sampai di situ, sudah masuk kabin, semua sudah dipersiapkan. Eh, delay lagi! Selama kurang lebih 1 jam. Saya yang menyaksikan kejadian itu secara langsung. Jadi, ada salah satu penumpang yang sebenarnya meminta untuk mencari bagasi kabin-nya. Saya tidak tahu detailnya seperti apa, sepenglihatan saya, terjadi sedikit miskomunikasi antara <em>flight attendants</em>-nya dan penumpang tersebut. Sehingga akhirnya mencoba bantuan penumpang lain untuk melakukan translasi, dan akhirnya ketahuan dia membutuhkan bagasi kabinnya. Sepertinya, barangnya waktu itu dibantu oleh pegawai di darat untuk membawakan barangnya masuk ke pesawat. Sehingga, <em>flight attendants</em> mencoba mencari barangnya, dan itu terjadi selama 1 jam… Jadi, totalnya sekitar <strong>2 jam</strong> terlambat. Seharusnya sampai jam <strong>9 pagi<em> </em></strong>waktu SF, namun sampai sekitar jam <strong>11 </strong>waktu SF<strong>.</strong></li><li>Pulangnya, ini juga <strong>menegangkan!</strong> Kenapa? Karena saya curiga ini rutenya sedikit salah, agak memutar dan itu hampir 1 jam. Saya sudah deg-degan, wah ini pasti telat. Sampailah di Singapura itu sekitar jam 7.45. Seharusnya saya sudah sampai jam 7.10 waktu SG. Padalah saya harus boarding jam 7.30 waktu SG. Panik dong? Panik! Pesawat akan berangkat sekitar jam 8. Saya harus berlari dari terminal 3 ke terminal 1! Sekitar 15 menitan saya berpindah terminal. Semua penumpang sudah di dalam, kecuali saya, 2 orang yang bersama saya (dari SF juga), dan 1 orang lain yang juga transit. Wah, ini benar-benar tegang! Saya sempat masuk dan boarding, <strong>tapi</strong> koper saya tertinggal. :( Sedih, bongkar-bongkarnya jadi terlambat….</li></ol><h4>Pengalaman di SF</h4><p>Saya ingat betul, saat pertama kali saya tiba di SF. Saya ditanya terus, hingga koper saya adalah yang terakhir di ambil. Pengalaman kali ini sangat mudah, seperti kembali ke kota asal. Ditanya beberapa hal (lebih sedikit), selesai! Ini juga dinyatakan oleh beberapa rekan saya yang datang.</p><p>Konferensi kali ini berbeda, karena diadakan di lokasi yang berbeda cukup jauh (15 menitan dengan bis) dengan hotel yang secara resmi bekerja sama untuk mengadakan konferensi ini.</p><p>Kali ini juga saya bisa lebih beradaptasi, saya ingat HashiConf 2023 lalu, saya sangat-sangat susah mengatur jam tidurnya. Saya sangat lelah dan akhirnya tidur dalam beberapa saat. :(</p><p>Kali ini, saya memiliki kesempatan lebih banyak untuk <em>networking.</em> Saya mendapat beberapa rekan baru dari Brazil. Cukup sering bersama mereka.</p><p>Konferensi kali ini saya lebih sering ke bagian Halfway Track, booth lain (seperti games dan sponsor) serta exam booth dibandingkan Cloud Track.</p><h3>Gambar-Gambar</h3><p>Mari di mulai foto di pesawat. Eh.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QJ0tLQokLcaVsnop5HsZfQ.jpeg" /><figcaption>Baru setengah jalan nih!</figcaption></figure><p>Baru setengah jalan. Hihihi… Belum bisa tidur…</p><p>— — —</p><p>Ini di samping Venue-nya!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*JIYWPV9zhxR5kwERic-U2A.jpeg" /><figcaption>Fort Mason Center</figcaption></figure><p>Dari sini juga kelihatan jembatannya!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*G8F0OdkYB-GFmkhv8prxzA.jpeg" /><figcaption>Golden Bridge from Fort Mason Center</figcaption></figure><p>— — —</p><p>Ini salah satu Cloud Track. Biasanya Cloud Track dibagi 2, bagian pertama terkait infratruktur / Terraform, dan bagian kedua terkait keamanan / Vault.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9xa-6FVcB1cfdk4SJJiA3Q.jpeg" /><figcaption>Cloud Track 1</figcaption></figure><p>— — — —</p><p>Ini di Day 2! Last day, menampilkan perjalanan 10 tahun HashiConf! Saya hanya foto dari 2022–2025, masih ada sisanya di sebelah kiri (kebetulan saya di sebelah kanan!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ihM07pBBat5bTsM6D8IKMw.jpeg" /><figcaption>10th Year HashiConf!</figcaption></figure><p>— — —</p><p>Ini really last day, jadi kita mengunjungi jembatan ini. Golden Gate! Saya tahun 2023 gak sempat ke sini (sad). Jadi HashiConf 2025 harus sempat!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*yGq0Qk5djUvMgMwY3xPhqA.jpeg" /><figcaption>Golden Gate</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*YqzPTLQgIFJNq5gRjP25lg.jpeg" /><figcaption>Golden Gate Lagi!</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*po_JSVxLrUH6iNoRV7JEaQ.jpeg" /><figcaption>Di Golden Gate…</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*LHQVlJbYDDyx__ZEAuMRCA.jpeg" /><figcaption>Golden Gate lagi…</figcaption></figure><p>Maaf ada beberapa hal yang mungkin saya <em>blur</em>. Saya sangat menghargai privasi, jadi ada beberapa hal yang mungking tidak terlihat jelas.</p><p>— —</p><h3>Extra</h3><p>Bagi yang sering membaca artikel saya, pasti ada gambar pemanis di terakhir. Berikut ini gambarnya. :)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5r1JHEsbNfASwsn6mzA2Yw.jpeg" /><figcaption>Sea Lion</figcaption></figure><p>Terima kasih sudah membaca. Sangat senang berbagi. :)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/200/0*B9VmELMrZj-D3uyD.gif" /><figcaption>Thank you-GIF</figcaption></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=da834278e92d" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Mengambil Data Ramalan Cuaca Hari Ini dengan API dari Open Weather]]></title>
            <link>https://berviantoleo.medium.com/mengambil-data-ramalan-cuaca-hari-ini-dengan-api-dari-open-weather-7793bec94bab?source=rss-b9076172b79d------2</link>
            <guid isPermaLink="false">https://medium.com/p/7793bec94bab</guid>
            <category><![CDATA[geolocation]]></category>
            <category><![CDATA[axios]]></category>
            <category><![CDATA[react]]></category>
            <category><![CDATA[open-weather-api]]></category>
            <category><![CDATA[vitejs]]></category>
            <dc:creator><![CDATA[Bervianto Leo Pratama]]></dc:creator>
            <pubDate>Tue, 15 Apr 2025 13:40:26 GMT</pubDate>
            <atom:updated>2025-04-15T13:40:26.268Z</atom:updated>
            <content:encoded><![CDATA[<h4>Serta Mengambil Data Lokasi dari Geolocation API pada Browser</h4><h3>Persyaratan — Sebelum Memulai</h3><ul><li><strong>API Key Open Weather.</strong> Mohon dibuat dahulu akunnya ya, nanti akan mendapatkan API Key-nya.</li><li><strong>Browser/Peramban</strong>. Kalau gak punya nanti buka lamannya menggunakan apa dong? :)</li><li><strong>IDE. </strong>Boleh apapun, yang penting bisa tulis kodenya. Notepad juga boleh.</li><li><strong>Node. </strong>Versi 18/20 aja ya, kita coba pakai Vite + React kali ini.</li><li>Sudah. Hehe…</li></ul><h3>Mempersiapkan Proyek</h3><p>Nah, kita perlu siapin dulu nih proyeknya.</p><pre>npm create vite@latest</pre><ol><li>Jalankan perintah di atas.</li><li>Isi nama proyek.</li><li>Pilih “Vite + React + Typescript” atau sejenisnya, biar sama nih.</li><li>Masuk ke foldernya, lalu jangan lupa “<strong>npm install</strong>” ya.</li><li>Nah, ada tambahan, kita mau pakai axios. Jadi, ada tambahan perintah <strong>“npm install axios”</strong>, inget tidak pakai tanda petik.</li><li>Kalau mau jalanin aplikasinya, “<strong>npm run dev</strong>”.</li></ol><h3>Eksplorasi dan Mengubah Kode</h3><p>Nah, udah siap nih untuk ubah-ubah kodenya. Pelan-pelan aja ya.</p><p>Kita sekarang mempersiapkan kode untuk ambil lokasi kita dulu aja deh ya.</p><h4>Geolocation API</h4><p>Tambahin kode ini dulu di berkas <strong>App.tsx</strong> ya. Tulisnya sebelum <strong>function App()</strong>.</p><pre>interface Location {<br>  latitude: number;<br>  longitude: number;<br>}<br><br>function App() {<br>  /** sengaja dipotong */<br>}</pre><p>Nah, setelah itu kita perlu siapin <em>state</em>-nya dulu, <em>state</em>-nya akan kita pakai untuk memanggil API Open Weather ya.</p><pre>function App() {<br>   const [userLocation, setUserLocation] = useState&lt;Location | null&gt;(null);<br><br>   /** sengaja dipotong lagi */<br>}</pre><p>Udah siap aja nih. Yuk, kita sekarang buat fungsi yang akan memanggil Geolocation API dari browser ya.</p><pre>function App() {   <br>   const [userLocation, setUserLocation] = useState&lt;Location | null&gt;(null);<br><br>   const getUserLocation = () =&gt; {<br>    // if geolocation is supported by the users browser<br>    if (navigator.geolocation) {<br>      // get the current users location<br>      navigator.geolocation.getCurrentPosition(<br>        (position) =&gt; {<br>          // save the geolocation coordinates in two variables<br>          const { latitude, longitude } = position.coords;<br>          // update the value of userlocation variable<br>          setUserLocation({ latitude, longitude });<br>        },<br>        // if there was an error getting the users location<br>        (error) =&gt; {<br>          console.error(&#39;Error getting user location:&#39;, error);<br>        }<br>      );<br>    }<br>    // if geolocation is not supported by the users browser<br>    else {<br>      console.error(&#39;Geolocation is not supported by this browser.&#39;);<br>    }<br>  };<br>  /** sengaja dipotong lagi nih */<br>}</pre><p>Oke, seperti ada yang kurang kalau gak ada yang menampilkan nilainya. Jadi kita sekarang bermain di bagian rendernya nih.</p><pre>function App() {<br>  /** sengaja dipotong, tapi ini kode tadi ya... */<br>  return (<br>    &lt;&gt;<br>      &lt;div&gt;<br>        &lt;h1&gt;Geolocation App&lt;/h1&gt;<br>        {/* create a button that is mapped to the function which retrieves the users location */}<br>        &lt;button onClick={getUserLocation}&gt;Get User Location&lt;/button&gt;<br>        {/* if the user location variable has a value, print the users location */}<br>        {userLocation &amp;&amp; (<br>          &lt;div&gt;<br>            &lt;h2&gt;User Location&lt;/h2&gt;<br>            &lt;p&gt;Latitude: {userLocation.latitude}&lt;/p&gt;<br>            &lt;p&gt;Longitude: {userLocation.longitude}&lt;/p&gt;<br>          &lt;/div&gt;<br>        )}<br>      &lt;/div&gt;<br>    &lt;/&gt;<br>  )<br>}</pre><p>Cobain deh di browser. Kamu harusnya udah bisa menampilkan nilainya nih. Ini contoh aja ya.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/613/1*8n_4n0qrBsmQM7W6UNdfdg.png" /><figcaption>Contoh Lat &amp; Long</figcaption></figure><p>Wah, maaf ya disensor. Nanti ketahuan lokasinya. Hehe…</p><h4>Memanggil Open Weather API menggunakan Axios</h4><p>Sekarang bagian memanggil API Open Weather dengan axios nih.</p><p>Siapin dulu aja nilai yang ingin disimpan, kalau saya simpan cuaca sekarang aja deh. Oh iya, ini ada tambahan <em>loading</em>, ya biar ala-ala ada prosesnya.</p><pre>function App() {<br>  const [userLocation, setUserLocation] = useState&lt;Location | null&gt;(null);<br>  const [currentWeather, setCurrentWeather] = useState&lt;string | null&gt;(null);<br>  const [loading, setLoading] = useState&lt;boolean&gt;(false);<br>  /** sengaja dipotong lagi dan lagi, tapi ini kode tadi ya... */<br>}</pre><p>Nah, kita tulis fungsi untuk mengambil datanya.</p><pre>function App() {<br>  <br>  /** sengaja dipotong lagi dan lagi, tapi ini kode tadi ya... */<br>  const getWeather = () =&gt; {<br>    setLoading(true);<br>    setTimeout(() =&gt; {<br>      if (!userLocation) {<br>        setLoading(false);<br>        return;<br>      };<br>      const apiKey = import.meta.env.VITE_API_KEY;<br><br>      axios.get(`https://api.openweathermap.org/data/2.5/weather?lat=${userLocation.latitude}&amp;lon=${userLocation.longitude}&amp;appid=${apiKey}`)<br>        .then((result) =&gt; {<br>          setCurrentWeather(result.data.weather[0].main);<br>        }).catch((err: Error) =&gt; {<br>          console.error(err);<br>        }).finally(() =&gt; {<br>          setLoading(false);<br>        })<br><br>    }, 1000);<br>  };<br>}</pre><p>Sabar, ini masih belum loh. Sekarang kita siapin tombol untuk memuat cuacanya.</p><pre>function App() {<br>  return (<br>    &lt;&gt;<br>      &lt;div&gt;<br>        &lt;h1&gt;Geolocation App&lt;/h1&gt;<br>        {/* create a button that is mapped to the function which retrieves the users location */}<br>        &lt;button onClick={getUserLocation}&gt;Get User Location&lt;/button&gt;<br>        {/* if the user location variable has a value, print the users location */}<br>        {userLocation &amp;&amp; (<br>          &lt;div&gt;<br>            &lt;h2&gt;User Location&lt;/h2&gt;<br>            &lt;p&gt;Latitude: {userLocation.latitude}&lt;/p&gt;<br>            &lt;p&gt;Longitude: {userLocation.longitude}&lt;/p&gt;<br>            &lt;button onClick={getWeather}&gt;Get Current Weather&lt;/button&gt;<br>            {loading &amp;&amp; (&lt;div className=&#39;loader&#39;&gt;&lt;/div&gt;)}<br>            {currentWeather &amp;&amp; (&lt;p&gt;Current weather: {currentWeather}&lt;/p&gt;)}<br>          &lt;/div&gt;<br>        )}<br>      &lt;/div&gt;<br>    &lt;/&gt;<br>  )<br>}</pre><p>Eh iya, tadi belum memberikan css yang digunakan untuk “loader” ya. Ini contoh aja ya. Bebas aja mau pakai yang mana. Ini bisa kamu tambahkan di <strong>App.css</strong> ya.</p><pre>/* HTML: &lt;div class=&quot;loader&quot;&gt;&lt;/div&gt; */<br>.loader {<br>  width: fit-content;<br>  font-weight: bold;<br>  font-family: sans-serif;<br>  font-size: 30px;<br>  padding-bottom: 8px;<br>  background: linear-gradient(currentColor 0 0) 0 100%/0% 3px no-repeat;<br>  animation: l2 2s linear infinite;<br>}<br>.loader:before {<br>  content:&quot;Loading...&quot;<br>}<br>@keyframes l2 {to{background-size: 100% 3px}}</pre><p>Ashiap, sekarang mau coba? Belum. Jangan lupa tambahkan environment variable-nya. Bisa membuat file .env lalu masukkan nilai API Key-nya.</p><pre>VITE_API_KEY=</pre><p>Isi dengan key kamu ya.</p><p>Terus, terus? Yuk cobain lagi.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/632/1*cC50a03iiiUCyH2zVmHc4g.png" /><figcaption>Cuaca Sekarang</figcaption></figure><p>Ini cuacaku. Bagiamana cuaca kamu?</p><h3>Aplikasinya?</h3><p>Saya sematkan di sini ya.</p><p><a href="https://github.com/berviantoleo/open-weather-exploration/">GitHub - berviantoleo/open-weather-exploration: Open Weather Example</a></p><h3>Penutup</h3><p>Terima kasih ya sudah membaca. Salam sejathera untuk kita semua. Semoga bermanfaat. Jika ada tanggapan, jangan sungkan. *Chheeeersss!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*TQUW5nTHLZzVbgxo" /><figcaption>Photo by <a href="https://unsplash.com/@dre0316?utm_source=medium&amp;utm_medium=referral">Andre Hunter</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7793bec94bab" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Pengalaman Pertama ke Luar Negeri — Day 3 (Part 4)]]></title>
            <link>https://berviantoleo.medium.com/pengalaman-pertama-ke-luar-negeri-day-3-part-4-48a4ae481785?source=rss-b9076172b79d------2</link>
            <guid isPermaLink="false">https://medium.com/p/48a4ae481785</guid>
            <category><![CDATA[first-experience]]></category>
            <category><![CDATA[pengalaman]]></category>
            <category><![CDATA[hashiconf]]></category>
            <category><![CDATA[pengalamanpribadi]]></category>
            <category><![CDATA[experience]]></category>
            <dc:creator><![CDATA[Bervianto Leo Pratama]]></dc:creator>
            <pubDate>Sun, 04 Feb 2024 16:20:16 GMT</pubDate>
            <atom:updated>2024-02-04T16:20:16.661Z</atom:updated>
            <content:encoded><![CDATA[<h3>Pengalaman Pertama ke Luar Negeri — Day 3 (Part 4)</h3><h4>Ternyata Jetlag itu Menyebalkan</h4><p>Bagi yang belum membaca Part 1, 2 dan 3. Boleh dibaca di sini ya.</p><ul><li><a href="https://berviantoleo.medium.com/pengalaman-pertama-ke-luar-negeri-day-0-part-1-a10bebe5ede1">Pengalaman Pertama ke Luar Negeri — Day 0 (Part 1)</a></li><li><a href="https://berviantoleo.medium.com/pengalaman-pertama-ke-luar-negeri-day-1-part-2-fd893d59203d">Pengalaman Pertama ke Luar Negeri — Day 1 (Part 2)</a></li><li><a href="https://berviantoleo.medium.com/pengalaman-pertama-ke-luar-negeri-day-2-part-3-722868aeb6b4">Pengalaman Pertama ke Luar Negeri — Day 2 (Part 3)</a></li></ul><p>Wah, hari ke 3 ini menyebalkan. Walaupun saya berhasil tidur dengan cukup, ya 6–8 jam, lupa. Tahu gak, saat saya bangun, mandi, dan bersiap-siap untuk sarapan. Saya masih sangat mengatuk… :’) Sekitar jam 6 saya bangun dan masih sangat gelap, saat itu di San Francisco jam 6 memang sangatlah gelap, dan matahari terbit saat mendekati jam 7. Saya sarapan ya sekitar jam 7 sebelum masuk ke sesi keynote. Saya hanya bisa mencari protein, saya sedang tidak begitu mau hal-hal lain. :’)</p><p>Sesi keynote mulai sekitar jam 8. Kami yang HashiCorp Ambassador sudah disediakan kursi depan, kursi VIP, untuk ditempati. Nah, karena saya tidak tahu ternyata partner (terutama bagian leadership) juga dinamai sama kursi VIP, saya ternyata waktu itu duduk sekitaran partner juga. :D (Saya tahu setelah hari selanjutnya, di Keynote kedua karena ditanyain apakah partner, haha… tentu bukan dari warna tali badge-nya) Anyway, warna tali badge-nya beda-beda ya, yang tech/cloud berwarna hitam, kalau leadership/partner hijau sepertinya lupa, intinya dibedakan warnanya, jadi mudah identifikasinya.</p><p>Sesi Keynote ini seru banget loh! Coba tonton di sini.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fblue-sea-697d.quartiers047.workers.dev%3A443%2Fhttps%2Fwww.youtube.com%2Fembed%2F55MiTHqomaQ%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fblue-sea-697d.quartiers047.workers.dev%3A443%2Fhttps%2Fwww.youtube.com%2Fwatch%3Fv%3D55MiTHqomaQ&amp;image=https%3A%2F%2Fblue-sea-697d.quartiers047.workers.dev%3A443%2Fhttps%2Fi.ytimg.com%2Fvi%2F55MiTHqomaQ%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/315ecf8b27e6f92b4113b235a4e6bd40/href">https://medium.com/media/315ecf8b27e6f92b4113b235a4e6bd40/href</a></iframe><p>Saya jujur saja tertarik dengan update dari Vault terutama bagian secret management dengan Github secrets yang mana saya sering gunakan. Selain itu, dari sisi Terraform, tentu saya lebih tertarik pada Terraform Test Framework dan juga Terraform Stack. Itu keren!</p><p>Oh iya, saya hanya join ke main session ya, jadinya saya tidak terlalu tahu bagian half-way (yang speakernya dari community), dan karena main session-nya juga dibagi dua, saya tidak begitu tahu sesi sebelahnya.</p><p>Nah, main session yang saya ikuti itu adalah bagian Terraform. Ini main sessionnya juga bisa ditonton kok. Ada soal Terraform Stack. Semoga teman-teman juga tertarik. Saya tertarik soal Packer juga sih, namun belum terlalu eksplor lebih jauh.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fblue-sea-697d.quartiers047.workers.dev%3A443%2Fhttps%2Fwww.youtube.com%2Fembed%2FMDgIQnGjX5k&amp;display_name=YouTube&amp;url=https%3A%2F%2Fblue-sea-697d.quartiers047.workers.dev%3A443%2Fhttps%2Fwww.youtube.com%2Fwatch%3Fv%3DMDgIQnGjX5k&amp;image=https%3A%2F%2Fblue-sea-697d.quartiers047.workers.dev%3A443%2Fhttp%2Fi.ytimg.com%2Fvi%2FMDgIQnGjX5k%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/46e3ae01101f48e57020e8a700978957/href">https://medium.com/media/46e3ae01101f48e57020e8a700978957/href</a></iframe><p>Setelah itu masih lanjut soal Terraform Test Framework, jadi kamu bisa melakukan integration test pada file Terraform kamu loh. Tertarik? Yuk belajar bareng. :) Nanti saya berencana melanjutkannya kembali dari sini.</p><p><a href="https://berviantoleo.medium.com/mencoba-fitur-terraform-test-pendahuluan-e8d0f94bbf7c">Mencoba fitur Terraform Test? — Pendahuluan</a></p><blockquote>Oh iya, hari ini juga saya tampil nih… Hehehe…</blockquote><p>Setelah sesi Terraform ada juga sesi Vault soal melakukan testing terhadap ACL policies. Keren sih ini, cuman saya tidak bisa sharing banyak soal ini, belum mendalami.</p><p>Nah, setelah beberapa sesi tadi, tibalah makan siang. Ini saya deg-degan banget, karena pertama kali membawakan sesi offline, rasanya beda banget saat saya online pas HashiTalk 2023. Setelah makan, saya langsung ke tempat Halfway track mempersiapkan laptop saya, dll. Penontonnya gak sebanyak sesi-sesi sebelumnya sih (saya sempet nonton 1 atau 2 kali gitu). Saya cukup maklum karena sesinya soal Vagrant, siapa yang masih pakai? Saya rasa sudah jarang karena ini Vagrant lebih banyak menggunakan VM, siapa yang masih pakai VM di laptop-nya sendiri? Saya rasa sekarang lebih banyak <em>container</em>, makanya Vagrant ini tidak begitu <em>booming</em> lagi.</p><p>Jujur ya, setelah saya membawakan sesi, jeltag saya kambuh. Saya ngantuk banget, jadi setelah sesi saya keliling sebentar. Ternyata masih ngantuk dan gak kuat akhirnya tidur! LoL</p><p>Saya sudah pasang alarm kok untuk menghadiri sesi malam-nya. Kita (HashiCorp Ambassador) itu bisa pergi duluan untuk ke tempat tujuan. Jadi venue-nya beda ya. Di sana, kurang lebih ya, pesta, melepaskan penat, dan <em>networking</em>. Saya yang introvert ini, justru acara ini paling melelahkan. Saya hanya bertahan sekitar 1 jam, setelah itu pulang dan tidur. :’) Tidak ada makan berat saat malamnya, ya hanya sekedar makan ringan seperti hari sebelumnya. Tidak ada yang bisa saya ceritakan di malam hari ini. Kondisinya sangat dingin di luar.</p><p>Terkadang juga ketemu orang-orang yang berkata kasar, dll saat saya menunggu bus kepulangan.</p><p>Ya begitulah, kelihatannya singkat sekali ya. Tetapi, sangatlah melelahkan hari ini. Apalagi saya juga akan ujian Terraform offline, jadi harus persiapan juga nih. hehe… Saya ada sempatkan belajar juga sih sebelum tidur… :’)</p><p>Terima kasih banyak sudah setia untuk membaca sampai sini. Semoga saya masih sanggup melanjutkan dan mengingatnya.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*gekVwIrkD_YSUGwz" /><figcaption>Photo by <a href="https://unsplash.com/@priscilladupreez?utm_source=medium&amp;utm_medium=referral">Priscilla Du Preez 🇨🇦</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=48a4ae481785" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Asah Kemampuan Coding ala Dicoding Elite]]></title>
            <link>https://berviantoleo.medium.com/asah-kemampuan-coding-ala-dicoding-elite-ee173c6e2971?source=rss-b9076172b79d------2</link>
            <guid isPermaLink="false">https://medium.com/p/ee173c6e2971</guid>
            <category><![CDATA[asah-kemampuan]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[dicoding-elite]]></category>
            <category><![CDATA[dicoding]]></category>
            <category><![CDATA[kemampuan]]></category>
            <dc:creator><![CDATA[Bervianto Leo Pratama]]></dc:creator>
            <pubDate>Fri, 29 Dec 2023 01:46:45 GMT</pubDate>
            <atom:updated>2023-12-29T01:46:45.824Z</atom:updated>
            <content:encoded><![CDATA[<p>Apakah kamu ingin mengasah kemampuan coding kamu? Nah, saya sebagai Dicoding Elite akan membagikan tips-tips yang bisa membantu kamu mengasah kemampuan coding. Kunjungi link di bawah ini ya!</p><p><a href="https://www.dicoding.com/blog/asah-kemampuan-coding-ala-dicoding-elite/">Asah Kemampuan Coding ala Dicoding Elite - Dicoding Blog</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ee173c6e2971" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Mencoba Container Service Back4App]]></title>
            <link>https://berviantoleo.medium.com/mencoba-container-service-back4app-76b204835c26?source=rss-b9076172b79d------2</link>
            <guid isPermaLink="false">https://medium.com/p/76b204835c26</guid>
            <category><![CDATA[back4app]]></category>
            <category><![CDATA[backend]]></category>
            <category><![CDATA[devops]]></category>
            <category><![CDATA[eksplorasi]]></category>
            <category><![CDATA[containers]]></category>
            <dc:creator><![CDATA[Bervianto Leo Pratama]]></dc:creator>
            <pubDate>Sat, 09 Dec 2023 06:58:50 GMT</pubDate>
            <atom:updated>2023-12-09T07:04:54.005Z</atom:updated>
            <content:encoded><![CDATA[<h4>Serta Integrasi dengan MySQL</h4><h3>Pendahulan — Apa itu Back4App?</h3><p>Back4App merupakan suatu layanan yang mempercepat dalam pengembangan BackEnd. Back4App menyediakan dua layanan saat ini yaitu Backend as a Service dan Container as a Service.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DlRkjhGTShVL28VzaqA7TA.png" /><figcaption>Layanan Back4App</figcaption></figure><p>Kita tidak akan membahas bagian Backend as a Service. Layanan tersebut cukup simpel dan kita hanya perlu mengelola sedikit dan sangat cocok jika memiliki aplikasi yang tidak kompleks. Namun, jika kamu memiliki proses bisnis yang tidak hanya CRUD (Create, Read, Update, dan Delete), kamu bisa mencoba bagian <em>cloud functions</em>-nya.</p><h4>Container as a Service</h4><p>Layanan ini cukup baru dari Back4App. Saya sempat mencobanya sebelum mereka merilis <em>beta public</em>-nya. Layanan ini juga cukup simpel seperti saingannya yang sekarang tidak lagi gratis yaitu Heroku. Kamu hanya cukup mempersiapkan Dockerfile. Lalu, Back4App akan mempersiapkan <em>container</em>-nya berdasarakan Dockerfile tersebut. Saya sarankan untuk baca <a href="https://www.back4app.com/docs-containers">dokumentasinya</a> untuk belajar lebih detail mengenai layanan ini. Sayangnya, saat ini masih terbatas integrasinya. Hanya bisa dari GitHub.</p><h3>Pengetahuan yang Dibutuhkan</h3><p>Kamu perlu paham hal-hal ini dahulu:</p><ol><li>Docker</li><li>GitHub</li><li>Linux</li><li>Bash</li><li>curl</li></ol><h3>Contoh Proyek</h3><p>Saya punya contoh proyek yang akan saya deploy ke Back4App. Proyek ini dibangun dengan Express dan memiliki koneksi ke basis data MySQL. Supaya lebih simpel, saya menggunakan Sequelize untuk koneksi ke basis datanya. Kamu bisa eksplorasi proyeknya di sini.</p><p><a href="https://github.com/bervProject/node-back4app-example">GitHub - bervProject/node-back4app-example</a></p><h3>Persiapkan Dulu MySQL-nya</h3><p>Kalau kamu hanya butuh untuk testing, kamu bisa coba beberapa layanan free MySQL server. Kalau saya coba pakai ini.</p><p><a href="https://www.db4free.net/signup.php">db4free.net - MySQL Database for free</a></p><p>Namun, saya tidak sarankan untuk menggunakan server tersebut untuk data sensitif maupun sifatnya sebagai <em>production</em>.</p><p>Alternatif lainnya:</p><ul><li><a href="https://www.freemysqlhosting.net/">https://www.freemysqlhosting.net/</a></li></ul><p>Namun, jika memungkinkan, saya tetap menyarankan untuk menggunakan layanan berbayar dan terpercaya, terutama untuk <em>production.</em></p><blockquote>Catatan:</blockquote><blockquote>Saya tidak melakukan <em>endorsement</em> kepada layanan tersebut. Mohon perhatikan lagi syarat dan ketentuan layanan tersebut. Jika terjadi apa-apa mengenai data yang tersimpan, saya tidak bertanggung jawab. Gunakan layanan tersebut dengan bijak.</blockquote><h3>Konfigurasi dan Membuat Container di Back4App</h3><ul><li>Pastikan kamu sudah mendaftar di Back4App.</li><li>Lalu navigasi ke My Apps.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/795/1*eUMgAX1O_qcnskEdZgkpDw.png" /><figcaption>My Apps</figcaption></figure><ul><li>Klik Build new app.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/974/1*wt6Ax_8z8tZ1CPaLz8ArgA.png" /><figcaption>Build new app</figcaption></figure><ul><li>Pilih Container as a Service.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DlRkjhGTShVL28VzaqA7TA.png" /><figcaption>Container as a Service</figcaption></figure><ul><li>Pastikan kamu mengikuti instruksi untuk integrasi dengan GitHub.</li><li>Setelah berhasil di-integrasi-kan, kamu bisa mencari repositorinya dan klik Select.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/960/1*rCT7pcsylr6_Qn9rxM0Q0Q.png" /><figcaption>Select App</figcaption></figure><ul><li>Masukan nama <em>service</em>/aplikasi-nya.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/933/1*zFyD3fAX4NfYx61lKtHyHA.png" /><figcaption>App Name</figcaption></figure><ul><li>Pada bagian <strong>port</strong>, kamu bisa sesuaikan.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/811/1*saCB-ShdGjs4-whFhtBg8A.png" /><figcaption>Setting Port</figcaption></figure><ul><li>Pastikan konfigurasi <em>Environment Variables </em>untuk CONNECTION_STRING sudah benar. Formatnya adalah mysql://&lt;username&gt;:&lt;password&gt;@&lt;hostname atau ip&gt;:&lt;port&gt;/&lt;database name&gt;. Contoh: mysql://devtest:devtestpassword@mysqllocation.com:3306/noteapp.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/747/1*F_YVBWlc0VtiuGlD_t2_Tg.png" /><figcaption>Environment Variables</figcaption></figure><ul><li>Bagian Health Check sebisa mungkin URL yang dapat segera diakses setelah aplikasi berjalan. Kebetulan, proyek yang saya siapkan punya path / dan hanya mengeluarkan respon dengan status 200 dan Hello world.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/787/1*p8ksAQ6UVE3ZFeFAyqa40g.png" /><figcaption>Create App dan Health Check</figcaption></figure><ul><li>Setelah selesai, kamu bisa klik Create App. Kamu bisa menunggu hingga <em>container</em> selesai ter-<em>deploy</em>.</li><li>Jika berhasil, kamu dapat melihat log ini.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xHTLqNzoXC_NOVzZ9UDk0w.png" /><figcaption>Log</figcaption></figure><ul><li>Kamu bisa mengakses aplikasinya dengan klik atau ketik URL yang ada di sini.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/343/1*qbLFRrzBuiQVD6EEy3wKXQ.png" /><figcaption>URL</figcaption></figure><ul><li>Ini contoh aplikasi yang sudah berjalan.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/495/1*Y66N6zaPyEfWNoyPt-y5YA.png" /><figcaption>Sudah berjalan</figcaption></figure><ul><li>Kamu bisa coba untuk buat Note menggunakan curl.</li></ul><pre>curl -X POST -H &quot;Content-Type: application/json&quot; -v --data &#39;{&quot;content&quot;: &quot;my content&quot;, &quot;title&quot;: &quot;my title&quot;}&#39; -v &lt;back4app url&gt;/notes</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*utstCaXalfGi4L-YDUn06w.png" /><figcaption>curl create</figcaption></figure><ul><li>Mari kita cek hasilnya.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Hik2r7hrCbLJjaYWZrb-BQ.png" /><figcaption>Hasil list</figcaption></figure><h3>Simpulan</h3><p>Mudah kan? Kamu cukup konfigurasi:</p><ul><li>Port</li><li>Environment Variables</li></ul><p>Sisanya kita hanya menggunakan pengaturan default. Namun, jika kamu punya kasus lain, kamu masih bisa konfigurasi beberapa hal seperti:</p><ul><li>Branch</li><li>Path Dockerfile</li><li>Path Health Check</li><li>Domain</li><li>Mematikan Automatic Deployment</li></ul><p>Sayangnya Back4App hanya menyediakan integrasi dengan GitHub. Akan lebih baik lagi jika bisa terintegrasi dengan git secara umum.</p><h3>Terima Kasih</h3><p>Terima kasih sudah membaca. Semoga harimu menyenangkan!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*LWf1FwBLkUrU0kjd" /><figcaption>Photo by <a href="https://unsplash.com/@peet818?utm_source=medium&amp;utm_medium=referral">Pete Pedroza</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=76b204835c26" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Mencoba fitur Terraform Test? — Pendahuluan]]></title>
            <link>https://berviantoleo.medium.com/mencoba-fitur-terraform-test-pendahuluan-e8d0f94bbf7c?source=rss-b9076172b79d------2</link>
            <guid isPermaLink="false">https://medium.com/p/e8d0f94bbf7c</guid>
            <category><![CDATA[terraform-modules]]></category>
            <category><![CDATA[terraform-test-framework]]></category>
            <category><![CDATA[terraform-testing]]></category>
            <category><![CDATA[hashiconf]]></category>
            <category><![CDATA[terraform]]></category>
            <dc:creator><![CDATA[Bervianto Leo Pratama]]></dc:creator>
            <pubDate>Sun, 19 Nov 2023 14:02:40 GMT</pubDate>
            <atom:updated>2023-11-19T14:02:40.369Z</atom:updated>
            <content:encoded><![CDATA[<h3>Mencoba fitur Terraform Test? — Pendahuluan</h3><h4>Ini belum saya hands-on loh ya</h4><p>Jadi, sesuai judul. Ini hanya pendahuluan. Saya belum coba-coba dan belum sempet langsung otak-atik. Jadi, HashiCorp “baru” saja, gak baru sih, udah dari bulan lalu saat HashiConf 2023. Jujur, saya belum sempet otak-atik karena setelah HashiConf 2023, saya harus mengikuti perjalanan bisnis selama 1 minggu. Saya jadi harus fokus ke pekerjaan saya dan bahkan saya belum sempat menulis apa-apa. Saya hanya sempat sedikit-sedikit berbagi pengalaman saya mengikuti HashiConf 2023. Iya, itu pun belum lengkap ya.</p><p><a href="https://berviantoleo.medium.com/pengalaman-pertama-ke-luar-negeri-day-0-part-1-a10bebe5ede1">Pengalaman Pertama ke Luar Negeri — Day 0 (Part 1)</a></p><p>Oke, saya tidak mau terlalu basa-basi nih. Saya kali ini mau <em>highlight</em> dulu fitur apa saja yang menarik. Artikel ini bisa dibilang hanya mengartikan artikel aslinya yang ada di sini.</p><p><a href="https://www.hashicorp.com/blog/new-terraform-testing-and-ux-features-reduce-toil-errors-and-costs">New Terraform testing and UX features reduce toil, errors, and costs</a></p><p>Namun, saya akan mencoba untuk meringkas beberapa hal yang kemungkinan akan digunakan untuk mayoritas kita.</p><ul><li>Terraform test framework. Oke, kalau ini itu sudah General Availability (GA). Jadi teman-teman bisa langsung coba maupun pakai. Saya yakin beberapa perusahaan menggunakan modul untuk me-manage resource-nya. Apalagi kalau nantinya infrastukturnya akan digunakan cukup banyak tim atau dibagikan dengan tim lain. Nah, Terraform test framework ini berfokus untuk melakukan pengujian terhadap modul yang di-publish (publik maupun private). Kita jadi bisa melakukan pengujian menggunakan HCL (bahasa yang sama saat kita membuat infrastrukturnya). Kalau mau coba-coba, bisa langsung cek di dokumentasinya.</li></ul><p><a href="https://developer.hashicorp.com/terraform/cli/test">Testing Terraform - Terraform CLI | Terraform | HashiCorp Developer</a></p><ul><li>Ada beberapa fitur yang masih beta dan ada juga beberapa fitur yang perlu daftar dulu (yang private preview). Namun, kalau ada yang penasaran, nanti saya bisa coba tanya-tanya juga apakah masih bisa daftar. Fitur beta-nya itu seperti melakukan <em>generate</em> kode pengujiannya. Teman-teman pasti sudah sering mendengar Generative AI atau sejenisnya. Iya, fitur ini memang memanfaatkan AI untuk melakukan <em>generate</em> kode pengujian. Fitur <em>private</em> <em>preview</em> seperti Stacks itu menarik sih, ini akan membantu dalam mengelola infrastrukur yang memiliki <em>multiple</em> <em>environment</em>, dll.</li><li>Oh iya, ada pembaruan di Terraform extension untuk Visual Studio Code juga. Saya <em>notice</em> pembaruannya itu juga sih. Jadi lebih membantu sih. Sebelumnya mungkin masih membingungkan pesan error maupun daerah yang di-highlight. Sekarang jadi lebih bagus dan lebih jelas. Seperti yang sebelumnya saya sedang buat artikel(*) dan buat script-nya, kebetulan saya belum mendefinisikan variabel-nya. Extension-nya memberikan penjelasannya dengan baik.</li></ul><p>(*) Artikel yang dimaksud:</p><p><a href="https://dev.to/aws-builders/managing-s3-bucket-using-lifecycle-configuration-n8c">Managing S3 Bucket using Lifecycle Configuration</a></p><p>Mungkin itu dulu ya. Nanti saya akan membagikan hasil uliknya. (Semoga)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*6T5hbtNqZrJarBe7" /><figcaption>Photo by <a href="https://unsplash.com/@rosiekerr?utm_source=medium&amp;utm_medium=referral">Rosie Kerr</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><h4>Pesan Tersembunyi</h4><p>Oh iya, kalau teman-teman punya kasus tertentu untuk dibagikan terutama saat menggunakan tools yang dimiliki HashiCorp. HashiCorp membuka CFP, jadi teman-teman bisa memasukan ide teman-teman untuk dibagikan di HashiTalk 2024. Jangan lupa idenya dan presentasinya dalam bahasa Inggris tapi ya. Kalau teman-teman mau kolaborasi juga boleh (tinggal kontak-kontak saya, hehe..).</p><p>Kalau mau langsung submit. Yuk di sini:</p><p><a href="https://sessionize.com/hashitalks-2024">HashiTalks 2024: Call for Proposals</a></p><p>Post resmi:</p><ul><li><a href="https://www.linkedin.com/feed/update/urn:li:activity:7125889381113954305/">HashiCorp on LinkedIn: #hashitalks</a></li><li><a href="https://web.facebook.com/photo/?fbid=846379890606280&amp;set=a.582622866981985&amp;_rdc=1&amp;_rdr">Log into Facebook</a></li></ul><h3>HashiCorp on Twitter: &quot;We are pleased to announce that the CFP and Registration are open for #HashiTalks 2024. We are seeking dynamic speakers to share their insights and experiences on HashiCorp tools and products. Submit to the 6th edition of this 24-hour global event at: https://t.co/Z2XL1akYEC pic.twitter.com/saInprmTps / Twitter&quot;</h3><p>We are pleased to announce that the CFP and Registration are open for #HashiTalks 2024. We are seeking dynamic speakers to share their insights and experiences on HashiCorp tools and products. Submit to the 6th edition of this 24-hour global event at: https://t.co/Z2XL1akYEC pic.twitter.com/saInprmTps</p><h3>Terima Kasih</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*TQeY8Trvjbk9n6KS" /><figcaption>Photo by <a href="https://unsplash.com/@alexas_fotos?utm_source=medium&amp;utm_medium=referral">Alexas_Fotos</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e8d0f94bbf7c" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Pengalaman Pertama ke Luar Negeri — Day 2 (Part 3)]]></title>
            <link>https://berviantoleo.medium.com/pengalaman-pertama-ke-luar-negeri-day-2-part-3-722868aeb6b4?source=rss-b9076172b79d------2</link>
            <guid isPermaLink="false">https://medium.com/p/722868aeb6b4</guid>
            <category><![CDATA[hashiconf]]></category>
            <category><![CDATA[pengalaman]]></category>
            <category><![CDATA[experience]]></category>
            <dc:creator><![CDATA[Bervianto Leo Pratama]]></dc:creator>
            <pubDate>Sat, 18 Nov 2023 08:24:36 GMT</pubDate>
            <atom:updated>2023-11-18T08:26:33.829Z</atom:updated>
            <content:encoded><![CDATA[<h3>Pengalaman Pertama ke Luar Negeri — Day 2 (Part 3)</h3><h4>Jetlag Akhirnya Datang</h4><h3>Sebelum baca</h3><p>Halo, saya mau melanjutkan cerita yang sebelumnya. Kalau belum baca, mari di simak.</p><h4>Day 0</h4><p><a href="https://berviantoleo.medium.com/pengalaman-pertama-ke-luar-negeri-day-0-part-1-a10bebe5ede1">Pengalaman Pertama ke Luar Negeri — Day 0 (Part 1)</a></p><h4>Day 1</h4><p><a href="https://berviantoleo.medium.com/pengalaman-pertama-ke-luar-negeri-day-1-part-2-fd893d59203d">Pengalaman Pertama ke Luar Negeri — Day 1 (Part 2)</a></p><h3>Day 1 of HashiConf 2023</h3><p>Jadi, ini bisa dibilang Day 1 — HashiConf 2023. Kalau di sisi peserta, mereka akan mulai registrasi dan ambil <em>badge </em>di sore hari. Di sisi <em>speaker, </em>mereka udah bisa ambil <em>badge </em>sebelum peserta ambil <em>badge. </em>Beda lagi untuk HashiCorp Ambassador, kita ada kegiatan satu hari penuh yang dinamakan <em>Product Day</em>. Kita sebagai HashiCorp Ambassador dapat bertemu langsung dengan tim Product &amp; Engineer dari setiap produk HashiCorp (sayangnya waktu itu tidak ada Vagrant, mungkin sedikit sekali penggunanya). Oh iya, di setiap papan nama-nya itu, itu ada <em>sticker</em> yang membedakan <em>speaker, </em>Hashicorp Ambassador<em>, </em>dll. Ini <em>badge </em>saya.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/960/1*RdBEE-NQMgcFcXqjlEF5CA.jpeg" /></figure><p>Ada <em>sticker</em> Certified, hehe.. Itu saya dapatkan setelah lulus ujian Terraform di hari terakhir HashiConf. Bisa dibilang saya jadi skip beberapa sesi karena ujian. :’)</p><h3>Breakfast</h3><p>Oke, alur ceritanya jadi maju-mundur ya. Jadi, tadi saya memberikan gambaran umum yang terjadi hari ini. Nah, ini bisa dibilang “detail”-nya ya. Pada saat <em>breakfast</em> ini, banyak hal yang menarik sih. Pertama, saya jadi belajar menyusun taco. Saya belum pernah makan taco kan ya, jadi saya bingung ini kombinasinya bagaimana. Yang akhirnya isi dari taco itu sendiri terpisah-pisah di piring saya. Saya baru sadar harusnya ada beberapa yang dikombinasikan. :D Oke, itu <em>highlight</em> dari makanannya. :D</p><p>Nah, saya satu meja dengan beberapa HashiCorp Ambassador, saya belum bertemu dengan penerima Scholarship, kalau gak salah ingat, mereka belum sampai karena ada beberapa <em>delay</em>. Untung saja penerbangan saya semuanya lancar bahkan lebih cepat. Saya saat sarapan benar-benar masih ngantuk walaupun sudah tidur cukup. Hiks.</p><p>Saya bertemu dengan HashiCorp Ambassador yang juga Docker Captain dari Brazil. Cari di halaman Docker Captain dan kombinasikan dengan <a href="https://www.hashicorp.com/ambassadors/directory">halaman HashiCorp Ambassador</a> pasti nanti ketemu. Saya tau dia adalah Docker Captain karena dari jaket-nya. Oke, first impression? Keren sih, apalagi dari setiap pembahasan yang ada di meja kita. Saya hanya bisa “silent”, takut salah ngomong.. Haha… Saya jadi minder dengan skill saya.</p><p>Saya bertemu juga dengan salah satu HashiCorp Developer Advocate (cari sendiri siapa ya) di sini. Weh, entah kenapa ya, saya sering kagum aja dengan orang-orang yang bekerja sebagai Developer Advocate. Mereka bisa dengan percaya diri saat presentasi atau <em>sharing </em>itu merupakan yang terkadang menjadi hal yang sulit untuk saya sendiri.</p><p>Siapa tau ada yang penasaran untuk jadi Developer Advocate. Ini salah satu artikel di blog HashiCorp yang menurut saya menarik.</p><p><a href="https://www.hashicorp.com/blog/how-to-become-a-developer-advocate-part-1-public-speaking">How to become a developer advocate: Part 1, public speaking</a></p><h3>Product Day</h3><p>Seperti yang saya sebutkan di awal. Kita ada Product Day. Saya hanya bisa ikut beberapa sesi, ngantuk berat. :’) Saya hanya bisa ikut sesi Nomad, Vault. Sisanya saya skip, karena sangat lelah. Untuk sesi Nomad, oke, saya tidak begitu paham karena saya belum <em>deep dive</em> ke Nomad ya. So far, keren sih, diskusinya cukup menarik. Saya juga bisa dibilang ada setuju dengan beberapa “proposal” yang diajukan.</p><p>Saya juga ikut sesi Vault. Saya gak begitu ingat, otak saya tidak berproses dengan baik. Haha… Setau saya yang lebih ter-<em>highlight</em> lebih soal proses <em>seal-unseal</em>, mungkin teman-teman yang sering pakai ini juga merasakan keresahannya. Ya, dua sesi sebelumnya itu gak panjang, dan tidak sepanjang Terraform yang pesertanya 2 kali lipat dari sesi saya sebelumnya. Terraform memang produk yang lebih banyak orang gunakan sih ya.</p><blockquote>… Skip hingga saya bangun lagi di sore hari. :’)</blockquote><p>Anyway, saya jadi telat tau ada sesi bermain game di sela-sela Product Day. Hiks, saya bangunnya agak telat. Haha…</p><h3>Dinner</h3><p>Oke, karena saya sudah ambil <em>badge</em> saat Product Day. Jadi saya skip pengambilan <em>badge</em> bagi peserta dan ada juga <em>light dinner </em>yang ada di venue. Kebetulan kita diajak Dinner ke tempat lain. Restoran ini restoran Asia, jadi agak kangen rasa makanan Indonesia. :D</p><p><a href="https://www.google.com/maps?q=E%26O+Kitchen+and+Bar,+314+Sutter+St,+San+Francisco,+CA+94108,+United+States&amp;ftid=0x8085808941977519:0x6a23af223bffdaf8&amp;hl=en-IN&amp;gl=in&amp;entry=gps&amp;lucs=,47071704&amp;g_ep=CAISDDYuODcuMC4xNjY5MBgAINeCAyoJLDQ3MDcxNzA0QgJJTg%3D%3D&amp;g_st=ic">E&amp;O Kitchen and Bar · 4.3★(1264) · Asian restaurant</a></p><p>Well, kita hanya <em>light dinner</em>. Secara <em>experience, </em>enak sih untuk beberapa menu.</p><h3>Simpulan</h3><p>Sebenarnya gak terlalu banyak yang bisa diungkapkan hari ini. Hanya berat…. :’) Jetlag parah sih. Haha…</p><p>Beberapa kegiatan yang bisa di-<em>highlight</em>. Eh, cuman satu sih, ya, kita HashiCorp Ambassador ada Product Day dan memang di-bebaskan untuk mengikuti yang mana. Jadi bisa dibilang sebenarnya ini sesi “santai” sebelum besok mata acara HashiConf 2023-nya!</p><p>Saya gak mau terlalu panjang untuk yang hari ini karena belum menu utamanya. Kurang lebih, karena lebih banyak sesi <em>private, </em>saya juga tidak bisa membuka semua informasinya.</p><p>Sampai bertemu di artikel selanjutnya yang “seharusnya” lebih menarik dibandingkan yang ini. Stay tuned!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*jRh9yjWHiuw4cxi3" /><figcaption>Photo by <a href="https://unsplash.com/@nickbartos?utm_source=medium&amp;utm_medium=referral">Nicholas Bartos</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=722868aeb6b4" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Pengalaman Pertama ke Luar Negeri — Day 1 (Part 2)]]></title>
            <link>https://berviantoleo.medium.com/pengalaman-pertama-ke-luar-negeri-day-1-part-2-fd893d59203d?source=rss-b9076172b79d------2</link>
            <guid isPermaLink="false">https://medium.com/p/fd893d59203d</guid>
            <category><![CDATA[pengalaman]]></category>
            <category><![CDATA[pengalaman-hidup]]></category>
            <category><![CDATA[hashiconf]]></category>
            <category><![CDATA[kesasar]]></category>
            <dc:creator><![CDATA[Bervianto Leo Pratama]]></dc:creator>
            <pubDate>Sun, 29 Oct 2023 08:59:10 GMT</pubDate>
            <atom:updated>2023-11-18T07:34:29.371Z</atom:updated>
            <content:encoded><![CDATA[<h3>Pengalaman Pertama ke Luar Negeri — Day 1 (Part 2)</h3><h4>Panik Tidak Punya Opsi untuk Transportasi</h4><p>Halo semua! Ini kelanjutan dari Part 1 saya yaitu Day 0, baik dari persiapan hingga keberangkatan menaiki pesawat. Belum baca? Boleh dibaca dulu ya. :)</p><p><a href="https://berviantoleo.medium.com/pengalaman-pertama-ke-luar-negeri-day-0-part-1-a10bebe5ede1">Pengalaman Pertama ke Luar Negeri — Day 0 (Part 1)</a></p><h3>Tiba di Imigrasi SFO</h3><p>Oke, saya udah berjanji mau lanjutin ceritanya. Jadi nih ya, saya sudah Jetlag. Tapi, saya cukup banyak ditanya-tanya di imigrasi. Sepertinya dia cukup bingung dengan tujuan kedatangan saya. Saya kan memang mau menghadiri konverensi, jadi cukup banyak pertanyaan seperti:</p><ol><li>Kamu membayar biaya konferensi bagaimana. Saya jawab udah dibayarin.</li><li>Lanjut deh, kok bisa dibayarin, nah, saya bingung jawaban apa yang kira-kira bisa menghentikan pertanyaan lanjutan. Saya hanya bisa jawab, ya, saya HashiCorp Ambassador.</li><li>Tentu ditanya kembali, jadi HashiCorp itu apa.</li><li>Saya jelaskan, bla bla bla. Lalu, jadi kamu bekerja untuk HashiCorp? Saya jawab tidak, saya hanya tulis blog mengenai produk-produk HashiCorp.</li><li>Jadi petugas imigrasinya masih tidak percaya kalau saya kok bisa dibayarin, bahkan dari pesawat dan hotel. Jadi saya terus ditanya muter-muter ke topik yang kok bisa dibayarin. Saya yang udah gak fokus, saya hanya bisa memberikan bukti percakapan saya dan perwakilan yang mengelola HashiCorp Ambassadors. Apalagi Bahasa Inggris saya yang belepotan, dia semakin tidak percaya. Mungkin ada 15 menit lebih saya bertanya jawab.</li></ol><p>Alhasil, saya yang udah pasrah, ah, kalau disuruh kembali, ya sudah, pasrah. Saya sudah ngantuk berat dan bahkan tidak fokus. Untungnya, setelah beberapa kali saya menunjukkan percakapan saya. Akhirnya dibolehkan masuk, bahkan bagasi saya sudah <em>last-call</em>, kalau saya belum ambil akan ribet <em>claim-</em>nya<em>.</em></p><h3>Mencari Transportasi</h3><p>Oke, imigrasi udah lewat. Sekarang saya harus mencari cara untuk membeli tiket BART. Jadi BART itu seperti MRT, kereta yang bisa mengantar saya ke hotel saya. Deket banget kalau naik MRT ini, stasiunnya di bandara dan stasiun tujuannya juga paling cuman 5 menit. Kalau mau tau soal BART, bisa kunjungi web-nya aja ya.</p><p><a href="https://www.bart.gov/guide">Using BART</a></p><p>Saya sih udah ada rencana keuangannya, nah, tapi ada yang lucu nih.</p><h4>Uang Cash Saya Tidak Bisa Dipakai</h4><p>Ini makin sedih, saya mau beli tiket BART. Ah, saya baru tau pecahan 50 dan 100 dollar itu gak bisa untuk beli tiketnya. Sedih dong saya, saya coba kartu debit saya, gak bisa juga. Panik? Panik dong.</p><p>Ya udah deh, saya coba UBER, wah, UBER mahal banget dibanding BART yang cuman 10 dollar. Oke, gak apa-apa deh asalkan saya bisa jalan. Wah, UBER gak bisa pakai cash, saya coba pakai beberapa kartu debit saya. Lagi-lagi gak bisa. Panik? Iya, panik lagi. Karena bingung, saya duduk dulu menenangkan diri untuk mencari solusi. Ini story IG saya yang bingung. :’)</p><p><a href="https://www.instagram.com/s/aGlnaGxpZ2h0OjE4MDEzMTA1OTA2Nzg1Njg1?story_media_id=3209965106260029185_1587793098&amp;igshid=MzRlODBiNWFlZA==">https://www.instagram.com/s/aGlnaGxpZ2h0OjE4MDEzMTA1OTA2Nzg1Njg1?story_media_id=3209965106260029185_1587793098&amp;igshid=MzRlODBiNWFlZA==</a></p><p>Setelah beberapa menit berlalu, saya teringat, oh ada tempat jual kopi di bandara. Saya ke sana deh, beli makan dan minum. Tada! Akhirnya saya dapat pecahan lebih kecil. Setelah minum, saya langsung ke stasiun BART untuk beli kartu Clipper dan saldonya. Kartu ini ya mirip-mirip e-money lah, pakai NFC juga sebenarnya. Saya gak bisa pakai aplikasinya, karena region PlayStore saya masih di Indonesia. Terlebih gak bisa ganti sembarangan, ya udah saya beli kartu fisik di stasiun aja dari mesin yang ada di sana. Setidaknya saya bisa sampai ke tujuan. Nih, saya ada satu foto setelah saya naik BART-nya. Wkwk…</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*whjFHtQAMoNXaKX-ILWGrA.jpeg" /><figcaption>Akhirnya naik BART</figcaption></figure><h4>Kesasar</h4><p>LoL (<strong>laughing out loud)… </strong>Oke, ini lucu. Maps saya tidak memberikan arah jelas. Saya juga keluar dari tempat yang salah. Saya kan berhenti di Powell St. Satu kesan saya yang bikin <em>shock</em> adalah ketika melihat beberapa <em>homeless</em> di sana. Saya sebagai pengunjung cukup takut dan ini kan bukan medan saya, kalau saya kenapa-kenapa juga ribet. Saya tidak terlalu berani sambil mencari arah dengan menggengam HP, apalagi saya masih membawa koper. Nah, jadi saya mengikuti “intuisi”. Saya <em>expect</em> sudah sampai hanya dengan lurus lalu belok kanan dan sampai.</p><p>Saya coba di salah satu jalan, lah, kok gak sampai-sampai. Ada 30 menit lebih saya muter-muter, entah itu ke arah selatan dan ke arah barat dan ke utara. Seharusnya agak ke timur. :D Lucunya, saya bahkan secara tidak sadar sudah sampai ke tempat yang nantinya jadi tempat Evening Night. Setelah menemukan tempat itu, saya langsung sadar, lah saya salah arah! Harusnya ke utara! Saya malah ke selatan, ini gara-gara map-nya lama sekali update-nya. Oke, saya mencoba ke arah utara. Eh, entah kenapa, malah jadi agak ke barat (ini hampir ke daerah Golden Gate). Asem, saya jadi harus ke timur. :’) Sempet saya ketemu orang Indonesia, dia nyamperin saya, nanya ngapain ke sini, dan dia bilang mau ke Golden Gate. Saya ketawa dong, wkkkwk…. berarti saya salah jalan lagi. Capek, bawa koper ke mana-mana. :’) Oke deh, jalan lagi, kita <em>traceback</em>, yang penting harus ketemu Powell St. lagi. Malah ketemu Civic Center, ah oke, gapapa, berarti naik dikit ketemu Powell. Untungnya, ya ketemu Powell, terus jalan, lah, ini deket banget dari Powell ke hotel. Ngapain saya muter jauh. wkwk… Nasib berangkat sendiri gini nih, jadi orang kesasar. :’)</p><h3>Sampai Hotel</h3><p>Sampai hotel, saya langsung ke resepsionis untuk<em> check-in</em>, gara-gara saya muter-muter jadi udah waktunya <em>check-in</em>, wkkwk… Saya sudah capek banget, jadinya setelah beres-beres sedikit. Tidur….. :D</p><h3>Berangkat ke kantor HashiCorp</h3><p>Ya, saya untungnya bangun di waktu yang tepat. Ada rombongan HashiCorp Ambassadors yang mau ke kantor HashiCorp juga. Satu-satunya saya bisa yakin mana HashiCorp Ambassadors yaitu bajunya, untung ada yang pakai baju Ambassadors.</p><p>Jadi kita ada acara HUG San Francisco. Acaranya ini:</p><p><a href="https://www.meetup.com/san-francisco-hashicorp-user-group/events/295805336/">Login to Meetup | Meetup</a></p><p>Untungnya cuman 1 sesi. Satu sesi lagi dibatalkan karena <em>speaker</em>-nya berhalangan. Wah, itu saya masih ngantuk banget, Jetlag parah. At least, dari sesi ini, saya jadi kenal beberapa Ambassadors dan beberapa orang yang memang biasa mengikuti <em>meetup </em>ini. Dari sesi ini, saya baru tau beberapa hal soal Nomad. Well, biasanya cuman pakai Terraform, Vault, dan Vagrant. Ini jadi melihat beberapa hal baru yang wow!</p><p>Acara ini malem ya, jadi kita <em>dinner</em>, sesi, dan <em>networking. </em>Bisa dibilang, ini makan malam yang besar, sepertinya beberapa orang udah biasa ya makan porsi besar<em>. </em>Lah saya dan ada orang Asia juga, gak habis dan dibawa pulang. Kita makan taco yang ukurannya gak biasa, haha.. Ini bisa jadi makan “subuh”, iya saya kebangun kan ya (karena tiba-tiba lapar), saya habisin deh, biar bisa tidur lagi. Hahaha…</p><p>Saat sesi networking, saya tidak terlalu berani berbicara, bahasa Inggris saya belepotan. Untungnya ada satu yang dateng ke saya, dia pelajar (kalau saya gak salah, maaf masih ngantuk saat itu). Ya kita ngobrol dari pekerjaan, asal dari mana, dan biasanya pakai produk apa aja.</p><p>Setelah sesi networking, saya juga akhirnya ikut kembali juga bareng rombongan sebelumnya. Gak berani pulang sendiri, malem di sini kok kayak serem. :’)</p><h3>Malemnya</h3><p>Oke, malemnya aman sih. Bisa tidur, karena capek!!! Walaupun besoknya, tetep kerasa capek juga. Wkkwkkk…</p><p>Saya udah bangun jam 6 (pagi)-an, untuk siap-siap sarapan. :) Jam 6 (pagi) di sana, itu masih gelap. Liat aja ini. Hahaha... Ini saya foto dari kamar, haha..</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*O2IZ5p6IzlkGrQI9ZcYH8A.jpeg" /><figcaption>Jam 6-an di SF</figcaption></figure><h3>Simpulan</h3><p>Lah, jadi Day-1-nya gak ada apa-apa? Iya, sedih ya. Beberapa poin penting:</p><ol><li>Panik gak bisa beli kartu BART.</li><li>Panik gak bisa pesen UBER.</li><li>Akhirnya bisa berpikir jernih setelah duduk santai.</li><li>Kesan yang awalnya sepertinya indah, jadi buyar karena menghirup udara di sana di beberapa daerah. Saya bukan menjelekan ya, tapi itu kesan pertama saya. Saya berharap semakin rapi dan baik lagi.</li><li>Eh, ini belum dibahas di atas. Tempatnya dingin banget! Enak sih, karena saya dateng pas musim Fall baru mulai.</li><li>Cari internet yang bagus-an dan GPS yang stabil. Lah, ini saya kesasar gara-gara <em>update</em>-nya super telat. Sedih dong, habis 30 menit gara-gara jalan muter-muter.</li><li>Sesi Pre-HashiConf seru banget! Walaupun memang gak sebanyak itu yang dateng ya. Saya bisa kenal beberapa orang dan mendapat 1 sesi yang sangat menarik. Itu udah cukup banget sih.</li></ol><p>Nantikan cerita saya di Day-2. Day-2 ini adalah <em>main</em> <em>course</em>-nya atau HashiConf dimulai. Ini ada cerita menarik juga, jadi mohon ditunggu ya. Ada beberapa hal yang wah! bagi saya. Well, sampai sini dulu ya. Kalau ada tambahan, akan saya tambahkan langsung di setiap day. Semoga bermanfaat. Oh iya, artikel secara teknis-nya belum rilis ya. Saya masih lelah. :’)</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fd893d59203d" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Pengalaman Pertama ke Luar Negeri — Day 0 (Part 1)]]></title>
            <link>https://berviantoleo.medium.com/pengalaman-pertama-ke-luar-negeri-day-0-part-1-a10bebe5ede1?source=rss-b9076172b79d------2</link>
            <guid isPermaLink="false">https://medium.com/p/a10bebe5ede1</guid>
            <category><![CDATA[pengalaman]]></category>
            <category><![CDATA[pengalamanpribadi]]></category>
            <category><![CDATA[luar-negeri]]></category>
            <category><![CDATA[pengalaman-hidup]]></category>
            <dc:creator><![CDATA[Bervianto Leo Pratama]]></dc:creator>
            <pubDate>Sun, 15 Oct 2023 13:18:38 GMT</pubDate>
            <atom:updated>2023-10-15T13:18:38.685Z</atom:updated>
            <content:encoded><![CDATA[<h3>Pengalaman Pertama ke Luar Negeri — Day 0 (Part 1)</h3><h4>Persiapan dan sebelum sampai ke Luar Negeri</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*MQBqHDnhFpHMtxjS" /><figcaption>Photo by <a href="https://unsplash.com/@polarmermaid?utm_source=medium&amp;utm_medium=referral">Anne Nygård</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>Halo, semua pembaca! Ini cerita ringan saya. Iya, seperti curhat aja ya. Saya akan berusaha untuk meringankan porsi bacaan ini.</p><h3>Awal Mula</h3><p>Jadi ini merupakan tulisan yang ringan dan sekedar membagikan pengalaman saya. Saya berharap tidak ada istilah teknis yang begitu banyak. Sedikit gambaran, saya diundang untuk menghadiri <a href="https://hashiconf.com/2023/">HashiConf 2023</a> oleh HashiCorp dan disponsori oleh mereka.</p><h4>Belum Pernah ke Luar Negeri</h4><p>Saya belum pernah menginjakan kaki saya di negeri luar. Bahkan saya tidak pernah liburan keluar Jawa/Sumatra. Jawa pun baru Jawa Barat. :’) Sedih ya. Memang iya, saya bukan orang kaya yang punya uang bisa kemana-mana kapanpun dia mau. Saya masih jadi Sandwich Generation, jangan berharap banyak.</p><h4>Awalnya Pesimis untuk Pergi</h4><p>Iya, saya awalnya pesimis untuk pergi. Saya mengisi form minat untuk menghadiri HashiConf 2023. Namun saat breefing, mereka (HashiCorp) mengatakan tidak menyediakan sponsor untuk menghadiri HashiConf 2023 tersebut. Saya jadi sangat pesimis akan ikut. Hitung saja, tiket pulang-pergi itu sekitar 20 juta lebih. Belum biaya hotel, transportasi, visa (waktu itu saya belum ada), dll. Bisa-bisa sudah habis 50 juta lebih (uang dari mana ya kan). Walaupun mereka memberikan kita gratis tiket masuk HashiConf 2023 itu, itu masih sangat berat. Nah, singkat cerita bulan Juli saya dikabarkan bahwa mereka menyanggupi untuk membantu dalam hal tiket pulang-pergi dan hotel. Wah, saya senang sekali dong, itu sangat membantu saya.</p><h4>Apply Visa</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*npIkwdr_C2pQd_H2" /><figcaption>Photo by <a href="https://unsplash.com/@agusdietrich?utm_source=medium&amp;utm_medium=referral">Agus Dietrich</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>Ini adalah <em>epic-moment</em> saya. Wah, saya menghadiri <em>interview</em> visa di saat Jakarta sedang tinggi-tingginya soal polusi udara. Benar saja, saya 3 hari sebelum menghadiri <em>interview, </em>saya jatuh sakit dan demam<em>. </em>H-2 dan H-1 saya masih batuk namun “tidak begitu” parah. Saat saya sampai Jakarta sekitar jam 10-an, saya langsung ke tempat penginapan. Saya tidak bisa tidur karena kedinginan, karena saya tidak tau cara mengecilkan pendingin udaranya. Mungkin kamu akan tau tempat penginapan apa ini sehingga saya tidak mengetahuinya. Hahaha…</p><p>Oh ya, saya <em>apply </em>visa ini bulan Agustus. Perjuangannya benar-benar berat karena saya tidak dalam kondisi yang baik. “Bodoh”-nya saya membawa laptop saat itu, saya berjaga-jaga jika ada dokumen yang kurang saya bawa. Namun, hal ini membawa perkara lain, saya jadi harus menitip barang saya di Gambir karena mereka (Embassy) tidak menerima penitipan laptop. Jadi, saya harus bolak-balik Gambir-Embassy.</p><p>Oke, saya skip beberapa proses ya, intinya saya sudah isi DS-160, mendaftarkan <em>appointment</em> untuk <em>interview</em>, dan saat hari H saya sudah ada di sekitar Jakarta. Ada beberapa kejadian unik:</p><ol><li>Saya dikira mau bertemu atau mengambil sesuatu (bukan untuk interview), jadi saya disuruh menunggu di luar Embassy dekat persimpangan jalan yang cukup jauh dari Embassy. Tapi, untungnya ini tidak membuat saya telat ya. :D</li><li>Saat masuk pemeriksaan barang, di depan saya, saat diberi tahu ada barang yang dicurigai, dia mengelak ada barang tersebut. Ini sepertinya ada masalah miskomunikasi saja. Jadi, tas orang depan saya berkali-kali di-<em>scan </em>menghambat proses yang lain. Penjaga tersebut kemungkinan tidak diperbolehkan membongkar tas-nya. Jadi akhirnya penjaga meminta izin untuk membongkar dan benar yang dicurigai ada barang tersebut, namun pembawa barang mengelak dengan bilang lupa. Padahal jika ingat dan menunjukan barangnya, tidak akan lama. :’)</li><li>Singkat cerita, saya sudah di barisan <em>interviewer</em>. Oke, ini menarik, karena saya hanya sebentar ditanya-tanyanya. Gak mau <em>spill</em> pertanyaannya. Intinya tidak lebih dari 4 pertanyaan. Saya senang banget lah karena dapet kertas putih. Saya sudah deg-degan karena 2 orang sebelum saya itu ditolak. Saya sudah pasrah, ah, kalau batal karena visa, ya udahlah. Oh iya, kenapa saya pesimis, terlalu banyak orang yang mengatakan harus udah pergi ke beberapa negara dulu biar bisa diterima. Lah, saya mana punya uang sebanyak itu. :’) Saya bisa bayar biaya visa saja sudah sangat bersyukur.</li></ol><p>Saya tidak punya cerita spesial saat persiapan sebelum berangkat. Intinya ya mempersiapkan uang <em>cash </em>(ini penyelamat saya saat sudah tiba di Amerika) dan beberapa persiapan lainnya.</p><h3>Day 0</h3><p>Oke, sebelum saya masuk ke Day 1 dan seterusnya, saya membahas di awal-awal dulu ya.</p><h4>Ke Bandara Soekarno-Hatta</h4><p>Wah, ini <em>epic</em>. Saya berangkat dari Bandung itu sekitar jam 10 malam sebelum hari H terbang. Saya terbang dari Jakarta itu Senin pagi sekitar jam 5 pagi ke Singapura. Saya berangkat lebih awal, biar gak telat pastinya. Wah, saya gak bisa tidur. Mata mengantuk tetapi harus menunggu <em>counter check-in</em> buka untuk menaruh bagasi. Intinya saya belum tidur. :)</p><h4>Ke Singapura</h4><p>Di pesawat Jakarta-Singapura, saya gak terlalu tidur, cukup cepat penerbangannya bahkan tiba lebih awal dari yang dijadwalkan. Selesai makan, eh udah sampai. :D</p><p>Sesampainya di Singapura, saya harus bersiap ke Gate yang menuju San Francisco. Saya gak tau Gate yang mana dan untungnya ada <em>uncle</em> yang membantu membuka aplikasi untuk mengecek informasi Gate. Waktu transit saya singkat, hanya 1 jam. Untung saja di terminal yang sama, wah, saya udah khawatir ketinggalan kalau beda terminal. Di Singapura ini gak banyak cerita, ya itu, karena cuman 1 jam, saya hanya bisa langsung ke Gate, dan itu udah ramai yang mengantri. Semua aman-aman saja sih di sini.</p><p>Oh ya, saya gak terlalu sempat untuk mengecek melalui WiFi maupun koneksi roaming. Memakan waktu cukup lama yang akhirnya saya menanyakan petugas bandara saja biar lebih singkat. :’)</p><h4>Ke San Francisco</h4><p>Untungnya saya berhasil masuk Gate dan pesawat. Oke, saya singkat saja. Saya <strong>tidak</strong> bisa tidur lagi. Ya, tidur-nya tipis-tipis, ada tidur tapi ya singkat-singkat durasinya. Lebih banyak saya terbangun karena merasakan <em>turbulence. </em>Singkat cerita, saya tiba di SFO (bandara Internasional San Francisco) itu pagi, sekitar jam 7 (15 jam penerbangan kalau gak salah ya), lebih awal dari jadwal. Capek? Pasti!</p><p>Wah, banyak kejadian <em>epic </em>saat tiba. Saya akan cerita di-part selanjutnya. Tenang ini bukan <em>story-story</em> yang ada di Youtube Short yang Part-1 tapi tidak ada Part-2-nya. Sedikit <em>spill</em>, saya lama di gate imigrasi dan taulah apa efeknya. :’)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*sCqPKd8weQr06FSc" /><figcaption>Photo by <a href="https://unsplash.com/@abbiebernet?utm_source=medium&amp;utm_medium=referral">Abbie Bernet</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>Stay tune for the next story! Saya mau pembacaan ini ringan-ringan saja. Jadi gak mau terlalu panjang. Part-2 nya atau Day 1 saya akan membahas apa saja yang terjadi di hari Senin-nya, jadi sampai di sana itu masih Senin ya, walaupun di Indonesia sudah Selasa, haha... GMT -7 vs GMT +7, beda 14 jam. Jetlag merupakan hal yang wajar. haha…</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a10bebe5ede1" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>