<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>kenji.blog</title><link>http://kenji.blog/id/</link><description>Recent content on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>id</language><copyright>kenjinote</copyright><lastBuildDate>Sun, 06 Sep 2026 12:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/id/index.xml" rel="self" type="application/rss+xml"/><item><title>【Pemahaman Lengkap dengan Rumus】 Mengapa "GNFS" Klasik Terkuat Dikalahkan oleh Algoritma Kuantum? Pergeseran Paradigma dalam Faktorisasi Prima</title><link>http://kenji.blog/id/p/gnfs-to-shors-algorithm-math-deepdive/</link><pubDate>Sun, 06 Sep 2026 12:00:00 +0900</pubDate><guid>http://kenji.blog/id/p/gnfs-to-shors-algorithm-math-deepdive/</guid><description>&lt;img src="http://kenji.blog/p/gnfs-to-shors-algorithm-math-deepdive/quantum_vs_gnfs_eyecatch_1788616101508.jpg" alt="Featured image of post 【Pemahaman Lengkap dengan Rumus】 Mengapa "GNFS" Klasik Terkuat Dikalahkan oleh Algoritma Kuantum? Pergeseran Paradigma dalam Faktorisasi Prima" />&lt;p>Keamanan informasi dalam masyarakat internet modern dilindungi oleh kriptografi kunci publik seperti kriptografi RSA. Dasar keamanan kriptografi RSA bergantung pada fakta bahwa &lt;strong>&amp;ldquo;faktorisasi prima dari bilangan komposit yang sangat besar sangatlah sulit secara komputasi&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Dalam artikel ini, kita akan mengungkap mekanisme matematis dari &lt;strong>&amp;ldquo;General Number Field Sieve&amp;rdquo;&lt;/strong> (GNFS), algoritma faktorisasi prima terkuat untuk komputer klasik, dan mendalami mengapa algoritma ini sepenuhnya dikalahkan oleh &lt;strong>&amp;ldquo;Algoritma Shor&amp;rdquo;&lt;/strong> yang ditemukan oleh Peter Shor. Kita akan mengeksplorasi pergeseran paradigma ini secara mendalam menggunakan rumus dan diagram konseptual.&lt;/p>
&lt;hr>
&lt;h2 id="1-pendekatan-faktorisasi-prima-dalam-komputasi-klasik-perkembangan-dari-metode-faktorisasi-fermat">1. Pendekatan Faktorisasi Prima dalam Komputasi Klasik: Perkembangan dari Metode Faktorisasi Fermat
&lt;/h2>&lt;p>Masalah faktorisasi prima adalah masalah untuk menemukan bilangan prima $p, q$ sedemikian rupa sehingga $N = p \times q$ untuk suatu bilangan komposit $N$ yang diberikan.&lt;/p>
&lt;p>Ide dasarnya bermuara pada penemuan $x, y$ non-trivial yang memenuhi persamaan kongruensi berikut:&lt;/p>
$$ x^2 \equiv y^2 \pmod N $$
&lt;p>Jika kita memodifikasinya, kita mendapatkan:&lt;/p>
$$ x^2 - y^2 \equiv 0 \pmod N $$
$$ (x - y)(x + y) \equiv 0 \pmod N $$
&lt;p>Di sini, jika $x \not\equiv \pm y \pmod N$, kita dapat memperoleh faktor non-trivial dari $N$ dengan menghitung $\gcd(x-y, N)$ atau $\gcd(x+y, N)$. Fakta ini merupakan dasar dari algoritma faktorisasi modern seperti GNFS.&lt;/p>
&lt;hr>
&lt;h2 id="2-algoritma-klasik-terkuat-kedalaman-dari-general-number-field-sieve-gnfs">2. Algoritma Klasik Terkuat: Kedalaman dari &amp;ldquo;General Number Field Sieve&amp;rdquo; (GNFS)
&lt;/h2>&lt;p>&lt;strong>&amp;ldquo;GNFS&amp;rdquo;&lt;/strong> adalah algoritma faktorisasi prima tercepat yang diketahui untuk komputer klasik saat ini. Kompleksitas waktunya membutuhkan waktu sub-eksponensial (Sub-exponential).&lt;/p>
&lt;h3 id="kompleksitas-gnfs">Kompleksitas GNFS
&lt;/h3>&lt;p>Jika kita asumsikan jumlah digit dari $N$ adalah $b = \log_2 N$, kompleksitas GNFS dapat dinyatakan sebagai berikut:&lt;/p>
$$ O\left( \exp \left( \left(\frac{64}{9} b\right)^{1/3} (\log b)^{2/3} \right) \right) $$
&lt;p>Seperti yang dapat dilihat dari rumus ini, kompleksitasnya bukanlah waktu polinomial, melainkan &lt;strong>&amp;ldquo;waktu sub-eksponensial&amp;rdquo;&lt;/strong> yang sedikit lebih lambat dari eksponensial. Meskipun demikian, seiring dengan bertambahnya jumlah digit, waktu komputasi akan meningkat secara astronomis.&lt;/p>
&lt;h3 id="mekanisme-matematis-dari-gnfs">Mekanisme Matematis dari GNFS
&lt;/h3>&lt;p>GNFS sebagian besar terdiri dari 4 langkah:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Pemilihan Polinomial (Polynomial Selection)&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Penyaringan (Sieving)&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Pengurangan Matriks (Matrix Reduction)&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Perhitungan Akar Kuadrat (Square Root)&lt;/strong>&lt;/li>
&lt;/ol>
&lt;h4 id="21-pemilihan-polinomial-dan-medan-aljabar">2.1. Pemilihan Polinomial dan Medan Aljabar
&lt;/h4>&lt;p>Pertama, pilih polinomial tak tereduksi $f(x)$ dan $g(x)$ dengan koefisien bilangan bulat. Keduanya diatur untuk memiliki akar persekutuan $m$ modulo $N$. Yaitu:&lt;/p>
$$ f(m) \equiv 0 \pmod N $$
$$ g(m) \equiv 0 \pmod N $$
&lt;p>Biasanya, $g(x)$ dipilih sebagai polinomial derajat pertama $g(x) = x - m$. Jika akar dari $f(x)$ adalah $\alpha$, maka &lt;strong>&amp;ldquo;Medan Aljabar&amp;rdquo;&lt;/strong> (Number Field) $\mathbb{Q}(\alpha)$ akan dibentuk. Kita membandingkan operasi dalam gelanggang $\mathbb{Q}(\alpha)$ dan operasi dalam gelanggang bilangan bulat biasa $\mathbb{Z}$ melalui homomorfisme $\phi: \alpha \mapsto m$.&lt;/p>
&lt;h4 id="22-penyaringan-sieving">2.2. Penyaringan (Sieving)
&lt;/h4>&lt;p>Selanjutnya, kita mencari sejumlah besar pasangan bilangan bulat koprima $(a, b)$. Tujuannya adalah untuk menemukan pasangan sedemikian rupa sehingga kedua nilai berikut adalah &lt;strong>&amp;ldquo;B-smooth&amp;rdquo;&lt;/strong> (hanya terdiri dari faktor prima yang relatif kecil):&lt;/p>
&lt;ol>
&lt;li>$a - bm$ (nilai pada gelanggang bilangan bulat)&lt;/li>
&lt;li>$b^d f(a/b)$ (sesuai dengan norma $N(a - b\alpha)$ pada medan aljabar)&lt;/li>
&lt;/ol>
&lt;p>Di sini, teknik pencarian cepat yang disebut &lt;strong>&amp;ldquo;Saringan&amp;rdquo;&lt;/strong> (Sieve) digunakan. Hal ini memungkinkan ekstraksi pasangan $(a, b)$ yang memenuhi kondisi dari kandidat dalam jumlah yang sangat besar secara efisien.&lt;/p>
&lt;h4 id="23-pengurangan-matriks-linear-algebra-over-gf2">2.3. Pengurangan Matriks (Linear Algebra over GF(2))
&lt;/h4>&lt;p>Dari pasangan $(a, b)$ yang dikumpulkan, kita membentuk vektor eksponen dan mencari ruang nol kiri dari matriks renggang (sparse matrix) besar pada $\mathbb{F}_2$ (medan dengan elemen hanya 0 dan 1).&lt;/p>
&lt;p>Kita mencari solusi vektor $v$ sehingga relasi $ \prod (a_i - b_i m) $ dan $ \prod (a_i - b_i \alpha) $ masing-masing menjadi elemen kuadrat sempurna. Hal ini tidak lain adalah menyelesaikan sistem persamaan linear:&lt;/p>
$$ M \mathbf{x} \equiv \mathbf{0} \pmod 2 $$
&lt;p>Di sini, algoritma komputasi numerik tingkat lanjut seperti Block Lanczos Algorithm atau Block Wiedemann Algorithm dimanfaatkan.&lt;/p>
&lt;h4 id="24-perhitungan-akar-kuadrat">2.4. Perhitungan Akar Kuadrat
&lt;/h4>&lt;p>Terakhir, kita mengambil akar kuadrat dari medan aljabar dan gelanggang bilangan bulat, yang menghasilkan relasi $x^2 \equiv y^2 \pmod N$. Kemudian, kita menghitung $\gcd(x-y, N)$ dan memperoleh faktornya.&lt;/p>
&lt;hr>
&lt;h2 id="3-terobosan-komputasi-kuantum-algoritma-shor">3. Terobosan Komputasi Kuantum: &amp;ldquo;Algoritma Shor&amp;rdquo;
&lt;/h2>&lt;p>Berbeda dengan GNFS yang membutuhkan waktu sub-eksponensial, &lt;strong>&amp;ldquo;Algoritma Shor&amp;rdquo;&lt;/strong> yang diterbitkan oleh Peter Shor pada tahun 1994, dapat memecahkan masalah ini dalam &lt;strong>&amp;ldquo;waktu polinomial&amp;rdquo;&lt;/strong> dengan menggunakan komputer kuantum.&lt;/p>
&lt;h3 id="kompleksitas-algoritma-shor">Kompleksitas Algoritma Shor
&lt;/h3>&lt;p>Jika kita mengasumsikan jumlah qubit sebagai $O(\log N)$, maka kompleksitas waktunya adalah:&lt;/p>
$$ O((\log N)^3) $$
&lt;p>Ini berarti tidak terjadi ledakan eksponensial sehubungan dengan jumlah bit. Ini adalah hasil yang menakjubkan di mana bilangan komposit sangat besar yang waktu komputasi &lt;strong>&amp;ldquo;komputasi klasik&amp;rdquo;&lt;/strong> -nya melebihi umur alam semesta, dapat dipecahkan dalam hitungan jam hingga hari menggunakan &lt;strong>&amp;ldquo;komputasi kuantum&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;h3 id="gambaran-umum-algoritma-shor-reduksi-ke-masalah-pencarian-periode">Gambaran Umum Algoritma Shor: Reduksi ke Masalah Pencarian Periode
&lt;/h3>&lt;p>Algoritma Shor dengan cerdik mereduksi masalah faktorisasi prima menjadi &lt;strong>&amp;ldquo;masalah pencarian periode&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;ol>
&lt;li>Pilih bilangan bulat acak $a$ yang relatif prima dengan $N$ ($1 &lt; a &lt; N$).&lt;/li>
&lt;li>Definisikan fungsi $f(x) = a^x \bmod N$.&lt;/li>
&lt;li>Temukan periode $r$ dari $f(x)$, yaitu bilangan bulat positif terkecil $r$ sedemikian rupa sehingga $a^r \equiv 1 \pmod N$.&lt;/li>
&lt;li>Jika $r$ bernilai genap, periksa apakah $a^{r/2} \not\equiv -1 \pmod N$, lalu hitung $\gcd(a^{r/2} \pm 1, N)$ untuk mendapatkan faktor prima.&lt;/li>
&lt;/ol>
&lt;p>Langkah ke-3, yaitu &lt;strong>&amp;ldquo;penemuan periode $r$&amp;rdquo;&lt;/strong> , adalah hambatan yang memerlukan waktu eksponensial pada komputer klasik. Namun, komputer kuantum memecahkan masalah ini dalam sekejap menggunakan &lt;strong>&amp;ldquo;Superposisi Kuantum&amp;rdquo;&lt;/strong> dan &lt;strong>&amp;ldquo;Transformasi Fourier Kuantum&amp;rdquo;&lt;/strong> (QFT).&lt;/p>
&lt;hr>
&lt;h2 id="4-transformasi-fourier-kuantum-qft-dan-ekstraksi-periode">4. Transformasi Fourier Kuantum (QFT) dan Ekstraksi Periode
&lt;/h2>&lt;p>Mari kita lihat lebih dekat operasi matematis keadaan kuantum yang menjadi inti dari Algoritma Shor.&lt;/p>
&lt;h3 id="41-generasi-superposisi-kuantum">4.1. Generasi Superposisi Kuantum
&lt;/h3>&lt;p>Pertama, siapkan 2 register kuantum. Register 1 menahan keadaan superposisi input $x$, dan Register 2 menahan hasil komputasi fungsi $f(x)$. Terapkan Transformasi Hadamard (Hadamard Transform) ke keadaan awal $|0\rangle |0\rangle$ untuk menciptakan superposisi semua kemungkinan $x$.&lt;/p>
$$ |\psi_1\rangle = \frac{1}{\sqrt{Q}} \sum_{x=0}^{Q-1} |x\rangle |0\rangle $$
&lt;p>
(Di mana $Q$ adalah pangkat 2 yang memenuhi $N^2 \le Q &lt; 2N^2$)&lt;/p>
&lt;p>Selanjutnya, gunakan orakel kuantum $U_f$ untuk menghitung $f(x) = a^x \bmod N$ dan menyimpannya di register 2.&lt;/p>
$$ |\psi_2\rangle = U_f |\psi_1\rangle = \frac{1}{\sqrt{Q}} \sum_{x=0}^{Q-1} |x\rangle |a^x \bmod N\rangle $$
&lt;p>Sekarang asumsikan register 2 diukur (secara teoritis, meskipun tidak diukur, struktur matematisnya tetap sama). Jika suatu nilai $y = a^{x_0} \bmod N$ diamati, keadaan register 1 akan runtuh (collapse) ke superposisi semua $x$ yang memenuhi $f(x) = y$. Misalkan periodenya adalah $r$, maka $x$ tersebut adalah $x_0, x_0 + r, x_0 + 2r, \dots$&lt;/p>
$$ |\psi_3\rangle = \frac{1}{\sqrt{M}} \sum_{k=0}^{M-1} |x_0 + kr\rangle $$
&lt;p>
(Di mana $M \approx Q/r$ adalah jumlah suku)&lt;/p>
&lt;p>Keadaan ini mengandung informasi periode $r$, namun pengukuran langsung hanya akan menghasilkan $x_0 + kr$ acak, dan periode $r$ tetap tidak diketahui. Di sinilah QFT berperan.&lt;/p>
&lt;h3 id="42-penerapan-transformasi-fourier-kuantum-qft">4.2. Penerapan Transformasi Fourier Kuantum (QFT)
&lt;/h3>&lt;p>QFT adalah operasi yang menerapkan transformasi Fourier diskrit ke amplitudo keadaan kuantum. Aksi QFT pada keadaan $|x\rangle$ didefinisikan sebagai berikut:&lt;/p>
$$ \text{QFT} |x\rangle = \frac{1}{\sqrt{Q}} \sum_{y=0}^{Q-1} e^{2\pi i \frac{xy}{Q}} |y\rangle $$
&lt;p>Bila ini diterapkan pada $|\psi_3\rangle$, interferensi fase (interferensi kuantum) akan terjadi.&lt;/p>
$$ |\psi_4\rangle = \text{QFT} |\psi_3\rangle = \frac{1}{\sqrt{MQ}} \sum_{y=0}^{Q-1} \sum_{k=0}^{M-1} e^{2\pi i \frac{(x_0 + kr)y}{Q}} |y\rangle $$
&lt;p>Jika kita memperluas penjumlahan dari rumus ini, bagian berikut muncul:&lt;/p>
$$ \sum_{k=0}^{M-1} e^{2\pi i \frac{kry}{Q}} $$
&lt;p>Penjumlahan deret geometri ini akan saling menguatkan (Constructive Interference) hanya ketika $ry/Q$ mendekati bilangan bulat, dan akan saling meniadakan (Destructive Interference) pada titik lainnya.&lt;/p>
&lt;p>Oleh karena itu, keadaan $|y\rangle$ yang diukur dengan probabilitas tinggi akan berupa bilangan bulat $y$ yang memenuhi:&lt;/p>
$$ \frac{y}{Q} \approx \frac{c}{r} $$
&lt;p>(Di mana $c$ adalah suatu bilangan bulat).&lt;/p>
&lt;h3 id="43-identifikasi-periode-melalui-ekspansi-pecahan-berlanjut">4.3. Identifikasi Periode melalui Ekspansi Pecahan Berlanjut
&lt;/h3>&lt;p>Setelah memperoleh $y$ melalui pengukuran, gunakan komputer klasik untuk melakukan &lt;strong>&amp;ldquo;Ekspansi Pecahan Berlanjut&amp;rdquo;&lt;/strong> (Continued Fraction Expansion) pada $y/Q$. Hal ini memungkinkan penghitungan pecahan hampiran $c/r$ dari $y/Q$ dan mengekstrak kandidat periode $r$ dari penyebut secara sangat efisien.&lt;/p>
&lt;hr>
&lt;h2 id="5-perbandingan-model-konseptual-dan-pergeseran-paradigma">5. Perbandingan Model Konseptual dan Pergeseran Paradigma
&lt;/h2>&lt;p>Untuk memahami secara intuitif perbedaan antara GNFS dan Algoritma Shor, diagram konseptual ditunjukkan menggunakan notasi Mermaid.&lt;/p>
&lt;h3 id="diagram-konseptual-algoritma-shor-dengan-sirkuit-kuantum">Diagram Konseptual Algoritma Shor dengan Sirkuit Kuantum
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">graph TD
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> A[Keadaan Awal: 0...0] --&amp;gt; B[Superposisi semua keadaan dengan Transformasi Hadamard]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> B --&amp;gt; C[Operasi Pangkat Modular a^x mod N]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> C --&amp;gt;|Keterikatan Kuantum| D[Runtuh ke keadaan dengan periodisitas]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> D --&amp;gt; E[Transformasi Fourier Kuantum QFT]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> E --&amp;gt;|Amplifikasi probabilitas via interferensi| F[Pengukuran: Mendapatkan y]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> F --&amp;gt; G[Pemrosesan Klasik: Ekspansi Pecahan Berlanjut]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> G --&amp;gt; H[Penemuan Periode r]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> H --&amp;gt; I[Menghitung Faktor Prima dari N]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> style A fill:#f9f,stroke:#333,stroke-width:2px
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> style E fill:#bbf,stroke:#333,stroke-width:2px
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> style I fill:#bfb,stroke:#333,stroke-width:2px
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="intisari-pergeseran-paradigma">Intisari Pergeseran Paradigma
&lt;/h3>&lt;p>GNFS menggunakan pendekatan &lt;strong>&amp;ldquo;mencari relasi di dalam ruang matematis (medan aljabar)&amp;rdquo;&lt;/strong> . Namun, karena ruang pencarian meluas secara eksponensial sehubungan dengan jumlah digit, dekripsi pada dasarnya menjadi mustahil untuk panjang kunci melebihi 2048 bit menggunakan kemampuan komputasi klasik (bahkan dengan paralelisasi).&lt;/p>
&lt;p>Di sisi lain, Algoritma Shor memanfaatkan &lt;strong>&amp;ldquo;sifat gelombang dari interferensi kuantum&amp;rdquo;&lt;/strong> . Algoritma ini mengevaluasi semua jalur komputasi dalam keadaan superposisi secara simultan, saling meniadakan (melemahkan) jawaban yang tidak perlu menggunakan QFT, dan hanya menguatkan amplitudo probabilitas dari periode yang benar. Dengan ini, pendekatan tersebut tidak lagi mencari di dalam ruang, melainkan mengadopsi dimensi yang sama sekali berbeda: &lt;strong>&amp;ldquo;membuat jawaban yang benar muncul ke permukaan&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;h2 id="6-kesimpulan">6. Kesimpulan
&lt;/h2>&lt;p>Dalam artikel ini, kami telah membandingkan secara mendalam latar belakang matematis dan struktur algoritma antara &lt;strong>&amp;ldquo;GNFS&amp;rdquo;&lt;/strong> yang merupakan batas ekstrem komputasi klasik, dengan &lt;strong>&amp;ldquo;Algoritma Shor&amp;rdquo;&lt;/strong> yang memamerkan kekuatan komputasi kuantum.&lt;/p>
&lt;p>Sementara GNFS menggunakan keahlian matematis seperti pemilihan polinomial dan komputasi matriks besar untuk menekan kompleksitas ke waktu sub-eksponensial, Algoritma Shor berhasil mencapai terobosan langsung ke waktu polinomial dengan menggabungkan prinsip dasar mekanika kuantum, yakni superposisi dan interferensi, dengan alat matematis (QFT).&lt;/p>
&lt;p>Saat ini, belum ada Komputer Kuantum Toleran Kesalahan (FTQC) berskala praktis (ribuan qubit) yang mampu menjalankan Algoritma Shor. Namun, keberadaan pergeseran paradigma teoritis dan matematis inilah yang menjadi alasan utama mengapa transisi ke Kriptografi Pasca-Kuantum (PQC: Post-Quantum Cryptography) dipercepat secara global di seluruh dunia saat ini.&lt;/p></description></item><item><title>【Kupas Tuntas】 Apa itu Komputer Kuantum? 〜Prinsip Komputasi Utama dari Nol〜</title><link>http://kenji.blog/id/p/quantum-computer-basics/</link><pubDate>Sat, 05 Sep 2026 22:10:00 +0900</pubDate><guid>http://kenji.blog/id/p/quantum-computer-basics/</guid><description>&lt;img src="http://kenji.blog/p/quantum-computer-basics/quantum_basics_eyecatch_1788613712487.jpg" alt="Featured image of post 【Kupas Tuntas】 Apa itu Komputer Kuantum? 〜Prinsip Komputasi Utama dari Nol〜" />&lt;h2 id="pendahuluan-pergeseran-paradigma-komputasi-yang-dibawa-oleh-komputer-kuantum">Pendahuluan: &amp;ldquo;Pergeseran Paradigma Komputasi&amp;rdquo; yang Dibawa oleh Komputer Kuantum
&lt;/h2>&lt;p>Belakangan ini, tiada hari tanpa melihat istilah &amp;ldquo;komputer kuantum&amp;rdquo; di berita atau artikel teknologi. Cerita-cerita fiksi ilmiah seperti &amp;ldquo;menyelesaikan perhitungan yang memakan waktu ribuan tahun di superkomputer saat ini dalam hitungan menit&amp;rdquo; atau &amp;ldquo;semua teknologi kriptografi saat ini mungkin akan diretas&amp;rdquo; diceritakan seolah-olah itu nyata. Perusahaan IT raksasa seperti Google, IBM, dan Microsoft, serta universitas dan perusahaan rintisan di seluruh dunia, bersaing ketat menuju komersialisasi teknologi impian ini.&lt;/p>
&lt;p>Namun, jika ditanya, &amp;ldquo;Apa sebenarnya komputer kuantum itu?&amp;rdquo;, mungkin hanya sedikit orang yang dapat menjawab dengan akurat. Banyak orang memiliki gambaran yang kabur seperti &amp;ldquo;kotak ajaib yang dapat menghitung semua kombinasi pada saat yang bersamaan&amp;rdquo;, tetapi secara teknis, itu tidak benar.&lt;/p>
&lt;p>Dalam artikel ini, kami akan menjelaskan dari dasar secara menyeluruh dan mudah dipahami namun tetap teknis, bagaimana komputer kuantum pada dasarnya berbeda dari komputer klasik (PC dan ponsel cerdas yang biasa kita gunakan), dan bagaimana fenomena aneh dari mekanika kuantum seperti &amp;ldquo;Superposisi&amp;rdquo;, &amp;ldquo;Keterikatan (Entanglement)&amp;rdquo;, dan &amp;ldquo;Gerbang Kuantum&amp;rdquo; digunakan dalam komputasi. Saat Anda selesai membaca artikel ini, Anda harus dapat memahami dengan jelas kehebatan esensial dari komputer kuantum dan tantangannya saat ini.&lt;/p>
&lt;hr>
&lt;h2 id="bab-1-perbedaan-mendasar-antara-komputer-klasik-dan-komputer-kuantum">Bab 1: Perbedaan Mendasar antara Komputer Klasik dan Komputer Kuantum
&lt;/h2>&lt;p>Untuk memahami cara kerja komputer kuantum, pertama-tama kita perlu meninjau ulang bagaimana &amp;ldquo;komputer klasik&amp;rdquo; yang kita gunakan saat ini bekerja.&lt;/p>
&lt;h3 id="tabel-perbandingan-komputer-klasik-vs-komputer-kuantum">Tabel Perbandingan: Komputer Klasik vs Komputer Kuantum
&lt;/h3>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Item&lt;/th>
&lt;th>Komputer Klasik&lt;/th>
&lt;th>Komputer Kuantum&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>Unit Dasar&lt;/strong>&lt;/td>
&lt;td>Bit (0 atau 1)&lt;/td>
&lt;td>Qubit (Superposisi 0 dan 1)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Representasi Status&lt;/strong>&lt;/td>
&lt;td>Deterministik&lt;/td>
&lt;td>Probabilistik (Tidak ditentukan sampai diamati)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Metode Komputasi&lt;/strong>&lt;/td>
&lt;td>Pemrosesan sekuensial (memerlukan inti fisik untuk paralelisasi)&lt;/td>
&lt;td>Paralelisme kuantum (memanipulasi status eksponensial secara bersamaan)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Komputasi Unggulan&lt;/strong>&lt;/td>
&lt;td>Aritmatika, pemrosesan data harian&lt;/td>
&lt;td>Faktorisasi prima, komputasi kimia kuantum&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Toleransi Kesalahan&lt;/strong>&lt;/td>
&lt;td>Sangat kuat&lt;/td>
&lt;td>Sangat lemah (memerlukan lingkungan kriogenik atau koreksi kesalahan)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="dunia-komputer-klasik-bit-0-atau-1">Dunia Komputer Klasik: &amp;ldquo;Bit&amp;rdquo; 0 atau 1
&lt;/h3>&lt;p>Komputer klasik merepresentasikan semua informasi dalam status &amp;ldquo;0&amp;rdquo; atau &amp;ldquo;1&amp;rdquo;. Ini disebut &lt;strong>Bit&lt;/strong> . Secara fisik, ini direpresentasikan oleh tegangan tinggi (1) atau rendah (0) dari transistor pada chip semikonduktor.
Foto beresolusi tinggi di ponsel cerdas Anda, teks yang sedang Anda baca ini, dan video YouTube favorit Anda, pada akhirnya direduksi menjadi &amp;ldquo;rangkaian 0 dan 1&amp;rdquo; yang tak terhitung jumlahnya. Komputasi tidak lain adalah proses memanipulasi rangkaian 0 dan 1 ini dengan menggabungkan sirkuit logika dasar seperti AND (konjungsi), OR (disjungsi), dan NOT (negasi).
Ini adalah dunia yang sangat pasti dan deterministik. Jika inputnya sama, output yang sama akan selalu didapatkan.&lt;/p>
&lt;h3 id="dunia-komputer-kuantum-qubit-yang-merupakan-0-dan-juga-1">Dunia Komputer Kuantum: &amp;ldquo;Qubit&amp;rdquo; yang merupakan 0 dan juga 1
&lt;/h3>&lt;p>Di sisi lain, unit informasi minimum dari komputer kuantum disebut &lt;strong>Qubit (Quantum bit)&lt;/strong> .
Fitur terbesar dari qubit adalah bahwa ia tidak hanya berada di salah satu status &amp;ldquo;0&amp;rdquo; atau &amp;ldquo;1&amp;rdquo; seperti bit klasik, tetapi ia juga dapat mengambil &amp;ldquo;status di mana 0 dan 1 dicampur dengan probabilitas tertentu&amp;rdquo;. Ini disebut &lt;strong>&amp;ldquo;Superposisi&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Sebagai contoh, jika bit klasik adalah koin yang diletakkan menghadap ke atas sebagai &amp;ldquo;kepala&amp;rdquo; atau &amp;ldquo;ekor&amp;rdquo;, qubit sering dibandingkan dengan &amp;ldquo;koin yang terus berputar di udara&amp;rdquo;. Koin yang berputar tidak bisa dikatakan kepala atau ekor, dan kedua status itu tumpang tindih. Kemudian, pada saat koin jatuh ke lantai dan berhenti bergerak (ini disebut &amp;ldquo;pengamatan&amp;rdquo; dalam mekanika kuantum), barulah &amp;ldquo;kepala&amp;rdquo; atau &amp;ldquo;ekor&amp;rdquo; ditentukan.&lt;/p>
&lt;p>Komputer kuantum justru memasukkan sifat aneh dari dunia mikro (mekanika kuantum) yang &amp;ldquo;statusnya tidak ditentukan sampai diamati&amp;rdquo; ini langsung ke dalam proses pemrosesan informasi.&lt;/p>
&lt;hr>
&lt;h2 id="bab-2-3-sifat-mekanika-kuantum-yang-mengubah-komputasi-dari-akarnya">Bab 2: 3 Sifat Mekanika Kuantum yang Mengubah Komputasi dari Akarnya
&lt;/h2>&lt;p>Sumber daya komputasi komputer kuantum yang luar biasa bukan sekadar karena frekuensi clock-nya tinggi atau komponennya kecil. Ia menggunakan hukum fisika itu sendiri sebagai sumber daya komputasi. Tiga fenomena mekanika kuantum berikut ini adalah kuncinya.&lt;/p>
&lt;h3 id="1-superposisi-dan-jumlah-informasi-eksponensial">1. Superposisi dan Jumlah Informasi Eksponensial
&lt;/h3>&lt;p>Seperti yang disebutkan sebelumnya, qubit dapat menahan status 0 dan 1 secara bersamaan. Satu qubit adalah &amp;ldquo;superposisi 0 dan 1&amp;rdquo;, tapi apa yang terjadi jika kita menambah jumlah qubit?&lt;/p>
&lt;ul>
&lt;li>1 qubit: superposisi 2 status (0, 1)&lt;/li>
&lt;li>2 qubit: superposisi 4 status (00, 01, 10, 11)&lt;/li>
&lt;li>3 qubit: superposisi 8 status&lt;/li>
&lt;li>&lt;strong>N qubit: superposisi pola $2^N$&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>Dengan hanya 50 qubit, ia dapat menahan status $2^{50}$ (sekitar 1.100 triliun) secara bersamaan. Dan dengan hanya 300 qubit, ia dapat menahan pola $2^{300}$ (angka yang lebih besar dari jumlah semua atom di alam semesta!) sekaligus. Kemampuan penyimpanan informasi eksponensial ini adalah fondasi potensi komputer kuantum. Adalah hal yang mustahil secara fisik bagi komputer klasik untuk menyimpan status sebanyak jumlah atom di alam semesta dalam memorinya.&lt;/p>
&lt;h3 id="2-keterikatan-entanglement-aksi-jarak-jauh-yang-menyeramkan">2. Keterikatan (Entanglement): Aksi Jarak Jauh yang Menyeramkan
&lt;/h3>&lt;p>Keterikatan kuantum adalah fenomena misterius yang sangat bertentangan dengan intuisi manusia, sehingga Einstein menyebutnya &amp;ldquo;aksi jarak jauh yang menyeramkan&amp;rdquo; dan tidak pernah menerimanya sepanjang hidupnya.&lt;/p>
&lt;p>Ketika beberapa qubit berada dalam status &amp;ldquo;keterikatan kuantum&amp;rdquo;, mereka sangat terkait satu sama lain, menjadi takdir bersama di mana &lt;strong>&amp;ldquo;ketika status yang satu ditentukan, tidak peduli seberapa jauh jaraknya, status yang lain juga seketika ditentukan&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Misalnya, anggaplah ada dua qubit A dan B dalam status terikat (masing-masing dalam status superposisi 0 dan 1). Jika A diamati dan ternyata &amp;ldquo;0&amp;rdquo;, status B akan seketika (misalnya, selalu menjadi &amp;ldquo;1&amp;rdquo;) ditentukan, melampaui kecepatan cahaya, yang merupakan batas kecepatan transmisi informasi.
Dalam komputer kuantum, dengan menggunakan keterikatan kuantum ini, korelasi kompleks antar qubit direpresentasikan, dan pemrosesan informasi paralel secara masif dilakukan. Tanpa keterikatan, daya komputasi komputer kuantum tidak akan jauh berbeda dari komputer klasik.&lt;/p>
&lt;h3 id="3-interferensi-kuantum-keajaiban-yang-memunculkan-jawaban-benar">3. Interferensi Kuantum: Keajaiban yang Memunculkan Jawaban Benar
&lt;/h3>&lt;p>Anda mungkin berpikir, &amp;ldquo;Jika dapat menahan semua pola secara bersamaan, bukankah bisa menghitung semuanya sekaligus dan mendapatkan jawaban dalam sekejap?&amp;rdquo; Ini adalah kesalahpahaman paling umum tentang komputer kuantum.
Bahkan jika Anda menghitung dalam status superposisi, Anda akhirnya harus &amp;ldquo;mengamati&amp;rdquo; untuk mengetahui jawabannya. Tetapi pada saat pengamatan, status tersebut menyusut secara acak ke salah satu dari $2^N$ pola. Ini hanya akan menghasilkan jawaban yang acak dan tidak masuk akal.&lt;/p>
&lt;p>Di sinilah &lt;strong>&amp;ldquo;Interferensi Kuantum&amp;rdquo;&lt;/strong> berperan. Ketika gelombang bertabrakan, bagian yang sejajar akan saling menguatkan, dan bagian yang tidak sejajar akan saling meniadakan (prinsip yang pada dasarnya sama dengan earphone noise-canceling).&lt;/p>
&lt;p>&amp;ldquo;Algoritma kuantum&amp;rdquo; yang sangat baik dengan mahir memanipulasi status kuantum selama proses komputasi sehingga &lt;strong>&amp;ldquo;amplitudo probabilitas dari status (gelombang) yang mengarah pada jawaban yang benar saling menguatkan (diperkuat)&amp;rdquo;&lt;/strong> dan &lt;strong>&amp;ldquo;amplitudo probabilitas dari status yang mengarah pada jawaban yang salah saling meniadakan (dibatalkan)&amp;rdquo;&lt;/strong> . Kemudian, saat diamati pada akhirnya, ia dirancang sedemikian rupa sehingga &amp;ldquo;jawaban yang benar&amp;rdquo; akan muncul dengan probabilitas mendekati 100%. Merancang proses interferensi ini dengan baik adalah inti dari pemrograman kuantum.&lt;/p>
&lt;hr>
&lt;h2 id="bab-3-bagaimana-cara-menghitungnya-gerbang-kuantum-dan-sirkuit-kuantum">Bab 3: Bagaimana Cara Menghitungnya? &amp;ldquo;Gerbang Kuantum&amp;rdquo; dan &amp;ldquo;Sirkuit Kuantum&amp;rdquo;
&lt;/h2>&lt;p>Sama seperti komputer klasik yang menggunakan gerbang logika (AND, OR, NOT, dll.) untuk melakukan komputasi, komputer kuantum juga menerapkan operasi yang disebut &lt;strong>&amp;ldquo;Gerbang Kuantum&amp;rdquo;&lt;/strong> ke qubit untuk memajukan komputasi. Kombinasi dari beberapa gerbang kuantum disebut &lt;strong>Sirkuit Kuantum&lt;/strong> .&lt;/p>
&lt;p>Status qubit secara matematis direpresentasikan sebagai titik di permukaan bola 3 dimensi yang disebut &amp;ldquo;Bola Bloch&amp;rdquo;. Kutub Utara adalah &amp;ldquo;0&amp;rdquo;, Kutub Selatan adalah &amp;ldquo;1&amp;rdquo;, dan ekuator adalah &amp;ldquo;status di mana 0 dan 1 tumpang tindih secara merata&amp;rdquo;. Gerbang kuantum tidak lain adalah operasi memutar status (vektor) pada permukaan bola ini.&lt;/p>
&lt;p>Mari kita perkenalkan beberapa gerbang kuantum yang representatif.&lt;/p>
&lt;h3 id="1-gerbang-hadamard-gerbang-h">1. Gerbang Hadamard (Gerbang H)
&lt;/h3>&lt;p>Ini adalah gerbang paling dasar unik untuk komputer kuantum, yang tidak ada di komputer klasik. Saat qubit yang statusnya sepenuhnya &amp;ldquo;0&amp;rdquo; melewati gerbang H, ia menciptakan &amp;ldquo;status superposisi sempurna&amp;rdquo; (sebuah titik di ekuator bola Bloch) di mana 0 dan 1 diamati dengan probabilitas persis setengah-setengah. Sebagai langkah inisialisasi untuk komputasi kuantum, banyak algoritma memulai dengan menerapkan gerbang H ini ke semua qubit.&lt;/p>
&lt;h3 id="2-gerbang-pauli-gerbang-x-y-z">2. Gerbang Pauli (Gerbang X, Y, Z)
&lt;/h3>&lt;p>Ini adalah gerbang yang mencakup operasi setara dengan gerbang NOT (membalik 0 menjadi 1, dan 1 menjadi 0) pada komputer klasik. Dalam bola Bloch, ini sesuai dengan operasi memutar 180 derajat di sekitar sumbu X, Y, dan Z. Secara khusus, gerbang X membalik Kutub Utara (0) ke Kutub Selatan (1), sehingga bekerja persis sama dengan gerbang NOT klasik. Gerbang Z memiliki peran membalik &amp;ldquo;fase (sesuatu seperti waktu gelombang)&amp;rdquo; dari superposisi, dan sangat penting untuk menyebabkan interferensi kuantum.&lt;/p>
&lt;h3 id="3-gerbang-cnot-gerbang-not-terkendali">3. Gerbang CNOT (Gerbang NOT Terkendali)
&lt;/h3>&lt;p>Ini adalah gerbang yang sangat penting untuk menciptakan keterikatan kuantum. Ia menggunakan dua qubit (bit kontrol dan bit target).
Ia beroperasi sebagai: &amp;ldquo;Jika bit kontrol adalah 1, balikkan status bit target (gerbang X). Jika bit kontrol adalah 0, jangan lakukan apa-apa.&amp;rdquo; Sepintas terlihat seperti kondisi IF sederhana, tapi apa yang terjadi jika bit kontrol dalam &amp;ldquo;status superposisi 0 dan 1&amp;rdquo;? Bit target akan berada dalam &amp;ldquo;status di mana yang dibalik dan yang tidak dibalik ditumpangkan&amp;rdquo;, dan takdir kedua bit akan sepenuhnya tertaut. Kedua qubit tersebut akan dengan indah &amp;ldquo;terikat&amp;rdquo;.&lt;/p>
&lt;p>Dengan menempatkan dan menerapkan gerbang-gerbang ini secara berurutan dari kiri ke kanan seperti partitur musik, algoritma yang kompleks pun dijalankan.&lt;/p>
&lt;hr>
&lt;h2 id="bab-4-apa-kekuatan-dan-kelemahan-komputer-kuantum">Bab 4: Apa Kekuatan dan Kelemahan Komputer Kuantum?
&lt;/h2>&lt;p>Izinkan saya memberi tahu Anda sebuah fakta penting di sini. Komputer kuantum bukanlah dewa yang mahakuasa.
Dalam tugas sehari-hari seperti penjelajahan web, rendering video, pemrosesan makro Excel, atau operasi aplikasi ponsel cerdas biasa, komputer kuantum mungkin tidak akan pernah melampaui komputer klasik. Pemrosesan sekuensial ini lebih cocok untuk komputer klasik, yang sudah sangat dioptimalkan dan membanggakan kecepatan yang luar biasa serta harga yang terjangkau.&lt;/p>
&lt;p>Komputer kuantum hanya menunjukkan nilai sebenarnya pada &lt;strong>&amp;ldquo;masalah spesifik di mana kombinasi komputasi meledak secara eksponensial di komputer klasik dan akan memakan waktu selama umur alam semesta&amp;rdquo;&lt;/strong> . Ini disebut &amp;ldquo;Keunggulan Kuantum (Quantum Supremacy)&amp;rdquo; atau &amp;ldquo;Keuntungan Kuantum (Quantum Advantage)&amp;rdquo;.&lt;/p>
&lt;h3 id="keahlian-komputer-kuantum-aplikasi-pembunuh">Keahlian Komputer Kuantum (Aplikasi Pembunuh)
&lt;/h3>&lt;h4 id="1-faktorisasi-prima-dan-dekripsi-kriptografi-algoritma-shor">1. Faktorisasi Prima dan Dekripsi Kriptografi (Algoritma Shor)
&lt;/h4>&lt;p>Saat ini, komunikasi aman di internet (seperti pembayaran kartu kredit dan pengiriman informasi pribadi) dilindungi oleh &amp;ldquo;kriptografi RSA&amp;rdquo;, yang didasarkan pada premis bahwa &amp;ldquo;faktorisasi prima dari bilangan yang sangat besar secara praktis mustahil (membutuhkan waktu yang sangat lama) bagi komputer klasik&amp;rdquo;.
Namun, dengan menggunakan &amp;ldquo;Algoritma Shor&amp;rdquo; yang ditemukan oleh matematikawan Peter Shor pada tahun 1994, komputer kuantum dapat menggunakan interferensi dengan cerdik untuk memecahkan ini dengan kecepatan dramatis (waktu polinomial). Akibatnya, ada risiko bahwa sistem kriptografi saat ini akan runtuh di masa depan, dan bank sentral serta lembaga pemerintah di seluruh dunia bergegas untuk beralih ke &amp;ldquo;Kriptografi Pasca-Kuantum&amp;rdquo;.&lt;/p>
&lt;h4 id="2-komputasi-kimia-kuantum-serta-pengembangan-material--obat-baru">2. Komputasi Kimia Kuantum serta Pengembangan Material &amp;amp; Obat Baru
&lt;/h4>&lt;p>Perilaku molekul dan atom di alam pada dasarnya mengikuti hukum mekanika kuantum. Jika kita mencoba mensimulasikan perilaku molekul kompleks dengan komputer klasik, kombinasi interaksi antar elektron akan meledak, dan kita akan membentur batas komputasi bahkan untuk molekul yang relatif kecil.
Seperti yang dikatakan peraih Hadiah Nobel Fisika Richard Feynman, &amp;ldquo;Jika Anda ingin mensimulasikan alam, Anda harus membuatnya secara mekanika kuantum,&amp;rdquo; komputer kuantum menunjukkan kekuatan asli yang luar biasa dalam simulasi material. Terobosan yang akan memecahkan tantangan umat manusia diharapkan, seperti desain obat baru yang inovatif, penemuan bahan superkonduktor suhu kamar, pengembangan bahan sel surya dan baterai efisiensi tinggi, serta sintesis pupuk hemat energi.&lt;/p>
&lt;h4 id="3-masalah-optimasi-kombinasi-dan-pencarian-algoritma-grover">3. Masalah Optimasi Kombinasi dan Pencarian (Algoritma Grover)
&lt;/h4>&lt;p>Algoritma kuantum juga efektif untuk masalah menemukan pilihan terbaik dari sejumlah besar pilihan (seperti rute logistik optimal, optimasi portofolio keuangan, dll.). Menggunakan &amp;ldquo;Algoritma Grover&amp;rdquo;, data dapat ditemukan dari database yang tidak terurut dengan jumlah pencarian akar kuadrat dari komputer klasik. Misalnya, jika ada 100 juta data, pencarian yang memakan waktu maksimal 100 juta kali secara klasik dapat diselesaikan hanya dalam sekitar 10.000 kali.&lt;/p>
&lt;hr>
&lt;h2 id="bab-5-tembok-perangkat-keras-yang-menghadang-dekoherensi-dan-koreksi-kesalahan-kuantum">Bab 5: Tembok Perangkat Keras yang Menghadang: &amp;ldquo;Dekoherensi&amp;rdquo; dan &amp;ldquo;Koreksi Kesalahan Kuantum&amp;rdquo;
&lt;/h2>&lt;p>Meskipun secara teoritis kuat bagaikan sihir, jalan menuju komersialisasi komputer kuantum dihalangi oleh tembok fisik yang sangat tinggi dan curam. Musuh terbesarnya adalah &lt;strong>&amp;ldquo;Noise (Kebisingan)&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>&amp;ldquo;Superposisi&amp;rdquo; dan &amp;ldquo;Keterikatan Kuantum&amp;rdquo; dari qubit adalah keadaan yang sangat rapuh dan mudah rusak. Hanya dengan sentuhan sedikit panas dari lingkungan, fluktuasi gelombang elektromagnetik, atau sinar kosmik, keadaan magis tersebut seketika runtuh dan menjadi bit klasik biasa. Fenomena ini disebut &lt;strong>&amp;ldquo;Dekoherensi&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;h3 id="persaingan-sengit-dalam-metode-realisasi-fisik">Persaingan Sengit dalam Metode Realisasi Fisik
&lt;/h3>&lt;p>Saat ini, berbagai metode sedang diteliti di seluruh dunia mengenai bagaimana secara fisik membuat qubit rapuh ini, dan terjadi perebutan hegemoni.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Metode Superkonduktor&lt;/strong> : Diadopsi oleh Google, IBM, Amazon, dll. Menggunakan sirkuit superkonduktor berbentuk loop, ia dikontrol dalam keadaan kuantum dengan mendinginkannya ke suhu kriogenik mendekati nol absolut (sekitar -273°C) dengan kulkas raksasa. Metode ini saat ini yang paling memimpin dan paling mudah untuk meningkatkan jumlah qubit, tetapi perangkat pendinginnya besar dan mahal.&lt;/li>
&lt;li>&lt;strong>Metode Ion Terperangkap&lt;/strong> : Diadopsi oleh IonQ, Quantinuum, dll. Menjebak ion (atom) dalam ruang hampa dengan medan elektromagnetik dan mengendalikannya dengan laser presisi. Kekuatannya adalah bahwa semua qubit seragam dan status dapat dipertahankan untuk waktu yang lama (waktu koherensi panjang), tetapi kelemahannya adalah kecepatan operasinya lambat dibandingkan superkonduktor.&lt;/li>
&lt;li>&lt;strong>Metode Fotonik&lt;/strong> : Difokuskan oleh PsiQuantum, dll. Menggunakan partikel cahaya (foton). Ia memiliki keuntungan besar karena sebagian besar beroperasi pada suhu kamar tanpa memerlukan lingkungan kriogenik, dan sangat kompatibel dengan teknologi manufaktur chip silikon dan teknologi komunikasi serat optik yang ada.&lt;/li>
&lt;li>&lt;strong>Metode Topologi&lt;/strong> : Diteliti oleh Microsoft selama bertahun-tahun. Ini adalah pendekatan ambisius yang menggunakan sifat topologi partikel khusus yang disebut anyon untuk menciptakan qubit yang pada dasarnya kuat terhadap kebisingan lingkungan. Secara teoritis ini yang paling kuat, tetapi dianggap memiliki rintangan tertinggi untuk realisasi fisik.&lt;/li>
&lt;/ul>
&lt;h3 id="jalan-menuju-tujuan-akhir-komputer-kuantum-toleran-kesalahan-ftqc">Jalan Menuju Tujuan Akhir &amp;ldquo;Komputer Kuantum Toleran Kesalahan (FTQC)&amp;rdquo;
&lt;/h3>&lt;p>Bahkan di dunia komputer klasik saat ini, kesalahan komputasi (seperti pembalikan bit karena sinar kosmik) ada, tetapi karena diperbaiki dengan sempurna oleh &amp;ldquo;kode koreksi kesalahan&amp;rdquo;, kita dapat menggunakan ponsel cerdas kita tanpa pernah menyadari kesalahan. Untuk melakukan komputasi skala besar yang praktis pada komputer kuantum, &lt;strong>&amp;ldquo;Koreksi Kesalahan Kuantum (QEC)&amp;rdquo;&lt;/strong> yang serupa sangat diperlukan.&lt;/p>
&lt;p>Namun, keadaan kuantum memiliki sifat &amp;ldquo;rusak saat diamati&amp;rdquo;, sehingga ada dilema fatal bahwa Anda tidak dapat secara langsung melihat bagian dalam (mengamati) untuk memeriksa kesalahan.
Untuk menghindari ini, sebuah teori telah ditetapkan untuk secara cerdik menggabungkan sejumlah besar &amp;ldquo;qubit fisik&amp;rdquo; yang tidak stabil untuk membangun satu &amp;ldquo;qubit logis&amp;rdquo; yang stabil yang dapat mendeteksi dan mengoreksi kesalahan (seperti kode permukaan).
Akan tetapi, dikatakan bahwa 1.000 hingga 10.000 qubit fisik diperlukan untuk membuat satu qubit logis. Untuk menjalankan algoritma Shor dan sejenisnya menggunakan ribuan qubit logis, diperlukan sistem raksasa dengan total jutaan hingga puluhan juta qubit fisik.&lt;/p>
&lt;p>Saat ini kita berada di era yang disebut perangkat &lt;strong>NISQ (Noisy Intermediate-Scale Quantum)&lt;/strong> . Ini adalah mesin transisi tanpa koreksi kesalahan yang berjalan dengan puluhan hingga ratusan qubit.
Tujuan akhir, perwujudan &lt;strong>&amp;ldquo;Komputer Kuantum Toleran Kesalahan (FTQC)&amp;rdquo;&lt;/strong> yang sepenuhnya mampu mengoreksi kesalahan, diprediksi oleh para ahli masih membutuhkan penelitian dan pengembangan jangka panjang selama 10 hingga beberapa dekade.&lt;/p>
&lt;hr>
&lt;h2 id="bab-6-sejarah-dan-prospek-masa-depan-komputer-kuantum">Bab 6: Sejarah dan Prospek Masa Depan Komputer Kuantum
&lt;/h2>&lt;p>Sebagai penutup, mari kita lihat bagaimana komputer kuantum lahir dan ke mana arahnya.&lt;/p>
&lt;h3 id="dari-lahirnya-teori-hingga-demonstrasi-keunggulan-kuantum">Dari Lahirnya Teori hingga Demonstrasi &amp;ldquo;Keunggulan Kuantum&amp;rdquo;
&lt;/h3>&lt;ul>
&lt;li>&lt;strong>Tahun 1980-an&lt;/strong> : Fisikawan Paul Benioff dan Richard Feynman mengusulkan konsep komputer menggunakan prinsip mekanika kuantum. Pernyataan &amp;ldquo;Jika Anda ingin mensimulasikan alam, gunakan mekanika kuantum&amp;rdquo; menjadi titik awalnya.&lt;/li>
&lt;li>&lt;strong>Tahun 1994&lt;/strong> : Peter Shor mengumumkan algoritma kuantum untuk faktorisasi prima (Algoritma Shor). Ini mengejutkan dunia dan menjadi pemicu masuknya dana penelitian yang sangat besar.&lt;/li>
&lt;li>&lt;strong>Tahun 1996&lt;/strong> : Lov Grover mengumumkan algoritma Grover yang mempercepat pencarian data.&lt;/li>
&lt;li>&lt;strong>Tahun 2019&lt;/strong> : Sebuah tonggak sejarah. Google mengumumkan bahwa mereka menggunakan prosesor superkonduktor 53-qubit &amp;ldquo;Sycamore&amp;rdquo; untuk menyelesaikan komputasi verifikasi pembangkitan bilangan acak, yang (diduga) memakan waktu 10.000 tahun pada superkomputer klasik, dalam waktu sekitar 200 detik. Ini menjadi topik hangat sebagai deklarasi demonstrasi pertama di dunia dari &lt;strong>&amp;ldquo;Keunggulan Kuantum&amp;rdquo;&lt;/strong> (meskipun kemudian terjadi diskusi hangat, di mana IBM dan yang lainnya membantah bahwa itu dapat dihitung dalam beberapa hari dengan meningkatkan algoritma pada sisi superkomputer klasik).&lt;/li>
&lt;li>&lt;strong>Tahun 2023 dan seterusnya&lt;/strong> : IBM mengumumkan &amp;ldquo;Condor&amp;rdquo;, prosesor dengan lebih dari 1.000 qubit. Selain itu, Universitas Harvard dan institusi lain telah berhasil menghasilkan dan memanipulasi &amp;ldquo;qubit logis&amp;rdquo;, dan demonstrasi awal teknologi koreksi kesalahan mulai dilaporkan satu demi satu.&lt;/li>
&lt;/ul>
&lt;h3 id="menuju-teknologi-generasi-berikutnya">Menuju Teknologi Generasi Berikutnya
&lt;/h3>&lt;p>Komputer kuantum bukanlah sekadar &amp;ldquo;CPU generasi berikutnya dengan kecepatan clock yang lebih cepat&amp;rdquo;. Ini adalah pergeseran paradigma nyata dalam ilmu informasi, yang pada dasarnya menulis ulang konsep komputasi itu sendiri dengan aturan mekanika kuantum yang mengatur dunia mikro.&lt;/p>
&lt;p>Dalam masa hidup kita, kita mungkin tidak akan memiliki &amp;ldquo;ponsel cerdas kuantum pribadi&amp;rdquo; yang muat di saku kita (dan itu juga tidak diperlukan). Namun, masa depan di mana pusat data kuantum perkasa di luar jaringan cloud seperti AWS atau Azure tiba-tiba menemukan obat mujarab untuk penyakit yang tidak dapat disembuhkan, atau menghasilkan material energi bersih impian untuk mengatasi pemanasan global (misalnya, katalis yang mensintesis amonia dari nitrogen di udara pada suhu kamar), dipastikan semakin dekat.&lt;/p>
&lt;p>Saat ini kita masih berada di fase awal yang setara dengan ENIAC pada 1940-an, yang berjalan pada kartu punch sementara panas dari tabung vakum raksasa membuat ruangan menjadi sangat panas. Namun, para peneliti dan insinyur terkemuka dunia memutar otak mereka, dan terobosan teknologi dilaporkan setiap harinya.
Fakta bahwa kita dapat menyaksikan secara langsung evolusi &amp;ldquo;fajar komputasi&amp;rdquo; baru ini, bisa dikatakan bahwa kita hidup di era yang sangat menarik dalam sejarah.&lt;/p>
&lt;p>Pintu ke dunia kuantum baru saja dibuka. Kita tidak bisa mengalihkan pandangan dari perkembangan di masa depan.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Artikel ini bertujuan untuk menjelaskan konsep dasar komputasi kuantum dengan cara yang mudah dipahami bagi para pelaku bisnis dan masyarakat umum yang tertarik pada teknologi. Harap dicatat bahwa beberapa definisi matematis dan fisik yang ketat (seperti rincian notasi Bra-ket dan amplitudo probabilitas kompleks) telah disederhanakan.&lt;/em>&lt;/p></description></item><item><title>【PQC】Gambaran Lengkap "Kriptografi Pasca-Kuantum", Kriptografi Generasi Berikutnya di Era Komputer Kuantum</title><link>http://kenji.blog/id/p/post-quantum-cryptography/</link><pubDate>Sat, 05 Sep 2026 22:09:22 +0900</pubDate><guid>http://kenji.blog/id/p/post-quantum-cryptography/</guid><description>&lt;img src="http://kenji.blog/p/post-quantum-cryptography/post_quantum_cryptography_1788613735417.jpg" alt="Featured image of post 【PQC】Gambaran Lengkap "Kriptografi Pasca-Kuantum", Kriptografi Generasi Berikutnya di Era Komputer Kuantum" />&lt;h2 id="pengantar-ancaman-terhadap-teknologi-kriptografi-yang-dibawa-oleh-komputer-kuantum">Pengantar: &amp;ldquo;Ancaman&amp;rdquo; terhadap Teknologi Kriptografi yang Dibawa oleh Komputer Kuantum
&lt;/h2>&lt;p>Saat ini, komunikasi yang kita lakukan setiap hari di internet——pembayaran perbankan online, penjelajahan situs web (HTTPS), pertukaran pesan di aplikasi, hingga transaksi blockchain dan aset kripto——sebagian besar dilindungi oleh teknologi yang disebut &amp;ldquo;kriptografi kunci publik&amp;rdquo;. Secara khusus, algoritma seperti kriptografi RSA dan Kriptografi Kurva Eliptik (ECC) menjadi dasar yang mendukung keandalan masyarakat digital modern.&lt;/p>
&lt;p>Metode kriptografi ini didasarkan pada masalah matematika yang sulit, seperti &amp;ldquo;faktorisasi bilangan prima besar&amp;rdquo; atau &amp;ldquo;masalah logaritma diskrit&amp;rdquo;, yang membutuhkan waktu astronomis untuk dipecahkan oleh komputer klasik saat ini (termasuk superkomputer). Namun, seiring dengan kemajuan pesat &lt;strong>Komputer Kuantum&lt;/strong> dalam beberapa tahun terakhir, premis ini akan runtuh secara mendasar jika komputer tersebut dipraktikkan.&lt;/p>
&lt;p>Pada tahun 1994, Peter Shor menerbitkan &amp;ldquo;Algoritma Shor&amp;rdquo;, yang membuktikan secara matematis bahwa faktorisasi bilangan prima dan masalah logaritma diskrit dapat diselesaikan dalam waktu yang sangat singkat jika menggunakan komputer kuantum dengan kinerja yang memadai. Ini berarti ada risiko bahwa semua komunikasi terenkripsi yang melindungi internet saat ini akan dapat didekripsi di masa depan (masalah yang disebut Y2Q: Years to Quantum, atau Q-Day).&lt;/p>
&lt;p>Lebih parah lagi, ada metode serangan yang disebut &amp;ldquo;Harvest Now, Decrypt Later (Curi data sekarang dan simpan, dekripsi nanti saat kriptografi dapat dipecahkan)&amp;rdquo;. Data yang perlu dirahasiakan selama beberapa dekade, seperti informasi rahasia negara, kekayaan intelektual perusahaan, dan informasi biometrik individu, mungkin telah menjadi sasaran pencurian dengan premis bahwa mereka akan didekripsi di masa depan.&lt;/p>
&lt;p>Untuk mengatasi krisis yang belum pernah terjadi sebelumnya ini, kriptografer dan lembaga penelitian di seluruh dunia mengerahkan seluruh upaya untuk mengembangkan teknologi kriptografi generasi berikutnya yang dapat mempertahankan keamanan dari serangan komputer kuantum, yaitu &lt;strong>Kriptografi Pasca-Kuantum (PQC: Post-Quantum Cryptography)&lt;/strong> . Artikel ini akan menjelaskan secara rinci mulai dari dasar-dasar PQC, mekanisme algoritma utama, hingga tren standardisasi global terbaru yang didorong oleh Institut Nasional Standar dan Teknologi AS (NIST).&lt;/p>
&lt;hr>
&lt;h2 id="apa-itu-kriptografi-pasca-kuantum-pqc">Apa itu Kriptografi Pasca-Kuantum (PQC)?
&lt;/h2>&lt;p>Kriptografi Pasca-Kuantum (Post-Quantum Cryptography, PQC) adalah istilah umum untuk algoritma kriptografi yang dirancang agar dapat beroperasi di komputer klasik yang ada, namun tetap tahan terhadap serangan oleh komputer kuantum skala besar di masa depan (seperti Algoritma Shor).&lt;/p>
&lt;p>Teknologi yang sering dibingungkan adalah &amp;ldquo;Kriptografi Kuantum (Quantum Cryptography)&amp;rdquo; dan &amp;ldquo;Distribusi Kunci Kuantum (QKD)&amp;rdquo;, namun ini adalah pendekatan yang sama sekali berbeda. Kriptografi Kuantum (QKD) adalah teknologi berbasis perangkat keras yang menggunakan hukum fisika mekanika kuantum (seperti sifat di mana status berubah saat diamati) untuk membuat penyadapan di jalur komunikasi tidak mungkin secara fisik. Ini membutuhkan serat optik khusus atau peralatan khusus, dan memiliki tantangan seperti biaya implementasi serta batasan jarak.&lt;/p>
&lt;p>Di sisi lain, &lt;strong>PQC adalah teknologi kriptografi berbasis perangkat lunak yang murni berdasar pada &amp;ldquo;matematika&amp;rdquo;&lt;/strong> . Oleh karena itu, ia dapat diintegrasikan sebagai pembaruan perangkat software ke infrastruktur internet yang ada, server, ponsel pintar, peramban, dan lainnya, sehingga memiliki penerapan yang sangat tinggi dalam dunia nyata. Perusahaan TI dan lembaga pemerintah di seluruh dunia kini menganggap penting dan mendesak untuk menggantikan (migrasi) RSA dan ECC yang saat ini digunakan dengan PQC ini.&lt;/p>
&lt;hr>
&lt;h2 id="4-pendekatan-matematis-utama-yang-mendukung-pqc">4 Pendekatan Matematis Utama yang Mendukung PQC
&lt;/h2>&lt;p>Berbagai algoritma PQC telah diusulkan berdasarkan masalah matematika yang sulit dipecahkan secara efisien bahkan dengan menggunakan komputer kuantum (seperti masalah NP-hard). Di sini, kami memperkenalkan 4 kategori utama yang mendominasi saat ini.&lt;/p>
&lt;h3 id="pendekatan-utama-kriptografi-pasca-kuantum-pqc">Pendekatan Utama Kriptografi Pasca-Kuantum (PQC)
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="cl">&lt;span class="n">graph&lt;/span> &lt;span class="n">LR&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">PQC&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Kriptografi&lt;/span> &lt;span class="n">Pasca&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">Kuantum&lt;/span> &lt;span class="n">PQC&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">L&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Kriptografi&lt;/span> &lt;span class="n">Berbasis&lt;/span> &lt;span class="n">Kisi&lt;/span> &lt;span class="n">Lattice&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">based&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">PQC&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">H&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Kriptografi&lt;/span> &lt;span class="n">Berbasis&lt;/span> &lt;span class="n">Hash&lt;/span> &lt;span class="n">Hash&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">based&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">PQC&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">M&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Kriptografi&lt;/span> &lt;span class="n">Polinomial&lt;/span> &lt;span class="n">Multivariabel&lt;/span> &lt;span class="n">Multivariate&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">PQC&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">C&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Kriptografi&lt;/span> &lt;span class="n">Berbasis&lt;/span> &lt;span class="n">Kode&lt;/span> &lt;span class="n">Code&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">based&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">L&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">L1&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">FIPS&lt;/span> &lt;span class="mi">203&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">ML&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">KEM&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">L&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">L2&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">FIPS&lt;/span> &lt;span class="mi">204&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">ML&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">DSA&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">H&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">H1&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">FIPS&lt;/span> &lt;span class="mi">205&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">SLH&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">DSA&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">style&lt;/span> &lt;span class="n">PQC&lt;/span> &lt;span class="n">fill&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="c1">#f9f,stroke:#333,stroke-width:2px&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="1-kriptografi-berbasis-kisi-lattice-based-cryptography">1. Kriptografi Berbasis Kisi (Lattice-based Cryptography)
&lt;/h3>&lt;p>Saat ini, &amp;ldquo;kriptografi kisi&amp;rdquo; adalah yang paling menjanjikan dan menjadi arus utama di bidang PQC. Kriptografi kisi mendasarkan keamanannya pada masalah titik-titik yang tersusun teratur (titik kisi) dalam ruang multidimensi. Masalah yang terkenal termasuk &amp;ldquo;Masalah Vektor Terpendek (SVP: Shortest Vector Problem)&amp;rdquo; dan &amp;ldquo;Masalah Pembelajaran dengan Kesalahan (LWE: Learning With Errors)&amp;rdquo;.&lt;/p>
&lt;p>&lt;strong>Ringkasan Mekanisme:&lt;/strong>
Bayangkan titik-titik yang tak terhitung jumlahnya tersusun dalam pola kisi dalam ruang berdimensi sangat tinggi (ratusan hingga ribuan dimensi). Menemukan titik kisi tertentu itu mudah dalam 2 atau 3 dimensi, tetapi pada ratusan dimensi, baik komputer klasik maupun kuantum belum menemukan algoritma untuk menemukannya secara efisien. Secara khusus, masalah LWE memanfaatkan sifat di mana &amp;ldquo;menambahkan &amp;lsquo;kebisingan (kesalahan)&amp;rsquo; kecil secara sengaja ke dalam sistem persamaan linear membuat sangat sulit untuk menebak variabel aslinya&amp;rdquo;.&lt;/p>
&lt;p>&lt;strong>Kelebihan:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Berlaku untuk pembagian kunci (KEM) maupun tanda tangan digital.&lt;/li>
&lt;li>Kecepatan pemrosesan sangat tinggi (terkadang lebih cepat dari RSA atau ECC).&lt;/li>
&lt;li>Ukuran kunci dan ciphertext relatif kecil, sehingga seimbang.&lt;/li>
&lt;/ul>
&lt;p>Sebagian besar algoritma yang saat ini distandarisasi oleh NIST (seperti ML-KEM dan ML-DSA) mengadopsi kriptografi berbasis kisi ini.&lt;/p>
&lt;h3 id="2-kriptografi-berbasis-hash-hash-based-cryptography">2. Kriptografi Berbasis Hash (Hash-based Cryptography)
&lt;/h3>&lt;p>Kriptografi berbasis hash adalah algoritma PQC yang dikhususkan untuk tanda tangan digital. Keamanannya murni bergantung pada ketahanan terhadap benturan dan fungsi satu arah dari &amp;ldquo;fungsi hash kriptografis&amp;rdquo; yang aman, seperti SHA-2 atau SHA-3.&lt;/p>
&lt;p>&lt;strong>Ringkasan Mekanisme:&lt;/strong>
Ini dimulai dengan skema tanda tangan sekali pakai (one-time signature) yang disebut &amp;ldquo;Tanda Tangan Lamport (Lamport Signature)&amp;rdquo;, yang hanya dapat digunakan sekali. Dengan menggabungkannya ke dalam format data struktur pohon yang disebut &amp;ldquo;Merkle Tree&amp;rdquo;, ia memungkinkan beberapa tanda tangan dengan satu pasang kunci.&lt;/p>
&lt;p>&lt;strong>Kelebihan:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Dasar keamanannya sangat kokoh, dengan bukti kuat bahwa &amp;ldquo;selama fungsi hash aman, ini aman&amp;rdquo;.&lt;/li>
&lt;li>Karena kurangnya ketergantungan pada struktur matematika, risiko ditemukannya metode pemecahan yang tidak terduga sangat rendah.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Kekurangan:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Tidak dapat digunakan untuk pembagian kunci (KEM), hanya tanda tangan digital.&lt;/li>
&lt;li>Ukuran tanda tangan cenderung lebih besar.&lt;/li>
&lt;li>Ada versi &amp;ldquo;stateful&amp;rdquo; dan &amp;ldquo;stateless&amp;rdquo;. Versi stateful (seperti XMSS) memiliki tingkat kesulitan implementasi yang tinggi karena perlu mengelola jumlah penggunaan kunci dengan ketat.&lt;/li>
&lt;/ul>
&lt;p>NIST menstandarisasi &amp;ldquo;SLH-DSA (sebelumnya SPHINCS+)&amp;rdquo; sebagai tanda tangan berbasis hash yang stateless.&lt;/p>
&lt;h3 id="3-kriptografi-berbasis-polinomial-multivariabel-multivariate-cryptography">3. Kriptografi Berbasis Polinomial Multivariabel (Multivariate Cryptography)
&lt;/h3>&lt;p>Kriptografi polinomial multivariabel mendasarkan keamanannya pada kesulitan menyelesaikan sistem polinomial kuadratik yang memiliki banyak variabel (Masalah MQ: Multivariate Quadratic problem). Masalah ini diketahui merupakan NP-hard.&lt;/p>
&lt;p>&lt;strong>Ringkasan Mekanisme:&lt;/strong>
Pengirim membuat ciphertext (tanda tangan) dengan mensubstitusikan plaintext (atau nilai hash) ke dalam persamaan kompleks dengan banyak variabel yang diberikan sebagai kunci publik. Penerima yang sah memiliki &amp;ldquo;informasi tersembunyi (trapdoor) yang mengubah struktur persamaan menjadi bentuk yang mudah diselesaikan&amp;rdquo; sebagai kunci rahasia, yang digunakannya untuk mendekripsi (atau memverifikasi tanda tangan).&lt;/p>
&lt;p>&lt;strong>Kelebihan:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Ukuran tanda tangan sangat kecil.&lt;/li>
&lt;li>Kecepatan verifikasi tanda tangan sangat cepat. Sangat cocok untuk perangkat IoT dengan sumber daya terbatas.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Kekurangan:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Ukuran kunci publik sangat besar (bisa mencapai puluhan hingga ratusan kilobyte).&lt;/li>
&lt;li>Di masa lalu, beberapa algoritma yang menonjol (seperti Rainbow) telah dipecahkan oleh serangan klasik, sehingga sedikit lebih sulit untuk membangun kepercayaan terhadap keamanannya dibandingkan dengan metode lain.&lt;/li>
&lt;/ul>
&lt;h3 id="4-kriptografi-berbasis-kode-code-based-cryptography">4. Kriptografi Berbasis Kode (Code-based Cryptography)
&lt;/h3>&lt;p>Kriptografi berbasis kode adalah penerapan teori &amp;ldquo;kode koreksi kesalahan&amp;rdquo; yang digunakan untuk memperbaiki kesalahan di jalur komunikasi ke dalam kriptografi. &amp;ldquo;Kriptografi McEliece&amp;rdquo; yang diusulkan pada tahun 1978 adalah yang paling terkenal, dan merupakan salah satu yang tertua di PQC.&lt;/p>
&lt;p>&lt;strong>Ringkasan Mekanisme:&lt;/strong>
Pengirim menyandikan plaintext menggunakan kunci publik penerima (matriks generator kode koreksi kesalahan yang menyembunyikan struktur tertentu), dan menambahkan kesalahan yang disengaja (kebisingan) sebelum mengirim. Penerima menggunakan kunci rahasia untuk menghilangkan kesalahan dan mengambil plaintext. Penyerang kriptografi harus memperbaiki kesalahan dari kode acak yang tidak tahu strukturnya, yang disebut &amp;ldquo;masalah dekoding sindrom umum&amp;rdquo; dan terbukti NP-hard.&lt;/p>
&lt;p>&lt;strong>Kelebihan:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Telah dipelajari secara menyeluruh selama lebih dari 40 tahun tanpa ditemukan serangan yang efektif, sehingga keandalan keamanannya sangat tinggi.&lt;/li>
&lt;li>Proses enkripsi dan dekripsi yang cepat.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Kekurangan:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Ukuran kunci publik sangat besar (bisa mencapai beberapa megabyte). Akibatnya, sulit digunakan dalam lingkungan dengan keterbatasan bandwidth atau memori (seperti handshake TLS).&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="tren-standardisasi-pqc-terbaru-oleh-nist">Tren Standardisasi PQC Terbaru oleh NIST
&lt;/h2>&lt;p>Institut Nasional Standar dan Teknologi AS (NIST) meluncurkan panggilan global untuk algoritma kriptografi pasca-kuantum generasi berikutnya pada tahun 2016, dan telah melalui beberapa putaran evaluasi ketat selama bertahun-tahun.&lt;/p>
&lt;p>Pada tahun 2024, NIST akhirnya mengumumkan tiga algoritma berikut sebagai Standar Pemrosesan Informasi Federal (FIPS) resmi. Hal ini menyelesaikan fondasi yang kuat bagi organisasi di seluruh dunia untuk mulai mengimplementasikannya di lingkungan produksi.&lt;/p>
&lt;h3 id="standar-fips-yang-ditetapkan-2024">Standar FIPS yang Ditetapkan (2024)
&lt;/h3>&lt;ol>
&lt;li>
&lt;p>&lt;strong>FIPS 203: ML-KEM (sebelumnya: CRYSTALS-Kyber)&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Tujuan:&lt;/strong> Mekanisme Enkapsulasi Kunci (KEM) / Enkripsi dan Pembagian Kunci&lt;/li>
&lt;li>&lt;strong>Teknologi Dasar:&lt;/strong> Kriptografi Kisi (Module-LWE)&lt;/li>
&lt;li>&lt;strong>Karakteristik:&lt;/strong> Menawarkan keseimbangan yang sangat baik antara ukuran kunci dan kecepatan, dan berfungsi sebagai pembagian kunci PQC default untuk penggunaan internet umum seperti komunikasi Web (TLS) dan aplikasi pesan yang aman.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>FIPS 204: ML-DSA (sebelumnya: CRYSTALS-Dilithium)&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Tujuan:&lt;/strong> Tanda Tangan Digital&lt;/li>
&lt;li>&lt;strong>Teknologi Dasar:&lt;/strong> Kriptografi Kisi (Module-LWE)&lt;/li>
&lt;li>&lt;strong>Karakteristik:&lt;/strong> Standar utama untuk tanda tangan digital. Menawarkan pemrosesan yang efisien, dan akan menjadi standar baru untuk semua kasus penggunaan tanda tangan elektronik, seperti penandatanganan perangkat lunak dan otentikasi dokumen.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>FIPS 205: SLH-DSA (sebelumnya: SPHINCS+)&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Tujuan:&lt;/strong> Tanda Tangan Digital&lt;/li>
&lt;li>&lt;strong>Teknologi Dasar:&lt;/strong> Kriptografi Berbasis Hash (Stateless)&lt;/li>
&lt;li>&lt;strong>Karakteristik:&lt;/strong> Memainkan peran penting karena berfungsi sebagai cadangan (backup) jika kelemahan ditemukan dalam kriptografi kisi di masa depan. Meskipun ukuran tanda tangan lebih besar, ini cocok untuk penggunaan yang memerlukan keandalan jangka panjang.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h3 id="mengejar-keragaman-lebih-lanjut">Mengejar Keragaman Lebih Lanjut
&lt;/h3>&lt;p>Meskipun NIST telah menyelesaikan proses standardisasi awal, mereka terus mencari algoritma tambahan. Mengingat bahwa standarnya cenderung &amp;ldquo;kriptografi kisi&amp;rdquo;, memastikan &lt;strong>Keragaman Kripto (Crypto Diversity)&lt;/strong> dianggap sangat penting. Evaluasi kriptografi berbasis kode dan lainnya sedang berlangsung sebagai standar cadangan untuk pembagian kunci, dan fondasi PQC akan menjadi lebih kuat di masa depan.&lt;/p>
&lt;hr>
&lt;h2 id="skenario-dan-tantangan-migrasi-pqc-pentingnya-agility-kripto">Skenario dan Tantangan Migrasi PQC: Pentingnya &amp;ldquo;Agility Kripto&amp;rdquo;
&lt;/h2>&lt;p>Dengan dirilisnya standar resmi oleh NIST, lembaga pemerintah, lembaga keuangan, dan perusahaan teknologi di seluruh dunia akan mempercepat migrasi mereka dari RSA/ECC yang ada ke PQC. Pedoman dari Badan Keamanan Nasional AS (NSA) dan lainnya juga merekomendasikan penyelesaian migrasi sejak dini.&lt;/p>
&lt;h3 id="mengadopsi-pendekatan-hibrida">Mengadopsi Pendekatan Hibrida
&lt;/h3>&lt;p>Karena algoritma PQC masih baru, mereka belum melalui &amp;ldquo;ujian waktu&amp;rdquo; seperti kriptografi klasik. Mengingat risiko bug tersembunyi dalam implementasi atau metode serangan baru yang ditemukan, &lt;strong>&amp;ldquo;Pendekatan Hibrida&amp;rdquo;&lt;/strong> direkomendasikan selama masa transisi. Ini adalah metode pertukaran kunci yang menggabungkan kriptografi yang sudah ada dan terbukti (misalnya: ECDHE) dengan PQC baru (misalnya: ML-KEM). Saat ini, uji coba pendekatan ini berkembang pesat di peramban utama dan layanan cloud.&lt;/p>
&lt;h3 id="mencapai-agility-kripto-kelincahan-kriptografi">Mencapai Agility Kripto (Kelincahan Kriptografi)
&lt;/h3>&lt;p>Hal terpenting yang perlu disadari oleh perusahaan dan pengembang sistem ke depan adalah memastikan &lt;strong>&amp;ldquo;Agility Kripto (Crypto-Agility)&amp;rdquo;&lt;/strong> . Desain arsitektur yang fleksibel yang memungkinkan algoritma kriptografi untuk dipertukarkan atau diperbarui dengan cepat tanpa menghentikan sistem saat cacat ditemukan pada algoritma atau standar baru muncul sangatlah penting.&lt;/p>
&lt;p>Langkah pertama yang penting menuju migrasi PQC adalah membuat Inventaris Kriptografi (CBOM: Cryptography Bill of Materials) untuk memahami secara akurat &amp;ldquo;di mana&amp;rdquo;, &amp;ldquo;kriptografi apa&amp;rdquo;, dan &amp;ldquo;untuk tujuan apa&amp;rdquo; ia digunakan di dalam sistem internal.&lt;/p>
&lt;hr>
&lt;h2 id="kesimpulan-bersiap-untuk-q-day-yang-akan-datang">Kesimpulan: Bersiap untuk &amp;ldquo;Q-Day&amp;rdquo; yang Akan Datang
&lt;/h2>&lt;p>Sementara evolusi komputer kuantum akan membawa manfaat besar bagi umat manusia, itu juga merupakan ancaman terbesar bagi keamanan kriptografi yang merupakan fondasi masyarakat digital kita saat ini. Kriptografi Pasca-Kuantum (PQC) bukan lagi sekadar &amp;ldquo;topik penelitian masa depan yang jauh&amp;rdquo;. Menyusul tonggak penerbitan standar FIPS oleh NIST, PQC kini telah memasuki fase &amp;ldquo;implementasi dan migrasi&amp;rdquo; berskala penuh.&lt;/p>
&lt;p>Mengingat ancaman &amp;ldquo;Harvest Now, Decrypt Later&amp;rdquo;, migrasi ke PQC adalah prioritas utama yang harus dimulai &amp;ldquo;sekarang&amp;rdquo; untuk setiap organisasi yang menangani data sensitif. Mari kita atasi era komputer kuantum yang akan datang dengan aman dengan memahami secara mendalam teknologi kriptografi generasi berikutnya dan meningkatkan agility kripto sistem kita.&lt;/p></description></item><item><title>Apakah Komputer Kuantum Benar-benar Akan Menghancurkan Enkripsi RSA? ~ Algoritma Shor dan Tahap Saat Ini ~</title><link>http://kenji.blog/id/p/shors-algorithm-and-rsa-breaking/</link><pubDate>Sat, 05 Sep 2026 22:09:21 +0900</pubDate><guid>http://kenji.blog/id/p/shors-algorithm-and-rsa-breaking/</guid><description>&lt;img src="http://kenji.blog/p/shors-algorithm-and-rsa-breaking/quantum_breaking_rsa_1788613722990.jpg" alt="Featured image of post Apakah Komputer Kuantum Benar-benar Akan Menghancurkan Enkripsi RSA? ~ Algoritma Shor dan Tahap Saat Ini ~" />&lt;h2 id="pengantar-persimpangan-kriptografi-dan-komputer-kuantum">Pengantar: Persimpangan Kriptografi dan Komputer Kuantum
&lt;/h2>&lt;p>Di masyarakat internet modern, dasar untuk melindungi rahasia komunikasi adalah &amp;ldquo;Kriptografi Kunci Publik&amp;rdquo;. Yang paling representatif dari hal ini adalah &amp;ldquo;Enkripsi RSA&amp;rdquo; yang dikembangkan pada tahun 1977 oleh Ron Rivest, Adi Shamir, dan Leonard Adleman. Dari pembayaran belanja online, penelusuran situs web (HTTPS), hingga pengiriman dan penerimaan email, enkripsi RSA berfungsi sebagai jantung infrastruktur internet.&lt;/p>
&lt;p>Namun, dengan munculnya &amp;ldquo;komputer kuantum&amp;rdquo;, ada kemungkinan keamanan ini dihancurkan dari akarnya. Di media berita, kadang-kadang terdapat tajuk utama yang sensasional seperti &amp;ldquo;Setelah komputer kuantum selesai, semua kata sandi dan enkripsi di dunia akan didekripsi dalam hitungan detik&amp;rdquo;. Apakah ini benar-benar terjadi?&lt;/p>
&lt;p>Artikel ini mendalami mekanisme GNFS (General Number Field Sieve) sebagai metode dekripsi kriptografi klasik, dan algoritma dekripsi definitif menggunakan komputer kuantum, yaitu &amp;ldquo;Algoritma Shor&amp;rdquo; (Shor&amp;rsquo;s Algorithm). Kita akan menjelaskan konsep lanjutan seperti Transformasi Fourier Kuantum dan penemuan periode dengan cara yang mudah dimengerti, serta menyelidiki kondisi perangkat keras kuantum saat ini di era NISQ (Noisy Intermediate-Scale Quantum) dan tantangan nyata untuk menghancurkan RSA-2048.&lt;/p>
&lt;hr>
&lt;h2 id="inti-enkripsi-rsa-kesulitan-faktorisasi-prima">Inti Enkripsi RSA: Kesulitan Faktorisasi Prima
&lt;/h2>&lt;p>Keamanan enkripsi RSA bergantung pada asimetri yang sangat sederhana dalam matematika. Fakta bahwa &amp;ldquo;mudah untuk mengalikan dua bilangan prima raksasa, tetapi sangat sulit untuk menemukan (memfaktorkan) dua bilangan prima asli dari hasil perkalian (bilangan komposit) tersebut&amp;rdquo;.&lt;/p>
&lt;p>Misalnya, mari asumsikan ada dua bilangan prima $ p = 61 $ dan $ q = 53 $. Sangat cepat untuk menghitung perkalian $ N = p \times q = 3233 $. Namun, hanya diberi angka &amp;ldquo;3233&amp;rdquo; dan diminta untuk memecahkan &amp;ldquo;bilangan prima apa dan bilangan prima apa yang dikalikan untuk ini?&amp;rdquo;, jumlah perhitungan meledak seiring dengan bertambahnya angka.&lt;/p>
&lt;p>Dalam RSA-2048 yang saat ini merupakan arus utama, angka komposit besar $ N $ digunakan dengan panjang kunci 2048 bit, atau sekitar 617 digit desimal. Jika $ N $ ini dapat difaktorkan, enkripsinya sama saja dengan sudah terpecahkan.&lt;/p>
&lt;h3 id="tantangan-komputer-klasik-gnfs-general-number-field-sieve">Tantangan Komputer Klasik: GNFS (General Number Field Sieve)
&lt;/h3>&lt;p>Untuk memecahkan masalah faktorisasi prima, matematikawan dan ahli kriptografi telah mengembangkan berbagai algoritma selama bertahun-tahun. Di antaranya, yang saat ini dianggap tercepat untuk komputer klasik adalah ** GNFS (General Number Field Sieve) **.&lt;/p>
&lt;p>GNFS adalah metode perluasan dan analisis perhitungan dalam cincin bilangan bulat menjadi Number Field aljabar yang lebih abstrak untuk memfaktorkan angka raksasa $ N $. Alurnya secara garis besar sebagai berikut:&lt;/p>
&lt;ol>
&lt;li>** Pemilihan Polinomial **: Temukan polinomial $ f(x) $ dengan derajat dan koefisien yang sesuai yang memiliki $ N $ sebagai akar.&lt;/li>
&lt;li>** Pengumpulan Data (Sieving) **: Cari sejumlah besar pasangan angka yang dapat diuraikan menjadi bilangan prima kecil (bilangan halus, Smooth numbers) di atas field rasional dan field aljabar. Proses ini disebut &amp;ldquo;Sieving&amp;rdquo; dan merupakan bagian yang paling memakan waktu.&lt;/li>
&lt;li>** Pembuatan dan Pengurangan Matriks **: Hasilkan matriks sparse raksasa (sebagian besar elemennya adalah 0) berdasarkan relasi yang dikumpulkan, dan selesaikan dengan menggunakan metode aljabar linier (seperti metode block Lanczos).&lt;/li>
&lt;li>** Perhitungan Akar Kuadrat **: Terakhir, hitung akar kuadrat pada field aljabar, dan turunkan faktor (faktor prima) dari $ N $.&lt;/li>
&lt;/ol>
&lt;p>Kompleksitas waktu untuk GNFS dievaluasi secara non-asimtotik sebagai $ O(\exp((\sqrt[3]{\frac{64}{9}} + o(1)) (\log N)^{\frac{1}{3}} (\log \log N)^{\frac{2}{3}})) $. Ini disebut kompleksitas waktu &amp;ldquo;Sub-eksponensial&amp;rdquo;. Meskipun lebih cepat dari waktu eksponensial, ini masih jauh lebih lambat dari waktu polinomial.&lt;/p>
&lt;p>Faktanya, pada tahun 2020, tim peneliti internasional berhasil memfaktorkan RSA-250 (angka komposit 829 bit, 250 digit) menggunakan GNFS. Perhitungan ini membutuhkan waktu perhitungan yang sangat besar sekitar 2700 core-year CPU, dengan mengumpulkan sumber daya komputasi dari seluruh dunia. Namun, ketika menjadi 2048 bit, jumlah perhitungan yang diperlukan melonjak triliunan kali umur alam semesta, dan tidak peduli berapa banyak superkomputer saat ini yang dijalankan secara paralel, tidak mungkin untuk memecahkannya dalam waktu yang realistis menggunakan metode klasik.&lt;/p>
&lt;hr>
&lt;h2 id="kartu-truf-komputer-kuantum-algoritma-shor">Kartu Truf Komputer Kuantum: Algoritma Shor
&lt;/h2>&lt;p>Di sinilah &amp;ldquo;Algoritma Shor&amp;rdquo;, yang diumumkan oleh Peter Shor pada tahun 1994, muncul. Algoritma ini merupakan terobosan yang dapat memecahkan masalah faktorisasi prima pada komputer kuantum dalam ** waktu polinomial ** ( $ O((\log N)^3) $ ). Perbedaan antara waktu sub-eksponensial dan waktu polinomial sangat menentukan, secara teoritis berarti bahwa jika Anda menggunakan komputer kuantum, enkripsi RSA akan hancur sama sekali.&lt;/p>
&lt;h3 id="alur-keseluruhan-algoritma-shor">Alur Keseluruhan Algoritma Shor
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">graph TD
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> A[Masukkan angka N yang ingin difaktorkan] --&amp;gt; B[Pilih bilangan bulat acak a]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> B --&amp;gt; C{Faktor persekutuan&amp;lt;br&amp;gt;terbesar a dan N}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> C --&amp;gt;|Lebih dari 1| D[Beruntung menemukan faktor prima!]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> C --&amp;gt;|1 Saling prima| E[Giliran komputer kuantum]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> E --&amp;gt; F[Temukan periode r dari fungsi f_x = a^x mod N&amp;lt;br&amp;gt;dengan Transformasi Fourier Kuantum]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> F --&amp;gt; G{Periode r adalah genap dan&amp;lt;br&amp;gt;a^r/2 ≢ -1 mod N}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> G --&amp;gt;|Ya| H[Hitung faktor persekutuan terbesar gcd_a^r/2 ± 1, N]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> H --&amp;gt; I((Faktorisasi Prima Berhasil!))
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> G --&amp;gt;|Tidak| B
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Algoritma Shor tidak menyelesaikan masalah faktorisasi prima secara langsung, tetapi mengambil pendekatan menggunakan teorema teori bilangan untuk mengubahnya menjadi masalah lain yang disebut &amp;ldquo;Period Finding Problem&amp;rdquo;, dan menyelesaikannya dengan kecepatan tinggi menggunakan karakteristik komputer kuantum.&lt;/p>
&lt;h3 id="langkah-1-reduksi-dari-faktorisasi-prima-ke-masalah-penemuan-periode-pemrosesan-klasik">Langkah 1: Reduksi dari Faktorisasi Prima ke Masalah Penemuan Periode (Pemrosesan Klasik)
&lt;/h3>&lt;p>Langkah pertama algoritma dilakukan pada komputer klasik.
Untuk angka $ N $ yang ingin difaktorkan, pilih bilangan bulat acak $ a $ ( $ 1 &lt; a &lt; N $ ) yang relatif prima terhadap $ N $ (faktor persekutuan terbesar adalah 1). Jika secara kebetulan faktor persekutuan terbesarnya bukan 1, faktor persekutuan yang ditemukan pada saat itu adalah faktor prima dari $ N $, dan dekripsi selesai, tetapi kemungkinannya sangat rendah.&lt;/p>
&lt;p>Selanjutnya, pertimbangkan urutan persamaan modulo berikut:
$ f(x) = a^x \pmod N $&lt;/p>
&lt;p>Saat mengganti $ x = 1, 2, 3, \dots $ ke fungsi $ f(x) $ ini, nilainya tampak acak, tetapi karena dihitung dalam rentang terbatas, nilainya selalu kembali ke aslinya di suatu tempat dan mengulangi urutan bilangan yang sama. Periode pengulangan ini disebut $ r $. Yaitu,
$ a^r \equiv 1 \pmod N $
Masalah mencari bilangan bulat positif terkecil $ r $ ini adalah &amp;ldquo;Period Finding Problem&amp;rdquo;.&lt;/p>
&lt;p>Jika periode $ r $ ini ditemukan dan $ r $ genap, menjadi $ a^r - 1 \equiv 0 \pmod N $, dan dengan menggunakan rumus faktorisasi dapat diubah menjadi
$ (a^{r/2} - 1)(a^{r/2} + 1) \equiv 0 \pmod N $.
Dari sini, dengan menggunakan algoritma Euclidean untuk menghitung faktor persekutuan terbesar $ N $ dan $ a^{r/2} \pm 1 $, faktor prima $ N $ dapat diperoleh dengan probabilitas yang sangat tinggi.&lt;/p>
&lt;p>Untuk menemukan periode $ r $ dengan komputer klasik, bagaimanapun juga langkah eksponensial diperlukan dan tidak dapat dipercepat. Namun, dengan komputer kuantum, periode $ r $ ini dapat ditemukan secara instan (dalam waktu polinomial).&lt;/p>
&lt;h3 id="langkah-2-persiapan-dan-superposisi-keadaan-kuantum">Langkah 2: Persiapan dan Superposisi Keadaan Kuantum
&lt;/h3>&lt;p>Di sinilah peran komputer kuantum.
Komputer kuantum menggunakan &amp;ldquo;Qubit&amp;rdquo; yang dapat menahan keadaan &amp;ldquo;0&amp;rdquo; dan &amp;ldquo;1&amp;rdquo; pada saat yang sama. Dalam algoritma Shor, kami menyiapkan dua register: register pertama untuk menyimpan input, dan register kedua untuk menyimpan hasil perhitungan.&lt;/p>
&lt;p>Pertama, operasi gerbang kuantum yang disebut gerbang Hadamard diterapkan ke semua qubit pada register pertama. Akibatnya, register pertama menjadi ** keadaan superposisi merata ** dari semua kemungkinan nilai $ x $ (dari $ 0 $ hingga $ 2^n-1 $. Di mana $ n $ adalah jumlah bit yang cukup besar).&lt;/p>
&lt;p>Dengan kata lain, keadaan dibuat di mana nilai input tak terhitung $ x=0, 1, 2, 3, \dots $ ada secara paralel di komputer kuantum.&lt;/p>
&lt;h3 id="langkah-3-eksponensiasi-modular-kuantum-quantum-modular-exponentiation">Langkah 3: Eksponensiasi Modular Kuantum (Quantum Modular Exponentiation)
&lt;/h3>&lt;p>Selanjutnya, ambil keadaan superposisi register pertama sebagai input, hitung $ f(x) = a^x \pmod N $, dan simpan hasilnya di register kedua.
Karena perhitungan ini dijalankan sebagai transformasi kesatuan pada rangkaian kuantum, perhitungan $ f(x) $ untuk semua $ x $ dilakukan &amp;ldquo;secara paralel secara bersamaan (Paralelisme Kuantum)&amp;rdquo; sambil mempertahankan superposisi.&lt;/p>
&lt;p>Pada titik ini ruang keseluruhan sistem kuantum adalah
$ |x, a^x \bmod N\rangle $
yang merupakan superposisi besar keadaan.&lt;/p>
&lt;p>Namun, jika kita hanya mengukur (mengamati) register kedua di sini, satu nilai $ a^x \bmod N $ acak dipilih secara probabilistik, dan seiring dengan itu, $ x $ pada register pertama juga akan ditentukan. Ini sama dengan menghitung sekali pada komputer klasik, dan periode $ r $ tidak dapat ditemukan.&lt;/p>
&lt;p>Menurut aturan mekanika kuantum, kita tidak bisa mengintip ke dalam keadaan superposisi secara langsung. Lalu, bagaimana kita mengekstrak informasi global tentang &amp;ldquo;periode&amp;rdquo; secara keseluruhan?&lt;/p>
&lt;h3 id="langkah-4-transformasi-fourier-kuantum-qft-quantum-fourier-transform">Langkah 4: Transformasi Fourier Kuantum (QFT: Quantum Fourier Transform)
&lt;/h3>&lt;p>Inti sebenarnya dari algoritma Shor untuk menembus dinding ini adalah penerapan ** Transformasi Fourier Kuantum (QFT) ** ke register pertama.&lt;/p>
&lt;p>Sebelum mengukur, mari kita analisis sifat gelombang dari fungsi $ f(x) $. Misalkan register kedua diamati dan nilai $ y $ tertentu diperoleh. Kemudian keadaan register pertama menyusut ke &amp;ldquo;superposisi semua $ x $ di mana $ a^x \pmod N = y $&amp;rdquo;.
Nilai $ x $ ini akan diatur secara diskrit dengan interval periode $ r $, seperti $ x_0, x_0 + r, x_0 + 2r, x_0 + 3r, \dots $ (semacam distribusi probabilitas amplitudo berbentuk sisir).&lt;/p>
&lt;p>Terapkan Transformasi Fourier Kuantum (QFT) ke keadaan ini. Sama seperti transformasi Fourier diskrit klasik yang mengubah sinyal dalam domain waktu ke domain frekuensi, QFT menyebabkan interferensi dalam amplitudo probabilitas keadaan kuantum.&lt;/p>
&lt;p>Ketika QFT diterapkan, karena efek interferensi kuantum, probabilitas jawaban salah yang tidak beresonansi dengan periode $ r $ (fase tidak cocok) saling meniadakan dan mendekati nol (interferensi destruktif), dan hanya probabilitas jawaban yang benar dengan informasi tentang periode $ r $ yang diperkuat (interferensi konstruktif).&lt;/p>
&lt;h3 id="langkah-5-pengukuran-dan-ekspansi-pecahan-berlanjut-pemrosesan-klasik-lanjutan">Langkah 5: Pengukuran dan Ekspansi Pecahan Berlanjut (Pemrosesan Klasik Lanjutan)
&lt;/h3>&lt;p>Ketika register pertama diukur setelah menerapkan QFT, kemungkinan besar akan didapatkan bilangan bulat $ c $ yang mendekati bentuk $ c \approx \frac{j \cdot 2^n}{r} $ ($ j $ adalah bilangan bulat yang tidak diketahui, $ 2^n $ adalah ukuran register).&lt;/p>
&lt;p>Kembalikan hasil pengukuran $ c $ ini ke komputer klasik, dan buat pecahan $ \frac{c}{2^n} \approx \frac{j}{r} $. Kemudian, dengan menghitung pendekatan menggunakan metode matematika &amp;ldquo;Continued fraction expansion&amp;rdquo;, kita berhasil mengekstraksi penyebut, yang merupakan periode $ r $.&lt;/p>
&lt;p>Jika $ r $ diketahui, sisanya adalah menghitung faktor dari $ N $ menggunakan rumus langkah 1, dan enkripsi RSA sepenuhnya hancur.&lt;/p>
&lt;hr>
&lt;h2 id="kemampuan-dan-tantangan-komputer-kuantum-saat-ini-nisq">Kemampuan dan Tantangan Komputer Kuantum Saat Ini (NISQ)
&lt;/h2>&lt;p>Meskipun secara teoritis algoritma Shor sempurna, jika ditanya, &amp;ldquo;Apakah enkripsi RSA akan dibobol besok?&amp;rdquo;, jawabannya jelas &amp;ldquo;Tidak&amp;rdquo;. Alasannya terletak pada batasan teknologi perangkat keras komputer kuantum saat ini.&lt;/p>
&lt;h3 id="era-nisq-noisy-intermediate-scale-quantum">Era NISQ (Noisy Intermediate-Scale Quantum)
&lt;/h3>&lt;p>Tempat kita berada sekarang adalah era yang disebut &amp;ldquo;NISQ&amp;rdquo;. Perangkat NISQ memiliki puluhan hingga ratusan qubit fisik, tetapi sangat rentan terhadap kebisingan.&lt;/p>
&lt;p>Qubit rentan terhadap pengaruh lingkungan eksternal seperti panas dan gelombang elektromagnetik, dan sering kali terjadi &amp;ldquo;Dekoherensi&amp;rdquo; di mana keadaan kuantum hancur, atau &amp;ldquo;Kesalahan Gerbang&amp;rdquo; selama operasi gerbang. Jika seseorang mencoba menjalankan rangkaian kuantum yang sangat dalam (jumlah langkah operasi sangat besar) seperti algoritma Shor, kesalahan akan menumpuk di tengah perhitungan, dan hasil akhirnya hanyalah noise yang sama sekali tidak berarti.&lt;/p>
&lt;h3 id="qubit-fisik-dan-qubit-logis">Qubit Fisik dan Qubit Logis
&lt;/h3>&lt;p>Penting untuk menyelesaikan masalah kesalahan ini dengan &amp;ldquo;Koreksi Kesalahan Kuantum&amp;rdquo;.
Kode koreksi kesalahan juga digunakan pada komputer klasik, tetapi karena ada &amp;ldquo;Teorema Larangan Penggandaan Kuantum&amp;rdquo; yang melarang penyalinan keadaan kuantum, koreksi kesalahan kuantum sangat kompleks.&lt;/p>
&lt;p>Dalam koreksi kesalahan kuantum, &amp;ldquo;Qubit logis&amp;rdquo; tunggal yang bebas dari kesalahan yang ideal dibuat dengan menggabungkan sejumlah besar &amp;ldquo;Qubit fisik&amp;rdquo; yang penuh kebisingan, menggunakan teknologi seperti &amp;ldquo;Surface Code&amp;rdquo;.&lt;/p>
&lt;p>Dengan asumsi tingkat kesalahan saat ini, diperkirakan dibutuhkan sekitar 1.000 hingga 10.000 qubit fisik untuk membuat satu qubit logis. Ini disebut &amp;ldquo;Overhead koreksi kesalahan&amp;rdquo;.&lt;/p>
&lt;h3 id="sumber-daya-apa-yang-diperlukan-untuk-menghancurkan-rsa-2048">Sumber Daya Apa yang Diperlukan untuk Menghancurkan RSA-2048?
&lt;/h3>&lt;p>Lalu, berapa banyak sumber daya yang dibutuhkan untuk benar-benar chạy algoritma Shor guna mendekripsi RSA-2048?&lt;/p>
&lt;p>Menurut estimasi sumber daya yang memecahkan rekor dalam makalah tahun 2021 oleh Craig Gidney (Google) dan Martin Ekerå, menggunakan algoritma Shor yang dioptimalkan dan melakukan koreksi kesalahan menggunakan Surface Code membutuhkan sumber daya berikut:&lt;/p>
&lt;ul>
&lt;li>** Qubit Logis **: Sekitar 4.096&lt;/li>
&lt;li>** Qubit Fisik **: ** Sekitar 20 Juta ** (Berasumsi tingkat kesalahan $10^{-3}$)&lt;/li>
&lt;li>** Waktu Perhitungan **: Sekitar 8 jam (membutuhkan jutaan hingga miliaran operasi gerbang fisik)&lt;/li>
&lt;/ul>
&lt;p>Sebagai perbandingan, di manakah posisi perangkat keras kuantum saat ini?
Prosesor kuantum superkonduktor &amp;ldquo;Condor&amp;rdquo; yang diumumkan oleh IBM pada akhir tahun 2023 adalah 1.121 qubit. Penelitian terobosan pada pembangkitan qubit logis (seperti 48 qubit logis menggunakan komputer kuantum atom netral oleh Harvard University dan QuEra) juga telah muncul, tetapi masih belum pada tahap di mana &amp;ldquo;operasi tanpa noise yang sempurna&amp;rdquo; dapat dijalankan terus menerus dalam jangka waktu yang lama.&lt;/p>
&lt;p>Untuk meningkatkan skala dari beberapa ribu qubit fisik ke ** 20 juta ** qubit fisik praktis (sistem yang saling terhubung, stabil pada suhu kriogenik, dan memproses sinyal kontrol super cepat), ada kendala rekayasa besar (masalah pemasangan kabel, batasan kapasitas pendinginan, peningkatan elektronik kontrol). Banyak ahli memperkirakan akan memakan waktu setidaknya 10 hingga 30 tahun, atau lebih lama, untuk merealisasikan &amp;ldquo;Komputer Kuantum Toleransi Kesalahan&amp;rdquo; (FTQC) yang mampu memecahkan RSA-2048.&lt;/p>
&lt;hr>
&lt;h2 id="ancaman-yang-mengintai-store-now-decrypt-later-dan-fajar-pqc">Ancaman yang Mengintai &amp;ldquo;Store Now, Decrypt Later&amp;rdquo; dan Fajar PQC
&lt;/h2>&lt;p>Adalah terlalu dini untuk berpikir bahwa &amp;ldquo;Aman karena masih butuh lebih dari 10 tahun&amp;rdquo;. Saat ini, terdapat data rahasia negara, data medis, dan desain infrastruktur jangka panjang yang rahasianya harus dijamin untuk beberapa dekade mendatang.&lt;/p>
&lt;p>Yang menjadi perhatian di sini adalah metode serangan ** &amp;ldquo;Store Now, Decrypt Later&amp;rdquo; (Simpan Sekarang, Dekripsi Nanti) **. Negara atau organisasi yang berniat jahat dapat mencegat semua data komunikasi yang saat ini dienkripsi dengan RSA atau ECC, dan menyimpannya. Kemudian, dalam 10 atau 20 tahun, segera setelah komputer kuantum yang kuat selesai dibangun, mereka akan menggunakan algoritma Shor untuk memecahkan semua data yang lalu dan mengungkap rahasianya.&lt;/p>
&lt;p>Untuk mengatasi ancaman kelambatan waktu ini, proses standardisasi ** &amp;ldquo;Kriptografi Pasca-Kuantum&amp;rdquo; (PQC: Post-Quantum Cryptography) ** telah berjalan dengan kecepatan penuh, berpusat di NIST (National Institute of Standards and Technology AS).&lt;/p>
&lt;p>PQC adalah algoritma enkripsi baru berdasarkan masalah matematika yang sulit dipecahkan bahkan dengan komputer kuantum (dengan kata lain, algoritma Shor tidak dapat diterapkan). Pendekatan utamanya adalah:&lt;/p>
&lt;ul>
&lt;li>** Kriptografi berbasis Kisi (Lattice-based cryptography) **: Berdasarkan masalah seperti LWE (Learning with Errors). Ini arus utama dalam standardisasi NIST (Kyber, Dilithium, dll.).&lt;/li>
&lt;li>** Kriptografi berbasis Kode (Code-based cryptography) **: Mengandalkan sulitnya masalah decoding dari kode koreksi kesalahan.&lt;/li>
&lt;li>** Kriptografi Multivariat (Multivariate cryptography) **: Mengandalkan sulitnya memecahkan sistem persamaan polinomial kuadratik multivariat.&lt;/li>
&lt;li>** Tanda Tangan berbasis Hash (Hash-based signatures) **: Tanda tangan digital yang hanya mengandalkan keamanan fungsi hash.&lt;/li>
&lt;/ul>
&lt;p>Platform perangkat lunak utama seperti Google Chrome dan Apple iMessage sudah mulai menguji implementasi PQC atau integrasi hybrid.&lt;/p>
&lt;h2 id="kesimpulan">Kesimpulan
&lt;/h2>&lt;p>Komputer kuantum sedang bergeser dari impian fiksi ilmiah menjadi tantangan teknik dunia nyata. Algoritma Shor adalah pencapaian intelektual umat manusia yang hebat yang menggabungkan matematika dan mekanika kuantum, tetapi pada saat yang sama memegang &amp;ldquo;kekuatan destruktif&amp;rdquo; untuk mengguncang fondasi masyarakat digital kita.&lt;/p>
&lt;p>Enkripsi RSA tidak akan berhenti menjadi tidak berguna besok. Namun, mengingat evolusi teknologi kuantum dan risiko &amp;ldquo;Store Now, Decrypt Later&amp;rdquo;, migrasi skala besar dalam sejarah kriptografi ke PQC sudah dimulai. Kita sekarang menyaksikan garis depan pergeseran paradigma dalam keamanan informasi.&lt;/p></description></item><item><title>[Bedah Lengkap] Memahami Algoritma Kriptanalisis Terkuat "GNFS" dengan Mengimplementasikannya di C++</title><link>http://kenji.blog/id/p/gnfs-cpp-implementation/</link><pubDate>Sat, 05 Sep 2026 13:04:59 +0900</pubDate><guid>http://kenji.blog/id/p/gnfs-cpp-implementation/</guid><description>&lt;img src="http://kenji.blog/p/gnfs-cpp-implementation/gnfs_cpp_blog_eyecatch_1788580949217.jpg" alt="Featured image of post [Bedah Lengkap] Memahami Algoritma Kriptanalisis Terkuat "GNFS" dengan Mengimplementasikannya di C++" />&lt;h1 id="bedah-lengkap-memahami-algoritma-kriptanalisis-terkuat-gnfs-dengan-mengimplementasikannya-di-c">[Bedah Lengkap] Memahami Algoritma Kriptanalisis Terkuat &amp;ldquo;GNFS&amp;rdquo; dengan Mengimplementasikannya di C++
&lt;/h1>&lt;p>&amp;ldquo;Kriptografi RSA&amp;rdquo; mendukung dasar dari internet modern. Kekuatannya bergantung pada keyakinan matematis bahwa &amp;ldquo;memfaktorkan bilangan komposit yang sangat besar menjadi faktor prima secara praktis tidak mungkin dilakukan oleh komputer saat ini&amp;rdquo;.&lt;/p>
&lt;p>Namun, umat manusia tidak pernah menyerah. Saat ini, terdapat ** algoritma terkuat dan paling canggih buatan manusia ** untuk faktorisasi prima besar pada komputer klasik (komputer biasa, bukan komputer kuantum). Ini disebut ** &amp;ldquo;General Number Field Sieve (GNFS)&amp;rdquo; **.&lt;/p>
&lt;p>Dalam artikel ini, kami akan merilis secara lengkap kode implementasi C++ (menggunakan integer presisi ganda &lt;code>boost::multiprecision&lt;/code> dari pustaka Boost) yang memodelkan secara ketat logika komputasi canggih dari GNFS ini. Kami juga akan menjelaskan secara mendalam tentang &amp;ldquo;teori bilangan aljabar&amp;rdquo; di baliknya.&lt;/p>
&lt;p>Silakan nikmati misteri matematika dan kekuatan ilmu komputer yang menaklukkannya bersama dengan kode sumbernya.&lt;/p>
&lt;hr>
&lt;h2 id="1-kerangka-logika-canggih-gnfs-kode-sumber-lengkap">1. Kerangka Logika Canggih GNFS (Kode Sumber Lengkap)
&lt;/h2>&lt;p>Pertama, mari kita lihat gambaran keseluruhan implementasi GNFS C++ yang akan kita bahas kali ini. Sistem Number Field Sieve yang sebenarnya (seperti CADO-NFS) adalah sistem terdistribusi raksasa dengan ratusan ribu baris kode. Namun, kode ini dirancang dengan mengekstrak ** &amp;ldquo;5 alur (fase) esensial&amp;rdquo; ** yang membentuk GNFS menjadi kelas-kelas, memodelkannya dalam konfigurasi minimal tanpa kehilangan makna matematisnya.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt"> 10
&lt;/span>&lt;span class="lnt"> 11
&lt;/span>&lt;span class="lnt"> 12
&lt;/span>&lt;span class="lnt"> 13
&lt;/span>&lt;span class="lnt"> 14
&lt;/span>&lt;span class="lnt"> 15
&lt;/span>&lt;span class="lnt"> 16
&lt;/span>&lt;span class="lnt"> 17
&lt;/span>&lt;span class="lnt"> 18
&lt;/span>&lt;span class="lnt"> 19
&lt;/span>&lt;span class="lnt"> 20
&lt;/span>&lt;span class="lnt"> 21
&lt;/span>&lt;span class="lnt"> 22
&lt;/span>&lt;span class="lnt"> 23
&lt;/span>&lt;span class="lnt"> 24
&lt;/span>&lt;span class="lnt"> 25
&lt;/span>&lt;span class="lnt"> 26
&lt;/span>&lt;span class="lnt"> 27
&lt;/span>&lt;span class="lnt"> 28
&lt;/span>&lt;span class="lnt"> 29
&lt;/span>&lt;span class="lnt"> 30
&lt;/span>&lt;span class="lnt"> 31
&lt;/span>&lt;span class="lnt"> 32
&lt;/span>&lt;span class="lnt"> 33
&lt;/span>&lt;span class="lnt"> 34
&lt;/span>&lt;span class="lnt"> 35
&lt;/span>&lt;span class="lnt"> 36
&lt;/span>&lt;span class="lnt"> 37
&lt;/span>&lt;span class="lnt"> 38
&lt;/span>&lt;span class="lnt"> 39
&lt;/span>&lt;span class="lnt"> 40
&lt;/span>&lt;span class="lnt"> 41
&lt;/span>&lt;span class="lnt"> 42
&lt;/span>&lt;span class="lnt"> 43
&lt;/span>&lt;span class="lnt"> 44
&lt;/span>&lt;span class="lnt"> 45
&lt;/span>&lt;span class="lnt"> 46
&lt;/span>&lt;span class="lnt"> 47
&lt;/span>&lt;span class="lnt"> 48
&lt;/span>&lt;span class="lnt"> 49
&lt;/span>&lt;span class="lnt"> 50
&lt;/span>&lt;span class="lnt"> 51
&lt;/span>&lt;span class="lnt"> 52
&lt;/span>&lt;span class="lnt"> 53
&lt;/span>&lt;span class="lnt"> 54
&lt;/span>&lt;span class="lnt"> 55
&lt;/span>&lt;span class="lnt"> 56
&lt;/span>&lt;span class="lnt"> 57
&lt;/span>&lt;span class="lnt"> 58
&lt;/span>&lt;span class="lnt"> 59
&lt;/span>&lt;span class="lnt"> 60
&lt;/span>&lt;span class="lnt"> 61
&lt;/span>&lt;span class="lnt"> 62
&lt;/span>&lt;span class="lnt"> 63
&lt;/span>&lt;span class="lnt"> 64
&lt;/span>&lt;span class="lnt"> 65
&lt;/span>&lt;span class="lnt"> 66
&lt;/span>&lt;span class="lnt"> 67
&lt;/span>&lt;span class="lnt"> 68
&lt;/span>&lt;span class="lnt"> 69
&lt;/span>&lt;span class="lnt"> 70
&lt;/span>&lt;span class="lnt"> 71
&lt;/span>&lt;span class="lnt"> 72
&lt;/span>&lt;span class="lnt"> 73
&lt;/span>&lt;span class="lnt"> 74
&lt;/span>&lt;span class="lnt"> 75
&lt;/span>&lt;span class="lnt"> 76
&lt;/span>&lt;span class="lnt"> 77
&lt;/span>&lt;span class="lnt"> 78
&lt;/span>&lt;span class="lnt"> 79
&lt;/span>&lt;span class="lnt"> 80
&lt;/span>&lt;span class="lnt"> 81
&lt;/span>&lt;span class="lnt"> 82
&lt;/span>&lt;span class="lnt"> 83
&lt;/span>&lt;span class="lnt"> 84
&lt;/span>&lt;span class="lnt"> 85
&lt;/span>&lt;span class="lnt"> 86
&lt;/span>&lt;span class="lnt"> 87
&lt;/span>&lt;span class="lnt"> 88
&lt;/span>&lt;span class="lnt"> 89
&lt;/span>&lt;span class="lnt"> 90
&lt;/span>&lt;span class="lnt"> 91
&lt;/span>&lt;span class="lnt"> 92
&lt;/span>&lt;span class="lnt"> 93
&lt;/span>&lt;span class="lnt"> 94
&lt;/span>&lt;span class="lnt"> 95
&lt;/span>&lt;span class="lnt"> 96
&lt;/span>&lt;span class="lnt"> 97
&lt;/span>&lt;span class="lnt"> 98
&lt;/span>&lt;span class="lnt"> 99
&lt;/span>&lt;span class="lnt">100
&lt;/span>&lt;span class="lnt">101
&lt;/span>&lt;span class="lnt">102
&lt;/span>&lt;span class="lnt">103
&lt;/span>&lt;span class="lnt">104
&lt;/span>&lt;span class="lnt">105
&lt;/span>&lt;span class="lnt">106
&lt;/span>&lt;span class="lnt">107
&lt;/span>&lt;span class="lnt">108
&lt;/span>&lt;span class="lnt">109
&lt;/span>&lt;span class="lnt">110
&lt;/span>&lt;span class="lnt">111
&lt;/span>&lt;span class="lnt">112
&lt;/span>&lt;span class="lnt">113
&lt;/span>&lt;span class="lnt">114
&lt;/span>&lt;span class="lnt">115
&lt;/span>&lt;span class="lnt">116
&lt;/span>&lt;span class="lnt">117
&lt;/span>&lt;span class="lnt">118
&lt;/span>&lt;span class="lnt">119
&lt;/span>&lt;span class="lnt">120
&lt;/span>&lt;span class="lnt">121
&lt;/span>&lt;span class="lnt">122
&lt;/span>&lt;span class="lnt">123
&lt;/span>&lt;span class="lnt">124
&lt;/span>&lt;span class="lnt">125
&lt;/span>&lt;span class="lnt">126
&lt;/span>&lt;span class="lnt">127
&lt;/span>&lt;span class="lnt">128
&lt;/span>&lt;span class="lnt">129
&lt;/span>&lt;span class="lnt">130
&lt;/span>&lt;span class="lnt">131
&lt;/span>&lt;span class="lnt">132
&lt;/span>&lt;span class="lnt">133
&lt;/span>&lt;span class="lnt">134
&lt;/span>&lt;span class="lnt">135
&lt;/span>&lt;span class="lnt">136
&lt;/span>&lt;span class="lnt">137
&lt;/span>&lt;span class="lnt">138
&lt;/span>&lt;span class="lnt">139
&lt;/span>&lt;span class="lnt">140
&lt;/span>&lt;span class="lnt">141
&lt;/span>&lt;span class="lnt">142
&lt;/span>&lt;span class="lnt">143
&lt;/span>&lt;span class="lnt">144
&lt;/span>&lt;span class="lnt">145
&lt;/span>&lt;span class="lnt">146
&lt;/span>&lt;span class="lnt">147
&lt;/span>&lt;span class="lnt">148
&lt;/span>&lt;span class="lnt">149
&lt;/span>&lt;span class="lnt">150
&lt;/span>&lt;span class="lnt">151
&lt;/span>&lt;span class="lnt">152
&lt;/span>&lt;span class="lnt">153
&lt;/span>&lt;span class="lnt">154
&lt;/span>&lt;span class="lnt">155
&lt;/span>&lt;span class="lnt">156
&lt;/span>&lt;span class="lnt">157
&lt;/span>&lt;span class="lnt">158
&lt;/span>&lt;span class="lnt">159
&lt;/span>&lt;span class="lnt">160
&lt;/span>&lt;span class="lnt">161
&lt;/span>&lt;span class="lnt">162
&lt;/span>&lt;span class="lnt">163
&lt;/span>&lt;span class="lnt">164
&lt;/span>&lt;span class="lnt">165
&lt;/span>&lt;span class="lnt">166
&lt;/span>&lt;span class="lnt">167
&lt;/span>&lt;span class="lnt">168
&lt;/span>&lt;span class="lnt">169
&lt;/span>&lt;span class="lnt">170
&lt;/span>&lt;span class="lnt">171
&lt;/span>&lt;span class="lnt">172
&lt;/span>&lt;span class="lnt">173
&lt;/span>&lt;span class="lnt">174
&lt;/span>&lt;span class="lnt">175
&lt;/span>&lt;span class="lnt">176
&lt;/span>&lt;span class="lnt">177
&lt;/span>&lt;span class="lnt">178
&lt;/span>&lt;span class="lnt">179
&lt;/span>&lt;span class="lnt">180
&lt;/span>&lt;span class="lnt">181
&lt;/span>&lt;span class="lnt">182
&lt;/span>&lt;span class="lnt">183
&lt;/span>&lt;span class="lnt">184
&lt;/span>&lt;span class="lnt">185
&lt;/span>&lt;span class="lnt">186
&lt;/span>&lt;span class="lnt">187
&lt;/span>&lt;span class="lnt">188
&lt;/span>&lt;span class="lnt">189
&lt;/span>&lt;span class="lnt">190
&lt;/span>&lt;span class="lnt">191
&lt;/span>&lt;span class="lnt">192
&lt;/span>&lt;span class="lnt">193
&lt;/span>&lt;span class="lnt">194
&lt;/span>&lt;span class="lnt">195
&lt;/span>&lt;span class="lnt">196
&lt;/span>&lt;span class="lnt">197
&lt;/span>&lt;span class="lnt">198
&lt;/span>&lt;span class="lnt">199
&lt;/span>&lt;span class="lnt">200
&lt;/span>&lt;span class="lnt">201
&lt;/span>&lt;span class="lnt">202
&lt;/span>&lt;span class="lnt">203
&lt;/span>&lt;span class="lnt">204
&lt;/span>&lt;span class="lnt">205
&lt;/span>&lt;span class="lnt">206
&lt;/span>&lt;span class="lnt">207
&lt;/span>&lt;span class="lnt">208
&lt;/span>&lt;span class="lnt">209
&lt;/span>&lt;span class="lnt">210
&lt;/span>&lt;span class="lnt">211
&lt;/span>&lt;span class="lnt">212
&lt;/span>&lt;span class="lnt">213
&lt;/span>&lt;span class="lnt">214
&lt;/span>&lt;span class="lnt">215
&lt;/span>&lt;span class="lnt">216
&lt;/span>&lt;span class="lnt">217
&lt;/span>&lt;span class="lnt">218
&lt;/span>&lt;span class="lnt">219
&lt;/span>&lt;span class="lnt">220
&lt;/span>&lt;span class="lnt">221
&lt;/span>&lt;span class="lnt">222
&lt;/span>&lt;span class="lnt">223
&lt;/span>&lt;span class="lnt">224
&lt;/span>&lt;span class="lnt">225
&lt;/span>&lt;span class="lnt">226
&lt;/span>&lt;span class="lnt">227
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;iostream&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;vector&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;cmath&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;map&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;set&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;chrono&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;boost/multiprecision/cpp_int.hpp&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Menggunakan integer presisi ganda Boost.Multiprecision
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="k">using&lt;/span> &lt;span class="k">namespace&lt;/span> &lt;span class="n">boost&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">multiprecision&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// ============================================================================
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// [SOTA GNFS] General Number Field Sieve Kerangka Logika Tercanggih
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">//
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Kode ini secara ketat memodelkan 5 alur dari GNFS canggih
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// yang digunakan dalam CADO-NFS dll., sebagai desain kelas C++ (Boost).
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// ============================================================================
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">struct&lt;/span> &lt;span class="nc">Relation&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int64_t&lt;/span> &lt;span class="n">a&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int64_t&lt;/span> &lt;span class="n">b&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="kt">uint32_t&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">rational_primes&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="kt">uint32_t&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">algebraic_primes&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// ============================================================================
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Fase 1: Pemilihan Polinomial (Algoritma KleinJung)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// ============================================================================
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="k">class&lt;/span> &lt;span class="nc">PolynomialSelector&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">public&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int&lt;/span> &lt;span class="n">degree&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">cpp_int&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">f&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// Polinomial sisi aljabar f(x)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">cpp_int&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">g&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// Polinomial sisi rasional g(x) = x - m
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">cpp_int&lt;/span> &lt;span class="n">m&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">PolynomialSelector&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">d&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">:&lt;/span> &lt;span class="n">degree&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">d&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Pembuatan polinomial awal berdasarkan ekspansi basis-m (pada kenyataannya menggunakan reduksi basis kisi LLL yang lebih canggih)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="kt">void&lt;/span> &lt;span class="nf">select&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">const&lt;/span> &lt;span class="n">cpp_int&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;[Fase 1] Pemilihan Polinomial (Derajat &amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">degree&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;) dimulai...&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Ekspansi basis-m sederhana (derajat d)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// m = N^(1/d)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">cpp_int&lt;/span> &lt;span class="n">N_copy&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">m&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Perkiraan m yang sederhana (perkiraan tanpa menggunakan fungsi Boost)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">cpp_int&lt;/span> &lt;span class="n">low&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">high&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">while&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">low&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="n">high&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">cpp_int&lt;/span> &lt;span class="n">mid&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">low&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">high&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">low&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">cpp_int&lt;/span> &lt;span class="n">p&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">degree&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="o">++&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="n">p&lt;/span> &lt;span class="o">*=&lt;/span> &lt;span class="n">mid&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">p&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="n">m&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">mid&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">low&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">mid&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">else&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="n">high&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">mid&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">f&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">resize&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">degree&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">cpp_int&lt;/span> &lt;span class="n">temp&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="n">degree&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="o">++&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">f&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">temp&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="n">m&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">temp&lt;/span> &lt;span class="o">/=&lt;/span> &lt;span class="n">m&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">g&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">m&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">};&lt;/span> &lt;span class="c1">// g(x) = x - m
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34; -&amp;gt; m = &amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">m&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34; -&amp;gt; f(x) = &amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">degree&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;gt;=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="o">--&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">f&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;x^&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span> &lt;span class="o">&amp;gt;&lt;/span> &lt;span class="mi">0&lt;/span> &lt;span class="o">?&lt;/span> &lt;span class="s">&amp;#34; + &amp;#34;&lt;/span> &lt;span class="o">:&lt;/span> &lt;span class="s">&amp;#34;&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">[Fase 1] Selesai.&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// ============================================================================
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Fase 2: Lattice Sieving (Penyaringan Kisi)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// ============================================================================
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// GNFS modern tidak menggunakan Line Sieve (Penyaringan Garis), tetapi
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// menggunakan Special-q Lattice Sieving oleh Franke-Kleinjung sebagai standar de facto.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="k">class&lt;/span> &lt;span class="nc">LatticeSieve&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">uint32_t&lt;/span> &lt;span class="n">rational_bound&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">uint32_t&lt;/span> &lt;span class="n">algebraic_bound&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="kt">uint32_t&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">rational_fb&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="kt">uint32_t&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">algebraic_fb&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">public&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">LatticeSieve&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">uint32_t&lt;/span> &lt;span class="n">rb&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="kt">uint32_t&lt;/span> &lt;span class="n">ab&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">:&lt;/span> &lt;span class="n">rational_bound&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rb&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">algebraic_bound&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ab&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">void&lt;/span> &lt;span class="nf">generate_factor_bases&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;[Fase 2] Membuat Basis Faktor (Batas Rasional: &amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">rational_bound&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;, Batas Aljabar: &amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">algebraic_bound&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;)&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// (Dihilangkan) Pada kenyataannya, pembuatan bilangan prima dan pemfilteran dengan simbol Legendre dilakukan
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">Relation&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">sieve&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">const&lt;/span> &lt;span class="n">PolynomialSelector&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">poly&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;[Fase 2] Special-q Lattice Sieving aktif...&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">Relation&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">relations&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Implementasi tiruan: Saringan kisi sebenarnya memindai ruang memori ratusan GB dalam blok
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// (a, b) pasangan dipetakan ke kisi (a = i*q + j*...) untuk setiap prima khusus q,
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// dan saringan yang memaksimalkan efisiensi cache dijalankan.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Menambahkan satu relasi tiruan untuk demo
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">Relation&lt;/span> &lt;span class="n">r&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">r&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">a&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">17&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">r&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">b&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">r&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">rational_primes&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">r&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">algebraic_primes&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">7&lt;/span>&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">relations&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">push_back&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">r&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;[Fase 2] Ditemukan &amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">relations&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34; relasi.&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">relations&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// ============================================================================
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Fase 3: Filtering (Pembersihan Singleton dan Penggabungan Clique)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// ============================================================================
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="k">class&lt;/span> &lt;span class="nc">Filter&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">public&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">void&lt;/span> &lt;span class="n">reduce_matrix&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">Relation&lt;/span>&lt;span class="o">&amp;gt;&amp;amp;&lt;/span> &lt;span class="n">relations&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;[Fase 3] Menyaring Relasi...&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// 1. Penghapusan singleton (menghapus relasi dengan prima yang muncul hanya sekali)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// 2. Penggabungan clique (menggabungkan relasi untuk mengubah matriks jarang menjadi padat)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// Pada kenyataannya, algoritma seperti Union-Find digunakan untuk mengompres matriks ratusan juta baris menjadi beberapa juta baris.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;[Fase 3] Ukuran matriks dikurangi secara optimal.&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// ============================================================================
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Fase 4: Aljabar Linier di atas GF(2) (Metode Block Wiedemann)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// ============================================================================
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="k">class&lt;/span> &lt;span class="nc">LinearAlgebraGF2&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">public&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Dalam lingkungan superkomputer modern, daripada metode Block Lanczos,
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// metode Block Wiedemann (Implementasi Coppersmith) yang cocok untuk komputasi terdistribusi digunakan sebagai teknologi mutakhir.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="kt">int&lt;/span>&lt;span class="o">&amp;gt;&amp;gt;&lt;/span> &lt;span class="n">solve_nullspace&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">const&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">Relation&lt;/span>&lt;span class="o">&amp;gt;&amp;amp;&lt;/span> &lt;span class="n">relations&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;[Fase 4] Algoritma Block Wiedemann di atas GF(2) dimulai...&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Mengulangi operasi produk antara matriks jarang (sparse) dan vektor,
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// menemukan beberapa vektor solusi (kernel) yang memenuhi M * x = 0 mod 2.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="kt">int&lt;/span>&lt;span class="o">&amp;gt;&amp;gt;&lt;/span> &lt;span class="n">dependencies&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// Daftar dependensi
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// Data tiruan
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">dependencies&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">push_back&lt;/span>&lt;span class="p">({&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">});&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;[Fase 4] Ditemukan &amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">dependencies&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34; dependensi linier (kuadrat sempurna).&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">dependencies&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// ============================================================================
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Fase 5: Akar Kuadrat Aljabar (Algebraic Square Root)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// ============================================================================
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="k">class&lt;/span> &lt;span class="nc">AlgebraicSquareRoot&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">public&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">void&lt;/span> &lt;span class="n">compute_and_factor&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">const&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">Relation&lt;/span>&lt;span class="o">&amp;gt;&amp;amp;&lt;/span> &lt;span class="n">relations&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">const&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="kt">int&lt;/span>&lt;span class="o">&amp;gt;&amp;amp;&lt;/span> &lt;span class="n">dep&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">const&lt;/span> &lt;span class="n">cpp_int&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;[Fase 5] Komputasi Akar Kuadrat Aljabar...&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// 1. Komputasi akar kuadrat V dari sisi rasional (operasi bilangan bulat sederhana)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">cpp_int&lt;/span> &lt;span class="n">V&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// V = sqrt( prod(a - bm) ) mod N
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// 2. Komputasi akar kuadrat gamma dari sisi aljabar (Metode Montgomery, dll.)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// Menemukan elemen gamma dari field aljabar besar O_K dan memetakannya ke dunia nyata dengan homomorfisme phi
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// Y = phi(gamma) mod N
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">cpp_int&lt;/span> &lt;span class="n">Y&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Diasumsikan bahwa barisan Karakter Kuadrat (Quadratic Characters) telah ditambahkan di Fase 2 dan 4
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// untuk menghindari hambatan (Obstruction) dari grup kelas ideal dan grup unit.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34; -&amp;gt; Peta homomorfisme phi diterapkan.&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;[Fase 5] Menghitung FPB(V - Y, N)...&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">cpp_int&lt;/span> &lt;span class="n">factor&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">gcd&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">V&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">Y&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">);&lt;/span> &lt;span class="c1">// FPB(X-Y, N)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">factor&lt;/span> &lt;span class="o">&amp;gt;&lt;/span> &lt;span class="mi">1&lt;/span> &lt;span class="o">&amp;amp;&amp;amp;&lt;/span> &lt;span class="n">factor&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">================================================================&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;[SUKSES] Faktor non-trivial ditemukan: &amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">factor&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34; Faktor lain: &amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">N&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">factor&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;================================================================&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span> &lt;span class="k">else&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;[GAGAL] Solusi trivial. Mencoba dependensi berikutnya...&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// ============================================================================
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Alur Eksekusi Utama
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// ============================================================================
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;================================================================&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34; [SOTA GNFS] Mesin General Number Field Sieve (Boost C++) &amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;================================================================&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Bilangan komposit raksasa N yang ingin difaktorkan, seperti RSA-270
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">cpp_int&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;233108530344407544527637656910680524145619812480305449042948611968495918245135782867888369318577116418213919268572658314913060672626911354027609793166341626693946596196427744273886601876896313468704059066746903123910748277606548649151920812699309766587514735456594993207&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Derajat polinomial (untuk lebih dari 130 digit, biasanya dipilih derajat 5 hingga 6)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="kt">int&lt;/span> &lt;span class="n">degree&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">6&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Inisialisasi alur
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">PolynomialSelector&lt;/span> &lt;span class="n">poly_select&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">degree&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">LatticeSieve&lt;/span> &lt;span class="n">sieve&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">10000000&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">20000000&lt;/span>&lt;span class="p">);&lt;/span> &lt;span class="c1">// Batas sebenarnya adalah puluhan hingga ratusan juta
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">Filter&lt;/span> &lt;span class="n">filter&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">LinearAlgebraGF2&lt;/span> &lt;span class="n">linalg&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">AlgebraicSquareRoot&lt;/span> &lt;span class="n">sqrt_step&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">auto&lt;/span> &lt;span class="n">start_time&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">chrono&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">high_resolution_clock&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">now&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// 1. Pemilihan polinomial
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">poly_select&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">select&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">N&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// 2. Proses penyaringan (sieve)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">sieve&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">generate_factor_bases&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">Relation&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">relations&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sieve&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">sieve&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">poly_select&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// 3. Penyaringan (kompresi matriks)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">filter&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">reduce_matrix&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">relations&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// 4. Aljabar linier (Pencarian ruang nol di atas GF(2))
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="kt">int&lt;/span>&lt;span class="o">&amp;gt;&amp;gt;&lt;/span> &lt;span class="n">dependencies&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">linalg&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">solve_nullspace&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">relations&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// 5. Perhitungan akar kuadrat aljabar dan FPB
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="k">const&lt;/span> &lt;span class="k">auto&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="nl">dep&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">dependencies&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">sqrt_step&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">compute_and_factor&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">relations&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">dep&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">auto&lt;/span> &lt;span class="n">end_time&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">chrono&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">high_resolution_clock&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">now&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">chrono&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">duration&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="kt">double&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">elapsed&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">end_time&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">start_time&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">[Sistem] Alur SOTA GNFS selesai dalam &amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">elapsed&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">count&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34; detik.&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Lalu, bagaimana kode ini bekerja menghancurkan dinding kriptografi? Kita akan memecah dan menjelaskan algoritma yang cermat dan matematika lanjutan untuk setiap 5 fase.&lt;/p>
&lt;hr>
&lt;h2 id="2-tujuan-akhir-gnfs-x2-equiv-y2-pmod-n">2. Tujuan Akhir GNFS: $X^2 \equiv Y^2 \pmod N$
&lt;/h2>&lt;p>Tidak hanya GNFS, tujuan dari sebagian besar algoritma faktorisasi prima raksasa modern adalah menemukan pasangan non-trivial $(X, Y)$ yang memenuhi persamaan kongruensi berikut:&lt;/p>
$$X^2 \equiv Y^2 \pmod N$$
&lt;p>Persamaan ini berarti &amp;ldquo;sisa pembagian $X^2$ dan $Y^2$ oleh $N$ adalah sama&amp;rdquo;. Jika kita mengubah ini,
$X^2 - Y^2 \equiv 0 \pmod N$
Dengan kata lain, $(X-Y)(X+Y)$ adalah kelipatan $N$.&lt;/p>
&lt;p>Jika $X \not\equiv \pm Y \pmod N$ (solusi non-trivial), maka akan ada &amp;ldquo;pembagi persekutuan yang lebih besar dari 1 dan lebih kecil dari $N$&amp;rdquo; antara $(X-Y)$ dan $N$.
Di sini, jika kita menggunakan Algoritma Euclidean untuk menghitung ** $\gcd(X-Y, N)$ **, kita dapat dengan mudah menemukan faktor prima dari $N$.&lt;/p>
&lt;p>Namun, menemukan $X$ dan $Y$ ini seperti mencari jarum di padang pasir. Oleh karena itu, GNFS mengambil pendekatan jenius dengan mendistribusikan komputasi dengan menciptakan ** dua dunia **: &amp;ldquo;dunia bilangan bulat nyata&amp;rdquo; dan &amp;ldquo;dunia field aljabar polinomial&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="3-fase-1-pemilihan-polinomial-polynomial-selection">3. Fase 1: Pemilihan Polinomial (Polynomial Selection)
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="k">class&lt;/span> &lt;span class="nc">PolynomialSelector&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// ...
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="kt">void&lt;/span> &lt;span class="nf">select&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">const&lt;/span> &lt;span class="n">cpp_int&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// perhitungan m = N^(1/d) dan ekspansi basis-m
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// ...
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="n">degree&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="o">++&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">f&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">temp&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="n">m&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">temp&lt;/span> &lt;span class="o">/=&lt;/span> &lt;span class="n">m&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">g&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">m&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">};&lt;/span> &lt;span class="c1">// g(x) = x - m
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Langkah pertama GNFS adalah membuat &amp;ldquo;polinomial ajaib&amp;rdquo; untuk menjembatani dua dunia tersebut.
Untuk bilangan $N$ yang sangat besar, kita memilih bilangan bulat $m$. Biasanya kita memilih agar $m \approx N^{1/d}$ (dalam kode, kita mengasumsikan polinomial derajat $d=6$).&lt;/p>
&lt;p>Kemudian, $N$ diekspansi ke basis $m$, dan polinomial $f(x)$ dibangun menggunakan koefisien tersebut:
&lt;/p>
$$N = c_d m^d + c_{d-1} m^{d-1} + \dots + c_1 m + c_0$$
$$f(x) = c_d x^d + c_{d-1} x^{d-1} + \dots + c_1 x + c_0$$
&lt;p>Polinomial $f(x)$ ini memiliki sifat yang sangat penting yaitu ** &amp;ldquo;jika kita menyubstitusikan $m$ ke variabel $x$, nilainya tepat $N$ ($f(m) = N$)&amp;rdquo; **. Dengan kata lain, $f(m) \equiv 0 \pmod N$.
Polinomial sisi rasional didefinisikan sebagai $g(x) = x - m$.&lt;/p>
&lt;p>Sebagai hasilnya, ** &amp;ldquo;dunia field aljabar $\mathbb{Z}[\alpha]$&amp;rdquo; ** yang diatur oleh akar $\alpha$ dari $f(x)=0$ dan ** &amp;ldquo;dunia rasional (bilangan bulat) $\mathbb{Z}$&amp;rdquo; ** biasa akan terikat kuat oleh &amp;ldquo;Homomorfisme Ring&amp;rdquo; $x \to m$.&lt;/p>
&lt;p>Dalam CADO-NFS termutakhir dan lainnya, algoritma KleinJung dan algoritma reduksi basis kisi LLL digunakan untuk mencari &amp;ldquo;polinomial terbaik $f(x)$&amp;rdquo; di mana koefisien polinomial tidak menjadi terlalu besar, dan bilangan prima cenderung muncul (mudah menjadi mulus) pada langkah selanjutnya, yang memakan waktu pencarian berbulan-bulan.&lt;/p>
&lt;hr>
&lt;h2 id="4-fase-2-special-q-lattice-sieving-penyaringan-kisi-q-khusus">4. Fase 2: Special-q Lattice Sieving (Penyaringan Kisi q-Khusus)
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;span class="lnt">9
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="k">class&lt;/span> &lt;span class="nc">LatticeSieve&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// ...
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">Relation&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">sieve&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">const&lt;/span> &lt;span class="n">PolynomialSelector&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">poly&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// ...
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// Pasangan (a, b) dipetakan ke kisi untuk setiap bilangan prima khusus q,
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// dan saringan (sieve) yang memaksimalkan efisiensi cache dijalankan.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// ...
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Setelah kedua dunia disiapkan, langkah selanjutnya adalah mencari &amp;ldquo;bilangan mulus (smooth number - bilangan yang hanya terdiri dari faktor prima kecil)&amp;rdquo; di kedua dunia tersebut.
Jumlah pasangan integer $(a, b)$ yang tak terhingga dihasilkan, dan dua nilai berikut dihitung:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Nilai sisi rasional&lt;/strong> : $a - bm$&lt;/li>
&lt;li>&lt;strong>Norma sisi aljabar&lt;/strong> : $b^d f(a/b)$&lt;/li>
&lt;/ol>
&lt;p>Tujuan GNFS adalah mengumpulkan puluhan hingga ratusan juta dari ** &amp;ldquo;pasangan di mana baik nilai sisi rasional maupun aljabar dapat diuraikan sepenuhnya hanya menggunakan faktor prima kecil (Relasi)&amp;rdquo; **.&lt;/p>
&lt;p>Pada GNFS awal, digunakan &amp;ldquo;Line Sieve&amp;rdquo;, di mana pasangan $(a, b)$ disusun pada bidang $xy$ dan dibagi dengan bilangan prima secara berurutan. Namun, metode ini sangat lambat karena menyebabkan banyak cache miss saat mengakses memori.&lt;/p>
&lt;p>Oleh karena itu, kode modern tercanggih menggunakan metode yang disebut ** &amp;ldquo;Special-q Lattice Sieve&amp;rdquo; **.
Sebuah bilangan prima sedang yang cukup besar $q$ ditetapkan, dan hanya pasangan $(a, b)$ di mana &amp;ldquo;nilai sisi aljabar pasti habis dibagi $q$&amp;rdquo; yang dihitung. Pasangan $(a, b)$ yang memenuhi kondisi ini membentuk &amp;ldquo;Lattice (Kisi)&amp;rdquo; di bidang, membuat lompatan alamat yang dihitung konstan, dan sangat pas di cache L1/L2 CPU.
Pengenalan penyaringan kisi ini sangat meningkatkan kecepatan perhitungan GNFS.&lt;/p>
&lt;hr>
&lt;h2 id="5-fase-3-filtering-penyaringan">5. Fase 3: Filtering (Penyaringan)
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="k">class&lt;/span> &lt;span class="nc">Filter&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">public&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">void&lt;/span> &lt;span class="n">reduce_matrix&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">Relation&lt;/span>&lt;span class="o">&amp;gt;&amp;amp;&lt;/span> &lt;span class="n">relations&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// 1. Penghapusan Singleton (menghapus relasi dengan prima yang muncul hanya 1 kali)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// 2. Penggabungan Clique (menggabungkan relasi untuk memadatkan matriks yang jarang)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Ratusan juta relasi yang dikumpulkan oleh komputer di seluruh dunia selama beberapa bulan pada Fase 2. Namun, jika kita memasukkannya langsung ke &amp;ldquo;langkah memecahkan sistem persamaan (perhitungan matriks)&amp;rdquo; berikutnya, memori superkomputer akan penuh sesak.&lt;/p>
&lt;p>Oleh karena itu, proses kompresi ekstrem dari matriks yang disebut ** Filtering ** dilakukan.&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Penghapusan Singleton (Pembersihan Singularitas)&lt;/strong>
Misalkan sebuah bilangan prima besar $p$ muncul &amp;ldquo;hanya 1 kali&amp;rdquo; dari ratusan juta relasi. Tujuan kita adalah &amp;ldquo;membuat pangkat semua bilangan prima genap (kelipatan 2)&amp;rdquo;, jadi bilangan prima yang hanya muncul 1 kali tidak akan pernah genap.
Oleh karena itu, relasi yang mengandung prima tersebut langsung dihapus (dibersihkan) sebagai &amp;ldquo;sampah yang tidak berguna&amp;rdquo;. Karena hal ini terjadi berantai, ratusan juta baris data akan dipangkas.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Penggabungan Clique (Clique Merging)&lt;/strong>
Selanjutnya, dengan mengalikan (menambahkan) relasi yang berbagi bilangan prima tertentu, matriks yang jarang (sparse) dipadatkan (dikompres) sementara jumlah baris dikurangi (mirip dengan pencarian clique di teori graf).&lt;/p>
&lt;/li>
&lt;/ol>
&lt;p>Melalui pengoptimalan ini, matriks sparse raksasa dikompresi secara dramatis menjadi ukuran yang dapat dihitung.&lt;/p>
&lt;hr>
&lt;h2 id="6-fase-4-aljabar-linier-atas-gf2-metode-block-wiedemann">6. Fase 4: Aljabar Linier atas GF(2) (Metode Block Wiedemann)
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="k">class&lt;/span> &lt;span class="nc">LinearAlgebraGF2&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">public&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="kt">int&lt;/span>&lt;span class="o">&amp;gt;&amp;gt;&lt;/span> &lt;span class="n">solve_nullspace&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">const&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">Relation&lt;/span>&lt;span class="o">&amp;gt;&amp;amp;&lt;/span> &lt;span class="n">relations&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Mengulangi perhitungan produk matriks jarang dan vektor,
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// dan menemukan beberapa vektor solusi (kernel) untuk M * x = 0 mod 2.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Kini kita tiba di inti teka-teki.
Kita mengalikan relasi yang terkumpul untuk mencari ** &amp;ldquo;kombinasi di mana pangkat semua faktor prima menjadi genap&amp;rdquo; **.&lt;/p>
&lt;p>Secara matematis, menggunakan matriks raksasa $M$ yang elemen-elemennya mewakili &amp;ldquo;genap atau ganjil (yaitu 0 atau 1)&amp;rdquo; dari pangkat setiap prima, dan vektor $x$ yang merepresentasikan relasi mana yang digunakan, kita perlu menyelesaikan vektor $x$ (Null space / Kernel) sehingga:
&lt;strong>$M \cdot x \equiv 0 \pmod 2$&lt;/strong>&lt;/p>
&lt;p>Kita harus memecahkan sistem persamaan sebuah matriks sebesar jutaan baris × jutaan kolom. Eliminasi Gauss konvensional membutuhkan kompleksitas $O(N^3)$, yang berarti perhitungannya takkan selesai hingga alam semesta berakhir.&lt;/p>
&lt;p>Oleh karena itu, implementasi termutakhir menggunakan ** &amp;ldquo;Metode Block Wiedemann&amp;rdquo; **.
Ini adalah jenis metode subruang Krylov yang menemukan solusi melalui iterasi perkalian matriks-vektor, memanfaatkan fakta bahwa matriks $M$ sangat &amp;ldquo;sparse (sebagian besar 0)&amp;rdquo;.
Tidak seperti metode Block Lanczos yang lama, Block Wiedemann secara penuh membagi proses komputasi ke dalam berbagai cluster, menunjukkan kekuatan besar dalam komputasi awan terdistribusi modern maupun superkomputer.&lt;/p>
&lt;hr>
&lt;h2 id="7-fase-5-algebraic-square-root-akar-kuadrat-aljabar-dan-kehancuran-kriptografi">7. Fase 5: Algebraic Square Root (Akar Kuadrat Aljabar) dan Kehancuran Kriptografi
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="k">class&lt;/span> &lt;span class="nc">AlgebraicSquareRoot&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">public&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">void&lt;/span> &lt;span class="n">compute_and_factor&lt;/span>&lt;span class="p">(...)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// 1. Perhitungan akar kuadrat V dari sisi rasional
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">cpp_int&lt;/span> &lt;span class="n">V&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// 2. Perhitungan akar kuadrat gamma dari sisi aljabar
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">cpp_int&lt;/span> &lt;span class="n">Y&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// ...
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">cpp_int&lt;/span> &lt;span class="n">factor&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">gcd&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">V&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">Y&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">);&lt;/span> &lt;span class="c1">// GCD(X-Y, N)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Melalui perhitungan matriks di Fase 4, kita mendapatkan himpunan relasi $S$ yang &amp;ldquo;jika dikalikan, semua faktor primanya akan berpangkat genap&amp;rdquo;.
Dengan ini, kita dapat menyusun &amp;ldquo;kuadrat&amp;rdquo; pada masing-masing dunia rasional dan aljabar.&lt;/p>
&lt;p>Karena sisi rasional hanyalah perkalian bilangan bulat, akar kuadrat $V$ mudah dihitung.
&lt;/p>
$$V^2 = \prod_{S} (a - bm)$$
&lt;p>&lt;strong>Namun, neraka sesungguhnya terletak di &amp;ldquo;sisi aljabar&amp;rdquo;.&lt;/strong>
Di dunia field aljabar $\mathbb{Z}[\alpha]$, keunikan faktorisasi prima tidak berlaku, maka komputasi dilakukan menggunakan ideal. Perhitungan matriks hanya memastikan itu ** &amp;ldquo;menjadi kuadrat sebuah ideal&amp;rdquo;, tetapi tidak &amp;ldquo;menjamin bahwa ia merupakan kuadrat dari sebuah elemen ($\gamma^2$)&amp;rdquo; **.&lt;/p>
&lt;p>Di sinilah hambatan (Obstruction) kuat teori bilangan aljabar menghalangi, yang disebut &amp;ldquo;Hambatan Grup Kelas Ideal&amp;rdquo; dan &amp;ldquo;Hambatan Grup Unit&amp;rdquo;.
GNFS menembus dinding ini dengan menggunakan keajaiban yang disebut ** &amp;ldquo;Karakter Kuadrat (Quadratic Characters)&amp;rdquo; **.
Ke dalam matriks Fase 4, kita diam-diam menambahkan beberapa kolom residu kuadrat (Simbol Legendre) untuk beberapa puluh ideal prima khusus sebelumnya. Berkat hal ini, himpunan $S$ yang ditemukan akan lolos dari hambatan dengan probabilitas sangat tinggi, dan berhasil membentuk &amp;ldquo;kuadrat elemen sejati $\gamma^2$&amp;rdquo;.&lt;/p>
&lt;p>Tugas menemukan $\gamma$ (Akar Kuadrat Aljabar) dihitung dengan menggunakan algoritma yang sangat kompleks seperti Metode Montgomery.&lt;/p>
&lt;p>Dan pada akhirnya, akar kuadrat aljabar $\gamma$ di-warp ke dunia nyata oleh homomorfisme ring $\phi$ (mensubstitusikan $m$ ke $x$), untuk memperoleh $Y$.
Dengan menetapkan $V$ di sisi rasional sebagai $X$, maka persamaan mutlak yang kita cari pun sempurna terbentuk.&lt;/p>
&lt;p>&lt;strong>$$X^2 \equiv Y^2 \pmod N$$&lt;/strong>&lt;/p>
&lt;p>Yang tersisa hanyalah menghitung $\gcd(X-Y, N)$. Hanya dalam 0,001 detik, ketika faktor non-trivial tercetak di layar, Kriptografi RSA yang dianggap tak tergoyahkan hancur sepenuhnya.&lt;/p>
&lt;hr>
&lt;h2 id="kesimpulan">Kesimpulan
&lt;/h2>&lt;p>GNFS bukan sekadar teknik pemrograman.
Ini adalah mahakarya intelijen umat manusia yang menaklukkan &amp;ldquo;kedalaman matematika murni&amp;rdquo; seperti aljabar abstrak, teori ring, dan grup kelas ideal menggunakan &amp;ldquo;teknik tingkat tinggi&amp;rdquo; seperti arsitektur terdistribusi superkomputer dan optimasi cache.&lt;/p>
&lt;p>Informasi chat atau kartu kredit kita yang biasa kita kirim setiap hari, ternyata dilindungi oleh pertempuran matematis yang sangat besar seperti ini.&lt;/p>
&lt;p>Kami berharap melalui kerangka C++ ini, Anda bisa merasakan &amp;ldquo;romantisme matematika dan komputer&amp;rdquo; di balik algoritma pemecahan kode yang mutakhir.&lt;/p></description></item><item><title>Struktur Matematis Sejati dari General Number Field Sieve (GNFS)</title><link>http://kenji.blog/id/p/%E4%B8%80%E8%88%AC%E6%95%B0%E4%BD%93%E7%AF%A9%E6%B3%95gnfs%E3%81%AE%E7%9C%9F%E3%81%AE%E6%95%B0%E5%AD%A6%E7%9A%84%E6%A7%8B%E9%80%A0/</link><pubDate>Sat, 05 Sep 2026 02:26:13 +0900</pubDate><guid>http://kenji.blog/id/p/%E4%B8%80%E8%88%AC%E6%95%B0%E4%BD%93%E7%AF%A9%E6%B3%95gnfs%E3%81%AE%E7%9C%9F%E3%81%AE%E6%95%B0%E5%AD%A6%E7%9A%84%E6%A7%8B%E9%80%A0/</guid><description>&lt;img src="http://kenji.blog/p/%E4%B8%80%E8%88%AC%E6%95%B0%E4%BD%93%E7%AF%A9%E6%B3%95gnfs%E3%81%AE%E7%9C%9F%E3%81%AE%E6%95%B0%E5%AD%A6%E7%9A%84%E6%A7%8B%E9%80%A0/rsa_encryption_break_1788542156523.jpg" alt="Featured image of post Struktur Matematis Sejati dari General Number Field Sieve (GNFS)" />&lt;h1 id="struktur-matematis-sejati-dari-general-number-field-sieve-gnfs">Struktur Matematis Sejati dari General Number Field Sieve (GNFS)
&lt;/h1>&lt;p>Tujuan akhir dari GNFS adalah menemukan $X, Y$ sedemikian rupa sehingga $X^2 \equiv Y^2 \pmod N$.
Untuk mencapai ini, para matematikawan membangun sebuah jembatan antara &lt;strong>&amp;ldquo;dunia bilangan bulat nyata&amp;rdquo;&lt;/strong> dan &lt;strong>&amp;ldquo;dunia medan aljabar&amp;rdquo;&lt;/strong>. Jembatan tersebut adalah &amp;ldquo;homomorfisme&amp;rdquo;.&lt;/p>
&lt;h2 id="tahap-1-homomorfisme-homomorphism-yang-menghubungkan-dunia">Tahap 1: &amp;ldquo;Homomorfisme&amp;rdquo; (Homomorphism) yang Menghubungkan Dunia
&lt;/h2>&lt;h3 id="1-pemilihan-polinomial-dan-definisi-akar">1. Pemilihan Polinomial dan Definisi Akar
&lt;/h3>&lt;p>Untuk sebuah bilangan komposit raksasa $N$, kita memilih sebuah bilangan bulat $m$ dan polinomial $f(x)$ sedemikian rupa sehingga $f(m) \equiv 0 \pmod N$.
(Contoh: Ekspansi $N$ dalam basis $m$, dan buat $f(x)$ dari koefisien-koefisiennya. Dalam hal ini, $f(x)$ diasumsikan tak tereduksi di atas medan bilangan rasional $\mathbb{Q}$).&lt;/p>
&lt;p>Selanjutnya, misalkan $\alpha$ adalah salah satu &amp;ldquo;akar bilangan kompleks&amp;rdquo; dari persamaan $f(x) = 0$.
Tentu saja, $f(\alpha) = 0$. $\alpha$ bukanlah bilangan bulat, melainkan bilangan kompleks (bilangan aljabar) yang dapat memuat akar atau bilangan imajiner.&lt;/p>
&lt;h3 id="2-konstruksi-cincin-ring-dan-homomorfisme">2. Konstruksi Cincin (Ring) dan Homomorfisme
&lt;/h3>&lt;p>Di sini, kita menyiapkan dua &amp;ldquo;cincin&amp;rdquo; matematis (dunia di mana penjumlahan dan perkalian didefinisikan):&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Dunia A: $\mathbb{Z}[\alpha]$&lt;/strong> (Cincin bilangan bulat aljabar yang mengandung $\alpha$)
Ini adalah dunia bilangan yang diekspresikan dalam bentuk $a + b\alpha + c\alpha^2 + \dots$.&lt;/li>
&lt;li>&lt;strong>Dunia B: $\mathbb{Z}/N\mathbb{Z}$&lt;/strong> (Cincin sisa pembagian dengan $N$)
Dunia kongruensi (modulo) yang hanya terdiri dari bilangan bulat dari $0$ hingga $N-1$.&lt;/li>
&lt;/ul>
&lt;p>Di sini, kita mendefinisikan sebuah pemetaan (mapping) $\phi$ dari Dunia A ke Dunia B sebagai berikut:
&lt;strong>$$\phi : \mathbb{Z}[\alpha] \to \mathbb{Z}/N\mathbb{Z}$$&lt;/strong>
&lt;strong>$$\phi(\alpha) = m \pmod N$$&lt;/strong>&lt;/p>
&lt;p>Pemetaan $\phi$ ini adalah operasi magis yang sepenuhnya menukar variabel $\alpha$ di Dunia A dengan bilangan bulat $m$ di Dunia B.
$\phi$ ini memiliki sifat yang sangat kuat yang disebut &lt;strong>&amp;ldquo;Homomorfisme Cincin&amp;rdquo; (Ring Homomorphism)&lt;/strong>.
Homomorfisme adalah sifat &lt;strong>&amp;ldquo;berpindah ke dunia lain tanpa merusak struktur penjumlahan dan perkalian&amp;rdquo;&lt;/strong>. Artinya, persamaan berikut berlaku:&lt;/p>
&lt;ul>
&lt;li>$\phi(X \times Y) = \phi(X) \times \phi(Y)$&lt;/li>
&lt;li>$\phi(X^2) = \phi(X)^2$&lt;/li>
&lt;/ul>
&lt;p>Apa arti semua ini? Jika kita dapat membuat &lt;strong>&amp;ldquo;bentuk kuadrat&amp;rdquo; ($\gamma^2$)&lt;/strong> dari elemen kompleks $\gamma$ di &amp;ldquo;Dunia A&amp;rdquo; (dunia $\alpha$), kita dapat melompat ke &amp;ldquo;Dunia B&amp;rdquo; (dunia sisa) dengan $\phi$, dan &lt;strong>bentuk kuadrat $\phi(\gamma)^2$ akan dipertahankan dengan sempurna&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="tahap-2-runtuhnya-faktorisasi-prima-dan-lahirnya-ideal">Tahap 2: Runtuhnya Faktorisasi Prima dan Lahirnya &amp;ldquo;Ideal&amp;rdquo;
&lt;/h2>&lt;p>Kita ingin mengumpulkan banyak elemen $(a - b\alpha)$ yang sesuai dalam Dunia A ($\mathbb{Z}[\alpha]$) dan mengalikannya bersama untuk membuat &amp;ldquo;kuadrat sempurna&amp;rdquo; (elemen kuadrat).
Biasanya, kita dapat melakukan &amp;ldquo;faktorisasi prima&amp;rdquo; pada $(a - b\alpha)$ yang dikumpulkan, dan menggabungkannya sehingga semua pangkat bilangan prima menjadi genap (dipecahkan menggunakan matriks) untuk menghasilkan bentuk kuadrat.&lt;/p>
&lt;p>&lt;strong>Namun, di sinilah tembok keputusasaan aljabar menghalangi jalan.&lt;/strong>
Di dunia medan aljabar seperti $\mathbb{Z}[\alpha]$, &lt;strong>&amp;ldquo;keunikan faktorisasi prima (setiap bilangan dapat dinyatakan hanya dengan satu cara sebagai perkalian bilangan prima)&amp;rdquo;&lt;/strong> yang kita pelajari di sekolah menengah &lt;strong>runtuh sama sekali&lt;/strong>.&lt;/p>
&lt;p>(Contoh: Di beberapa dunia medan aljabar, $6 = 2 \times 3$, dan pada saat yang sama $6 = (1+\sqrt{-5}) \times (1-\sqrt{-5})$, sehingga mustahil untuk mengetahui mana yang merupakan bilangan prima sejati).&lt;/p>
&lt;p>Jika faktorisasi prima tidak unik, teka-teki &amp;ldquo;menghitung bilangan prima hingga jumlahnya genap&amp;rdquo; (metode saringan) pada prinsipnya tidak dapat dijalankan.&lt;/p>
&lt;h3 id="keselamatan-dari-kummer-dan-dedekind-ideal">Keselamatan dari Kummer dan Dedekind: &amp;ldquo;Ideal&amp;rdquo;
&lt;/h3>&lt;p>Keruntuhan ini diselamatkan oleh konsep &lt;strong>&amp;ldquo;Ideal&amp;rdquo; (Bilangan Ideal)&lt;/strong> yang diciptakan oleh matematikawan abad ke-19.
Alih-alih melihat elemen itu sendiri, dengan mempertimbangkan &amp;ldquo;himpunan kelipatan (ideal)&amp;rdquo; yang dihasilkan oleh elemen tersebut, faktorisasi prima menjadi mungkin kembali.&lt;/p>
&lt;p>Dalam cincin bilangan bulat dari medan aljabar $\mathcal{O}_K$ (cincin yang lebih sempurna yang mengandung $\mathbb{Z}[\alpha]$), bahkan jika elemen tidak dapat difaktorkan secara unik, terbukti bahwa &lt;strong>&amp;ldquo;Ideal selalu dapat difaktorkan secara unik sebagai hasil kali &amp;lsquo;Ideal Prima&amp;rsquo; ($\mathfrak{p}$)&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;p>Oleh karena itu, di GNFS, alih-alih memfaktorkan elemen $(a - b\alpha)$ itu sendiri, kita melakukan &lt;strong>faktorisasi ideal prima pada ideal utama $\langle a - b\alpha \rangle$&lt;/strong> yang dihasilkannya.&lt;/p>
&lt;hr>
&lt;h2 id="tahap-3-norma-norm-dan-dua-saringan-sieve">Tahap 3: Norma (Norm) dan Dua Saringan (Sieve)
&lt;/h2>&lt;p>Lalu, bagaimana kita tahu ke ideal prima mana ideal $\langle a - b\alpha \rangle$ terurai?
Di sini kita menggunakan sebuah fungsi yang disebut &lt;strong>&amp;ldquo;Norma&amp;rdquo; (Norm)&lt;/strong>. Norma adalah fungsi yang mengubah elemen kompleks dari medan aljabar menjadi &amp;ldquo;bilangan bulat biasa $\mathbb{Z}$&amp;rdquo; di dunia nyata.&lt;/p>
&lt;p>Norma dari elemen $(a - b\alpha)$ dihitung dengan polinomial sederhana $b^d f(a/b)$ (di mana $d$ adalah derajat $f(x)$).&lt;/p>
&lt;p>Berdasarkan teorema aljabar, diketahui bahwa &lt;strong>&amp;ldquo;jika norma suatu ideal dapat difaktorkan sepenuhnya oleh bilangan prima kecil (halus), maka ideal aslinya juga dapat difaktorkan sepenuhnya oleh ideal prima kecil&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;p>Oleh karena itu, GNFS secara bersamaan menghitung dua hal berikut untuk sejumlah besar pasangan bilangan bulat $(a, b)$, dan hanya mengumpulkan pasangan di mana keduanya adalah &amp;ldquo;bilangan halus&amp;rdquo;:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Saringan Rasional (Rational Sieve)&lt;/strong>: $a - bm$ (nilai di dunia nyata)&lt;/li>
&lt;li>&lt;strong>Saringan Aljabar (Algebraic Sieve)&lt;/strong>: $b^d f(a/b)$ (norma di dunia medan aljabar)&lt;/li>
&lt;/ol>
&lt;p>Kita mengumpulkan puluhan juta pasangan $(a, b)$ yang keduanya halus, memecahkan data faktorisasi prima ideal (berapa banyak ideal prima yang ada) sebagai matriks raksasa (aljabar linear atas GF(2)), dan menemukan himpunan $S$ dari pasangan sedemikian rupa sehingga &amp;ldquo;ketika dikalikan, pangkat semua ideal prima menjadi genap&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="tahap-4-dua-rintangan-dan-grup-kelas-ideal">Tahap 4: Dua &amp;ldquo;Rintangan&amp;rdquo; dan Grup Kelas Ideal
&lt;/h2>&lt;p>Melalui perhitungan matriks, kita menemukan bahwa mengalikan semua ideal $(a - b\alpha)$ dalam himpunan $S$ menghasilkan kuadrat dari suatu ideal $I$.
&lt;/p>
$$\prod_{S} \langle a - b\alpha \rangle = I^2$$
&lt;p>&lt;strong>Namun, ini belum berakhir. Tembok matematika terdalam dan tersulit di GNFS ada di sini.&lt;/strong>&lt;/p>
&lt;p>Apa yang pada akhirnya kita inginkan bukanlah &amp;ldquo;kuadrat dari ideal&amp;rdquo;, melainkan &lt;strong>&amp;ldquo;kuadrat dari elemen&amp;rdquo; ($\gamma^2$)&lt;/strong> untuk disubstitusikan ke dalam pemetaan $\phi$.
Hanya karena ideal dikuadratkan, tidak berarti elemen itu sendiri dikuadratkan. Ada &lt;strong>dua rintangan matematika yang sangat kuat (Obstructions)&lt;/strong> di sini.&lt;/p>
&lt;h3 id="rintangan-1-tembok-grup-kelas-ideal-ideal-class-group">Rintangan 1: Tembok Grup Kelas Ideal (Ideal Class Group)
&lt;/h3>&lt;p>Ideal $I$ tidak selalu &amp;ldquo;ideal yang dihasilkan oleh satu elemen (ideal utama)&amp;rdquo;.
Mustahil untuk mengekstrak elemen spesifik $\gamma$ dari ideal yang bukan merupakan ideal utama.&lt;/p>
&lt;p>Di sinilah konsep &lt;strong>&amp;ldquo;Grup Kelas Ideal (Class Group, $Cl_K$)&amp;rdquo;&lt;/strong> muncul. Grup Kelas Ideal adalah sebuah grup yang mengukur &amp;ldquo;berapa banyak ideal non-utama yang ada di dunia medan aljabar (seberapa banyak keunikan faktorisasi prima telah rusak)&amp;rdquo;.
Bahkan jika $\prod \langle a - b\alpha \rangle$ menjadi $I^2$, jika $I$ bukan elemen identitas (ideal utama) dalam grup kelas ideal, kita tidak dapat menariknya kembali menjadi kuadrat elemen.&lt;/p>
&lt;h3 id="rintangan-2-tembok-grup-unit-unit-group">Rintangan 2: Tembok Grup Unit (Unit Group)
&lt;/h3>&lt;p>Misalkan kita beruntung dan $I$ adalah ideal utama $\langle \gamma \rangle$.
Maka, $\prod \langle a - b\alpha \rangle = \langle \gamma^2 \rangle$.
Anda mungkin berpikir, &amp;ldquo;Bagus, elemennya juga kuadrat!&amp;rdquo;, tetapi Anda salah besar.&lt;/p>
&lt;p>Fakta bahwa ideal (himpunan kelipatan) sama tidak berarti bahwa elemen-elemennya sepenuhnya sama. Akan selalu ada pergeseran berupa &lt;strong>&amp;ldquo;Unit&amp;rdquo; (bilangan yang kebalikannya juga berupa bilangan bulat, seperti 1 atau -1)&lt;/strong>.
Dengan kata lain, persamaan elemen yang sebenarnya adalah sebagai berikut:
&lt;/p>
$$\prod_{S} (a - b\alpha) = u \cdot \gamma^2$$
&lt;p>
(di mana $u$ adalah elemen dari grup unit $U_K$)&lt;/p>
&lt;p>Kecuali unit $u$ ini sendiri adalah kuadrat dari sesuatu (elemen kuadrat), sisi kiri tidak akan pernah bisa menjadi &amp;ldquo;kuadrat elemen yang sempurna&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="tahap-5-sihir-adleman-karakter-kuadratik-quadratic-characters">Tahap 5: Sihir Adleman &amp;ldquo;Karakter Kuadratik&amp;rdquo; (Quadratic Characters)
&lt;/h2>&lt;p>Rintangan grup kelas ideal dan rintangan grup unit. Bagaimana kita mengatasi keduanya?
Di sinilah muncul metode jenius yang disebut &lt;strong>&amp;ldquo;Karakter Kuadratik&amp;rdquo; (Quadratic Characters)&lt;/strong>, yang diperkenalkan oleh kriptografer Leonard Adleman (huruf &amp;ldquo;A&amp;rdquo; di RSA) dan rekan-rekannya.&lt;/p>
&lt;p>Untuk menentukan apakah &amp;ldquo;suatu elemen benar-benar kuadrat sempurna di medan aljabar&amp;rdquo;, kita menggunakan versi medan aljabar dari simbol Legendre (residu kuadrat).
Pada matriks raksasa tadi (teka-teki untuk membuat jumlah ideal prima genap), kita secara diam-diam menambahkan beberapa lusin kondisi tambahan (kolom) yang menyatakan bahwa &lt;strong>&amp;ldquo;karakter kuadratik untuk beberapa ideal prima khusus $\mathfrak{q}$ juga semuanya menjadi $1$ (genap)&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;p>Ketika kita menemukan himpunan $S$ yang memenuhi kondisi tambahan ini melalui perhitungan matriks, sebuah teorema mendalam dari teori bilangan aljabar menjamin bahwa &lt;strong>&amp;ldquo;baik rintangan grup kelas ideal maupun rintangan grup unit secara alami akan hilang dengan probabilitas yang sangat tinggi&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;p>Dengan ini, kita akhirnya mendapatkan persamaan yang sebenarnya:
&lt;/p>
$$\prod_{S} (a - b\alpha) = \gamma^2$$
&lt;hr>
&lt;h2 id="tahap-akhir-penyatuan-dunia-dan-keruntuhan-kriptografi">Tahap Akhir: Penyatuan Dunia dan Keruntuhan Kriptografi
&lt;/h2>&lt;p>Akhirnya, semua potongan teka-teki sudah lengkap.&lt;/p>
&lt;p>&lt;strong>[Elemen di Dunia Medan Aljabar (Dunia A)]&lt;/strong>
$\gamma^2 = \prod (a - b\alpha)$
(Gunakan algoritma akar kuadrat untuk menemukan $\gamma$)&lt;/p>
&lt;p>&lt;strong>[Elemen di Dunia Nyata (Dunia Rasional)]&lt;/strong>
$V^2 = \prod (a - bm)$
(Ini hanyalah perkalian bilangan bulat biasa, jadi akar kuadrat $V$ dapat ditemukan dengan mudah)&lt;/p>
&lt;p>Sekarang, saatnya jembatan ajaib pertama yang kita buat, &lt;strong>homomorfisme $\phi$&lt;/strong>, beraksi.
Kita melompati elemen $\gamma$ dari Dunia A ke Dunia B (dunia sisa $N$) menggunakan $\phi$ (pemetaan yang menyubstitusikan $m$ ke dalam $\alpha$).
&lt;/p>
$$Y = \phi(\gamma) \pmod N$$
&lt;p>Di sisi lain, kita membawa $V$ yang dibuat di dunia nyata langsung ke dunia sisa dan menyebutnya $X$.
&lt;/p>
$$X = V \pmod N$$
&lt;p>Berkat sifat &amp;ldquo;mempertahankan struktur&amp;rdquo; dari homomorfisme, hubungan kuadrat yang berlaku di Dunia A dipertahankan dengan sempurna di Dunia B (dunia modulo $N$).
Lebih jauh lagi, karena pasangan asli $(a, b)$ dibentuk dengan cara yang berkorespondensi sebagai $a - b\alpha$ dan $a - bm$, $X$ dan $Y$ ini saling bertabrakan di dunia modulo $N$ dan menghasilkan persamaan absolut berikut:&lt;/p>
&lt;p>&lt;strong>$$X^2 \equiv Y^2 \pmod N$$&lt;/strong>&lt;/p>
&lt;p>Sekarang, tinggal berdoa agar $X$ dan $Y$ bukan merupakan solusi trivial ($X \equiv \pm Y$), lalu kita hitung:
&lt;strong>$\gcd(X - Y, N)$&lt;/strong>&lt;/p>
&lt;p>Jika itu adalah solusi non-trivial, algoritma Euclidean akan melesat dalam 0,001 detik, dan bilangan prima rahasia $p$ dan $q$, yang merupakan jantung kriptografi RSA, akan dicetak di layar keluaran.&lt;/p>
&lt;hr>
&lt;p>Inilah bentuk utuh dari &lt;strong>&amp;ldquo;General Number Field Sieve (GNFS)&amp;rdquo;&lt;/strong> yang mengumpulkan intisari matematika modern.&lt;/p></description></item><item><title>Apa Itu Matematika Terkuat Umat Manusia 'General Number Field Sieve (GNFS)' yang Membobol Kriptografi Internet?</title><link>http://kenji.blog/id/p/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E3%81%AE%E6%9A%97%E5%8F%B7%E3%82%92%E7%A0%B4%E3%82%8B%E4%BA%BA%E9%A1%9E%E6%9C%80%E5%BC%B7%E3%81%AE%E6%95%B0%E5%AD%A6%E4%B8%80%E8%88%AC%E6%95%B0%E4%BD%93%E7%AF%A9%E6%B3%95gnfs%E3%81%A8%E3%81%AF/</link><pubDate>Sat, 05 Sep 2026 02:09:08 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E3%81%AE%E6%9A%97%E5%8F%B7%E3%82%92%E7%A0%B4%E3%82%8B%E4%BA%BA%E9%A1%9E%E6%9C%80%E5%BC%B7%E3%81%AE%E6%95%B0%E5%AD%A6%E4%B8%80%E8%88%AC%E6%95%B0%E4%BD%93%E7%AF%A9%E6%B3%95gnfs%E3%81%A8%E3%81%AF/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E3%81%AE%E6%9A%97%E5%8F%B7%E3%82%92%E7%A0%B4%E3%82%8B%E4%BA%BA%E9%A1%9E%E6%9C%80%E5%BC%B7%E3%81%AE%E6%95%B0%E5%AD%A6%E4%B8%80%E8%88%AC%E6%95%B0%E4%BD%93%E7%AF%A9%E6%B3%95gnfs%E3%81%A8%E3%81%AF/gnfs_two_worlds_1788542142485.jpg" alt="Featured image of post Apa Itu Matematika Terkuat Umat Manusia 'General Number Field Sieve (GNFS)' yang Membobol Kriptografi Internet?" />&lt;h1 id="apa-itu-matematika-terkuat-umat-manusia-general-number-field-sieve-gnfs-yang-membobol-kriptografi-internet">Apa Itu Matematika Terkuat Umat Manusia &amp;ldquo;General Number Field Sieve (GNFS)&amp;rdquo; yang Membobol Kriptografi Internet?
&lt;/h1>&lt;p>Internet yang kita gunakan setiap hari. Semua komunikasi, seperti pesan LINE, YouTube, dan belanja di Amazon, dilindungi oleh &amp;ldquo;kriptografi&amp;rdquo;.
Saat ini, kriptografi yang paling banyak digunakan di dunia adalah &amp;ldquo;Sandi RSA&amp;rdquo;.&lt;/p>
&lt;p>Inti dari pertahanan Sandi RSA sangatlah sederhana. Ia memanfaatkan sifat matematika bahwa &lt;strong>&amp;ldquo;faktorisasi prima dari angka yang sangat besar tidak dapat dipecahkan bahkan oleh komputer sekalipun&amp;rdquo;&lt;/strong> .
Sebagai contoh, untuk &amp;ldquo;15&amp;rdquo;, kita langsung tahu bahwa itu adalah &amp;ldquo;3 × 5&amp;rdquo;, tetapi saat angkanya menjadi &amp;ldquo;270 digit&amp;rdquo;, menggabungkan seluruh superkomputer di dunia pun akan memakan waktu ratusan juta tahun untuk memecahkannya.&lt;/p>
&lt;p>Namun, para matematikawan tidak tinggal diam. Untuk menembus pertahanan sandi yang tak tertembus ini, umat manusia telah menciptakan sebuah algoritma (prosedur perhitungan) ajaib yang disebut &lt;strong>&amp;ldquo;General Number Field Sieve (GNFS)&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Dalam artikel ini, tanpa menggunakan istilah teknis sama sekali, hanya dengan pengetahuan &lt;strong>matematika sekolah menengah pertama (faktorisasi prima, aljabar, faktor persekutuan terbesar)&lt;/strong> , kami akan menjelaskan langkah demi langkah secara lengkap bagaimana &amp;ldquo;algoritma terkuat umat manusia&amp;rdquo; ini memecahkan sandi!&lt;/p>
&lt;hr>
&lt;h2 id="bab-1-tujuan-dekripsi-adalah-rumus-kelas-3-smp">Bab 1: Tujuan Dekripsi adalah &amp;ldquo;Rumus Kelas 3 SMP&amp;rdquo;
&lt;/h2>&lt;p>Jurus andalan terbesar untuk menghadapi faktorisasi prima angka raksasa. Itu adalah rumus yang dipelajari di kelas 3 SMP ini.&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>$X^2 - Y^2 = (X + Y)(X - Y)$&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>Mungkin Anda berpikir, &amp;ldquo;Hah, rumus dasar seperti ini bisa memecahkan sandi?&amp;rdquo;. Namun, inilah kunci utama yang mengungkap segalanya.&lt;/p>
&lt;p>Tujuan utama untuk memecahkan sandi adalah, terhadap angka raksasa $N$, menemukan &lt;strong>&amp;ldquo;angka ($X$ dan $Y$) di mana sisa pembagian $X^2$ dan $Y^2$ oleh $N$ adalah sama&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;h3 id="mengapa-sisa-yang-sama-dapat-memecahkan-sandi">Mengapa &amp;ldquo;Sisa yang Sama&amp;rdquo; Dapat Memecahkan Sandi?
&lt;/h3>&lt;p>Misalkan dua angka, $X^2$ dan $Y^2$, memiliki &amp;ldquo;sisa yang sama jika dibagi dengan $N$&amp;rdquo;.
Sisa yang sama berarti, hasil pengurangannya yaitu &lt;strong>&amp;quot;$X^2 - Y^2$&amp;quot; pasti bisa dibagi habis oleh $N$ (merupakan kelipatan $N$)&lt;/strong> .&lt;/p>
&lt;p>Di sini, mari asumsikan angka raksasa $N$ yang digunakan dalam sandi terbentuk dari perkalian dua bilangan prima rahasia ($p$ dan $q$) ($N = p \times q$).&lt;/p>
&lt;p>Jika $X^2 - Y^2$ difaktorkan, hasilnya adalah &lt;strong>$(X - Y)(X + Y)$&lt;/strong> .
Fakta bahwa ini adalah kelipatan $N$ berarti di suatu tempat dalam perkalian ini tersembunyi bilangan prima rahasia $p$ dan $q$.&lt;/p>
&lt;p>Keajaiban terjadi di sini.
Probabilitas secara matematis bahwa dua bilangan prima $p$ dan $q$ akan masuk ke ruangan yang berbeda, yaitu &lt;strong>&amp;quot;$p$ ke ruangan $(X - Y)$&amp;quot; dan &amp;ldquo;$q$ ke ruangan $(X + Y)$&amp;rdquo;&lt;/strong> , adalah &lt;strong>50% (setengah)&lt;/strong> .&lt;/p>
&lt;p>Dengan asumsi hanya bilangan prima $p$ yang masuk ke ruangan $(X - Y)$, mari kita hitung &lt;strong>&amp;ldquo;faktor persekutuan terbesar (komponen terbesar yang sama)&amp;rdquo;&lt;/strong> dari $(X - Y)$ dan $N$.&lt;/p>
&lt;ul>
&lt;li>Isi $(X - Y)$ = $p \times$ angka tertentu&lt;/li>
&lt;li>Isi $N$ = $p \times q$
Satu-satunya komponen yang sama adalah &lt;strong>&amp;quot;$p$&amp;quot;&lt;/strong> !&lt;/li>
&lt;/ul>
&lt;p>Artinya, saat kita menghitung faktor persekutuan terbesar, bilangan prima rahasia $p$ akan langsung terungkap, dan sandi akan berhasil dipecahkan sepenuhnya. (&lt;em>Faktor persekutuan terbesar bisa dihitung dalam sekejap bahkan menggunakan ponsel dengan &amp;ldquo;Algoritma Euclidean&amp;rdquo;&lt;/em>)&lt;/p>
&lt;p>&lt;strong>[Kolom Singkat: Mengapa Pangkat Dua? Pangkat Tiga atau Dikali Dua Tidak Bisa?]&lt;/strong>&lt;/p>
&lt;blockquote>
&lt;p>Jika &amp;ldquo;$2X - 2Y$&amp;rdquo;, hasilnya adalah $2(X - Y)$, sehingga hanya ada satu ruangan dan bilangan prima tidak dapat dipisahkan. Jika &amp;ldquo;$X^3 - Y^3$&amp;rdquo;, ukuran ruangan akan tidak seimbang, sehingga perhitungan menjadi sia-sia dan berat. Untuk memisahkan dua bilangan prima, membaginya dengan indah menjadi dua ruangan &amp;ldquo;pangkat dua&amp;rdquo; adalah yang paling efisien.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="bab-2-bagaimana-mencari-x-dan-y-teka-teki-mengumpulkan-kartu-bilangan-prima">Bab 2: Bagaimana Mencari X dan Y? &amp;ldquo;Teka-teki Mengumpulkan Kartu Bilangan Prima&amp;rdquo;
&lt;/h2>&lt;p>Tujuannya sudah jelas. Namun, jika kita menebak-nebak mencari &amp;ldquo;$X^2$ dan $Y^2$ yang sisanya sama&amp;rdquo;, kita tidak akan menemukannya sampai alam semesta kiamat.
Oleh karena itu, matematikawan memikirkan metode jenius yang disebut &lt;strong>&amp;ldquo;Teka-teki Mengumpulkan Kartu Bilangan Prima&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;h3 id="langkah-1-menyaring-dan-mengumpulkan-hanya-serbuk-emas-angka-yang-halus">Langkah 1: Menyaring dan Mengumpulkan Hanya Serbuk Emas (Angka yang Halus)
&lt;/h3>&lt;p>Pertama, siapkan angka sembarang $Z$, kuadratkan, dan hitung sisa $W$ ketika dibagi $N$.
(Dunia sisa dari $Z^2 = W$)&lt;/p>
&lt;p>Faktorkan sisa $W$ yang muncul. Di sini, hanya jika muncul &lt;strong>&amp;quot;$W$ yang hanya terdiri dari bilangan prima kecil seperti 2, 3, 5, 7&amp;quot;&lt;/strong> , kita simpan persamaan tersebut sebagai &amp;ldquo;kartu pemenang&amp;rdquo;, dan membuangnya jika ada bilangan prima besar yang tercampur.
Ini seperti menyaring batu-batu besar di sungai dan hanya mengumpulkan serbuk emas.&lt;/p>
&lt;h3 id="langkah-2-teka-teki-membuat-semua-berjumlah-genap">Langkah 2: Teka-teki Membuat Semua Berjumlah &amp;ldquo;Genap&amp;rdquo;
&lt;/h3>&lt;p>Misalnya, terkumpul tiga kartu serbuk emas berikut.&lt;/p>
&lt;ul>
&lt;li>Kartu A: $Z_1^2 = 2^3 \times 3^1$&lt;/li>
&lt;li>Kartu B: $Z_2^2 = 2^1 \times 5^1$&lt;/li>
&lt;li>Kartu C: $Z_3^2 = 3^1 \times 5^1$&lt;/li>
&lt;/ul>
&lt;p>Mari kita kalikan semuanya.
Sisi kanan menjadi $(2^3 \times 3^1) \times (2^1 \times 5^1) \times (3^1 \times 5^1)$,
jika disederhanakan menjadi &lt;strong>&amp;quot;$2^4 \times 3^2 \times 5^2$&amp;quot;&lt;/strong> .&lt;/p>
&lt;p>Luar biasa, jumlah bilangan prima menjadi &amp;ldquo;4, 2, 2&amp;rdquo;, &lt;strong>semuanya berjumlah genap&lt;/strong> !
Jika semuanya genap, berarti kita bisa membagi dua jumlahnya untuk menjadikannya &amp;ldquo;pangkat dua dari sesuatu&amp;rdquo;.
Artinya, $(2^2 \times 3^1 \times 5^1)^2 = (60)^2$.&lt;/p>
&lt;p>Karena sisi kiri adalah $(Z_1 \times Z_2 \times Z_3)^2$, akhirnya kita mendapatkan,
&lt;strong>$X = (Z_1 \times Z_2 \times Z_3)$&lt;/strong>
&lt;strong>$Y = 60$&lt;/strong>
Pasangan &amp;ldquo;$X^2 = Y^2$&amp;rdquo; yang ditunggu-tunggu pun selesai!&lt;/p>
&lt;p>Bagi komputer, memecahkan teka-teki apakah jumlah bilangan prima &amp;ldquo;genap atau ganjil (0 atau 1)&amp;rdquo; adalah hal yang sangat mudah, jadi dengan metode ini $X$ dan $Y$ bisa ditemukan dengan sangat cepat.&lt;/p>
&lt;hr>
&lt;h2 id="bab-3-tembok-keputusasaan-yang-menghadang">Bab 3: Tembok Keputusasaan yang Menghadang
&lt;/h2>&lt;p>Dengan ini semua sandi bisa dipecahkan! &amp;hellip;begitulah yang dipikirkan, hingga sebuah masalah besar muncul.
Jika angka sandi $N$ berukuran hingga sekitar &amp;ldquo;100 digit&amp;rdquo;, metode ini (disebut Quadratic Sieve) bisa menyelesaikannya. Namun, jika $N$ menjadi &amp;ldquo;200 digit atau 300 digit&amp;rdquo;, nilai $W$ yang muncul di tengah perhitungan menjadi terlalu besar.&lt;/p>
&lt;p>Jika angkanya terlalu besar, &amp;ldquo;angka yang hanya terdiri dari bilangan prima kecil (serbuk emas)&amp;rdquo; akan berhenti muncul. Ini menjadi lebih sulit daripada mencari lensa kontak di padang pasir, dan kita tidak bisa mengumpulkan kartu sama sekali untuk memecahkan teka-teki.&lt;/p>
&lt;p>Di sinilah akhirnya senjata pamungkas umat manusia, &lt;strong>&amp;ldquo;General Number Field Sieve (GNFS)&amp;rdquo;&lt;/strong> , muncul.&lt;/p>
&lt;hr>
&lt;h2 id="bab-4-ide-terkuat-umat-manusia-membuat-dua-dunia">Bab 4: Ide Terkuat Umat Manusia Membuat &amp;ldquo;Dua Dunia&amp;rdquo;
&lt;/h2>&lt;p>Ide jenius GNFS adalah, &lt;strong>&amp;ldquo;Karena kita hanya menghitung di dunia nyata, angkanya menjadi besar. Kalau begitu, mari buat &amp;lsquo;dunia di balik layar&amp;rsquo; menggunakan polinomial (aljabar), dan bagi beban perhitungannya menjadi dua&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;h3 id="keajaiban-aljabar">Keajaiban Aljabar
&lt;/h3>&lt;p>GNFS mengubah angka raksasa $N$ menjadi bentuk aljabar menggunakan angka dasar $m$.
Misalnya, jika $N=100$, dengan $m=4$, maka $100 = 4^3 + 2(4^2) + 4$.
Menggunakan huruf $x$, ini diubah menjadi persamaan (dunia balik layar) &lt;strong>$f(x) = x^3 + 2x^2 + x$&lt;/strong> .&lt;/p>
&lt;p>Hal yang menarik dari persamaan ini adalah sifatnya: &lt;strong>&amp;ldquo;Jika huruf $x$ disubstitusi dengan $m$ (4 dalam contoh di atas), ia akan selalu melesat kembali ke angka dunia nyata $N$&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;h3 id="mencari-serbuk-emas-di-dua-dunia-sekaligus">Mencari Serbuk Emas di Dua Dunia Sekaligus
&lt;/h3>&lt;p>GNFS membuat banyak pasangan bilangan bulat sembarang $(a, b)$, dan melakukan dua perhitungan berikut secara bersamaan.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Dunia nyata&lt;/strong>: $a - b \times m$&lt;/li>
&lt;li>&lt;strong>Dunia aljabar&lt;/strong>: Nilai perhitungan $a - b \times x$ berdasarkan aturan aljabar&lt;/li>
&lt;/ol>
&lt;p>Dengan membagi masalah ke dalam dua dunia, ukuran angka yang ditangani berkurang (menjadi lebih ringan) secara drastis. Bayangkan memecah batu raksasa menjadi dua batu kecil yang mudah dikelola.&lt;/p>
&lt;p>Kemudian, dengan menggunakan saringan, kumpulkan HANYA pasangan $(a, b)$ ajaib di mana &lt;strong>&amp;ldquo;Baik di dunia nyata maupun di dunia aljabar, keduanya &amp;lsquo;hanya terdiri dari bilangan prima kecil (serbuk emas)&amp;rsquo;&amp;rdquo;&lt;/strong> . Inilah asal mula nama &amp;ldquo;Number Field Sieve&amp;rdquo;.&lt;/p>
&lt;h3 id="saat-sandi-akhirnya-dipecahkan">Saat Sandi Akhirnya Dipecahkan
&lt;/h3>&lt;p>Ketika puluhan juta &amp;ldquo;kartu serbuk emas&amp;rdquo; dari kedua dunia terkumpul, gunakan kalkulasi matriks raksasa dari superkomputer untuk menemukan &amp;ldquo;kombinasi di mana semua jumlah bilangan prima genap&amp;rdquo;, persis seperti di Bab 2.&lt;/p>
&lt;p>Setelah kombinasi ditemukan,&lt;/p>
&lt;ul>
&lt;li>Jadikan angka pangkat dua yang terbentuk di dunia nyata sebagai &lt;strong>$X^2$&lt;/strong>&lt;/li>
&lt;li>Jadikan rumus pangkat dua yang terbentuk di dunia aljabar sebagai &lt;strong>$Y(x)^2$&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>Terakhir, substitusikan $x$ dalam $Y(x)$ dari dunia aljabar dengan $m$, memindahkan dan menggabungkannya ke dunia nyata.
Lalu, seperti keajaiban matematika, kondisi &lt;strong>&amp;ldquo;sisa pembagian $X^2$ dan $Y^2$ sama&amp;rdquo;&lt;/strong> akan terbentuk dengan sempurna!&lt;/p>
&lt;p>Setelah itu, seperti di Bab 1, dengan menghitung faktor persekutuan terbesar dari $X - Y$ dan $N$, sandi RSA yang tak tertembus akan hancur lebur, dan bilangan prima rahasia akan terungkap.&lt;/p>
&lt;hr>
&lt;h2 id="penutup-matematika-tidak-berakhir">Penutup: Matematika Tidak Berakhir
&lt;/h2>&lt;p>Anda mungkin berpikir, &amp;ldquo;Bagus, dengan GNFS sandi apapun bisa dipecahkan!&amp;rdquo;.
Namun, sandi RSA tidak menyerah begitu saja. Sandi yang digunakan di internet saat ini adalah angka raksasa mengerikan yang disebut &amp;ldquo;RSA-2048 (sekitar 617 digit)&amp;rdquo;.&lt;/p>
&lt;p>Meskipun GNFS adalah algoritma terkuat umat manusia, bahkan untuk memecahkan 270 digit (RSA-270) sekalipun, dikatakan akan memakan waktu ribuan hingga puluhan ribu tahun meskipun seluruh komputer di dunia digabungkan. Untuk saat ini, data LINE dan bank kita aman.&lt;/p>
&lt;p>Namun, apa yang akan terjadi jika muncul &lt;strong>&amp;ldquo;keajaiban yang bisa menemukan $X$ dan $Y$ dalam sekejap untuk angka sebesar apa pun&amp;rdquo;&lt;/strong> ?
Sebenarnya, entitas terdekat dengan hal tersebut saat ini sedang dalam pengembangan, yaitu &lt;strong>&amp;ldquo;Komputer Kuantum (Algoritma Shor)&amp;rdquo;&lt;/strong> . Telah dibuktikan secara matematis bahwa dengan menggunakan sifat gelombang mekanika kuantum, teka-teki pengumpulan kartu yang merepotkan dapat dilewati untuk menarik jawaban sekaligus.&lt;/p>
&lt;p>Persaingan kecerdasan yang tiada akhir antara pembuat sandi (pertahanan) dan pembuat algoritma pemecah sandi (serangan).
Mengetahui bahwa &amp;ldquo;faktorisasi prima&amp;rdquo; dan &amp;ldquo;aljabar&amp;rdquo; yang dipelajari di SMP sebenarnya adalah senjata yang saling bertabrakan di garis depan keamanan dunia, bukankah kelas matematika sekarang terlihat sedikit lebih menarik?&lt;/p>
&lt;p>Orang yang menemukan algoritma terkuat di masa depan, mungkin saja adalah Anda yang sedang membaca artikel ini!&lt;/p>
&lt;hr>
&lt;p>&lt;em>(※Artikel ini mengonsepkan daya tarik matematis dari pemecahan sandi untuk pelajar SMP. GNFS yang sebenarnya dihitung secara ketat menggunakan matematika universitas tingkat lanjut seperti grup kelas ideal dari medan aljabar dan homomorfisme)&lt;/em>&lt;/p></description></item><item><title>Kelebihan dan Kekurangan Gerakan Anti-Vaksin</title><link>http://kenji.blog/id/p/anti-vaccine-pros-cons-id/</link><pubDate>Sat, 24 Jan 2026 15:41:23 +0900</pubDate><guid>http://kenji.blog/id/p/anti-vaccine-pros-cons-id/</guid><description>&lt;img src="http://kenji.blog/p/%E5%8F%8D%E3%83%AF%E3%82%AF%E3%83%81%E3%83%B3%E3%81%AE%E5%8A%9F%E7%BD%AA/img.png" alt="Featured image of post Kelebihan dan Kekurangan Gerakan Anti-Vaksin" />&lt;h1 id="kelebihan-dan-kekurangan-gerakan-anti-vaksin-masa-depan-5000-orang-yang-direnggut-oleh-kecemasan-berniat-baik-dan-pelajaran-epidemiologi-yang-harus-kita-pelajari">Kelebihan dan Kekurangan Gerakan Anti-Vaksin: Masa Depan 5.000 Orang yang Direnggut oleh &amp;ldquo;Kecemasan Berniat Baik&amp;rdquo; dan Pelajaran Epidemiologi yang Harus Kita Pelajari
&lt;/h1>&lt;h2 id="ilusi-kausalitas-yang-diperjelas-oleh-pandemi-covid-19">&amp;ldquo;Ilusi Kausalitas&amp;rdquo; yang Diperjelas oleh Pandemi COVID-19
&lt;/h2>&lt;p>Sejak tahun 2021, vaksinasi COVID-19 telah berlangsung pesat di Jepang. Ini adalah proyek kesehatan masyarakat yang langka dalam sejarah umat manusia, di mana hampir 80% populasi divaksinasi dalam waktu singkat.
Selama proses ini, kita menyaksikan banyak &amp;ldquo;jeritan&amp;rdquo; melalui media sosial dan berita. &amp;ldquo;Anggota keluarga saya meninggal beberapa hari setelah divaksinasi&amp;rdquo;, &amp;ldquo;Saya mengalami masalah kesehatan yang tidak dapat dijelaskan sejak vaksinasi&amp;rdquo; &amp;ndash;. Keluhan-keluhan ini sangat memilukan, dan bagi mereka yang mengalaminya, penderitaan tersebut adalah kebenaran yang tak terbantahkan.&lt;/p>
&lt;p>Namun, di sinilah letak &amp;ldquo;jebakan&amp;rdquo; epidemiologi yang dingin namun sangat penting.
Mengingat ukuran populasi Jepang, terlepas dari apakah mereka divaksinasi atau tidak, sekitar 3.000 hingga 4.000 orang meninggal setiap hari karena berbagai sebab (penyakit, kecelakaan, usia tua). Jika sebagian besar populasi divaksinasi sekaligus, secara probabilistik &amp;ldquo;sejumlah orang tertentu akan meninggal sehari setelah divaksinasi (karena penyebab yang tidak terkait dengan vaksin)&amp;rdquo;. Dalam istilah khusus, ini disebut &lt;strong>&amp;ldquo;Koinsidensi&amp;rdquo; (Coincidence)&lt;/strong> .&lt;/p>
&lt;p>Manusia dilengkapi dengan bias kognitif yang disebut &amp;ldquo;kesalahan pasca-hoc (post hoc ergo propter hoc)&amp;rdquo;. Jika &amp;ldquo;B (kematian) terjadi setelah A (vaksinasi)&amp;rdquo;, kita secara intuitif menyimpulkan bahwa &amp;ldquo;A adalah penyebab B&amp;rdquo;. Selama pandemi, bias kognitif ini diperkuat oleh media sosial, menciptakan lapisan masyarakat di mana citra &amp;ldquo;vaksin = bahaya&amp;rdquo; mengakar sebelum adanya verifikasi ilmiah.&lt;/p>
&lt;p>Banyak pakar kesehatan masyarakat mengamati pemandangan ini dengan perasaan &lt;em>déjà vu&lt;/em>. Karena hanya beberapa tahun sebelumnya, Jepang adalah satu-satunya negara maju yang secara sukarela melepaskan sarana pencegahan penyakit akibat &amp;ldquo;kecemasan tanpa sains&amp;rdquo; ini.
Itulah masalah &lt;strong>&amp;ldquo;Vaksin Kanker Serviks (Vaksin HPV)&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;hr>
&lt;h2 id="apa-yang-terjadi-di-jepang-pada-tahun-2013">Apa yang Terjadi di Jepang pada Tahun 2013?
&lt;/h2>&lt;p>Mari kita putar balik waktu sejenak.
Kanker serviks menyerang sekitar 11.000 wanita setiap tahunnya, dan merenggut sekitar 2.900 nyawa. Penyakit ini sering disebut &amp;ldquo;pembunuh ibu&amp;rdquo; karena menyerang wanita di usia 20-an hingga 40-an, masa puncak dalam mengasuh anak dan karier. Penyebabnya adalah infeksi Human Papillomavirus (HPV), virus umum yang menginfeksi 80% wanita yang aktif secara seksual setidaknya sekali seumur hidup.
Vaksin HPV yang mencegah infeksi virus ini diperkenalkan di seluruh dunia sebagai &amp;ldquo;vaksin terobosan yang dapat mencegah kanker&amp;rdquo;, dan di Jepang, vaksin ini dijadikan vaksinasi rutin (sangat direkomendasikan oleh pemerintah dan tersedia secara gratis) pada bulan April 2013.&lt;/p>
&lt;p>Namun, keadaan segera berubah menjadi gelap.
Beberapa gadis yang divaksinasi melaporkan gejala seperti nyeri seluruh tubuh, gangguan motorik, dan gangguan memori. Media secara luas melaporkan hal ini setiap hari sebagai &amp;ldquo;dugaan reaksi simpang vaksin&amp;rdquo;. Rekaman gadis-gadis yang kejang memberikan dampak kuat pada pemirsa, dan opini publik dengan cepat bergeser ke teori &amp;ldquo;vaksin berbahaya&amp;rdquo;.&lt;/p>
&lt;p>Menanggapi hal ini, Kementerian Kesehatan, Tenaga Kerja, dan Kesejahteraan memutuskan pada Juni 2013, hanya dua bulan setelah dimulainya vaksinasi rutin, untuk &amp;ldquo;menangguhkan rekomendasi aktif&amp;rdquo;. Ini bukan &amp;ldquo;larangan&amp;rdquo; atau &amp;ldquo;pembatalan&amp;rdquo;, melainkan keputusan politik yang ambigu untuk &amp;ldquo;mempertahankan kerangka vaksinasi rutin tetapi berhenti mengirimkan pemberitahuan individu dari pemerintah&amp;rdquo;.
Namun, hal ini disampaikan kepada publik sebagai pesan bahwa &amp;ldquo;Pemerintah telah mengakui bahayanya dan menghentikannya&amp;rdquo;. Akibatnya, tingkat vaksinasi yang tadinya lebih dari 70% anjlok hingga di bawah 1% dalam sekejap.&lt;/p>
&lt;p>Dari sinilah, &lt;strong>&amp;ldquo;8 Tahun yang Hilang&amp;rdquo; (Vaccine Gap)&lt;/strong> di Jepang dimulai.&lt;/p>
&lt;hr>
&lt;h2 id="kebenaran-yang-diungkap-oleh-studi-nagoya">&amp;ldquo;Kebenaran&amp;rdquo; yang Diungkap oleh Studi Nagoya
&lt;/h2>&lt;p>Apakah gejala yang dilaporkan media benar-benar disebabkan oleh vaksin?
Ada sebuah survei berskala besar yang mencoba menjawab pertanyaan ini secara ilmiah. Survei ini dikenal sebagai &lt;strong>&amp;ldquo;Studi Nagoya&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Pada tahun 2015, Kota Nagoya melakukan survei kuesioner skala besar terhadap sekitar 70.000 wanita muda. Survei ini mencakup mereka yang &amp;ldquo;divaksinasi&amp;rdquo; dan &amp;ldquo;tidak divaksinasi&amp;rdquo;, dan menanyakan tentang ada atau tidaknya 24 gejala, seperti &amp;ldquo;menstruasi tidak teratur&amp;rdquo;, &amp;ldquo;nyeri sendi&amp;rdquo;, dan &amp;ldquo;penurunan konsentrasi&amp;rdquo;.
Jika vaksin adalah penyebabnya, gejala-gejala ini seharusnya jauh lebih umum di kelompok &amp;ldquo;divaksinasi&amp;rdquo;.&lt;/p>
&lt;p>Hasilnya mengejutkan.
&lt;strong>Tidak ditemukan perbedaan yang signifikan dalam insiden gejala antara kelompok yang &amp;ldquo;divaksinasi&amp;rdquo; dan yang &amp;ldquo;tidak divaksinasi&amp;rdquo;.&lt;/strong>&lt;/p>
&lt;p>Apa artinya ini?
Gadis remaja, terlepas dari apakah mereka divaksinasi atau tidak, rentan terhadap masalah kesehatan seperti gangguan regulasi ortostatik dan nyeri kronis karena perubahan keseimbangan hormonal dan keadaan khusus pubertas.
Dengan kata lain, ada proporsi gadis yang &amp;ldquo;tidak divaksinasi tetapi mengalami gejala yang sama&amp;rdquo; dengan jumlah yang sama dengan gadis yang &amp;ldquo;berkembang gejala setelah divaksinasi&amp;rdquo; seperti yang dilaporkan oleh media.
Namun, masalah kesehatan pada gadis yang tidak divaksinasi dianggap sebagai &amp;ldquo;gangguan pubertas&amp;rdquo;, sedangkan hanya keluhan pada anak yang divaksinasi yang disorot sebagai &amp;ldquo;kerusakan akibat vaksin&amp;rdquo;. Data menunjukkan bahwa kemungkinan besar inilah sifat sebenarnya dari fenomena yang dihebohkan sebagai &amp;ldquo;bencana medis&amp;rdquo;.&lt;/p>
&lt;p>Selain itu, keterlibatan &amp;ldquo;efek Nocebo&amp;rdquo; (Nocebo effect) juga telah ditunjukkan. Berlawanan dengan efek &amp;ldquo;Plasebo&amp;rdquo;, ini adalah fenomena di mana rasa sakit atau penyakit benar-benar terjadi karena kecemasan dan ketakutan ketika seseorang mengonsumsi sesuatu karena percaya bahwa &amp;ldquo;ini buruk bagi kesehatan saya&amp;rdquo;. Tidak dapat dipungkiri bahwa rentetan laporan negatif berdampak pada pikiran dan tubuh yang rapuh dari para gadis tersebut.&lt;/p>
&lt;hr>
&lt;h2 id="dosa-kelalaian-dalam-angka">&amp;ldquo;Dosa Kelalaian&amp;rdquo; dalam Angka
&lt;/h2>&lt;p>&amp;ldquo;Hentikan rekomendasi untuk berjaga-jaga.&amp;rdquo;
Keputusan ini, sekilas, tampak seperti &amp;ldquo;pilihan yang hati-hati dan aman&amp;rdquo;. Karena sudah terlambat untuk bertindak setelah sesuatu terjadi, apa pun yang mencurigakan harus dihentikan. Namun, dalam kesehatan masyarakat, &amp;ldquo;tidak melakukan apa-apa&amp;rdquo; (kelalaian) terkadang membawa kerugian yang jauh melebihi risiko &amp;ldquo;melakukan sesuatu&amp;rdquo;.&lt;/p>
&lt;p>Tim peneliti di Universitas Osaka telah mempublikasikan perkiraan yang kejam mengenai dampak penangguhan rekomendasi ini.
Karena penurunan tajam dalam tingkat vaksinasi antara 2013 dan 2019, &lt;strong>jumlah penderita kanker serviks di masa depan, yang seharusnya dapat dicegah, akan meningkat sekitar 25.000 orang, dan jumlah kematian akan meningkat sekitar 5.000 hingga 5.700 orang.&lt;/strong>&lt;/p>
&lt;p>Lebih dari 5.000 kematian. Ini adalah angka yang setara dengan bencana alam skala besar.
Sebagai akibat dari upaya menghindari risiko yang secara ilmiah belum pasti hubungan kausalnya—&amp;ldquo;kecemasan tentang efek samping&amp;rdquo;—kita membebani para wanita di masa depan dengan risiko kematian akibat kanker yang pasti dan serius.&lt;/p>
&lt;p>Jika kita melihat dunia, perbedaannya sangat jelas.
Di Australia, berkat penyebaran vaksinasi pada pria dan wanita, kanker serviks diperkirakan akan &amp;ldquo;diberantas&amp;rdquo; (menjadi kanker langka) sekitar tahun 2028. Ada juga laporan dari Inggris bahwa kejadian kanker serviks pada generasi yang divaksinasi telah turun menjadi hampir nol.
Sementara dunia bergerak menuju masa depan untuk &amp;ldquo;menaklukkan kanker&amp;rdquo;, hanya Jepang yang tertinggal di masa lalu di mana &amp;ldquo;kanker terus meningkat&amp;rdquo;. Pada tahun 2015, Komite Penasihat Global WHO tentang Keamanan Vaksin (GACVS) secara khusus mengkritik situasi Jepang dengan menyatakan: &amp;ldquo;Keputusan kebijakan yang tidak didasarkan pada bukti ilmiah menyebabkan bahaya yang sebenarnya (kematian akibat kanker).&amp;rdquo;&lt;/p>
&lt;hr>
&lt;h2 id="rantai-keraguan-vaksin-yang-melintasi-lautan">Rantai &amp;ldquo;Keraguan Vaksin&amp;rdquo; yang Melintasi Lautan
&lt;/h2>&lt;p>Tragedi vaksin HPV di Jepang bukanlah &amp;ldquo;keadaan khusus yang unik di Jepang&amp;rdquo;. Bahkan saat ini, ada kasus yang dilaporkan di seluruh dunia yang menunjukkan bahwa ketika &amp;ldquo;kecemasan intuitif&amp;rdquo; atau &amp;ldquo;ideologi&amp;rdquo; lebih diprioritaskan daripada sains, penyakit menular akan memamerkan taringnya kapan saja dan di mana saja.&lt;/p>
&lt;p>Contoh penting dari hal ini adalah &lt;strong>wabah &amp;ldquo;Campak&amp;rdquo;&lt;/strong> di Amerika Serikat.&lt;/p>
&lt;p>Campak adalah virus yang sangat menular, namun penyakit ini hampir sepenuhnya dapat dicegah dengan vaksin. Di masa lalu, melalui program vaksinasi yang ketat, Amerika Serikat menyatakan &amp;ldquo;eliminasi&amp;rdquo; (elimination) campak pada tahun 2000. Artinya, virus endemik dianggap telah lenyap dari dalam negeri.
Namun, campak mulai mewabah kembali dalam beberapa tahun terakhir.&lt;/p>
&lt;p>Menurut laporan BBC (2024), otoritas kesehatan AS menyatakan bahwa &amp;ldquo;keraguan vaksin&amp;rdquo; (Vaccine Hesitancy) yang mengakar di beberapa komunitas menjadi tempat berkembang biaknya infeksi.
Tingkat vaksinasi telah menurun di daerah di mana kelompok agama tertentu, kelompok yang menganjurkan gaya hidup &amp;ldquo;alami&amp;rdquo;, atau ideologi anti-vaksin yang didasarkan pada informasi yang salah telah meresap. Ketika virus dibawa dari luar negeri ke daerah-daerah ini, wabah infeksi yang eksplosif terjadi di antara orang-orang yang tidak memiliki kekebalan.&lt;/p>
&lt;p>Campak bukanlah penyakit yang hanya berakhir dengan demam atau ruam. Ini dapat menyebabkan komplikasi parah seperti pneumonia dan ensefalitis, dan bahkan di negara maju, dapat berakibat fatal. Penyakit yang seharusnya &amp;ldquo;dibendung&amp;rdquo; oleh umat manusia dengan menggabungkan kebijaksanaan mereka, kembali mengancam kehidupan anak-anak dengan memanfaatkan &amp;ldquo;kecurigaan&amp;rdquo; orang-orang.
Kasus di AS ini memperingatkan kita: &amp;ldquo;Benteng pertahanan berupa tingkat vaksinasi yang tinggi dapat runtuh dalam sekejap jika kepercayaan masyarakat goyah.&amp;rdquo;&lt;/p>
&lt;hr>
&lt;h2 id="kekalahan-media-pakar-dan-kita-semua">Kekalahan Media, Pakar, dan Kita Semua
&lt;/h2>&lt;p>Mengapa situasi seperti ini terus berulang?
Penyebabnya adalah asimetri informasi yang unik bagi masyarakat modern dan bias kognitif kita.&lt;/p>
&lt;p>Dalam isu vaksin HPV di Jepang, media secara sensasional melaporkan &amp;ldquo;dugaan reaksi simpang vaksin&amp;rdquo;. Bingkai &amp;ldquo;korban yang malang&amp;rdquo; versus &amp;ldquo;negara dan perusahaan farmasi yang berdarah dingin&amp;rdquo; adalah narasi yang sangat kuat dan sangat menggugah emosi pemirsa.
Di sisi lain, penjelasan ilmiah dari para pakar seperti &amp;ldquo;tidak ada perbedaan signifikan secara statistik&amp;rdquo; atau &amp;ldquo;manfaatnya melebihi risiko&amp;rdquo; terdengar hambar dan dingin, serta terlalu tidak berdaya di hadapan arus emosi yang deras.&lt;/p>
&lt;p>Dalam dunia sains, jika ada teori mapan yang didukung oleh 99% ilmuwan dan ada 1% pendapat yang berbeda, hal itu tidak diperlakukan sebagai &amp;ldquo;pendapat yang setara&amp;rdquo;. Namun, karena media terlalu menekankan pada &amp;ldquo;keadilan&amp;rdquo; atau untuk menarik perhatian, mereka mempublikasikan data yang dapat menyelamatkan puluhan ribu nyawa dan klaim emosional dari satu orang yang merasa menjadi korban sebagai sesuatu yang &amp;ldquo;setara&amp;rdquo;.
Para politisi, yang takut akan reaksi publik, juga memprioritaskan &amp;ldquo;membaca suasana saat itu&amp;rdquo; daripada bukti ilmiah. Akibatnya, rekomendasi aktif untuk vaksin HPV dihentikan selama sekitar 9 tahun di Jepang, yang mengakibatkan banyak kasus kanker yang seharusnya dapat dicegah.&lt;/p>
&lt;hr>
&lt;h2 id="sejarah-berulang-membutuhkan-kecerdasan-untuk-melawan-suasana">Sejarah Berulang: Membutuhkan Kecerdasan untuk Melawan &amp;ldquo;Suasana&amp;rdquo;
&lt;/h2>&lt;p>Pada tahun 2022, Jepang akhirnya melanjutkan rekomendasi aktif untuk vaksin HPV. Namun, waktu dan nyawa yang hilang tidak dapat dikembalikan. Dan seperti wabah campak yang kembali melanda Amerika Serikat saat ini, jika kita lengah, sejarah akan berulang dengan sendirinya berkali-kali.&lt;/p>
&lt;p>Kita tidak bisa sepenuhnya menyangkal gerakan anti-vaksin atau kekhawatiran tentang perawatan medis itu sendiri. Adalah naluri pertahanan manusia untuk berhati-hati tentang apa yang dimasukkan ke dalam tubuh, dan bencana obat-obatan memang pernah terjadi di masa lalu. Memantau dan meragukan pihak berwenang adalah penting dalam demokrasi.&lt;/p>
&lt;p>Namun, rangkaian peristiwa seputar vaksin COVID-19, vaksin HPV, dan wabah campak di AS telah menghadapkan kita pada fakta pahit bahwa &lt;strong>&amp;ldquo;kecemasan berniat baik yang mengabaikan sains&amp;rdquo; dapat merenggut lebih banyak nyawa daripada virus itu sendiri.&lt;/strong>&lt;/p>
&lt;p>&amp;ldquo;Ini mungkin berbahaya, mari kita tunggu dan lihat.&amp;rdquo;
Saat membuat keputusan ini, apakah kita telah memperhitungkan &amp;ldquo;probabilitas kematian akibat penyakit saat kita menunggu dan melihat&amp;rdquo;?
&amp;ldquo;Sesuatu yang alami adalah yang terbaik.&amp;rdquo;
Saat mengatakan ini, apakah kita lupa sejarah bahwa &amp;ldquo;virus di alam yang paling tanpa ampun telah merenggut nyawa&amp;rdquo;?&lt;/p>
&lt;p>Penyakit menular baru akan muncul dan vaksin baru akan dikembangkan di masa depan. Pada saat itu, apakah kita akan kembali dibingungkan oleh fenomena &amp;ldquo;koinsidensi&amp;rdquo; dan terbawa oleh hasutan emosional? Ataukah kita akan mampu menganalisis data secara tenang dan menyeimbangkan risiko dengan manfaat?&lt;/p>
&lt;p>Dikatakan bahwa sejarah akan berulang. Namun, satu-satunya hal yang dapat menghentikannya adalah rasionalitas kita.
Dengan melihat data yang benar secara statistik, kita harus memiliki kecerdasan untuk memilih &amp;ldquo;fakta&amp;rdquo; daripada &amp;ldquo;suasana&amp;rdquo;. Itulah tanggung jawab kita yang hidup di zaman modern.&lt;/p>
&lt;hr>
&lt;h3 id="referensi-dan-sumber-data">Referensi dan Sumber Data
&lt;/h3>&lt;ul>
&lt;li>&lt;strong>Kementerian Kesehatan, Tenaga Kerja, dan Kesejahteraan (MHLW)&lt;/strong> : &amp;ldquo;Infeksi Human Papillomavirus - Kanker Serviks dan Vaksin HPV&amp;rdquo;&lt;/li>
&lt;li>&lt;strong>Pusat Kanker Nasional Jepang (NCC)&lt;/strong> : Layanan Informasi Kanker &amp;ldquo;Kanker Serviks&amp;rdquo; Data Statistik&lt;/li>
&lt;li>&lt;strong>BBC News (Jepang)&lt;/strong> : &amp;ldquo;CDC AS Menyerukan Vaksinasi Di Tengah Wabah Campak - Peningkatan Infeksi Global&amp;rdquo; (2024) dan artikel asli terkait&lt;/li>
&lt;li>&lt;strong>Tim Peneliti Universitas Osaka (Yagi A, et al. Lancet Public Health. 2020)&lt;/strong> : Studi estimasi jumlah kelebihan morbiditas dan mortalitas akibat penangguhan rekomendasi aktif untuk vaksinasi rutin HPV&lt;/li>
&lt;li>&lt;strong>Nagoya Study (Suzuki S, et al. Papillomavirus Res. 2018)&lt;/strong>&lt;/li>
&lt;/ul></description></item><item><title>Mitos dan Realitas "Jepang Pertama": Pertahanan Jepang Atas Nama "Koeksistensi" di Tahun 2026</title><link>http://kenji.blog/id/p/%E6%97%A5%E6%9C%AC%E4%BA%BA%E3%83%95%E3%82%A1%E3%83%BC%E3%82%B9%E3%83%88%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E6%80%9D%E3%81%86%E3%81%93%E3%81%A8/</link><pubDate>Fri, 23 Jan 2026 13:43:41 +0900</pubDate><guid>http://kenji.blog/id/p/%E6%97%A5%E6%9C%AC%E4%BA%BA%E3%83%95%E3%82%A1%E3%83%BC%E3%82%B9%E3%83%88%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E6%80%9D%E3%81%86%E3%81%93%E3%81%A8/</guid><description>&lt;img src="http://kenji.blog/p/%E6%97%A5%E6%9C%AC%E4%BA%BA%E3%83%95%E3%82%A1%E3%83%BC%E3%82%B9%E3%83%88%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E6%80%9D%E3%81%86%E3%81%93%E3%81%A8/img.png" alt="Featured image of post Mitos dan Realitas "Jepang Pertama": Pertahanan Jepang Atas Nama "Koeksistensi" di Tahun 2026" />&lt;h1 id="mitos-dan-realitas-jepang-pertama-pertahanan-jepang-atas-nama-koeksistensi-di-tahun-2026">Mitos dan Realitas &amp;ldquo;Jepang Pertama&amp;rdquo;: Pertahanan Jepang Atas Nama &amp;ldquo;Koeksistensi&amp;rdquo; di Tahun 2026
&lt;/h1>&lt;h2 id="pendahuluan-mengapa-kata-kata-ini-menggetarkan-hati-sekarang">Pendahuluan: Mengapa Kata-kata Ini Menggetarkan Hati Sekarang
&lt;/h2>&lt;p>Tahun 2026. Kita saat ini berdiri di titik balik era yang belum pernah terjadi sebelumnya. Inflasi yang berkepanjangan, upah riil yang stagnan, dan populasi yang menua dan menyusut dengan cepat. Setiap kali label harga barang di rak supermarket diganti, kecemasan akan masa depan membayangi hati kita.&lt;/p>
&lt;p>Di tengah perasaan terjebak ini, ada sebuah frasa yang dengan cepat mendapatkan dukungan. Frasa itu adalah &lt;strong>&amp;ldquo;Jepang Pertama&amp;rdquo;&lt;/strong> (Japan First).&lt;/p>
&lt;p>Keinginan agar &amp;ldquo;Pemerintah memperkaya kehidupan warganya sendiri terlebih dahulu&amp;rdquo; dan &amp;ldquo;Melindungi budaya serta keamanan publik Jepang sebagai prioritas utama&amp;rdquo; adalah keinginan yang sangat alami dan mendesak sebagai seorang warga negara yang berdaulat, dan sebagai manusia yang hidup di negara ini. Namun, antara &amp;ldquo;ideal&amp;rdquo; yang diusung oleh frasa ini dan &amp;ldquo;realitas&amp;rdquo; yang ditunjukkan oleh data statistik, terdapat kesenjangan besar yang harus kita hadapi secara langsung.&lt;/p>
&lt;p>Dalam artikel ini, kita akan mengesampingkan argumen emosional dan pelabelan, serta mengungkap identitas sebenarnya dari masalah ini berdasarkan data objektif, perubahan kronologis, dan fakta-fakta yang terjadi di berbagai garis depan masyarakat.&lt;/p>
&lt;hr>
&lt;h2 id="bab-1-kronologi-jepang-pertama-dan-latar-belakang-sosial">Bab 1: Kronologi &amp;ldquo;Jepang Pertama&amp;rdquo; dan Latar Belakang Sosial
&lt;/h2>&lt;p>Frasa ini tidak muncul secara tiba-tiba. Ia terbentuk melalui jalinan yang kompleks antara tren global dan keadaan unik di Jepang.&lt;/p>
&lt;h3 id="1-2016-2017-impor-dan-pemantapan-istilah">1. 2016-2017: Impor dan Pemantapan Istilah
&lt;/h3>&lt;p>Pada tahun 2016, semboyan &amp;ldquo;America First&amp;rdquo; yang digaungkan oleh Donald Trump mengejutkan dunia. Di dalam negeri pada tahun 2017, partai &amp;ldquo;Tominku First no Kai&amp;rdquo; (Tokyoites First) yang dipimpin oleh Gubernur Tokyo Yuriko Koike menarik perhatian. Pada titik ini, retorikanya sebagian besar digunakan untuk memperjelas prioritas kebijakan, dan nuansa xenofobianya masih terbatas.&lt;/p>
&lt;h3 id="2-2023-2024-visualisasi-kecemasan">2. 2023-2024: Visualisasi Kecemasan
&lt;/h3>&lt;p>Keterlambatan pemulihan ekonomi pasca-pandemi dan inflasi yang menyertai pelemahan yen yang tajam memukul rumah tangga biasa. Pada saat yang sama, keluhan berdasarkan informasi yang terpotong-potong mulai bermunculan di media sosial, seperti &amp;ldquo;Dukungan untuk orang asing terlalu murah hati&amp;rdquo; atau &amp;ldquo;Uang pajak rakyat Jepang mengalir ke orang asing.&amp;rdquo;&lt;/p>
&lt;h3 id="3-2025-2026-perpaduan-kekuatan-politik-dan-media-sosial">3. 2025-2026: Perpaduan Kekuatan Politik dan Media Sosial
&lt;/h3>&lt;p>Dalam pemilihan nasional tahun 2025, kekuatan yang mengusung &amp;ldquo;Jepang Pertama&amp;rdquo; sebagai slogan resmi mengamankan sejumlah kursi tertentu. Algoritma media sosial bereaksi terhadap kecemasan masyarakat dengan memprioritaskan postingan radikal, mempercepat &amp;ldquo;fenomena ruang gema&amp;rdquo; (echo chamber) di mana hanya nilai-nilai tertentu yang diperkuat.&lt;/p>
&lt;p>Jajak pendapat terbaru yang dilakukan oleh berbagai surat kabar (akhir tahun 2025) menyoroti situasi di mana opini publik terbelah dua secara tajam, dengan &lt;strong>42% mengatakan &amp;ldquo;setuju atau agak setuju&amp;rdquo;&lt;/strong> dan &lt;strong>38% mengatakan &amp;ldquo;tidak setuju atau agak tidak setuju&amp;rdquo;&lt;/strong> terhadap slogan ini.&lt;/p>
&lt;hr>
&lt;h2 id="bab-2-kebenaran-tentang-ekonomi-dan-jaminan-sosial--perampas-atau-pilar-pendukung">Bab 2: Kebenaran tentang Ekonomi dan Jaminan Sosial —— &amp;ldquo;Perampas&amp;rdquo; atau &amp;ldquo;Pilar Pendukung&amp;rdquo;?
&lt;/h2>&lt;p>Salah satu pilar logika yang mendukung &amp;ldquo;Jepang Pertama&amp;rdquo; adalah anggapan bahwa &amp;ldquo;sumber daya Jepang dirampas oleh orang asing.&amp;rdquo; Namun, data primer dari kementerian pemerintah menunjukkan realitas yang sangat berlawanan dengan intuisi ini.&lt;/p>
&lt;h3 id="1-tenaga-kerja-darah-esensial-yang-mempertahankan-ekonomi-jepang">1. Tenaga Kerja: &amp;ldquo;Darah Esensial&amp;rdquo; yang Mempertahankan Ekonomi Jepang
&lt;/h3>&lt;p>Menurut laporan &amp;ldquo;Status Pekerjaan Orang Asing (per akhir Oktober 2024)&amp;rdquo; dari Kementerian Kesehatan, Tenaga Kerja, dan Kesejahteraan, jumlah pekerja asing adalah &lt;strong>2.048.675 orang&lt;/strong> . Pada perkiraan saat ini di tahun 2026, jumlahnya telah melampaui &lt;strong>2,3 juta orang&lt;/strong> .&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Sektor Industri&lt;/th>
&lt;th>Persentase / Tingkat Pertumbuhan Pekerja Asing&lt;/th>
&lt;th>Realitas dan Peran&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>Konstruksi&lt;/strong>&lt;/td>
&lt;td>Meningkat sekitar 22,7% dari tahun sebelumnya&lt;/td>
&lt;td>Sangat penting untuk pemeliharaan infrastruktur serta perbaikan jembatan dan jalan yang menua.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Kesehatan dan Kesejahteraan&lt;/strong>&lt;/td>
&lt;td>Meningkat sekitar 28,1% dari tahun sebelumnya&lt;/td>
&lt;td>Berada di garis depan perawatan, mendukung lansia Jepang.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Manufaktur&lt;/strong>&lt;/td>
&lt;td>Menyumbang sekitar 26% dari total&lt;/td>
&lt;td>Tulang punggung yang mendukung lokasi industri ekspor Jepang.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Saat ini, mereka tidak mengambil pekerjaan yang ingin dilakukan oleh orang Jepang, melainkan mengisi &lt;strong>&amp;ldquo;kekosongan yang tidak lagi dapat diisi oleh orang Jepang.&amp;rdquo;&lt;/strong> Jika kita mengecualikan mereka atas nama &amp;ldquo;Jepang Pertama,&amp;rdquo; sistem perawatan kita akan langsung runtuh, dan harga perumahan serta makanan akan melonjak beberapa puluh persen hingga berlipat ganda.&lt;/p>
&lt;h3 id="2-jaminan-sosial-hoaks-dan-realitas-seputar-bantuan-hidup-kesejahteraan">2. Jaminan Sosial: Hoaks dan Realitas Seputar Bantuan Hidup (Kesejahteraan)
&lt;/h3>&lt;p>Hal yang paling sering disebarkan di media sosial adalah klaim bahwa &amp;ldquo;orang asing menerima bantuan hidup secara prioritas.&amp;rdquo; Namun, memeriksa statistik Kementerian Kesehatan, Tenaga Kerja, dan Kesejahteraan, proporsi orang asing sebagai kepala rumah tangga dari semua rumah tangga penerima bantuan hanya sekitar &lt;strong>2,8 hingga 2,9%&lt;/strong> . Selama lebih dari sepuluh tahun terakhir, angka ini hampir tidak berubah.&lt;/p>
&lt;p>Sebaliknya, melihat komposisi usia penduduk asing, mayoritas dari mereka adalah &lt;strong>generasi usia kerja berusia 20-an hingga 40-an&lt;/strong> . Mereka membayar asuransi pensiun dan asuransi kesehatan kesejahteraan, dan memainkan peran sebagai &lt;strong>&amp;ldquo;penyumbang&amp;rdquo; yang mendukung dana pensiun dan biaya pengobatan yang diterima oleh &amp;ldquo;lansia Jepang.&amp;rdquo;&lt;/strong> Merekalah, dan bukan orang lain, yang mengisi kekosongan populasi usia kerja yang ditinggalkan oleh orang Jepang dan memperpanjang umur sistem jaminan sosial Jepang.&lt;/p>
&lt;hr>
&lt;h2 id="bab-3-bias-keamanan-publik-dan-media-sosial--dekonstruksi-logis-kejahatan-orang-asing">Bab 3: Bias Keamanan Publik dan Media Sosial —— Dekonstruksi Logis &amp;ldquo;Kejahatan Orang Asing&amp;rdquo;
&lt;/h2>&lt;p>Kecemasan akan keamanan publik adalah hal yang paling kuat merangsang sentimen &amp;ldquo;Jepang Pertama.&amp;rdquo; Namun, membaca dengan saksama statistik Badan Kepolisian Nasional dan &amp;ldquo;Buku Putih Kejahatan&amp;rdquo; dari Kementerian Kehakiman mengungkapkan betapa bayangan &amp;ldquo;orang asing yang kejam&amp;rdquo; di internet diciptakan melalui distorsi kognitif.&lt;/p>
&lt;h3 id="1-perbandingan-yang-tenang-antara-total-dan-tingkat-kejahatan">1. Perbandingan yang Tenang antara &amp;ldquo;Total&amp;rdquo; dan &amp;ldquo;Tingkat Kejahatan&amp;rdquo;
&lt;/h3>&lt;p>Menurut statistik yang dirilis pada tahun 2024, proporsi orang asing di antara total orang yang ditangkap adalah sekitar &lt;strong>5,5%&lt;/strong> . Sisa &lt;strong>95%&lt;/strong> adalah kejahatan yang dilakukan oleh orang Jepang.&lt;/p>
&lt;p>Membandingkan jumlah orang yang ditangkap per 100.000 penduduk (tingkat kejahatan) mengungkapkan esensinya lebih jauh.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Kategori&lt;/th>
&lt;th>Orang yang ditangkap per 100.000 populasi (perkiraan)&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>Orang Jepang (Semua usia)&lt;/strong>&lt;/td>
&lt;td>Sekitar 142,7 orang&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Penduduk Asing (Penduduk Tetap/Penduduk Jangka Panjang)&lt;/strong>&lt;/td>
&lt;td>&lt;strong>Sekitar 120,0 orang&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Adalah fakta statistik bahwa &lt;strong>tingkat kejahatan penduduk asing jangka menengah hingga panjang di Jepang lebih rendah daripada rata-rata keseluruhan penduduk Jepang.&lt;/strong>&lt;/p>
&lt;h3 id="2-keajaiban-bias-generasi">2. Keajaiban Bias &amp;ldquo;Generasi&amp;rdquo;
&lt;/h3>&lt;p>Mengapa bayangan bahwa &amp;ldquo;orang asing itu menakutkan&amp;rdquo; bisa mendominasi? Alasan terbesarnya adalah perbedaan &lt;strong>&amp;ldquo;komposisi usia&amp;rdquo;&lt;/strong> dalam kriminologi.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Orang Jepang:&lt;/strong> Sekitar 30% adalah lansia dengan tingkat kejahatan yang sangat rendah. Karena kelompok ini menekan &amp;ldquo;penyebut&amp;rdquo;, keseluruhan angka Jepang tampak rendah.&lt;/li>
&lt;li>&lt;strong>Orang Asing:&lt;/strong> Karena mereka datang ke Jepang sebagai tenaga kerja, lebih dari 80% berada di &lt;strong>&amp;ldquo;kelompok usia muda hingga paruh baya,&amp;rdquo; kelompok yang secara statistik rentan terhadap kejahatan.&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>Jika kita membandingkan tingkat kejahatan orang Jepang dan orang asing di bawah kondisi yang sama, yaitu kelompok &amp;ldquo;usia 20-an,&amp;rdquo; tidak ada perbedaan signifikan antara keduanya. Dengan kata lain, bukan &amp;ldquo;keamanan memburuk karena jumlah orang asing meningkat,&amp;rdquo; tetapi hanya &lt;strong>&amp;ldquo;kelompok usia yang rentan melakukan kejahatan (generasi muda) hadir di Jepang dalam bentuk orang asing.&amp;rdquo;&lt;/strong>&lt;/p>
&lt;h3 id="3-bias-konfirmasi-yang-diciptakan-oleh-media-sosial">3. &amp;ldquo;Bias Konfirmasi&amp;rdquo; yang Diciptakan oleh Media Sosial
&lt;/h3>&lt;p>Algoritma media sosial menggunakan &amp;ldquo;kecemasan&amp;rdquo; kita sebagai bahan bakarnya. Ketika satu kejahatan oleh orang asing terjadi, hal itu dihubungkan dengan &amp;ldquo;atribut (kewarganegaraan)&amp;rdquo; mereka dan disebarkan secara agresif. Akibatnya, hanya memori &amp;ldquo;orang asing menyebabkan insiden lagi&amp;rdquo; yang diperkuat di otak kita.&lt;/p>
&lt;p>Ini disebut &lt;strong>&amp;ldquo;Bias Konfirmasi&amp;rdquo;&lt;/strong> . Kejahatan orang Jepang, yang menyumbang 95% dari total, diabaikan sebagai kejadian &amp;ldquo;sehari-hari&amp;rdquo;, dan 5% kejahatan orang asing diganti menjadi representasi &amp;ldquo;semua orang asing.&amp;rdquo;&lt;/p>
&lt;hr>
&lt;h2 id="bab-4-pewarisan-budaya--perusak-atau-penyelamat">Bab 4: Pewarisan Budaya —— &amp;ldquo;Perusak&amp;rdquo; atau &amp;ldquo;Penyelamat&amp;rdquo;?
&lt;/h2>&lt;p>Kekhawatiran bahwa &amp;ldquo;tradisi dan budaya Jepang sedang dihancurkan&amp;rdquo; juga berbeda dari realitas di lapangan.&lt;/p>
&lt;h3 id="1-pewaris-terakhir-kerajinan-tradisional">1. &amp;ldquo;Pewaris Terakhir&amp;rdquo; Kerajinan Tradisional
&lt;/h3>&lt;p>Jumlah pekerja manufaktur kerajinan tradisional Jepang telah anjlok dari sekitar 300.000 pada tahun 1970-an menjadi hanya sekitar 50.000 hari ini. Yang menyelamatkan krisis kepunahan ini adalah orang asing yang datang ke Jepang dengan rasa hormat yang mendalam terhadap budaya Jepang.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Pabrik Sake dan Pembuat Pedang:&lt;/strong> Orang asing telah menjadi murid di bengkel-bengkel di mana orang Jepang telah menyerah untuk mewariskannya, dan dengan memasukkan kemampuan mereka untuk menyiarkan ke luar negeri dan sensibilitas baru, mereka membangkitkan budaya yang berada di ambang penutupan menjadi &amp;ldquo;industri yang berkelanjutan.&amp;rdquo;&lt;/li>
&lt;/ul>
&lt;h3 id="2-mempertahankan-komunitas-lokal">2. Mempertahankan Komunitas Lokal
&lt;/h3>&lt;p>Di pemerintah daerah di mana kaum muda telah menghilang dan menjadi &amp;ldquo;kota dengan kemungkinan punah,&amp;rdquo; peserta pelatihan teknis dan pekerja terampil asing tertentu menjadi pembawa festival lokal dan mendukung fondasi pertanian.
Siapa yang mengolah lahan pertanian terbengkalai yang ditinggalkan orang Jepang, dan siapa yang melindungi acara tahunan yang telah berlangsung selama ratusan tahun? Jika kita melihat realitas tersebut, menjadi jelas bahwa mereka bukanlah &amp;ldquo;perusak&amp;rdquo; budaya, melainkan &lt;strong>&amp;ldquo;garis pertahanan terakhir&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;hr>
&lt;h2 id="bab-5-kekhawatiran-di-dunia-pendidikan-dan-rantai-perundungan-bullying">Bab 5: Kekhawatiran di Dunia Pendidikan dan Rantai &amp;ldquo;Perundungan&amp;rdquo; (Bullying)
&lt;/h2>&lt;p>Efek samping dari masuknya istilah &amp;ldquo;Jepang Pertama&amp;rdquo; ke lingkungan pendidikan sangatlah parah.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Dikotomi yang memisahkan &amp;ldquo;Dalam dan Luar&amp;rdquo;:&lt;/strong> Jika anak-anak menginternalisasi rasa elitisme palsu bahwa &amp;ldquo;orang Jepang adalah kelas istimewa yang harus diprioritaskan,&amp;rdquo; hal ini akan dengan mudah berujung pada perundungan untuk menyingkirkan &amp;ldquo;mereka yang berbeda dari kita.&amp;rdquo;&lt;/li>
&lt;li>&lt;strong>Hierarki berdasarkan Akar:&lt;/strong> Anak-anak dengan penampilan atau nama yang berbeda diserang sebagai &amp;ldquo;bukan orang Jepang&amp;rdquo; meskipun mereka memegang kewarganegaraan Jepang. Ini adalah runtuhnya pendidikan dan tindakan yang merusak bakat yang akan memimpin masa depan Jepang.&lt;/li>
&lt;/ul>
&lt;p>Para ahli di bidang pendidikan khawatir bahwa eksklusivitas istilah &amp;ldquo;Pertama&amp;rdquo; (First) merusak kemampuan anak-anak untuk hidup berdampingan secara multikultural, berisiko mengisolasi Jepang dari dunia sebagai akibatnya.&lt;/p>
&lt;hr>
&lt;h2 id="bab-6-tren-global-dan-gelombang-populisme">Bab 6: Tren Global dan Gelombang Populisme
&lt;/h2>&lt;p>Fenomena ini tidak unik di Jepang. Di negara-negara Barat pun, ada fenomena yang berkelanjutan di mana kelas-kelas yang tidak mendapat manfaat dari globalisasi mengalir ke arah populisme yang mengusung &amp;ldquo;negaraku pertama&amp;rdquo; (America First, dll.).&lt;/p>
&lt;p>Namun, perbedaan krusial antara Jepang dan negara-negara Barat adalah fakta bahwa &lt;strong>&amp;ldquo;populasi menyusut dengan kecepatan tercepat di dunia.&amp;rdquo;&lt;/strong> Sementara negara lain memiliki pilihan untuk &amp;ldquo;membatasi,&amp;rdquo; Jepang sudah memiliki banyak infrastruktur sosial yang tidak dapat dipertahankan tanpa &amp;ldquo;kerja sama.&amp;rdquo; Berpegang teguh pada pendekatan emosional &amp;ldquo;Pertama&amp;rdquo; secara logis berarti &amp;ldquo;bunuh diri perlahan-lahan.&amp;rdquo;&lt;/p>
&lt;hr>
&lt;h2 id="kesimpulan-apa-jepang-pertama-yang-sebenarnya">Kesimpulan: Apa &amp;ldquo;Jepang Pertama&amp;rdquo; yang Sebenarnya?
&lt;/h2>&lt;p>Keinginan di balik kata-kata &amp;ldquo;Jepang Pertama&amp;rdquo;—harapan agar &amp;ldquo;kehidupan warga negara harus dipikirkan terlebih dahulu&amp;rdquo;—adalah tanggung jawab paling mendasar yang harus dimiliki oleh pemerintah mana pun.&lt;/p>
&lt;p>Namun, cara untuk memenuhi keinginan itu tidak boleh &amp;ldquo;penyingkiran tetangga.&amp;rdquo; Seperti yang ditunjukkan oleh data objektif, kenyamanan hidup, keamanan publik, budaya tradisional, dan sistem jaminan sosial itu sendiri yang kita nikmati saat ini berada dalam fase &amp;ldquo;ketergantungan dan koeksistensi&amp;rdquo; yang tidak dapat lagi dipertahankan tanpa kehadiran orang asing.&lt;/p>
&lt;p>&lt;strong>Bukankah &amp;ldquo;Jepang Pertama&amp;rdquo; yang sebenarnya adalah dengan tenang mempraktikkan tiga poin berikut?&lt;/strong>&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Diskusi berdasarkan fakta:&lt;/strong> Pahamilah kenyataan berdasarkan statistik kementerian pemerintah alih-alih terbawa oleh hoaks dan informasi yang dilebih-lebihkan.&lt;/li>
&lt;li>&lt;strong>Menetapkan aturan yang adil:&lt;/strong> Mewajibkan orang asing untuk mematuhi aturan Jepang, sementara di sisi lain, masyarakat Jepang memperlakukan mereka sebagai mitra yang adil.&lt;/li>
&lt;li>&lt;strong>Pembaruan internal:&lt;/strong> Daripada melihat penerimaan orang asing sebagai &amp;ldquo;kehilangan Jepang,&amp;rdquo; mengubah persepsi bahwa kita meminjam kekuatan mereka untuk &amp;ldquo;membangun kembali dan mempertahankan Jepang.&amp;rdquo;&lt;/li>
&lt;/ol>
&lt;p>Tahun 2026, kita berdiri di persimpangan jalan yang besar. Apakah kita akan terus meneriakkan kata-kata perpecahan dan mencekik diri kita sendiri? Ataukah kita akan menghadapi kenyataan dan mengambil langkah menuju &amp;ldquo;Jepang yang berkelanjutan&amp;rdquo; di mana beragam orang saling mendukung satu sama lain?&lt;/p>
&lt;p>Jawabannya terletak pada &amp;ldquo;kecerdasan&amp;rdquo; dan &amp;ldquo;keberanian&amp;rdquo; di hati setiap individu.&lt;/p></description></item><item><title>Apa yang harus dilakukan saat Anda tidak dapat membatalkan Google One (Gemini)</title><link>http://kenji.blog/id/p/apa-yang-harus-dilakukan-saat-anda-tidak-dapat-membatalkan-google-one-gemini/</link><pubDate>Sat, 27 Sep 2025 10:02:59 +0900</pubDate><guid>http://kenji.blog/id/p/apa-yang-harus-dilakukan-saat-anda-tidak-dapat-membatalkan-google-one-gemini/</guid><description>&lt;img src="http://kenji.blog/p/google-one-gemini%E3%81%8C%E8%A7%A3%E7%B4%84%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E6%99%82%E3%81%AE%E5%AF%BE%E5%87%A6%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Apa yang harus dilakukan saat Anda tidak dapat membatalkan Google One (Gemini)" />&lt;h1 id="perhatian-apakah-anda-akan-ditagih-setelah-uji-coba-gratis-gemini-berakhir-ringkasan-cara-membatalkan">[Perhatian] Apakah Anda akan ditagih setelah uji coba gratis Gemini berakhir? Ringkasan cara membatalkan
&lt;/h1>&lt;p>Saat Anda mencoba mencoba layanan AI Google &amp;ldquo;Gemini&amp;rdquo;, ada ** uji coba gratis 1 bulan ** yang disediakan di awal.
Saya pikir banyak orang mendaftar dengan berpikir, &amp;ldquo;Jika gratis, saya akan mencobanya untuk saat ini&amp;rdquo;, tetapi ada hal yang perlu diperhatikan di sini.&lt;/p>
&lt;hr>
&lt;h2 id="apa-yang-terjadi-saat-uji-coba-gratis-berakhir">Apa yang terjadi saat uji coba gratis berakhir?
&lt;/h2>&lt;p>Setelah masa uji coba berakhir, Anda akan secara otomatis ditagih ** 2.900 yen per bulan ** .
Ini terkait dengan langganan yang disebut &amp;ldquo;Keanggotaan Google One&amp;rdquo;, dan ini adalah mekanisme yang beralih ke penagihan berkelanjutan jika Anda tidak melakukan apa-apa secara khusus.&lt;/p>
&lt;hr>
&lt;h2 id="jika-anda-membatalkan-anda-tidak-akan-ditagih-tetapi">Jika Anda membatalkan, Anda tidak akan ditagih, tetapi&amp;hellip;
&lt;/h2>&lt;p>Tentu saja, tidak akan ada biaya jika Anda membatalkan selama masa uji coba.
Halaman penjelasan resmi juga berisi &amp;ldquo;Cara membatalkan keanggotaan Google One&amp;rdquo;.&lt;/p>
&lt;p>👉 &lt;a class="link" href="https://support.google.com/googleone/answer/9056360" target="_blank" rel="noopener"
>Batalkan keanggotaan Google One (Resmi)&lt;/a>&lt;/p>
&lt;p>Namun, ketika saya benar-benar mencoba mengaksesnya, saya menemukan diri saya dalam situasi di mana &amp;ldquo;entah kenapa saya tidak bisa membatalkannya&amp;hellip;&amp;rdquo;.
Saya bingung dan berpikir, &amp;ldquo;Eh, dari mana saya harus menghentikannya?&amp;rdquo;&lt;/p>
&lt;hr>
&lt;h2 id="klik-di-sini-untuk-cara-pembatalan-yang-benar">Klik di sini untuk cara pembatalan yang benar!
&lt;/h2>&lt;p>Sebagai hasil dari mencari berbagai hal, halaman berikut adalah tempat saya benar-benar dapat membatalkannya.&lt;/p>
&lt;p>👉 &lt;a class="link" href="https://myaccount.google.com/deleteservices" target="_blank" rel="noopener"
>Akun Google – Hapus layanan&lt;/a>&lt;/p>
&lt;p>Dari sini, pilih &amp;ldquo;Google One&amp;rdquo; dan hapus untuk menyelesaikan pembatalan.&lt;/p>
&lt;hr>
&lt;h2 id="ringkasan">Ringkasan
&lt;/h2>&lt;ul>
&lt;li>Uji coba gratis Gemini adalah 1 bulan&lt;/li>
&lt;li>Setelah selesai, Anda akan secara otomatis ditagih ** 2.900 yen per bulan **&lt;/li>
&lt;li>Pembatalan mungkin tidak dapat dilakukan dari halaman penjelasan resmi&lt;/li>
&lt;li>Anda benar-benar dapat membatalkan dari ** &amp;ldquo;halaman penghapusan layanan&amp;rdquo; **&lt;/li>
&lt;/ul>
&lt;p>Jika Anda berpikir, &amp;ldquo;Tidak apa-apa karena ini adalah uji coba gratis&amp;rdquo;, Anda akan ditagih sebelum Anda menyadarinya, jadi berhati-hatilah!&lt;/p>
&lt;hr>
&lt;p>👉 Jika Anda membaca artikel ini, Anda mungkin saat ini sedang kesulitan dan bertanya-tanya &amp;ldquo;Dari mana saya membatalkan?&amp;rdquo; Untuk saat ini, silakan periksa tautan di atas.&lt;/p>
&lt;hr></description></item><item><title>Siaran Pengembangan Aplikasi Pembuatan Kartu Tahun Baru VOL.1 (Naskah)</title><link>http://kenji.blog/id/p/%E5%B9%B4%E8%B3%80%E7%8A%B6%E4%BD%9C%E6%88%90%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E9%85%8D%E4%BF%A1-vol.1/</link><pubDate>Sun, 31 Aug 2025 20:24:49 +0900</pubDate><guid>http://kenji.blog/id/p/%E5%B9%B4%E8%B3%80%E7%8A%B6%E4%BD%9C%E6%88%90%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E9%85%8D%E4%BF%A1-vol.1/</guid><description>&lt;img src="http://kenji.blog/p/%E5%B9%B4%E8%B3%80%E7%8A%B6%E4%BD%9C%E6%88%90%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E9%85%8D%E4%BF%A1-vol.1/img.png" alt="Featured image of post Siaran Pengembangan Aplikasi Pembuatan Kartu Tahun Baru VOL.1 (Naskah)" />&lt;h1 id="-naskah-siaran-youtube-pengembangan-aplikasi-pembuatan-kartu-tahun-barubagian-1">🎬 Naskah Siaran YouTube (Pengembangan Aplikasi Pembuatan Kartu Tahun Baru・Bagian 1)
&lt;/h1>&lt;ol start="0">
&lt;li>Mulai Siaran (2-3 menit pertama)&lt;/li>
&lt;/ol>
&lt;h3 id="sapaan-singkat">Sapaan Singkat
&lt;/h3>&lt;p>&amp;ldquo;Halo. Mulai hari ini, saya akan memulai siaran pengembangan aplikasi pembuatan kartu Tahun Baru dengan C++ sedikit demi sedikit.&amp;rdquo;
&amp;ldquo;Saya tidak tahu berapa banyak siaran yang akan dilakukan sampai selesai, tapi kita akan maju secara bertahap sebagai sebuah seri.&amp;rdquo;
&amp;ldquo;Pada dasarnya saya akan bekerja dalam diam, jadi saya harap Anda dapat menonton ini sebagai BGM untuk bekerja.&amp;rdquo;&lt;/p>
&lt;h3 id="gambaran-umum-aplikasi-yang-dituju">Gambaran Umum Aplikasi yang Dituju
&lt;/h3>&lt;p>&amp;ldquo;Dalam aplikasi ini, saya ingin membuat desain sisi belakang kartu Tahun Baru menjadi mungkin.&amp;rdquo;
&amp;ldquo;Saya berencana untuk menyertakan penyisipan foto, penyesuaian font, dan menggunakan AI untuk pemrosesan gambar dan pembuatan ilustrasi, serta pada akhirnya mengunggahnya ke Microsoft Store.&amp;rdquo;&lt;/p>
&lt;h3 id="target-pekerjaan-hari-ini">Target Pekerjaan Hari Ini
&lt;/h3>&lt;p>&amp;ldquo;Hari ini, di bagian pertama, kita akan menyiapkan lingkungan dan membangun fondasi.&amp;rdquo;
&amp;ldquo;Secara spesifik,&lt;/p>
&lt;ul>
&lt;li>Pembuatan repositori GIT&lt;/li>
&lt;li>Pembuatan jendela utama&lt;/li>
&lt;li>Menampilkan dialog informasi versi&lt;/li>
&lt;li>Pembuatan menu dan implementasi perintah keluar&lt;/li>
&lt;li>Inisialisasi dan pelepasan Direct2D serta menampilkan HelloWorld&lt;/li>
&lt;/ul>
&lt;p>Saya berencana untuk memajukan hal-hal ini.&amp;rdquo;&lt;/p>
&lt;h3 id="tentang-publikasi-kode-sumber">Tentang Publikasi Kode Sumber
&lt;/h3>&lt;p>&amp;ldquo;Kode sumber dipublikasikan di GitHub. Jika Anda tertarik, silakan lihat.&amp;rdquo;
→ &lt;a class="link" href="https://github.com/kenjinote/NengaCardApp/" target="_blank" rel="noopener"
>https://github.com/kenjinote/NengaCardApp/&lt;/a>&lt;/p>
&lt;ol>
&lt;li>Bagian Bekerja (Diam)&lt;/li>
&lt;/ol>
&lt;p>Membuat repositori GitHub → Komit awal (Initial commit)&lt;/p>
&lt;p>Membuat cetakan jendela utama&lt;/p>
&lt;p>Membuat dialog versi dan menu serta implementasi perintah keluar&lt;/p>
&lt;p>Proses inisialisasi dan pelepasan Direct2D → Konfirmasi tampilan HelloWorld&lt;/p>
&lt;p>Mendorong (Push) ke GitHub sesuai kebutuhan&lt;/p>
&lt;p>※ Pada dasarnya diam, memberikan penjelasan singkat hanya saat dibutuhkan&lt;/p>
&lt;ol start="2">
&lt;li>Sebelum Akhir Siaran (1-2 menit terakhir)&lt;/li>
&lt;/ol>
&lt;h3 id="ringkasan-kemajuan-hari-ini">Ringkasan Kemajuan Hari Ini
&lt;/h3>&lt;p>&amp;ldquo;Hari ini, kita membuat repositori GIT, mengimplementasikan jendela, tombol keluar, dan dialog versi.&amp;rdquo;
&amp;ldquo;Kita berhasil menampilkan HelloWorld menggunakan Direct2D.&amp;rdquo;&lt;/p>
&lt;h3 id="menghubungkan-ke-waktu-berikutnya">Menghubungkan ke Waktu Berikutnya
&lt;/h3>&lt;p>&amp;ldquo;Mulai waktu berikutnya, saya ingin merapikan bagian UI dan maju ke hal-hal seperti membuat objek dari string.&amp;rdquo;&lt;/p>
&lt;h3 id="mengingatkan-kembali-tautan-github">Mengingatkan Kembali Tautan GitHub
&lt;/h3>&lt;p>→ &lt;a class="link" href="https://github.com/kenjinote/NengaCardApp/" target="_blank" rel="noopener"
>https://github.com/kenjinote/NengaCardApp/&lt;/a>&lt;/p>
&lt;h3 id="penutup">Penutup
&lt;/h3>&lt;p>&amp;ldquo;Terima kasih telah menonton. Saya akan terus bekerja keras di waktu berikutnya juga, jadi mohon dukungannya.&amp;rdquo;&lt;/p></description></item><item><title>Menginstal MSIX dengan Sertifikat yang Ditandatangani Sendiri</title><link>http://kenji.blog/id/p/msix%E3%81%AB%E8%87%AA%E5%B7%B1%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%92%E3%81%A4%E3%81%91%E3%81%A6%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B/</link><pubDate>Sat, 30 Aug 2025 04:18:04 +0900</pubDate><guid>http://kenji.blog/id/p/msix%E3%81%AB%E8%87%AA%E5%B7%B1%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%92%E3%81%A4%E3%81%91%E3%81%A6%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B/</guid><description>&lt;img src="http://kenji.blog/p/msix%E3%81%AB%E8%87%AA%E5%B7%B1%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%92%E3%81%A4%E3%81%91%E3%81%A6%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B/img.png" alt="Featured image of post Menginstal MSIX dengan Sertifikat yang Ditandatangani Sendiri" />&lt;h1 id="menginstal-msix-dengan-sertifikat-yang-ditandatangani-sendiri">Menginstal MSIX dengan Sertifikat yang Ditandatangani Sendiri
&lt;/h1>&lt;p>Saat mendistribusikan aplikasi di Windows, menggunakan &lt;strong>paket MSIX&lt;/strong> sangat praktis karena mekanisme penginstalan dan pembaruan disatukan. Namun, ada batasan bahwa MSIX selalu membutuhkan &amp;ldquo;sertifikat yang ditandatangani&amp;rdquo;.
Bila Anda ingin menguji distribusi aplikasi yang dikembangkan oleh perusahaan atau individu, mungkin ada situasi di mana &amp;ldquo;membeli sertifikat penandatanganan kode komersial terlalu berlebihan&amp;rdquo;.&lt;/p>
&lt;p>Di sinilah &lt;strong>Sertifikat yang Ditandatangani Sendiri (Self-Signed Certificate)&lt;/strong> berguna. Artikel ini merangkum langkah-langkah untuk melampirkan sertifikat yang ditandatangani sendiri ke MSIX agar dapat diinstal di lingkungan lokal.&lt;/p>
&lt;hr>
&lt;h2 id="1-membuat-sertifikat-yang-ditandatangani-sendiri">1. Membuat Sertifikat yang Ditandatangani Sendiri
&lt;/h2>&lt;p>Pertama, luncurkan PowerShell dalam mode Administrator dan jalankan perintah berikut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="p">//&lt;/span> &lt;span class="n">Membuat&lt;/span> &lt;span class="n">sertifikat&lt;/span> &lt;span class="n">yang&lt;/span> &lt;span class="n">ditandatangani&lt;/span> &lt;span class="n">sendiri&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">New-SelfSignedCertificate&lt;/span> &lt;span class="n">-Type&lt;/span> &lt;span class="n">CodeSigningCert&lt;/span> &lt;span class="n">-Subject&lt;/span> &lt;span class="s2">&amp;#34;CN=035A9AAC-915B-4CE1-AE39-1A101BED42F5&amp;#34;&lt;/span> &lt;span class="n">-CertStoreLocation&lt;/span> &lt;span class="n">Cert&lt;/span>&lt;span class="err">:&lt;/span>&lt;span class="p">\&lt;/span>&lt;span class="n">CurrentUser&lt;/span>&lt;span class="p">\&lt;/span>&lt;span class="n">My&lt;/span> &lt;span class="n">-NotAfter&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nb">Get-Date&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="py">AddYears&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mf">10&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="n">-KeyUsage&lt;/span> &lt;span class="n">DigitalSignature&lt;/span> &lt;span class="n">-FriendlyName&lt;/span> &lt;span class="s2">&amp;#34;kenjinote&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Apa yang dibuat di sini adalah sertifikat untuk &amp;ldquo;penandatanganan kode&amp;rdquo;.&lt;/p>
&lt;ul>
&lt;li>Akan lebih mudah ditemukan nanti jika Anda memberinya nama yang jelas menggunakan &lt;code>-FriendlyName&lt;/code>.&lt;/li>
&lt;li>Anda dapat menyesuaikan tanggal kedaluwarsa dengan &lt;code>-NotAfter&lt;/code>. Kali ini kami menetapkannya menjadi 10 tahun.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="2-mengekspor-file-pfx">2. Mengekspor File PFX
&lt;/h2>&lt;p>Ekspor sertifikat yang dibuat dalam format PFX sehingga dapat digunakan dengan &lt;code>signtool&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="p">//&lt;/span> &lt;span class="n">Membuat&lt;/span> &lt;span class="n">pfx&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$cert&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nb">Get-ChildItem&lt;/span> &lt;span class="n">Cert&lt;/span>&lt;span class="err">:&lt;/span>&lt;span class="p">\&lt;/span>&lt;span class="n">CurrentUser&lt;/span>&lt;span class="p">\&lt;/span>&lt;span class="n">My&lt;/span> &lt;span class="p">|&lt;/span> &lt;span class="nb">Where-Object&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nv">$_&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">FriendlyName&lt;/span> &lt;span class="o">-eq&lt;/span> &lt;span class="s2">&amp;#34;kenjinote&amp;#34;&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$password&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nb">ConvertTo-SecureString&lt;/span> &lt;span class="n">-String&lt;/span> &lt;span class="s2">&amp;#34;password&amp;#34;&lt;/span> &lt;span class="n">-Force&lt;/span> &lt;span class="n">-AsPlainText&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">Export-PfxCertificate&lt;/span> &lt;span class="n">-Cert&lt;/span> &lt;span class="nv">$cert&lt;/span> &lt;span class="n">-FilePath&lt;/span> &lt;span class="s2">&amp;#34;D:\pfx\cert.pfx&amp;#34;&lt;/span> &lt;span class="n">-Password&lt;/span> &lt;span class="nv">$password&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Kata sandi yang ditetapkan saat ini ( &lt;code>password&lt;/code> dalam contoh) akan diperlukan untuk operasi penandatanganan berikutnya.&lt;/p>
&lt;hr>
&lt;h2 id="3-menginstal-sertifikat-sendiri-ke-otoritas-sertifikasi-akar-tepercaya">3. Menginstal Sertifikat Sendiri ke Otoritas Sertifikasi Akar Tepercaya
&lt;/h2>&lt;p>Sertifikat yang dibuat tidak akan dipercaya oleh Windows seperti apa adanya. Untuk menginstalnya, Anda harus mengimpornya dari &lt;code>certmgr.msc&lt;/code> ke &lt;strong>[Otoritas Sertifikasi Akar Tepercaya] -&amp;gt; [Sertifikat]&lt;/strong> .&lt;/p>
&lt;p>Jika Anda mengimpor sertifikat yang diekspor ( &lt;code>.cer&lt;/code> atau &lt;code>.pfx&lt;/code> ), sertifikat itu akan diperlakukan sebagai sertifikat tepercaya di PC target.
Akibatnya, bahkan jika Anda menandatangani MSIX, peringatan &amp;ldquo;Sertifikat tidak tepercaya&amp;rdquo; tidak akan muncul.&lt;/p>
&lt;hr>
&lt;h2 id="4-menandatangani-penginstal-msix">4. Menandatangani Penginstal (MSIX)
&lt;/h2>&lt;p>Terakhir, gunakan sertifikat PFX yang dibuat untuk menandatangani MSIX. &lt;code>signtool&lt;/code> disertakan dalam Visual Studio dan Windows SDK.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="p">//&lt;/span> &lt;span class="n">Menandatangani&lt;/span> &lt;span class="n">penginstal&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">signtool&lt;/span> &lt;span class="n">sign&lt;/span> &lt;span class="p">/&lt;/span>&lt;span class="n">fd&lt;/span> &lt;span class="n">SHA256&lt;/span> &lt;span class="p">/&lt;/span>&lt;span class="n">f&lt;/span> &lt;span class="s2">&amp;#34;D:\pfx\cert.pfx&amp;#34;&lt;/span> &lt;span class="p">/&lt;/span>&lt;span class="n">p&lt;/span> &lt;span class="s2">&amp;#34;password&amp;#34;&lt;/span> &lt;span class="s2">&amp;#34;C:\installer\installer.msix&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ul>
&lt;li>&lt;code>/fd SHA256&lt;/code> menentukan algoritma tanda tangan.&lt;/li>
&lt;li>Tentukan file PFX dengan &lt;code>/f&lt;/code> dan masukkan kata sandi dengan &lt;code>/p&lt;/code>.&lt;/li>
&lt;li>Terakhir, tentukan jalur file MSIX.&lt;/li>
&lt;li>Jika jalur signtool tidak ditemukan, tentukan dengan jalur lengkap. Di lingkungan saya, lokasinya ada di tempat berikut.&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="cl">&lt;span class="s2">&amp;#34;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\microsoft.windows.sdk.buildtools&lt;/span>&lt;span class="se">\10&lt;/span>&lt;span class="s2">.0.26100.1742&lt;/span>&lt;span class="se">\b&lt;/span>&lt;span class="s2">in&lt;/span>&lt;span class="se">\10&lt;/span>&lt;span class="s2">.0.26100.0&lt;/span>&lt;span class="se">\x64&lt;/span>&lt;span class="s2">\signtool.exe&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Ini melengkapi penandatanganan, dan MSIX yang dapat diinstal pada PC target akan selesai.&lt;/p>
&lt;hr>
&lt;h2 id="kesimpulan">Kesimpulan
&lt;/h2>&lt;ul>
&lt;li>Buat sertifikat yang ditandatangani sendiri dengan &lt;strong>New-SelfSignedCertificate&lt;/strong>&lt;/li>
&lt;li>Ekspor PFX dengan &lt;strong>Export-PfxCertificate&lt;/strong>&lt;/li>
&lt;li>Instal sertifikat ke &lt;strong>Otoritas Sertifikasi Akar Tepercaya&lt;/strong>&lt;/li>
&lt;li>Tandatangani MSIX dengan &lt;strong>signtool&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>Dengan memahami alur ini, Anda dapat memeriksa operasi dan menguji distribusi di lingkungan lokal tanpa membeli sertifikat komersial.
Tentu saja, untuk distribusi komersial yang sebenarnya, sertifikat yang dikeluarkan oleh otoritas sertifikasi diperlukan, tetapi metode ini sangat berguna pada tahap pengembangan dan verifikasi.&lt;/p>
&lt;hr>
&lt;p>👉 Kami menggunakan installer.msix sebagai contoh kali ini, tetapi prosedur yang sama dapat diterapkan pada aplikasi yang Anda buat sendiri.&lt;/p>
&lt;hr></description></item><item><title>Kisah Pengembangan LogicPad</title><link>http://kenji.blog/id/p/logicpad-%E9%96%8B%E7%99%BA%E7%A7%98%E8%A9%B1/</link><pubDate>Wed, 30 Jul 2025 23:51:35 +0900</pubDate><guid>http://kenji.blog/id/p/logicpad-%E9%96%8B%E7%99%BA%E7%A7%98%E8%A9%B1/</guid><description>&lt;img src="http://kenji.blog/p/logicpad-%E9%96%8B%E7%99%BA%E7%A7%98%E8%A9%B1/img.png" alt="Featured image of post Kisah Pengembangan LogicPad" />&lt;h1 id="alat-untuk-mereka-yang-tidak-bisa-menulis-kode-tetapi-memiliki-logika-mengapa-saya-membuat-logicpad">Alat untuk Mereka yang &amp;ldquo;Tidak Bisa Menulis Kode, tetapi Memiliki Logika&amp;rdquo;. Mengapa Saya Membuat LogicPad
&lt;/h1>&lt;p>Halo, saya kenji. Saya adalah pembuat alat low-code &amp;ldquo;&lt;a class="link" href="https://logicpad.org" target="_blank" rel="noopener"
>LogicPad&lt;/a>&amp;rdquo;.
Kali ini, daripada memperkenalkan produk, saya ingin menulis dari sudut pandang yang sedikit lebih personal tentang kisah di balik layar pengembangannya, &amp;ldquo;mengapa saya ingin membuat ini?&amp;rdquo; dan perasaan saya sendiri.&lt;/p>
&lt;p>Sejujurnya, ini bukan sekadar pengembangan alat.
Masa lalu saya, rasa frustrasi di tempat kerja, keterampilan saya, dan keinginan yang selalu membara, &amp;ldquo;suatu hari nanti saya ingin membuat produk saya sendiri&amp;rdquo; ――
Hasil dari persilangan semua hal itulah yang melahirkan LogicPad.&lt;/p>
&lt;p>Dengan kata lain, &lt;strong>ini juga merupakan &amp;ldquo;proyek puncak kehidupan&amp;rdquo;&lt;/strong> bagi saya.
Saya akan menulis tentang latar belakang ini dengan sejujur dan seantusias mungkin.&lt;/p>
&lt;hr>
&lt;h2 id="sejujurnya-saya-menginginkan-produk-yang-bisa-saya-banggakan-dan-katakan-saya-yang-membuat-ini">Sejujurnya, Saya Menginginkan Produk yang Bisa Saya Banggakan dan Katakan, &amp;ldquo;Saya yang Membuat Ini&amp;rdquo;
&lt;/h2>&lt;p>Sejujurnya, ini adalah motif pertama saya.&lt;/p>
&lt;p>Sejak lama, saya suka menulis kode baik untuk pekerjaan maupun hobi. Saya telah terlibat dalam berbagai pengembangan.
Tapi suatu hari, saya tiba-tiba menyadari.
&lt;strong>&amp;ldquo;Saya tidak memiliki produk yang saya rilis ke dunia atas nama saya sendiri dan di bawah tanggung jawab saya sendiri.&amp;rdquo;&lt;/strong>&lt;/p>
&lt;p>Tentu saja, hal-hal yang kami buat sebagai tim memiliki nilai, dan ada banyak pekerjaan yang saya banggakan.
Tapi di suatu tempat, ada juga perasaan hampa: &amp;ldquo;Apakah saya akan mengakhiri karier saya seperti ini, di bawah nama orang lain?&amp;rdquo;&lt;/p>
&lt;p>Sekali saja.
&lt;strong>Saya ingin meninggalkan sesuatu yang bisa saya banggakan dan katakan, &amp;ldquo;Saya yang membuat ini&amp;rdquo;.&lt;/strong>
Dengan pemikiran itu, saya mulai merumuskan konsep LogicPad. Itu sekitar 6 tahun yang lalu (sekitar tahun 2019).
(Ide awalnya sendiri adalah sekitar tahun 2015 ketika saya mengetahui tentang Blueprints, bahasa pemrograman visual di Unreal Engine.)&lt;/p>
&lt;h2 id="ブループリントimg_1png">&lt;img src="http://kenji.blog/p/logicpad-%E9%96%8B%E7%99%BA%E7%A7%98%E8%A9%B1/img_1.png"
width="637"
height="285"
srcset="http://kenji.blog/p/logicpad-%E9%96%8B%E7%99%BA%E7%A7%98%E8%A9%B1/img_1_hu70d4fd9be2cc84fc55cb45a83c67cc8a_54446_480x0_resize_box_3.png 480w, http://kenji.blog/p/logicpad-%E9%96%8B%E7%99%BA%E7%A7%98%E8%A9%B1/img_1_hu70d4fd9be2cc84fc55cb45a83c67cc8a_54446_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="ブループリント"
class="gallery-image"
data-flex-grow="223"
data-flex-basis="536px"
>
&lt;/h2>&lt;h2 id="anda-tidak-bisa-ikut-campur-karena-tidak-bisa-menulis-kode-bukankah-itu-sayang-sekali">Anda Tidak Bisa Ikut Campur Karena Tidak Bisa Menulis Kode. Bukankah Itu Sayang Sekali?
&lt;/h2>&lt;p>Ada banyak orang berbakat di tempat kerja saya.&lt;/p>
&lt;p>Mereka bisa membangun logika. Mereka menggunakan fungsi Excel dengan bebas, dan mereka bisa melihat inti dari sebuah masalah.
Tapi ―― tangan mereka berhenti pada tahap &amp;ldquo;menulis kode&amp;rdquo;.&lt;/p>
&lt;p>&amp;ldquo;Saya melakukan pekerjaan ini dengan melihat manual setiap kali, tidak bisakah kita mengotomatiskannya?&amp;rdquo;
&amp;ldquo;Ya, bisa. Tapi&amp;hellip; Anda harus menulis kode untuk melakukannya&amp;hellip;&amp;rdquo;&lt;/p>
&lt;p>Percakapan seperti itu terjadi berkali-kali.&lt;/p>
&lt;p>Saya berpikir setiap kali.
&lt;strong>&amp;ldquo;Meskipun mereka memahami logikanya, sungguh disayangkan mereka terhenti oleh dinding kode.&amp;rdquo;&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="pilihan-editor-low-code">Pilihan Editor Low-Code
&lt;/h2>&lt;p>Sebenarnya, di pekerjaan saya sebelumnya, saya sedang mengembangkan perangkat lunak CAD 2D yang dioperasikan melalui GUI.
Di CAD, Anda merakit bentuk menggunakan mouse, bukan?
Dengan kata lain, ini adalah dunia &lt;strong>&amp;ldquo;membangun logika melalui operasi&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Saya pikir, &amp;ldquo;Ini sangat cocok dengan low-code.&amp;rdquo;&lt;/p>
&lt;p>Melihat lebih jauh ke belakang, sejak saya masih mahasiswa, saya selalu melakukan pemrosesan gambar, pemrosesan numerik, alat Windows, alat posting otomatis SNS, dll.
Setiap kali saya mendapat ide, saya akan langsung menulis kode dan memproduksi massal program kecil.
Saya rasa ada lebih dari 600 buah. Semuanya masih ada di GitHub hingga hari ini.&lt;/p>
&lt;p>Saat itu, saya tidak memikirkan maknanya.
Itu hanya &amp;ldquo;Saya membuatnya karena saya ingin&amp;rdquo;. Itu saja.&lt;/p>
&lt;p>Tapi sekarang, saat membuat LogicPad&amp;hellip;&lt;/p>
&lt;p>&lt;strong>Saya benar-benar merasa titik-titiknya telah terhubung menjadi sebuah garis.&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="mudah-digunakan-tapi-kuat-kesulitan-menjaga-keseimbangan">Mudah Digunakan, tapi Kuat. Kesulitan Menjaga Keseimbangan
&lt;/h2>&lt;p>Saat saya melanjutkan pengembangan, hal yang selalu saya pikirkan adalah
&lt;strong>&amp;ldquo;menjadikannya alat yang intuitif untuk digunakan dan juga benar-benar kuat&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Jika Anda menambahkan fitur, Anda menambah apa yang bisa dilakukan. Tapi itu akan menjadi sulit digunakan.
Jika Anda membuatnya sederhana, siapa pun bisa menyentuhnya. Tapi kemudian, akan ada orang-orang yang merasa kurang puas.&lt;/p>
&lt;p>Agar orang tidak berkata, &amp;ldquo;Alat low-code itu cuma mainan, kan?&amp;rdquo;
Tapi juga agar mereka tidak berkata, &amp;ldquo;Pada akhirnya, Anda tetap harus menulis kode, kan?&amp;rdquo;&lt;/p>
&lt;p>&lt;strong>Saya selalu berjuang di garis tipis antara intuisi dan ekspresi tersebut.&lt;/strong>&lt;/p>
&lt;p>Saya membangun ulang UI berkali-kali, membuangnya berkali-kali,
dan ketika saya akhirnya mendekati bentuk yang membuat saya berpikir, &amp;ldquo;Ini bisa berhasil,&amp;rdquo; saya benar-benar bahagia.&lt;/p>
&lt;hr>
&lt;h2 id="saya-terselamatkan-oleh-kata-kata-pertama-dari-pengguna">Saya Terselamatkan oleh Kata-Kata Pertama dari &amp;ldquo;Pengguna&amp;rdquo;
&lt;/h2>&lt;p>Orang pertama yang saya beri LogicPad adalah mantan rekan kerja.
Dia tidak pandai IT, dan takut pada kode. Tapi dia ahli dalam logika.&lt;/p>
&lt;p>Saya menjelaskan sedikit dan membiarkannya mencoba&amp;hellip; Kata-kata yang dia ucapkan beberapa menit kemudian, saya tidak bisa melupakannya sampai sekarang.&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>&amp;ldquo;Kalau begini, sepertinya saya juga bisa melakukannya!&amp;rdquo;&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>Saya hampir menangis.
Itulah yang ingin saya berikan padanya.&lt;/p>
&lt;p>Bukan sekadar alat yang berfungsi, melainkan &lt;strong>perasaan &amp;ldquo;Saya bisa membuatnya sendiri!&amp;rdquo;&lt;/strong> .
Saya yakin bahwa itulah nilai sebenarnya dari LogicPad.&lt;/p>
&lt;hr>
&lt;h2 id="jika-lebih-banyak-orang-bisa-membuat-masyarakat-akan-menjadi-lebih-menarik">Jika Lebih Banyak Orang Bisa Membuat, Masyarakat Akan Menjadi Lebih Menarik
&lt;/h2>&lt;p>Saya benar-benar berpikir bahwa &amp;ldquo;demokratisasi teknologi&amp;rdquo; sangatlah penting.&lt;/p>
&lt;p>Teknologi memiliki kekuatan untuk mengubah dunia.
Namun orang-orang yang bisa menanganinya terbatas.&lt;/p>
&lt;p>Bagaimana jika Anda bisa membuat aplikasi hanya dengan &amp;ldquo;memahami logika&amp;rdquo;?&lt;/p>
&lt;p>&lt;strong>Lebih banyak orang akan bisa beralih ke sisi &amp;ldquo;pembuat&amp;rdquo;.&lt;/strong>
And saya percaya bahwa apa yang akan lahir dari sana akan melampaui imajinasi kita saat ini.&lt;/p>
&lt;p>Jika LogicPad bisa menjadi pintu masuk itu.
Saya ingin ini menjadi alat yang mengubah &amp;ldquo;Saya ingin membuat&amp;rdquo; menjadi &amp;ldquo;Saya bisa membuat&amp;rdquo;.&lt;/p>
&lt;p>Itulah harapan saya.&lt;/p>
&lt;hr>
&lt;h2 id="penutup">Penutup
&lt;/h2>&lt;p>LogicPad masih dalam versi beta dan belum selesai.
Masih ada segunung hal yang perlu diperbaiki dan hal yang ingin saya lakukan.&lt;/p>
&lt;p>Namun, saya telah menuangkan &lt;strong>seluruh &amp;ldquo;titik-titik&amp;rdquo; kehidupan saya ke dalam alat ini&lt;/strong> .
Sekarang saya bisa mengatakannya dengan bangga.&lt;/p>
&lt;p>&lt;strong>&amp;ldquo;Ini adalah produk yang saya buat&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;hr>
&lt;h3 id="-bonus-apa-yang-bisa-anda-lakukan-dengan-logicpad">👇 Bonus: Apa yang Bisa Anda Lakukan dengan LogicPad
&lt;/h3>&lt;ul>
&lt;li>Membangun proses dengan drag &amp;amp; drop&lt;/li>
&lt;li>Menangani percabangan kondisional dan variabel melalui GUI&lt;/li>
&lt;li>Menyediakan berbagai node integrasi AI&lt;/li>
&lt;li>Ekstensibilitas untuk pengguna tingkat lanjut dengan memasukkan skrip&lt;/li>
&lt;li>Fungsi matematika dan pemrosesan data presisi tinggi (seperti perhitungan numerik dengan presisi tak terbatas)&lt;/li>
&lt;li>Pintasan keyboard yang ekstensif untuk pengguna tingkat lanjut&lt;/li>
&lt;li>Mendukung lebih dari 90 bahasa&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h3 id="apa-yang-ingin-saya-lakukan-ke-depannya">Apa yang Ingin Saya Lakukan ke Depannya
&lt;/h3>&lt;ul>
&lt;li>Integrasi AI untuk menghasilkan logika dari bahasa alami&lt;/li>
&lt;li>Mekanisme yang memungkinkan pengguna membuat node kustom&lt;/li>
&lt;li>Membangun platform di mana node dan logika yang dibuat dapat dibagikan&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-catatan-akhir">✍️ Catatan Akhir
&lt;/h2>&lt;p>Terima kasih banyak telah membaca sejauh ini.
Ini bukan sekadar pengembangan alat, melainkan sebuah tantangan di mana saya mencurahkan pengalaman, hasrat, dan bagian dari hidup saya.&lt;/p>
&lt;p>&amp;ldquo;Tidak bisa menulis kode, tetapi memiliki logika&amp;rdquo;
Masa depan di mana orang-orang seperti itu &lt;strong>bisa &amp;ldquo;membuat&amp;rdquo;&lt;/strong> dengan kekuatan mereka sendiri.
Saya ingin terus mengupayakan hal tersebut melalui LogicPad.&lt;/p>
&lt;p>Jika hal ini membuat Anda sedikit saja berpikir, &amp;ldquo;Saya ingin menggunakannya,&amp;rdquo; saya akan sangat senang.
Jika Anda tertarik, silakan coba &lt;a class="link" href="https://logicpad.org" target="_blank" rel="noopener"
>LogicPad&lt;/a>.&lt;/p>
&lt;p>Dan jika Anda memiliki pemikiran atau hal yang Anda sadari setelah menggunakannya, tidak peduli sekecil apa pun itu.
Suara Anda akan menjadi kekuatan pendorong yang besar untuk langkah selanjutnya dari produk ini.&lt;/p>
&lt;p>Terima kasih atas dukungan Anda yang berkelanjutan.&lt;/p></description></item><item><title>Cara Menghapus Metadata (Informasi Pribadi) dari Excel dan Word Sekaligus Menggunakan PowerShell</title><link>http://kenji.blog/id/p/cara-menghapus-metadata-informasi-pribadi-excel-dengan-powershell/</link><pubDate>Wed, 30 Jul 2025 02:42:40 +0900</pubDate><guid>http://kenji.blog/id/p/cara-menghapus-metadata-informasi-pribadi-excel-dengan-powershell/</guid><description>&lt;img src="http://kenji.blog/p/powershell-%E3%81%A7-excel-%E3%81%AE%E3%83%A1%E3%82%BF%E3%83%87%E3%83%BC%E3%82%BF%E5%80%8B%E4%BA%BA%E6%83%85%E5%A0%B1%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/powershell_metadata_eyecatch_1788588033601.jpg" alt="Featured image of post Cara Menghapus Metadata (Informasi Pribadi) dari Excel dan Word Sekaligus Menggunakan PowerShell" />&lt;h1 id="cara-menghapus-metadata-informasi-pribadi-dari-excel-dan-word-sekaligus-menggunakan-powershell">Cara Menghapus Metadata (Informasi Pribadi) dari Excel dan Word Sekaligus Menggunakan PowerShell
&lt;/h1>&lt;p>File Office seperti Excel secara otomatis menyimpan &amp;ldquo;metadata (informasi pribadi)&amp;rdquo; seperti pembuat, pihak terakhir yang mengubah, nama perusahaan, dan lainnya. Terdapat banyak kasus di mana Anda ingin menghapus informasi ini, misalnya ketika berbagi file ke luar perusahaan.&lt;/p>
&lt;p>Artikel ini akan menjelaskan secara rinci tentang cara menghapus metadata Excel menggunakan PowerShell, dengan fokus pada &lt;strong>pemrosesan massal dalam folder&lt;/strong> dan &lt;strong>penerapannya pada file Office lain seperti Word dan PowerPoint&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="1-menghapus-metadata-dari-satu-file-excel">1. Menghapus Metadata dari Satu File Excel
&lt;/h2>&lt;p>Ini adalah skrip dasar untuk menghapus informasi pribadi dari satu file Excel. Skrip ini memanggil objek COM Excel, mengatur properti &lt;code>RemovePersonalInformation&lt;/code> menjadi &lt;code>$true&lt;/code>, lalu menyimpan dan menimpanya.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="c"># Jalankan aplikasi Excel secara tersembunyi&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$excel&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nb">New-Object&lt;/span> &lt;span class="n">-ComObject&lt;/span> &lt;span class="n">Excel&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Application&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$excel&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Visible&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="vm">$false&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$excel&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">DisplayAlerts&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="vm">$false&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c"># Buka file (※ tentukan path absolut)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$filePath&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s2">&amp;#34;C:\Path\To\Your\File.xlsx&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$wb&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nv">$excel&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Workbooks&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">$filePath&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c"># Aktifkan pengaturan untuk menghapus metadata (informasi pribadi)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$wb&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">RemovePersonalInformation&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="vm">$true&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c"># Simpan dengan menimpa dan tutup&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$wb&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Save&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$wb&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Close&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="vm">$false&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c"># Keluar dari Excel dan bebaskan memori&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$excel&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Quit&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="no">System.Runtime.Interopservices.Marshal&lt;/span>&lt;span class="p">]::&lt;/span>&lt;span class="n">ReleaseComObject&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">$excel&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">|&lt;/span> &lt;span class="nb">Out-Null&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;blockquote>
&lt;p>&lt;strong>Catatan:&lt;/strong> Path yang diberikan ke &lt;code>Workbooks.Open()&lt;/code> harus berupa &lt;strong>path absolut (full path)&lt;/strong>. Path relatif dapat menyebabkan error.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="2-memproses-semua-file-excel-dalam-folder-sekaligus">2. Memproses Semua File Excel dalam Folder Sekaligus
&lt;/h2>&lt;p>Dalam praktiknya, sering kali Anda ingin &amp;ldquo;menghapus metadata dari puluhan file Excel di folder tertentu sekaligus&amp;rdquo;. Hal ini dapat dicapai dengan menggabungkan &lt;code>Get-ChildItem&lt;/code> untuk melakukan perulangan.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$targetFolder&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s2">&amp;#34;C:\Path\To\Your\Folder&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c"># Ambil semua file .xlsx dan .xls di dalam folder&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$excelFiles&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nb">Get-ChildItem&lt;/span> &lt;span class="n">-Path&lt;/span> &lt;span class="nv">$targetFolder&lt;/span> &lt;span class="n">-Include&lt;/span> &lt;span class="s2">&amp;#34;*.xlsx&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;*.xls&amp;#34;&lt;/span> &lt;span class="n">-Recurse&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nv">$excelFiles&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Count&lt;/span> &lt;span class="o">-eq&lt;/span> &lt;span class="mf">0&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">Write-Host&lt;/span> &lt;span class="s2">&amp;#34;File Excel tidak ditemukan.&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">exit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$excel&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nb">New-Object&lt;/span> &lt;span class="n">-ComObject&lt;/span> &lt;span class="n">Excel&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Application&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$excel&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Visible&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="vm">$false&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$excel&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">DisplayAlerts&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="vm">$false&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">foreach&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nv">$file&lt;/span> &lt;span class="k">in&lt;/span> &lt;span class="nv">$excelFiles&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">Write-Host&lt;/span> &lt;span class="s2">&amp;#34;Menghapus metadata dari &lt;/span>&lt;span class="p">$(&lt;/span>&lt;span class="nv">$file&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">Name&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="s2"> ...&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c"># Buka file&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">$wb&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nv">$excel&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Workbooks&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">$file&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">FullName&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c"># Hapus metadata dan simpan dengan menimpa&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">$wb&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">RemovePersonalInformation&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="vm">$true&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">$wb&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Save&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">$wb&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Close&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="vm">$false&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$excel&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Quit&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="no">System.Runtime.Interopservices.Marshal&lt;/span>&lt;span class="p">]::&lt;/span>&lt;span class="n">ReleaseComObject&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">$excel&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">|&lt;/span> &lt;span class="nb">Out-Null&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">Write-Host&lt;/span> &lt;span class="s2">&amp;#34;Semua proses selesai!&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="3-menghapus-metadata-dari-file-office-lainnya-word--powerpoint">3. Menghapus Metadata dari File Office Lainnya (Word / PowerPoint)
&lt;/h2>&lt;p>Anda juga dapat menghapus metadata dari Word atau PowerPoint menggunakan logika yang sama persis seperti pada Excel. Satu-satunya perbedaan adalah nama objek COM yang dipanggil, sementara ketersediaan properti &lt;code>RemovePersonalInformation&lt;/code> tetap sama.&lt;/p>
&lt;h3 id="untuk-word">Untuk Word
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$word&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nb">New-Object&lt;/span> &lt;span class="n">-ComObject&lt;/span> &lt;span class="n">Word&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Application&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$word&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Visible&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="vm">$false&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$word&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">DisplayAlerts&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="mf">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$doc&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nv">$word&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Documents&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;C:\Path\To\Your\File.docx&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$doc&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">RemovePersonalInformation&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="vm">$true&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$doc&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Save&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$doc&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Close&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$word&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Quit&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="no">System.Runtime.Interopservices.Marshal&lt;/span>&lt;span class="p">]::&lt;/span>&lt;span class="n">ReleaseComObject&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">$word&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">|&lt;/span> &lt;span class="nb">Out-Null&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="untuk-powerpoint">Untuk PowerPoint
&lt;/h3>&lt;p>Untuk PowerPoint, pengaturan properti &lt;code>RemovePersonalInformation&lt;/code> tetap sama, tetapi perilaku untuk menjalankannya secara tersembunyi sedikit berbeda.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$ppt&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nb">New-Object&lt;/span> &lt;span class="n">-ComObject&lt;/span> &lt;span class="n">PowerPoint&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Application&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c"># Buka dengan menentukan mode tersembunyi (msoFalse) pada argumen ke-2 hingga ke-4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$presentation&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nv">$ppt&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Presentations&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;C:\Path\To\Your\File.pptx&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="vm">$false&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="vm">$false&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="vm">$false&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$presentation&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">RemovePersonalInformation&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="vm">$true&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$presentation&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Save&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$presentation&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Close&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$ppt&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Quit&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="no">System.Runtime.Interopservices.Marshal&lt;/span>&lt;span class="p">]::&lt;/span>&lt;span class="n">ReleaseComObject&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">$ppt&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">|&lt;/span> &lt;span class="nb">Out-Null&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="kesimpulan">Kesimpulan
&lt;/h2>&lt;p>Dengan memanfaatkan PowerShell dan objek COM, Anda dapat mengotomatiskan sepenuhnya penghapusan metadata dari file Office. Untuk mencegah kebocoran informasi rahasia atau nama pribadi secara tidak sengaja, sangat praktis untuk menyiapkan skrip pemrosesan massal dalam folder sebelum mengirimkan file.&lt;/p></description></item><item><title>Penjelasan Sederhana tentang Dugaan Kepler</title><link>http://kenji.blog/id/p/penjelasan-sederhana-dugaan-kepler/</link><pubDate>Mon, 21 Jul 2025 22:53:03 +0900</pubDate><guid>http://kenji.blog/id/p/penjelasan-sederhana-dugaan-kepler/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%B1%E3%83%97%E3%83%A9%E3%83%BC%E4%BA%88%E6%83%B3%E3%82%92%E3%82%8F%E3%81%8B%E3%82%8A%E3%82%84%E3%81%99%E3%81%8F%E8%A7%A3%E8%AA%AC/img.png" alt="Featured image of post Penjelasan Sederhana tentang Dugaan Kepler" />&lt;h1 id="penjelasan-sederhana-tentang-dugaan-kepler-cara-menyusun-semangka-serapat-mungkin">Penjelasan Sederhana tentang Dugaan Kepler! 〜Cara Menyusun Semangka Serapat Mungkin〜
&lt;/h1>&lt;p>Halo, ini kenji!&lt;/p>
&lt;p>Hari ini saya ingin mencoba menjelaskan masalah matematika yang namanya terdengar agak sulit, yaitu &amp;ldquo;Dugaan Kepler&amp;rdquo;, dengan cara yang sesederhana mungkin.&lt;/p>
&lt;p>Sekilas, ini mungkin terdengar seperti topik yang sangat spesifik, tetapi sebenarnya ini adalah masalah yang cukup dekat dengan kehidupan sehari-hari, seperti &amp;ldquo;bagaimana cara memasukkan semangka ke dalam kotak sepadat mungkin?&amp;rdquo;. Ini juga berhubungan dengan kulkas di minimarket dan cara menumpuk barang bawaan.&lt;/p>
&lt;p>Dan di dunia matematika, ini adalah cerita yang sangat romantis tentang masalah yang &lt;strong>tidak bisa dibuktikan selama lebih dari 400 tahun&lt;/strong> .&lt;/p>
&lt;p>Mari kita mulai!&lt;/p>
&lt;hr>
&lt;h2 id="siapa-itu-kepler">Siapa itu Kepler?
&lt;/h2>&lt;p>Pertama-tama, siapa &amp;ldquo;Kepler&amp;rdquo; dalam &amp;ldquo;Dugaan Kepler&amp;rdquo;?&lt;/p>
&lt;p>Ini adalah nama seorang astronom dan matematikawan Jerman, &lt;strong>Johannes Kepler&lt;/strong> .&lt;/p>
&lt;p>Orang ini sangat luar biasa.
Misalnya, dialah yang menemukan bahwa orbit planet berbentuk elips. Ini adalah pengetahuan yang umum saat ini, tetapi pada masa itu (sekitar tahun 1600) bahkan teori heliosentris belum sepenuhnya dipercaya.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Galileo = Jenius observasi&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Kepler = Jenius yang menjelaskan alam semesta dengan rumus&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Newton = Super jenius yang merangkum teori-teori tersebut menjadi hukum fisika&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>Dengan posisi seperti itu, Kepler adalah pionir dalam &amp;ldquo;menjelaskan alam semesta dengan persamaan matematika&amp;rdquo;.&lt;/p>
&lt;p>Dan kemudian suatu hari dia mengatakan ini.&lt;/p>
&lt;hr>
&lt;h2 id="apa-itu-dugaan-kepler">Apa itu Dugaan Kepler?
&lt;/h2>&lt;p>Secara sederhana, &amp;ldquo;Dugaan Kepler&amp;rdquo; adalah masalah ini.&lt;/p>
&lt;hr>
&lt;blockquote>
&lt;p>&lt;strong>Saat memasukkan bola dengan ukuran yang sama (seperti semangka atau jeruk) ke dalam kotak, susunan mana yang paling padat?&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;p>Masalah seperti ini.&lt;/p>
&lt;p>Lalu apa yang Kepler duga pada tahun 1600-an adalah&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Bukankah menumpuknya seperti bentuk segitiga, seperti menata jeruk di pasar sayur, adalah yang paling efisien?&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;p>Dalam bahasa matematika, ini disebut &lt;strong>&amp;ldquo;Masalah Pengepakan Bola&amp;rdquo; (Sphere Packing Problem)&lt;/strong> , yaitu masalah mencari cara menyusun bola serapat mungkin dalam suatu ruang.&lt;/p>
&lt;p>Kepler menduga bahwa susunan &lt;strong>&amp;ldquo;Face-Centered Cubic (FCC)&amp;rdquo;&lt;/strong> (mirip dengan menumpuk semangka dalam bentuk segitiga) adalah yang paling efisien.&lt;/p>
&lt;p>Dan orang-orang berpikir, &amp;ldquo;Itu memang masuk akal,&amp;rdquo; tapi terbukti sangat sulit untuk membuktikan secara matematis bahwa &amp;ldquo;ini jelas yang terbaik!&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="400-tahun-untuk-membuktikan">400 Tahun untuk Membuktikan!?!
&lt;/h2>&lt;p>Lalu, kapan sebenarnya itu terbukti?&lt;/p>
&lt;p>Mengejutkannya, sekitar tahun &lt;strong>1998 - 2005&lt;/strong> .
Artinya, &lt;strong>hampir 400 tahun tidak ada yang bisa membuktikannya&lt;/strong> . Luar biasa.&lt;/p>
&lt;p>Selain itu, orang yang membuktikannya adalah matematikawan Amerika, &lt;strong>Thomas Hales&lt;/strong> .&lt;/p>
&lt;p>Orang ini menyadari bahwa tidak mungkin melakukannya dengan perhitungan manual, jadi dia &lt;strong>menggunakan komputer untuk membuktikannya&lt;/strong> .
Namun, buktinya terlalu rumit sehingga manusia tidak bisa memeriksanya dengan benar! Masalah pun muncul.&lt;/p>
&lt;p>Oleh karena itu, terjadi perdebatan besar di dunia matematika, &amp;ldquo;Apakah kita benar-benar bisa mempercayai bukti komputer?&amp;rdquo;.&lt;/p>
&lt;p>Akhirnya, &amp;ldquo;bukti formal&amp;rdquo; yang dikonfirmasi secara ketat, termasuk dengan komputer, diselesaikan pada &lt;strong>tahun 2014&lt;/strong> .&lt;/p>
&lt;p>Dengan kata lain, butuh &lt;strong>lebih dari 400 tahun&lt;/strong> hingga intuisi Kepler terbukti benar. Betapa romantisnya.&lt;/p>
&lt;hr>
&lt;h2 id="ini-sangat-sering-digunakan-di-kehidupan-nyata">Ini Sangat Sering Digunakan di Kehidupan Nyata
&lt;/h2>&lt;p>Anda mungkin berpikir bahwa &amp;ldquo;bagaimana cara menumpuk bola&amp;rdquo; hanya dibicarakan oleh para kutu buku matematika, tetapi sebenarnya ini sangat praktis.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Mengemas minuman secara efisien di kulkas minimarket&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Menumpuk kaleng di palet transportasi&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Juga diterapkan dalam telekomunikasi (seperti kompresi sinyal digital)&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Digunakan dalam desain printer 3D dan struktur kristal&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>Dan masih banyak lagi. Faktanya, ini adalah teori yang banyak digunakan di balik kehidupan kita.&lt;/p>
&lt;hr>
&lt;h2 id="kesimpulan-intuisi-manusia-itu-luar-biasa">Kesimpulan: Intuisi Manusia Itu Luar Biasa
&lt;/h2>&lt;p>Jadi, mari kita rangkum.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Dugaan Kepler&lt;/strong> = Masalah bagaimana cara mengemas bola serapat mungkin&lt;/li>
&lt;li>&lt;strong>Pak Kepler&lt;/strong> = Matematikawan/astronom yang menemukan orbit planet&lt;/li>
&lt;li>&lt;strong>Diduga pada tahun 1600-an! Tetapi dibuktikan pada tahun 2000-an!&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Sangat diaplikasikan dalam kehidupan nyata!&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>Dan hal yang paling menarik adalah
&lt;strong>&amp;ldquo;cara pedagang sayur menumpuk buah berdasarkan insting ternyata yang terbaik secara matematis&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Dengan kata lain, &lt;strong>intuisi manusia itu luar biasa&lt;/strong> .
Dan fakta bahwa &lt;strong>butuh waktu 400 tahun untuk membuktikannya&lt;/strong> membuat cerita ini sangat romantis.&lt;/p>
&lt;hr>
&lt;p>Jika Anda tertarik, silakan cari &amp;ldquo;Thomas Hales&amp;rdquo;, &amp;ldquo;Formal Proof&amp;rdquo;, atau &amp;ldquo;Sphere Packing&amp;rdquo;. Jika digali lebih dalam, ini akan sangat menarik.&lt;/p>
&lt;p>Sampai jumpa!&lt;/p>
&lt;hr>
&lt;p>[PR]&lt;/p>
&lt;div style="background:#fff;width:120px;height:215px;box-sizing:border-box;border:1px solid #ccc;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;">&lt;div style="line-height:0;">&lt;img src="https://static.jp.mercari.com/assets/img/common/jp/logo_horizontal.png" width="105">&lt;/div>&lt;a href="https://jp.mercari.com/item/m71496725612?afid=1916658352" style="width:100px;height:100px;background:#eee;" target="_blank">&lt;img src="https://ambassador-system.mercari.com/v1/i?id=m71496725612&amp;svc=m" style="line-height:0;width:100px;height:100px;object-fit:contain;"/>&lt;/a>&lt;div style="padding:12px 0;width:100%;text-align:center;">&lt;a href="https://jp.mercari.com/item/m71496725612?afid=1916658352" style="width:100px;height:32px;background-color:#E32B36;border-radius:4px;line-height:14px;text-align:center;color:#fff;font-weight:bold;border:0;font-size:12px;display:inline-flex;justify-content:center;align-items:center;" target="_blank">今すぐ購入&lt;/a>&lt;/div>&lt;/div></description></item><item><title>Tembok Pengembangan AI</title><link>http://kenji.blog/id/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/</link><pubDate>Sun, 20 Jul 2025 21:52:42 +0900</pubDate><guid>http://kenji.blog/id/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/</guid><description>&lt;img src="http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_1.png" alt="Featured image of post Tembok Pengembangan AI" />&lt;h1 id="tembok-pengembangan-ai">Tembok Pengembangan AI
&lt;/h1>&lt;p>&lt;strong>〜 Sampai di pos 8, tapi setelah itu seperti neraka 〜&lt;/strong>&lt;/p>
&lt;p>Halo, saya kenji.&lt;/p>
&lt;p>Belakangan ini, saya sering sekali mendengar, &amp;ldquo;Saya minta AI, dan aplikasi pun jadi!&amp;rdquo;
Kita telah melewati era no-code dan low-code, dan memasuki fase &amp;ldquo;vibe-coding&amp;rdquo; (menulis kode berdasarkan suasana hati).&lt;/p>
&lt;p>Misalnya, jika Anda berkata, &amp;ldquo;Buatkan aplikasi yang bisa mengedit gambar dan mempostingnya ke media sosial,&amp;rdquo; AI akan mengeluarkan kode dan bahkan antarmuka pengguna (UI).
Anda mungkin berpikir, &lt;strong>&amp;ldquo;Wow, kita tidak butuh manusia lagi, kan?&amp;rdquo;&lt;/strong>&lt;/p>
&lt;p>Tapi tahukah Anda, itu &lt;strong>seperti turun di pos 8 Gunung Fuji dengan memakai sandal&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="sampai-pos-8-terlihat-sangat-mudah">Sampai pos 8 terlihat &amp;ldquo;sangat mudah&amp;rdquo;
&lt;/h2>&lt;p>Pengembangan dengan AI pada awalnya memang sangat mudah.
File I/O? Untuk saat ini berfungsi.
Jaringan? Yah, terhubung.
Database? JSON saja cukup.
UI? ChatGPT sudah memberikan kode React.
Pembayaran? API Stripe cukup copy-paste.&lt;/p>
&lt;p>Di sini, Anda mulai berkhayal, &amp;ldquo;Apakah saya sudah menjadi seorang engineer?&amp;rdquo;
Namun, neraka yang sesungguhnya baru saja dimulai.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img.png"
width="1024"
height="1024"
srcset="http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_huf56c5201f3b1d8f8800773fd39442f1f_2016892_480x0_resize_box_3.png 480w, http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_huf56c5201f3b1d8f8800773fd39442f1f_2016892_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;hr>
&lt;h2 id="mengapa-kita-terjebak">Mengapa kita terjebak?
&lt;/h2>&lt;p>Alasannya sederhana, &amp;ldquo;AI membuat sesuatu yang tampak jadi, tetapi penyesuaian akhir sepenuhnya diserahkan kepada manusia.&amp;rdquo;&lt;/p>
&lt;ul>
&lt;li>Data hilang saat file I/O&lt;/li>
&lt;li>Normalisasi DB yang buruk membuat pencarian menjadi lambat&lt;/li>
&lt;li>UI tidak intuitif&lt;/li>
&lt;li>Tidak ada pengujian beban, sehingga crash saat ada lonjakan akses&lt;/li>
&lt;li>Ditolak saat review oleh Apple/Google&lt;/li>
&lt;li>Menimbulkan masalah hukum (dan hampir viral)&lt;/li>
&lt;/ul>
&lt;p>Dengan kata lain, &lt;strong>AI ahli dalam membuat &amp;ldquo;prototipe yang terlihat seperti sudah selesai&amp;rdquo;&lt;/strong>, tetapi
&lt;strong>mengubahnya menjadi &amp;ldquo;produk yang siap dirilis ke dunia nyata&amp;rdquo; masih merupakan pekerjaan manusia&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="tapi-ada-sebuah-paradoks">Tapi, ada sebuah paradoks
&lt;/h2>&lt;p>Di sini kita menyadari sebuah &lt;strong>paradoks&lt;/strong>.&lt;/p>
&lt;blockquote>
&lt;p>Bagaimana jika di masa depan AI benar-benar bisa melakukan segalanya?
Artinya, bagaimana jika &amp;ldquo;keamanan, penagihan, dan desain semuanya ditangani dengan sempurna oleh AI&amp;rdquo;?&lt;/p>
&lt;/blockquote>
&lt;p>Pada saat itu, &lt;strong>kebutuhan manusia untuk membuat aplikasi mungkin akan hilang sepenuhnya&lt;/strong>.&lt;/p>
&lt;p>Sebab, jika pengguna langsung memberi tahu AI, &amp;ldquo;Saya ingin melakukan ini,&amp;rdquo;
tugas tersebut akan langsung dieksekusi tanpa memerlukan aplikasi.&lt;/p>
&lt;hr>
&lt;h3 id="-sebagai-contoh">🌀 Sebagai contoh
&lt;/h3>&lt;p>Dulu kita &amp;ldquo;membuka aplikasi kalkulator untuk berhitung&amp;rdquo;,
sekarang kita hanya perlu berkata, &amp;ldquo;Hey Siri, berapa 12×32?&amp;rdquo;, dan selesai.&lt;/p>
&lt;p>Sama halnya,
jika kita berkata, &amp;ldquo;AI, edit foto ini dan bagikan,&amp;rdquo; proses tersebut mungkin selesai tanpa melalui UI atau API aplikasi.&lt;/p>
&lt;p>Dengan kata lain,
ketika tujuan &lt;strong>&amp;ldquo;membuat aplikasi dengan AI&amp;rdquo;&lt;/strong> terwujud, mungkin akan datang dunia di mana aplikasi itu sendiri tidak lagi dibutuhkan.&lt;/p>
&lt;hr>
&lt;h2 id="pada-akhirnya-apa-yang-bisa-kita-lakukan-sekarang">Pada akhirnya, apa yang bisa kita lakukan sekarang
&lt;/h2>&lt;p>Lalu, apa yang harus kita lakukan?&lt;/p>
&lt;ul>
&lt;li>Saat ini &amp;ldquo;di atas pos 8&amp;rdquo; masih menjadi ranah manusia, jadi mari kita asah kemampuan di sana&lt;/li>
&lt;li>Fokus pada pemahaman mendalam tentang pengguna dan desain layanan&lt;/li>
&lt;li>Memikirkan &amp;ldquo;apa yang bernilai&amp;rdquo; daripada &amp;ldquo;apa yang bisa dibuat&amp;rdquo;&lt;/li>
&lt;li>Sebaliknya, mencari cara untuk memberikan nilai yang &amp;ldquo;tidak terbatas pada format aplikasi&amp;rdquo;&lt;/li>
&lt;/ul>
&lt;p>AI adalah alat, lift, dan kadang-kadang pesaing.
Namun, pertanyaan &lt;strong>&amp;ldquo;apa yang akan dibuat&amp;rdquo;&lt;/strong> dan &lt;strong>&amp;ldquo;mengapa membuatnya&amp;rdquo;&lt;/strong> masih merupakan pertanyaan untuk kita, manusia.&lt;/p>
&lt;hr>
&lt;h2 id="kesimpulan">Kesimpulan:
&lt;/h2>&lt;p>&lt;strong>Tembok pengembangan AI bukanlah teknologi, melainkan paradoks struktural&lt;/strong>&lt;/p>
&lt;p>Kita berada di era di mana siapa pun bisa mencapai pos 8 Gunung Fuji.
Tapi dari situlah ujian sebenarnya dimulai.&lt;/p>
&lt;p>Dan mungkin, saat kita mencapai puncak, akan ada masa depan yang menunggu di mana kita bertanya,
&amp;ldquo;Apakah kita benar-benar perlu mendaki gunung ini?&amp;rdquo;&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_1.png"
width="1024"
height="1024"
srcset="http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_1_hu929f602c53dcc1c0d00e8a53b025b29e_1978511_480x0_resize_box_3.png 480w, http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_1_hu929f602c53dcc1c0d00e8a53b025b29e_1978511_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p></description></item><item><title>Cara Memanggil Microsoft.Windows.AI dari C++</title><link>http://kenji.blog/id/p/cara-memanggil-microsoft-windows-ai-dari-c-/</link><pubDate>Sat, 19 Jul 2025 10:03:51 +0900</pubDate><guid>http://kenji.blog/id/p/cara-memanggil-microsoft-windows-ai-dari-c-/</guid><description>&lt;img src="http://kenji.blog/p/c-%E3%81%8B%E3%82%89microsoft.windows.ai%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Memanggil Microsoft.Windows.AI dari C++" />&lt;h1 id="-cara-memanggil-microsoftwindowsai-dari-c-dengan-contoh-kode">🎯 Cara Memanggil &lt;code>Microsoft.Windows.AI&lt;/code> dari C++ [Dengan Contoh Kode]
&lt;/h1>&lt;p>Mulai dari Windows 10, Windows dilengkapi dengan standar &lt;strong>runtime yang dapat mengeksekusi model AI berformat ONNX&lt;/strong>. Itu adalah &lt;strong>Windows ML (Windows.AI.MachineLearning)&lt;/strong>.&lt;/p>
&lt;p>Artikel ini menjelaskan secara rinci cara memanggil &lt;code>Microsoft.Windows.AI.MachineLearning&lt;/code> dari &lt;strong>C++ (berbasis aplikasi Win32)&lt;/strong>, lengkap dengan &lt;strong>contoh kode&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="-persiapan">✅ Persiapan
&lt;/h2>&lt;h3 id="-kebutuhan-sistem">◾ Kebutuhan Sistem
&lt;/h3>&lt;ul>
&lt;li>Windows 10 (1809+) atau Windows 11&lt;/li>
&lt;li>Visual Studio 2019 atau yang lebih baru (versi Community bisa digunakan)&lt;/li>
&lt;li>Dukungan C++/WinRT (&lt;code>Microsoft.Windows.CppWinRT&lt;/code>)&lt;/li>
&lt;li>Windows SDK 10.0.17763.0 atau yang lebih tinggi&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-struktur-proyek">✅ Struktur Proyek
&lt;/h2>&lt;p>Buat proyek dengan struktur berikut di Visual Studio.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Jenis: Aplikasi Desktop Windows C++ (Proyek Kosong)&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Subsistem: Windows (&lt;code>WinMain&lt;/code>)&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Tambahkan paket berikut melalui NuGet&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Microsoft.Windows.CppWinRT
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-contoh-kode">✅ Contoh Kode
&lt;/h2>&lt;p>Berikut ini adalah contoh minimal yang menggabungkan API Win32 dan &lt;code>Windows.AI.MachineLearning&lt;/code> menggunakan &lt;code>WinMain&lt;/code>.&lt;/p>
&lt;blockquote>
&lt;p>※ Model ONNX yang digunakan adalah &lt;code>model.onnx&lt;/code>, pastikan Anda menempatkannya di folder yang sama dengan file eksekusi.&lt;/p>
&lt;/blockquote>
&lt;h3 id="maincpp">&lt;code>main.cpp&lt;/code>
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;windows.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;winrt/Windows.AI.MachineLearning.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;winrt/Windows.Storage.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#pragma comment(lib, &amp;#34;windowsapp&amp;#34;) &lt;/span>&lt;span class="c1">// Untuk tautan WinRT
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">using&lt;/span> &lt;span class="k">namespace&lt;/span> &lt;span class="n">winrt&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">using&lt;/span> &lt;span class="k">namespace&lt;/span> &lt;span class="n">Windows&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">AI&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">MachineLearning&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">using&lt;/span> &lt;span class="k">namespace&lt;/span> &lt;span class="n">Windows&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">Storage&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">int&lt;/span> &lt;span class="n">WINAPI&lt;/span> &lt;span class="nf">WinMain&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">HINSTANCE&lt;/span> &lt;span class="n">hInstance&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">HINSTANCE&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">LPSTR&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="kt">int&lt;/span> &lt;span class="n">nCmdShow&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Inisialisasi WinRT (MTA atau STA diperbolehkan)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">winrt&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">init_apartment&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">try&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Memuat file model
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">auto&lt;/span> &lt;span class="n">modelFile&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">StorageFile&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">GetFileFromPathAsync&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;model.onnx&amp;#34;&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="n">get&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">LearningModel&lt;/span> &lt;span class="n">model&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">LearningModel&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">LoadFromStorageFileAsync&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">modelFile&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="n">get&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Membuat sesi
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">LearningModelSession&lt;/span> &lt;span class="n">session&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">model&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">LearningModelBinding&lt;/span> &lt;span class="n">binding&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">session&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Input/Output model (input kosong untuk sementara di sini)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="c1">// Sebenarnya, pengikatan diperlukan menggunakan TensorFloat, dll.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Menjalankan inferensi
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">auto&lt;/span> &lt;span class="n">result&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">session&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">EvaluateAsync&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">binding&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;&amp;#34;&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="n">get&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">MessageBox&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">nullptr&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;Inferensi selesai&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;Windows ML (C++)&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">MB_OK&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">catch&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">winrt&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">hresult_error&lt;/span> &lt;span class="k">const&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">ex&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">MessageBox&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">nullptr&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ex&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">message&lt;/span>&lt;span class="p">().&lt;/span>&lt;span class="n">c_str&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;Error&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">MB_ICONERROR&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="-tambahan-cara-menentukan-tensor-input-dan-output">✅ Tambahan: Cara Menentukan Tensor Input dan Output
&lt;/h2>&lt;p>Tergantung pada modelnya, Anda mungkin perlu melakukan &lt;strong>pembuatan dan pengikatan Tensor&lt;/strong> sebelum inferensi.&lt;/p>
&lt;p>Contoh:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Mengubah array float 1D menjadi Tensor
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="kt">float&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">inputData&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="mf">0.5f&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">0.3f&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">0.2f&lt;/span>&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="kt">int64_t&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">shape&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">};&lt;/span> &lt;span class="c1">// Bentuk: [1, 3]
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">auto&lt;/span> &lt;span class="n">tensor&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">TensorFloat&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">CreateFromArray&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">shape&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">inputData&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Pengikatan input (sesuaikan dengan nama input model)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="n">binding&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">Bind&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;input_0&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">tensor&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Demikian pula, output dapat diambil dengan &lt;code>result.Outputs().Lookup(L&amp;quot;output_0&amp;quot;)&lt;/code>.&lt;/p>
&lt;hr>
&lt;h2 id="-catatan-debugging">✅ Catatan Debugging
&lt;/h2>&lt;ul>
&lt;li>Jika file model tidak ada di folder eksekusi, &lt;code>FileNotFoundException&lt;/code> akan muncul.&lt;/li>
&lt;li>Jika nama input/output tidak cocok, akan terjadi error &lt;code>invalid_argument&lt;/code>.&lt;/li>
&lt;li>Spesifikasi I/O persis model dapat diperiksa dengan alat seperti &lt;a class="link" href="https://netron.app" target="_blank" rel="noopener"
>Netron&lt;/a>.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-kesimpulan">✅ Kesimpulan
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Item&lt;/th>
&lt;th>Konten&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>API yang Digunakan&lt;/td>
&lt;td>Windows.AI.MachineLearning (WinRT)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Bahasa&lt;/td>
&lt;td>C++ (Berbasis Win32)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Metode yang Disarankan&lt;/td>
&lt;td>Melalui header C++/WinRT&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Kelebihan&lt;/td>
&lt;td>Model ONNX berjalan secara native, didukung GPU juga&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Perhatian&lt;/td>
&lt;td>Perhatikan nama input model dan bentuk Tensor&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="-alternatif-bagi-yang-tidak-ingin-menggunakan-winrt">✅ Alternatif: Bagi yang Tidak Ingin Menggunakan WinRT
&lt;/h2>&lt;ul>
&lt;li>Dengan menggunakan &lt;code>ONNX Runtime&lt;/code> buatan Microsoft, Anda dapat &lt;strong>sepenuhnya menangani model ONNX dari C++ tanpa WinRT sama sekali&lt;/strong>.&lt;/li>
&lt;li>Mendukung cross-platform, memungkinkan kode bersama untuk Windows/Linux.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-penutup">📌 Penutup
&lt;/h2>&lt;p>Windows ML (Microsoft.Windows.AI) adalah mesin inferensi AI tangguh yang dapat digunakan dengan baik bahkan dari C++. Jika Anda membutuhkan inferensi native di Windows, silakan dicoba.&lt;/p>
&lt;p>Contoh spesifik pembuatan model ONNX dan pengikatan Tensor akan dijelaskan pada artikel berikutnya!&lt;/p></description></item><item><title>Langkah-langkah Memanggil TinyLLaMA dari C++ (menggunakan llama.cpp)</title><link>http://kenji.blog/id/p/langkah-langkah-memanggil-tinyllama-dari-cpp-menggunakan-llama-cpp/</link><pubDate>Sat, 19 Jul 2025 09:40:53 +0900</pubDate><guid>http://kenji.blog/id/p/langkah-langkah-memanggil-tinyllama-dari-cpp-menggunakan-llama-cpp/</guid><description>&lt;img src="http://kenji.blog/p/tinyllama-%E3%82%92-c-%E3%81%8B%E3%82%89%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%9B%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E6%89%8B%E9%A0%86llama.cpp%E4%BD%BF%E7%94%A8/img.png" alt="Featured image of post Langkah-langkah Memanggil TinyLLaMA dari C++ (menggunakan llama.cpp)" />&lt;h1 id="-langkah-persiapan-tinyllama--c-menggunakan-llamacpp">✅ Langkah Persiapan TinyLLaMA × C++ (menggunakan &lt;code>llama.cpp&lt;/code>)
&lt;/h1>&lt;hr>
&lt;h2 id="-langkah-1-siapkan-llamacpp">🔧 Langkah 1: Siapkan llama.cpp
&lt;/h2>&lt;h3 id="1-1-lingkungan-yang-dibutuhkan-minimum">1-1. Lingkungan yang Dibutuhkan (Minimum)
&lt;/h3>&lt;ul>
&lt;li>OS: Windows / Linux / macOS&lt;/li>
&lt;li>Lingkungan Pengembangan: g++ / clang / MSVC&lt;/li>
&lt;li>Git / CMake&lt;/li>
&lt;/ul>
&lt;h3 id="1-2-dapatkan-dan-build-llamacpp">1-2. Dapatkan dan build llama.cpp
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">git clone https://github.com/ggerganov/llama.cpp
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> llama.cpp
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">mkdir build
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> build
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cmake ..
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cmake --build . --config Release
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;blockquote>
&lt;p>Jika menggunakan Windows, menggunakan &lt;code>Visual Studio Developer Command Prompt&lt;/code> dengan &lt;code>cmake --build . --config Release&lt;/code> akan lebih mudah.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="-langkah-2-unduh-dan-konversi-model-tinyllama">📦 Langkah 2: Unduh dan konversi model TinyLLaMA
&lt;/h2>&lt;h3 id="2-1-dapatkan-model-asli-dari-huggingface">2-1. Dapatkan model asli dari HuggingFace
&lt;/h3>&lt;p>Contoh: &lt;a class="link" href="https://huggingface.co/openaccess-ai-collective/TinyLlama-1.1B-Chat-v1.0" target="_blank" rel="noopener"
>TinyLLaMA-1.1B&lt;/a>&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Unduh menggunakan transformers jika perlu&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">pip install transformers huggingface_hub
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">python3 -m transformers.models.llama.convert_llama_weights_to_hf &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> --input_dir ./TinyLlama-1.1B-Chat &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> --model_size 1B &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> --output_dir ./hf_model
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;blockquote>
&lt;p>Ini adalah langkah konversi ke format Hugging Face.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h3 id="2-2-konversi-ke-format-gguf-untuk-llamacpp">2-2. Konversi ke format GGUF (untuk &lt;code>llama.cpp&lt;/code>)
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> llama.cpp
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">python3 convert.py ./hf_model --outfile tinyllama.gguf
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="2-3-kuantisasi-model-mengurangi-ukuran">2-3. Kuantisasi model (mengurangi ukuran)
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">./quantize ./tinyllama.gguf ./tinyllama-q4.gguf q4_0
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;blockquote>
&lt;p>&lt;code>q4_0&lt;/code> adalah kuantisasi 4bit. Ukuran model akan berkurang menjadi sekitar ** 350MB **.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="-langkah-3-panggil-model-dari-c-contoh-kode">🧪 Langkah 3: Panggil model dari C++ (Contoh Kode)
&lt;/h2>&lt;h3 id="3-1-kode-c-sederhana-inferensi">3-1. Kode C++ Sederhana (Inferensi)
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;#34;llama.h&amp;#34;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;iostream&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">int&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_model_params&lt;/span> &lt;span class="n">model_params&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_model_default_params&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_context_params&lt;/span> &lt;span class="n">ctx_params&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_context_default_params&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_model&lt;/span> &lt;span class="o">*&lt;/span>&lt;span class="n">model&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_load_model_from_file&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;tinyllama-q4.gguf&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">model_params&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_context&lt;/span> &lt;span class="o">*&lt;/span>&lt;span class="n">ctx&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_new_context_with_model&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">model&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ctx_params&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">string&lt;/span> &lt;span class="n">prompt&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;Pengguna mengatakan mereka ingin memuat data Excel, memfilternya, dan menyimpannya. Apa konfigurasi nodenya?&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_batch&lt;/span> &lt;span class="n">batch&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_batch_init&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">512&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_token&lt;/span> &lt;span class="n">BOS&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_token_bos&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">model&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">batch&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">token&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">BOS&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Tokenisasi
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">llama_token&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">tokens&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">prompt&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">8&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int&lt;/span> &lt;span class="n">n&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_tokenize&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">model&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">prompt&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">c_str&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="n">tokens&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">data&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="n">tokens&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="nb">true&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">tokens&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">resize&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">size_t&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="n">tokens&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="p">();&lt;/span> &lt;span class="o">++&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">batch&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">token&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">tokens&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">];&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">batch&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">n_tokens&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">tokens&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_decode&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ctx&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">batch&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Dapatkan hasil inferensi
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="mi">50&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="o">++&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_token&lt;/span> &lt;span class="n">next&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_sample_token&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ctx&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">nullptr&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">llama_token_to_str&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">model&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">next&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_batch&lt;/span> &lt;span class="n">next_batch&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_batch_init&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">next_batch&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">token&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">next&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">next_batch&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">n_tokens&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_decode&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ctx&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">next_batch&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_free&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ctx&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_free_model&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">model&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="-langkah-4-metode-kompilasi-contoh">🧱 Langkah 4: Metode Kompilasi (Contoh)
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">g++ -I./llama.cpp main.cpp ./llama.cpp/build/libllama.a -o tiny_infer -pthread -std&lt;span class="o">=&lt;/span>c++11
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;blockquote>
&lt;p>&lt;code>libllama.a&lt;/code> dibuat di direktori &lt;code>build/&lt;/code> setelah proses build selesai.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="-contoh-struktur-hasil-terorganisir">✅ Contoh Struktur Hasil (Terorganisir)
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">my_app/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── tinyllama-q4.gguf # Model terkuantisasi (~350MB)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── main.cpp # Kode C++ di atas
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── llama.cpp/ # Inti llama.cpp
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">└── build/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └── libllama.a # Pustaka terkompilasi
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="-catatan-untuk-penerapan-pada-use-case">🧠 Catatan untuk penerapan pada use case
&lt;/h2>&lt;ul>
&lt;li>Miliki kode di C++ untuk &lt;code>mencocokkan dan memilih templat node&lt;/code> berdasarkan output&lt;/li>
&lt;li>Contoh: Jika mengandung &amp;ldquo;Excel&amp;rdquo;, &amp;ldquo;filter&amp;rdquo;, &amp;ldquo;simpan&amp;rdquo; -&amp;gt; Buat grup node yang sesuai&lt;/li>
&lt;li>Bagian ini cukup dengan konfigurasi sederhana seperti &lt;code>pernyataan if + pemuatan templat JSON&lt;/code>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-ringkasan">📌 Ringkasan
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Item&lt;/th>
&lt;th>Konten&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Model Rekomendasi&lt;/td>
&lt;td>TinyLLaMA-1.1B-Chat v1.0 (GGUF + Kuantisasi)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ukuran&lt;/td>
&lt;td>~350-450MB (kuantisasi 4bit)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Integrasi C++&lt;/td>
&lt;td>Memungkinkan menggunakan &lt;code>llama.cpp&lt;/code>, hampir tanpa dependensi eksternal&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Kekuatan Pemrosesan&lt;/td>
&lt;td>Cukup untuk pemahaman niat sederhana &amp;amp; pembuatan teks (Teks alami -&amp;gt; Konfigurasi)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ekstensibilitas&lt;/td>
&lt;td>Dapat diubah menjadi AI pembuat node dengan menggabungkan pengisian slot dan pemanggilan templat&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Cara Memposting Pesan ke Slack Menggunakan Slack App + OAuth2</title><link>http://kenji.blog/id/p/cara-memposting-pesan-ke-slack-menggunakan-slack-app--oauth2/</link><pubDate>Wed, 16 Jul 2025 23:36:27 +0900</pubDate><guid>http://kenji.blog/id/p/cara-memposting-pesan-ke-slack-menggunakan-slack-app--oauth2/</guid><description>&lt;img src="http://kenji.blog/p/slack-app--oauth2-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6-slack-%E3%81%AB%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E6%8A%95%E7%A8%BF%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Memposting Pesan ke Slack Menggunakan Slack App + OAuth2" />&lt;h2 id="-cara-memposting-menggunakan-token-akses-slack-web-api">✅ Cara Memposting Menggunakan Token Akses (Slack Web API)
&lt;/h2>&lt;p>&amp;ldquo;OAuth Token (seperti xoxb- dst.)&amp;rdquo; dari Slack adalah kunci untuk memposting menggunakan &lt;a class="link" href="https://api.slack.com/methods/chat.postMessage" target="_blank" rel="noopener"
>Web API&lt;/a> Slack.
Dalam hal ini, tidak seperti Webhook, Anda melakukan &lt;code>POST&lt;/code> ke &lt;strong>Slack API Endpoint&lt;/strong> dengan header &lt;code>Authorization: Bearer&lt;/code>.&lt;/p>
&lt;hr>
&lt;h2 id="-prasyarat-yang-diperlukan">🔑 Prasyarat yang Diperlukan
&lt;/h2>&lt;p>Anda harus menyertakan &lt;strong>&lt;code>chat:write&lt;/code> dalam cakupan OAuth&lt;/strong> pada aplikasi Slack Anda:&lt;/p>
&lt;h3 id="langkah-langkah-pengaturan">Langkah-langkah Pengaturan
&lt;/h3>&lt;ol>
&lt;li>Kunjungi &lt;a class="link" href="https://api.slack.com/apps" target="_blank" rel="noopener"
>https://api.slack.com/apps&lt;/a>&lt;/li>
&lt;li>Buat aplikasi atau pilih aplikasi yang sudah ada&lt;/li>
&lt;li>Di &amp;ldquo;OAuth &amp;amp; Permissions&amp;rdquo; &amp;gt; &lt;code>Scopes&lt;/code>
→ Tambahkan &lt;code>chat:write&lt;/code>&lt;/li>
&lt;li>&amp;ldquo;Install to Workspace&amp;rdquo; atau &amp;ldquo;Reinstall&amp;rdquo; untuk mendapatkan &lt;code>Access Token&lt;/code> (contoh: &lt;code>xoxb-xxxxxxxxxx&lt;/code>)&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="-kode-c-memposting-ke-slack-api-dengan-winhttp">💻 Kode C++ (Memposting ke Slack API dengan WinHTTP)
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;span class="lnt">42
&lt;/span>&lt;span class="lnt">43
&lt;/span>&lt;span class="lnt">44
&lt;/span>&lt;span class="lnt">45
&lt;/span>&lt;span class="lnt">46
&lt;/span>&lt;span class="lnt">47
&lt;/span>&lt;span class="lnt">48
&lt;/span>&lt;span class="lnt">49
&lt;/span>&lt;span class="lnt">50
&lt;/span>&lt;span class="lnt">51
&lt;/span>&lt;span class="lnt">52
&lt;/span>&lt;span class="lnt">53
&lt;/span>&lt;span class="lnt">54
&lt;/span>&lt;span class="lnt">55
&lt;/span>&lt;span class="lnt">56
&lt;/span>&lt;span class="lnt">57
&lt;/span>&lt;span class="lnt">58
&lt;/span>&lt;span class="lnt">59
&lt;/span>&lt;span class="lnt">60
&lt;/span>&lt;span class="lnt">61
&lt;/span>&lt;span class="lnt">62
&lt;/span>&lt;span class="lnt">63
&lt;/span>&lt;span class="lnt">64
&lt;/span>&lt;span class="lnt">65
&lt;/span>&lt;span class="lnt">66
&lt;/span>&lt;span class="lnt">67
&lt;/span>&lt;span class="lnt">68
&lt;/span>&lt;span class="lnt">69
&lt;/span>&lt;span class="lnt">70
&lt;/span>&lt;span class="lnt">71
&lt;/span>&lt;span class="lnt">72
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;windows.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;winhttp.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;iostream&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#pragma comment(lib, &amp;#34;winhttp.lib&amp;#34;)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">bool&lt;/span> &lt;span class="nf">PostSlackMessage&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">const&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wstring&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">accessToken&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">const&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">string&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">channel&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">const&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">string&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">text&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">const&lt;/span> &lt;span class="kt">wchar_t&lt;/span>&lt;span class="o">*&lt;/span> &lt;span class="n">host&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;slack.com&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">const&lt;/span> &lt;span class="kt">wchar_t&lt;/span>&lt;span class="o">*&lt;/span> &lt;span class="n">path&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;/api/chat.postMessage&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">HINTERNET&lt;/span> &lt;span class="n">hSession&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">WinHttpOpen&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;SlackPoster/1.0&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WINHTTP_ACCESS_TYPE_DEFAULT_PROXY&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WINHTTP_NO_PROXY_NAME&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WINHTTP_NO_PROXY_BYPASS&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="o">!&lt;/span>&lt;span class="n">hSession&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="nb">false&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">HINTERNET&lt;/span> &lt;span class="n">hConnect&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">WinHttpConnect&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hSession&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">host&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">INTERNET_DEFAULT_HTTPS_PORT&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="o">!&lt;/span>&lt;span class="n">hConnect&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="nb">false&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">HINTERNET&lt;/span> &lt;span class="n">hRequest&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">WinHttpOpenRequest&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hConnect&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;POST&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">path&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">NULL&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">WINHTTP_NO_REFERER&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WINHTTP_DEFAULT_ACCEPT_TYPES&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WINHTTP_FLAG_SECURE&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Authorization Header dan Content-Type
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wstring&lt;/span> &lt;span class="n">headers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;Content-Type: application/json&lt;/span>&lt;span class="se">\r\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">headers&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;Authorization: Bearer &amp;#34;&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">accessToken&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="se">\r\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// JSON Body
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">string&lt;/span> &lt;span class="n">body&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">R&lt;/span>&lt;span class="s">&amp;#34;({&amp;#34;&lt;/span>&lt;span class="n">channel&lt;/span>&lt;span class="s">&amp;#34;:&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="s">&amp;#34; + channel + R&amp;#34;&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;,&amp;#34;&lt;/span>&lt;span class="n">text&lt;/span>&lt;span class="s">&amp;#34;:&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="s">&amp;#34; + text + R&amp;#34;&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;})&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">BOOL&lt;/span> &lt;span class="n">result&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">WinHttpSendRequest&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hRequest&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">headers&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">c_str&lt;/span>&lt;span class="p">(),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">(&lt;/span>&lt;span class="n">DWORD&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">(&lt;/span>&lt;span class="n">LPVOID&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="n">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">c_str&lt;/span>&lt;span class="p">(),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span>&lt;span class="p">(),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span>&lt;span class="p">(),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="mi">0&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="o">!&lt;/span>&lt;span class="n">result&lt;/span> &lt;span class="o">||&lt;/span> &lt;span class="o">!&lt;/span>&lt;span class="n">WinHttpReceiveResponse&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hRequest&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nb">NULL&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cerr&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;Kesalahan pengiriman&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="nb">false&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Periksa kode status
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">DWORD&lt;/span> &lt;span class="n">statusCode&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">DWORD&lt;/span> &lt;span class="n">size&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">sizeof&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">statusCode&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WinHttpQueryHeaders&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hRequest&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WINHTTP_QUERY_STATUS_CODE&lt;/span> &lt;span class="o">|&lt;/span> &lt;span class="n">WINHTTP_QUERY_FLAG_NUMBER&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WINHTTP_HEADER_NAME_BY_INDEX&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">statusCode&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">WINHTTP_NO_HEADER_INDEX&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WinHttpCloseHandle&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hRequest&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WinHttpCloseHandle&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hConnect&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WinHttpCloseHandle&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hSession&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">statusCode&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">200&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">int&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wstring&lt;/span> &lt;span class="n">token&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;xoxb-token-akses-anda&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// Token Akses
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">string&lt;/span> &lt;span class="n">channel&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;ID-saluran-atau-#general&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// Contoh: &amp;#34;#general&amp;#34; atau &amp;#34;C0123456789&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">string&lt;/span> &lt;span class="n">message&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;Mencoba memposting ke Slack dari C++!&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">PostSlackMessage&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">token&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">channel&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">message&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;Berhasil memposting!&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span> &lt;span class="k">else&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cerr&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;Gagal memposting.&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="-cara-mendapatkan-id-saluran">📌 Cara Mendapatkan ID Saluran
&lt;/h2>&lt;p>Menggunakan nama saluran saja (contoh: &lt;code>#general&lt;/code>) kadang bisa menyebabkan kesalahan.
Cara yang lebih andal adalah menggunakan ID dari URL halaman saluran Slack.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">https://app.slack.com/client/Txxxxx/C0123456789
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ↑ Bagian ini adalah ID Saluran
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="-tentang-jenis-token-tambahan">✅ Tentang Jenis Token (Tambahan)
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Format Token&lt;/th>
&lt;th>Kegunaan&lt;/th>
&lt;th>Contoh&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>xoxb-...&lt;/code>&lt;/td>
&lt;td>Bot Token (Disarankan)&lt;/td>
&lt;td>Posting, edit, hapus&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>xoxp-...&lt;/code>&lt;/td>
&lt;td>User Token (Tidak disarankan)&lt;/td>
&lt;td>Operasi non-Bot&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Refresh Token&lt;/td>
&lt;td>Pembaruan token jangka panjang&lt;/td>
&lt;td>Biasanya tidak digunakan&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="-kesimpulan">📝 Kesimpulan
&lt;/h2>&lt;ul>
&lt;li>Untuk memposting ke Slack dari C++, metode Slack Web API + Bearer Token adalah yang paling andal&lt;/li>
&lt;li>Gunakan endpoint &lt;code>chat.postMessage&lt;/code> dengan HTTPS POST&lt;/li>
&lt;li>Token harus dikirim di header Bearer&lt;/li>
&lt;li>Saluran lebih baik ditentukan &lt;strong>berdasarkan ID&lt;/strong>&lt;/li>
&lt;/ul></description></item><item><title>Cara Mengirim Pesan ke Slack dengan C++ (Win32 API + WinHTTP) [Dukungan Webhook]</title><link>http://kenji.blog/id/p/cara-mengirim-pesan-ke-slack-dengan-c-win32-api--winhttp-dukungan-webhook/</link><pubDate>Wed, 16 Jul 2025 19:42:56 +0900</pubDate><guid>http://kenji.blog/id/p/cara-mengirim-pesan-ke-slack-dengan-c-win32-api--winhttp-dukungan-webhook/</guid><description>&lt;img src="http://kenji.blog/p/c-win32-api--winhttp%E3%81%A7slack%E3%81%AB%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E6%8A%95%E7%A8%BF%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95webhook%E5%AF%BE%E5%BF%9C/img.png" alt="Featured image of post Cara Mengirim Pesan ke Slack dengan C++ (Win32 API + WinHTTP) [Dukungan Webhook]" />&lt;h1 id="cara-mengirim-pesan-ke-slack-dengan-c-win32-api--winhttp-dukungan-webhook">Cara Mengirim Pesan ke Slack dengan C++ (Win32 API + WinHTTP) [Dukungan Webhook]
&lt;/h1>&lt;p>Saya ingin mengirim pesan ke Slack dari C++.
Ini sangat umum di Node.js dan Python, tetapi ada sedikit kasus untuk penggunaan &amp;ldquo;C++ × Win32 API × WinHTTP&amp;rdquo;.&lt;/p>
&lt;p>Dalam artikel ini, saya akan menjelaskan langkah demi langkah &lt;strong>cara mengirim pesan dari C++ ke Slack menggunakan URL Webhook&lt;/strong> dengan cara yang mudah dipahami.&lt;/p>
&lt;hr>
&lt;h2 id="-alur-keseluruhan">✅ Alur Keseluruhan
&lt;/h2>&lt;p>Untuk memposting ke Slack, ikuti langkah-langkah berikut:&lt;/p>
&lt;ol>
&lt;li>Dapatkan URL Webhook Slack (Kunci API)&lt;/li>
&lt;li>Kirim permintaan &lt;code>POST&lt;/code> menggunakan WinHTTP&lt;/li>
&lt;li>Bangun badan pesan dalam format JSON&lt;/li>
&lt;li>Periksa hasilnya dan selesai!&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="-langkah-1-cara-mendapatkan-url-webhook-slack">🔑 Langkah 1: Cara Mendapatkan URL Webhook Slack
&lt;/h2>&lt;p>Di Slack, Anda dapat dengan mudah memposting pesan dari layanan eksternal menggunakan fitur yang disebut Incoming Webhooks.&lt;/p>
&lt;h3 id="langkah-langkah-mendapatkan">Langkah-langkah Mendapatkan
&lt;/h3>&lt;ol>
&lt;li>Kunjungi &lt;a class="link" href="https://api.slack.com/apps" target="_blank" rel="noopener"
>https://api.slack.com/apps&lt;/a>&lt;/li>
&lt;li>Klik &lt;code>Create New App&lt;/code>&lt;/li>
&lt;li>Pilih &lt;code>From scratch&lt;/code>, dan tentukan nama aplikasi serta ruang kerja tujuan&lt;/li>
&lt;li>Dari menu kiri, pilih &lt;strong>&amp;ldquo;Incoming Webhooks&amp;rdquo;&lt;/strong> dan aktifkan&lt;/li>
&lt;li>Klik &lt;strong>&amp;ldquo;Add New Webhook to Workspace&amp;rdquo;&lt;/strong> dan pilih saluran&lt;/li>
&lt;li>Salin URL yang dihasilkan (contoh: &lt;code>https://hooks.slack.com/services/xxx/yyy/zzz&lt;/code>)&lt;/li>
&lt;/ol>
&lt;p>URL ini berfungsi seperti kunci API.&lt;/p>
&lt;hr>
&lt;h2 id="-langkah-2-mengirim-pesan-ke-slack-dengan-kode-c">💻 Langkah 2: Mengirim Pesan ke Slack dengan Kode C++
&lt;/h2>&lt;h3 id="teknologi-yang-digunakan">Teknologi yang Digunakan
&lt;/h3>&lt;ul>
&lt;li>Win32 API&lt;/li>
&lt;li>WinHTTP (Pustaka Standar)&lt;/li>
&lt;li>Pesan format JSON&lt;/li>
&lt;/ul>
&lt;h3 id="kode-contoh-posting-ke-slack">Kode Contoh (Posting ke Slack)
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;span class="lnt">42
&lt;/span>&lt;span class="lnt">43
&lt;/span>&lt;span class="lnt">44
&lt;/span>&lt;span class="lnt">45
&lt;/span>&lt;span class="lnt">46
&lt;/span>&lt;span class="lnt">47
&lt;/span>&lt;span class="lnt">48
&lt;/span>&lt;span class="lnt">49
&lt;/span>&lt;span class="lnt">50
&lt;/span>&lt;span class="lnt">51
&lt;/span>&lt;span class="lnt">52
&lt;/span>&lt;span class="lnt">53
&lt;/span>&lt;span class="lnt">54
&lt;/span>&lt;span class="lnt">55
&lt;/span>&lt;span class="lnt">56
&lt;/span>&lt;span class="lnt">57
&lt;/span>&lt;span class="lnt">58
&lt;/span>&lt;span class="lnt">59
&lt;/span>&lt;span class="lnt">60
&lt;/span>&lt;span class="lnt">61
&lt;/span>&lt;span class="lnt">62
&lt;/span>&lt;span class="lnt">63
&lt;/span>&lt;span class="lnt">64
&lt;/span>&lt;span class="lnt">65
&lt;/span>&lt;span class="lnt">66
&lt;/span>&lt;span class="lnt">67
&lt;/span>&lt;span class="lnt">68
&lt;/span>&lt;span class="lnt">69
&lt;/span>&lt;span class="lnt">70
&lt;/span>&lt;span class="lnt">71
&lt;/span>&lt;span class="lnt">72
&lt;/span>&lt;span class="lnt">73
&lt;/span>&lt;span class="lnt">74
&lt;/span>&lt;span class="lnt">75
&lt;/span>&lt;span class="lnt">76
&lt;/span>&lt;span class="lnt">77
&lt;/span>&lt;span class="lnt">78
&lt;/span>&lt;span class="lnt">79
&lt;/span>&lt;span class="lnt">80
&lt;/span>&lt;span class="lnt">81
&lt;/span>&lt;span class="lnt">82
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;windows.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;winhttp.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;iostream&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#pragma comment(lib, &amp;#34;winhttp.lib&amp;#34;)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">bool&lt;/span> &lt;span class="nf">PostToSlack&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">const&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wstring&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">webhookUrl&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">const&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">string&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">messageJson&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// URLの分解
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">URL_COMPONENTS&lt;/span> &lt;span class="n">urlComp&lt;/span>&lt;span class="p">{};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">wchar_t&lt;/span> &lt;span class="n">hostName&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">256&lt;/span>&lt;span class="p">];&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">wchar_t&lt;/span> &lt;span class="n">urlPath&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1024&lt;/span>&lt;span class="p">];&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">urlComp&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">dwStructSize&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">sizeof&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">urlComp&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">urlComp&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">lpszHostName&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">hostName&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">urlComp&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">dwHostNameLength&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">_countof&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hostName&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">urlComp&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">lpszUrlPath&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">urlPath&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">urlComp&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">dwUrlPathLength&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">_countof&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">urlPath&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="o">!&lt;/span>&lt;span class="n">WinHttpCrackUrl&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">webhookUrl&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">c_str&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">urlComp&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wcerr&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;URL分解に失敗しました&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="nb">false&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// HTTPセッションと接続
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">HINTERNET&lt;/span> &lt;span class="n">hSession&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">WinHttpOpen&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;SlackPoster/1.0&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WINHTTP_ACCESS_TYPE_DEFAULT_PROXY&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WINHTTP_NO_PROXY_NAME&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WINHTTP_NO_PROXY_BYPASS&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">HINTERNET&lt;/span> &lt;span class="n">hConnect&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">WinHttpConnect&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hSession&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">hostName&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">urlComp&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">nPort&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">HINTERNET&lt;/span> &lt;span class="n">hRequest&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">WinHttpOpenRequest&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hConnect&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;POST&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">urlPath&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">NULL&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">WINHTTP_NO_REFERER&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WINHTTP_DEFAULT_ACCEPT_TYPES&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WINHTTP_FLAG_SECURE&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wstring&lt;/span> &lt;span class="n">headers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;Content-Type: application/json&lt;/span>&lt;span class="se">\r\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">BOOL&lt;/span> &lt;span class="n">result&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">WinHttpSendRequest&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hRequest&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">headers&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">c_str&lt;/span>&lt;span class="p">(),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">(&lt;/span>&lt;span class="n">LPVOID&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="n">messageJson&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">c_str&lt;/span>&lt;span class="p">(),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">messageJson&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span>&lt;span class="p">(),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">messageJson&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span>&lt;span class="p">(),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="mi">0&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="o">!&lt;/span>&lt;span class="n">result&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cerr&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;送信リクエストに失敗しました&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="nb">false&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WinHttpReceiveResponse&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hRequest&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nb">NULL&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">DWORD&lt;/span> &lt;span class="n">statusCode&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">DWORD&lt;/span> &lt;span class="n">size&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">sizeof&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">statusCode&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WinHttpQueryHeaders&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hRequest&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WINHTTP_QUERY_STATUS_CODE&lt;/span> &lt;span class="o">|&lt;/span> &lt;span class="n">WINHTTP_QUERY_FLAG_NUMBER&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WINHTTP_HEADER_NAME_BY_INDEX&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">statusCode&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">WINHTTP_NO_HEADER_INDEX&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// リソース解放
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">WinHttpCloseHandle&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hRequest&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WinHttpCloseHandle&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hConnect&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WinHttpCloseHandle&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hSession&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">statusCode&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">200&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">int&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wstring&lt;/span> &lt;span class="n">webhookUrl&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;https://hooks.slack.com/services/xxx/yyy/zzz&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// 自分のWebhookに置き換えてください
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">string&lt;/span> &lt;span class="n">message&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">R&lt;/span>&lt;span class="s">&amp;#34;({&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s">&amp;#34;text&amp;#34;&lt;/span>&lt;span class="o">:&lt;/span> &lt;span class="s">&amp;#34;Hello from C++ :rocket:&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s">&amp;#34;username&amp;#34;&lt;/span>&lt;span class="o">:&lt;/span> &lt;span class="s">&amp;#34;C++ Bot&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s">&amp;#34;icon_emoji&amp;#34;&lt;/span>&lt;span class="o">:&lt;/span> &lt;span class="s">&amp;#34;:robot_face:&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">})&lt;/span>&lt;span class="s">&amp;#34;;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">PostToSlack&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">webhookUrl&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">message&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;投稿に成功しました！&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span> &lt;span class="k">else&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cerr&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;投稿に失敗しました。&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="-menyesuaikan-pesan-json">🧪 Menyesuaikan Pesan JSON
&lt;/h2>&lt;p>Di Slack Webhooks, Anda dapat menyertakan parameter seperti ini:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;text&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Konten pemberitahuan&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;username&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Nama Bot&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;icon_emoji&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;:rocket:&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;channel&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;#nama_saluran_bebas&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="-catatan-tambahan">📌 Catatan Tambahan
&lt;/h2>&lt;ul>
&lt;li>&lt;code>Content-Type&lt;/code> harus dipastikan disetel ke &lt;code>&amp;quot;application/json&amp;quot;&lt;/code>&lt;/li>
&lt;li>URL Webhook dilewatkan sebagai &lt;code>wstring&lt;/code> apa adanya (pengkodean URL tidak diperlukan)&lt;/li>
&lt;li>Karena ini adalah komunikasi HTTPS, jangan lupa &lt;code>WINHTTP_FLAG_SECURE&lt;/code>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-bonus-contoh-konfirmasi-posting-di-slack">🎉 Bonus: Contoh Konfirmasi Posting di Slack
&lt;/h2>&lt;p>Akan ditampilkan seperti ini di Slack:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">[C++ Bot]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Hello from C++ :rocket:
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="-ringkasan">✍️ Ringkasan
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Item&lt;/th>
&lt;th>Detail&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Metode Posting&lt;/td>
&lt;td>Webhook (Incoming Webhooks)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Pustaka Komunikasi&lt;/td>
&lt;td>WinHTTP&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Format Data&lt;/td>
&lt;td>JSON&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Parameter Tersedia&lt;/td>
&lt;td>text, username, icon_emoji, channel, dll.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Bahkan jika Anda berpikir integrasi Slack dengan C++ itu sulit&amp;hellip; Anda dapat menambahkan bot pemberitahuan mulai hari ini!&lt;/p>
&lt;hr>
&lt;h2 id="-apa-selanjutnya">🚀 Apa Selanjutnya?
&lt;/h2>&lt;p>Jika Anda tertarik, lain kali:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Lampiran File&lt;/strong>&lt;/li>
&lt;li>&lt;strong>UI dengan Tombol&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Operasi API yang Fleksibel melalui Slack App + OAuth2&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>Kami juga dapat memperkenalkan integrasi Slack selangkah lebih maju seperti ini!&lt;/p></description></item><item><title>Market-in dan Product-out</title><link>http://kenji.blog/id/p/%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%83%E3%83%88%E3%82%A4%E3%83%B3%E3%81%A8%E3%83%97%E3%83%AD%E3%83%80%E3%82%AF%E3%83%88%E3%82%A2%E3%82%A6%E3%83%88/</link><pubDate>Tue, 15 Jul 2025 20:18:22 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%83%E3%83%88%E3%82%A4%E3%83%B3%E3%81%A8%E3%83%97%E3%83%AD%E3%83%80%E3%82%AF%E3%83%88%E3%82%A2%E3%82%A6%E3%83%88/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%83%E3%83%88%E3%82%A4%E3%83%B3%E3%81%A8%E3%83%97%E3%83%AD%E3%83%80%E3%82%AF%E3%83%88%E3%82%A2%E3%82%A6%E3%83%88/img.png" alt="Featured image of post Market-in dan Product-out" />&lt;h1 id="market-in-dan-product-out">Market-in dan Product-out
&lt;/h1>&lt;p>Halo, ini kenji.&lt;/p>
&lt;p>Terkadang di buku bisnis atau proposal proyek, saya melihat hal-hal seperti:&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;Kami menggunakan strategi market-in.&amp;rdquo;
&amp;ldquo;Ini adalah tipe product-out.&amp;rdquo;&lt;/p>
&lt;/blockquote>
&lt;p>Mereka mengatakan hal-hal seperti itu tapi&amp;hellip;&lt;/p>
&lt;p>&lt;strong>Tidak, market-in? Product-out? Mana yang lebih hebat???&lt;/strong>&lt;/p>
&lt;p>Tidakkah kamu merasa begitu?&lt;/p>
&lt;p>Jadi kali ini, saya akan mencoba mengurai &amp;ldquo;market-in&amp;rdquo; dan &amp;ldquo;product-out&amp;rdquo; ini
sesederhana mungkin, dan melihatnya sedikit secara kritis.&lt;/p>
&lt;hr>
&lt;h2 id="singkatnya">Singkatnya&amp;hellip;
&lt;/h2>&lt;ul>
&lt;li>&lt;strong>Market-in&lt;/strong> : Mendengarkan suara pasar (market) dan membuat produk sesuai dengan itu.&lt;/li>
&lt;li>&lt;strong>Product-out&lt;/strong> : Membuat sesuatu (product) yang kita anggap bagus dan merilisnya ke dunia.&lt;/li>
&lt;/ul>
&lt;p>Hanya itu. Sederhana.&lt;/p>
&lt;hr>
&lt;h2 id="contohnya-di-kedai-ramen">Contohnya di kedai ramen&amp;hellip;
&lt;/h2>&lt;p>Kedai ramen bergaya market-in adalah,
&amp;ldquo;Akhir-akhir ini ramen Iekei sedang populer. Oke, mari kita beri banyak lemak dan bawang putih!&amp;rdquo; seperti itu.&lt;/p>
&lt;p>Kedai ramen bergaya product-out adalah,
&amp;ldquo;Ramen garam basil susu kedelai yang saya buat ini benar-benar yang terbaik, jadi makanlah,&amp;rdquo; seperti itu.&lt;/p>
&lt;hr>
&lt;h2 id="mana-yang-benar-keduanya-benar">Mana yang benar&amp;hellip; Keduanya benar
&lt;/h2>&lt;p>Market-in mendekati kebutuhan pelanggan, jadi &amp;ldquo;probabilitas terjualnya tinggi&amp;rdquo;, tetapi
ide terobosan atau inovasi sulit lahir.&lt;/p>
&lt;p>Product-out adalah &amp;ldquo;mewujudkan keadilan yang kita yakini,&amp;rdquo; jadi itu tajam dan menarik, tetapi
jika meleset, itu tidak akan beresonansi dengan siapa pun.&lt;/p>
&lt;hr>
&lt;h2 id="iphone-sepertinya-product-out">iPhone sepertinya product-out
&lt;/h2>&lt;p>Di era ketika orang berkata &amp;ldquo;kita tidak butuh smartphone&amp;rdquo;, Apple merilis iPhone.&lt;/p>
&lt;p>Ini sudah &lt;strong>sepenuhnya contoh sukses product-out&lt;/strong> .&lt;/p>
&lt;p>Jika mereka mendengarkan pengguna, mereka akan diberitahu, &amp;ldquo;Ponsel tanpa keyboard? Tidak mungkin,&amp;rdquo; dan itu akan berakhir.&lt;/p>
&lt;hr>
&lt;h2 id="tapi-product-out-mudah-menjadi-kepuasan-diri">Tapi product-out mudah menjadi &amp;ldquo;kepuasan diri&amp;rdquo;
&lt;/h2>&lt;p>Kadang-kadang ada perusahaan atau orang yang berkata, &amp;ldquo;Kami bertipe product-out,&amp;rdquo; tetapi&lt;/p>
&lt;blockquote>
&lt;p>Tidak, bukankah itu hanya mengabaikan pengguna?&lt;/p>
&lt;/blockquote>
&lt;p>Saya kadang berpikir begitu.&lt;/p>
&lt;p>&amp;ldquo;Membuatnya karena ingin membuatnya. Tapi tidak terjual&amp;rdquo; itu,
bukan product-out tetapi &amp;ldquo;egois-out&amp;rdquo;, bukan?&lt;/p>
&lt;hr>
&lt;h2 id="market-in-juga-punya-jebakan">Market-in juga punya jebakan
&lt;/h2>&lt;p>Di sisi lain, market-in juga tidak sempurna.&lt;/p>
&lt;p>Jika Anda berkata &amp;ldquo;Kami akan melakukan semua yang diinginkan pengguna!&amp;rdquo;,
inti dari produk akan goyah, dan pada akhirnya mungkin tidak menarik bagi siapa pun.&lt;/p>
&lt;p>Anda terus menambahkan fitur, dan tiba-tiba Anda menyadari itu adalah alat yang kacau, seperti itu.&lt;/p>
&lt;hr>
&lt;h2 id="yang-benar-benar-luar-biasa-adalah-mereka-yang-melakukan-keduanya">Yang benar-benar luar biasa adalah &amp;ldquo;mereka yang melakukan keduanya&amp;rdquo;
&lt;/h2>&lt;p>Produk yang luar biasa adalah produk yang dengan jelas menyajikan, &amp;ldquo;apa yang benar-benar diinginkan pengguna, tetapi tidak dapat diungkapkan dengan kata-kata&amp;rdquo;.&lt;/p>
&lt;p>Dengan kata lain, &amp;ldquo;mendapatkan simpati bergaya market-in, dengan menggunakan ide product-out&amp;rdquo;.&lt;/p>
&lt;p>Ini mudah dikatakan tetapi sangat sulit dilakukan.
Namun, jika Anda bisa melakukannya, itu akan langsung menjadi &amp;ldquo;produk dewa&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="kesimpulan-reaksi-pengguna-adalah-segalanya-bukan-kata-kata">Kesimpulan: Reaksi pengguna adalah segalanya, bukan kata-kata
&lt;/h2>&lt;p>Market-in atau product-out.
Mana yang benar adalah pertanyaan yang tidak terlalu berarti.&lt;/p>
&lt;p>&lt;strong>&amp;ldquo;Apakah itu benar-benar mencapai hati pengguna?&amp;rdquo; adalah segalanya&lt;/strong> , menurut saya.&lt;/p>
&lt;p>&amp;ldquo;Kami menggunakan strategi seperti ini,&amp;rdquo;
saya pikir sudah cukup jika kita bisa menuliskannya di materi pemasaran nanti.&lt;/p>
&lt;hr>
&lt;p>Jadi, itu adalah cerita tentang market-in dan product-out!&lt;/p>
&lt;p>Tanpa terpengaruh oleh kata-kata asing yang aneh, berpikir &amp;ldquo;pada akhirnya, bagaimana saya bisa membuat orang senang?&amp;rdquo; adalah
yang paling masuk akal, menurut saya.&lt;/p>
&lt;p>Sampai jumpa~.&lt;/p></description></item><item><title>Konjektur Collatz</title><link>http://kenji.blog/id/p/collatz-conjecture/</link><pubDate>Tue, 15 Jul 2025 18:03:03 +0900</pubDate><guid>http://kenji.blog/id/p/collatz-conjecture/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%B3%E3%83%A9%E3%83%83%E3%83%84%E4%BA%88%E6%83%B3/img.png" alt="Featured image of post Konjektur Collatz" />&lt;h1 id="benarkah-semua-angka-akhirnya-akan-menjadi-1--bermain-dengan-konjektur-collatz">&amp;ldquo;Benarkah semua angka akhirnya akan menjadi 1?&amp;rdquo; ── Bermain dengan Konjektur Collatz
&lt;/h1>&lt;p>Halo! Saya Kenji.&lt;/p>
&lt;p>Tiba-tiba saja, ketika Anda mendengar &amp;ldquo;aturan yang membuat angka apa pun pada akhirnya akan menjadi 1&amp;rdquo;,
bukankah itu terasa sedikit aneh?&lt;/p>
&lt;blockquote>
&lt;p>Misalnya, 19, atau 87, atau bahkan 1000000.
Jika Anda mengikuti aturan tertentu dan memanipulasi angka, entah mengapa itu selalu berakhir di &amp;ldquo;1&amp;rdquo;.&lt;/p>
&lt;/blockquote>
&lt;p>Kisah seperti mimpi ini adalah &lt;strong>Konjektur Collatz (Collatz Conjecture)&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="pertama-tama-apa-itu-konjektur-collatz">Pertama-tama, apa itu Konjektur Collatz?
&lt;/h2>&lt;p>Mari saya perkenalkan aturannya terlebih dahulu.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Mulai: Pilih &lt;strong>bilangan bulat positif&lt;/strong> apa pun&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Operasi:&lt;/p>
&lt;ul>
&lt;li>Jika genap → bagi dua (n → n / 2)&lt;/li>
&lt;li>Jika ganjil → kalikan dengan 3 lalu tambah 1 (n → 3n + 1)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>Jika Anda mengulangi ini terus-menerus, tebakannya adalah &lt;strong>angka apa pun pada akhirnya akan mencapai 1&lt;/strong>.&lt;/p>
&lt;p>Misalnya, jika kita mulai dengan &lt;code>6&lt;/code>:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Itu benar-benar menjadi &amp;ldquo;1&amp;rdquo;. Selamat datang kembali!&lt;/p>
&lt;hr>
&lt;h2 id="mari-kita-coba-dengan-kode-collatz-dengan-python">Mari kita coba dengan kode: Collatz dengan Python
&lt;/h2>&lt;p>Nah, dalam kasus seperti ini, lebih cepat untuk mencoba membuat kodenya!
Mari kita cetak &amp;ldquo;Barisan Collatz&amp;rdquo; menggunakan Python.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">collatz&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">steps&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">while&lt;/span> &lt;span class="n">n&lt;/span> &lt;span class="o">!=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">n&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">n&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">n&lt;/span> &lt;span class="o">//&lt;/span> &lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">else&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">n&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">3&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">n&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">steps&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">append&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">steps&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Contoh: mari kita mulai dari 19&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">collatz&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">19&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Saat dijalankan:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">[19, 58, 29, 88, 44, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Ini berhasil mencapai 1.
Mengambil jalan memutar yang cukup panjang, tetapi pada akhirnya tiba di garis finis!&lt;/p>
&lt;p>Omong-omong, meskipun kita mulai dari 29, itu akan mencapai 1 dengan cara yang sama.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">pythonprint(collatz(29))
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Saat dijalankan:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">[27, 82, 41, 124, 62, 31, 94, 47, 142, 71, 214, 107, 322, 161, 484, 242,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">121, 364, 182, 91, 274, 137, 412, 206, 103, 310, 155, 466, 233, 700, 350,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">175, 526, 263, 790, 395, 1186, 593, 1780, 890, 445, 1336, 668, 334, 167,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">502, 251, 754, 377, 1132, 566, 283, 850, 425, 1276, 638, 319, 958, 479,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">1438, 719, 2158, 1079, 3238, 1619, 4858, 2429, 7288, 3644, 1822, 911,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">2734, 1367, 4102, 2051, 6154, 3077, 9232, 4616, 2308, 1154, 577, 1732,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">866, 433, 1300, 650, 325, 976, 488, 244, 122, 61, 184, 92, 46, 23, 70, 35,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Itu memakan waktu hingga 111 langkah!&lt;/p>
&lt;p>Terlebih lagi, dalam perjalanannya terkadang membengkak hingga lebih dari 9000.
Ini adalah pola di mana ia mengambil jalan memutar yang sangat jauh sebelum mencapai finis.&lt;/p>
&lt;hr>
&lt;h2 id="jadi-apa-yang-membuatnya-begitu-menakjubkan">Jadi, apa yang membuatnya begitu menakjubkan?
&lt;/h2>&lt;p>Yang menakjubkan dari konjektur ini adalah,&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Meskipun belum terbukti, tampaknya selalu berakhir pada 1 tidak peduli angka apa yang Anda gunakan&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>Di situlah letak kehebatannya.&lt;/p>
&lt;p>Hah? Lalu bagaimana dengan satu triliun, atau satu kuadriliun&amp;hellip;?&lt;/p>
&lt;p>Bagi Anda yang memikirkan hal itu, Anda sangat tajam.
Faktanya, menggunakan komputer, ini telah diverifikasi hingga sekitar &amp;ldquo;2 pangkat 68&amp;rdquo;,
dan &lt;strong>semuanya mencapai 1&lt;/strong>. Luar biasa&amp;hellip;&lt;/p>
&lt;p>Tapi, &lt;strong>belum terbukti secara teoritis bahwa &amp;ldquo;semuanya akan seperti itu&amp;rdquo;&lt;/strong>.
Inilah yang disebut &amp;ldquo;masalah yang belum terpecahkan&amp;rdquo; di dunia matematika.&lt;/p>
&lt;hr>
&lt;h2 id="siapa-bapak-collatz">Siapa Bapak Collatz?
&lt;/h2>&lt;p>Nah, setelah membaca sejauh ini, Anda mungkin bertanya-tanya, &amp;ldquo;Siapa itu Collatz?&amp;rdquo;
Saya akan memperkenalkannya dengan benar!&lt;/p>
&lt;ul>
&lt;li>Nama: &lt;strong>Lothar Collatz (Lothar Collatz)&lt;/strong>&lt;/li>
&lt;li>Kebangsaan: Jerman&lt;/li>
&lt;li>Tahun lahir: 1910 - 1990&lt;/li>
&lt;li>Profesi: Matematikawan (aktif di bidang analisis fungsional dan teori bilangan)&lt;/li>
&lt;/ul>
&lt;p>Dia mengusulkan konjektur ini pada tahun 1937,
dan sejak saat itu, selama lebih dari 80 tahun, &lt;strong>belum ada yang bisa membuktikan atau menyangkalnya&lt;/strong>.&lt;/p>
&lt;p>Omong-omong, masalah ini sangat sederhana tetapi sangat dalam,
sehingga bahkan Paul Erdős (matematikawan super terkenal) mengatakan sesuatu seperti ini.&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;Matematika belum cukup matang untuk menangani Collatz.&amp;rdquo;&lt;/p>
&lt;/blockquote>
&lt;p>Dengan kata lain, ada teori bahwa matematika umat manusia belum mengejar misteri ini&amp;hellip;&lt;/p>
&lt;hr>
&lt;h2 id="rumus-matematika-yang-rumit-tidak-diperlukan">&amp;ldquo;Rumus matematika yang rumit&amp;rdquo; tidak diperlukan
&lt;/h2>&lt;p>Hal yang baik tentang Konjektur Collatz adalah &lt;strong>siapa pun bisa memainkannya&lt;/strong>.&lt;/p>
&lt;p>Anda hanya butuh kertas dan pulpen.
Jika Anda menulis kode dengan Python, Anda dapat mengujinya secara otomatis.
Namun demikian, &lt;strong>matematikawan mutakhir dengan serius menantangnya&lt;/strong>.&lt;/p>
&lt;p>Tidakkah itu terasa mengasyikkan?&lt;/p>
&lt;hr>
&lt;h2 id="bonus-kode-untuk-menguji-sekaligus">Bonus: Kode untuk menguji sekaligus
&lt;/h2>&lt;p>Saya juga akan menyertakan kode untuk menguji banyak angka sekaligus.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">n&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">21&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">steps&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">collatz&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">steps&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> (jumlah langkah: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="nb">len&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">steps&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">)&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Ini akan mencetak barisan Collatz untuk &amp;ldquo;1 hingga 20&amp;rdquo; sekaligus.&lt;/p>
&lt;hr>
&lt;h2 id="kesimpulan-dunia-ini-memang-aneh">Kesimpulan: Dunia ini memang aneh
&lt;/h2>&lt;p>Jadi begitulah, Konjektur Collatz.&lt;/p>
&lt;ul>
&lt;li>Meskipun sangat sederhana&lt;/li>
&lt;li>Tidak ada yang bisa membuktikannya&lt;/li>
&lt;li>Ini adalah masalah besar di dunia matematika&lt;/li>
&lt;/ul>
&lt;p>Itu menjadi sesuatu yang terasa seperti kumpulan misteri.&lt;/p>
&lt;p>Bahkan pemula dalam pemrograman bisa mencobanya, jadi silakan memainkannya!&lt;/p>
&lt;hr>
&lt;h2 id="tautan-yang-disarankan-bagi-yang-tertarik">Tautan yang disarankan (bagi yang tertarik)
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://id.wikipedia.org/wiki/Konjektur_Collatz" target="_blank" rel="noopener"
>Wikipedia: Konjektur Collatz&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://arxiv.org/abs/1909.03562" target="_blank" rel="noopener"
>Makalah Terence Tao (Bahasa Inggris)&lt;/a>&lt;/li>
&lt;li>Mungkin juga menyenangkan untuk membuat versi visualisasi menggunakan Python! (Jika ada permintaan, saya akan membuatnya)&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>Jika Anda ingin mengetahui lebih banyak cerita tentang &amp;ldquo;matematika misterius × pemrograman&amp;rdquo;,
jangan ragu untuk meminta &amp;ldquo;ceritakan lebih banyak&amp;rdquo;.
Suatu hari nanti, saya akan memperkenalkan Hipotesis Riemann, bilangan prima, dan banyak lagi!&lt;/p>
&lt;hr>
&lt;p>📮 Selesai!&lt;/p>
&lt;hr></description></item><item><title>Cara Memposting Pesan ke Microsoft Teams dari C++ (WinHTTP + Graph API)</title><link>http://kenji.blog/id/p/cara-memposting-pesan-ke-microsoft-teams-dari-c-winhttp--graph-api/</link><pubDate>Mon, 14 Jul 2025 23:40:15 +0900</pubDate><guid>http://kenji.blog/id/p/cara-memposting-pesan-ke-microsoft-teams-dari-c-winhttp--graph-api/</guid><description>&lt;img src="http://kenji.blog/p/c-%E3%81%8B%E3%82%89-microsoft-teams-%E3%81%AB%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E6%8A%95%E7%A8%BF%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95winhttp--graph-api/img.png" alt="Featured image of post Cara Memposting Pesan ke Microsoft Teams dari C++ (WinHTTP + Graph API)" />&lt;h1 id="cara-memposting-pesan-ke-microsoft-teams-dari-c-winhttp--graph-api">Cara Memposting Pesan ke Microsoft Teams dari C++ (WinHTTP + Graph API)
&lt;/h1>&lt;p>Ingin memposting otomatis ke obrolan Microsoft Teams?
Anda dapat menggunakan ** Microsoft Graph API ** untuk hal tersebut.
Dalam artikel ini, kami akan menunjukkan ** contoh kode C++ menggunakan WinHTTP ** dan ** langkah-langkah otentikasi API yang diperlukan ** secara bertahap.&lt;/p>
&lt;hr>
&lt;h2 id="-persiapan-yang-diperlukan-pengaturan-otentikasi-microsoft-graph-api">🔧 Persiapan yang Diperlukan (Pengaturan Otentikasi Microsoft Graph API)
&lt;/h2>&lt;h3 id="1-registrasi-aplikasi-di-portal-azure">1. Registrasi Aplikasi di Portal Azure
&lt;/h3>&lt;p>Pertama, untuk menggunakan Microsoft Graph API, Anda perlu mendaftarkan aplikasi di Azure.&lt;/p>
&lt;ol>
&lt;li>Buka &lt;a class="link" href="https://portal.azure.com" target="_blank" rel="noopener"
>Azure Portal&lt;/a>&lt;/li>
&lt;li>** &amp;ldquo;Microsoft Entra ID&amp;rdquo; ** &amp;gt; ** &amp;ldquo;＋Tambah&amp;rdquo; ** &amp;gt; ** &amp;ldquo;Pendaftaran Aplikasi&amp;rdquo; ** &amp;gt; ** &amp;ldquo;Pendaftaran Baru&amp;rdquo; **&lt;/li>
&lt;li>Masukkan nama aplikasi yang Anda inginkan dan klik &amp;ldquo;Daftar&amp;rdquo;&lt;/li>
&lt;/ol>
&lt;h3 id="2-tambahkan-izin-api">2. Tambahkan Izin API
&lt;/h3>&lt;ol>
&lt;li>Buka menu kiri &amp;ldquo;Izin API&amp;rdquo;&lt;/li>
&lt;li>Pada ** &amp;ldquo;Microsoft Graph&amp;rdquo; ** &amp;gt; ** &amp;ldquo;Pilih Izin&amp;rdquo; **, cari cakupan berikut dan klik ** &amp;ldquo;Perbarui Izin&amp;rdquo; **&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>Chat.ReadWrite&lt;/li>
&lt;li>User.Read&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>※ Jika Anda ingin memposting ke saluran, &lt;code>ChannelMessage.Send&lt;/code> juga diperlukan&lt;/p>
&lt;/blockquote>
&lt;h3 id="3-catat-id-klien-dan-id-penyewa">3. Catat ID Klien dan ID Penyewa
&lt;/h3>&lt;p>Simpan dua nilai berikut yang ditampilkan di tab &amp;ldquo;Ikhtisar&amp;rdquo;:&lt;/p>
&lt;ul>
&lt;li>ID Aplikasi (klien)&lt;/li>
&lt;li>ID Direktori (penyewa)&lt;/li>
&lt;/ul>
&lt;h3 id="4-buat-rahasia-klien">4. Buat Rahasia Klien
&lt;/h3>&lt;ol>
&lt;li>Buka tab &amp;ldquo;Sertifikat dan rahasia&amp;rdquo;&lt;/li>
&lt;li>&amp;ldquo;Rahasia klien baru&amp;rdquo; &amp;gt; tetapkan tanggal kedaluwarsa dan klik &amp;ldquo;Tambahkan&amp;rdquo;&lt;/li>
&lt;li>** Pastikan untuk segera mencatat nilai (rahasia) yang ditampilkan **&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="-mendapatkan-token-akses-oauth2">🔐 Mendapatkan Token Akses (OAuth2)
&lt;/h2>&lt;p>Kita akan menggunakan alur &lt;code>client_credentials&lt;/code> untuk mendapatkan token.
Jalankan perintah berikut dengan curl untuk mendapatkan token akses.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">curl -X POST ^
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> https://login.microsoftonline.com/&lt;span class="o">{&lt;/span>ID Penyewa&lt;span class="o">}&lt;/span>/oauth2/v2.0/token ^
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> -H &lt;span class="s2">&amp;#34;Content-Type: application/x-www-form-urlencoded&amp;#34;&lt;/span> ^
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> -d &lt;span class="s2">&amp;#34;client_id={ID Klien}&amp;#34;&lt;/span> ^
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> -d &lt;span class="s2">&amp;#34;scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&amp;#34;&lt;/span> ^
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> -d &lt;span class="s2">&amp;#34;client_secret={Rahasia Klien}&amp;#34;&lt;/span> ^
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> -d &lt;span class="s2">&amp;#34;grant_type=client_credentials&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="contoh-respons">Contoh Respons
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;token_type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="s2">&amp;#34;Bearer&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;expires_in&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">3599&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;ext_expires_in&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">3599&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;access_token&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;eyJ0eXAiOiJKV1QiLCJub... (dihilangkan)&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Gunakan &lt;code>access_token&lt;/code> ini untuk memanggil Microsoft Graph API.&lt;/p>
&lt;h2 id="-contoh-c-untuk-memposting-ke-obrolan-teams">💬 Contoh C++ untuk Memposting ke Obrolan Teams
&lt;/h2>&lt;p>Berikut adalah contoh C++ menggunakan WinHTTP untuk memposting pesan ke obrolan.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;span class="lnt">42
&lt;/span>&lt;span class="lnt">43
&lt;/span>&lt;span class="lnt">44
&lt;/span>&lt;span class="lnt">45
&lt;/span>&lt;span class="lnt">46
&lt;/span>&lt;span class="lnt">47
&lt;/span>&lt;span class="lnt">48
&lt;/span>&lt;span class="lnt">49
&lt;/span>&lt;span class="lnt">50
&lt;/span>&lt;span class="lnt">51
&lt;/span>&lt;span class="lnt">52
&lt;/span>&lt;span class="lnt">53
&lt;/span>&lt;span class="lnt">54
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;windows.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;winhttp.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;iostream&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;string&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#pragma comment(lib, &amp;#34;winhttp.lib&amp;#34;)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">void&lt;/span> &lt;span class="nf">PostToTeamsChat&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">const&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wstring&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">accessToken&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">const&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wstring&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">chatId&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">const&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wstring&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">message&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">HINTERNET&lt;/span> &lt;span class="n">hSession&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">WinHttpOpen&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;TeamsPoster/1.0&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">WINHTTP_ACCESS_TYPE_DEFAULT_PROXY&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WINHTTP_NO_PROXY_NAME&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">WINHTTP_NO_PROXY_BYPASS&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">HINTERNET&lt;/span> &lt;span class="n">hConnect&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">WinHttpConnect&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hSession&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;graph.microsoft.com&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">INTERNET_DEFAULT_HTTPS_PORT&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wstring&lt;/span> &lt;span class="n">endpoint&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;/v1.0/chats/&amp;#34;&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">chatId&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;/messages&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">HINTERNET&lt;/span> &lt;span class="n">hRequest&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">WinHttpOpenRequest&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hConnect&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;POST&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">endpoint&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">c_str&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="nb">NULL&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WINHTTP_NO_REFERER&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">WINHTTP_DEFAULT_ACCEPT_TYPES&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">WINHTTP_FLAG_SECURE&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wstring&lt;/span> &lt;span class="n">jsonBody&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;{&lt;/span>&lt;span class="se">\&amp;#34;&lt;/span>&lt;span class="s">body&lt;/span>&lt;span class="se">\&amp;#34;&lt;/span>&lt;span class="s">: {&lt;/span>&lt;span class="se">\&amp;#34;&lt;/span>&lt;span class="s">content&lt;/span>&lt;span class="se">\&amp;#34;&lt;/span>&lt;span class="s">: &lt;/span>&lt;span class="se">\&amp;#34;&lt;/span>&lt;span class="s">&amp;#34;&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">message&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="se">\&amp;#34;&lt;/span>&lt;span class="s">}}&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wstring&lt;/span> &lt;span class="n">headers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;Authorization: Bearer &amp;#34;&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">accessToken&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="se">\r\n&lt;/span>&lt;span class="s">Content-Type: application/json&lt;/span>&lt;span class="se">\r\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">BOOL&lt;/span> &lt;span class="n">bResult&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">WinHttpSendRequest&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hRequest&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">headers&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">c_str&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">DWORD&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">1L&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">(&lt;/span>&lt;span class="n">LPVOID&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="n">jsonBody&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">c_str&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">DWORD&lt;/span>&lt;span class="p">)(&lt;/span>&lt;span class="n">jsonBody&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="k">sizeof&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">wchar_t&lt;/span>&lt;span class="p">)),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">(&lt;/span>&lt;span class="n">DWORD&lt;/span>&lt;span class="p">)(&lt;/span>&lt;span class="n">jsonBody&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="k">sizeof&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">wchar_t&lt;/span>&lt;span class="p">)),&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">bResult&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WinHttpReceiveResponse&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hRequest&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nb">NULL&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">DWORD&lt;/span> &lt;span class="n">dwSize&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WinHttpQueryDataAvailable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hRequest&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">dwSize&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">dwSize&lt;/span> &lt;span class="o">&amp;gt;&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wstring&lt;/span> &lt;span class="n">response&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">dwSize&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="k">sizeof&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">wchar_t&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">DWORD&lt;/span> &lt;span class="n">dwDownloaded&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WinHttpReadData&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hRequest&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">response&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">dwSize&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">dwDownloaded&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wcout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;Response: &amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">response&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WinHttpCloseHandle&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hRequest&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WinHttpCloseHandle&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hConnect&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">WinHttpCloseHandle&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hSession&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">int&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wstring&lt;/span> &lt;span class="n">access&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wstring&lt;/span> &lt;span class="n">chatId&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;19:&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wstring&lt;/span> &lt;span class="n">message&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;Hello from C++!&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wcout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;Enter your access token: &amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">getline&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wcin&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">access&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wcout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="sa">L&lt;/span>&lt;span class="s">&amp;#34;Enter chat ID: &amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">getline&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">wcin&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">chatId&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">PostToTeamsChat&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">access&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">chatId&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">message&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="-cara-mendapatkan-id-obrolan">🔍 Cara Mendapatkan ID Obrolan
&lt;/h2>&lt;p>Anda dapat memeriksa ID obrolan menggunakan &lt;code>GET /v1.0/me/chats&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">curl -X GET ^
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> https://graph.microsoft.com/v1.0/me/chats ^
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> -H &amp;#34;Authorization: Bearer {access_token}&amp;#34; ^
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> -H &amp;#34;Content-Type: application/json&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="contoh-respons-1">Contoh Respons
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;span class="lnt">9
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;value&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;id&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;19:abc123xyz@thread.v2&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;topic&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">null&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;chatType&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;oneOnOne&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="-catatan">📌 Catatan
&lt;/h2>&lt;ul>
&lt;li>Contoh ini adalah implementasi minimal. Dalam produksi:
&lt;ul>
&lt;li>Penanganan kedaluwarsa token&lt;/li>
&lt;li>Verifikasi sertifikat HTTPS&lt;/li>
&lt;li>Peningkatan penanganan kesalahan&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Untuk posting saluran, gunakan &lt;code>teams/{team-id}/channels/{channel-id}/messages&lt;/code>.&lt;/li>
&lt;li>Untuk mengirim lampiran, diperlukan pemrosesan multipart atau Graph Drive API.&lt;/li>
&lt;/ul>
&lt;h2 id="-kesimpulan">📎 Kesimpulan
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Fitur&lt;/th>
&lt;th>Deskripsi&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Graph API&lt;/td>
&lt;td>API resmi untuk berinteraksi dengan Teams&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Registrasi Aplikasi&lt;/td>
&lt;td>Prosedur otentikasi yang diperlukan di Azure&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Token Akses&lt;/td>
&lt;td>Diperoleh melalui OAuth2 dan digunakan untuk permintaan&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Implementasi C++&lt;/td>
&lt;td>Memanggil Graph API menggunakan WinHTTP&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="-langkah-selanjutnya">🚀 Langkah Selanjutnya
&lt;/h2>&lt;p>Sebagai contoh yang lebih canggih, Anda juga dapat:&lt;/p>
&lt;ul>
&lt;li>Memposting ke saluran tim (&lt;code>/teams/{team-id}/channels/...&lt;/code>)&lt;/li>
&lt;li>Memposting dengan lampiran&lt;/li>
&lt;li>Beralih antara akun bot dan pengguna&lt;/li>
&lt;li>Implementasi C++ lengkap termasuk pengambilan token&lt;/li>
&lt;/ul>
&lt;p>Jika Anda memiliki permintaan, jangan ragu untuk meninggalkan komentar!&lt;/p></description></item><item><title>Tentang Tanda Wajib pada Formulir Input</title><link>http://kenji.blog/id/p/tentang-tanda-wajib-pada-formulir-input/</link><pubDate>Mon, 14 Jul 2025 13:47:51 +0900</pubDate><guid>http://kenji.blog/id/p/tentang-tanda-wajib-pada-formulir-input/</guid><description>&lt;img src="http://kenji.blog/p/%E5%85%A5%E5%8A%9B%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%AE%E5%BF%85%E9%A0%88%E3%83%9E%E3%83%BC%E3%82%AF%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/img.png" alt="Featured image of post Tentang Tanda Wajib pada Formulir Input" />&lt;p>Kami merangkum informasi tentang tanda &amp;ldquo;wajib&amp;rdquo; pada UI layar (formulir) di luar negeri, beserta materi pedoman UI.&lt;/p>
&lt;hr>
&lt;h2 id="-tanda-wajib-utama-dan-praktik-terbaik">📌 Tanda Wajib Utama dan Praktik Terbaik
&lt;/h2>&lt;ol>
&lt;li>
&lt;p>&lt;strong>Penggunaan Asterisk (*)&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Ini adalah yang paling umum dan banyak digunakan, di mana bidang wajib ditandai dengan &amp;ldquo;*&amp;rdquo;.&lt;/li>
&lt;li>Namun, &lt;em>&lt;em>penjelasan di awal formulir seperti &amp;ldquo;&lt;/em> adalah bidang wajib&amp;rdquo; sangat diperlukan&lt;/em>* (&lt;a class="link" href="https://www.nngroup.com/articles/required-fields/?utm_source=chatgpt.com" title="Marking Required Fields in Forms - NN/g"
target="_blank" rel="noopener"
>Nielsen Norman Group&lt;/a>, &lt;a class="link" href="https://www.csun.edu/universal-design-center/web-accessibility-criteria-required-fields?utm_source=chatgpt.com" title="Web Accessibility Criteria - Required Fields - CSUN"
target="_blank" rel="noopener"
>California State University, Northridge&lt;/a>).&lt;/li>
&lt;li>Ada juga contoh penggunaan warna untuk penekanan (seperti teks merah).&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Menyatakan &amp;ldquo;Required&amp;rdquo; atau &amp;ldquo;(required)&amp;rdquo; dengan Jelas pada Label&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Dengan menambahkan kata &amp;ldquo;Required&amp;rdquo; di dalam label, ini juga dapat diperjelas untuk pembaca layar, sehingga meningkatkan aksesibilitas (&lt;a class="link" href="https://www.deque.com/blog/anatomy-of-accessible-forms-required-form-fields/?utm_source=chatgpt.com" title="The Anatomy of Accessible Forms: Required Form Fields"
target="_blank" rel="noopener"
>Deque&lt;/a>).&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Kombinasi Atribut ARIA dan Atribut &lt;code>required&lt;/code> HTML5&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Selain tampilan visual, penggunaan &lt;code>aria-required=&amp;quot;true&amp;quot;&lt;/code> dan &lt;code>&amp;lt;input required&amp;gt;&lt;/code> dapat menyampaikan kewajiban secara terprogram (&lt;a class="link" href="https://www.deque.com/blog/anatomy-of-accessible-forms-required-form-fields/?utm_source=chatgpt.com" title="The Anatomy of Accessible Forms: Required Form Fields"
target="_blank" rel="noopener"
>Deque&lt;/a>).&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Menggunakan &amp;ldquo;(optional)&amp;rdquo; untuk Menandai Bidang Opsional Secara Jelas&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Ada juga metode untuk dengan jelas menyatakan bidang opsional menggunakan &amp;ldquo;(optional)&amp;rdquo; alih-alih bidang wajib, yang efektif ketika keduanya dicampur.&lt;/li>
&lt;li>Namun, Nielsen‑Norman menunjukkan bahwa &amp;ldquo;lebih mudah untuk menilai jika bidang wajib juga dinyatakan dengan jelas&amp;rdquo; (&lt;a class="link" href="https://www.tpgi.com/doing-whats-required-indicating-mandatory-fields-in-an-accessible-way/?utm_source=chatgpt.com" title="Doing what&amp;#39;s required: Indicating mandatory fields in an accessible ..."
target="_blank" rel="noopener"
>TPGi&lt;/a>).&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="-ringkasan-materi-pedoman-ui">✅ Ringkasan Materi Pedoman UI
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Sumber&lt;/th>
&lt;th>Konten&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>NN/g: Marking Required Fields in Forms&lt;/strong>&lt;/td>
&lt;td>Kombinasi asterisk + teks penjelasan direkomendasikan, dan hanya menampilkan opsi opsional dianggap kurang ramah pengguna (&lt;a class="link" href="https://www.nngroup.com/articles/required-fields/?utm_source=chatgpt.com" title="Marking Required Fields in Forms - NN/g"
target="_blank" rel="noopener"
>Nielsen Norman Group&lt;/a>).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Deque (Anatomy of Accessible Forms)&lt;/strong>&lt;/td>
&lt;td>・Menggunakan string &amp;ldquo;Required&amp;rdquo; atau gambar di dalam label.&lt;br>・Dinyatakan dengan jelas bahwa indikasi berdasarkan warna saja tidak cukup.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>W3C Techniques (H90)&lt;/strong>&lt;/td>
&lt;td>Contoh penyertaan asterisk atau &amp;ldquo;(required)&amp;rdquo; dalam label, dan mendefinisikan artinya di awal formulir.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>TPGi (Doing what&amp;rsquo;s required)&lt;/strong>&lt;/td>
&lt;td>Mempertimbangkan aksesibilitas, kombinasi asterisk + atribut ARIA + penyisipan teks label dievaluasi sebagai yang paling optimal.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Panduan UX Formulir Contensis&lt;/strong>&lt;/td>
&lt;td>Diringkas secara singkat bahwa penandaan yang konsisten (* atau (optional)) adalah hal yang penting.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="-pendekatan-yang-direkomendasikan-dalam-implementasi">✅ Pendekatan yang Direkomendasikan dalam Implementasi
&lt;/h2>&lt;ul>
&lt;li>
&lt;p>Tambahkan teks penjelasan &lt;strong>di awal formulir&lt;/strong> :&lt;/p>
&lt;blockquote>
&lt;p>Fields marked with * are required.
(Atau secara kolektif &amp;ldquo;All fields are required&amp;rdquo;, dan jika ada yang opsional &amp;ldquo;unless marked optional&amp;rdquo;)&lt;/p>
&lt;/blockquote>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Penambahan Label&lt;/strong> :&lt;/p>
&lt;ul>
&lt;li>Ditulis seperti &lt;code>First Name *&lt;/code> atau &lt;code>Email (required)&lt;/code>.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Atribut ARIA dan HTML5&lt;/strong> :&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-html" data-lang="html">&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">label&lt;/span> &lt;span class="na">for&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;email&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>Email &lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">abbr&lt;/span> &lt;span class="na">title&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;required&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>*&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">abbr&lt;/span>&lt;span class="p">&amp;gt;&amp;lt;/&lt;/span>&lt;span class="nt">label&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">input&lt;/span> &lt;span class="na">id&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;email&amp;#34;&lt;/span> &lt;span class="na">required&lt;/span> &lt;span class="na">aria-required&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;true&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;/li>
&lt;li>
&lt;p>&lt;strong>Jangan Hanya Mengandalkan Warna&lt;/strong> : Berikan dukungan baik secara visual maupun terprogram.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-tautan-referensi-materi-pedoman-ui">🔗 Tautan Referensi (Materi Pedoman UI)
&lt;/h2>&lt;ul>
&lt;li>NN/g: &lt;em>Marking Required Fields in Forms&lt;/em> (&lt;a class="link" href="https://www.csun.edu/universal-design-center/web-accessibility-criteria-required-fields?utm_source=chatgpt.com" title="Web Accessibility Criteria - Required Fields - CSUN"
target="_blank" rel="noopener"
>California State University, Northridge&lt;/a>, &lt;a class="link" href="https://www.nngroup.com/articles/required-fields/?utm_source=chatgpt.com" title="Marking Required Fields in Forms - NN/g"
target="_blank" rel="noopener"
>Nielsen Norman Group&lt;/a>, &lt;a class="link" href="https://www.deque.com/blog/anatomy-of-accessible-forms-required-form-fields/?utm_source=chatgpt.com" title="The Anatomy of Accessible Forms: Required Form Fields"
target="_blank" rel="noopener"
>Deque&lt;/a>)&lt;/li>
&lt;li>Deque: &lt;em>Anatomy of Accessible Forms&lt;/em> (&lt;a class="link" href="https://www.deque.com/blog/anatomy-of-accessible-forms-required-form-fields/?utm_source=chatgpt.com" title="The Anatomy of Accessible Forms: Required Form Fields"
target="_blank" rel="noopener"
>Deque&lt;/a>)&lt;/li>
&lt;li>W3C Techniques: &lt;em>H90 Indicating required form controls&lt;/em> (&lt;a class="link" href="https://www.w3.org/TR/WCAG20-TECHS/H90.html?utm_source=chatgpt.com" title="H90: Indicating required form controls using label or legend - W3C"
target="_blank" rel="noopener"
>W3C&lt;/a>)&lt;/li>
&lt;li>TPGi: &lt;em>Indicating mandatory fields accessibly&lt;/em> (&lt;a class="link" href="https://www.tpgi.com/doing-whats-required-indicating-mandatory-fields-in-an-accessible-way/?utm_source=chatgpt.com" title="Doing what&amp;#39;s required: Indicating mandatory fields in an accessible ..."
target="_blank" rel="noopener"
>TPGi&lt;/a>)&lt;/li>
&lt;li>Contensis: &lt;em>UX Forms Guidelines&lt;/em> (&lt;a class="link" href="https://www.contensis.com/community/blog/ux-forms-guidelines?utm_source=chatgpt.com" title="Build better web forms: 15 UX guidelines that work - Contensis"
target="_blank" rel="noopener"
>Contensis&lt;/a>)&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>Jika diperlukan, kami juga dapat memberikan contoh kode HTML/CSS tertentu, templat desain komponen UI untuk Sketch atau Figma, dll. Jangan ragu untuk berkonsultasi dengan kami!&lt;/p></description></item><item><title>Cara Menginstal Gemini CLI di Lingkungan Windows</title><link>http://kenji.blog/id/p/gemini-cli-%E3%82%92-windows-%E7%92%B0%E5%A2%83%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Sun, 13 Jul 2025 23:49:56 +0900</pubDate><guid>http://kenji.blog/id/p/gemini-cli-%E3%82%92-windows-%E7%92%B0%E5%A2%83%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/gemini-cli-%E3%82%92-windows-%E7%92%B0%E5%A2%83%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Menginstal Gemini CLI di Lingkungan Windows" />&lt;h1 id="untuk-pemulacara-menginstal-gemini-cli-di-windows">【Untuk Pemula】Cara Menginstal Gemini CLI di Windows
&lt;/h1>&lt;p>&amp;ldquo;Gemini CLI&amp;rdquo; memungkinkan penggunaan AI generatif Google &amp;ldquo;Gemini&amp;rdquo; dari baris perintah.
Dalam artikel ini, kami akan menjelaskan langkah-langkah untuk menginstal Gemini CLI di lingkungan Windows dengan cara yang semudah mungkin.&lt;/p>
&lt;hr>
&lt;h2 id="1-persiapan-awal-menginstal-nodejs-dan-npm">1. Persiapan Awal: Menginstal Node.js dan npm
&lt;/h2>&lt;p>Pertama, karena Gemini CLI berjalan di lingkungan yang disebut &amp;ldquo;Node.js&amp;rdquo;, Anda harus menginstal yang berikut ini sebelumnya:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Node.js&lt;/strong>&lt;/li>
&lt;li>&lt;strong>npm (alat manajemen paket yang disertakan dengan Node.js)&lt;/strong>&lt;/li>
&lt;li>&lt;strong>npx (alat eksekusi perintah yang disertakan dalam npm)&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>Silakan unduh Node.js versi Windows dari situs web resmi berikut (versi LTS disarankan):&lt;/p>
&lt;p>👉 &lt;a class="link" href="https://nodejs.org/" target="_blank" rel="noopener"
>Situs Resmi Node.js&lt;/a>&lt;/p>
&lt;p>Setelah instalasi selesai, mari kita periksa apakah sudah terinstal dengan benar menggunakan perintah berikut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">node&lt;/span> &lt;span class="n">-v&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">npm&lt;/span> &lt;span class="n">-v&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="2-memulai-powershell">2. Memulai PowerShell
&lt;/h2>&lt;p>Untuk menggunakan Gemini CLI di Windows, biasanya menggunakan PowerShell.
Ketik &amp;ldquo;PowerShell&amp;rdquo; dari menu Start dan jalankan.&lt;/p>
&lt;hr>
&lt;h2 id="3-menginstal-gemini-cli">3. Menginstal Gemini CLI
&lt;/h2>&lt;p>Salin dan tempel perintah berikut ke PowerShell untuk menjalankannya:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">npx @google/gemini-cli
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Perintah ini untuk sementara mengeksekusi paket Gemini CLI yang dirilis oleh Google.
Jika perlu, Anda mungkin diminta untuk melakukan pengaturan awal atau login.&lt;/p>
&lt;p>※ Ini mungkin memakan waktu beberapa menit saat pertama kali. Jika terjadi kesalahan, periksa kembali Node.js dan lingkungan jaringan Anda.&lt;/p>
&lt;hr>
&lt;h2 id="4-instalasi-selesai-apa-selanjutnya">4. Instalasi Selesai! Apa Selanjutnya
&lt;/h2>&lt;p>Sekarang, Gemini CLI telah diinstal di Windows.
Mulai sekarang, dengan menggunakan Gemini dari baris perintah, berbagai operasi seperti pembuatan teks dan penyelesaian kode dapat dilakukan.&lt;/p>
&lt;p>Jika Anda ingin memeriksa dokumentasi resmi atau bantuan, Anda juga dapat menggunakan perintah berikut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">npx @google/gemini-cli --help
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="kesimpulan">Kesimpulan
&lt;/h2>&lt;p>Mari kita ulas langkah-langkah untuk memperkenalkan Gemini CLI ke Windows.&lt;/p>
&lt;ol>
&lt;li>Instal Node.js dan npm&lt;/li>
&lt;li>Mulai PowerShell&lt;/li>
&lt;li>Jalankan &lt;code>npx @google/gemini-cli&lt;/code>&lt;/li>
&lt;/ol>
&lt;p>Persiapan selesai!
Jika Anda ingin menggunakan AI generatif secara lokal, silakan coba tantangan ini dengan mengacu pada langkah-langkah ini.&lt;/p></description></item><item><title>Saya kembali menerima penghargaan Microsoft MVP (2025-2026)</title><link>http://kenji.blog/id/p/saya-kembali-menerima-penghargaan-microsoft-mvp-2025-2026/</link><pubDate>Sun, 13 Jul 2025 22:01:15 +0900</pubDate><guid>http://kenji.blog/id/p/saya-kembali-menerima-penghargaan-microsoft-mvp-2025-2026/</guid><description>&lt;img src="http://kenji.blog/p/microsoft-mvp2025-2026%E3%82%92%E5%86%8D%E5%8F%97%E8%B3%9E%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F/img.png" alt="Featured image of post Saya kembali menerima penghargaan Microsoft MVP (2025-2026)" />&lt;h1 id="saya-kembali-menerima-penghargaan-microsoft-mvp-2025-2026">Saya kembali menerima penghargaan Microsoft MVP (2025-2026)!
&lt;/h1>&lt;p>Halo, saya kenji.&lt;/p>
&lt;p>Saya punya pengumuman. Tahun ini saya kembali menerima penghargaan &lt;strong>Microsoft MVP (Most Valuable Professional)&lt;/strong> . Ini adalah penghargaan saya yang ke &lt;strong>9&lt;/strong> kalinya.&lt;/p>
&lt;p>Terima kasih banyak kepada semua orang yang selalu mendukung saya.&lt;/p>
&lt;hr>
&lt;h2 id="apa-itu-microsoft-mvp">Apa itu Microsoft MVP?
&lt;/h2>&lt;p>Saat mendengar &amp;ldquo;MVP&amp;rdquo;, banyak orang mungkin memikirkan pemain terbaik dalam olahraga, namun MVP di sini adalah &lt;strong>gelar yang diberikan kepada orang-orang yang telah berkontribusi pada komunitas teknologi Microsoft&lt;/strong> .&lt;/p>
&lt;p>Secara khusus,&lt;/p>
&lt;ul>
&lt;li>Menyebarkan informasi melalui blog teknologi dan media sosial&lt;/li>
&lt;li>Mempublikasikan kode sampel di GitHub&lt;/li>
&lt;li>Berbicara di kelompok belajar dan konferensi&lt;/li>
&lt;li>Menjawab di situs Q&amp;amp;A&lt;/li>
&lt;li>Pertukaran teknis dan kolaborasi dengan pengembang luar negeri&lt;/li>
&lt;li>Berpartisipasi dan memposting dalam komunitas yang menghubungkan para insinyur&lt;/li>
&lt;/ul>
&lt;p>Seperti itulah, ini adalah sistem yang mengevaluasi aktivitas &amp;ldquo;berbagi pengetahuan dan pengalaman Anda demi orang lain&amp;rdquo;.&lt;/p>
&lt;p>Pemenangnya ada di seluruh dunia, tetapi jumlah orang yang dipilih setiap tahun terbatas, dan menerima penghargaan lagi bukanlah hal yang mudah. Karena itu, sungguh suatu kehormatan diakui dengan cara ini.&lt;/p>
&lt;hr>
&lt;h2 id="apa-yang-saya-fokuskan-pada-tahun-lalu">Apa yang saya fokuskan pada tahun lalu
&lt;/h2>&lt;p>Tahun ini, saya fokus untuk menyebarkan informasi dengan mempertimbangkan &lt;strong>&amp;ldquo;kejelasan&amp;rdquo; dan &amp;ldquo;aksesibilitas&amp;rdquo; teknologi&lt;/strong> .&lt;/p>
&lt;ul>
&lt;li>Mempublikasikan kode sampel praktis di GitHub&lt;/li>
&lt;li>Berbicara di kelompok belajar dan konferensi (baik domestik maupun internasional)&lt;/li>
&lt;li>Penyebaran informasi secara rutin melalui blog teknologi dan media sosial&lt;/li>
&lt;li>Aktivitas menjawab yang berkesinambungan di situs Q&amp;amp;A&lt;/li>
&lt;li>Berbagi pengetahuan di situs komunitas insinyur&lt;/li>
&lt;li>Komunikasi dan verifikasi bersama dengan insinyur luar negeri&lt;/li>
&lt;/ul>
&lt;p>Di antaranya, mempublikasikan kode di GitHub sangat berkesan karena saya menerima komentar seperti &amp;ldquo;Itu membantu saya karena saya mengalami masalah yang sama!&amp;rdquo;, dan hal itu menyadarkan saya bahwa upaya saya membantu pengembangan orang lain.&lt;/p>
&lt;p>Selain itu, saat berbicara di acara, saya terkadang menerima umpan balik seperti &amp;ldquo;Mudah dipahami bahkan oleh pemula&amp;rdquo;, yang menjadi kesempatan baik untuk memikirkan &amp;ldquo;seperti apa penjelasan teknis yang tersampaikan itu?&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="menuju-tahun-depan">Menuju tahun depan
&lt;/h2>&lt;p>Evolusi teknologi sangat cepat, dan bahkan hanya untuk mengikutinya saja sangat menantang. Meskipun demikian, saya percaya ada nilai yang luar biasa dalam memberikan &lt;strong>pengetahuan nyata sebagai &amp;ldquo;informasi primer&amp;rdquo;&lt;/strong> , seperti pengalaman aktual yang saya peroleh dari mencoba berbagai hal dan poin-poin di mana saya menemui hambatan.&lt;/p>
&lt;p>Tahun depan, saya ingin menantang diri saya sendiri untuk menyebarkan &lt;strong>&amp;ldquo;konten teknis yang mudah dipahami secara visual&amp;rdquo; dengan menggabungkan video dan ilustrasi&lt;/strong> . Saya berharap dapat meningkatkan output saya untuk membantu menyelesaikan momen &amp;ldquo;Saya buntu!&amp;rdquo; yang dialami seseorang, meski hanya sedikit.&lt;/p>
&lt;hr>
&lt;h2 id="terakhir">Terakhir
&lt;/h2>&lt;p>Gelar MVP hanyalah sebuah batu loncatan.&lt;/p>
&lt;p>Saya akan terus melangkah dengan kecepatan saya sendiri tanpa memaksakan diri.
Namun dengan tujuan agar bisa benar-benar berguna bagi seseorang.&lt;/p>
&lt;p>&amp;ldquo;Mencari tahu tentang hal ini sangat membantu&amp;rdquo;
&amp;ldquo;Sampel ini berhasil dijalankan!&amp;rdquo;
&amp;ldquo;Penjelasan ini mudah dipahami&amp;rdquo;&lt;/p>
&lt;p>Saya ingin terus menjadi insinyur yang membuat orang bisa mengatakan hal-hal seperti itu.&lt;/p>
&lt;p>Terima kasih atas dukungan Anda yang berkelanjutan.&lt;/p>
&lt;ul>
&lt;li>GitHub: &lt;a class="link" href="https://github.com/kenjinote" target="_blank" rel="noopener"
>https://github.com/kenjinote&lt;/a>&lt;/li>
&lt;li>Blog teknologi: &lt;a class="link" href="https://hack.jp" target="_blank" rel="noopener"
>https://hack.jp&lt;/a>&lt;/li>
&lt;li>X: &lt;a class="link" href="https://twitter.com/kenjinote" target="_blank" rel="noopener"
>https://twitter.com/kenjinote&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Kelebihan dan Kekurangan Membuat Program dengan Win32API + C++</title><link>http://kenji.blog/id/p/win32api-c-%E3%81%A7%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%82%92%E4%BD%9C%E3%82%8B%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88%E3%81%A8%E3%83%87%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88/</link><pubDate>Sat, 12 Jul 2025 12:30:35 +0900</pubDate><guid>http://kenji.blog/id/p/win32api-c-%E3%81%A7%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%82%92%E4%BD%9C%E3%82%8B%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88%E3%81%A8%E3%83%87%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88/</guid><description>&lt;img src="http://kenji.blog/p/win32api-c-%E3%81%A7%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%82%92%E4%BD%9C%E3%82%8B%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88%E3%81%A8%E3%83%87%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88/img_1.png" alt="Featured image of post Kelebihan dan Kekurangan Membuat Program dengan Win32API + C++" />&lt;h1 id="daya-tarik-dan-tantangan-pengembangan-dengan-win32api--c">Daya Tarik dan Tantangan Pengembangan dengan Win32API + C++
&lt;/h1>&lt;p>Bagi mereka yang ingin mendalami pengembangan aplikasi Windows, &lt;strong>Win32API + C++&lt;/strong> masih menjadi pilihan yang kuat.
Kombinasi ini, yang memungkinkan Anda berinteraksi dengan OS pada jarak terdekat, menggabungkan kecepatan tinggi dan fleksibilitas.&lt;/p>
&lt;p>Di sisi lain, karena sangat berbeda dari gaya pengembangan modern, menguasainya juga membutuhkan tekad.&lt;/p>
&lt;p>Di halaman ini, dari sudut pandang &lt;strong>pengembang aplikasi Windows yang aktif&lt;/strong> , kami akan menjelaskan kelebihan dan kekurangannya dengan cara yang mudah dipahami.&lt;/p>
&lt;hr>
&lt;h2 id="kelebihan">Kelebihan
&lt;/h2>&lt;h3 id="eksekusi-asli-yang-sangat-cepat">Eksekusi Asli yang Sangat Cepat
&lt;/h3>&lt;p>Karena C++ dan Win32API beroperasi pada lapisan yang paling dekat dengan OS, hampir tidak ada overhead tambahan.
Efisiensi penggunaan CPU dan memori sangat tinggi, dan membanggakan &lt;strong>kecepatan eksekusi yang luar biasa&lt;/strong> .&lt;/p>
&lt;h3 id="fleksibilitas-dan-kebebasan-tinggi">Fleksibilitas dan Kebebasan Tinggi
&lt;/h3>&lt;p>Anda dapat &lt;strong>mengontrol sendiri secara detail&lt;/strong> setiap perilaku aplikasi, seperti kontrol jendela, pemrosesan asinkron, integrasi COM, dan manajemen proses.
Dimungkinkan juga untuk membangun alat yang disesuaikan untuk tujuan tertentu, atau kerangka kerja khusus Anda sendiri.&lt;/p>
&lt;h3 id="mudah-didistribusikan-tanpa-perlu-runtime">Mudah Didistribusikan Tanpa Perlu Runtime
&lt;/h3>&lt;p>Karena tidak diperlukan runtime eksternal seperti .NET atau Java, aplikasi &lt;strong>dapat didistribusikan hanya dengan satu file yang dapat dieksekusi&lt;/strong> .
Masalah saat redistribusi jarang terjadi, dan daya tariknya adalah mudah dijalankan bahkan tanpa penginstal.&lt;/p>
&lt;h3 id="aplikasi-ringan-dapat-dibuat">Aplikasi Ringan Dapat Dibuat
&lt;/h3>&lt;p>Karena hanya membutuhkan konfigurasi minimum, fiturnya adalah &lt;strong>jejak memorinya sangat kecil&lt;/strong> .
Ini beroperasi dengan nyaman bahkan pada PC dengan spesifikasi rendah dan lingkungan mesin virtual.&lt;/p>
&lt;h3 id="kontrol-lanjutan-tingkat-os-dimungkinkan">Kontrol Lanjutan Tingkat OS Dimungkinkan
&lt;/h3>&lt;p>&lt;strong>Kontrol yang sulit dengan bahasa dan pustaka biasa&lt;/strong> juga dapat diwujudkan, seperti hook global mouse dan keyboard, penyesuaian gaya jendela secara detail, dan operasi menu sistem.&lt;/p>
&lt;hr>
&lt;h2 id="kekurangan">Kekurangan
&lt;/h2>&lt;h3 id="efisiensi-pengembangan-rendah">Efisiensi Pengembangan Rendah
&lt;/h3>&lt;p>Pembuatan GUI juga harus dilakukan sepenuhnya dengan kode, dan &lt;strong>membuat satu tombol bisa membutuhkan puluhan baris kode&lt;/strong> .
Modifikasi saat mengubah desain juga rumit, dan produktivitasnya rendah dibandingkan dengan pengembangan menggunakan kerangka kerja UI.&lt;/p>
&lt;h3 id="pemeliharaan-cenderung-menurun">Pemeliharaan Cenderung Menurun
&lt;/h3>&lt;p>Ini berisi banyak &lt;strong>kode dengan struktur khusus&lt;/strong> , seperti perulangan pesan dan prosedur jendela, yang membuatnya sulit dibaca dan digunakan kembali.
Ada juga aspek yang membuatnya tidak cocok untuk pengembangan tim atau pemeliharaan jangka panjang.&lt;/p>
&lt;h3 id="beradaptasi-dengan-ui-modern-merepotkan">Beradaptasi dengan UI Modern Merepotkan
&lt;/h3>&lt;p>&lt;strong>Sulit untuk beradaptasi dengan UX yang dituntut dalam beberapa tahun terakhir&lt;/strong> , seperti dukungan DPI tinggi, antarmuka sentuh, aksesibilitas, dan mode gelap.
Masing-masing harus ditangani secara manual, yang membutuhkan banyak usaha.&lt;/p>
&lt;h3 id="tidak-mendukung-lintas-platform">Tidak Mendukung Lintas Platform
&lt;/h3>&lt;p>Karena ini sepenuhnya merupakan API khusus Windows, aplikasi &lt;strong>tidak dapat di-porting ke macOS atau Linux&lt;/strong> .
Jika Anda mengharapkan penerapan lintas platform, Anda harus memilih teknologi lain.&lt;/p>
&lt;h3 id="biaya-pembelajaran-sangat-tinggi">Biaya Pembelajaran Sangat Tinggi
&lt;/h3>&lt;p>Anda harus memahami &lt;strong>konsep dan mekanisme yang jarang digunakan saat ini&lt;/strong> , seperti handle, GDI, COM, dan OLE.
Banyak dokumen juga sudah usang, dan pembelajaran membutuhkan waktu dan kesabaran.&lt;/p>
&lt;hr>
&lt;h2 id="penggunaan-yang-cocok">Penggunaan yang Cocok
&lt;/h2>&lt;ul>
&lt;li>&lt;strong>Alat ringan&lt;/strong> seperti peluncur file dan bantuan hotkey&lt;/li>
&lt;li>&lt;strong>Utilitas sistem&lt;/strong> seperti manipulasi clipboard dan kontrol IME&lt;/li>
&lt;li>&lt;strong>Aplikasi kontrol asli&lt;/strong> seperti hook global dan penangkapan jendela&lt;/li>
&lt;li>&lt;strong>Alat bantu driver&lt;/strong> yang terkait erat dengan perangkat keras&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="penggunaan-yang-tidak-cocok">Penggunaan yang Tidak Cocok
&lt;/h2>&lt;ul>
&lt;li>&lt;strong>Aplikasi untuk konsumen umum&lt;/strong> di mana UI / UX modern ditekankan&lt;/li>
&lt;li>&lt;strong>Pembuatan prototipe dan pengembangan MVP&lt;/strong> di mana kecepatan diprioritaskan&lt;/li>
&lt;li>&lt;strong>Proyek skala besar&lt;/strong> yang berpusat pada operasi jangka panjang dan pengembangan tim&lt;/li>
&lt;li>&lt;strong>Produk lintas platform&lt;/strong> yang perlu mendukung banyak OS&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="ringkasan-evaluasi">Ringkasan Evaluasi
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Kriteria&lt;/th>
&lt;th>Evaluasi&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Kecepatan Eksekusi&lt;/td>
&lt;td>◎ Sangat cepat&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Efisiensi Memori&lt;/td>
&lt;td>◎ Sangat baik&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Kecepatan Pengembangan&lt;/td>
&lt;td>× Lambat&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Pemeliharaan&lt;/td>
&lt;td>× Rendah&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Dukungan Lintas Platform&lt;/td>
&lt;td>× Tidak didukung&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Dukungan UI Modern&lt;/td>
&lt;td>× Lemah&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Kebebasan Kontrol OS&lt;/td>
&lt;td>◎ Sangat tinggi&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="kesimpulan">Kesimpulan
&lt;/h2>&lt;p>&lt;strong>Win32API + C++ adalah alat yang cocok untuk pengembang yang &amp;ldquo;ingin menangani semuanya di OS sendiri&amp;rdquo;.&lt;/strong>
Meskipun kekuatannya sangat besar, pembelajaran dan pengoperasian membutuhkan tekad yang sesuai.&lt;/p>
&lt;blockquote>
&lt;p>Apakah &amp;ldquo;pilihan yang disengaja&amp;rdquo; ini sepadan tergantung pada sifat aplikasi yang Anda tuju.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;p>Melompat ke dunia &lt;code>#include &amp;lt;windows.h&amp;gt;&lt;/code> tanpa mengandalkan kerangka kerja GUI atau bahasa modern ――
Pilihan itu masih memiliki arti yang sama seperti sebelumnya.&lt;/p></description></item><item><title>[Untuk Pemula] Langkah-langkah menginstal libcurl (dengan dukungan OpenSSL) di Visual Studio menggunakan vcpkg</title><link>http://kenji.blog/id/p/vcpkg-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6-visual-studio-%E3%81%AB-curl-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/</link><pubDate>Mon, 07 Jul 2025 21:46:08 +0900</pubDate><guid>http://kenji.blog/id/p/vcpkg-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6-visual-studio-%E3%81%AB-curl-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/</guid><description>&lt;img src="http://kenji.blog/p/vcpkg-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6-visual-studio-%E3%81%AB-curl-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/img.png" alt="Featured image of post [Untuk Pemula] Langkah-langkah menginstal libcurl (dengan dukungan OpenSSL) di Visual Studio menggunakan vcpkg" />&lt;h2 id="jika-anda-ingin-menggunakan-libcurl-dengan-dukungan-openssl-di-visual-studio-menggunakan-vcpkg-adalah-cara-yang-mudah-dan-sangat-direkomendasikan">Jika Anda ingin menggunakan libcurl (dengan dukungan OpenSSL) di Visual Studio, menggunakan vcpkg adalah cara yang mudah dan sangat direkomendasikan
&lt;/h2>&lt;p>&lt;code>libcurl&lt;/code> sering digunakan ketika Anda ingin menangani komunikasi HTTP dalam C++. Tetapi menyesuaikan pengaturan build dan dependensi seringkali merepotkan.&lt;/p>
&lt;p>Di saat-saat seperti itulah, alat manajemen pustaka C++ dari Microsoft yaitu ** &amp;ldquo;vcpkg&amp;rdquo; ** sangat berguna.
Kali ini, saya akan memperkenalkan langkah-langkah untuk menggunakan &lt;code>vcpkg&lt;/code> guna menginstal &lt;code>libcurl&lt;/code> (dengan dukungan OpenSSL) sehingga dapat digunakan dengan lancar di Visual Studio.&lt;/p>
&lt;hr>
&lt;h3 id="instalasi-vcpkg-hanya-bagi-yang-belum-menginstalnya">Instalasi vcpkg (Hanya bagi yang belum menginstalnya)
&lt;/h3>&lt;p>Pertama-tama, mari kita instal &lt;code>vcpkg&lt;/code>. Silakan jalankan langkah-langkah berikut di PowerShell.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">git&lt;/span> &lt;span class="n">clone&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="err">:&lt;/span>&lt;span class="p">//&lt;/span>&lt;span class="n">github&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">com&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="n">microsoft&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="n">vcpkg&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd &lt;/span>&lt;span class="n">vcpkg&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">.\&lt;/span>&lt;span class="nb">bootstrap-vcpkg&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">bat&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>※ Jika Git belum terinstal, silakan instal dari &lt;a class="link" href="https://git-scm.com/" target="_blank" rel="noopener"
>Situs resmi Git&lt;/a>.&lt;/p>
&lt;hr>
&lt;h3 id="instalasi-libcurl-dukungan-openssl">Instalasi libcurl (Dukungan OpenSSL)
&lt;/h3>&lt;p>Selanjutnya, kita akan menggunakan vcpkg untuk menginstal &lt;code>libcurl&lt;/code>. Untuk menentukan versi 64-bit yang mendukung OpenSSL, jalankan perintah berikut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">vcpkg&lt;/span> &lt;span class="n">install&lt;/span> &lt;span class="n">curl&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="no">ssl&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="p">-&lt;/span>&lt;span class="n">-triplet&lt;/span> &lt;span class="nb">x64-windows&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Ketika Anda menjalankan perintah ini, dependensi yang diperlukan (seperti OpenSSL) juga akan diatur secara otomatis.&lt;/p>
&lt;hr>
&lt;h3 id="pengaturan-integrasi-visual-studio">Pengaturan Integrasi Visual Studio
&lt;/h3>&lt;p>Agar pustaka yang diinstal dengan vcpkg dapat dengan mudah digunakan dari proyek Visual Studio Anda, lakukan pengaturan integrasi dengan perintah berikut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">vcpkg&lt;/span> &lt;span class="n">integrate&lt;/span> &lt;span class="n">install&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Setelah Anda mengatur ini, Anda akan secara otomatis dapat menggunakan &lt;code>#include &amp;lt;curl/curl.h&amp;gt;&lt;/code> dalam proyek Visual Studio Anda, dan Anda tidak perlu lagi mengatur jalur pustaka atau pengaturan linker secara manual.&lt;/p>
&lt;hr>
&lt;h2 id="penutup">Penutup
&lt;/h2>&lt;p>Sekarang Anda siap untuk menggunakan &lt;code>libcurl&lt;/code> (dengan dukungan OpenSSL) di Visual Studio.&lt;/p>
&lt;ul>
&lt;li>Dengan menggunakan vcpkg, Anda dapat mengelola dependensi yang merepotkan sekaligus&lt;/li>
&lt;li>Instal libcurl dengan mudah menggunakan &lt;code>vcpkg install curl[ssl] --triplet x64-windows&lt;/code>&lt;/li>
&lt;li>Integrasi otomatis dengan Visual Studio menggunakan &lt;code>vcpkg integrate install&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>Setelah itu, masukkan header dalam proyek Anda dan mulailah pengembangan menggunakan API libcurl.
Manfaatkan vcpkg yang nyaman ini untuk secara drastis meningkatkan efisiensi pengembangan Anda.&lt;/p></description></item><item><title>Apa yang Dibutuhkan agar Tidak Terjebak Teori Konspirasi</title><link>http://kenji.blog/id/p/%E9%99%B0%E8%AC%80%E8%AB%96%E3%81%AB%E3%81%AF%E3%81%BE%E3%82%89%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%81%AB%E4%BD%95%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%8B/</link><pubDate>Mon, 26 May 2025 22:23:34 +0900</pubDate><guid>http://kenji.blog/id/p/%E9%99%B0%E8%AC%80%E8%AB%96%E3%81%AB%E3%81%AF%E3%81%BE%E3%82%89%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%81%AB%E4%BD%95%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%8B/</guid><description>&lt;img src="http://kenji.blog/p/%E9%99%B0%E8%AC%80%E8%AB%96%E3%81%AB%E3%81%AF%E3%81%BE%E3%82%89%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%81%AB%E4%BD%95%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%8B/img.png" alt="Featured image of post Apa yang Dibutuhkan agar Tidak Terjebak Teori Konspirasi" />&lt;h2 id="keamanan-mental-yang-dibutuhkan-untuk-menghindari-teori-konspirasi">&amp;ldquo;Keamanan Mental&amp;rdquo; yang Dibutuhkan untuk Menghindari Teori Konspirasi
&lt;/h2>&lt;p>Saat menelusuri internet, kadang kita melihat narasi ala &amp;ldquo;teori konspirasi&amp;rdquo;.&lt;/p>
&lt;p>&amp;ldquo;Apakah ada seseorang yang memanipulasi kejadian ini di balik layar?&amp;rdquo;
&amp;ldquo;Apakah kebenaran yang sesungguhnya disembunyikan?&amp;rdquo;
Banyak dari Anda mungkin pernah melihat klaim semacam itu menyebar dengan cara yang tampak masuk akal.&lt;/p>
&lt;p>Untuk mencegah agar tidak terlalu terseret ke dalam informasi semacam ini, tidak hanya &amp;ldquo;pengetahuan&amp;rdquo; atau &amp;ldquo;kemampuan berpikir&amp;rdquo; yang penting, melainkan juga &lt;strong>keadaan mental&lt;/strong>, yakni menjaga &amp;ldquo;keamanan mental&amp;rdquo;, sangatlah krusial.&lt;/p>
&lt;p>Berikut ini adalah 6 pendekatan yang efektif untuk mencapai hal tersebut.&lt;/p>
&lt;hr>
&lt;h3 id="jangan-segera-mengaitkan-kecemasan-dengan-jawaban">Jangan Segera Mengaitkan Kecemasan dengan &amp;ldquo;Jawaban&amp;rdquo;
&lt;/h3>&lt;p>Ciri utama dari teori konspirasi adalah menawarkan &amp;ldquo;jawaban&amp;rdquo; yang jelas dan mudah dipahami atas kekhawatiran dan keraguan kita.&lt;/p>
&lt;p>Misalnya, pada pertanyaan seperti:&lt;/p>
&lt;ul>
&lt;li>&amp;ldquo;Mengapa insiden seperti ini terjadi?&amp;rdquo;&lt;/li>
&lt;li>&amp;ldquo;Siapa yang diuntungkan?&amp;rdquo;&lt;/li>
&lt;/ul>
&lt;p>Ketika disajikan skenario seperti &amp;ldquo;Sebenarnya, si anu memanipulasi keadaan dari balik layar,&amp;rdquo; kita cenderung mudah setuju.&lt;/p>
&lt;p>Tetapi, justru saat Anda merasa cemas, penting untuk &lt;strong>tidak segera mengambil kesimpulan dan menundanya&lt;/strong>.&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;Kemampuan untuk tetap dalam ketidaktahuan&amp;rdquo; juga merupakan tanda kedewasaan intelektual.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h3 id="sengaja-memperluas-sumber-informasi">Sengaja Memperluas Sumber Informasi
&lt;/h3>&lt;p>Banyak orang yang tenggelam dalam teori konspirasi cenderung hanya melihat &amp;ldquo;informasi dengan pandangan serupa&amp;rdquo; secara eksklusif.&lt;/p>
&lt;p>Ini disebut &amp;ldquo;bias konfirmasi&amp;rdquo;, sebuah penyimpangan psikologis di mana seseorang hanya terpapar pada informasi yang memperkuat keyakinannya yang sudah ada.&lt;/p>
&lt;p>Khususnya, algoritma media sosial dan situs video terus menyajikan unggahan yang mungkin Anda sukai, sehingga wawasan bisa menyempit secara alami.&lt;/p>
&lt;p>Secara sadar, Anda harus:&lt;/p>
&lt;ul>
&lt;li>Melihat media dengan berbagai sudut pandang&lt;/li>
&lt;li>Melihat berita luar negeri dan sumber akademik&lt;/li>
&lt;li>Mendengarkan opini yang berbeda dari pandangan Anda&lt;/li>
&lt;/ul>
&lt;p>Langkah-langkah tersebut untuk &lt;strong>mendiversifikasi sumber informasi&lt;/strong> membantu menghindari risiko.&lt;/p>
&lt;hr>
&lt;h3 id="jangan-berpikir-saya-tidak-akan-tertipu">Jangan Berpikir, &amp;ldquo;Saya Tidak Akan Tertipu&amp;rdquo;
&lt;/h3>&lt;p>Orang-orang dengan pengetahuan luas atau berpikiran logis terkadang justru lebih mudah terseret ke dalam teori konspirasi.&lt;/p>
&lt;p>Keyakinan &amp;ldquo;Saya dapat menyadari kebenaran yang tidak disadari orang lain&amp;rdquo; dapat menjadi faktor yang mengaburkan penilaian.&lt;/p>
&lt;p>Seberapapun kita berhati-hati, manusia bisa melakukan kesalahan. Itulah mengapa &lt;strong>berasumsi bahwa Anda juga bisa tertipu&lt;/strong> adalah sikap yang lebih rasional.&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;Meragukan tanpa langsung memberikan kesimpulan mutlak&amp;rdquo; adalah pertahanan Anda.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h3 id="lihat-strukturnya-jangan-terbawa-cerita">Lihat Strukturnya, Jangan Terbawa Cerita
&lt;/h3>&lt;p>Teori konspirasi selalu disertai dengan &amp;ldquo;cerita dramatis&amp;rdquo;.&lt;/p>
&lt;ul>
&lt;li>Struktur konflik antara kebaikan dan kejahatan&lt;/li>
&lt;li>Penguasa dan yang dikuasai&lt;/li>
&lt;li>Diri yang terbangun vs orang lain yang dicuci otaknya&lt;/li>
&lt;/ul>
&lt;p>Oposisi biner sederhana semacam itu, meskipun menarik sebagai cerita, tidak selalu mencerminkan kenyataan dengan benar.&lt;/p>
&lt;p>Peristiwa dunia nyata dan gerakan sosial melibatkan banyak elemen yang saling berkaitan, seperti hubungan sebab-akibat yang kompleks, konteks historis, dan struktur institusional.&lt;/p>
&lt;p>Penting untuk tidak terbawa emosi cerita dan memiliki &lt;strong>pemahaman struktural&lt;/strong> mengenai &amp;ldquo;mengapa hal ini terjadi?&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h3 id="jangan-biarkan-rasa-kesepian">Jangan Biarkan Rasa Kesepian
&lt;/h3>&lt;p>Di balik ketertarikan yang kuat pada teori konspirasi, mungkin ada &amp;ldquo;isolasi&amp;rdquo; atau &amp;ldquo;ketiadaan tempat bernaung&amp;rdquo; yang tersembunyi.&lt;/p>
&lt;p>Ketika orang merasa kesepian, mereka cenderung sangat bergantung pada orang atau kelompok yang memahami mereka. Komunitas konspirasi terkadang mengambil alih fungsi &amp;ldquo;tempat bernaung&amp;rdquo; ini.&lt;/p>
&lt;p>Itulah mengapa upaya untuk tidak merasa kesepian juga berkontribusi pada keamanan mental Anda.&lt;/p>
&lt;p>Misalnya:&lt;/p>
&lt;ul>
&lt;li>Berbicara dengan orang-orang secara teratur&lt;/li>
&lt;li>Bergabung dengan komunitas yang memiliki hobi dan minat yang sama&lt;/li>
&lt;li>Mempertahankan koneksi tidak hanya secara daring tetapi juga luring&lt;/li>
&lt;/ul>
&lt;p>Tindakan-tindakan semacam ini mengarah pada stabilitas mental.&lt;/p>
&lt;hr>
&lt;h3 id="fokus-pada-dialog-bukan-penolakan">Fokus pada Dialog, Bukan Penolakan
&lt;/h3>&lt;p>Sekalipun seseorang di dekat Anda cenderung mempercayai teori konspirasi, &lt;strong>penolakan secara mentah-mentah bisa menjadi bumerang&lt;/strong>.&lt;/p>
&lt;p>Ketika keyakinan seseorang ditolak, secara psikologis kecenderungan untuk mempertahankannya semakin kuat (ini disebut &amp;ldquo;kognisi defensif&amp;rdquo;).&lt;/p>
&lt;p>Alih-alih demikian:&lt;/p>
&lt;ul>
&lt;li>Tanyakan dengan lembut, &amp;ldquo;Mengapa kamu berpikir begitu?&amp;rdquo;&lt;/li>
&lt;li>Tunjukkan perspektif Anda dengan tenang dengan berkata, &amp;ldquo;Mungkin ada cara berpikir seperti ini juga&amp;rdquo;&lt;/li>
&lt;/ul>
&lt;p>Dengan mengambil &lt;strong>pendekatan dialogis&lt;/strong> semacam itu, muncul kemungkinan bahwa perspektif lawan bicara akan meluas secara alami.&lt;/p>
&lt;hr>
&lt;h2 id="kesimpulan-apa-yang-dapat-anda-lakukan-untuk-menjauh-dari-teori-konspirasi">Kesimpulan: Apa yang Dapat Anda Lakukan untuk Menjauh dari Teori Konspirasi
&lt;/h2>&lt;ul>
&lt;li>Memiliki kemampuan untuk menunda dan tidak segera mengaitkan kecemasan dengan jawaban&lt;/li>
&lt;li>Mendiversifikasi sumber informasi dan menyadari adanya bias&lt;/li>
&lt;li>Menyadari bahwa penilaian Anda tidaklah mutlak&lt;/li>
&lt;li>Melihat segala sesuatu melalui struktur dan hubungan sebab-akibat, bukan cerita&lt;/li>
&lt;li>Menghindari kesepian dan mempertahankan koneksi&lt;/li>
&lt;li>Menghadapi teori konspirasi orang lain dengan dialog alih-alih penolakan&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>Dikatakan bahwa apakah seseorang tertarik pada teori konspirasi lebih banyak dipengaruhi oleh keadaan psikologis dan lingkungannya daripada tingkat pengetahuannya.&lt;/p>
&lt;p>Itulah mengapa, tanpa berasumsi &amp;ldquo;Saya baik-baik saja&amp;rdquo;, mengambil &lt;strong>langkah-langkah kecil untuk meningkatkan keamanan mental&lt;/strong> dalam kehidupan sehari-hari akan menjadi dukungan besar untuk hidup secara fleksibel di masyarakat informasi masa depan.&lt;/p></description></item><item><title>Sejarah No-Code di Lingkungan Lokal</title><link>http://kenji.blog/id/p/sejarah-low-code-dan-no-code/</link><pubDate>Sat, 26 Apr 2025 16:46:11 +0900</pubDate><guid>http://kenji.blog/id/p/sejarah-low-code-dan-no-code/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%AD%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%8A%E3%82%88%E3%81%B3%E3%83%8E%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E6%AD%B4%E5%8F%B2/img.png" alt="Featured image of post Sejarah No-Code di Lingkungan Lokal" />&lt;h1 id="sejarah-pengembangan-low-code--no-code-1980-an-hingga-sekarang">Sejarah Pengembangan Low-Code / No-Code (1980-an hingga Sekarang)
&lt;/h1>&lt;p>Pengembangan Low-code / No-code adalah metode pengembangan yang memungkinkan Anda membuat aplikasi, situs web, dan basis data tanpa memerlukan keahlian khusus dalam pemrograman. Konsep ini dimulai pada 1980-an dan telah berkembang sebagai berbagai platform seiring dengan penyebaran PC, evolusi internet, dan perluasan teknologi cloud. Dalam artikel ini, kami akan menyoroti alat dan layanan representatif per dekade, serta memperkenalkan fitur dan harganya.&lt;/p>
&lt;hr>
&lt;h2 id="1980-an-masa-awal">1980-an: Masa Awal
&lt;/h2>&lt;ul>
&lt;li>
&lt;p>&lt;strong>HyperCard (Apple, 1987)&lt;/strong>
Alat pembuatan aplikasi untuk Macintosh. Menyusun layar dalam bentuk kartu dan membuat GUI melalui drag-and-drop. Kontrol operasi sederhana juga dimungkinkan menggunakan bahasa skrip aslinya &amp;ldquo;HyperTalk&amp;rdquo;. Alat ini populer untuk tujuan pembuatan prototipe. Harga rilis adalah $49,95, dan kemudian diberikan secara gratis untuk pembeli Mac baru. Versi terakhir dirilis pada tahun 1998, dan tidak ada dukungan untuk Mac OS X dan yang lebih baru.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>FileMaker (Claris/Apple, 1985)&lt;/strong>
Perangkat lunak basis data grafis. Alat basis data relasional yang dilengkapi tampilan data tabular, serta pengeditan tata letak bebas dan fungsi skrip. Saat ini ditawarkan sebagai &amp;ldquo;Claris FileMaker Pro&amp;rdquo;, dan versi lisensi penuh seharga $594 (per 2024).&lt;/p>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="1990-an-munculnya-aplikasi-gui-dan-pengembangan-sistem-bisnis">1990-an: Munculnya Aplikasi GUI dan Pengembangan Sistem Bisnis
&lt;/h2>&lt;ul>
&lt;li>
&lt;p>&lt;strong>Visual Basic (Microsoft, 1991)&lt;/strong>
IDE (Integrated Development Environment) yang dikhususkan untuk pengembangan aplikasi Windows. Aplikasi berbasis peristiwa dapat dibangun dengan mudah dengan melakukan drag-and-drop komponen GUI seperti tombol dan label. Dengan rilisnya VB6.0 pada tahun 1998, ia bertransisi ke era .NET.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Microsoft Access (1992)&lt;/strong>
Alat pengembangan basis data untuk Windows. Memungkinkan desain basis data relasional dan pembuatan formulir melalui GUI, dan secara luas digunakan untuk pengembangan aplikasi bisnis umum. Saat ini ditawarkan sebagai bagian dari Microsoft 365.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>PowerBuilder (PowerSoft/Sybase, 1991)&lt;/strong>
Alat pengembangan 4GL untuk aplikasi bisnis. Mendukung arsitektur klien/server dan memiliki keunggulan dalam integrasi basis data. Saat ini terus ditawarkan di bawah naungan SAP.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Dreamweaver (Macromedia, 1997)&lt;/strong>
Alat WYSIWYG yang memungkinkan pembuatan halaman web secara visual. Memungkinkan peralihan antara pengeditan HTML dan tampilan desain, serta mendukung ASP dan PHP. Saat ini ditawarkan oleh Adobe dan tersedia melalui langganan (sekitar $34,49 per bulan).&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Flash (Macromedia, 1996)&lt;/strong>
Awalnya adalah alat pembuatan animasi vektor yang dikembangkan sebagai FutureSplash Animator. Kemudian dimanfaatkan untuk pembuatan konten interaktif web, namun dukungannya dihentikan pada tahun 2020 karena masalah keamanan.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>GameMaker (1999)&lt;/strong>
Alat pembuatan game 2D untuk pemula. Penempatan objek dan kontrol peristiwa dimungkinkan melalui drag-and-drop. Kemudian juga mendukung skrip (GML), dan saat ini berbagai paket ditawarkan untuk komersial.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="2000-an-perluasan-berbasis-web-dan-open-source">2000-an: Perluasan Berbasis Web dan Open Source
&lt;/h2>&lt;ul>
&lt;li>
&lt;p>&lt;strong>WordPress (2003)&lt;/strong>
CMS open source yang menggunakan PHP dan MySQL. Memungkinkan Anda membangun blog atau situs web perusahaan menggunakan tema dan plugin tanpa pengetahuan pemrograman. Didistribusikan secara gratis dan merupakan salah satu CMS yang paling banyak digunakan di dunia.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Wix (2006)&lt;/strong>
Layanan no-code yang memungkinkan Anda membangun situs web di browser. Anda dapat memilih template dan mengeditnya dengan drag-and-drop. Selain paket gratis, paket berbayar memungkinkan penggunaan domain kustom dan fitur e-commerce.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>OutSystems (2001)&lt;/strong>
Platform low-code untuk perusahaan (enterprise). Karena sistem bisnis dapat dikembangkan dengan cepat, adopsinya semakin maju di perusahaan besar dan lembaga pemerintah. Mendukung cloud maupun on-premise.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Scratch (MIT, 2007)&lt;/strong>
Alat pembelajaran pemrograman yang dikembangkan untuk anak-anak. Permainan dan animasi dapat dibuat dengan menggabungkan balok berwarna, dan secara luas digunakan dalam lingkungan pendidikan. Disediakan secara gratis.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Airtable (2013)&lt;/strong>
Layanan berbasis cloud yang menggabungkan spreadsheet dan basis data. Terlihat mirip dengan Excel tetapi memungkinkan relasi, tampilan kanban, integrasi API, dll. Secara luas digunakan mulai dari individu hingga perusahaan.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="2010-an--2020-an-era-cloud-dan-otomatisasi">2010-an ~ 2020-an: Era Cloud dan Otomatisasi
&lt;/h2>&lt;p>Dalam beberapa tahun terakhir, alat low-code / no-code berbasis cloud telah berkembang pesat.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Power Platform (Microsoft)&lt;/strong>
Platform pengembangan dan otomatisasi aplikasi bisnis terintegrasi yang mencakup &amp;ldquo;Power Apps&amp;rdquo;, &amp;ldquo;Power Automate&amp;rdquo;, dll. Memungkinkan Anda membangun proses bisnis perusahaan secara visual melalui drag-and-drop.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Salesforce Lightning Platform&lt;/strong>
Platform pengembangan aplikasi yang disediakan oleh Salesforce, sebuah CRM. Memungkinkan pembuatan aplikasi bisnis melalui GUI, dan integrasi dengan layanan Salesforce lainnya juga mudah.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Zapier / IFTTT&lt;/strong>
Alat otomatisasi yang memungkinkan Anda membangun integrasi antar beberapa layanan cloud tanpa pengkodean (coding). Misalnya, alur kerja seperti &amp;ldquo;Beri tahu Slack saat ada input masuk di Google Forms&amp;rdquo; dapat diwujudkan dengan mudah.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Notion (2010-an)&lt;/strong>
Ruang kerja all-in-one yang mengintegrasikan manajemen dokumen, manajemen tugas, Wiki, dll. Juga dilengkapi dengan fitur basis data kustom, yang berguna untuk peningkatan proses bisnis tanpa kode.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Construct 3 / GameSalad&lt;/strong>
Alat yang memungkinkan Anda membuat game dengan drag-and-drop. Construct 3 mendukung HTML5 dan dapat berjalan di browser, sehingga populer di dunia pendidikan dan di kalangan pengembang indie.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="sumber-informasi-dan-catatan-tambahan">Sumber Informasi dan Catatan Tambahan
&lt;/h2>&lt;p>Artikel ini disusun berdasarkan situs web resmi dari masing-masing produk, Wikipedia, dan materi/artikel yang dapat diandalkan (seperti Apple, Microsoft, Adobe, dll). Informasi harga mengacu pada harga resmi pada saat itu atau yang terbaru sebisa mungkin (sebagian besar dicantumkan dalam Dolar AS). Sebagian besar alat sejak tahun 2000-an menggunakan model berlangganan, dan tarifnya bervariasi bergantung pada paketnya.&lt;/p></description></item><item><title>FizzBuzz</title><link>http://kenji.blog/id/p/fizzbuzz/</link><pubDate>Fri, 18 Apr 2025 00:58:11 +0900</pubDate><guid>http://kenji.blog/id/p/fizzbuzz/</guid><description>&lt;img src="http://kenji.blog/p/fizzbuzz/img.png" alt="Featured image of post FizzBuzz" />&lt;h2 id="sebenarnya-apa-itu-fizzbuzz">Sebenarnya, apa itu FizzBuzz?
&lt;/h2>&lt;p>Halo semuanya!&lt;/p>
&lt;p>Hari ini, saya ingin menulis tentang &amp;ldquo;FizzBuzz&amp;rdquo;.&lt;/p>
&lt;p>Baik Anda seseorang yang berkata, &amp;ldquo;Ah, saya tahu itu!&amp;rdquo;, atau seseorang yang berkata, &amp;ldquo;Saya pernah mendengarnya, tapi tidak terlalu mengerti,&amp;rdquo; tolong luangkan waktu sebentar bersama saya. Anda dapat membacanya hanya dalam beberapa menit, dan mungkin Anda akan berpikir, &amp;ldquo;Oh, begitu rupanya.&amp;rdquo;&lt;/p>
&lt;hr>
&lt;h3 id="benarkah-anda-bukan-programmer-jika-tidak-bisa-menulis-fizzbuzz">Benarkah &amp;ldquo;Anda bukan programmer jika tidak bisa menulis FizzBuzz&amp;rdquo;?
&lt;/h3>&lt;p>Secara garis besar, FizzBuzz itu seperti ini.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;span class="lnt">9
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">101&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">15&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;FizzBuzz&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">elif&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">3&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Fizz&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">elif&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">5&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Buzz&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">else&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Ya, ini adalah &amp;ldquo;masalah FizzBuzz&amp;rdquo; yang terkenal itu.&lt;/p>
&lt;p>Anda melihat angka dari 1 hingga 100 secara berurutan,&lt;br>
jika kelipatan 3 maka cetak &amp;ldquo;Fizz&amp;rdquo;, jika kelipatan 5 maka cetak &amp;ldquo;Buzz&amp;rdquo;,&lt;br>
dan jika kelipatan keduanya, cetak &amp;ldquo;FizzBuzz&amp;rdquo;. Sangat sederhana.&lt;/p>
&lt;p>Namun, entah mengapa, ini sering kali dianggap sebagai &amp;ldquo;ujian standar minimum untuk programmer.&amp;rdquo; Ini sering muncul dalam wawancara, dan terkadang ada komentar merendahkan di media sosial seperti, &amp;ldquo;Orang yang bahkan tidak bisa menulis FizzBuzz&amp;hellip;&amp;rdquo;&lt;/p>
&lt;p>Tapi tunggu sebentar.&lt;/p>
&lt;p>Bisakah kita benar-benar mengatakan bahwa &amp;ldquo;tidak bisa menulis FizzBuzz = tidak bisa memprogram&amp;rdquo;?&lt;/p>
&lt;hr>
&lt;h3 id="ini-bukan-tentang-apakah-anda-bisa-melakukannya-tetapi-apakah-anda-memiliki-kondisi-untuk-melakukannya">Ini bukan tentang apakah Anda bisa melakukannya, tetapi apakah Anda memiliki &amp;ldquo;kondisi&amp;rdquo; untuk melakukannya
&lt;/h3>&lt;p>Tentu saja, FizzBuzz membutuhkan pemahaman tentang sintaksis dan pemikiran logis dasar. Jadi, masuk akal untuk menggunakannya untuk &amp;ldquo;memeriksa dasar-dasar.&amp;rdquo;&lt;/p>
&lt;p>Tapi dengarkan.&lt;/p>
&lt;p>Jika lingkungannya berbeda, hasilnya juga akan berbeda.&lt;/p>
&lt;p>Misalnya,&lt;/p>
&lt;ul>
&lt;li>Ketika Anda merasa gugup di depan pewawancara yang baru pertama kali Anda temui&lt;/li>
&lt;li>Ketika Anda tiba-tiba diberi papan tulis dan tidak ada editor kode di tangan&lt;/li>
&lt;li>Ketika Anda tiba-tiba tidak bisa mengingat, &amp;ldquo;Tunggu, apa itu modulo lagi?&amp;rdquo;&lt;/li>
&lt;/ul>
&lt;p>&amp;hellip; Bukankah hal-hal seperti itu terjadi? Bagaimanapun, kita adalah manusia. Saya rasa itu wajar terjadi.&lt;/p>
&lt;p>Jadi, daripada &amp;ldquo;apakah Anda bisa menulis FizzBuzz,&amp;rdquo; saya pikir yang lebih penting adalah &amp;ldquo;apakah Anda bisa membawa diri Anda ke dalam kondisi di mana Anda bisa menulis FizzBuzz.&amp;rdquo;&lt;/p>
&lt;hr>
&lt;h3 id="jebakan-dari-saran-umum-teruslah-berlatih-dan-anda-akan-baik-baik-saja">Jebakan dari saran umum &amp;ldquo;Teruslah berlatih dan Anda akan baik-baik saja&amp;rdquo;
&lt;/h3>&lt;p>Ketika berbicara tentang topik ini, saran &amp;ldquo;Makanya berlatihlah setiap hari!&amp;rdquo; sering kali muncul.&lt;/p>
&lt;p>Tentu saja, benar bahwa latihan berulang kali akan memungkinkan Anda menulis dengan lancar, dan itu sendiri adalah hal yang baik. Namun, jika Anda mulai dengan asumsi bahwa &amp;ldquo;Anda gagal jika tidak bisa menulis FizzBuzz,&amp;rdquo; itu hanya akan berubah menjadi ketakutan.&lt;/p>
&lt;p>Dengan kata lain, mudah untuk jatuh ke dalam pola pikir di mana Anda merasa, &amp;ldquo;Saya melakukan kesalahan = saya tidak berguna.&amp;rdquo;&lt;/p>
&lt;p>Misalnya, pada hari-hari ketika Anda bangun kesiangan, bukankah Anda cenderung berpikir, &amp;ldquo;Saya malas sekali&amp;hellip;&amp;rdquo;? Tapi mungkin tubuh Anda kebetulan sedang sangat lelah.&lt;/p>
&lt;p>Hal yang sama berlaku untuk FizzBuzz.&lt;/p>
&lt;hr>
&lt;h3 id="meski-begitu-fizzbuzz-tetaplah-pertanyaan-yang-sangat-bagus">Meski begitu, FizzBuzz tetaplah pertanyaan yang sangat bagus
&lt;/h3>&lt;p>Meskipun demikian, FizzBuzz bukanlah hal yang buruk.&lt;/p>
&lt;p>Sebaliknya, saya pikir ini adalah pertanyaan yang disusun dengan sangat baik. Aturannya sederhana, dan mudah untuk dikembangkan. Misalnya, jika Anda mengubahnya seperti ini, pemikiran Anda akan menjadi lebih dalam.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">101&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">output&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">3&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">output&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="s2">&amp;#34;Fizz&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">5&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">output&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="s2">&amp;#34;Buzz&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">output&lt;/span> &lt;span class="ow">or&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Ini adalah contoh yang menunjukkan bahwa &amp;ldquo;Anda bisa menulisnya tanpa if-elif-else.&amp;rdquo; Cukup cerdik, bukan?&lt;/p>
&lt;p>Dengan kata lain, FizzBuzz bukan hanya tentang &amp;ldquo;apakah Anda bisa melakukannya,&amp;rdquo; tetapi juga bisa menjadi titik masuk untuk melihat &amp;ldquo;bagaimana Anda menulisnya&amp;rdquo; dan &amp;ldquo;seberapa jauh Anda memahaminya.&amp;rdquo;&lt;/p>
&lt;hr>
&lt;h3 id="kesimpulan">Kesimpulan
&lt;/h3>&lt;p>Saya rasa kita tidak perlu memberi makna berlebihan pada apakah seseorang bisa menyelesaikan FizzBuzz atau tidak.&lt;/p>
&lt;p>Bahkan jika Anda tidak bisa menulisnya, itu mungkin hanya berarti bahwa &amp;ldquo;saat itu kondisi Anda sedang kurang baik,&amp;rdquo; dan Anda sering kali bisa melakukannya jika memikirkannya baik-baik nanti.&lt;/p>
&lt;p>Jangan terburu-buru, mari kita jalani pelan-pelan.&lt;/p>
&lt;p>Kode ditulis oleh manusia. Karena kita manusia, terkadang kita melupakan sesuatu, dan terkadang kita merasa gugup. Saya pikir cukup untuk menerima hal itu dan bergerak maju sedikit demi sedikit.&lt;/p>
&lt;p>Baiklah, mari bersantai dan menulis beberapa kode hari ini.&lt;/p></description></item><item><title>Menara Hanoi</title><link>http://kenji.blog/id/p/menara-hanoi/</link><pubDate>Thu, 17 Apr 2025 22:23:14 +0900</pubDate><guid>http://kenji.blog/id/p/menara-hanoi/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%8F%E3%83%8E%E3%82%A4%E3%81%AE%E5%A1%94/img.png" alt="Featured image of post Menara Hanoi" />&lt;h1 id="menara-hanoi">Menara Hanoi
&lt;/h1>&lt;p>Halo!&lt;/p>
&lt;p>Hari ini saya akan membahas tentang &amp;ldquo;Menara Hanoi&amp;rdquo;, lengkap dengan contoh program menggunakan Python.&lt;/p>
&lt;hr>
&lt;h2 id="apa-itu-menara-hanoi">Apa itu Menara Hanoi?
&lt;/h2>&lt;p>Menara Hanoi adalah teka-teki yang menggunakan tiga tiang dan beberapa cakram. Cakram-cakram ini memiliki ukuran yang berbeda-beda, dan pada awalnya ditumpuk di satu tiang dari yang terbesar hingga terkecil. Aturannya adalah sebagai berikut:&lt;/p>
&lt;ol>
&lt;li>Hanya satu cakram yang boleh dipindahkan dalam satu waktu.&lt;/li>
&lt;li>Cakram yang lebih besar tidak boleh diletakkan di atas cakram yang lebih kecil.&lt;/li>
&lt;/ol>
&lt;p>Teka-teki ini dianggap sebagai materi yang bagus untuk mempelajari pemikiran rekursif. Rekursi adalah metode pemecahan masalah dengan memecah suatu masalah menjadi masalah serupa yang lebih kecil. Dalam Menara Hanoi, untuk memindahkan n cakram, kita mengulangi operasi memindahkan n-1 cakram.&lt;/p>
&lt;hr>
&lt;h2 id="mari-kita-selesaikan-menara-hanoi-dengan-python">Mari Kita Selesaikan Menara Hanoi dengan Python
&lt;/h2>&lt;p>Berikut adalah contoh kode Python untuk memecahkan masalah Menara Hanoi.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">hanoi&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">source&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">target&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">auxiliary&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">n&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;Move disk 1 from &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">source&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> to &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">target&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">hanoi&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">source&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">auxiliary&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">target&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;Move disk &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> from &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">source&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> to &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">target&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">hanoi&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">auxiliary&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">target&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">source&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Contoh: Memindahkan 3 cakram dari A ke C&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">hanoi&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;A&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;C&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;B&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Dalam kode ini, fungsi &lt;code>hanoi&lt;/code> dipanggil secara rekursif, dan langkah-langkah untuk memindahkan cakram ditampilkan. Sebagai contoh, untuk 3 cakram, output yang dihasilkan adalah sebagai berikut:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Move disk 1 from A to C
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Move disk 2 from A to B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Move disk 1 from C to B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Move disk 3 from A to C
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Move disk 1 from B to A
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Move disk 2 from B to C
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Move disk 1 from A to C
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Dengan menggunakan pendekatan rekursif seperti ini, bahkan masalah kompleks pun dapat diselesaikan secara sederhana.&lt;/p>
&lt;hr>
&lt;h2 id="berapa-lama-waktu-yang-dibutuhkan-untuk-memindahkan-64-cakram">Berapa Lama Waktu yang Dibutuhkan untuk Memindahkan 64 Cakram?
&lt;/h2>&lt;p>Jumlah pemindahan minimal dalam Menara Hanoi adalah 2^n - 1 kali. Artinya, untuk memindahkan 64 cakram, diperlukan 2^64 - 1 atau sekitar 1,84×10^19 kali perpindahan. Meskipun kita dapat memindahkannya 1 kali per detik, waktu yang dibutuhkan adalah sekitar 584 miliar tahun. Angka ini sekitar 42 kali lipat umur alam semesta (sekitar 13,7 miliar tahun).&lt;/p>
&lt;p>Dengan demikian, saat jumlah cakram bertambah, jumlah pergerakan yang dibutuhkan akan meningkat secara eksponensial. Oleh karena itu, memindahkan 64 cakram di dunia nyata adalah hal yang tidak realistis.&lt;/p>
&lt;hr>
&lt;h2 id="kesimpulan">Kesimpulan
&lt;/h2>&lt;p>Menara Hanoi adalah teka-teki yang sangat baik untuk melatih pemikiran rekursif. Dengan menggunakan Python, kita dapat dengan mudah mengimplementasikan solusinya. Namun, perlu diperhatikan bahwa jumlah pemindahan meningkat secara drastis saat jumlah cakram bertambah.&lt;/p>
&lt;p>Dengan memahami pendekatan rekursif dan mencoba menulis kodenya secara langsung, Anda dapat meningkatkan keterampilan pemrograman. Jangan ragu untuk mencoba memecahkan masalah Menara Hanoi!&lt;/p>
&lt;hr></description></item><item><title>Jumlah Baris Kode Sumber</title><link>http://kenji.blog/id/p/%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E8%A1%8C%E6%95%B0/</link><pubDate>Thu, 17 Apr 2025 10:33:02 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E8%A1%8C%E6%95%B0/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E8%A1%8C%E6%95%B0/img_1.png" alt="Featured image of post Jumlah Baris Kode Sumber" />&lt;h1 id="jumlah-baris-kode-sumber">Jumlah Baris Kode Sumber
&lt;/h1>&lt;p>Halo!&lt;/p>
&lt;p>Hari ini saya ingin berbicara tentang tema yang sedikit berbeda.&lt;/p>
&lt;p>Ini tentang, &amp;ldquo;Seberapa banyak jumlah baris kode sumber meningkat dibandingkan dengan masa lalu?&amp;rdquo;&lt;/p>
&lt;p>Misalnya, perangkat lunak pesawat ulang-alik (Space Shuttle) terdiri dari sekitar 420.000 baris kode. Kode ini dikembangkan melalui proses yang sangat ketat untuk memenuhi standar kualitas NASA yang tinggi. Di sisi lain, dalam proyek perangkat lunak berskala besar modern, tidak jarang jumlah baris kode melebihi puluhan juta baris. Sebagai contoh, basis kode Google dikatakan mencapai sekitar 2 miliar baris.&lt;/p>
&lt;p>Dengan cara ini, skala perangkat lunak telah berkembang seiring berjalannya waktu.&lt;/p>
&lt;p>Tapi, tunggu sebentar.&lt;/p>
&lt;p>Peningkatan jumlah baris kode tidak selalu merupakan hal yang buruk. Adalah hal yang wajar jika kode bertambah untuk menambahkan fitur baru atau memenuhi kebutuhan pengguna. Namun, seiring bertambahnya kode, risiko bug juga meningkat. Faktanya, sebuah penelitian menunjukkan bahwa ketika sebuah proyek open-source melampaui 1 juta baris, tingkat kemunculan bug cenderung meningkat.&lt;/p>
&lt;p>Meskipun demikian, tidak semua proyek menambah jumlah kodenya dengan cara yang sama.&lt;/p>
&lt;p>Sebagai contoh, kernel Linux memiliki sekitar 200.000 baris pada versi 1.0 tahun 1994, tetapi meningkat menjadi sekitar 20 juta baris pada versi 4.2 tahun 2015. Peningkatan ini adalah respons terhadap evolusi perangkat keras dan penambahan fitur baru.&lt;/p>
&lt;p>Oleh karena itu, jumlah baris kode sumber sangat bervariasi tergantung pada skala dan tujuan proyek, serta konteks sejarahnya.&lt;/p>
&lt;p>Peningkatan jumlah baris kode itu sendiri bukanlah suatu masalah, tetapi manajemen yang tepat diperlukan untuk menjaga kualitas dan pemeliharaannya. Penting untuk memahami risiko yang terkait dengan peningkatan kode dan mengambil langkah-langkah yang tepat.&lt;/p>
&lt;p>Terakhir, saya pikir penting untuk fokus pada tujuan dan kualitas proyek daripada terlalu terpaku pada jumlah baris kode.&lt;/p>
&lt;p>Sampai jumpa lagi!&lt;/p></description></item><item><title>Prinsip Kerckhoffs</title><link>http://kenji.blog/id/p/prinsip-kerckhoffs/</link><pubDate>Wed, 16 Apr 2025 23:53:08 +0900</pubDate><guid>http://kenji.blog/id/p/prinsip-kerckhoffs/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%B1%E3%83%AB%E3%82%AF%E3%83%9B%E3%83%95%E3%82%B9%E3%81%AE%E5%8E%9F%E7%90%86/img_2.png" alt="Featured image of post Prinsip Kerckhoffs" />&lt;h1 id="prinsip-kerckhoffs">Prinsip Kerckhoffs
&lt;/h1>&lt;hr>
&lt;p>Halo!&lt;/p>
&lt;p>Hari ini saya ingin membicarakan tentang sesuatu yang cukup menarik dan sebenarnya sangat penting, yaitu &amp;ldquo;Prinsip Kerckhoffs&amp;rdquo;.&lt;/p>
&lt;p>Oh, tunggu sebentar.&lt;br>
Mungkin ada di antara Anda yang berpikir, &amp;ldquo;Saya belum pernah mendengar tentang &amp;lsquo;Prinsip Kerckhoffs&amp;rsquo; dan kedengarannya terlalu rumit&amp;hellip;&amp;rdquo; Tenang saja. Artikel ini justru ditujukan untuk Anda yang merasa demikian.&lt;/p>
&lt;hr>
&lt;h2 id="apa-maksud-dari-kriptografi-yang-aman">Apa maksud dari &amp;ldquo;Kriptografi yang Aman&amp;rdquo;?
&lt;/h2>&lt;p>Misalnya, seseorang mendatangi Anda dan berkata, &amp;ldquo;Brankas ini hanya bisa dibuka oleh orang yang mengetahui rahasianya.&amp;rdquo;&lt;/p>
&lt;p>Sekilas, itu terdengar sangat aman, bukan?&lt;br>
Namun, jika dipikir-pikir lagi, bukankah itu sedikit mengkhawatirkan?&lt;/p>
&lt;p>Seperti, &amp;ldquo;Jika rahasia itu terungkap, habislah sudah, kan?&amp;rdquo;&lt;/p>
&lt;p>Sebenarnya, inilah alasan mengapa Prinsip Kerckhoffs diperkenalkan.&lt;/p>
&lt;hr>
&lt;h2 id="apa-itu-sebenarnya-prinsip-kerckhoffs">Apa itu sebenarnya &amp;ldquo;Prinsip Kerckhoffs&amp;rdquo;?
&lt;/h2>&lt;p>Secara singkat, ini adalah:&lt;/p>
&lt;p>Pemikiran bahwa &lt;strong>&amp;ldquo;Kriptografi harus tetap aman meskipun mekanismenya terungkap&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Lebih tepatnya, &amp;ldquo;Keamanan hanya boleh bergantung pada &amp;lsquo;kunci rahasia&amp;rsquo;, dan tidak masalah jika metode enkripsi itu sendiri dipublikasikan!&amp;rdquo;&lt;/p>
&lt;p>Sebaliknya, &amp;ldquo;Sistem yang hanya mengandalkan kerahasiaan algoritma (mekanisme) enkripsinya dianggap memiliki keandalan yang rendah.&amp;rdquo;&lt;/p>
&lt;hr>
&lt;h2 id="aman-asalkan-mekanismenya-rahasia-mungkin-sedikit-berbahaya">&amp;ldquo;Aman asalkan mekanismenya rahasia&amp;rdquo; mungkin sedikit berbahaya
&lt;/h2>&lt;p>Cara berpikir seperti ini sangat umum:&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;Saya tidak menunjukkan isi aplikasi ini kepada siapa pun, jadi keamanannya terjamin.&amp;rdquo;&lt;/p>
&lt;/blockquote>
&lt;p>Saya mengerti perasaan itu.&lt;br>
Tetapi, itu sama saja dengan mengatakan, &amp;ldquo;Karena tidak ada yang melihatnya, tidak ada celah yang ditemukan, jadi pasti aman, kan?&amp;rdquo;&lt;/p>
&lt;p>Pada kenyataannya, fakta bahwa &amp;ldquo;tidak ada yang melihat&amp;rdquo; itu sendiri bisa menjadi sebuah risiko.&lt;/p>
&lt;hr>
&lt;h2 id="tetapi-mengapa-prinsip-seperti-itu-penting">Tetapi, mengapa prinsip seperti itu penting?
&lt;/h2>&lt;p>Alasannya adalah, jika seseorang mendapatkan mekanismenya dan dapat memecahkannya dengan mudah, maka kriptografi tersebut gagal.&lt;/p>
&lt;p>Sebagai analogi, bayangkan sebuah kunci pintu yang memiliki mekanisme yang sangat rumit, tetapi sebenarnya bisa dibuka dengan kunci duplikat yang dibuat di toko murah.&lt;/p>
&lt;p>Bukan &amp;ldquo;Aman karena kuncinya rahasia&amp;rdquo;, tetapi yang penting adalah &amp;ldquo;Bahkan jika seluruh mekanismenya diperlihatkan, tidak akan bisa dibuka tanpa kunci yang tepat.&amp;rdquo;&lt;/p>
&lt;hr>
&lt;h2 id="perasaan-tapi-bukankah-itu-menakutkan">Perasaan &amp;ldquo;Tapi, bukankah itu menakutkan?&amp;rdquo;
&lt;/h2>&lt;p>Hal yang dirasakan oleh banyak orang di sini adalah,&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;Mengekspos seluruh mekanisme, bukankah itu agak menakutkan?&amp;rdquo;&lt;/p>
&lt;/blockquote>
&lt;p>Saya mengerti kecemasan tersebut.&lt;/p>
&lt;p>Karena Anda pasti akan berpikir, &amp;ldquo;Jika saya menunjukkan semuanya, bukankah itu akan ditiru atau disalahgunakan?&amp;rdquo;&lt;/p>
&lt;p>Namun, justru di situlah letak inti dari Prinsip Kerckhoffs.&lt;br>
&amp;ldquo;Kekuatan yang tidak hancur meskipun isinya diperlihatkan&amp;rdquo; itulah keamanan yang sesungguhnya.&lt;/p>
&lt;hr>
&lt;h2 id="meskipun-begitu-butuh-sedikit-keberanian-pada-awalnya">Meskipun begitu, butuh sedikit keberanian pada awalnya
&lt;/h2>&lt;p>Jika mencoba menempatkan diri sebagai pengembang, &amp;ldquo;Mempublikasikan mekanisme = kelemahan juga terlihat&amp;rdquo;, tentu saja itu mendebarkan.&lt;/p>
&lt;p>Tapi coba pikirkan.&lt;/p>
&lt;p>Sesuatu yang secara terbuka menunjukkan mekanismenya dan mengatakan, &amp;ldquo;Siapa pun boleh memverifikasinya,&amp;rdquo; pada akhirnya akan lebih dipercaya.&lt;/p>
&lt;p>Itu mirip dengan hubungan antar manusia, bukan?&lt;/p>
&lt;p>&amp;ldquo;Seseorang yang menunjukkan jati dirinya dan tetap berteman dengan baik&amp;rdquo;, tentu saja adalah yang paling bisa membuat kita merasa tenang.&lt;/p>
&lt;hr>
&lt;h2 id="jadi-begitulah">Jadi begitulah
&lt;/h2>&lt;p>Prinsip Kerckhoffs mungkin terdengar sedikit teoritis, namun esensinya sangat sederhana.&lt;/p>
&lt;p>Hanya masalah &lt;strong>&amp;ldquo;Mari kita buat mekanisme yang tidak akan rusak tidak peduli siapa yang melihatnya&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>Desain yang tepat lebih dari sekadar rahasia yang dangkal.&lt;br>
Kode yang tidak memalukan untuk ditunjukkan, lebih baik daripada kode yang tidak ingin Anda tunjukkan kepada siapa pun.&lt;/p>
&lt;p>&amp;ldquo;Kekuatan&amp;rdquo; seperti itu mungkin akan semakin dibutuhkan di era mendatang.&lt;/p>
&lt;hr>
&lt;p>Terima kasih sudah membaca!&lt;/p>
&lt;p>Topik keamanan mungkin sedikit sulit, tetapi ada bagian yang terhubung dengan &amp;ldquo;hubungan manusia&amp;rdquo; dan &amp;ldquo;rasa aman sehari-hari&amp;rdquo;.&lt;br>
Saya yakin jika Anda mempelajarinya sedikit demi sedikit tanpa merasa terbebani, akan ada hal baik yang terjadi.&lt;/p>
&lt;hr>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%82%B1%E3%83%AB%E3%82%AF%E3%83%9B%E3%83%95%E3%82%B9%E3%81%AE%E5%8E%9F%E7%90%86/img.png"
width="189"
height="282"
srcset="http://kenji.blog/p/%E3%82%B1%E3%83%AB%E3%82%AF%E3%83%9B%E3%83%95%E3%82%B9%E3%81%AE%E5%8E%9F%E7%90%86/img_hu715032b7fe5224f655ebb7d29b676305_77325_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B1%E3%83%AB%E3%82%AF%E3%83%9B%E3%83%95%E3%82%B9%E3%81%AE%E5%8E%9F%E7%90%86/img_hu715032b7fe5224f655ebb7d29b676305_77325_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="Auguste Kerckhoffs"
class="gallery-image"
data-flex-grow="67"
data-flex-basis="160px"
>&lt;/p></description></item><item><title>Langkah-langkah Menjalankan PowerShell dari C++ melalui C++/CLI DLL</title><link>http://kenji.blog/id/p/langkah-langkah-menjalankan-powershell-dari-c-melalui-c-cli-dll/</link><pubDate>Wed, 16 Apr 2025 01:58:03 +0900</pubDate><guid>http://kenji.blog/id/p/langkah-langkah-menjalankan-powershell-dari-c-melalui-c-cli-dll/</guid><description>&lt;img src="http://kenji.blog/p/c-%E3%81%8B%E3%82%89-powershell-%E3%82%92-c-cli-dll-%E7%B5%8C%E7%94%B1%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E6%89%8B%E9%A0%86/img.png" alt="Featured image of post Langkah-langkah Menjalankan PowerShell dari C++ melalui C++/CLI DLL" />&lt;h1 id="-langkah-langkah-menjalankan-powershell-dari-c-melalui-ccli-dll-visual-studio-2022--c">🎯 Langkah-langkah Menjalankan PowerShell dari C++ melalui C++/CLI DLL (Visual Studio 2022 / C++)
&lt;/h1>&lt;h2 id="-struktur-keseluruhan">✅ Struktur Keseluruhan
&lt;/h2>&lt;h3 id="--pembungkus-cli-dll-ccli">🔹 ① Pembungkus CLI DLL (C++/CLI)
&lt;/h3>&lt;p>Menyediakan fungsionalitas untuk menjalankan skrip PowerShell.&lt;/p>
&lt;h3 id="--pemanggil-native-c">🔹 ② Pemanggil Native C++
&lt;/h3>&lt;p>Memanggil CLI DLL untuk menjalankan skrip PowerShell.&lt;/p>
&lt;hr>
&lt;h2 id="-langkah-1-membuat-proyek-pembungkus-cli-dll">🔧 Langkah 1: Membuat Proyek Pembungkus CLI DLL
&lt;/h2>&lt;h3 id="1-membuat-proyek">1. Membuat Proyek
&lt;/h3>&lt;ul>
&lt;li>[Buat baru] → [C++] → &lt;strong>Pustaka Kelas CLR (.NET Framework)&lt;/strong>&lt;/li>
&lt;li>Nama: &lt;code>PowerShellWrapper&lt;/code>&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>💡 Jika templat ini tidak ditampilkan, instal beban kerja &amp;ldquo;Pengembangan desktop .NET&amp;rdquo;.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h3 id="2-menambahkan-paket-nuget">2. Menambahkan Paket NuGet
&lt;/h3>&lt;ol>
&lt;li>Klik kanan pada proyek → [Kelola Paket NuGet]&lt;/li>
&lt;li>Cari dan instal &lt;code>System.Management.Automation&lt;/code>&lt;br>
(versi 5.x atau 7.x)&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h3 id="3-implementasi-kode-sisi-cli">3. Implementasi Kode Sisi CLI
&lt;/h3>&lt;h4 id="powershellwrapperh">PowerShellWrapper.h
&lt;/h4>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#pragma once
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">using&lt;/span> &lt;span class="k">namespace&lt;/span> &lt;span class="n">System&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">namespace&lt;/span> &lt;span class="n">PowerShellWrapper&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">public&lt;/span> &lt;span class="n">ref&lt;/span> &lt;span class="k">class&lt;/span> &lt;span class="nc">PowerShellExecutor&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">public&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">String&lt;/span>&lt;span class="o">^&lt;/span> &lt;span class="n">Execute&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">String&lt;/span>&lt;span class="o">^&lt;/span> &lt;span class="n">script&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h4 id="powershellwrappercpp">PowerShellWrapper.cpp
&lt;/h4>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;#34;PowerShellWrapper.h&amp;#34;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>&lt;span class="k">using&lt;/span> &lt;span class="k">namespace&lt;/span> &lt;span class="n">System&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">using&lt;/span> &lt;span class="k">namespace&lt;/span> &lt;span class="n">System&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">Management&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">Automation&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">using&lt;/span> &lt;span class="k">namespace&lt;/span> &lt;span class="n">System&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">Collections&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">ObjectModel&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">String&lt;/span>&lt;span class="o">^&lt;/span> &lt;span class="n">PowerShellWrapper&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">PowerShellExecutor&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">Execute&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">String&lt;/span>&lt;span class="o">^&lt;/span> &lt;span class="n">script&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">PowerShell&lt;/span>&lt;span class="o">^&lt;/span> &lt;span class="n">ps&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">PowerShell&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">Create&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">ps&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="n">AddScript&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">script&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">Collection&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">PSObject&lt;/span>&lt;span class="o">^&amp;gt;^&lt;/span> &lt;span class="n">results&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">ps&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="n">Invoke&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">System&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">Text&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">StringBuilder&lt;/span>&lt;span class="o">^&lt;/span> &lt;span class="n">sb&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">gcnew&lt;/span> &lt;span class="n">System&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">Text&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">StringBuilder&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="nf">each&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">PSObject&lt;/span>&lt;span class="o">^&lt;/span> &lt;span class="n">result&lt;/span> &lt;span class="n">in&lt;/span> &lt;span class="n">results&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">sb&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="n">AppendLine&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">result&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="n">ToString&lt;/span>&lt;span class="p">());&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">sb&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="n">ToString&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="-langkah-2-memanggil-dari-sisi-native-c">🔧 Langkah 2: Memanggil dari Sisi Native C++
&lt;/h2>&lt;h3 id="1-membuat-proyek-aplikasi-konsol-c">1. Membuat Proyek Aplikasi Konsol C++
&lt;/h3>&lt;ul>
&lt;li>Nama: &lt;code>NativeApp&lt;/code>&lt;/li>
&lt;/ul>
&lt;h3 id="2-pengaturan-referensi">2. Pengaturan Referensi
&lt;/h3>&lt;ul>
&lt;li>Klik kanan pada proyek → [Tambahkan Referensi] → [Proyek] → tambahkan &lt;code>PowerShellWrapper&lt;/code>&lt;/li>
&lt;li>[Properti Konfigurasi] → [C/C++] → [Dukungan Runtime Bahasa Umum] → ubah ke &lt;strong>/clr&lt;/strong>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h3 id="3-kode-eksekusi-maincpp">3. Kode Eksekusi (main.cpp)
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#using &amp;lt;System.dll&amp;gt;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#using &amp;#34;..\\PowerShellWrapper\\Debug\\PowerShellWrapper.dll&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">using&lt;/span> &lt;span class="k">namespace&lt;/span> &lt;span class="n">System&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">using&lt;/span> &lt;span class="k">namespace&lt;/span> &lt;span class="n">PowerShellWrapper&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">int&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">PowerShellExecutor&lt;/span>&lt;span class="o">^&lt;/span> &lt;span class="n">executor&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">gcnew&lt;/span> &lt;span class="n">PowerShellExecutor&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">String&lt;/span>&lt;span class="o">^&lt;/span> &lt;span class="n">result&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">executor&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="n">Execute&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Get-Process | Select-Object -First 1&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">Console&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">WriteLine&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">result&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="-catatan-tambahan-pendaftaran-idl--tlb--com">💡 Catatan Tambahan (Pendaftaran IDL / TLB / COM)
&lt;/h2>&lt;ul>
&lt;li>Karena konfigurasi ini merujuk langsung ke .NET DLL daripada COM, &lt;strong>IDL, TLB, atau pendaftaran COM tidak diperlukan&lt;/strong> .&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-struktur-akhir">✅ Struktur Akhir
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Solution
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── PowerShellWrapper (C++/CLI DLL)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └── PowerShellExecutor
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── NativeApp (C++ EXE)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └── main.cpp → Pemanggilan DLL
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr></description></item><item><title>Perintah untuk Memeriksa Status Lisensi Windows</title><link>http://kenji.blog/id/p/windows-%E3%81%AE%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%81%AE%E7%8A%B6%E6%85%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/</link><pubDate>Mon, 14 Apr 2025 00:41:45 +0900</pubDate><guid>http://kenji.blog/id/p/windows-%E3%81%AE%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%81%AE%E7%8A%B6%E6%85%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/</guid><description>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%81%AE%E7%8A%B6%E6%85%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/img_1.png" alt="Featured image of post Perintah untuk Memeriksa Status Lisensi Windows" />&lt;h1 id="windowscara-memeriksa-status-lisensi-hanya-dengan-satu-perintah">【Windows】Cara Memeriksa Status Lisensi (Hanya dengan Satu Perintah)
&lt;/h1>&lt;p>Pernahkah Anda bertanya-tanya apakah lisensi Windows Anda telah diaktifkan dengan benar?&lt;/p>
&lt;p>Dalam kasus seperti itu, ada cara mudah untuk &lt;strong>memeriksa informasi lisensi dengan satu perintah&lt;/strong>. Cukup ikuti langkah-langkah di bawah ini untuk memeriksa status lisensi Anda saat ini dengan mudah.&lt;/p>
&lt;h2 id="perintah-untuk-memeriksa-status-lisensi">Perintah untuk memeriksa status lisensi
&lt;/h2>&lt;p>Anda dapat menggunakan alat skrip bawaan Windows untuk menampilkan informasi lisensi. Perintah yang digunakan adalah ini:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">slmgr /dli
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Saat Anda menjalankan perintah ini, sebagian informasi lisensi akan ditampilkan di sebuah jendela.&lt;/p>
&lt;h2 id="cara-mengeksekusi">Cara mengeksekusi
&lt;/h2>&lt;ol>
&lt;li>
&lt;p>&lt;strong>Dari &amp;ldquo;Start Menu&amp;rdquo;, ketik &amp;ldquo;cmd&amp;rdquo;, klik kanan Command Prompt → &amp;ldquo;Run as administrator&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Masukkan perintah berikut di Command Prompt dan tekan Enter:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">slmgr /dli
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;/li>
&lt;li>
&lt;p>Setelah menunggu beberapa detik, informasi lisensi berikut akan ditampilkan.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%81%AE%E7%8A%B6%E6%85%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/img.png"
width="346"
height="198"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%81%AE%E7%8A%B6%E6%85%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/img_hu36ac086b0626fce0cec542003390f65d_5495_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%81%AE%E7%8A%B6%E6%85%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/img_hu36ac086b0626fce0cec542003390f65d_5495_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="Layar konfirmasi lisensi Windows"
class="gallery-image"
data-flex-grow="174"
data-flex-basis="419px"
>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;h2 id="informasi-utama-yang-ditampilkan">Informasi utama yang ditampilkan
&lt;/h2>&lt;ul>
&lt;li>Bagian dari kunci produk&lt;/li>
&lt;li>Jenis lisensi (Retail, OEM, dll.)&lt;/li>
&lt;li>Status lisensi (valid, kedaluwarsa, tidak diautentikasi, dll.)&lt;/li>
&lt;/ul>
&lt;h2 id="bagaimana-jika-anda-ingin-mengetahui-informasi-lebih-rinci">Bagaimana jika Anda ingin mengetahui informasi lebih rinci?
&lt;/h2>&lt;p>Ada juga perintah seperti berikut:&lt;/p>
&lt;ul>
&lt;li>&lt;code>slmgr /dlv&lt;/code>: Menampilkan informasi lisensi yang lebih rinci&lt;/li>
&lt;li>&lt;code>slmgr /xpr&lt;/code>: Menampilkan tanggal kedaluwarsa lisensi (apakah permanen atau tidak)&lt;/li>
&lt;/ul>
&lt;h2 id="ringkasan">Ringkasan
&lt;/h2>&lt;p>Status lisensi Windows dapat dengan mudah diperiksa dengan satu perintah.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Pemeriksaan sederhana&lt;/strong>: &lt;code>slmgr /dli&lt;/code>&lt;/li>
&lt;li>&lt;strong>Konfirmasi terperinci&lt;/strong>: &lt;code>slmgr /dlv&lt;/code>&lt;/li>
&lt;li>&lt;strong>Konfirmasi tanggal kedaluwarsa&lt;/strong>: &lt;code>slmgr /xpr&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>Jika ada masalah dengan lisensi, mungkin ada batasan pada pembaruan dan beberapa fungsi, sehingga aman untuk memeriksanya secara teratur.&lt;/p></description></item><item><title>Parameter ffmpeg untuk iOS</title><link>http://kenji.blog/id/p/parameter-ffmpeg-untuk-ios/</link><pubDate>Sun, 02 Mar 2025 04:16:07 +0900</pubDate><guid>http://kenji.blog/id/p/parameter-ffmpeg-untuk-ios/</guid><description>&lt;img src="http://kenji.blog/p/ios-%E5%90%91%E3%81%91%E3%81%AE-ffmpeg-%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF/img.png" alt="Featured image of post Parameter ffmpeg untuk iOS" />&lt;h1 id="parameter-konversi-ffmpeg-yang-dioptimalkan-untuk-ios">Parameter konversi ffmpeg yang dioptimalkan untuk iOS
&lt;/h1>&lt;p>Berikut adalah perintah &lt;code>ffmpeg&lt;/code> untuk mengonversi video sehingga dapat diputar dengan lancar di perangkat iOS (iPhone dan iPad).&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">ffmpeg -i input.mp4 &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span>-c:v libx264 -profile:v high -level 4.1 &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span>-vf &lt;span class="s2">&amp;#34;scale=1920:-2&amp;#34;&lt;/span> -r &lt;span class="m">30&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span>-crf &lt;span class="m">20&lt;/span> -preset slow &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span>-c:a aac -b:a 128k -ar &lt;span class="m">48000&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span>-movflags +faststart output.mp4
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="arti-setiap-opsi-penjelasan-singkat">Arti setiap opsi (penjelasan singkat)
&lt;/h3>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Opsi&lt;/th>
&lt;th>Deskripsi&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>-i input.mp4&lt;/code>&lt;/td>
&lt;td>File input (video asli)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>-c:v libx264&lt;/code>&lt;/td>
&lt;td>Mengodekan video dalam H.264 (didukung iOS)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>-profile:v high -level 4.1&lt;/code>&lt;/td>
&lt;td>Profil dan level yang sangat kompatibel di iOS&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>-vf &amp;quot;scale=1920:-2&amp;quot;&lt;/code>&lt;/td>
&lt;td>Mengubah ukuran menjadi lebar 1920 piksel, tinggi disesuaikan secara otomatis sambil mempertahankan rasio aspek&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>-r 30&lt;/code>&lt;/td>
&lt;td>Mengonversi frame rate menjadi 30fps&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>-crf 20&lt;/code>&lt;/td>
&lt;td>Kualitas video (semakin rendah nilainya, semakin tinggi kualitasnya, disarankan 18–23)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>-preset slow&lt;/code>&lt;/td>
&lt;td>Keseimbangan antara kecepatan pengodean dan rasio kompresi (slow untuk kompresi dan kualitas tinggi)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>-c:a aac&lt;/code>&lt;/td>
&lt;td>Audio dikodekan dalam format AAC&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>-b:a 128k&lt;/code>&lt;/td>
&lt;td>Mengatur bitrate audio menjadi 128kbps&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>-ar 48000&lt;/code>&lt;/td>
&lt;td>Mengatur sampling rate audio menjadi 48kHz (disarankan iOS)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>-movflags +faststart&lt;/code>&lt;/td>
&lt;td>Menempatkan indeks di awal video untuk mempercepat ** pemutaran streaming di Web dan iOS **&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;p>Video yang dikonversi dengan pengaturan ini diharapkan memiliki kompatibilitas tinggi dan pemutaran yang lancar di perangkat Apple seperti iPhone dan iPad.&lt;/p>
&lt;hr>
&lt;p>Jika perlu, Anda dapat menyesuaikan ukuran file dan kualitas gambar dengan mengubah resolusi atau bitrate. Jika Anda membutuhkan kualitas tinggi, coba atur &lt;code>-crf&lt;/code> menjadi sekitar 18, dan jika Anda ingin mengurangi ukuran file, atur ke 22-25.&lt;/p></description></item><item><title>Langkah-langkah Pemulihan (Inisialisasi dan Perbaikan) Perangkat Lunak Perangkat Android (Google Pixel)</title><link>http://kenji.blog/id/p/androidgoogle-pixel%E7%AB%AF%E6%9C%AB%E3%81%AE%E5%BE%A9%E5%85%83%E6%89%8B%E9%A0%86/</link><pubDate>Fri, 28 Feb 2025 01:20:41 +0900</pubDate><guid>http://kenji.blog/id/p/androidgoogle-pixel%E7%AB%AF%E6%9C%AB%E3%81%AE%E5%BE%A9%E5%85%83%E6%89%8B%E9%A0%86/</guid><description>&lt;img src="http://kenji.blog/p/androidgoogle-pixel%E7%AB%AF%E6%9C%AB%E3%81%AE%E5%BE%A9%E5%85%83%E6%89%8B%E9%A0%86/pixel_restore_eyecatch_1788588727945.jpg" alt="Featured image of post Langkah-langkah Pemulihan (Inisialisasi dan Perbaikan) Perangkat Lunak Perangkat Android (Google Pixel)" />&lt;h1 id="langkah-langkah-pemulihan-perangkat-android-google-pixel">Langkah-langkah Pemulihan Perangkat Android (Google Pixel)
&lt;/h1>&lt;p>Jika perangkat Google Pixel Anda mengalami masalah sistem yang parah seperti &amp;ldquo;berulang kali memulai ulang (bootloop)&amp;rdquo;, &amp;ldquo;macet di layar logo&amp;rdquo;, atau &amp;ldquo;kinerja menjadi sangat tidak stabil&amp;rdquo;, Anda dapat menggunakan alat resmi Google &lt;strong>&amp;ldquo;Pixel Update and Software Repair&amp;rdquo;&lt;/strong> untuk memulihkan (memperbaiki) perangkat lunak perangkat secara aman melalui browser.&lt;/p>
&lt;p>Artikel ini menjelaskan langkah-langkah spesifik dan poin-poin yang perlu diperhatikan secara rinci.&lt;/p>
&lt;hr>
&lt;h2 id="1-mengakses-alat-pemulihan">1. Mengakses Alat Pemulihan
&lt;/h2>&lt;p>Pertama, akses halaman alat perbaikan resmi berikut dari browser (disarankan Google Chrome atau Microsoft Edge) di PC (Windows atau Mac) Anda.&lt;/p>
&lt;p>🔗 &lt;strong>&lt;a class="link" href="https://pixelrepair.withgoogle.com/carrier_selection" target="_blank" rel="noopener"
>Situs Resmi Pixel Update and Software Repair&lt;/a>&lt;/strong>&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>※Perhatian※&lt;/strong>
Saat Anda menjalankan proses pemulihan, data di perangkat (foto, aplikasi, kontak, dll.) mungkin akan &lt;strong>sepenuhnya dihapus (diinisialisasi)&lt;/strong> . Jika perangkat masih dapat dioperasikan, pastikan untuk mencadangkannya ke Google Drive atau sejenisnya terlebih dahulu.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="2-persiapan-sebelum-pemulihan">2. Persiapan Sebelum Pemulihan
&lt;/h2>&lt;p>Untuk memastikan proses berjalan lancar, siapkan hal-hal berikut.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Mengisi Baterai&lt;/strong>
Jika daya mati di tengah jalan, perangkat berisiko menjadi &amp;ldquo;bata&amp;rdquo; (rusak total). Pastikan baterai terisi minimal 50%, atau lebih baik jika terisi penuh.&lt;/li>
&lt;li>&lt;strong>Menyiapkan Kabel USB Asli&lt;/strong>
Sangat disarankan untuk menggunakan kabel USB-C asli yang disertakan dengan perangkat untuk memastikan transfer data yang stabil.&lt;/li>
&lt;li>&lt;strong>(Jika Perlu) Menginstal Driver&lt;/strong>
Jika menggunakan PC Windows, perangkat mungkin tidak dikenali dengan benar. Dalam hal ini, silakan instal &lt;a class="link" href="https://developer.android.com/studio/run/win-usb?hl=id" target="_blank" rel="noopener"
>Google USB Driver&lt;/a> .&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="3-langkah-langkah-pemulihan-spesifik">3. Langkah-langkah Pemulihan Spesifik
&lt;/h2>&lt;p>Setelah persiapan selesai, ikuti petunjuk di layar untuk melanjutkan pemulihan.&lt;/p>
&lt;h3 id="step-1-memilih-operator-dan-menghubungkan-perangkat">Step 1: Memilih Operator dan Menghubungkan Perangkat
&lt;/h3>&lt;p>Saat Anda membuka situs tersebut, layar untuk memilih operator seluler akan muncul. Jika perangkat Anda bebas SIM atau tidak terikat dengan operator tertentu, pilih &amp;ldquo;Lainnya (Other)&amp;rdquo; atau serupa.
Setelah itu, hubungkan PC dan perangkat Pixel menggunakan kabel USB.&lt;/p>
&lt;h3 id="step-2-masuk-ke-rescue-mode-fastboot-mode">Step 2: Masuk ke Rescue Mode (Fastboot Mode)
&lt;/h3>&lt;p>Ikuti petunjuk di layar, mulai dari perangkat yang dimatikan, &lt;strong>tekan dan tahan tombol Daya dan tombol Volume Turun secara bersamaan&lt;/strong> untuk memulai mode Fastboot (layar dengan latar belakang hitam dan ikon Android yang sedang berbaring).&lt;/p>
&lt;h3 id="step-3-mengenali-perangkat-di-pc">Step 3: Mengenali Perangkat di PC
&lt;/h3>&lt;p>Saat Anda mengklik tombol &amp;ldquo;Hubungkan perangkat&amp;rdquo; di browser, pop-up browser akan terbuka dan perangkat Pixel yang terhubung akan ditampilkan dalam daftar. Pilih perangkat target dan izinkan koneksi.&lt;/p>
&lt;h3 id="step-4-mengunduh-dan-menginstal-perangkat-lunak">Step 4: Mengunduh dan Menginstal Perangkat Lunak
&lt;/h3>&lt;p>Setelah perangkat dikenali, versi sistem operasi Android (firmware) yang optimal akan dipilih secara otomatis. Saat Anda mengklik &amp;ldquo;Instal&amp;rdquo;, perangkat lunak akan diunduh ke PC dan proses penulisan (flashing) ke perangkat akan segera dimulai.&lt;/p>
&lt;blockquote>
&lt;p>⚠️ &lt;strong>Peringatan:&lt;/strong> Selama proses ini, &lt;strong>jangan pernah mencabut kabel USB atau mematikan PC Anda.&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;h3 id="step-5-selesai-dan-pengaturan-awal">Step 5: Selesai dan Pengaturan Awal
&lt;/h3>&lt;p>Jika bilah kemajuan mencapai 100% dan pesan &amp;ldquo;Selesai&amp;rdquo; muncul, pemulihan berhasil. Perangkat akan secara otomatis memulai ulang dan menampilkan layar pengaturan awal (layar &amp;ldquo;Halo&amp;rdquo;) yang sama seperti saat pembelian.&lt;/p>
&lt;hr>
&lt;h2 id="kesimpulan">Kesimpulan
&lt;/h2>&lt;p>Alat perbaikan resmi Google Pixel adalah alat yang sangat baik yang memungkinkan Anda untuk melakukan flashing ulang firmware secara aman hanya dengan beberapa klik di browser, tanpa harus menjalankan perintah khusus (adb atau fastboot) secara langsung.&lt;/p>
&lt;p>Sebelum membawa perangkat yang bermasalah ke toko, cobalah langkah-langkah ini, karena mungkin dapat menyelesaikan masalah dengan mudah. Silakan jadikan ini sebagai referensi.&lt;/p></description></item><item><title>Mengirim email Gmail dengan curl</title><link>http://kenji.blog/id/p/mengirim-email-gmail-dengan-curl/</link><pubDate>Thu, 27 Feb 2025 02:13:31 +0900</pubDate><guid>http://kenji.blog/id/p/mengirim-email-gmail-dengan-curl/</guid><description>&lt;img src="http://kenji.blog/p/gmail%E3%82%92curl%E3%81%8B%E3%82%89%E9%80%81%E3%82%8B/img.png" alt="Featured image of post Mengirim email Gmail dengan curl" />&lt;h1 id="mengirim-email-gmail-dengan-curl">Mengirim email Gmail dengan curl
&lt;/h1>&lt;h2 id="1-mendapatkan-kata-sandi-aplikasi">1. Mendapatkan kata sandi aplikasi
&lt;/h2>&lt;p>&lt;a class="link" href="https://myaccount.google.com/apppasswords" target="_blank" rel="noopener"
>https://myaccount.google.com/apppasswords&lt;/a>
Klik tautan di atas dan masukkan nama aplikasi.
Simpan kata sandi yang dihasilkan.&lt;/p>
&lt;h2 id="2-mengirim-email-dengan-perintah-curl">2. Mengirim email dengan perintah curl
&lt;/h2>&lt;p>Jalankan perintah berikut.&lt;/p>
&lt;p>Pada contoh di bawah ini, isi email ditulis di dalam mail.txt.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-mail.txt" data-lang="mail.txt">&lt;span class="line">&lt;span class="cl">From: from@gmail.com
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">To: to@gmail.com
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Subject: Email tes
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Content-Type: text/plain; charset=&amp;#34;UTF-8&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Ini adalah email tes.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Buat file di atas, dan jalankan perintah berikut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">curl --url &lt;span class="s2">&amp;#34;smtps://smtp.gmail.com:465&amp;#34;&lt;/span> --ssl-reqd --mail-from &lt;span class="s2">&amp;#34;from@gmail.com&amp;#34;&lt;/span> --mail-rcpt &lt;span class="s2">&amp;#34;to@gmail.com&amp;#34;&lt;/span> --user &lt;span class="s2">&amp;#34;from@gmail.com:xxxxxxxxxxxxxxxx&amp;#34;&lt;/span> --upload-file mail.txt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>※ Harap ganti xxxxxxxxxxxxxxxx dengan kata sandi aplikasi Anda.&lt;/p></description></item><item><title>Cuplikan Kode Python</title><link>http://kenji.blog/id/p/python%E3%82%B3%E3%83%BC%E3%83%89%E7%89%87/</link><pubDate>Mon, 24 Feb 2025 18:21:14 +0900</pubDate><guid>http://kenji.blog/id/p/python%E3%82%B3%E3%83%BC%E3%83%89%E7%89%87/</guid><description>&lt;img src="http://kenji.blog/p/python%E3%82%B3%E3%83%BC%E3%83%89%E7%89%87/img.png" alt="Featured image of post Cuplikan Kode Python" />&lt;p>Pengenalan pada kode sampel menggunakan pustaka standar.&lt;/p>
&lt;h1 id="mengunduh-dan-menampilkan-gambar">Mengunduh dan menampilkan gambar
&lt;/h1>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">urllib.request&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">tempfile&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">os&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">webbrowser&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">time&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">url&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;https://www.aomori-ringo.or.jp/kids/wp-content/uploads/2021/11/apple.png&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">try&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">with&lt;/span> &lt;span class="n">urllib&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">request&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">urlopen&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">url&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">response&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">img_data&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">response&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">read&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Simpan ke file sementara dan tampilkan&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">with&lt;/span> &lt;span class="n">tempfile&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">NamedTemporaryFile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">delete&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="kc">False&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">suffix&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;.png&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">tmp&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">tmp&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">write&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">img_data&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;file://&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">tmp&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">name&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">webbrowser&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;file://&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">tmp&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">name&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">time&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sleep&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">except&lt;/span> &lt;span class="ne">Exception&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">e&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;Terjadi kesalahan: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">e&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">finally&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="s1">&amp;#39;tmp&amp;#39;&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">locals&lt;/span>&lt;span class="p">():&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">os&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">unlink&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">tmp&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">name&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Hapus file sementara&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>Memanggil API ChatGPT dari curl</title><link>http://kenji.blog/id/p/memanggil-api-chatgpt-dari-curl/</link><pubDate>Sat, 01 Feb 2025 17:15:34 +0900</pubDate><guid>http://kenji.blog/id/p/memanggil-api-chatgpt-dari-curl/</guid><description>&lt;img src="http://kenji.blog/p/chatgpt-api%E3%82%92curl%E3%81%8B%E3%82%89%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99/img.png" alt="Featured image of post Memanggil API ChatGPT dari curl" />&lt;h1 id="memanggil-api-chatgpt-dari-curl">Memanggil API ChatGPT dari curl
&lt;/h1>&lt;p>Ini diasumsikan dipanggil dari command prompt Windows.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">curl https://api.openai.com/v1/chat/completions -H &amp;#34;Content-Type: application/json&amp;#34; -H &amp;#34;Authorization: Bearer sk-proj-XXXXXXXXXXXXXXXXXXXX&amp;#34; -d &amp;#34;{&amp;#34;&amp;#34;model&amp;#34;&amp;#34;: &amp;#34;&amp;#34;gpt-3.5-turbo&amp;#34;&amp;#34;,&amp;#34;&amp;#34;messages&amp;#34;&amp;#34;: [{&amp;#34;&amp;#34;role&amp;#34;&amp;#34;: &amp;#34;&amp;#34;system&amp;#34;&amp;#34;, &amp;#34;&amp;#34;content&amp;#34;&amp;#34;: &amp;#34;&amp;#34;Tolong jawab dalam dialek Kansai.&amp;#34;&amp;#34;}, {&amp;#34;&amp;#34;role&amp;#34;&amp;#34;: &amp;#34;&amp;#34;user&amp;#34;&amp;#34;, &amp;#34;&amp;#34;content&amp;#34;&amp;#34;: &amp;#34;&amp;#34;Masukkan pesan yang ingin Anda kirim di sini&amp;#34;&amp;#34;}]}&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>Ringkasan Saham Dividen Tinggi</title><link>http://kenji.blog/id/p/ringkasan-saham-dividen-tinggi/</link><pubDate>Sun, 22 Dec 2024 00:56:14 +0900</pubDate><guid>http://kenji.blog/id/p/ringkasan-saham-dividen-tinggi/</guid><description>&lt;img src="http://kenji.blog/p/%E9%AB%98%E9%85%8D%E5%BD%93%E6%A0%AA%E3%81%BE%E3%81%A8%E3%82%81/img.png" alt="Featured image of post Ringkasan Saham Dividen Tinggi" />&lt;h1 id="ringkasan-saham-dividen-tinggi">Ringkasan Saham Dividen Tinggi
&lt;/h1>&lt;ol>
&lt;li>Mitsubishi UFJ Financial Group (8306)&lt;/li>
&lt;li>Sumitomo Mitsui Financial Group (8316)&lt;/li>
&lt;li>Mitsubishi Corporation (8058)&lt;/li>
&lt;li>Itochu Corporation (8001)&lt;/li>
&lt;li>NTT (9432)&lt;/li>
&lt;li>KDDI (9433)&lt;/li>
&lt;li>Okinawa Cellular Telephone (9436)&lt;/li>
&lt;li>Tokio Marine Holdings (8766)&lt;/li>
&lt;li>Toyota Motor (7203)&lt;/li>
&lt;li>Yamaha Motor (7272)&lt;/li>
&lt;li>Asahi Group Holdings (2502)&lt;/li>
&lt;li>Kirin Holdings (2503)&lt;/li>
&lt;li>JT (2914)&lt;/li>
&lt;li>Bridgestone (5108)&lt;/li>
&lt;li>Daiwa House Industry (1925)&lt;/li>
&lt;li>Sekisui House (1928)&lt;/li>
&lt;li>Kyocera (6971)&lt;/li>
&lt;li>Shin-Etsu Chemical (4063)&lt;/li>
&lt;li>Nitto Denko (6988)&lt;/li>
&lt;li>ORIX (8591)&lt;/li>
&lt;li>Mitsubishi HC Capital (8593)&lt;/li>
&lt;li>Hulic (3003)&lt;/li>
&lt;/ol></description></item><item><title>Tujuan</title><link>http://kenji.blog/id/p/tujuan/</link><pubDate>Sun, 08 Dec 2024 03:32:34 +0900</pubDate><guid>http://kenji.blog/id/p/tujuan/</guid><description>&lt;img src="http://kenji.blog/p/%E7%9B%AE%E6%A8%99/img.png" alt="Featured image of post Tujuan" />&lt;h1 id="tujuan-jangka-panjang">Tujuan Jangka Panjang
&lt;/h1>&lt;ul>
&lt;li>1 tahun ke depan
&lt;ul>
&lt;li>Memulai bisnis&lt;/li>
&lt;li>Membuat beranda web dan merilis perangkat lunak (gratis)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>2 tahun ke depan
&lt;ul>
&lt;li>Pendapatan tahunan 10 juta yen&lt;/li>
&lt;li>Menerbitkan buku&lt;/li>
&lt;li>Merilis perangkat lunak (berbayar)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>3 tahun ke depan
&lt;ul>
&lt;li>Pendapatan tahunan 100 juta yen&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>5 tahun ke depan
&lt;ul>
&lt;li>Pendapatan tahunan 1 miliar yen&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>10 tahun ke depan
&lt;ul>
&lt;li>Pendapatan tahunan 10 miliar yen&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h1 id="tujuan-jangka-pendek">Tujuan Jangka Pendek
&lt;/h1>&lt;ul>
&lt;li>1 bulan ke depan
&lt;ul>
&lt;li>Membuat rencana bisnis&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>3 bulan ke depan
&lt;ul>
&lt;li>Mengumpulkan dana sekitar 5 juta yen untuk memulai bisnis&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>6 bulan ke depan
&lt;ul>
&lt;li>Memulai bisnis&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>1 tahun ke depan
&lt;ul>
&lt;li>Menjadikan bisnis berada di jalur yang benar (stabil)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h1 id="tugas-terdekat">Tugas Terdekat
&lt;/h1>&lt;ol>
&lt;li>Klarifikasi Tujuan dan Visi&lt;br>
Tujuan: Mengapa membuat perangkat lunak?
Contoh: Memecahkan masalah, memberikan nilai baru, menargetkan pasar khusus tertentu, dll.
Visi: Masa depan seperti apa yang ingin Anda wujudkan melalui perangkat lunak?
Contoh: Peningkatan efisiensi bisnis, kenyamanan hidup sehari-hari, peningkatan kualitas pendidikan, dll.&lt;/li>
&lt;li>Riset Pasar dan Analisis Kebutuhan&lt;br>
Target pengguna: Siapa yang akan menggunakan perangkat lunak ini? Tentukan kelompok usia, pekerjaan, minat, dll secara spesifik.
Riset kompetitor: Apakah ada pesaing di bidang yang sama? Analisis kekuatan dan kelemahan mereka.
Identifikasi kebutuhan: Pahami masalah dan keinginan yang belum terselesaikan dari target pengguna.&lt;/li>
&lt;li>Desain dan Fitur Perangkat Lunak&lt;br>
Fitur dasar: Buat daftar fitur-fitur penting. Contoh: Autentikasi pengguna, penyimpanan data, fitur analitik, dll.
Poin diferensiasi: Perjelas apa yang membuatnya unik dibandingkan dengan produk pesaing. Contoh: UI sederhana, penggunaan AI, kustomisasi tinggi.
Spesifikasi teknis: Bahasa pemrograman yang akan digunakan, kerangka kerja (framework), basis data, dll.&lt;/li>
&lt;li>Rencana Pengembangan dan Alokasi Sumber Daya&lt;br>
Jadwal pengembangan: Tetapkan garis waktu (timeline) untuk setiap tahap proyek. Contoh: Pengembangan prototipe, pengujian, rilis resmi.
Komposisi tim: Personel dan keahlian yang dibutuhkan (programer, desainer, staf pemasaran, dll).
Anggaran: Perkirakan biaya pengembangan, biaya pemasaran, dan biaya operasional.&lt;/li>
&lt;li>Pemasaran dan Model Pendapatan&lt;br>
Metode promosi: Manfaatkan media sosial, situs web, iklan, dll untuk meningkatkan kesadaran (awareness).
Strategi monetisasi: Pertimbangkan opsi seperti versi gratis + versi berbayar, langganan bulanan, pendapatan iklan, dll.
Strategi akuisisi pengguna: Menawarkan uji coba gratis, mempromosikan dari mulut ke mulut, membentuk komunitas pengguna, dll.&lt;/li>
&lt;li>Operasional dan Penskalaan&lt;br>
Operasional setelah rilis: Mengumpulkan umpan balik pengguna, memperbaiki bug, menambahkan fitur.
Strategi pertumbuhan: Merencanakan cara untuk meningkatkan jumlah pengguna, ekspansi ke negara lain, dan mengembangkan fitur baru.
Manajemen risiko: Mempersiapkan langkah-langkah untuk menangani masalah hukum atau masalah teknis.&lt;/li>
&lt;/ol></description></item><item><title>Tentang</title><link>http://kenji.blog/id/tentang/</link><pubDate>Sat, 07 Dec 2024 00:00:00 +0000</pubDate><guid>http://kenji.blog/id/tentang/</guid><description>&lt;p>&lt;img src="http://kenji.blog/about/img_1.png"
width="400"
height="328"
srcset="http://kenji.blog/about/img_1_huacf3b85c792452cf72c6344c4d0caf3d_104793_480x0_resize_box_3.png 480w, http://kenji.blog/about/img_1_huacf3b85c792452cf72c6344c4d0caf3d_104793_1024x0_resize_box_3.png 1024w"
loading="lazy"
class="gallery-image"
data-flex-grow="121"
data-flex-basis="292px"
>&lt;/p>
&lt;h1 id="apa-yang-saya-tulis-di-blog-ini">Apa yang saya tulis di blog ini?
&lt;/h1>&lt;p>Halo!&lt;/p>
&lt;p>Hari ini saya ingin berbicara tentang pertanyaan yang sederhana namun sering ditanyakan: &amp;ldquo;Apa yang kamu tulis di blog ini?&amp;rdquo;&lt;/p>
&lt;p>Cerita yang sering terdengar adalah bahwa blog sering dianggap sebagai &amp;ldquo;tempat untuk menyebarkan informasi khusus&amp;rdquo;. Misalnya, orang berkata &amp;ldquo;jika ini adalah blog teknologi, kamu seharusnya hanya menulis tentang teknologi secara blak-blakan&amp;rdquo; atau &amp;ldquo;buku harian harus dipisahkan dari pekerjaan&amp;rdquo;.&lt;/p>
&lt;p>Namun, jika kamu terlalu banyak membatasi, bukankah itu menjadi menyesakkan bagi penulis dan pembaca?&lt;/p>
&lt;p>Di blog ini, teknologi memang menjadi topik utamanya. Pemrograman dan penemuan kecil seputar pengembangan. Saya rasa orang yang menyukai cerita seperti itu akan menikmatinya.&lt;/p>
&lt;p>Namun, bukan hanya itu saja.&lt;/p>
&lt;p>Saya juga menulis sedikit demi sedikit tentang penemuan sehari-hari dan hobi. Misalnya, pikiran yang terlintas saat berjalan-jalan atau tentang manga yang baru saja saya baca. Menariknya, hal-hal seperti itu terkadang bisa berguna bagi orang lain secara tidak terduga.&lt;/p>
&lt;p>Beberapa orang mungkin bertanya-tanya, &amp;ldquo;Apakah boleh membicarakan hal-hal yang tidak relevan meskipun ini adalah blog teknologi?&amp;rdquo; Tapi itulah intinya.&lt;/p>
&lt;p>Saya percaya bahwa pekerjaan, hobi, dan masalah sehari-hari semuanya saling terhubung. Oleh karena itu, blog ini juga ditulis dalam &amp;ldquo;hubungan&amp;rdquo; dan &amp;ldquo;aliran&amp;rdquo; seperti itu.&lt;/p>
&lt;p>Jadi, jika ada hal yang menarik perhatian Anda, jangan ragu untuk berkomentar. Pikiran dan kesan Anda sangat kami hargai.&lt;/p>
&lt;p>Saya berharap blog ini bisa menjadi tempat untuk komunikasi yang santai seperti itu.&lt;/p></description></item><item><title>Perawatan Produk Kulit</title><link>http://kenji.blog/id/p/perawatan-produk-kulit/</link><pubDate>Wed, 30 Oct 2024 00:31:46 +0900</pubDate><guid>http://kenji.blog/id/p/perawatan-produk-kulit/</guid><description>&lt;img src="http://kenji.blog/p/%E9%9D%A9%E8%A3%BD%E5%93%81%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9/img.png" alt="Featured image of post Perawatan Produk Kulit" />&lt;p>Baru-baru ini, saya mulai tertarik dengan produk kulit dan telah membeli berbagai barang. Seiring dengan itu, minat saya terhadap perawatan produk kulit juga tumbuh, dan saya telah mengumpulkan beberapa produk terkait yang ingin saya perkenalkan.&lt;/p>
&lt;h1 id="produk-perawatan-kulit-yang-baru-saja-dibeli">Produk Perawatan Kulit yang Baru Saja Dibeli
&lt;/h1>&lt;h2 id="mmowbray-delicate-cream">M.MOWBRAY DELICATE CREAM
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E9%9D%A9%E8%A3%BD%E5%93%81%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9/image1.JPEG"
width="2048"
height="1536"
srcset="http://kenji.blog/p/%E9%9D%A9%E8%A3%BD%E5%93%81%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9/image1_hu2baa2860805224f535a5049b0f15689e_521448_480x0_resize_q75_box.JPEG 480w, http://kenji.blog/p/%E9%9D%A9%E8%A3%BD%E5%93%81%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9/image1_hu2baa2860805224f535a5049b0f15689e_521448_1024x0_resize_q75_box.JPEG 1024w"
loading="lazy"
alt="image1.JPEG"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
>&lt;/p>
&lt;p>Harga: sekitar 1.320 yen&lt;/p>
&lt;p>Krim ini memberikan nutrisi, kelembapan, dan efek fleksibilitas.
Tidak memberikan kilau, tetapi cocok untuk kulit yang membutuhkan banyak kelembapan.
Baunya tidak menyengat, meski ada sedikit aroma.
Karena tidak berwarna, saya rasa krim ini sangat serbaguna. Karena teksturnya yang ringan,
mungkin lebih baik menggunakan sedikit lebih banyak dibandingkan krim lainnya.&lt;/p>
&lt;h2 id="collonil-1909-supreme-creme-de-luxe">Collonil 1909 Supreme Creme de Luxe
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E9%9D%A9%E8%A3%BD%E5%93%81%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9/image3.JPEG"
width="1536"
height="1456"
srcset="http://kenji.blog/p/%E9%9D%A9%E8%A3%BD%E5%93%81%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9/image3_hu2e2775357ae6e9cda8b3181ed1a2c625_440198_480x0_resize_q75_box.JPEG 480w, http://kenji.blog/p/%E9%9D%A9%E8%A3%BD%E5%93%81%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9/image3_hu2e2775357ae6e9cda8b3181ed1a2c625_440198_1024x0_resize_q75_box.JPEG 1024w"
loading="lazy"
alt="image3.JPEG"
class="gallery-image"
data-flex-grow="105"
data-flex-basis="253px"
>&lt;/p>
&lt;p>Harga: sekitar 1.777 yen&lt;/p>
&lt;p>Krim yang terkenal, standar, dan serbaguna yang tidak mudah meninggalkan noda. Krim ini memperbaiki warna kulit dan membuatnya lembap.
Memberikan sedikit kilau. Berwarna putih dan tampaknya juga memiliki efek menolak air.&lt;/p>
&lt;h2 id="mmowbray-shoe-cream-hitam">M.MOWBRAY SHOE CREAM (Hitam)
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E9%9D%A9%E8%A3%BD%E5%93%81%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9/image2.JPEG"
width="1536"
height="1295"
srcset="http://kenji.blog/p/%E9%9D%A9%E8%A3%BD%E5%93%81%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9/image2_hu613b0f0cd2dd5531cf18353d93b52d95_368912_480x0_resize_q75_box.JPEG 480w, http://kenji.blog/p/%E9%9D%A9%E8%A3%BD%E5%93%81%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9/image2_hu613b0f0cd2dd5531cf18353d93b52d95_368912_1024x0_resize_q75_box.JPEG 1024w"
loading="lazy"
alt="image2.JPEG"
class="gallery-image"
data-flex-grow="118"
data-flex-basis="284px"
>&lt;/p>
&lt;p>Harga: sekitar 1.000 yen&lt;/p>
&lt;p>Krim untuk sepatu. Mengandung lilin, minyak, dan pelarut organik.
Memperbaiki warna kulit dan memberikan kilau. Karena berwarna hitam, ini digunakan untuk kulit hitam.
Saya menggunakannya untuk sepatu jas saya.&lt;/p>
&lt;h2 id="mmowbray-stain-remover">M.MOWBRAY STAIN REMOVER
&lt;/h2>&lt;p>Harga: sekitar 700 yen&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/%E9%9D%A9%E8%A3%BD%E5%93%81%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9/image4.JPEG"
width="983"
height="1239"
srcset="http://kenji.blog/p/%E9%9D%A9%E8%A3%BD%E5%93%81%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9/image4_hu683aba9e78ed7fba9d59872956b612e1_217713_480x0_resize_q75_box.JPEG 480w, http://kenji.blog/p/%E9%9D%A9%E8%A3%BD%E5%93%81%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9/image4_hu683aba9e78ed7fba9d59872956b612e1_217713_1024x0_resize_q75_box.JPEG 1024w"
loading="lazy"
alt="image4.JPEG"
class="gallery-image"
data-flex-grow="79"
data-flex-basis="190px"
>&lt;/p>
&lt;p>Ini adalah produk yang didapat saat saya membeli sikat.
Pembersih sepatu berbahan dasar air. Menghilangkan kotoran dari kulit.
Basahi kain secukupnya dan gosok kulit dengan lembut untuk mengangkat kotoran.&lt;/p></description></item><item><title>Pisau Cukur Hanlon</title><link>http://kenji.blog/id/p/pisau-cukur-hanlon/</link><pubDate>Tue, 24 Sep 2024 18:14:34 +0900</pubDate><guid>http://kenji.blog/id/p/pisau-cukur-hanlon/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%8F%E3%83%B3%E3%83%AD%E3%83%B3%E3%81%AE%E5%89%83%E5%88%80/img.png" alt="Featured image of post Pisau Cukur Hanlon" />&lt;h1 id="halo-hari-ini-kita-berbicara-tentang-pisau-cukur-hanlon">Halo! Hari ini kita berbicara tentang &amp;ldquo;Pisau Cukur Hanlon&amp;rdquo;
&lt;/h1>&lt;p>Hari ini saya ingin menulis tentang ide dengan nama yang sedikit aneh yang disebut &amp;ldquo;Pisau Cukur Hanlon&amp;rdquo;. Hanya mendengar namanya mungkin membuat Anda berpikir, &amp;ldquo;Itu kedengarannya menakutkan&amp;hellip;&amp;rdquo;, tetapi sebenarnya ini adalah konsep yang sangat akrab yang memberi kita perspektif yang baik.&lt;/p>
&lt;hr>
&lt;h1 id="pernahkah-anda-berpikir-orang-itu-mungkin-membenciku">Pernahkah Anda berpikir, &amp;ldquo;Orang itu mungkin membenciku&amp;hellip;&amp;rdquo;?
&lt;/h1>&lt;p>Misalnya, pernahkah Anda memiliki pengalaman ini?&lt;/p>
&lt;p>・Balasan lambat di LINE
・Kita saling menatap tetapi saya tidak disapa
・Permintaan saya diabaikan&lt;/p>
&lt;p>Di saat-saat seperti itu, Anda mungkin khawatir dan berpikir, &amp;ldquo;Apakah saya dibenci?&amp;rdquo;
Ini sering terjadi pada saya. Dan saya menjadi sedih sendiri.&lt;/p>
&lt;hr>
&lt;h1 id="apa-itu-pisau-cukur-hanlon">Apa itu Pisau Cukur Hanlon?
&lt;/h1>&lt;p>Di sinilah &amp;ldquo;Pisau Cukur Hanlon&amp;rdquo; berperan.&lt;/p>
&lt;p>Istilah ini aslinya dalam bahasa Inggris adalah &amp;ldquo;Hanlon&amp;rsquo;s Razor&amp;rdquo;.
Maknanya secara kasar seperti ini:&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;Jangan pernah mengaitkan dengan kebencian apa yang cukup dijelaskan oleh kebodohan.&amp;rdquo;&lt;/p>
&lt;/blockquote>
&lt;p>&amp;hellip;Itu cara yang agak kasar untuk mengatakannya.
Untuk mengatakannya sedikit lebih lembut:&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;Bahkan jika orang lain tampaknya bertindak jahat, itu mungkin hanya kesalahan atau kecerobohan.&amp;rdquo;&lt;/p>
&lt;/blockquote>
&lt;p>Itulah idenya.&lt;/p>
&lt;hr>
&lt;h1 id="siapa-yang-mengatakannya-siapa-robert-j-hanlon">Siapa yang mengatakannya? Siapa Robert J. Hanlon?
&lt;/h1>&lt;p>Istilah ini konon pertama kali muncul dalam sebuah buku yang diterbitkan pada tahun 1980 berjudul &amp;ldquo;Murphy’s Law Book Two&amp;rdquo;.&lt;/p>
&lt;p>Ide yang diajukan oleh salah satu penulis, &lt;strong>Robert J. Hanlon&lt;/strong> , digunakan sebagaimana adanya, dan kemudian dikenal sebagai &amp;ldquo;Pisau Cukur Hanlon&amp;rdquo;.&lt;/p>
&lt;p>Omong-omong, &amp;ldquo;Pisau Cukur (Razor)&amp;rdquo; ini seperti alat filosofis yang berarti &amp;ldquo;mari kita singkirkan hal-hal yang tidak perlu dan berpikir sederhana&amp;rdquo;, sebuah frasa yang digunakan untuk mengatur pemikiran, bersama dengan pisau cukur Occam.&lt;/p>
&lt;hr>
&lt;h1 id="berpikir-ada-niat-buruk-itu-melelahkan">Berpikir &amp;ldquo;Ada niat buruk&amp;rdquo; itu melelahkan
&lt;/h1>&lt;p>Misalnya, saat email Anda diabaikan di tempat kerja.&lt;/p>
&lt;p>Berpikir &amp;ldquo;Mengapa mereka tidak membalas? Apakah mereka membenci saya?&amp;rdquo; membuat Anda semakin negatif, bukan.&lt;/p>
&lt;p>Namun, jika Anda memikirkannya baik-baik,
・Tidak sengaja terlewat
・Menulis balasan tetapi tidak mengirimkannya
・Pemberitahuan terkubur di ponsel pintar mereka&lt;/p>
&lt;p>Alasan seperti itu sangat umum.
Dan kita sendiri juga melakukan kesalahan seperti itu.&lt;/p>
&lt;hr>
&lt;h1 id="aneh-rasanya-bagaimana-kita-toleran-terhadap-kesalahan-kita-tetapi-keras-pada-orang-lain">Aneh rasanya bagaimana kita toleran terhadap kesalahan kita tetapi keras pada orang lain
&lt;/h1>&lt;p>Misalnya, saat Anda lupa membalas pesan LINE teman.&lt;/p>
&lt;p>Anda menjawab, &amp;ldquo;Oh, maaf! Saya tidak melihat pemberitahuannya~&amp;rdquo; tanpa niat buruk, bukan?&lt;/p>
&lt;p>Tetapi saat orang lain melakukan hal yang sama kepada Anda, Anda berpikir &amp;ldquo;Saya diabaikan&amp;rdquo;.&lt;/p>
&lt;p>Ini sering terjadi.
Orang-lang sangat memahami keadaan mereka sendiri, tetapi sulit untuk melihat keadaan orang lain.&lt;/p>
&lt;hr>
&lt;h1 id="mengasumsikan-ada-niat-buruk-sebenarnya-merugikan">Mengasumsikan &amp;ldquo;ada niat buruk&amp;rdquo; sebenarnya merugikan
&lt;/h1>&lt;p>Saat seseorang melakukan sesuatu, mengasumsikan bahwa mereka memiliki &amp;ldquo;niat buruk&amp;rdquo; membuat Anda menjadikan orang itu musuh di hati Anda.&lt;/p>
&lt;p>Tetapi sebenarnya, mungkin mereka hanya kikuk, atau mungkin mereka kewalahan dengan hal-hal lain.&lt;/p>
&lt;p>Tentu saja, ada orang yang benar-benar kasar, dan wajar jika merasa terluka jika Anda diperlakukan dengan buruk.&lt;/p>
&lt;p>Tetapi, lebih baik tidak berasumsi bahwa itu &amp;ldquo;pasti niat buruk&amp;rdquo;, hati Anda akan menjadi sedikit lebih ringan.&lt;/p>
&lt;hr>
&lt;h1 id="meskipun-begitu-itu-tidak-berarti-anda-harus-menahan-semuanya">Meskipun begitu, itu tidak berarti Anda harus menahan semuanya
&lt;/h1>&lt;p>Tolong jangan salah paham, saya tidak bermaksud mengatakan &amp;ldquo;Anda terlalu mengkhawatirkan segalanya&amp;rdquo;.&lt;/p>
&lt;p>Saat seseorang melakukan sesuatu yang buruk, tidak apa-apa untuk berpikir &amp;ldquo;Itu mengerikan&amp;rdquo;.&lt;/p>
&lt;p>Namun, alih-alih berasumsi &amp;ldquo;Orang itu pemarah&amp;rdquo; atau &amp;ldquo;Mereka mencoba menyakiti saya dengan sengaja&amp;rdquo;,&lt;/p>
&lt;p>Saya sarankan mungkin ada baiknya untuk sedikit lebih pemaaf dan berpikir, &amp;ldquo;Mungkin ada suatu keadaan&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h1 id="jadi-hanya-dengan-melihat-sedikit-lebih-baik-dapat-mengubah-dunia">Jadi: Hanya dengan melihat sedikit lebih baik dapat mengubah dunia
&lt;/h1>&lt;p>Saya pikir Pisau Cukur Hanlon lebih merupakan &amp;ldquo;cara untuk melindungi hati Anda&amp;rdquo; daripada &amp;ldquo;bersikap baik kepada orang-orang&amp;rdquo;.&lt;/p>
&lt;p>Saat Anda merasakan niat buruk dalam tindakan seseorang, perasaan Anda sendiri juga menjadi tegang.&lt;/p>
&lt;p>Namun, jika Anda dapat berpikir, &amp;ldquo;Mungkin itu hanya kesalahan, atau mereka tidak punya waktu&amp;rdquo;, Anda akan merasa sedikit lebih lega.&lt;/p>
&lt;p>Dengan cara itu, ini adalah ide yang dapat Anda gunakan untuk diri sendiri.&lt;/p>
&lt;hr>
&lt;h1 id="terakhir-silakan-bagikan-pengalaman-anda-juga">Terakhir: Silakan bagikan pengalaman Anda juga
&lt;/h1>&lt;p>Terima kasih banyak telah membaca.&lt;/p>
&lt;p>Jika Anda memiliki cerita di mana Anda berpikir, &amp;ldquo;Saya merasa terganggu di saat seperti ini~&amp;rdquo;, tolong beri tahu saya.&lt;/p>
&lt;p>Hanya dengan mengungkapkan pengalaman Anda dengan kata-kata dapat membuat hati Anda terasa sedikit lega, bukan.&lt;/p>
&lt;p>Sampai jumpa!&lt;/p>
&lt;hr></description></item><item><title>Pengetahuan Dasar Komputer</title><link>http://kenji.blog/id/p/pengetahuan-dasar-komputer/</link><pubDate>Thu, 19 Sep 2024 01:10:20 +0900</pubDate><guid>http://kenji.blog/id/p/pengetahuan-dasar-komputer/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%AE%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AD%98/img.png" alt="Featured image of post Pengetahuan Dasar Komputer" />&lt;h1 id="pengetahuan-dasar-komputer">Pengetahuan Dasar Komputer
&lt;/h1>&lt;p>Halaman ini menjelaskan apa itu komputer.&lt;/p>
&lt;h2 id="definisi-komputer">Definisi Komputer
&lt;/h2>&lt;p>Komputer adalah mesin yang memiliki lima perangkat berikut.&lt;/p>
&lt;ol>
&lt;li>Perangkat input (masukan)&lt;/li>
&lt;li>Perangkat output (keluaran)&lt;/li>
&lt;li>Perangkat penyimpanan (memori)&lt;/li>
&lt;li>Perangkat kontrol (pengendali)&lt;/li>
&lt;li>Perangkat aritmatika&lt;/li>
&lt;/ol>
&lt;p>Secara kasar, komputer adalah mesin yang menerima &lt;code>input&lt;/code> tertentu, melakukan &lt;code>pemrosesan&lt;/code> tertentu, dan &lt;code>mengeluarkan&lt;/code> hasilnya.
Ia dapat &lt;code>menyimpan&lt;/code> data yang dimasukkan, &lt;code>menghitung&lt;/code>, dan &lt;code>mengeluarkan&lt;/code> data tersebut. Perangkat &lt;code>kontrol&lt;/code> memiliki peran untuk mengendalikan keempat perangkat yang disebutkan sebelumnya.&lt;/p>
&lt;h2 id="apa-yang-dibutuhkan-untuk-menjalankan-komputer">Apa yang dibutuhkan untuk menjalankan komputer
&lt;/h2>&lt;p>Untuk menjalankan komputer, selain perangkat keras (hardware), program (software) juga diperlukan.&lt;/p>
&lt;p>Program memberi tahu komputer pemrosesan apa yang harus dilakukan. Program ditulis dalam format yang dapat dipahami oleh komputer.&lt;/p>
&lt;p>Sebagai contoh program, terdapat hal berikut:
Program untuk mencari jumlah dari 1 hingga bilangan bulat yang dimasukkan&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;iostream&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>&lt;span class="k">using&lt;/span> &lt;span class="k">namespace&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">int&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Mengalokasikan ruang memori yang diperlukan
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="kt">int&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sum&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Output
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;Masukkan bilangan bulat: &amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Input
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">cin&lt;/span> &lt;span class="o">&amp;gt;&amp;gt;&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Perhitungan
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="o">++&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="c1">// Perhitungan
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">sum&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Output
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;Jumlah dari 1 hingga &amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">n&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34; adalah &amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">sum&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;.&amp;#34;&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">endl&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Selesai
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Program diubah menjadi bahasa mesin oleh kompilator dan diubah menjadi format yang dapat dieksekusi oleh komputer.&lt;/p></description></item><item><title>Aplikasi iOS yang Direkomendasikan</title><link>http://kenji.blog/id/p/aplikasi-ios-yang-direkomendasikan/</link><pubDate>Wed, 18 Sep 2024 23:31:20 +0900</pubDate><guid>http://kenji.blog/id/p/aplikasi-ios-yang-direkomendasikan/</guid><description>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img.png" alt="Featured image of post Aplikasi iOS yang Direkomendasikan" />&lt;h2 id="aplikasi-ios-yang-direkomendasikan">Aplikasi iOS yang Direkomendasikan
&lt;/h2>&lt;h3 id="xhttpsappsapplecomjpappxid333903271">&lt;a class="link" href="https://apps.apple.com/jp/app/x/id333903271" target="_blank" rel="noopener"
>X&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_2.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_2_hu462c57ec387ca409298a502f8a8b2494_3092_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_2_hu462c57ec387ca409298a502f8a8b2494_3092_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="instagramhttpsappsapplecomjpappinstagramid389801252">&lt;a class="link" href="https://apps.apple.com/jp/app/instagram/id389801252" target="_blank" rel="noopener"
>Instagram&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_1.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_1_huaee4f1dda91fcc48cb464b6a8341c51b_12480_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_1_huaee4f1dda91fcc48cb464b6a8341c51b_12480_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="facebookhttpsappsapplecomjpappfacebookid284882215">&lt;a class="link" href="https://apps.apple.com/jp/app/facebook/id284882215" target="_blank" rel="noopener"
>facebook&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_3.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_3_huc2d1e97510f3a51dfaec535717039904_6505_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_3_huc2d1e97510f3a51dfaec535717039904_6505_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="youtubehttpsappsapplecomjpappyoutubeid544007664">&lt;a class="link" href="https://apps.apple.com/jp/app/youtube/id544007664" target="_blank" rel="noopener"
>youtube&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_4.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_4_huc7ff17a9037ee459ec076969231732ff_2217_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_4_huc7ff17a9037ee459ec076969231732ff_2217_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_4.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="tiktokhttpsappsapplecomjpapptiktok-e38386e382a3e38383e382afe38388e38383e382afid1235601864">&lt;a class="link" href="https://apps.apple.com/jp/app/tiktok-%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF%E3%83%88%E3%83%83%E3%82%AF/id1235601864" target="_blank" rel="noopener"
>TikTok&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_5.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_5_hu586229f9b4cfff262ba6fda24e7ea241_6643_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_5_hu586229f9b4cfff262ba6fda24e7ea241_6643_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_5.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="microsoft-edgehttpsappsapplecomjpappmicrosoft-edge-ai-e38396e383a9e382a6e382b6id1288723196">&lt;a class="link" href="https://apps.apple.com/jp/app/microsoft-edge-ai-%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6/id1288723196" target="_blank" rel="noopener"
>Microsoft Edge&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_6.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_6_hu29f80384ce66070f1c4b087b84d37b0b_8950_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_6_hu29f80384ce66070f1c4b087b84d37b0b_8950_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_6.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="firefoxhttpsappsapplecomjpappfirefox-private-safe-browserid989804926">&lt;a class="link" href="https://apps.apple.com/jp/app/firefox-private-safe-browser/id989804926" target="_blank" rel="noopener"
>Firefox&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_7.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_7_hud4c8d2e9de7d5a057069e1bb8fe7a15f_8457_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_7_hud4c8d2e9de7d5a057069e1bb8fe7a15f_8457_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_7.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="google-chromehttpsappsapplecomjpappgoogle-chromeid535886823">&lt;a class="link" href="https://apps.apple.com/jp/app/google-chrome/id535886823" target="_blank" rel="noopener"
>Google Chrome&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_8.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_8_hucdf12dcf4c62afc76470aea9f650b47a_6392_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_8_hucdf12dcf4c62afc76470aea9f650b47a_6392_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_8.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="chatgpthttpsappsapplecomjpappchatgptid6448311069">&lt;a class="link" href="https://apps.apple.com/jp/app/chatgpt/id6448311069" target="_blank" rel="noopener"
>ChatGPT&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_9.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_9_hu159cd7f606ee564b08e18b29673e8c8f_3046_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_9_hu159cd7f606ee564b08e18b29673e8c8f_3046_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_9.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="linehttpsappsapplecomjpapplineid443904275">&lt;a class="link" href="https://apps.apple.com/jp/app/line/id443904275" target="_blank" rel="noopener"
>LINE&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_10.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_10_hud6f51ba0429c4e9ba264927e068700c9_3739_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_10_hud6f51ba0429c4e9ba264927e068700c9_3739_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_10.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="microsoft-teamshttpsappsapplecomjpappmicrosoft-teamsid1113153706">&lt;a class="link" href="https://apps.apple.com/jp/app/microsoft-teams/id1113153706" target="_blank" rel="noopener"
>Microsoft Teams&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_18.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_18_hue85e52cfe63c3e9fd5f8f47daf0356e9_5147_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_18_hue85e52cfe63c3e9fd5f8f47daf0356e9_5147_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_18.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="notionhttpsappsapplecomjpappnotion-e383a1e383a2-e382bfe382b9e382af-aiid1232780281">&lt;a class="link" href="https://apps.apple.com/jp/app/notion-%E3%83%A1%E3%83%A2-%E3%82%BF%E3%82%B9%E3%82%AF-ai/id1232780281" target="_blank" rel="noopener"
>Notion&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_19.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_19_huc41ff98efdf43db453238da8a6120bce_2546_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_19_huc41ff98efdf43db453238da8a6120bce_2546_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_19.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="goodnotes-6httpsappsapplecomjpappgoodnotes-6id1444383602">&lt;a class="link" href="https://apps.apple.com/jp/app/goodnotes-6/id1444383602" target="_blank" rel="noopener"
>Goodnotes 6&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_20.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_20_hu6abe5128292adbcb18b1e181c0e5636a_3192_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_20_hu6abe5128292adbcb18b1e181c0e5636a_3192_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_20.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="teamviewerhttpsappsapplecomjpappteamviewere381a7e383aae383a2e383bce38388e382b3e383b3e38388e383ade383bce383abid692035811">&lt;a class="link" href="https://apps.apple.com/jp/app/teamviewer%E3%81%A7%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB/id692035811" target="_blank" rel="noopener"
>TeamViewer&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_11.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_11_hu8d24bed80552a75708e386fd8f8d80c0_5132_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_11_hu8d24bed80552a75708e386fd8f8d80c0_5132_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_11.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="dropboxhttpsappsapplecomjpappdropboxid327630330">&lt;a class="link" href="https://apps.apple.com/jp/app/dropbox/id327630330" target="_blank" rel="noopener"
>DropBox&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_12.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_12_hu87adf821381dd24af677cb81324f5e4d_3950_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_12_hu87adf821381dd24af677cb81324f5e4d_3950_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_12.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="githubhttpsappsapplecomjpappgithubid1477376905">&lt;a class="link" href="https://apps.apple.com/jp/app/github/id1477376905" target="_blank" rel="noopener"
>GitHub&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_13.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_13_hu20dbed9536873940b5fb2888a85a5348_4157_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_13_hu20dbed9536873940b5fb2888a85a5348_4157_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_13.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="amazonhttpsappsapplecomjpappamazon-e382b7e383a7e38383e38394e383b3e382b0e382a2e38397e383aaid374254473">&lt;a class="link" href="https://apps.apple.com/jp/app/amazon-%E3%82%B7%E3%83%A7%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0%E3%82%A2%E3%83%97%E3%83%AA/id374254473" target="_blank" rel="noopener"
>Amazon&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_14.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_14_hu76d651bea9048b09443a642f4f41ce86_4111_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_14_hu76d651bea9048b09443a642f4f41ce86_4111_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_14.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="paypayhttpsappsapplecomjpapppaypay-e3839ae382a4e3839ae382a4id1435783608">&lt;a class="link" href="https://apps.apple.com/jp/app/paypay-%E3%83%9A%E3%82%A4%E3%83%9A%E3%82%A4/id1435783608" target="_blank" rel="noopener"
>PayPay&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_15.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_15_huaf4d4b4494b29706fb9cd3ac68c9ce38_4285_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_15_huaf4d4b4494b29706fb9cd3ac68c9ce38_4285_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_15.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="wolframalphahttpsappsapplecomjpappwolframalphaid548861535">&lt;a class="link" href="https://apps.apple.com/jp/app/wolframalpha/id548861535" target="_blank" rel="noopener"
>WolframAlpha&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_16.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_16_hu5eb819bf483304fdad0cb7e0cd72a169_6819_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_16_hu5eb819bf483304fdad0cb7e0cd72a169_6819_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_16.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h3 id="mercarihttpsappsapplecomjpappe38395e383aae3839ee382a2e38397e383aae381afe383a1e383abe382abe383aa-e383a1e383abe3839ae382a4e381aee382b9e3839ee3839be6b1bae6b888e381a7e38282e381a3e381a8e3818ae5be97id667861049">&lt;a class="link" href="https://apps.apple.com/jp/app/%E3%83%95%E3%83%AA%E3%83%9E%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AF%E3%83%A1%E3%83%AB%E3%82%AB%E3%83%AA-%E3%83%A1%E3%83%AB%E3%83%9A%E3%82%A4%E3%81%AE%E3%82%B9%E3%83%9E%E3%83%9B%E6%B1%BA%E6%B8%88%E3%81%A7%E3%82%82%E3%81%A3%E3%81%A8%E3%81%8A%E5%BE%97/id667861049" target="_blank" rel="noopener"
>Mercari&lt;/a>
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_17.png"
width="72"
height="72"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_17_hu9a243187d206781377b6a667e678a3bf_3431_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81ios%E3%82%A2%E3%83%97%E3%83%AA/img_17_hu9a243187d206781377b6a667e678a3bf_3431_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_17.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p></description></item><item><title>Kisah Sepasang Suami Istri Tua dan Seekor Keledai</title><link>http://kenji.blog/id/p/kisah-sepasang-suami-istri-tua-dan-seekor-keledai/</link><pubDate>Wed, 18 Sep 2024 00:56:59 +0900</pubDate><guid>http://kenji.blog/id/p/kisah-sepasang-suami-istri-tua-dan-seekor-keledai/</guid><description>&lt;img src="http://kenji.blog/p/%E8%80%81%E5%A4%AB%E5%A9%A6%E3%81%A8%E3%83%AD%E3%83%90%E3%81%AE%E8%A9%B1/img.png" alt="Featured image of post Kisah Sepasang Suami Istri Tua dan Seekor Keledai" />&lt;h2 id="sepasang-suami-istri-tua-seekor-keledai-dan-masalah-kita-tentang-siapa-yang-harus-didengarkan">Sepasang Suami Istri Tua, Seekor Keledai, dan Masalah Kita tentang &amp;ldquo;Siapa yang Harus Didengarkan&amp;rdquo;
&lt;/h2>&lt;p>Halo semuanya!&lt;/p>
&lt;p>Hari ini saya ingin menulis tentang sesuatu yang sedikit saya pikirkan dari &amp;ldquo;Kisah Sepasang Suami Istri Tua dan Seekor Keledai&amp;rdquo;.&lt;/p>
&lt;p>Saya yakin banyak dari Anda yang pernah mendengarnya. Itu adalah fabel yang terkenal.&lt;/p>
&lt;hr>
&lt;h3 id="apa-itu-kisah-sepasang-suami-istri-tua-dan-seekor-keledai">Apa itu &amp;ldquo;Kisah Sepasang Suami Istri Tua dan Seekor Keledai&amp;rdquo;?
&lt;/h3>&lt;p>Dahulu kala, ada sepasang suami istri yang sudah tua dan seekor keledai.&lt;/p>
&lt;p>Awalnya, sang kakek menunggangi keledai, dan sang nenek berjalan kaki. Kemudian, seorang pejalan kaki berkata:&lt;/p>
&lt;p>&amp;ldquo;Pria macam apa itu, membiarkan istrinya yang sudah tua berjalan kaki sementara dia sendiri yang menungganginya!&amp;rdquo;&lt;/p>
&lt;p>Mendengar hal itu, pasangan tua itu memutuskan bahwa kali ini sang nenek yang akan menunggangi keledai. Kemudian, orang lain berkata:&lt;/p>
&lt;p>&amp;ldquo;Sungguh keterlaluan, seorang wanita menunggang keledai dan menyuruh seorang pria berjalan kaki!&amp;rdquo;&lt;/p>
&lt;p>Kalau begitu, kali ini mereka berdua menunggangi keledai. Lalu mereka diberitahu lagi:&lt;/p>
&lt;p>&amp;ldquo;Kasihan sekali keledai itu, terlalu berat ditumpangi dua orang!&amp;rdquo;&lt;/p>
&lt;p>Kalau begitu, mereka berdua turun dari keledai dan mulai berjalan. Tapi kali ini&amp;hellip;&lt;/p>
&lt;p>&amp;ldquo;Mengapa tidak ada yang menungganginya padahal ada keledai?&amp;rdquo;&lt;/p>
&lt;p>Pada akhirnya, pasangan tua itu benar-benar bingung harus berbuat apa.&lt;/p>
&lt;hr>
&lt;h3 id="mari-kita-dengarkan-pendapat-semua-orang-memang-argumen-yang-masuk-akal-tapi">&amp;ldquo;Mari kita dengarkan pendapat semua orang&amp;rdquo; memang argumen yang masuk akal. Tapi&amp;hellip;
&lt;/h3>&lt;p>Kisah ini sering kali dianggap sebagai pelajaran yang mengatakan, &amp;ldquo;Ah, jika kamu hanya memedulikan apa yang dipikirkan orang lain, itu tidak akan ada akhirnya.&amp;rdquo;&lt;/p>
&lt;p>Namun kenyataannya tidak sesederhana itu.&lt;/p>
&lt;p>Sering kali ada orang yang berkata, &amp;ldquo;Jangan pedulikan apa yang dipikirkan orang lain!&amp;rdquo;&lt;/p>
&lt;p>Namun jika ditanya apakah kamu bisa mengabaikan semuanya, itu agak sulit. Misalnya, saat memposting sesuatu di media sosial. Saat memikirkan apa yang harus dibicarakan di pesta minum perusahaan. Kamu pasti akan mengkhawatirkan reaksi seseorang.&lt;/p>
&lt;p>Itu karena &amp;ldquo;pendapat orang lain&amp;rdquo; terkadang berkaitan dengan keselamatan dan penilaian kita.&lt;/p>
&lt;hr>
&lt;h3 id="namun-jika-kamu-terlalu-terpengaruh-itu-akan-menjadi-menyakitkan">Namun, jika kamu terlalu terpengaruh, itu akan menjadi menyakitkan
&lt;/h3>&lt;p>Saya pikir pasangan tua dalam cerita ini pada awalnya hanya berpikir, &amp;ldquo;Apa yang harus kita lakukan?&amp;rdquo;&lt;/p>
&lt;p>Namun sejauh apa pun kamu bertindak, akan ada &amp;ldquo;seseorang&amp;rdquo; yang mengeluh.&lt;/p>
&lt;p>Lalu mereka mulai berputar-putar, &amp;ldquo;Baiklah, ayo kita lakukan ini selanjutnya&amp;rdquo; atau &amp;ldquo;Apakah kita harus melakukan itu?&amp;rdquo; dan sebelum kamu menyadarinya, kamu kehilangan arah tentang apa yang ingin kamu lakukan.&lt;/p>
&lt;p>Ini adalah cerita yang sering terjadi dalam kehidupan kita sehari-hari juga.&lt;/p>
&lt;p>Ekspektasi atasan, perkataan orang tua, jumlah &amp;ldquo;suka&amp;rdquo; di media sosial. Sambil menyesuaikan diri dengan hal-hal tersebut, pernahkah kamu kehilangan pemahaman tentang apa yang sebenarnya ingin kamu lakukan?&lt;/p>
&lt;hr>
&lt;h3 id="sangat-penting-untuk-memilih-siapa-yang-harus-didengarkan">Sangat penting untuk memilih &amp;ldquo;siapa yang harus didengarkan&amp;rdquo;
&lt;/h3>&lt;p>Jadi, apa yang harus kita lakukan? Yah, tidak ada jawaban yang benar.&lt;/p>
&lt;p>Namun, secara praktis mustahil untuk &amp;ldquo;mengikuti pendapat semua orang&amp;rdquo;.&lt;/p>
&lt;p>Itulah mengapa saya pikir penting untuk memilih sendiri &amp;ldquo;siapa yang harus didengarkan&amp;rdquo;.&lt;/p>
&lt;p>Misalnya, &amp;ldquo;hanya dengarkan nasihat orang yang kamu hormati&amp;rdquo; atau &amp;ldquo;gunakan sebagai standar apakah kamu dapat meyakinkan dirimu di masa lalu&amp;rdquo;.&lt;/p>
&lt;p>Bahkan jika itu hanya satu standar yang membuatmu berpikir, &amp;ldquo;Saya ingin mempercayai ini&amp;rdquo;, kebisingan dunia akan sedikit berkurang.&lt;/p>
&lt;hr>
&lt;h3 id="jadi-ketika-kamu-merasa-sedikit-lelah">Jadi, ketika kamu merasa sedikit lelah
&lt;/h3>&lt;p>Mungkin ada baiknya mengingat kisah &amp;ldquo;Sepasang Suami Istri Tua dan Seekor Keledai&amp;rdquo;.&lt;/p>
&lt;p>Sangat mudah untuk mulai mengkhawatirkan apa yang dipikirkan orang lain, bukan?&lt;/p>
&lt;p>Namun, jika kamu merespons semua orang, pada akhirnya kamu juga akan turun dari keledai.&lt;/p>
&lt;p>Terkadang, jika kamu bisa berpikir, &amp;ldquo;Mungkin tidak apa-apa untuk memprioritaskan perasaanku sendiri&amp;rdquo;, kamu mungkin akan merasa hatimu sedikit lebih ringan.&lt;/p>
&lt;hr></description></item><item><title>Mengapa Hampir Mustahil Membuat LED Biru</title><link>http://kenji.blog/id/p/mengapa-hampir-mustahil-membuat-led-biru/</link><pubDate>Sun, 15 Sep 2024 00:43:52 +0900</pubDate><guid>http://kenji.blog/id/p/mengapa-hampir-mustahil-membuat-led-biru/</guid><description>&lt;img src="http://kenji.blog/p/%E3%81%AA%E3%81%9C%E9%9D%92%E8%89%B2led%E3%82%92%E4%BD%9C%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%BB%E3%81%BC%E4%B8%8D%E5%8F%AF%E8%83%BD%E3%81%A0%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%8B/img.png" alt="Featured image of post Mengapa Hampir Mustahil Membuat LED Biru" />&lt;h2 id="mengapa-hampir-mustahil-membuat-led-biru">Mengapa Hampir Mustahil Membuat LED Biru
&lt;/h2>&lt;p>Pengenalan program dokumenter berbahasa Inggris. Sangat menarik. Saya memiliki kesan kuat bahwa orang Jepang yang memecahkan masalah yang sangat sulit ini awalnya tidak terlalu dihargai di Jepang.&lt;/p>
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/AF8d72mA41M"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div></description></item><item><title>Saya Mencoba Menginstal Qt Extension Pack di Visual Studio Code</title><link>http://kenji.blog/id/p/visual-studio-code-%E3%81%AB-qt-extension-pack-%E3%82%92%E5%85%A5%E3%82%8C%E3%81%A6%E3%81%BF%E3%81%9F/</link><pubDate>Fri, 13 Sep 2024 00:53:53 +0900</pubDate><guid>http://kenji.blog/id/p/visual-studio-code-%E3%81%AB-qt-extension-pack-%E3%82%92%E5%85%A5%E3%82%8C%E3%81%A6%E3%81%BF%E3%81%9F/</guid><description>&lt;img src="http://kenji.blog/p/visual-studio-code-%E3%81%AB-qt-extension-pack-%E3%82%92%E5%85%A5%E3%82%8C%E3%81%A6%E3%81%BF%E3%81%9F/img_1.png" alt="Featured image of post Saya Mencoba Menginstal Qt Extension Pack di Visual Studio Code" />&lt;h1 id="memulai-pengembangan-qt-di-vscode-cara-menginstal-qt-extension-pack">Memulai Pengembangan Qt di VSCode: Cara Menginstal Qt Extension Pack
&lt;/h1>&lt;p>Halo, saya Kenji.
Kali ini saya akan memperkenalkan &amp;ldquo;Cara mengatur lingkungan pengembangan Qt di Visual Studio Code (selanjutnya disebut VSCode)&amp;rdquo;.&lt;/p>
&lt;p>Akhir-akhir ini, selain Qt Creator resmi, semakin banyak orang yang ingin mengembangkan aplikasi Qt menggunakan VSCode yang ringan dan sangat dapat diperluas.
Bagi Anda yang merasa demikian, saya merekomendasikan ** &amp;ldquo;Qt Extension Pack&amp;rdquo; **.
Hanya dengan menginstal paket ekstensi ini, Anda akan mendapatkan semua ekstensi utama terkait Qt sekaligus.&lt;/p>
&lt;hr>
&lt;h2 id="target-pembaca">Target Pembaca
&lt;/h2>&lt;ul>
&lt;li>Mereka yang ingin mulai mengembangkan aplikasi GUI menggunakan Qt&lt;/li>
&lt;li>Mereka yang ingin mengembangkan menggunakan VSCode daripada Qt Creator&lt;/li>
&lt;li>Mereka yang merasa repot mencari ekstensi satu per satu&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="prasyarat">Prasyarat
&lt;/h2>&lt;ul>
&lt;li>VSCode sudah terinstal
(&lt;a class="link" href="https://code.visualstudio.com/" target="_blank" rel="noopener"
>Anda dapat mengunduhnya secara gratis dari situs web resmi&lt;/a>)&lt;/li>
&lt;li>Pustaka inti Qt sudah terinstal (&lt;a class="link" href="https://www.qt.io/" target="_blank" rel="noopener"
>Situs web resmi Qt&lt;/a>)&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="apa-itu-qt-extension-pack">Apa itu Qt Extension Pack?
&lt;/h2>&lt;p>Qt Extension Pack adalah paket ekstensi untuk VSCode.
Dengan menginstalnya, fitur-fitur berikut akan ditambahkan secara otomatis:&lt;/p>
&lt;ul>
&lt;li>Dukungan file &lt;code>.ui&lt;/code> (Qt Designer)&lt;/li>
&lt;li>Sorotan sintaks untuk file &lt;code>.pro&lt;/code> dan file &lt;code>.qrc&lt;/code>&lt;/li>
&lt;li>Penyelesaian kode C++ untuk Qt, pembuatan, dan dukungan debugging&lt;/li>
&lt;li>Qt Resource Browser (referensi sumber daya)&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="langkah-langkah-instalasi">Langkah-langkah Instalasi
&lt;/h2>&lt;h3 id="1-buka-vscode">1. Buka VSCode
&lt;/h3>&lt;p>Pertama, jalankan VSCode.&lt;/p>
&lt;h3 id="2-buka-tampilan-ekstensi">2. Buka Tampilan Ekstensi
&lt;/h3>&lt;p>Klik bilah aktivitas di sebelah kiri (ikon blok persegi) untuk menampilkan &amp;ldquo;Ekstensi&amp;rdquo;.&lt;/p>
&lt;p>Atau Anda dapat menekan pintasan
&lt;code>Ctrl + Shift + X&lt;/code>.&lt;/p>
&lt;h3 id="3-cari-qt-extension-pack">3. Cari &amp;ldquo;Qt Extension Pack&amp;rdquo;
&lt;/h3>&lt;p>Masukkan kata kunci berikut di bilah pencarian:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Qt Extension Pack
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;img src="http://kenji.blog/p/visual-studio-code-%E3%81%AB-qt-extension-pack-%E3%82%92%E5%85%A5%E3%82%8C%E3%81%A6%E3%81%BF%E3%81%9F/img.png"
width="867"
height="228"
srcset="http://kenji.blog/p/visual-studio-code-%E3%81%AB-qt-extension-pack-%E3%82%92%E5%85%A5%E3%82%8C%E3%81%A6%E3%81%BF%E3%81%9F/img_hua3a606fe260b4f1c55a0f37b6ed054ec_30325_480x0_resize_box_3.png 480w, http://kenji.blog/p/visual-studio-code-%E3%81%AB-qt-extension-pack-%E3%82%92%E5%85%A5%E3%82%8C%E3%81%A6%E3%81%BF%E3%81%9F/img_hua3a606fe260b4f1c55a0f37b6ed054ec_30325_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="380"
data-flex-basis="912px"
>&lt;/p>
&lt;h3 id="4-klik-tombol-instal">4. Klik Tombol Instal
&lt;/h3>&lt;p>Setelah paket yang dituju muncul, klik tombol &amp;ldquo;Instal&amp;rdquo;.
Ini akan menginstal beberapa ekstensi berikut sekaligus:&lt;/p>
&lt;ul>
&lt;li>Qt Language Support&lt;/li>
&lt;li>QML Support&lt;/li>
&lt;li>Qt Designer Integration&lt;/li>
&lt;li>CMake Tools (wajib untuk pengembangan Qt berbasis CMake)&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="tambahan-pengaturan-proyek-contoh-cmake--qt">Tambahan Pengaturan Proyek (Contoh CMake + Qt)
&lt;/h2>&lt;p>Jika Anda menggunakan Qt berbasis CMake, kami merekomendasikan kombinasi dengan ekstensi berikut:&lt;/p>
&lt;ul>
&lt;li>&lt;a class="link" href="https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools" target="_blank" rel="noopener"
>CMake Tools&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://marketplace.visualstudio.com/items?itemName=twxs.cmake" target="_blank" rel="noopener"
>CMake Language Support&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Selain itu, jika Anda menambahkan deskripsi berikut ke CMakeLists.txt, integrasi dengan Qt akan menjadi lancar:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cmake" data-lang="cmake">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">find_package&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">Qt6&lt;/span> &lt;span class="s">REQUIRED&lt;/span> &lt;span class="s">COMPONENTS&lt;/span> &lt;span class="s">Widgets&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="err">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="err">&lt;/span>&lt;span class="nb">target_link_libraries&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">MyApp&lt;/span> &lt;span class="s">PRIVATE&lt;/span> &lt;span class="s">Qt6::Widgets&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="err">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="bonus-bagaimana-cara-membuka-file-ui">Bonus: Bagaimana cara membuka file .ui?
&lt;/h2>&lt;p>File &lt;code>.ui&lt;/code> dapat diedit di Qt Designer.
Di VSCode, Anda dapat mengklik kanan file &lt;code>.ui&lt;/code> → pilih &lt;code>Open with Qt Designer&lt;/code> (Qt Designer harus disertakan dalam variabel lingkungan &lt;code>PATH&lt;/code>).&lt;/p>
&lt;hr>
&lt;h2 id="kesimpulan">Kesimpulan
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Langkah&lt;/th>
&lt;th>Deskripsi&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1&lt;/td>
&lt;td>Jalankan VSCode&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>2&lt;/td>
&lt;td>Buka panel Ekstensi&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>3&lt;/td>
&lt;td>Cari &amp;ldquo;Qt Extension Pack&amp;rdquo;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>4&lt;/td>
&lt;td>Klik tombol Instal&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Membangun lingkungan Qt di VSCode kini jauh lebih mudah dari sebelumnya.
Ia memiliki fitur yang cukup untuk menjadi alternatif bagi Qt Creator, dan disarankan bagi mereka yang ingin bekerja dengan ringan.&lt;/p>
&lt;hr>
&lt;h2 id="kumpulan-tautan-yang-disarankan">Kumpulan Tautan yang Disarankan
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://www.qt.io/" target="_blank" rel="noopener"
>Situs resmi Qt&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://marketplace.visualstudio.com/items?itemName=TheQtCompany.qt" target="_blank" rel="noopener"
>Qt Extension Pack - Visual Studio Marketplace&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://code.visualstudio.com/" target="_blank" rel="noopener"
>Situs resmi VSCode&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools" target="_blank" rel="noopener"
>Ekstensi CMake Tools&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="akhir-kata">Akhir Kata
&lt;/h2>&lt;p>Ke depannya, saya berencana untuk terus mengembangkan menggunakan alat UI Qt dan QML di lingkungan ini.
Lain kali, saya berencana untuk menjelaskan ** cara membangun &amp;amp; menjalankan aplikasi Hello World di Qt dari VSCode **.&lt;/p>
&lt;p>Sampai jumpa!&lt;/p></description></item><item><title>Cara Memeriksa Apakah iPhone Anda Terkunci SIM</title><link>http://kenji.blog/id/p/cara-memeriksa-apakah-iphone-anda-terkunci-sim/</link><pubDate>Thu, 12 Sep 2024 00:32:11 +0900</pubDate><guid>http://kenji.blog/id/p/cara-memeriksa-apakah-iphone-anda-terkunci-sim/</guid><description>&lt;img src="http://kenji.blog/p/iphone%E3%81%ABsim%E3%83%AD%E3%83%83%E3%82%AF%E3%81%8C%E3%81%8B%E3%81%8B%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8B%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Memeriksa Apakah iPhone Anda Terkunci SIM" />&lt;h1 id="cara-memeriksa-apakah-iphone-anda-terkunci-sim">Cara Memeriksa Apakah iPhone Anda Terkunci SIM
&lt;/h1>&lt;p>&lt;code>Layar Utama&lt;/code> ＞ &lt;code>Pengaturan&lt;/code> ＞ &lt;code>Umum&lt;/code> ＞ &lt;code>Mengenai&lt;/code> ＞ &lt;code>Kunci Penyedia Layanan&lt;/code>&lt;/p>
&lt;p>Periksa apakah tampilannya menunjukkan &lt;code>Tidak ada pembatasan SIM&lt;/code> atau &lt;code>SIM terkunci&lt;/code>.&lt;/p></description></item><item><title>Dugaan P≠NP</title><link>http://kenji.blog/id/p/pnp%E4%BA%88%E6%83%B3/</link><pubDate>Wed, 11 Sep 2024 02:22:39 +0900</pubDate><guid>http://kenji.blog/id/p/pnp%E4%BA%88%E6%83%B3/</guid><description>&lt;h1 id="ringkasan">Ringkasan
&lt;/h1>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Kelas P adalah kelas masalah yang dapat diputuskan dalam waktu polinomial pada mesin Turing deterministik, dan kelas NP adalah kelas masalah di mana, ketika diberikan bukti bahwa jawabannya adalah Ya (disebut Saksi), kebenaran Saksi tersebut dapat diverifikasi dalam waktu polinomial (ini disebut verifikasi). Karena masalah yang dapat diputuskan dalam waktu polinomial dapat diverifikasi dalam waktu polinomial, jelas bahwa P⊆NP, namun belum jelas apakah P merupakan himpunan bagian sejati dari NP. Walaupun belum ada buktinya, banyak peneliti percaya bahwa P≠NP. Dugaan bahwa kelas P dan kelas NP tidak sama disebut &amp;#34;Dugaan P≠NP&amp;#34;.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Situs referensi : &lt;a class="link" href="https://daigakudenki.com/np-hard/" target="_blank" rel="noopener"
>https://daigakudenki.com/np-hard/&lt;/a>&lt;/p></description></item><item><title>Saya Kembali Menerima Penghargaan Microsoft MVP (2024-2025)</title><link>http://kenji.blog/id/p/saya-kembali-menerima-penghargaan-microsoft-mvp-2024-2025/</link><pubDate>Tue, 03 Sep 2024 21:25:20 +0900</pubDate><guid>http://kenji.blog/id/p/saya-kembali-menerima-penghargaan-microsoft-mvp-2024-2025/</guid><description>&lt;img src="http://kenji.blog/p/microsoft-mvp2024-2025%E3%82%92%E5%86%8D%E5%8F%97%E8%B3%9E%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F/img.png" alt="Featured image of post Saya Kembali Menerima Penghargaan Microsoft MVP (2024-2025)" />&lt;h1 id="saya-kembali-menerima-penghargaan-microsoft-mvp-2024-2025">Saya Kembali Menerima Penghargaan Microsoft MVP (2024-2025)
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/p/microsoft-mvp2024-2025%E3%82%92%E5%86%8D%E5%8F%97%E8%B3%9E%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F/img_1.png"
width="510"
height="680"
srcset="http://kenji.blog/p/microsoft-mvp2024-2025%E3%82%92%E5%86%8D%E5%8F%97%E8%B3%9E%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F/img_1_hu43fc94f004bc47efe4ebeb44e3c1c9ff_744182_480x0_resize_box_3.png 480w, http://kenji.blog/p/microsoft-mvp2024-2025%E3%82%92%E5%86%8D%E5%8F%97%E8%B3%9E%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F/img_1_hu43fc94f004bc47efe4ebeb44e3c1c9ff_744182_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img\_1.png"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
>&lt;/p>
&lt;p>Halo, saya kenji.
Saya ingin mengabarkan bahwa tahun ini saya kembali menerima penghargaan &lt;strong>Microsoft MVP (Most Valuable Professional)&lt;/strong>. Ini adalah penghargaan ke-8 saya.&lt;/p>
&lt;p>Karena ini adalah kesempatan yang bagus, saya ingin menulis sedikit tentang apa itu MVP.&lt;/p>
&lt;hr>
&lt;h2 id="apa-itu-microsoft-mvp">Apa itu Microsoft MVP?
&lt;/h2>&lt;p>Meskipun disebut MVP, ini bukan tentang pemain terbaik dalam olahraga (kadang saya ditanya tentang hal ini&amp;hellip;).
&lt;strong>Microsoft MVP (Most Valuable Professional)&lt;/strong> adalah gelar yang diberikan kepada orang-orang yang secara aktif membagikan pengetahuan dan pengalaman mereka terkait teknologi Microsoft kepada komunitas.&lt;/p>
&lt;p>Menulis blog teknologi, menjawab pertanyaan di situs Q&amp;amp;A,
mempublikasikan kode sampel, menjadi pembicara di acara.
Aktivitas yang gigih seperti &amp;ldquo;berbagi apa yang Anda ketahui dalam bentuk yang bermanfaat bagi orang lain&amp;rdquo; – itulah yang dievaluasi.&lt;/p>
&lt;p>Ada pemenang di seluruh dunia, tetapi jumlahnya terbatas setiap tahun, dan tidak mudah untuk menerima penghargaan ini kembali.
Dalam keadaan seperti itu, saya sangat bersyukur bisa kembali diakui.&lt;/p>
&lt;hr>
&lt;h2 id="tentang-alasan-menerima-penghargaan">Tentang Alasan Menerima Penghargaan
&lt;/h2>&lt;p>Penghargaan kali ini adalah penghargaan kembali dalam kategori &amp;ldquo;Developer Technologies&amp;rdquo;.
Selama setahun terakhir, saya melakukan aktivitas seperti ini:&lt;/p>
&lt;ul>
&lt;li>Menulis blog tentang teknologi terkait Microsoft&lt;/li>
&lt;li>Memposting jawaban di situs Q&amp;amp;A teknis&lt;/li>
&lt;li>Mempublikasikan kode sampel di GitHub&lt;/li>
&lt;li>Berbicara di kelompok belajar dan acara teknologi, dll.&lt;/li>
&lt;/ul>
&lt;p>Tidak ada yang istimewa dari semua ini, tetapi
saya secara sadar mencoba membagikan &amp;ldquo;hal-hal yang saya coba dan berhasil&amp;rdquo; serta &amp;ldquo;hal-hal yang membuat saya tersandung tetapi berhasil dipecahkan&amp;rdquo;
dalam bentuk yang mungkin berguna, sekecil apa pun.&lt;/p>
&lt;p>Saya benar-benar senang bahwa ini telah membuahkan hasil seperti ini.&lt;/p>
&lt;hr>
&lt;h2 id="tentang-masa-depan">Tentang Masa Depan
&lt;/h2>&lt;p>Dunia teknologi bergerak sangat cepat, dan hanya untuk mengikutinya saja sudah sulit.
Namun justru karena itu, saya merasa ada artinya berbagi &amp;ldquo;informasi langsung&amp;rdquo; seperti bagaimana rasanya saat benar-benar digunakan, apa yang sulit dipahami.&lt;/p>
&lt;p>Saya akan terus melanjutkannya tanpa memaksakan diri, dengan kecepatan saya sendiri.
Saya akan senang jika bisa menyampaikan informasi yang membuat seseorang berpikir, &amp;ldquo;Ah, itu membantu,&amp;rdquo; dalam bentuk apa pun.&lt;/p>
&lt;p>Saya menantikan dukungan Anda yang berkelanjutan di masa depan.&lt;/p></description></item><item><title>Cara mengunduh video YouTube menggunakan yt-dlp.exe</title><link>http://kenji.blog/id/p/yt-dlp.exe-%E3%81%AB%E3%82%88%E3%82%8B-youtube-%E5%8B%95%E7%94%BB%E3%81%AE%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E6%96%B9%E6%B3%95/</link><pubDate>Tue, 03 Sep 2024 14:09:26 +0900</pubDate><guid>http://kenji.blog/id/p/yt-dlp.exe-%E3%81%AB%E3%82%88%E3%82%8B-youtube-%E5%8B%95%E7%94%BB%E3%81%AE%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/yt-dlp.exe-%E3%81%AB%E3%82%88%E3%82%8B-youtube-%E5%8B%95%E7%94%BB%E3%81%AE%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E6%96%B9%E6%B3%95/img_1.png" alt="Featured image of post Cara mengunduh video YouTube menggunakan yt-dlp.exe" />&lt;h1 id="apa-itu-yt-dlp">Apa itu yt-dlp
&lt;/h1>&lt;p>&lt;code>yt-dlp&lt;/code> adalah alat baris perintah untuk mengunduh video YouTube.
Selain mengunduh video, Anda juga dapat mengunduhnya sebagai file musik dalam format mp3.&lt;/p>
&lt;h2 id="mengunduh-dan-menginstal">Mengunduh dan Menginstal
&lt;/h2>&lt;ol>
&lt;li>Unduh yt-dlp.exe terbaru dari &lt;a class="link" href="https://github.com/yt-dlp/yt-dlp/releases" target="_blank" rel="noopener"
>halaman rilis yt-dlp&lt;/a>.&lt;/li>
&lt;li>Tempatkan yt-dlp.exe di folder mana pun.&lt;/li>
&lt;li>Tambahkan jalur folder yt-dlp.exe ke variabel lingkungan Path.&lt;/li>
&lt;/ol>
&lt;h2 id="cara-menggunakan">Cara Menggunakan
&lt;/h2>&lt;p>Jalankan yt-dlp.exe di command prompt dan tentukan URL video YouTube.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">yt-dlp.exe &amp;#34;https://www.youtube.com/watch?v=VIDEO_ID&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>※ Argumennya juga bisa hanya bagian VIDEO_ID saja.&lt;/p>
&lt;p>Jika Anda ingin mengunduhnya sebagai file musik mp3, jalankan perintah berikut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">yt-dlp.exe --extract-audio --audio-format mp3 --embed-thumbnail --add-metadata &amp;#34;https://www.youtube.com/watch?v=VIDEO_ID&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Sekarang, video akan diunduh ke direktori tempat Anda menjalankan perintah tersebut.&lt;/p>
&lt;p>Selesai.&lt;/p></description></item><item><title>Tautan Video Pendek</title><link>http://kenji.blog/id/p/tautan-video-pendek/</link><pubDate>Sun, 25 Aug 2024 16:24:35 +0900</pubDate><guid>http://kenji.blog/id/p/tautan-video-pendek/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E5%8B%95%E7%94%BB%E3%83%AA%E3%83%B3%E3%82%AF/img.png" alt="Featured image of post Tautan Video Pendek" />&lt;ol>
&lt;li>Sepak bola - Anak Gawang&lt;/li>
&lt;/ol>
&lt;blockquote class="tiktok-embed" cite="https://www.tiktok.com/@gg211204/video/7398347526975294738" data-video-id="7398347526975294738" style="max-width: 605px;min-width: 325px;" > &lt;section> &lt;a target="_blank" title="@gg211204" href="https://www.tiktok.com/@gg211204?refer=embed">@gg211204&lt;/a> 『Hari dimana anak gawang menjadi pahlawan』 Anak gawang yang menyelamatkan tim pada hari itu kemudian diundang ke klub dan makan bersama para pemain. &lt;a title="Tottenham" target="_blank" href="https://www.tiktok.com/tag/%E3%83%88%E3%83%83%E3%83%86%E3%83%8A%E3%83%A0?refer=embed">#Tottenham&lt;/a> &lt;a title="Spurs" target="_blank" href="https://www.tiktok.com/tag/%E3%82%B9%E3%83%91%E3%83%BC%E3%82%BA?refer=embed">#Spurs&lt;/a> &lt;a title="Mourinho" target="_blank" href="https://www.tiktok.com/tag/%E3%83%A2%E3%82%A6%E3%83%AA%E3%83%BC%E3%83%8B%E3%83%A7?refer=embed">#Mourinho&lt;/a> &lt;a title="Anak Gawang" target="_blank" href="https://www.tiktok.com/tag/%E3%83%9C%E3%83%BC%E3%83%AB%E3%83%9C%E3%83%BC%E3%82%A4?refer=embed">#AnakGawang&lt;/a> &lt;a target="_blank" title="♬ original sound - じょり" href="https://www.tiktok.com/music/original-sound-じょり-7398347563419601680?refer=embed">♬ original sound - じょり&lt;/a> &lt;/section> &lt;/blockquote> &lt;script async src="https://www.tiktok.com/embed.js">&lt;/script>
&lt;ol start="2">
&lt;li>Starbucks
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/P3pSGIWng-E"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;/ol></description></item><item><title>Kutipan Albert Einstein</title><link>http://kenji.blog/id/p/kutipan-albert-einstein/</link><pubDate>Sat, 24 Aug 2024 18:38:47 +0900</pubDate><guid>http://kenji.blog/id/p/kutipan-albert-einstein/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%A2%E3%82%A4%E3%83%B3%E3%82%B7%E3%83%A5%E3%82%BF%E3%82%A4%E3%83%B3%E3%81%AE%E5%90%8D%E8%A8%80/Solvay_conference_1927.jpg" alt="Featured image of post Kutipan Albert Einstein" />&lt;p>Halo semuanya!&lt;/p>
&lt;p>Hari ini, saya ingin berbicara tentang kutipan dari Albert Einstein.&lt;/p>
&lt;hr>
&lt;h2 id="dunia-tidak-menghargai-perbuatan-baik-anda">Dunia tidak menghargai perbuatan baik Anda?
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Dunia tidak akan pernah menghargai sejuta kebaikan yang Anda lakukan.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tetapi mereka akan mengkritik Anda untuk satu kesalahan yang Anda perbuat...
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Namun, jangan berkecil hati
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;#34;Selalu bangkit di atas semua tawa dan kritik. Tetaplah kuat.&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">- Albert Einstein
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Kata-kata ini konon diucapkan oleh Einstein. Hal ini dengan tajam menunjukkan kerasnya masyarakat yang kita rasakan setiap hari dan bias dalam penilaian orang-orang.&lt;/p>
&lt;hr>
&lt;h2 id="meskipun-begitu-teruslah-bangkit">Meskipun begitu, teruslah bangkit
&lt;/h2>&lt;p>&amp;ldquo;Selalu bangkit di atas semua tawa dan kritik. Tetaplah kuat.&amp;rdquo;&lt;/p>
&lt;p>Kelanjutan dari kutipan ini dapat dianggap sebagai jawaban Einstein terhadap kenyataan pahit yang disebutkan di atas. Hal ini mengajarkan kita pentingnya untuk tidak menyerah pada kritik atau ejekan, dan terus bergerak maju dengan percaya pada diri sendiri.&lt;/p>
&lt;hr>
&lt;h2 id="menerapkan-ajaran-einstein-dalam-kehidupan-sehari-hari">Menerapkan ajaran Einstein dalam kehidupan sehari-hari
&lt;/h2>&lt;p>Kutipan ini sangat berkaitan erat dengan kehidupan sehari-hari kita. Misalnya, upaya Anda di tempat kerja mungkin tidak diakui, dan hanya kesalahan kecil yang menonjol. Atau mungkin pernyataan Anda di media sosial sebagian dipotong dan dikritik.&lt;/p>
&lt;p>Di saat-saat seperti itu, tolong ingat kata-kata Einstein ini. Sangat penting untuk mempertahankan keyakinan Anda sendiri daripada terpengaruh oleh penilaian orang lain.&lt;/p>
&lt;hr>
&lt;h2 id="kesimpulan">Kesimpulan
&lt;/h2>&lt;p>Kutipan dari Einstein ini mengajarkan kita pentingnya &amp;ldquo;hidup dengan percaya pada diri sendiri tanpa terpengaruh oleh penilaian orang lain&amp;rdquo;. Mari kita miliki keberanian untuk mengikuti jalan yang kita yakini tanpa menyerah pada kritik atau ejekan.&lt;/p>
&lt;p>Terakhir, kata-kata Einstein sekali lagi.&lt;/p>
&lt;blockquote>
&lt;p>** &amp;ldquo;Selalu bangkit di atas semua tawa dan kritik. Tetaplah kuat.&amp;rdquo; **&lt;/p>
&lt;/blockquote>
&lt;p>Saya berharap kata-kata ini bergema di hati Anda dan menginspirasi Anda untuk mengambil langkah positif ke depan.&lt;/p></description></item><item><title>Kode Bahasa C untuk Menghasilkan Bilangan Prima</title><link>http://kenji.blog/id/p/%E7%B4%A0%E6%95%B0%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8Bc%E8%A8%80%E8%AA%9E%E3%82%B3%E3%83%BC%E3%83%89/</link><pubDate>Sat, 24 Aug 2024 09:38:10 +0900</pubDate><guid>http://kenji.blog/id/p/%E7%B4%A0%E6%95%B0%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8Bc%E8%A8%80%E8%AA%9E%E3%82%B3%E3%83%BC%E3%83%89/</guid><description>&lt;img src="http://kenji.blog/p/%E7%B4%A0%E6%95%B0%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8Bc%E8%A8%80%E8%AA%9E%E3%82%B3%E3%83%BC%E3%83%89/img.png" alt="Featured image of post Kode Bahasa C untuk Menghasilkan Bilangan Prima" />&lt;p>Berikut ini adalah kode sederhana dalam bahasa C untuk menghasilkan bilangan prima dalam rentang yang ditentukan. Dalam contoh ini, kita mencantumkan bilangan prima dari 1 hingga n.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;stdio.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;stdbool.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">bool&lt;/span> &lt;span class="nf">isPrime&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">num&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">num&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="nb">false&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">num&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="nb">true&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">num&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span> &lt;span class="o">||&lt;/span> &lt;span class="n">num&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">3&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="nb">false&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="n">num&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="mi">6&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">num&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span> &lt;span class="o">||&lt;/span> &lt;span class="n">num&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="nb">false&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="nb">true&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">void&lt;/span> &lt;span class="nf">printPrimes&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;2 &amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">isPrime&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;%d &amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">int&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Masukkan nilai maksimum rentang untuk menghasilkan bilangan prima: &amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">scanf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;%d&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Bilangan prima dari 1 hingga %d adalah sebagai berikut:&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">printPrimes&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Kode ini bekerja sebagai berikut:&lt;/p>
&lt;ol>
&lt;li>Fungsi isPrime: Menentukan apakah angka yang diberikan adalah bilangan prima. Demi efisiensi, pertama-tama diperiksa apakah habis dibagi 2 dan 3, dan kemudian dilanjutkan dengan memeriksa kelipatan 6.&lt;/li>
&lt;li>Fungsi printPrimes: Mencetak bilangan prima dalam rentang yang ditentukan. Angka 2 dicetak terlebih dahulu, dan kemudian hanya bilangan ganjil yang diperiksa.&lt;/li>
&lt;li>Fungsi main: Meminta pengguna untuk memasukkan nilai maksimum rentang, dan mencetak bilangan prima dalam rentang tersebut.&lt;/li>
&lt;/ol>
&lt;p>Saat kode ini dikompilasi dan dijalankan, bilangan prima dalam rentang yang ditentukan akan ditampilkan.&lt;/p></description></item><item><title>Janganlah Engkau Mati</title><link>http://kenji.blog/id/p/janganlah-engkau-mati/</link><pubDate>Thu, 25 Jul 2024 13:16:47 +0900</pubDate><guid>http://kenji.blog/id/p/janganlah-engkau-mati/</guid><description>&lt;p>&lt;img src="http://kenji.blog/p/%E5%90%9B%E6%AD%BB%E3%81%AB%E3%81%9F%E3%81%BE%E3%81%B5%E3%81%93%E3%81%A8%E3%81%AA%E3%81%8B%E3%82%8C/img.png"
width="1080"
height="1080"
srcset="http://kenji.blog/p/%E5%90%9B%E6%AD%BB%E3%81%AB%E3%81%9F%E3%81%BE%E3%81%B5%E3%81%93%E3%81%A8%E3%81%AA%E3%81%8B%E3%82%8C/img_hub1fb50838efd9b9ec0f364c86e062d91_1677486_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%90%9B%E6%AD%BB%E3%81%AB%E3%81%9F%E3%81%BE%E3%81%B5%E3%81%93%E3%81%A8%E3%81%AA%E3%81%8B%E3%82%8C/img_hub1fb50838efd9b9ec0f364c86e062d91_1677486_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h1 id="akiko-yosano">Akiko Yosano
&lt;/h1>&lt;p>&lt;strong>&amp;ldquo;Janganlah Engkau Mati&amp;rdquo;&lt;/strong>&lt;/p>
&lt;p>―― Meratapi adikku di pasukan pengepungan Port Arthur&lt;/p>
&lt;p>Ah adikku, aku menangis untukmu,
Janganlah engkau mati,
Karena engkau lahir paling akhir
Kasih sayang orang tua lebih besar kepadamu,
Apakah orang tua memberi pisau di tanganmu
Dan mengajarkanmu untuk membunuh orang?
Apakah mereka membesarkanmu hingga usia dua puluh empat
Hanya untuk membunuh orang dan mati?&lt;/p>
&lt;p>Engkau adalah tuan yang bangga akan rumah tua
Seorang pedagang di jalanan Sakai
Dan karena engkau mewarisi nama orang tuamu,
Janganlah engkau mati,
Bahkan jika kastil Port Arthur runtuh,
Atau tidak runtuh, apa pedulimu?
Engkau tidak tahu, bukan?
Hal itu tidak ada dalam tradisi keluarga pedagang.&lt;/p>
&lt;p>Janganlah engkau mati,
Kaisar tidak pergi
Ke medan perang sendiri,
Apakah dia menyuruh orang saling menumpahkan darah,
Mati di jalan binatang buas,
Dan menganggap kematian sebagai kehormatan manusia?
Dengan hatinya yang agung,
Bagaimana mungkin dia berpikir demikian sejak awal?&lt;/p>
&lt;p>Ah adikku, di medan pertempuran
Janganlah engkau mati,
Ibu kita yang ditinggalkan pada musim gugur lalu
Oleh mendiang ayah,
Di tengah kesedihannya, dengan pedih
Putranya dipanggil pergi, ia menjaga rumah,
Bahkan di zaman kekuasaan yang katanya damai ini
Uban di rambut ibu semakin bertambah.&lt;/p>
&lt;p>Menangis tersungkur di balik tirai toko
Istri mudamu yang rapuh,
Apakah engkau melupakannya, atau memikirkannya?
Pikirkanlah hati gadis
Yang berpisah sebelum sepuluh bulan bersama,
Di dunia ini engkau satu-satunya baginya
Ah, kepada siapa lagi dia harus bergantung?
Janganlah engkau mati.&lt;/p></description></item><item><title>Tentang Akiko Yosano</title><link>http://kenji.blog/id/p/tentang-akiko-yosano/</link><pubDate>Thu, 25 Jul 2024 13:08:36 +0900</pubDate><guid>http://kenji.blog/id/p/tentang-akiko-yosano/</guid><description>&lt;p>&lt;img src="http://kenji.blog/p/%E4%B8%8E%E8%AC%9D%E9%87%8E%E6%99%B6%E5%AD%90%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/img.png"
width="1080"
height="1080"
srcset="http://kenji.blog/p/%E4%B8%8E%E8%AC%9D%E9%87%8E%E6%99%B6%E5%AD%90%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/img_hub1fb50838efd9b9ec0f364c86e062d91_1677486_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E4%B8%8E%E8%AC%9D%E9%87%8E%E6%99%B6%E5%AD%90%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/img_hub1fb50838efd9b9ec0f364c86e062d91_1677486_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h2 id="-ringkasan-tokoh">🔹 Ringkasan Tokoh
&lt;/h2>&lt;p>Akiko Yosano (1878–1942) adalah seorang penyair, penulis, dan pemikir Jepang yang aktif dari akhir zaman Meiji hingga awal zaman Showa. Ia sangat dikenal karena karya-karya tanka-nya yang penuh gairah dan unik, dan merupakan tokoh yang membuka cakrawala baru bagi kemandirian perempuan dan ekspresi cinta dalam sastra Jepang modern.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Nama asli&lt;/strong> : Yosano (nama gadis: Otori) Sho&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Tempat lahir&lt;/strong> : Sakai (Kota Sakai, Prefektur Osaka)&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Suami&lt;/strong> : Yosano Tekkan (Penyair)&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Periode aktivitas utama&lt;/strong> : Akhir Meiji hingga awal Showa&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Karakteristik&lt;/strong> :&lt;/p>
&lt;ul>
&lt;li>Menarik perhatian dengan tanka yang secara blak-blakan mengungkapkan perasaan romantis perempuan&lt;/li>
&lt;li>Memiliki ideologi feminis, mempromosikan pendidikan dan kemandirian perempuan&lt;/li>
&lt;li>Menunjukkan sikap pasifis dengan mengkritik Perang Rusia-Jepang&lt;/li>
&lt;li>Anggota inti majalah sastra &amp;ldquo;Myojo&amp;rdquo;&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-karya-utama-sinopsis-dan-karakteristik">🔹 Karya Utama, Sinopsis, dan Karakteristik
&lt;/h2>&lt;h3 id="1-midaregami-1901">1. &amp;ldquo;Midaregami&amp;rdquo; (1901)
&lt;/h3>&lt;ul>
&lt;li>&lt;strong>Ringkasan&lt;/strong> : Buku kumpulan puisi pertama. Diterbitkan saat ia berusia awal 20-an, memberikan dampak besar pada dunia sastra Jepang.&lt;/li>
&lt;li>&lt;strong>Karakteristik&lt;/strong> : Mengungkapkan perasaan romantis dan hasrat fisik secara jujur dari sudut pandang perempuan.&lt;/li>
&lt;li>&lt;strong>Puisi terkenal&lt;/strong> :&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>Tanpa menyentuh
Darah panas dari kulit lembutku,
Tidakkah kau merasa kesepian, mengajarkan Jalan?&lt;/p>
&lt;/blockquote>
&lt;p>→ Menjadi topik pembicaraan karena mengekspresikan pandangan tentang cinta, yang dianggap berani menurut moralitas saat itu, melalui kata-kata perempuan itu sendiri.&lt;/p>
&lt;hr>
&lt;h3 id="2-kumohon-jangan-mati-1904">2. &amp;ldquo;Kumohon Jangan Mati&amp;rdquo; (1904)
&lt;/h3>&lt;ul>
&lt;li>&lt;strong>Format&lt;/strong> : Puisi (puisi bebas, bukan tanka)&lt;/li>
&lt;li>&lt;strong>Isi&lt;/strong> : Puisi anti-perang yang ditujukan kepada adik laki-lakinya yang dikirim ke Perang Rusia-Jepang.&lt;/li>
&lt;li>&lt;strong>Kutipan sebagian&lt;/strong> :&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>Kumohon jangan mati
Karena engkau lahir paling akhir
Air mata ibu berlinang
Sambil memeras lengan bajumu&amp;hellip;&lt;/p>
&lt;/blockquote>
&lt;ul>
&lt;li>&lt;strong>Signifikansi&lt;/strong> : Revolusioner karena menyerukan anti-perang dari posisi seorang perempuan yang mengkhawatirkan kematian saudara laki-lakinya, di saat kecenderungan untuk mengagungkan perang sedang kuat.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-pengaruh-dan-evaluasi">🔹 Pengaruh dan Evaluasi
&lt;/h2>&lt;ul>
&lt;li>Terlibat dalam kegiatan yang progresif secara sosial seperti emansipasi perempuan, pasifisme, dan penyebaran pendidikan.&lt;/li>
&lt;li>Di tahun-tahun terakhirnya, ia mendedikasikan dirinya untuk pendidikan anak perempuan dan terlibat dalam pendirian universitas perempuan (seperti Institut Kebudayaan).&lt;/li>
&lt;li>Salah satu intelektual dan sastrawati perempuan terpenting di Jepang sebelum perang.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-kesimpulan">🔹 Kesimpulan
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Item&lt;/th>
&lt;th>Konten&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Nama&lt;/td>
&lt;td>Akiko Yosano&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Bidang Aktivitas&lt;/td>
&lt;td>Tanka, puisi, kritik, pendidikan&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Karya Utama&lt;/td>
&lt;td>&amp;ldquo;Midaregami&amp;rdquo;, &amp;ldquo;Kumohon Jangan Mati&amp;rdquo;&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Karakteristik&lt;/td>
&lt;td>Kebebasan cinta, kemandirian perempuan, ekspresi pasifisme&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Pengaruh Modern&lt;/td>
&lt;td>Sastra feminis, inovasi tanka modern, pelopor puisi anti-perang&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr></description></item><item><title>Pengantar Mathematica</title><link>http://kenji.blog/id/p/mathematica%E5%85%A5%E9%96%80/</link><pubDate>Thu, 25 Jul 2024 01:36:19 +0900</pubDate><guid>http://kenji.blog/id/p/mathematica%E5%85%A5%E9%96%80/</guid><description>&lt;img src="http://kenji.blog/p/mathematica%E5%85%A5%E9%96%80/img.png" alt="Featured image of post Pengantar Mathematica" />&lt;h1 id="pengantar-mathematica">Pengantar Mathematica
&lt;/h1>&lt;h2 id="menyelesaikan-persamaan">Menyelesaikan persamaan
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Solve[x^2 - 3 x + 2 == 0, x]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{{x -&amp;gt; 1}, {x -&amp;gt; 2}}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mencari-solusi-persamaan-dalam-rentang-bilangan-bulat">Mencari solusi persamaan dalam rentang bilangan bulat
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Solve[x^2 - 3 x + 2 == 0 &amp;amp;&amp;amp; 0 &amp;lt;= x &amp;lt;= 2, x, Integers]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{{x -&amp;gt; 1}, {x -&amp;gt; 2}}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="menyelesaikan-sistem-persamaan">Menyelesaikan sistem persamaan
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Solve[{x + y == 3, x - y == 1}, {x, y}]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{{x -&amp;gt; 2, y -&amp;gt; 1}}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="menyelesaikan-pertidaksamaan">Menyelesaikan pertidaksamaan
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Reduce[x^2 - 3 x + 2 &amp;gt; 0, x]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">x &amp;lt; 1 || x &amp;gt; 2
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="diferensiasi">Diferensiasi
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">D[x^2, x]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">2 x
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="integrasi">Integrasi
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Integrate[x^2, x]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">x^3/3
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mencari-limit">Mencari limit
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Limit[1/x, x -&amp;gt; 0]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Infinity
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mencari-deret">Mencari deret
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Sum[1/n^2, {n, 1, Infinity}]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">π^2/6
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="membuat-matriks">Membuat matriks
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">m = {{1, 2}, {3, 4}}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mencari-perkalian-matriks">Mencari perkalian matriks
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">m . m
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{{7, 10}, {15, 22}}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mencari-matriks-invers">Mencari matriks invers
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Inverse[m]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{{-2, 1}, {1.5, -0.5}}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mencari-nilai-eigen-dan-vektor-eigen">Mencari nilai eigen dan vektor eigen
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Eigensystem[m]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{{5, 0}, {{1, 1}, {1, -1}}}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mencari-perkalian-titik-vektor">Mencari perkalian titik vektor
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{1, 2} . {3, 4}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">11
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mencari-perkalian-silang-vektor">Mencari perkalian silang vektor
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Cross[{1, 2, 3}, {4, 5, 6}]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{-3, 6, -3}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mencari-besar-vektor">Mencari besar vektor
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Norm[{1, 2, 3}]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">√14
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mencari-sudut-vektor">Mencari sudut vektor
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">ArcCos[{1, 2} . {3, 4}/(Norm[{1, 2}] Norm[{3, 4}])]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">ArcCos[11/(√5 √25)]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mencari-proyeksi-vektor">Mencari proyeksi vektor
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{1, 2} . {3, 4}/Norm[{3, 4}] {3, 4}/Norm[{3, 4}]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{11/5, 22/5}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mencari-rotasi-vektor">Mencari rotasi vektor
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">RotationMatrix[π/2].{1, 0}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{0, 1}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mencari-translasi-vektor">Mencari translasi vektor
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">TranslationTransform[{1, 2}][{3, 4}]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{4, 6}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mencari-penskalaan-vektor">Mencari penskalaan vektor
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">ScalingTransform[{2, 3}][{1, 1}]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{2, 3}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mencari-refleksi-vektor">Mencari refleksi vektor
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">ReflectionTransform[{1, 1}][{1, 1}]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{0, 0}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="menghasilkan-bilangan-acak">Menghasilkan bilangan acak
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">RandomReal[]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">0.123456
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="menghasilkan-bilangan-acak-bilangan-bulat">Menghasilkan bilangan acak (bilangan bulat)
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">RandomInteger[]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">123456
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="menghasilkan-bilangan-acak-dengan-rentang">Menghasilkan bilangan acak (dengan rentang)
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">RandomReal[{1, 10}]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">5.6789
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="menghasilkan-bilangan-acak-bilangan-bulat-dengan-rentang">Menghasilkan bilangan acak (bilangan bulat, dengan rentang)
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">RandomInteger[{1, 10}]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">5
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="menghasilkan-bilangan-acak-dengan-distribusi">Menghasilkan bilangan acak (dengan distribusi)
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">RandomVariate[NormalDistribution[0, 1]]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">0.123456
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="menghasilkan-bilangan-acak-distribusi-jumlah">Menghasilkan bilangan acak (distribusi, jumlah)
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">RandomVariate[NormalDistribution[0, 1], 10]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{0.123456, 0.234567, ..., 0.987654}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="menghasilkan-bilangan-acak-distribusi-jumlah-seed">Menghasilkan bilangan acak (distribusi, jumlah, seed)
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">SeedRandom[12345]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">RandomVariate[NormalDistribution[0, 1], 10]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{0.123456, 0.234567, ..., 0.987654}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="menerapkan-fungsi-pada-elemen-array">Menerapkan fungsi pada elemen array
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Map[Sqrt, {1, 4, 9}]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Sqrt /@ {1, 4, 9}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Map[#^(1/2)&amp;amp;, {1, 4, 9}]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{1, 2, 3}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mendefinisikan-fungsi-menggunakan-ekspresi-lambda">Mendefinisikan fungsi menggunakan ekspresi lambda
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">f = Function[x, x^2]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">f[3]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">9
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="komposisi-fungsi">Komposisi fungsi
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">f = Function[x, x^2]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">g = Function[x, x + 1]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">h = Function[x, f[g[x]]]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">h[3]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">16
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="merujuk-pada-hasil-perhitungan-sebelumnya">Merujuk pada hasil perhitungan sebelumnya
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">% + 1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">17
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="fungsi-murni">Fungsi murni
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">(#+3)&amp;amp;[5]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">8
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="ekstraksi-array">Ekstraksi array
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Select[{1, 2, 3, 4, 5}, EvenQ]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Select[{1, 2, 3, 4, 5}, Mod[#,2]==0&amp;amp;]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{2, 4}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>Daftar Perintah Hugo</title><link>http://kenji.blog/id/p/hugo%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E4%B8%80%E8%A6%A7/</link><pubDate>Fri, 31 May 2024 01:36:00 +0900</pubDate><guid>http://kenji.blog/id/p/hugo%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E4%B8%80%E8%A6%A7/</guid><description>&lt;img src="http://kenji.blog/p/hugo%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E4%B8%80%E8%A6%A7/img.png" alt="Featured image of post Daftar Perintah Hugo" />&lt;h1 id="apa-itu-hugo">Apa itu Hugo
&lt;/h1>&lt;p>Hugo adalah salah satu pembuat situs statis (static site generator). Ini memungkinkan Anda membuat situs web dengan mengubah file Markdown menjadi HTML. Hugo ditulis dalam bahasa Go dan berjalan sangat cepat.&lt;/p>
&lt;p>Blog ini juga dibuat menggunakan Hugo.&lt;/p>
&lt;h1 id="instalasi-cli-hugo">Instalasi CLI Hugo
&lt;/h1>&lt;p>Untuk menginstal CLI Hugo, jalankan perintah berikut.&lt;/p>
&lt;p>※ Ini adalah contoh untuk macOS. Untuk OS lain, silakan merujuk ke dokumentasi resmi.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">brew install hugo
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Anda dapat menginstalnya menggunakan Homebrew.&lt;/p>
&lt;h1 id="daftar-perintah-hugo">Daftar Perintah Hugo
&lt;/h1>&lt;p>Hugo menyediakan berbagai perintah. Berikut ini adalah ringkasan perintah yang sering digunakan.&lt;/p>
&lt;h2 id="membuat-situs-baru">Membuat situs baru
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">hugo new site &amp;lt;Nama Situs&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Perintah untuk membuat situs baru. Tentukan nama situs pada &lt;code>&amp;lt;Nama Situs&amp;gt;&lt;/code>.&lt;/p>
&lt;h2 id="membuat-artikel-baru">Membuat artikel baru
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">hugo new &amp;lt;Nama Artikel&amp;gt;.md
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Perintah untuk membuat artikel baru. Tentukan nama artikel pada &lt;code>&amp;lt;Nama Artikel&amp;gt;&lt;/code>.&lt;/p>
&lt;h2 id="memulai-server">Memulai server
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">hugo server
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Perintah untuk memulai server lokal. Anda dapat mengaksesnya di &lt;code>http://localhost:1313&lt;/code>.&lt;/p>
&lt;h2 id="membangun-build-situs">Membangun (Build) situs
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">hugo
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Perintah untuk membangun situs. File HTML akan dihasilkan di direktori &lt;code>public&lt;/code>.&lt;/p>
&lt;h2 id="melakukan-deploy">Melakukan deploy
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">hugo deploy
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Perintah untuk men-deploy situs. Pengaturan deploy dikonfigurasi dalam file &lt;code>config.toml&lt;/code>.&lt;/p>
&lt;h2 id="menampilkan-daftar-artikel">Menampilkan daftar artikel
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">hugo list all
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Perintah untuk menampilkan daftar artikel.&lt;/p>
&lt;h2 id="memeriksa-konfigurasi">Memeriksa konfigurasi
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">hugo config
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Perintah untuk memeriksa konfigurasi.&lt;/p>
&lt;h2 id="menampilkan-bantuan">Menampilkan bantuan
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">hugo &lt;span class="nb">help&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Perintah untuk menampilkan bantuan.&lt;/p>
&lt;h2 id="menampilkan-versi">Menampilkan versi
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">hugo version
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Perintah untuk menampilkan versi.&lt;/p>
&lt;p>Demikianlah daftar perintah Hugo. Ada banyak perintah lain yang tersedia, jadi silakan merujuk ke dokumentasi resmi.&lt;/p>
&lt;h1 id="referensi">Referensi
&lt;/h1>&lt;ul>
&lt;li>&lt;a class="link" href="https://gohugo.io/documentation/" target="_blank" rel="noopener"
>Dokumentasi Resmi Hugo&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Ekstensi Visual Studio Code yang Direkomendasikan</title><link>http://kenji.blog/id/p/ekstensi-visual-studio-code-yang-direkomendasikan/</link><pubDate>Wed, 29 May 2024 17:20:19 +0900</pubDate><guid>http://kenji.blog/id/p/ekstensi-visual-studio-code-yang-direkomendasikan/</guid><description>&lt;img src="http://kenji.blog/p/visual-studio-code%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E6%8B%A1%E5%BC%B5%E6%A9%9F%E8%83%BD/img.png" alt="Featured image of post Ekstensi Visual Studio Code yang Direkomendasikan" />&lt;h1 id="daftar-ekstensi-visual-studio-code-yang-direkomendasikan">Daftar Ekstensi Visual Studio Code yang Direkomendasikan
&lt;/h1>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Kategori&lt;/th>
&lt;th>Nama&lt;/th>
&lt;th>Penyedia&lt;/th>
&lt;th>Deskripsi&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Manajemen Virtual &amp;amp; Kontainer&lt;/td>
&lt;td>Remote Devlopment&lt;/td>
&lt;td>Microsoft&lt;/td>
&lt;td>Mendukung pengembangan jarak jauh dengan menghubungkan ke kontainer virtual/WSL melalui SSH&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Manajemen Virtual &amp;amp; Kontainer&lt;/td>
&lt;td>Docker&lt;/td>
&lt;td>Microsoft&lt;/td>
&lt;td>Mendukung manajemen kontainer Docker&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Manajemen Kode&lt;/td>
&lt;td>GitHub Pull Requests&lt;/td>
&lt;td>GitHub&lt;/td>
&lt;td>Mengelola Pull Request GitHub di VSCode&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Manajemen Kode&lt;/td>
&lt;td>GitHub Copilot&lt;/td>
&lt;td>GitHub&lt;/td>
&lt;td>Mendukung penyelesaian kode menggunakan AI&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Manajemen Kode&lt;/td>
&lt;td>Git Graph&lt;/td>
&lt;td>mhutchie&lt;/td>
&lt;td>Menampilkan cabang dan komit Git secara grafis&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Manajemen Kode&lt;/td>
&lt;td>Git History&lt;/td>
&lt;td>Don Jayamanne&lt;/td>
&lt;td>Menampilkan riwayat Git&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Browser &amp;amp; Pengembangan Web&lt;/td>
&lt;td>Debugger for Firefox&lt;/td>
&lt;td>Firefox DevTools&lt;/td>
&lt;td>Menggunakan debugger Firefox di VSCode&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Browser &amp;amp; Pengembangan Web&lt;/td>
&lt;td>Microsoft Edge Tool For VScode&lt;/td>
&lt;td>Microsoft&lt;/td>
&lt;td>Menggunakan alat pengembang Edge di VSCode&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Browser &amp;amp; Pengembangan Web&lt;/td>
&lt;td>Vue Language Features(Volar)&lt;/td>
&lt;td>Vue&lt;/td>
&lt;td>Mendukung fitur bahasa Vue&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Browser &amp;amp; Pengembangan Web&lt;/td>
&lt;td>JavaScript (ES6) code snippets&lt;/td>
&lt;td>charalampos karypidis&lt;/td>
&lt;td>Menyediakan potongan kode (snippet) JavaScript&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Browser &amp;amp; Pengembangan Web&lt;/td>
&lt;td>Tailwind CSS IntelliSense&lt;/td>
&lt;td>Tailwind Labs&lt;/td>
&lt;td>Menyediakan potongan kode (snippet) Tailwind CSS&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Pengembangan Cloud&lt;/td>
&lt;td>AWS Toolkit&lt;/td>
&lt;td>Amazon Web Services&lt;/td>
&lt;td>Mendukung pengembangan AWS&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Pengembangan Cloud&lt;/td>
&lt;td>Azure Tools&lt;/td>
&lt;td>Microsoft&lt;/td>
&lt;td>Mendukung pengembangan Azure&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Pengembangan Cloud&lt;/td>
&lt;td>Google Cloud Tools&lt;/td>
&lt;td>Google Cloud&lt;/td>
&lt;td>Mendukung pengembangan Google Cloud&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Database&lt;/td>
&lt;td>MySQL&lt;/td>
&lt;td>Jun Han&lt;/td>
&lt;td>Mendukung pengembangan MySQL&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Database&lt;/td>
&lt;td>SQL Server(mssql)&lt;/td>
&lt;td>Microsoft&lt;/td>
&lt;td>Mendukung pengembangan SQL Server&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Database&lt;/td>
&lt;td>PostgreSQL&lt;/td>
&lt;td>Chris Kolkman&lt;/td>
&lt;td>Mendukung pengembangan PostgreSQL&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Embedded Systems&lt;/td>
&lt;td>PlatformIO&lt;/td>
&lt;td>PlatformIO&lt;/td>
&lt;td>Mendukung pengembangan PlatformIO&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Embedded Systems&lt;/td>
&lt;td>Arduino&lt;/td>
&lt;td>Microsoft&lt;/td>
&lt;td>Mendukung pengembangan Arduino&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Embedded Systems&lt;/td>
&lt;td>WorkBench&lt;/td>
&lt;td>Particle&lt;/td>
&lt;td>Lingkungan pengembangan dari Particle yang mendukung pengembangan IoT termasuk firmware, pustaka, dan integrasi cloud&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>C/C++&lt;/td>
&lt;td>C/C++ Extension Pack&lt;/td>
&lt;td>Microsoft&lt;/td>
&lt;td>Mendukung pengembangan C/C++&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>C/C++&lt;/td>
&lt;td>C/C++ Runner&lt;/td>
&lt;td>franneck94&lt;/td>
&lt;td>Menjalankan kode C/C++ (mendukung kompiler gcc, msvc, cuda nvccc)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>C/C++&lt;/td>
&lt;td>Cortex-Debug&lt;/td>
&lt;td>marus25&lt;/td>
&lt;td>Mendukung debugging mikrokontroler Cortex-A/R/M&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Python&lt;/td>
&lt;td>Python Extension Pack&lt;/td>
&lt;td>Microsoft&lt;/td>
&lt;td>Mendukung pengembangan Python&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Python&lt;/td>
&lt;td>jupyter&lt;/td>
&lt;td>Microsoft&lt;/td>
&lt;td>Mendukung pengembangan Jupyter Notebook&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Utilitas &amp;amp; Ekstensi UI&lt;/td>
&lt;td>Makrdown All in One&lt;/td>
&lt;td>Yu Zhang&lt;/td>
&lt;td>Mendukung penulisan Markdown&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Utilitas &amp;amp; Ekstensi UI&lt;/td>
&lt;td>Hex Editor&lt;/td>
&lt;td>Microsoft&lt;/td>
&lt;td>Mengedit file biner&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Utilitas &amp;amp; Ekstensi UI&lt;/td>
&lt;td>vscode-pdf&lt;/td>
&lt;td>tomoki1207&lt;/td>
&lt;td>Menampilkan file PDF&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Utilitas &amp;amp; Ekstensi UI&lt;/td>
&lt;td>Rainbow CSV&lt;/td>
&lt;td>mechatroner&lt;/td>
&lt;td>Menampilkan file CSV dengan warna-warni&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Utilitas &amp;amp; Ekstensi UI&lt;/td>
&lt;td>Draw.io Integration&lt;/td>
&lt;td>Henning Dieterichs&lt;/td>
&lt;td>Menggunakan Draw.io di VSCode&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Utilitas &amp;amp; Ekstensi UI&lt;/td>
&lt;td>Japanese Language Pack for Visual Studio Code&lt;/td>
&lt;td>Microsoft&lt;/td>
&lt;td>Paket pelokalan bahasa&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Utilitas &amp;amp; Ekstensi UI&lt;/td>
&lt;td>Live Share&lt;/td>
&lt;td>Microsoft&lt;/td>
&lt;td>Mendukung kolaborasi waktu nyata&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Mencoba mermaid.js</title><link>http://kenji.blog/id/p/mermaid.js%E3%82%92%E8%A9%A6%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B/</link><pubDate>Sat, 25 May 2024 02:18:09 +0900</pubDate><guid>http://kenji.blog/id/p/mermaid.js%E3%82%92%E8%A9%A6%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B/</guid><description>&lt;img src="http://kenji.blog/p/mermaid.js%E3%82%92%E8%A9%A6%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B/img_2.png" alt="Featured image of post Mencoba mermaid.js" />&lt;h2 id="apa-itu-mermaidjs">Apa itu mermaid.js
&lt;/h2>&lt;p>mermaid.js adalah pustaka JavaScript yang memungkinkan Anda menulis sintaks khusus berbasis teks (Sintaks Mermaid) untuk menampilkan diagram kompleks secara grafis, seperti diagram alur, grafik, dan diagram Gantt.
Ini juga digunakan di berbagai layanan seperti GitHub, Qiita, dan Notion. Kali ini, kita akan mencoba mengaktifkan penggunaan mermaid.js di hugo.&lt;/p>
&lt;h2 id="mengaktifkan-mermaidjs-di-hugo">Mengaktifkan mermaid.js di hugo
&lt;/h2>&lt;p>Langkah-langkahnya adalah sebagai berikut:&lt;/p>
&lt;ol>
&lt;li>Tambahkan yang berikut ini ke layouts/partials/extend_footer.html.&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-html" data-lang="html">&lt;span class="line">&lt;span class="cl">{{ if or .Params.mermaid .Site.Params.mermaid }}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">script&lt;/span> &lt;span class="na">src&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;https://cdn.jsdelivr.net/npm/mermaid@10.3.0/dist/mermaid.min.js&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&amp;lt;/&lt;/span>&lt;span class="nt">script&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">{{- $loadmermaid := resources.Get &amp;#34;js/load-mermaid.js&amp;#34; }}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">script&lt;/span> &lt;span class="na">src&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;{{ $loadmermaid.RelPermalink }}&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&amp;lt;/&lt;/span>&lt;span class="nt">script&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">script&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">window&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">initMermaid&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nx">isDarkTheme&lt;/span>&lt;span class="p">())&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">setPrefTheme&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;dark&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span> &lt;span class="k">else&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">setPrefTheme&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;light&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">script&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">{{ end }}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>※ &lt;code>mermaid.min.js&lt;/code> hanya dimuat jika &lt;code>mermaid: true&lt;/code> pada pernyataan if. Pustaka ini cukup besar, sekitar 3MB.&lt;/p>
&lt;ol start="3">
&lt;li>Buat assets/js/load-mermaid.js. Proses ini digunakan untuk inisialisasi dan menggambar ulang saat tema dialihkan secara dinamis.&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;span class="lnt">42
&lt;/span>&lt;span class="lnt">43
&lt;/span>&lt;span class="lnt">44
&lt;/span>&lt;span class="lnt">45
&lt;/span>&lt;span class="lnt">46
&lt;/span>&lt;span class="lnt">47
&lt;/span>&lt;span class="lnt">48
&lt;/span>&lt;span class="lnt">49
&lt;/span>&lt;span class="lnt">50
&lt;/span>&lt;span class="lnt">51
&lt;/span>&lt;span class="lnt">52
&lt;/span>&lt;span class="lnt">53
&lt;/span>&lt;span class="lnt">54
&lt;/span>&lt;span class="lnt">55
&lt;/span>&lt;span class="lnt">56
&lt;/span>&lt;span class="lnt">57
&lt;/span>&lt;span class="lnt">58
&lt;/span>&lt;span class="lnt">59
&lt;/span>&lt;span class="lnt">60
&lt;/span>&lt;span class="lnt">61
&lt;/span>&lt;span class="lnt">62
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="p">(&lt;/span>&lt;span class="kd">function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">window&lt;/span>&lt;span class="p">){&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">&amp;#39;use strict&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kr">const&lt;/span> &lt;span class="nx">elementCode&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s1">&amp;#39;.mermaid&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kr">const&lt;/span> &lt;span class="nx">loadMermaid&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kd">function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">theme&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">window&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">mermaid&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">initialize&lt;/span>&lt;span class="p">({&lt;/span>&lt;span class="nx">theme&lt;/span>&lt;span class="p">})&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">window&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">mermaid&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">init&lt;/span>&lt;span class="p">({&lt;/span>&lt;span class="nx">theme&lt;/span>&lt;span class="p">},&lt;/span> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">querySelectorAll&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">elementCode&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kr">const&lt;/span> &lt;span class="nx">saveOriginalData&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kd">function&lt;/span>&lt;span class="p">(){&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="nb">Promise&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="nx">resolve&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nx">reject&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">=&amp;gt;&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">try&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">var&lt;/span> &lt;span class="nx">els&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">querySelectorAll&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">elementCode&lt;/span>&lt;span class="p">),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">count&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">els&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">length&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">els&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">forEach&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">element&lt;/span> &lt;span class="p">=&amp;gt;&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">element&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">setAttribute&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;data-original-code&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nx">element&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">innerHTML&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">count&lt;/span>&lt;span class="o">--&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">count&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">){&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">resolve&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">});&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span> &lt;span class="k">catch&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nx">error&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">reject&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">error&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">})&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kr">const&lt;/span> &lt;span class="nx">resetProcessed&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kd">function&lt;/span>&lt;span class="p">(){&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="nb">Promise&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="nx">resolve&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nx">reject&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">=&amp;gt;&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">try&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">var&lt;/span> &lt;span class="nx">els&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">querySelectorAll&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">elementCode&lt;/span>&lt;span class="p">),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">count&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">els&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">length&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">els&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">forEach&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">element&lt;/span> &lt;span class="p">=&amp;gt;&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">element&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">getAttribute&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;data-original-code&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">!=&lt;/span> &lt;span class="kc">null&lt;/span>&lt;span class="p">){&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">element&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">removeAttribute&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;data-processed&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">element&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">innerHTML&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">element&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">getAttribute&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;data-original-code&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">count&lt;/span>&lt;span class="o">--&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">count&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">){&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">resolve&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">});&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span> &lt;span class="k">catch&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nx">error&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">reject&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">error&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">})&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kr">const&lt;/span> &lt;span class="nx">init&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">()=&amp;gt;{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">saveOriginalData&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">.&lt;/span>&lt;span class="k">catch&lt;/span>&lt;span class="p">(&lt;/span> &lt;span class="nx">console&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">error&lt;/span> &lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">addEventListener&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;dark-theme-set&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="p">()=&amp;gt;{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">resetProcessed&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">.&lt;/span>&lt;span class="nx">then&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">loadMermaid&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;dark&amp;#39;&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">.&lt;/span>&lt;span class="k">catch&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">console&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">error&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">})&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">addEventListener&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;light-theme-set&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="p">()=&amp;gt;{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">resetProcessed&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">.&lt;/span>&lt;span class="nx">then&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">loadMermaid&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;default&amp;#39;&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">.&lt;/span>&lt;span class="k">catch&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">console&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">error&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">})&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">window&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">initMermaid&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">init&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">})(&lt;/span>&lt;span class="nb">window&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Kode asli didasarkan pada yang berikut ini:&lt;/p>
&lt;ul>
&lt;li>&lt;a class="link" href="https://github.com/mermaid-js/mermaid/issues/1945" target="_blank" rel="noopener"
>Reinitialize with new theme #1945&lt;/a>&lt;/li>
&lt;/ul>
&lt;ol start="3">
&lt;li>Ubah proses pengalihan tema di header.html&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="kd">function&lt;/span> &lt;span class="nx">switchTheme&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">theme&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">switch&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nx">theme&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">case&lt;/span> &lt;span class="s1">&amp;#39;light&amp;#39;&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{{&lt;/span> &lt;span class="k">if&lt;/span> &lt;span class="nx">or&lt;/span> &lt;span class="p">.&lt;/span>&lt;span class="nx">Params&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">mermaid&lt;/span> &lt;span class="p">.&lt;/span>&lt;span class="nx">Site&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Params&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">mermaid&lt;/span> &lt;span class="p">}}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">dispatchEvent&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">new&lt;/span> &lt;span class="nx">CustomEvent&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;light-theme-set&amp;#39;&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{{&lt;/span> &lt;span class="nx">end&lt;/span> &lt;span class="p">}}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">classList&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">remove&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;dark&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">break&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">case&lt;/span> &lt;span class="s1">&amp;#39;dark&amp;#39;&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{{&lt;/span> &lt;span class="k">if&lt;/span> &lt;span class="nx">or&lt;/span> &lt;span class="p">.&lt;/span>&lt;span class="nx">Params&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">mermaid&lt;/span> &lt;span class="p">.&lt;/span>&lt;span class="nx">Site&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Params&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">mermaid&lt;/span> &lt;span class="p">}}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">dispatchEvent&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">new&lt;/span> &lt;span class="nx">CustomEvent&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;dark-theme-set&amp;#39;&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{{&lt;/span> &lt;span class="nx">end&lt;/span> &lt;span class="p">}}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">classList&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">add&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;dark&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">break&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// auto
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">default&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nb">window&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">matchMedia&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;(prefers-color-scheme: dark)&amp;#39;&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="nx">matches&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{{&lt;/span> &lt;span class="k">if&lt;/span> &lt;span class="nx">or&lt;/span> &lt;span class="p">.&lt;/span>&lt;span class="nx">Params&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">mermaid&lt;/span> &lt;span class="p">.&lt;/span>&lt;span class="nx">Site&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Params&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">mermaid&lt;/span> &lt;span class="p">}}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">dispatchEvent&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">new&lt;/span> &lt;span class="nx">CustomEvent&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;dark-theme-set&amp;#39;&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{{&lt;/span> &lt;span class="nx">end&lt;/span> &lt;span class="p">}}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">classList&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">add&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;dark&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="4">
&lt;li>Buat layouts/shortcodes/mermaid.html&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-html" data-lang="html">&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">class&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;mermaid&amp;#34;&lt;/span> &lt;span class="na">align&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;{{ if .Get &amp;#34;&lt;/span>&lt;span class="na">align&lt;/span>&lt;span class="err">&amp;#34;&lt;/span> &lt;span class="err">}}{{&lt;/span> &lt;span class="err">.&lt;/span>&lt;span class="na">Get&lt;/span> &lt;span class="err">&amp;#34;&lt;/span>&lt;span class="na">align&lt;/span>&lt;span class="err">&amp;#34;&lt;/span> &lt;span class="err">}}{{&lt;/span> &lt;span class="na">else&lt;/span> &lt;span class="err">}}&lt;/span>&lt;span class="na">center&lt;/span>&lt;span class="err">{{&lt;/span> &lt;span class="na">end&lt;/span> &lt;span class="err">}}&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{ safeHTML .Inner }}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Sekarang mermaid.js siap digunakan.&lt;/p>
&lt;h2 id="menggunakan-mermaidjs">Menggunakan mermaid.js
&lt;/h2>&lt;ol>
&lt;li>Tambahkan yang berikut ini ke definisi artikel&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-dtd" data-lang="dtd">&lt;span class="line">&lt;span class="cl">&lt;span class="err">marmaid:&lt;/span> &lt;span class="err">true&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="2">
&lt;li>Tambahkan yang berikut ini ke isi artikel&lt;/li>
&lt;/ol>
&lt;p>&lt;strong>Diagram Alur&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-markdown" data-lang="markdown">&lt;span class="line">&lt;span class="cl">{{&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">mermaid&lt;/span> &lt;span class="na">align&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;center&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>}}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">graph TD
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> A[Mulai] --&amp;gt;|Kondisi 1| B(Kondisi 2)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> B --&amp;gt; C{Kondisi 3}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> C --&amp;gt;|Kondisi 4| D[Selesai]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">{{&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">mermaid&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>}}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;strong>Hasil&lt;/strong>&lt;/p>
&lt;div class="mermaid" align="center">
graph TD
A[Mulai] -->|Kondisi 1| B(Kondisi 2)
B --> C{Kondisi 3}
C -->|Kondisi 4| D[Selesai]
&lt;/div>
&lt;p>&lt;strong>Diagram Gantt&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-markdown" data-lang="markdown">&lt;span class="line">&lt;span class="cl">{{&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">mermaid&lt;/span> &lt;span class="na">align&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;center&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>}}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gantt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> section Project
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Definisi Persyaratan :done, a, 2024-05-25, 5d
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Desain Dasar :done, b, after a, 5d
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Desain Detail :done, c, after b, 5d
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Pembuatan :active, d, after c, 10d
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Pengujian Unit :crit, e, after d, 5d
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Pengujian Integrasi : f, after e, 5d
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Pengujian Sistem : g, after f, 5d
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Rilis :milestone, h, after g, 1d
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">{{&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">mermaid&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>}}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;strong>Hasil&lt;/strong>&lt;/p>
&lt;div class="mermaid" align="center">
gantt
section Project
Definisi Persyaratan :done, a, 2024-05-25, 5d
Desain Dasar :done, b, after a, 5d
Desain Detail :done, c, after b, 5d
Pembuatan :active, d, after c, 10d
Pengujian Unit :crit, e, after d, 5d
Pengujian Integrasi : f, after e, 5d
Pengujian Sistem : g, after f, 5d
Rilis :milestone, h, after g, 1d
&lt;/div>
&lt;p>&lt;strong>Diagram Urutan&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-markdown" data-lang="markdown">&lt;span class="line">&lt;span class="cl">{{&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">mermaid&lt;/span> &lt;span class="na">align&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;center&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>}}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sequenceDiagram
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> participant user
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> participant view
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> participant controller
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> participant model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> participant database
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> user-&amp;gt;&amp;gt;view: Masukkan ID/PW
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> view-&amp;gt;&amp;gt;controller: Permintaan Autentikasi
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> controller-&amp;gt;&amp;gt;model: Permintaan Autentikasi
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> model-&amp;gt;&amp;gt;database: Permintaan Autentikasi
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> database--&amp;gt;&amp;gt;model: Kembalikan Hasil
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> model--&amp;gt;&amp;gt;controller: Kembalikan Hasil
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> controller--&amp;gt;&amp;gt;view: Kembalikan Hasil
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> view--&amp;gt;&amp;gt;user: Tampilkan Hasil
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">{{&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">mermaid&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>}}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;strong>Hasil&lt;/strong>&lt;/p>
&lt;div class="mermaid" align="center">
sequenceDiagram
participant user
participant view
participant controller
participant model
participant database
user->>view: Masukkan ID/PW
view->>controller: Kueri ajax
controller->>model: Permintaan Autentikasi
model->>database: Terbitkan SQL
database-->>model: Kembalikan Hasil SQL
model-->>controller: Kembalikan Hasil Permintaan Autentikasi
controller-->>view: Kembalikan Hasil Kueri ajax
view-->>user: Tampilkan Hasil Autentikasi
&lt;/div>
&lt;p>Itu saja.&lt;/p>
&lt;h3 id="referensi">Referensi
&lt;/h3>&lt;ul>
&lt;li>&lt;a class="link" href="https://mermaid.js.org/#/" target="_blank" rel="noopener"
>Situs resmi mermaid.js&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://mermaid.live/" target="_blank" rel="noopener"
>Situs demo untuk pratinjau sintaks mermaid&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cara membatalkan git reset</title><link>http://kenji.blog/id/p/cara-membatalkan-git-reset/</link><pubDate>Wed, 15 May 2024 23:32:43 +0900</pubDate><guid>http://kenji.blog/id/p/cara-membatalkan-git-reset/</guid><description>&lt;img src="http://kenji.blog/p/git-reset%E3%82%92%E5%8F%96%E3%82%8A%E6%B6%88%E3%81%99%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara membatalkan git reset" />&lt;h1 id="cara-membatalkan-git-reset">Cara membatalkan git reset
&lt;/h1>&lt;p>Jika Anda tidak sengaja menjalankan git reset setelah melakukan git commit, berikut ini adalah cara membatalkan git reset (cara memulihkan status saat git commit).&lt;/p>
&lt;ol>
&lt;li>Periksa ID commit sebelum reset menggunakan &lt;code>git reflog&lt;/code>&lt;/li>
&lt;li>Kembali ke status sebelum reset menggunakan &lt;code>git reset --hard HEAD@{angka}&lt;/code>&lt;/li>
&lt;/ol>
&lt;p>Demikianlah cara membatalkan git reset.&lt;/p></description></item><item><title>MS-DOS 4.0 Menjadi Open Source</title><link>http://kenji.blog/id/p/ms-dos-4-0-open-source/</link><pubDate>Sun, 05 May 2024 16:44:28 +0900</pubDate><guid>http://kenji.blog/id/p/ms-dos-4-0-open-source/</guid><description>&lt;img src="http://kenji.blog/p/ms-dos-4.0-%E3%81%AE%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9%E5%8C%96/img.png" alt="Featured image of post MS-DOS 4.0 Menjadi Open Source" />&lt;h2 id="ms-dos-40-menjadi-open-source">MS-DOS 4.0 Menjadi Open Source
&lt;/h2>&lt;p>Microsoft telah merilis kode sumber untuk MS-DOS 4.0, yang dirilis sekitar 40 tahun lalu.
Ini hampir sepenuhnya ditulis dalam kode assembly 8086.&lt;/p>
&lt;h2 id="repositori-github">Repositori github
&lt;/h2>&lt;p>&lt;a class="link" href="https://github.com/microsoft/MS-DOS" target="_blank" rel="noopener"
>https://github.com/microsoft/MS-DOS&lt;/a>&lt;/p>
&lt;h2 id="situs-referensi">Situs Referensi
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://cloudblogs.microsoft.com/opensource/2024/04/25/open-sourcing-ms-dos-4-0/" target="_blank" rel="noopener"
>MS-DOS 4.0 Menjadi Open Source&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Buku yang Direkomendasikan untuk Insinyur Pemula</title><link>http://kenji.blog/id/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/</link><pubDate>Sun, 05 May 2024 16:03:33 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img.png" alt="Featured image of post Buku yang Direkomendasikan untuk Insinyur Pemula" />&lt;ol>
&lt;li>The Art of Readable Code
&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_15.png"
width="1057"
height="1500"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_15_huc95b138ee3dcf3e01c804919bb0a2951_1439618_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_15_huc95b138ee3dcf3e01c804919bb0a2951_1439618_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_15.png"
class="gallery-image"
data-flex-grow="70"
data-flex-basis="169px"
>&lt;/li>
&lt;li>Prinsip Pemrograman
&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_14.png"
width="1057"
height="1500"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_14_hu2ef10bf97b3341f50f5ce872bb9819ce_858111_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_14_hu2ef10bf97b3341f50f5ce872bb9819ce_858111_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_14.png"
class="gallery-image"
data-flex-grow="70"
data-flex-basis="169px"
>&lt;/li>
&lt;li>The Pragmatic Programmer
&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_13.png"
width="1057"
height="1500"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_13_hued43a825a7cef0e2f2f134925c5c929d_2826767_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_13_hued43a825a7cef0e2f2f134925c5c929d_2826767_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_13.png"
class="gallery-image"
data-flex-grow="70"
data-flex-basis="169px"
>&lt;/li>
&lt;li>Teknologi yang Mendukung Web
&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_12.png"
width="706"
height="1000"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_12_hu38f3f9fa330cdace274fc1d65dae56ad_542421_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_12_hu38f3f9fa330cdace274fc1d65dae56ad_542421_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_12.png"
class="gallery-image"
data-flex-grow="70"
data-flex-basis="169px"
>&lt;/li>
&lt;li>Cara Membuat Aplikasi Web yang Aman
&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_11.png"
width="930"
height="1184"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_11_hu261da33dc4cf509479817847be63b78a_1062282_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_11_hu261da33dc4cf509479817847be63b78a_1062282_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_11.png"
class="gallery-image"
data-flex-grow="78"
data-flex-basis="188px"
>&lt;/li>
&lt;li>Cara Kerja Jaringan
&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_10.png"
width="1060"
height="1500"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_10_hu648160deb00f1ab01a6a1e5bf748893c_1757585_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_10_hu648160deb00f1ab01a6a1e5bf748893c_1757585_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_10.png"
class="gallery-image"
data-flex-grow="70"
data-flex-basis="169px"
>&lt;/li>
&lt;li>Panduan Lengkap SQL dari Para Ahli
&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_9.png"
width="1058"
height="1500"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_9_hu22594e93e209e80bffc86bee1328466c_2717668_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_9_hu22594e93e209e80bffc86bee1328466c_2717668_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_9.png"
class="gallery-image"
data-flex-grow="70"
data-flex-basis="169px"
>&lt;/li>
&lt;li>Panduan Praktis Docker
&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_8.png"
width="1090"
height="1389"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_8_hu41a2f5f4345654e7bc83a15eefe34981_1727526_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_8_hu41a2f5f4345654e7bc83a15eefe34981_1727526_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_8.png"
class="gallery-image"
data-flex-grow="78"
data-flex-basis="188px"
>&lt;/li>
&lt;li>Panduan Lengkap Kubernetes
&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_7.png"
width="1177"
height="1500"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_7_hu8dd85a224029593fc5dc9a13ef20f0cd_3843087_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_7_hu8dd85a224029593fc5dc9a13ef20f0cd_3843087_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_7.png"
class="gallery-image"
data-flex-grow="78"
data-flex-basis="188px"
>&lt;/li>
&lt;li>CODE COMPLETE Edisi Kedua
&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_5.png"
width="386"
height="500"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_5_hucc61503c023b43658f514cad763aa5d4_337603_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_5_hucc61503c023b43658f514cad763aa5d4_337603_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_5.png"
class="gallery-image"
data-flex-grow="77"
data-flex-basis="185px"
>
&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_6.png"
width="386"
height="500"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_6_hu61c8fa1a50334de472b3f02d2e9b5d94_341513_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_6_hu61c8fa1a50334de472b3f02d2e9b5d94_341513_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_6.png"
class="gallery-image"
data-flex-grow="77"
data-flex-basis="185px"
>&lt;/li>
&lt;li>Clean Code: Keahlian Perangkat Lunak Agile
&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_4.png"
width="1151"
height="1500"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_4_hue4b240787121702069b25a9b17aebafc_1187914_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_4_hue4b240787121702069b25a9b17aebafc_1187914_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_4.png"
class="gallery-image"
data-flex-grow="76"
data-flex-basis="184px"
>&lt;/li>
&lt;li>Clean Architecture: Panduan Struktur dan Desain Perangkat Lunak
&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_3.png"
width="1136"
height="1500"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_3_hu14a1d1f632f80003cac638b75db73255_1099307_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_3_hu14a1d1f632f80003cac638b75db73255_1099307_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="181px"
>&lt;/li>
&lt;li>Teknologi yang Harus Diketahui Sebelum Menjadi Pemrogram Game
&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_2.png"
width="387"
height="500"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_2_hub093cdb3288ee25756912df1d9ec1a1d_177794_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_2_hub093cdb3288ee25756912df1d9ec1a1d_177794_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="77"
data-flex-basis="185px"
>&lt;/li>
&lt;li>Being Geek
&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_1.png"
width="352"
height="500"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_1_hub3e512c89bba46a5fcb37114a89f0140_168953_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_1_hub3e512c89bba46a5fcb37114a89f0140_168953_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="70"
data-flex-basis="168px"
>&lt;/li>
&lt;li>Mengapa Kita Membangun dengan Berorientasi Objek
&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_16.png"
width="1057"
height="1500"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_16_hu55ba229358890270c55ec54f21a37dbc_1487603_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D/img_16_hu55ba229358890270c55ec54f21a37dbc_1487603_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_16.png"
class="gallery-image"
data-flex-grow="70"
data-flex-basis="169px"
>&lt;/li>
&lt;/ol></description></item><item><title>Templat Kalender Excel (Versi yang Mendukung Hari Libur Nasional)</title><link>http://kenji.blog/id/p/templat-kalender-excel-versi-yang-mendukung-hari-libur/</link><pubDate>Wed, 01 May 2024 00:15:57 +0900</pubDate><guid>http://kenji.blog/id/p/templat-kalender-excel-versi-yang-mendukung-hari-libur/</guid><description>&lt;img src="http://kenji.blog/p/excel%E3%81%AE%E3%82%AB%E3%83%AC%E3%83%B3%E3%83%80%E3%83%BC%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E4%BC%91%E6%97%A5%E5%AF%BE%E5%BF%9C%E7%89%88/img.png" alt="Featured image of post Templat Kalender Excel (Versi yang Mendukung Hari Libur Nasional)" />&lt;h2 id="saya-membuat-templat-kalender-excel-versi-yang-mendukung-hari-libur-nasional">Saya membuat templat kalender Excel (versi yang mendukung hari libur nasional)!
&lt;/h2>&lt;p>Saya telah membuat templat Excel yang menampilkan hari libur di kalender untuk bulan tersebut saat Anda memasukkan tahun dan bulan.&lt;/p>
&lt;p>Silakan unduh dan gunakan.
&lt;a class="link" href="%e3%82%ab%e3%83%ac%e3%83%b3%e3%83%80%e3%83%bc.xlsx" >Kalender.xlsx&lt;/a>&lt;/p></description></item><item><title>Cara Memperbaiki Pengaturan DPI yang Direset Setiap Kali Startup pada Multi-Monitor</title><link>http://kenji.blog/id/p/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%A2%E3%83%8B%E3%82%BF%E3%81%A7%E6%AF%8E%E5%9B%9E%E8%B5%B7%E5%8B%95%E6%99%82%E3%81%ABdpi%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%8C%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%97%E3%81%BE%E3%81%86%E3%81%A8%E3%81%8D%E3%81%AE%E5%AF%BE%E5%87%A6%E6%B3%95/</link><pubDate>Mon, 29 Apr 2024 19:42:20 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%A2%E3%83%8B%E3%82%BF%E3%81%A7%E6%AF%8E%E5%9B%9E%E8%B5%B7%E5%8B%95%E6%99%82%E3%81%ABdpi%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%8C%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%97%E3%81%BE%E3%81%86%E3%81%A8%E3%81%8D%E3%81%AE%E5%AF%BE%E5%87%A6%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%A2%E3%83%8B%E3%82%BF%E3%81%A7%E6%AF%8E%E5%9B%9E%E8%B5%B7%E5%8B%95%E6%99%82%E3%81%ABdpi%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%8C%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%97%E3%81%BE%E3%81%86%E3%81%A8%E3%81%8D%E3%81%AE%E5%AF%BE%E5%87%A6%E6%B3%95/img.png" alt="Featured image of post Cara Memperbaiki Pengaturan DPI yang Direset Setiap Kali Startup pada Multi-Monitor" />&lt;p>※ Ini adalah langkah-langkah pengaturan untuk Windows 11.&lt;/p>
&lt;ol>
&lt;li>Buka Control Panel&lt;/li>
&lt;li>Pilih Power Options&lt;/li>
&lt;li>Klik &amp;ldquo;Choose what the power buttons do&amp;rdquo;&lt;/li>
&lt;li>Klik &amp;ldquo;Change settings that are currently unavailable&amp;rdquo;&lt;/li>
&lt;li>Hapus centang pada &amp;ldquo;Turn on fast startup (recommended)&amp;rdquo;&lt;/li>
&lt;li>Klik &amp;ldquo;Save changes&amp;rdquo;&lt;/li>
&lt;/ol>
&lt;h3 id="referensi">Referensi
&lt;/h3>&lt;p>&lt;a class="link" href="https://www.fmworld.net/cs/azbyclub/qanavi/jsp/qacontents.jsp?PID=6010-9312" target="_blank" rel="noopener"
>\[Windows 10\] Tolong beritahu saya cara menonaktifkan fast startup.&lt;/a>&lt;/p></description></item><item><title>Mendapatkan hanya versi terbaru dari repositori git</title><link>http://kenji.blog/id/p/git%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AE%E6%9C%80%E6%96%B0%E3%81%A0%E3%81%91%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B/</link><pubDate>Sat, 27 Apr 2024 02:54:12 +0900</pubDate><guid>http://kenji.blog/id/p/git%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AE%E6%9C%80%E6%96%B0%E3%81%A0%E3%81%91%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B/</guid><description>&lt;img src="http://kenji.blog/p/git%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AE%E6%9C%80%E6%96%B0%E3%81%A0%E3%81%91%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B/img.png" alt="Featured image of post Mendapatkan hanya versi terbaru dari repositori git" />&lt;h1 id="mendapatkan-hanya-versi-terbaru-dari-repositori">Mendapatkan hanya versi terbaru dari repositori
&lt;/h1>&lt;p>Anda dapat mengambil hanya versi terbaru dari repositori dengan perintah berikut.
Ini berguna jika Anda ingin mengambil repositori dengan cepat untuk menghemat ruang disk.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">git clone --depth 1 &amp;lt;URL repositori&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>Cara Mengatasi GitHub Copilot yang Tidak Dapat Digunakan Karena Kesalahan Sertifikat</title><link>http://kenji.blog/id/p/cara-mengatasi-github-copilot-yang-tidak-dapat-digunakan-karena-kesalahan-sertifikat/</link><pubDate>Sun, 21 Apr 2024 18:47:26 +0900</pubDate><guid>http://kenji.blog/id/p/cara-mengatasi-github-copilot-yang-tidak-dapat-digunakan-karena-kesalahan-sertifikat/</guid><description>&lt;img src="http://kenji.blog/p/%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%A7github-copilot%E3%81%8C%E4%BD%BF%E3%81%88%E3%81%AA%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AE%E5%AF%BE%E5%87%A6%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Mengatasi GitHub Copilot yang Tidak Dapat Digunakan Karena Kesalahan Sertifikat" />&lt;h1 id="cara-mengatasi-pesan-kesalahan-berikut-di-github-copilot">Cara Mengatasi Pesan Kesalahan Berikut di GitHub Copilot
&lt;/h1>&lt;p>GitHub Copilot berhenti berfungsi sekitar tanggal 19 April 2024. Pesan kesalahannya adalah sebagai berikut:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">[ERROR] [ghostText] [2024-04-21T04:06:46.900Z] Error on ghost text request: (FetchError) unable to verify the first certificate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">[ERROR] [certificates] [2024-04-21T04:06:46.901Z] Your current Copilot license doesn&amp;#39;t support proxy connections with custom certificates. Please visit https://gh.io/copilot-network-errors to learn more. Original cause: {&amp;#34;type&amp;#34;:&amp;#34;system&amp;#34;,&amp;#34;_name&amp;#34;:&amp;#34;FetchError&amp;#34;,&amp;#34;code&amp;#34;:&amp;#34;UNABLE_TO_VERIFY_LEAF_SIGNATURE&amp;#34;}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="cara-mengatasi">Cara Mengatasi
&lt;/h2>&lt;p>Tampaknya ini adalah bug pada ESET. Di pengaturan lanjutan ESET, matikan &amp;ldquo;Aktifkan SSL/TLS&amp;rdquo;.
&lt;img src="http://kenji.blog/p/%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%A7github-copilot%E3%81%8C%E4%BD%BF%E3%81%88%E3%81%AA%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AE%E5%AF%BE%E5%87%A6%E6%96%B9%E6%B3%95/img_1.png"
width="679"
height="468"
srcset="http://kenji.blog/p/%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%A7github-copilot%E3%81%8C%E4%BD%BF%E3%81%88%E3%81%AA%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AE%E5%AF%BE%E5%87%A6%E6%96%B9%E6%B3%95/img_1_hu79798d24a79f4dc94eb7f8ca51727896_114738_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%A7github-copilot%E3%81%8C%E4%BD%BF%E3%81%88%E3%81%AA%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AE%E5%AF%BE%E5%87%A6%E6%96%B9%E6%B3%95/img_1_hu79798d24a79f4dc94eb7f8ca51727896_114738_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="145"
data-flex-basis="348px"
>&lt;/p>
&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;p>Tampaknya kesalahan yang sama juga terjadi pada AWS CDK.&lt;/p>
&lt;ul>
&lt;li>&lt;a class="link" href="https://repost.aws/questions/QU2H94hF04SIuEVejK_a1mtQ/aws-cdk-bootstrap-certificate-warning-error" target="_blank" rel="noopener"
>AWS CDK bootstrap certificate warning-error&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Pengenalan Vim</title><link>http://kenji.blog/id/p/vim-introduction/</link><pubDate>Fri, 19 Apr 2024 22:06:34 +0900</pubDate><guid>http://kenji.blog/id/p/vim-introduction/</guid><description>&lt;img src="http://kenji.blog/p/vim%E5%85%A5%E9%96%80/img.png" alt="Featured image of post Pengenalan Vim" />&lt;p>&lt;img src="http://kenji.blog/p/vim%E5%85%A5%E9%96%80/img_1.png"
width="1920"
height="1080"
srcset="http://kenji.blog/p/vim%E5%85%A5%E9%96%80/img_1_hue190cb5546151f3c9f61d693ae541095_45716_480x0_resize_box_3.png 480w, http://kenji.blog/p/vim%E5%85%A5%E9%96%80/img_1_hue190cb5546151f3c9f61d693ae541095_45716_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="177"
data-flex-basis="426px"
>&lt;/p>
&lt;h1 id="pengenalan-vim">Pengenalan Vim
&lt;/h1>&lt;h2 id="unduh-dan-instal">Unduh dan Instal
&lt;/h2>&lt;p>&lt;a class="link" href="https://www.vim.org/download.php" target="_blank" rel="noopener"
>https://www.vim.org/download.php&lt;/a>&lt;/p>
&lt;p>Dari situs di atas, unduh dan instal modul sesuai dengan OS yang ingin Anda instal.&lt;/p>
&lt;p>Untuk Windows, sebaiknya pilih &lt;code>gvim_X.X.X_x64_signed.exe&lt;/code>.&lt;/p>
&lt;h2 id="cara-menjalankan">Cara Menjalankan
&lt;/h2>&lt;p>Untuk Windows, folder yang berisi &lt;code>vim.exe&lt;/code> perlu didaftarkan di Path pada variabel lingkungan.&lt;/p>
&lt;p>Cara menjalankan&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">vim
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Untuk menjalankan dengan menentukan nama file&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">vim filename.txt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="cara-keluar">Cara Keluar
&lt;/h2>&lt;p>Untuk keluar, ketik &lt;code>:&lt;/code> (titik dua), lalu ketik &lt;code>q&lt;/code>, dan tekan Enter&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">:q
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Jika Anda telah memperbarui file, pesan &lt;code>No write since last change (add ! to override)&lt;/code> akan ditampilkan.
Anda dapat membuang konten dan keluar secara paksa.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">:q!
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Untuk menyimpan file dan keluar&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">:wq
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Hal berikut ini juga memiliki arti yang sama.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">:x
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Selain itu, Anda juga dapat keluar dengan menekan &lt;code>z&lt;/code> dua kali sambil menahan &lt;code>Shift&lt;/code>. (sama dengan :wq)&lt;/p>
&lt;h2 id="mode">Mode
&lt;/h2>&lt;p>Vim memiliki &lt;code>command mode&lt;/code> (mode perintah) dan &lt;code>insert mode&lt;/code> (mode penyisipan). Saat Vim dijalankan, itu akan berada di &lt;code>command mode&lt;/code>, dan menekan tombol &lt;code>i&lt;/code> akan beralih ke &lt;code>insert mode&lt;/code>.&lt;/p>
&lt;p>Dalam &lt;code>insert mode&lt;/code>, Anda dapat mengetik seperti biasa. Untuk beralih dari &lt;code>insert mode&lt;/code> ke &lt;code>command mode&lt;/code>, tekan tombol &lt;code>ESC&lt;/code>.&lt;/p>
&lt;p>Fitur transisi mode ini adalah karakteristik dari Vim.&lt;/p>
&lt;h2 id="gerakan-kursor-dan-gulir">Gerakan Kursor dan Gulir
&lt;/h2>&lt;p>Berikut adalah ringkasan pergerakan kursor dan gulir pada saat &lt;code>command mode&lt;/code>.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Tombol&lt;/th>
&lt;th>Deskripsi&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>h&lt;/code> (atau &lt;code>Ctrl&lt;/code>+&lt;code>H&lt;/code>, &lt;code>BackSpace&lt;/code>, &lt;code>←&lt;/code>)&lt;/td>
&lt;td>Pindah ke kiri&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>j&lt;/code> (atau &lt;code>Ctrl&lt;/code>+&lt;code>J&lt;/code>, &lt;code>N&lt;/code>, &lt;code>↓&lt;/code>)&lt;/td>
&lt;td>Pindah ke bawah&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>k&lt;/code> (atau &lt;code>Ctrl&lt;/code>+&lt;code>P&lt;/code>, &lt;code>↑&lt;/code>)&lt;/td>
&lt;td>Pindah ke atas&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>l&lt;/code> (atau &lt;code>Space&lt;/code>, &lt;code>→&lt;/code>)&lt;/td>
&lt;td>Pindah ke kanan&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>+&lt;/code> (atau &lt;code>Enter&lt;/code>)&lt;/td>
&lt;td>Pindah ke awal baris berikutnya&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>-&lt;/code>&lt;/td>
&lt;td>Pindah ke awal baris sebelumnya&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code>+&lt;code>B&lt;/code> (atau &lt;code>PageUp&lt;/code>)&lt;/td>
&lt;td>Gulir ke atas&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code>+&lt;code>F&lt;/code> (atau &lt;code>PageDown&lt;/code>)&lt;/td>
&lt;td>Gulir ke bawah&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code>+&lt;code>U&lt;/code>&lt;/td>
&lt;td>Setengah gulir ke atas&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code>+&lt;code>D&lt;/code>&lt;/td>
&lt;td>Setengah gulir ke bawah&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code>+&lt;code>Y&lt;/code>&lt;/td>
&lt;td>Gulir ke atas 1 baris&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code>+&lt;code>E&lt;/code>&lt;/td>
&lt;td>Gulir ke bawah 1 baris&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>z&lt;/code> &lt;code>Enter&lt;/code>&lt;/td>
&lt;td>Gulir baris kursor ke bagian atas layar&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>z&lt;/code> &lt;code>.&lt;/code>&lt;/td>
&lt;td>Gulir baris kursor ke tengah layar&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>z&lt;/code> &lt;code>-&lt;/code>&lt;/td>
&lt;td>Gulir baris kursor ke bagian bawah layar&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>0&lt;/code> (atau &lt;code>|&lt;/code>)&lt;/td>
&lt;td>Pindah kursor ke awal baris&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>$&lt;/code>&lt;/td>
&lt;td>Pindah kursor ke akhir baris&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>^&lt;/code> (atau &lt;code>_&lt;/code>)&lt;/td>
&lt;td>Pindah kursor ke awal baris (tidak termasuk spasi, Tab)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>G&lt;/code> (atau &lt;code>:$&lt;/code>)&lt;/td>
&lt;td>Pindah kursor ke baris terakhir&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>:nomor baris&lt;/code> &lt;code>Enter&lt;/code>&lt;/td>
&lt;td>Pindah ke baris yang ditentukan&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Jika Anda memasukkan tombol gerakan di atas setelah &lt;code>angka&lt;/code>, Anda dapat memindahkannya beberapa kali sesuai dengan angka tersebut.
(Misalnya, mengetik &lt;code>3j&lt;/code> akan memindahkan Anda ke bawah 3 baris dari posisi kursor saat ini.)&lt;/p>
&lt;h2 id="perintah-lainnya">Perintah Lainnya
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Tombol&lt;/th>
&lt;th>Deskripsi&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code>+&lt;code>L&lt;/code>&lt;/td>
&lt;td>Gambar ulang layar&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code>+&lt;code>G&lt;/code>&lt;/td>
&lt;td>Tampilkan jumlah baris dari seluruh file, posisi kursor, dll.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>LoadIcon tidak perlu memanggil DestroyIcon</title><link>http://kenji.blog/id/p/loadicon%E3%81%AFdestroyicon%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E5%BF%85%E8%A6%81%E3%81%AF%E3%81%AA%E3%81%84/</link><pubDate>Fri, 19 Apr 2024 01:55:17 +0900</pubDate><guid>http://kenji.blog/id/p/loadicon%E3%81%AFdestroyicon%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E5%BF%85%E8%A6%81%E3%81%AF%E3%81%AA%E3%81%84/</guid><description>&lt;h1 id="tentang-kebutuhan-untuk-memanggil-destroyicon">Tentang kebutuhan untuk memanggil DestroyIcon
&lt;/h1>&lt;p>Memanggil DestroyIcon diperlukan dalam kasus berikut:&lt;/p>
&lt;ul>
&lt;li>CreateIconFromResourceEx (jika dipanggil tanpa flag LR_SHARED)&lt;/li>
&lt;li>CreateIconIndirect&lt;/li>
&lt;li>CopyIcon&lt;/li>
&lt;/ul>
&lt;p>Jika dibuat oleh fungsi-fungsi di atas.&lt;/p>
&lt;ul>
&lt;li>LoadIcon&lt;/li>
&lt;li>LoadImage (jika menggunakan flag LR_SHARED)&lt;/li>
&lt;li>CopyImage (jika menggunakan flag LR_COPYRETURNORG dan parameter hImage adalah ikon bersama)&lt;/li>
&lt;li>CreateIconFromResource&lt;/li>
&lt;li>CreateIconFromResourceEx (jika menggunakan flag LR_SHARED)&lt;/li>
&lt;/ul>
&lt;p>Ikon yang dibuat dan dimuat dalam kasus di atas tidak boleh memanggil DestroyIcon.&lt;/p>
&lt;h3 id="referensi">Referensi
&lt;/h3>&lt;ul>
&lt;li>&lt;a class="link" href="https://learn.microsoft.com/ja-JP/windows/win32/api/winuser/nf-winuser-destroyicon" target="_blank" rel="noopener"
>Fungsi DestroyIcon (winuser.h)&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Tentang AI Generatif</title><link>http://kenji.blog/id/p/tentang-ai-generatif/</link><pubDate>Tue, 16 Apr 2024 02:13:56 +0900</pubDate><guid>http://kenji.blog/id/p/tentang-ai-generatif/</guid><description>&lt;img src="http://kenji.blog/p/%E7%94%9F%E6%88%90ai%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/img.png" alt="Featured image of post Tentang AI Generatif" />&lt;h2 id="video-kuliah-tentang-ai-generatif">Video Kuliah tentang AI Generatif
&lt;/h2>&lt;ul>
&lt;li>&amp;ldquo;AI Generatif&amp;rdquo; (1) Profesor Masayuki Nakao, Universitas Tokyo 2023.9.8&lt;/li>
&lt;/ul>
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/uN0eilnXl4E"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;ul>
&lt;li>&amp;ldquo;AI Generatif&amp;rdquo; (2) Profesor Kuniyoshi Sakai, Universitas Tokyo 2023.10.11&lt;/li>
&lt;/ul>
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/wz1-DOZoQt0"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;ul>
&lt;li>&amp;ldquo;AI Generatif&amp;rdquo; (3) Profesor Yutaka Matsuo, Universitas Tokyo 2024.3.15&lt;/li>
&lt;/ul>
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/U9vhGvFxKu0"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div></description></item><item><title>Membuat Kode QR dengan curl</title><link>http://kenji.blog/id/p/membuat-kode-qr-dengan-curl/</link><pubDate>Tue, 16 Apr 2024 00:42:27 +0900</pubDate><guid>http://kenji.blog/id/p/membuat-kode-qr-dengan-curl/</guid><description>&lt;img src="http://kenji.blog/p/curl%E3%81%A7qr%E3%82%B3%E3%83%BC%E3%83%89%E7%94%9F%E6%88%90/img.png" alt="Featured image of post Membuat Kode QR dengan curl" />&lt;h2 id="membuat-kode-qr-dengan-curl">Membuat Kode QR dengan curl
&lt;/h2>&lt;p>Catatan: Metode yang diperkenalkan akan mengembalikan kode QR yang dibuat di sisi server, sehingga log mungkin disimpan. Harap berhati-hati saat mengubah informasi rahasia seperti informasi pribadi menjadi kode QR.&lt;/p>
&lt;h3 id="metode-1">Metode 1
&lt;/h3>&lt;p>Ini adalah cara membuat kode QR di command prompt.
&lt;code>qrenco.de&lt;/code> mengembalikan respons berbasis teks.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">curl qrenco.de/kenji.blog
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ul>
&lt;li>Hasil output&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">█████████████████████████████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">█████████████████████████████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████ ▄▄▄▄▄ █ ▄ ▄ █ ▄▄▄▄▄ ████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████ █ █ █ ▀▀▀██ █ █ ████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████ █▄▄▄█ █▀▀█▀▄█ █▄▄▄█ ████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████▄▄▄▄▄▄▄█▄▀ ▀ █▄▄▄▄▄▄▄████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████▄ █▀▄ ▄▀█▄▀ ▀██▄▀ ▄████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████▀▀▀█ ▄▄ ▄█▄█▀█▀▄██ ▀████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████▄▄▄██▄▄█ █▀█ ▄██▀▀█ █████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████ ▄▄▄▄▄ █▀█ ▀ ▄▀▄▄▄ ▀████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████ █ █ █▄▄ ▄▀▄▀▄ ██ ▀████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████ █▄▄▄█ █▀▀█ ▀▄▄▄ ▄▄██████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">████▄▄▄▄▄▄▄█▄▄███▄▄█▄███▄████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">█████████████████████████████
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">█████████████████████████████
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h4 id="referensi">Referensi
&lt;/h4>&lt;ul>
&lt;li>&lt;a class="link" href="https://qrenco.de/" target="_blank" rel="noopener"
>qrenco.de&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="metode-2">Metode 2
&lt;/h3>&lt;p>&lt;code>api.qrserver.com&lt;/code> mengembalikan gambar.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">curl -o qr.png &amp;#34;https://api.qrserver.com/v1/create-qr-code/?size=150x150&amp;amp;data=HelloWorld&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ul>
&lt;li>Hasil output
&lt;img src="http://kenji.blog/p/curl%E3%81%A7qr%E3%82%B3%E3%83%BC%E3%83%89%E7%94%9F%E6%88%90/qr.png"
width="250"
height="250"
srcset="http://kenji.blog/p/curl%E3%81%A7qr%E3%82%B3%E3%83%BC%E3%83%89%E7%94%9F%E6%88%90/qr_hud34111b99823e39dfc62f9ba667fd5f9_390_480x0_resize_box_3.png 480w, http://kenji.blog/p/curl%E3%81%A7qr%E3%82%B3%E3%83%BC%E3%83%89%E7%94%9F%E6%88%90/qr_hud34111b99823e39dfc62f9ba667fd5f9_390_1024x0_resize_box_3.png 1024w"
loading="lazy"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/li>
&lt;/ul>
&lt;h4 id="referensi-1">Referensi
&lt;/h4>&lt;ul>
&lt;li>&lt;a class="link" href="https://goqr.me/api/doc/create-qr-code/" target="_blank" rel="noopener"
>QR Code Generator&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Daftar Pintasan Microsoft Word</title><link>http://kenji.blog/id/p/microsoft-word%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E4%B8%80%E8%A6%A7/</link><pubDate>Sun, 07 Apr 2024 14:18:51 +0900</pubDate><guid>http://kenji.blog/id/p/microsoft-word%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E4%B8%80%E8%A6%A7/</guid><description>&lt;img src="http://kenji.blog/p/microsoft-word%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E4%B8%80%E8%A6%A7/img.png" alt="Featured image of post Daftar Pintasan Microsoft Word" />&lt;h2 id="daftar-pintasan">Daftar Pintasan
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Tombol Pintasan&lt;/th>
&lt;th>Deskripsi&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>B&lt;/code>&lt;/td>
&lt;td>Tebal&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>I&lt;/code>&lt;/td>
&lt;td>Miring&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>U&lt;/code>&lt;/td>
&lt;td>Garis bawah&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>E&lt;/code>&lt;/td>
&lt;td>Rata tengah&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>L&lt;/code>&lt;/td>
&lt;td>Rata kiri&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>R&lt;/code>&lt;/td>
&lt;td>Rata kanan&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>]&lt;/code>&lt;/td>
&lt;td>Perbesar ukuran font&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>[&lt;/code>&lt;/td>
&lt;td>Perkecil ukuran font&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>C&lt;/code>&lt;/td>
&lt;td>Salin&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>V&lt;/code>&lt;/td>
&lt;td>Tempel&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>X&lt;/code>&lt;/td>
&lt;td>Potong&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>Z&lt;/code>&lt;/td>
&lt;td>Urungkan&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>Y&lt;/code>&lt;/td>
&lt;td>Ulangi&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>A&lt;/code>&lt;/td>
&lt;td>Pilih semua&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Shift&lt;/code> + &lt;code>tombol panah&lt;/code>&lt;/td>
&lt;td>Pilih rentang&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>F&lt;/code>&lt;/td>
&lt;td>Cari teks&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>H&lt;/code>&lt;/td>
&lt;td>Ganti teks&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>P&lt;/code>&lt;/td>
&lt;td>Pratinjau cetak&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>S&lt;/code>&lt;/td>
&lt;td>Simpan dokumen&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>F12&lt;/code>&lt;/td>
&lt;td>Simpan sebagai&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>Home&lt;/code>&lt;/td>
&lt;td>Pindah ke awal dokumen&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>End&lt;/code>&lt;/td>
&lt;td>Pindah ke akhir dokumen&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://support.microsoft.com/ja-jp/office/word-%E3%81%AE%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89-%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88-95ef89dd-7142-4b50-afb2-f762f663ceb2" target="_blank" rel="noopener"
>Pintasan Keyboard Word&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Ekstensi Browser Pembaruan Otomatis Halaman Web (Add-on Edge)</title><link>http://kenji.blog/id/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/</link><pubDate>Sat, 06 Apr 2024 15:36:54 +0900</pubDate><guid>http://kenji.blog/id/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/</guid><description>&lt;img src="http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/img.png" alt="Featured image of post Ekstensi Browser Pembaruan Otomatis Halaman Web (Add-on Edge)" />&lt;p>Saya akan memperkenalkan ekstensi browser Edge &amp;ldquo;Pembaruan Tab Otomatis&amp;rdquo; yang memperbarui halaman web secara otomatis.&lt;/p>
&lt;h2 id="instalasi-pembaruan-tab-otomatis">Instalasi Pembaruan Tab Otomatis
&lt;/h2>&lt;p>&lt;a class="link" href="https://microsoftedge.microsoft.com/addons/detail/%E3%82%BF%E3%83%96%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0/bicjibdndeejemialpbohjpiimehbapb" target="_blank" rel="noopener"
>Pembaruan Tab Otomatis&lt;/a>&lt;/p>
&lt;p>Akses situs di atas dan klik &lt;code>Instal&lt;/code>.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/img_2.png"
width="1273"
height="293"
srcset="http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/img_2_hub66f442627eafd2aa9852e4d513af28c_23623_480x0_resize_box_3.png 480w, http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/img_2_hub66f442627eafd2aa9852e4d513af28c_23623_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="434"
data-flex-basis="1042px"
>&lt;/p>
&lt;p>Klik &lt;code>Tambahkan ekstensi&lt;/code>.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/img_3.png"
width="451"
height="117"
srcset="http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/img_3_hu76927d4adfd21a9bc7e2622ce89ec4f1_7963_480x0_resize_box_3.png 480w, http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/img_3_hu76927d4adfd21a9bc7e2622ce89ec4f1_7963_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="385"
data-flex-basis="925px"
>&lt;/p>
&lt;h2 id="cara-menggunakan">Cara Menggunakan
&lt;/h2>&lt;p>Setelah instalasi selesai, sebuah ikon akan ditambahkan ke kanan atas Edge.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/img_4.png"
width="67"
height="37"
srcset="http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/img_4_hu2426c2158830cf89cd3747985b808d16_425_480x0_resize_box_3.png 480w, http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/img_4_hu2426c2158830cf89cd3747985b808d16_425_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_4.png"
class="gallery-image"
data-flex-grow="181"
data-flex-basis="434px"
>&lt;/p>
&lt;p>Buka halaman web yang ingin Anda perbarui secara otomatis dan klik ikon untuk memulai pembaruan otomatis.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/img_1.png"
width="565"
height="345"
srcset="http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/img_1_hu36cf9795d5097e9109b83445e7aae628_79361_480x0_resize_box_3.png 480w, http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/img_1_hu36cf9795d5097e9109b83445e7aae628_79361_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="163"
data-flex-basis="393px"
>&lt;/p>
&lt;p>Bagian yang dibingkai hijau adalah interval pembaruan otomatis. Silakan pilih waktu untuk memperbarui secara otomatis.&lt;/p>
&lt;p>Untuk menghentikan pembaruan otomatis, klik ikon lalu klik &lt;code>Stop reloading this tab&lt;/code>.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/img_5.png"
width="565"
height="395"
srcset="http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/img_5_hud3ff5692d970d8f2ac1fd8633c8cc9ef_79989_480x0_resize_box_3.png 480w, http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E6%8B%A1%E5%BC%B5edge%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3/img_5_hud3ff5692d970d8f2ac1fd8633c8cc9ef_79989_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_5.png"
class="gallery-image"
data-flex-grow="143"
data-flex-basis="343px"
>&lt;/p></description></item><item><title>Daftar Pintasan Visual Studio</title><link>http://kenji.blog/id/p/visual-studio-%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E4%B8%80%E8%A6%A7/</link><pubDate>Sat, 06 Apr 2024 11:27:37 +0900</pubDate><guid>http://kenji.blog/id/p/visual-studio-%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E4%B8%80%E8%A6%A7/</guid><description>&lt;img src="http://kenji.blog/p/visual-studio-%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E4%B8%80%E8%A6%A7/img.png" alt="Featured image of post Daftar Pintasan Visual Studio" />&lt;h1 id="daftar-pintasan-visual-studio">Daftar Pintasan Visual Studio
&lt;/h1>&lt;p>Saya telah menyusun daftar pintasan Visual Studio yang sering saya gunakan.
Dengan mempelajari pengoperasian keyboard untuk pintasan Visual Studio, Anda dapat melakukan pekerjaan pengembangan dengan efisien. Silakan manfaatkan dengan baik.&lt;/p>
&lt;p>※ Dikonfirmasi di Visual Studio 2022.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Tombol Pintasan&lt;/th>
&lt;th>Deskripsi&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>F1&lt;/code>&lt;/td>
&lt;td>Tampilkan bantuan untuk kata yang dipilih&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>F2&lt;/code>&lt;/td>
&lt;td>Lompat ke markah buku&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>F2&lt;/code>&lt;/td>
&lt;td>Daftarkan markah buku&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>Shift&lt;/code> + &lt;code>F2&lt;/code>&lt;/td>
&lt;td>Hapus semua markah buku&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>F5&lt;/code>&lt;/td>
&lt;td>Bangun dan jalankan (dengan debug)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>F5&lt;/code>&lt;/td>
&lt;td>Bangun dan jalankan (tanpa debug)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>F7&lt;/code>&lt;/td>
&lt;td>Bangun&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>F9&lt;/code>&lt;/td>
&lt;td>Tambahkan breakpoint ke baris kursor&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>F9&lt;/code>&lt;/td>
&lt;td>Nonaktifkan breakpoint di baris kursor&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Shift&lt;/code> + &lt;code>Ctrl&lt;/code> + &lt;code>F9&lt;/code>&lt;/td>
&lt;td>Hapus semua breakpoint&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>F10&lt;/code>&lt;/td>
&lt;td>Lewati&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>F11&lt;/code>&lt;/td>
&lt;td>Masuk&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>F12&lt;/code>&lt;/td>
&lt;td>Lompat ke definisi&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>D&lt;/code>&lt;/td>
&lt;td>Duplikat baris kursor&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>X&lt;/code>&lt;/td>
&lt;td>Potong baris jika tidak ada yang dipilih&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>Shift&lt;/code> + &lt;code>]&lt;/code>&lt;/td>
&lt;td>Pilih hingga tanda kurung yang cocok untuk kursor&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Alt&lt;/code> + &lt;code>Panah Atas/Bawah&lt;/code>&lt;/td>
&lt;td>Pindahkan baris kursor ke atas/bawah&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Alt&lt;/code> + &lt;code>Shift&lt;/code> + &lt;code>Panah&lt;/code>&lt;/td>
&lt;td>Multi-kursor / pilihan kotak&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>Tab&lt;/code>&lt;/td>
&lt;td>Beralih tampilan kode sumber/jendela&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>Shift&lt;/code> + &lt;code>V&lt;/code>&lt;/td>
&lt;td>Tampilkan riwayat papan klip&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>K&lt;/code> lalu &lt;code>Ctrl&lt;/code> + &lt;code>C&lt;/code>&lt;/td>
&lt;td>Jadikan baris kursor sebagai komentar&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>K&lt;/code> lalu &lt;code>Ctrl&lt;/code> + &lt;code>U&lt;/code>&lt;/td>
&lt;td>Hapus komentar pada baris kursor&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>G&lt;/code>&lt;/td>
&lt;td>Lompat ke nomor baris yang ditentukan&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>F&lt;/code>&lt;/td>
&lt;td>Cari&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>Shift&lt;/code> + &lt;code>F&lt;/code>&lt;/td>
&lt;td>Pencarian global&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>H&lt;/code>&lt;/td>
&lt;td>Ganti&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>Shift&lt;/code> + &lt;code>F&lt;/code>&lt;/td>
&lt;td>Penggantian global&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>Tab&lt;/code>&lt;/td>
&lt;td>Beralih tampilan kode sumber/jendela&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>Space&lt;/code>&lt;/td>
&lt;td>Penyelesaian kata&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>Alt&lt;/code> + &lt;code>L&lt;/code>&lt;/td>
&lt;td>Buka jendela Solution Explorer&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>Shift&lt;/code> + &lt;code>E&lt;/code>&lt;/td>
&lt;td>Buka jendela Resource View&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>Ctrl&lt;/code> + &lt;code>0&lt;/code> lalu &lt;code>Ctrl&lt;/code> + &lt;code>G&lt;/code>&lt;/td>
&lt;td>Buka jendela komit Git&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://learn.microsoft.com/ja-jp/visualstudio/ide/default-keyboard-shortcuts-in-visual-studio?view=vs-2022&amp;amp;utm_source=vshelp&amp;amp;wt.mc_id=visualstudio_inproduct_shortcuts_csaapp" target="_blank" rel="noopener"
>Pintasan keyboard di Visual Studio&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>&lt;img src="http://kenji.blog/p/visual-studio-%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E4%B8%80%E8%A6%A7/img_1.png"
width="1094"
height="823"
srcset="http://kenji.blog/p/visual-studio-%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E4%B8%80%E8%A6%A7/img_1_hu4eaca85d6437d1dd6b23efd21afacc82_582969_480x0_resize_box_3.png 480w, http://kenji.blog/p/visual-studio-%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E4%B8%80%E8%A6%A7/img_1_hu4eaca85d6437d1dd6b23efd21afacc82_582969_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="132"
data-flex-basis="319px"
>&lt;/p></description></item><item><title>Menambahkan grep Hidemaru Editor ke menu klik kanan File Explorer</title><link>http://kenji.blog/id/p/menambahkan-grep-hidemaru-editor-ke-menu-klik-kanan-file-explorer/</link><pubDate>Wed, 03 Apr 2024 00:00:46 +0900</pubDate><guid>http://kenji.blog/id/p/menambahkan-grep-hidemaru-editor-ke-menu-klik-kanan-file-explorer/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E5%8F%B3%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%81%AB%E7%A7%80%E4%B8%B8%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BFgrep%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B/img.png" alt="Featured image of post Menambahkan grep Hidemaru Editor ke menu klik kanan File Explorer" />&lt;p>Kami akan menunjukkan cara menambahkan fungsi grep dari Hidemaru Editor ke menu klik kanan di File Explorer pada Windows 10/11.&lt;/p>
&lt;p>&lt;strong>※ Harap perhatikan bahwa langkah-langkah berikut melibatkan modifikasi registry, jadi lakukan dengan risiko Anda sendiri.&lt;/strong>&lt;/p>
&lt;h2 id="langkah-langkah">Langkah-langkah
&lt;/h2>&lt;ol>
&lt;li>Buka tautan di bawah ini dan simpan ke folder mana saja.&lt;/li>
&lt;/ol>
&lt;p>&lt;a class="link" href="%e7%a7%80%e4%b8%b8%e3%83%ac%e3%82%b8%e3%82%b9%e3%83%88%e3%83%aa%e7%99%bb%e9%8c%b2.reg" >Registrasi_Registry_Hidemaru.reg&lt;/a>&lt;/p>
&lt;ol start="2">
&lt;li>Klik ganda file &lt;code>Registrasi_Registry_Hidemaru.reg&lt;/code> untuk menambahkannya ke dalam registry.&lt;/li>
&lt;/ol>
&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://aimek-developer.blogspot.com/2019/02/grep.html" target="_blank" rel="noopener"
>Menjalankan grep Hidemaru dari menu klik kanan folder&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Apa itu Paradoks Ulang Tahun?</title><link>http://kenji.blog/id/p/%E3%83%90%E3%83%BC%E3%82%B9%E3%83%87%E3%82%A4%E3%83%91%E3%83%A9%E3%83%89%E3%83%83%E3%82%AF%E3%82%B9%E3%81%A8%E3%81%AF/</link><pubDate>Tue, 02 Apr 2024 01:20:50 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%83%90%E3%83%BC%E3%82%B9%E3%83%87%E3%82%A4%E3%83%91%E3%83%A9%E3%83%89%E3%83%83%E3%82%AF%E3%82%B9%E3%81%A8%E3%81%AF/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%90%E3%83%BC%E3%82%B9%E3%83%87%E3%82%A4%E3%83%91%E3%83%A9%E3%83%89%E3%83%83%E3%82%AF%E3%82%B9%E3%81%A8%E3%81%AF/img.png" alt="Featured image of post Apa itu Paradoks Ulang Tahun?" />&lt;h2 id="tahukah-anda-tentang-paradoks-ulang-tahun">Tahukah Anda tentang paradoks ulang tahun?
&lt;/h2>&lt;p>Saya akan menceritakan kisah yang sedikit aneh.
Menurut Anda, berapa banyak orang yang harus berkumpul agar &amp;ldquo;probabilitas ada orang yang memiliki hari ulang tahun yang sama&amp;rdquo; menjadi tinggi?&lt;/p>
&lt;p>Misalnya, satu tahun memiliki 365 hari, jadi ketika dikatakan &amp;ldquo;jika 23 orang berkumpul, probabilitas ada orang yang berulang tahun sama adalah 50% atau lebih&amp;rdquo;&amp;hellip; rasanya sedikit bertentangan dengan intuisi, bukan?&lt;/p>
&lt;p>Namun ini &lt;strong>benar-benar 50% atau lebih.&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="mengapa-hal-seperti-itu-bisa-terjadi">Mengapa hal seperti itu bisa terjadi?
&lt;/h2>&lt;p>Fenomena ini disebut &amp;ldquo;paradoks ulang tahun&amp;rdquo;.
Namanya memang &amp;ldquo;paradoks&amp;rdquo;, tetapi ada alasan matematis yang masuk akal.&lt;/p>
&lt;p>Jika jumlah orang adalah &amp;ldquo;n&amp;rdquo;, maka &lt;strong>probabilitas tidak ada orang yang ulang tahunnya sama&lt;/strong> dapat dihitung dengan rumus berikut:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">P(tidak ada yang sama) = 365/365 × 364/365 × 363/365 × ... × (365 - n + 1)/365
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Dengan menguranginya dari 1, kita akan mendapatkan &amp;ldquo;probabilitas ulang tahun sama dengan seseorang&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="melihat-hasilnya">Melihat hasilnya&amp;hellip;
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Jumlah Orang&lt;/th>
&lt;th>Probabilitas orang dengan ulang tahun sama&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>10 orang&lt;/td>
&lt;td>Sekitar 11.7%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>20 orang&lt;/td>
&lt;td>Sekitar 41.1%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>23 orang&lt;/td>
&lt;td>&lt;strong>Sekitar 50.7% (Perhatikan di sini!)&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>30 orang&lt;/td>
&lt;td>Sekitar 70.6%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>70 orang&lt;/td>
&lt;td>&lt;strong>Luar biasa sekitar 99.9%!&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Dengan kata lain, dengan hanya &lt;strong>23 orang&lt;/strong>, ada kemungkinan lebih dari setengah bahwa ada orang yang berulang tahun pada hari yang sama.
Sepertinya ini juga sangat berlaku di kelas sekolah atau rapat di tempat kerja.&lt;/p>
&lt;hr>
&lt;h2 id="kesimpulan-perbedaan-antara-intuisi-dan-matematika-itu-menarik">Kesimpulan: Perbedaan antara intuisi dan matematika itu menarik
&lt;/h2>&lt;p>&amp;ldquo;Paradoks ulang tahun&amp;rdquo; adalah contoh menarik di mana intuisi kita berbeda dengan probabilitas matematika yang sebenarnya.
Jika Anda mengetahui hal-hal seperti ini, Anda mungkin bisa memeriahkan obrolan ringan atau kuis!&lt;/p>
&lt;hr>
&lt;h2 id="tautan-referensi">Tautan Referensi
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://ja.wikipedia.org/wiki/%E8%AA%95%E7%94%9F%E6%97%A5%E3%81%AE%E3%83%91%E3%83%A9%E3%83%89%E3%83%83%E3%82%AF%E3%82%B9" target="_blank" rel="noopener"
>Paradoks Ulang Tahun (Wikipedia)&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cara Menggunakan Snipping Tool</title><link>http://kenji.blog/id/p/how-to-use-snipping-tool/</link><pubDate>Mon, 01 Apr 2024 23:19:45 +0900</pubDate><guid>http://kenji.blog/id/p/how-to-use-snipping-tool/</guid><description>&lt;img src="http://kenji.blog/p/snipping-tool%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/img.png" alt="Featured image of post Cara Menggunakan Snipping Tool" />&lt;h2 id="apa-itu-snipping-tool">Apa itu Snipping Tool
&lt;/h2>&lt;p>Snipping Tool adalah alat tangkapan layar bawaan standar di Windows. Anda dapat memotong dan menyimpan sebagian layar, menangkap seluruh layar, atau merekamnya.&lt;/p>
&lt;h2 id="cara-menjalankan-snipping-tool">Cara Menjalankan Snipping Tool
&lt;/h2>&lt;p>Terutama dapat dijalankan dengan 3 cara berikut:&lt;/p>
&lt;ul>
&lt;li>Tekan tombol &lt;code>Win&lt;/code>, ketik &lt;code>Snipping Tool&lt;/code>, lalu tekan tombol &lt;code>Enter&lt;/code>.&lt;/li>
&lt;li>Tekan tombol &lt;code>Win&lt;/code> + &lt;code>Shift&lt;/code> + &lt;code>S&lt;/code>.&lt;/li>
&lt;li>Tekan tombol &lt;code>Win&lt;/code> + &lt;code>R&lt;/code>, ketik &lt;code>snippingtool&lt;/code>, lalu tekan tombol &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="cara-menggunakan-snipping-tool">Cara Menggunakan Snipping Tool
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/snipping-tool%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/img_1.png"
width="502"
height="233"
srcset="http://kenji.blog/p/snipping-tool%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/img_1_hu247f0b306a45625cfd47c1bc5c2f693d_7300_480x0_resize_box_3.png 480w, http://kenji.blog/p/snipping-tool%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/img_1_hu247f0b306a45625cfd47c1bc5c2f693d_7300_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="215"
data-flex-basis="517px"
>&lt;/p>
&lt;h3 id="cara-menyimpan-gambar-yang-ditangkap-adalah-sebagai-berikut">Cara menyimpan gambar yang ditangkap adalah sebagai berikut:
&lt;/h3>&lt;ol>
&lt;li>Pilih ikon &lt;code>Kamera&lt;/code>.&lt;/li>
&lt;li>Klik tombol &lt;code>Baru&lt;/code>.&lt;/li>
&lt;li>Pilih area yang ingin ditangkap.&lt;/li>
&lt;li>Klik tombol &lt;code>Simpan sebagai&lt;/code>.&lt;/li>
&lt;li>Masukkan lokasi penyimpanan dan nama file, lalu simpan.&lt;/li>
&lt;/ol>
&lt;h3 id="cara-merekam-video-adalah-sebagai-berikut">Cara merekam video adalah sebagai berikut:
&lt;/h3>&lt;ol>
&lt;li>Pilih ikon &lt;code>Video&lt;/code>.&lt;/li>
&lt;li>Klik tombol &lt;code>Baru&lt;/code>.&lt;/li>
&lt;li>Pilih area yang ingin ditangkap.&lt;/li>
&lt;li>Klik tombol &lt;code>Mulai&lt;/code>.&lt;/li>
&lt;li>Rekam layar.&lt;/li>
&lt;li>Klik tombol &lt;code>Berhenti&lt;/code>.&lt;/li>
&lt;li>Klik tombol &lt;code>Simpan sebagai&lt;/code>.&lt;/li>
&lt;li>Masukkan lokasi penyimpanan dan nama file, lalu simpan.&lt;/li>
&lt;/ol>
&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://support.microsoft.com/id-id/windows/gunakan-snipping-tool-untuk-mengambil-tangkapan-layar-00246869-1843-655f-f220-97299b865f6b" target="_blank" rel="noopener"
>Gunakan Snipping Tool untuk mengambil tangkapan layar&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cara Membuat Pintasan untuk Mengunci Komputer</title><link>http://kenji.blog/id/p/cara-membuat-pintasan-untuk-mengunci-komputer/</link><pubDate>Mon, 01 Apr 2024 01:37:49 +0900</pubDate><guid>http://kenji.blog/id/p/cara-membuat-pintasan-untuk-mengunci-komputer/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Membuat Pintasan untuk Mengunci Komputer" />&lt;p>Berikut adalah cara membuat pintasan untuk mengunci komputer.&lt;/p>
&lt;p>Ini berguna karena Anda dapat mengunci komputer dengan mengklik ganda pintasan yang dibuat di desktop dan lain-lain.&lt;/p>
&lt;h2 id="cara-membuat">Cara Membuat
&lt;/h2>&lt;h4 id="1-klik-kanan-pada-desktop-dan-pilih-baru--pintasan">1. Klik kanan pada desktop dan pilih &lt;code>Baru&lt;/code> &amp;gt; &lt;code>Pintasan&lt;/code>
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2.png"
width="497"
height="310"
srcset="http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2_hu68fc7215f5b611a42509ec28239f03ed_82746_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2_hu68fc7215f5b611a42509ec28239f03ed_82746_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="160"
data-flex-basis="384px"
>&lt;/p>
&lt;h4 id="2-layar-pembuatan-pintasan-akan-muncul-masukkan-rundll32exe-user32dlllockworkstation-dan-klik-berikutnya">2. Layar pembuatan pintasan akan muncul, masukkan &lt;code>rundll32.exe user32.dll,LockWorkStation&lt;/code> dan klik &lt;code>Berikutnya&lt;/code>
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1.png"
width="614"
height="454"
srcset="http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hu0d4835ef465704aabd38109d760b63eb_14728_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hu0d4835ef465704aabd38109d760b63eb_14728_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="135"
data-flex-basis="324px"
>&lt;/p>
&lt;h4 id="3-masukkan-nama-pintasan-kunci-komputer-dan-klik-selesai">3. Masukkan nama pintasan &lt;code>Kunci Komputer&lt;/code> dan klik &lt;code>Selesai&lt;/code>
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3.png"
width="614"
height="454"
srcset="http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3_hu44e1aec8e86c339d674a378757ec4650_12577_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3_hu44e1aec8e86c339d674a378757ec4650_12577_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="135"
data-flex-basis="324px"
>&lt;/p>
&lt;h4 id="4-mengubah-ikon-pintasan-yang-dibuat">4. Mengubah ikon pintasan yang dibuat
&lt;/h4>&lt;p>Klik kanan pada pintasan yang dibuat dan pilih &lt;code>Properti&lt;/code>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_4.png"
width="368"
height="376"
srcset="http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_4_hufea304b74b77df48eaf897c362c80395_24161_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_4_hufea304b74b77df48eaf897c362c80395_24161_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_4.png"
class="gallery-image"
data-flex-grow="97"
data-flex-basis="234px"
>&lt;/p>
&lt;p>Klik &lt;code>Ganti Ikon&lt;/code>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_6.png"
width="421"
height="580"
srcset="http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_6_hua3af668a56a5a3efe3d9cfc5e6b2ac17_19464_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_6_hua3af668a56a5a3efe3d9cfc5e6b2ac17_19464_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_6.png"
class="gallery-image"
data-flex-grow="72"
data-flex-basis="174px"
>&lt;/p>
&lt;p>Pilih ikon persegi kuning dan klik &lt;code>OK&lt;/code>, lalu klik &lt;code>OK&lt;/code> lagi untuk menutup properti&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_5.png"
width="340"
height="420"
srcset="http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_5_hud49e429cd2963712e519c6e541751db5_41795_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_5_hud49e429cd2963712e519c6e541751db5_41795_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_5.png"
class="gallery-image"
data-flex-grow="80"
data-flex-basis="194px"
>&lt;/p>
&lt;p>Itu saja.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_7.png"
width="79"
height="95"
srcset="http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_7_hub726554b64c896d5f41210824d4f60e8_7903_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_7_hub726554b64c896d5f41210824d4f60e8_7903_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_7.png"
class="gallery-image"
data-flex-grow="83"
data-flex-basis="199px"
>&lt;/p>
&lt;p>Mengklik ganda pintasan yang dibuat akan mengunci komputer.&lt;/p>
&lt;p>Anda juga dapat mengunci komputer dengan menekan &lt;code>Tombol Win&lt;/code> + &lt;code>Tombol L&lt;/code>.&lt;/p>
&lt;p>※ Catatan: Dialog konfirmasi penguncian komputer tidak akan ditampilkan.&lt;/p></description></item><item><title>Masalah Monty Hall</title><link>http://kenji.blog/id/p/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%9B%E3%83%BC%E3%83%AB%E5%95%8F%E9%A1%8C/</link><pubDate>Sun, 31 Mar 2024 23:41:51 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%9B%E3%83%BC%E3%83%AB%E5%95%8F%E9%A1%8C/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%9B%E3%83%BC%E3%83%AB%E5%95%8F%E9%A1%8C/img_1.png" alt="Featured image of post Masalah Monty Hall" />&lt;h2 id="apa-itu-masalah-monty-hall">Apa itu Masalah Monty Hall
&lt;/h2>&lt;p>Masalah Monty Hall adalah sebuah masalah yang berasal dari permainan di acara televisi Amerika Serikat &amp;ldquo;Let&amp;rsquo;s Make a Deal&amp;rdquo;, dengan penjelasan sebagai berikut.&lt;/p>
&lt;p>Kondisi awal: Dari tiga pintu, satu di antaranya berisi hadiah, dan dua sisanya kosong.&lt;/p>
&lt;ol>
&lt;li>Peserta memilih satu dari tiga pintu.&lt;/li>
&lt;li>Pembawa acara membuka satu pintu yang kosong dari dua pintu yang tidak dipilih oleh peserta.&lt;/li>
&lt;li>Peserta ditanya apakah ia ingin mengubah pilihan pintunya.&lt;/li>
&lt;/ol>
&lt;p>Pada titik ini, masalahnya adalah mempertimbangkan apakah lebih baik bagi peserta untuk mengubah pilihannya atau tidak.&lt;/p>
&lt;h2 id="solusi">Solusi
&lt;/h2>&lt;p>Solusi dari masalah Monty Hall adalah sebagai berikut.&lt;/p>
&lt;ol>
&lt;li>
&lt;p>Jika peserta tidak mengubah pintu yang dipilih pertama kali&lt;/p>
&lt;ul>
&lt;li>Peluang menang: 1/3&lt;/li>
&lt;li>Peluang kalah: 2/3&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Setelah pembawa acara membuka pintu yang kosong&lt;/p>
&lt;ul>
&lt;li>Jika tidak mengubah pilihan, peluang menang: 1/3 (tidak berubah dari peluang menang di nomor 1)&lt;/li>
&lt;li>Jika mengubah pilihan, peluang menang: 2/3 (peluang selain menang di nomor 1)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;p>Oleh karena itu, peluang peserta untuk menang lebih tinggi jika ia mengubah pilihannya.&lt;/p>
&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;ul>
&lt;li>Wikipedia &lt;a class="link" href="https://en.wikipedia.org/wiki/Monty_Hall_problem" target="_blank" rel="noopener"
>Monty Hall problem&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cara Menginstal Teks Editor micro di Windows</title><link>http://kenji.blog/id/p/cara-menginstal-teks-editor-micro-di-windows/</link><pubDate>Sun, 31 Mar 2024 21:50:39 +0900</pubDate><guid>http://kenji.blog/id/p/cara-menginstal-teks-editor-micro-di-windows/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BFmicro%E3%82%92windows%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Menginstal Teks Editor micro di Windows" />&lt;h2 id="mengunduh-micro">Mengunduh micro
&lt;/h2>&lt;p>&lt;a class="link" href="https://github.com/zyedidia/micro/releases" target="_blank" rel="noopener"
>https://github.com/zyedidia/micro/releases&lt;/a>&lt;/p>
&lt;p>Buka tautan di atas, klik &lt;code>Show all XX assets&lt;/code> (X adalah angka) dan unduh &lt;code>micro-X.X.XX-win64.zip&lt;/code> (X adalah angka).
Ekstrak file zip dan tempatkan semua file di folder mana saja.&lt;/p>
&lt;h2 id="mengatur-variabel-lingkungan">Mengatur Variabel Lingkungan
&lt;/h2>&lt;p>Untuk menggunakan &lt;code>micro.exe&lt;/code> dari Command Prompt, Anda perlu mengatur variabel lingkungan.&lt;/p>
&lt;ol>
&lt;li>Tekan tombol &lt;code>Win&lt;/code> + &lt;code>R&lt;/code>, ketik &lt;code>sysdm.cpl&lt;/code> dan tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;li>Klik &lt;code>Properti Sistem&lt;/code> di &lt;code>Properti Sistem&lt;/code>.&lt;/li>
&lt;li>Klik &lt;code>Variabel Lingkungan&lt;/code>.&lt;/li>
&lt;li>Pilih &lt;code>Path&lt;/code> di bawah &lt;code>Variabel Sistem&lt;/code> dan klik &lt;code>Edit&lt;/code>.&lt;/li>
&lt;li>Klik &lt;code>Baru&lt;/code> dan tambahkan jalur folder yang berisi &lt;code>micro.exe&lt;/code>.&lt;/li>
&lt;li>Klik &lt;code>OK&lt;/code> untuk menutup semua kotak dialog.&lt;/li>
&lt;li>Nyalakan ulang Command Prompt, ketik &lt;code>nano&lt;/code> dan periksa apakah dapat dijalankan.&lt;/li>
&lt;/ol>
&lt;h2 id="cara-menggunakan-micro">Cara Menggunakan micro
&lt;/h2>&lt;p>Saat Anda mengetik &lt;code>micro&lt;/code> di Command Prompt dan menjalankannya, layar seperti berikut akan ditampilkan.
&lt;img src="http://kenji.blog/p/%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BFmicro%E3%82%92windows%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3.png"
width="962"
height="512"
srcset="http://kenji.blog/p/%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BFmicro%E3%82%92windows%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3_hucac22a4d580735ddd83b1fd5173c3197_6852_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BFmicro%E3%82%92windows%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3_hucac22a4d580735ddd83b1fd5173c3197_6852_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="187"
data-flex-basis="450px"
>&lt;/p>
&lt;p>Operasi utama dan pintasan keyboard adalah sebagai berikut.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Pintasan Keyboard&lt;/th>
&lt;th>Operasi&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Ctrl+Q&lt;/td>
&lt;td>Tutup file&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ctrl+S&lt;/td>
&lt;td>Simpan file&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ctrl+O&lt;/td>
&lt;td>Buka file&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ctrl+A&lt;/td>
&lt;td>Pilih semua&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ctrl+X&lt;/td>
&lt;td>Potong pilihan&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ctrl+C&lt;/td>
&lt;td>Salin pilihan&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ctrl+V&lt;/td>
&lt;td>Tempel&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ctrl+Z&lt;/td>
&lt;td>Urungkan&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ctrl+Y&lt;/td>
&lt;td>Ulangi&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ctrl+E&lt;/td>
&lt;td>Jalankan perintah editor&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://micro-editor.github.io/" target="_blank" rel="noopener"
>micro&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cara Menginstal Teks Editor CLI nano di Windows</title><link>http://kenji.blog/id/p/cli%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BFnano%E3%82%92windows%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Sun, 31 Mar 2024 18:09:32 +0900</pubDate><guid>http://kenji.blog/id/p/cli%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BFnano%E3%82%92windows%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/cli%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BFnano%E3%82%92windows%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1.png" alt="Featured image of post Cara Menginstal Teks Editor CLI nano di Windows" />&lt;h2 id="mengunduh-nanoexe">Mengunduh nano.exe
&lt;/h2>&lt;p>&lt;a class="link" href="https://sourceforge.net/projects/nano-for-windows/" target="_blank" rel="noopener"
>https://sourceforge.net/projects/nano-for-windows/&lt;/a>&lt;/p>
&lt;p>Buka tautan di atas dan klik &lt;code>Download&lt;/code> untuk mengunduh &lt;code>GNU-Nano_Win32(static).zip&lt;/code>.
Ekstrak file zip dan tempatkan &lt;code>nano.exe&lt;/code> di folder mana pun.&lt;/p>
&lt;ul>
&lt;li>Input bahasa Jepang tidak didukung. (Per 31/03/2024)&lt;/li>
&lt;/ul>
&lt;h2 id="mengatur-variabel-lingkungan">Mengatur variabel lingkungan
&lt;/h2>&lt;p>Untuk menggunakan &lt;code>nano.exe&lt;/code> dari Command Prompt, Anda perlu mengatur variabel lingkungan.&lt;/p>
&lt;ol>
&lt;li>Tekan tombol &lt;code>Win&lt;/code> + &lt;code>R&lt;/code>, ketik &lt;code>sysdm.cpl&lt;/code>, lalu tekan tombol &lt;code>Enter&lt;/code>.&lt;/li>
&lt;li>Klik &lt;code>Properti Sistem&lt;/code> (System Properties).&lt;/li>
&lt;li>Klik &lt;code>Variabel Lingkungan&lt;/code> (Environment Variables).&lt;/li>
&lt;li>Pilih &lt;code>Path&lt;/code> di bawah &lt;code>Variabel sistem&lt;/code> dan klik &lt;code>Edit&lt;/code>.&lt;/li>
&lt;li>Klik &lt;code>Baru&lt;/code> (New) dan tambahkan jalur &lt;code>nano.exe&lt;/code>.&lt;/li>
&lt;li>Klik &lt;code>OK&lt;/code> untuk menutup semua kotak dialog.&lt;/li>
&lt;li>Mulai ulang Command Prompt, ketik &lt;code>nano&lt;/code> dan periksa apakah itu dapat dijalankan.&lt;/li>
&lt;/ol>
&lt;h2 id="cara-menggunakan-nano">Cara menggunakan nano
&lt;/h2>&lt;p>Saat Anda mengetik &lt;code>nano&lt;/code> dan menjalankannya, layar berikut akan ditampilkan.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/cli%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BFnano%E3%82%92windows%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2.png"
width="1082"
height="632"
srcset="http://kenji.blog/p/cli%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BFnano%E3%82%92windows%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2_hucb9efcdf08d2eda99abffd0a9502a2c3_16316_480x0_resize_box_3.png 480w, http://kenji.blog/p/cli%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BFnano%E3%82%92windows%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2_hucb9efcdf08d2eda99abffd0a9502a2c3_16316_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="171"
data-flex-basis="410px"
>&lt;/p>
&lt;p>Penjelasan tentang pintasan ditampilkan di bagian bawah layar.&lt;/p>
&lt;p>Arti dari simbol-simbol tersebut adalah sebagai berikut.&lt;/p>
&lt;ul>
&lt;li>&lt;code>^&lt;/code> mewakili tombol &lt;code>Ctrl&lt;/code>.&lt;/li>
&lt;li>&lt;code>M-&lt;/code> mewakili tombol &lt;code>Alt&lt;/code>.&lt;/li>
&lt;/ul>
&lt;p>Untuk menyimpan dan menutup, tekan &lt;code>Ctrl&lt;/code> + &lt;code>S&lt;/code> lalu tekan &lt;code>Ctrl&lt;/code> + &lt;code>X&lt;/code>.&lt;/p>
&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://www.nano-editor.org/" target="_blank" rel="noopener"
>GNU nano&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cara mengatasi 'Temporary failure resolving...' di WSL</title><link>http://kenji.blog/id/p/wsl-%E3%81%A7temporary-failure-resolving%E3%81%A8%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AE%E5%AF%BE%E5%87%A6%E6%96%B9%E6%B3%95/</link><pubDate>Sun, 31 Mar 2024 16:57:33 +0900</pubDate><guid>http://kenji.blog/id/p/wsl-%E3%81%A7temporary-failure-resolving%E3%81%A8%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AE%E5%AF%BE%E5%87%A6%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/wsl-%E3%81%A7temporary-failure-resolving%E3%81%A8%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AE%E5%AF%BE%E5%87%A6%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara mengatasi 'Temporary failure resolving...' di WSL" />&lt;h1 id="cara-mengatasi-temporary-failure-resolving-di-wsl">Cara mengatasi &amp;lsquo;Temporary failure resolving&amp;hellip;&amp;rsquo; di WSL
&lt;/h1>&lt;p>&lt;code>kenji@MyComputer:~$ sudo apt update [sudo] password for kenji: Err:1 http://archive.ubuntu.com/ubuntu focal InRelease Temporary failure resolving 'archive.ubuntu.com'&lt;/code>&lt;/p>
&lt;p>Ketika kesalahan di atas muncul di WSL, pengaturan server DNS mungkin tidak benar.
Di lingkungan saya, masalah teratasi dengan langkah-langkah berikut:&lt;/p>
&lt;ol>
&lt;li>Mulai WSL.&lt;/li>
&lt;li>Jalankan &lt;code>sudo nano /etc/resolv.conf&lt;/code>.&lt;/li>
&lt;li>Ubah baris &lt;code>nameserver&lt;/code> menjadi seperti berikut:
&lt;code>nameserver 8.8.8.8&lt;/code>&lt;/li>
&lt;li>Simpan dengan &lt;code>Ctrl&lt;/code> + &lt;code>S&lt;/code> dan keluar dengan &lt;code>Ctrl&lt;/code> + &lt;code>X&lt;/code>.&lt;/li>
&lt;li>Jalankan &lt;code>sudo apt update&lt;/code>.&lt;/li>
&lt;li>Jika kesalahan tidak muncul, masalah selesai.&lt;/li>
&lt;/ol>
&lt;h2 id="jika-langkah-di-atas-tidak-menyelesaikan-masalah">Jika langkah di atas tidak menyelesaikan masalah
&lt;/h2>&lt;p>Sepertinya ada kasus di mana langkah di atas tidak menyelesaikan masalah. Silakan merujuk ke artikel berikut.&lt;/p>
&lt;ul>
&lt;li>&lt;a class="link" href="https://qiita.com/ryosukeYamazaki/items/c04ec3ff78aac6eb8d26" target="_blank" rel="noopener"
>Cara mengatasi &amp;lsquo;Temporary failure resolving&amp;hellip;&amp;rsquo; saat apt update di WSL&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cara Menutup dan Memulai Ulang File Explorer</title><link>http://kenji.blog/id/p/cara-menutup-dan-memulai-ulang-file-explorer/</link><pubDate>Sat, 30 Mar 2024 15:40:24 +0900</pubDate><guid>http://kenji.blog/id/p/cara-menutup-dan-memulai-ulang-file-explorer/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E7%B5%82%E4%BA%86%E5%86%8D%E8%B5%B7%E5%8B%95%E6%96%B9%E6%B3%95/img_2.png" alt="Featured image of post Cara Menutup dan Memulai Ulang File Explorer" />&lt;h2 id="cara-menutup-melalui-klik-kanan-taskbar">Cara Menutup melalui Klik Kanan Taskbar
&lt;/h2>&lt;p>Metode ini berlaku untuk Windows 10. Di Windows 11, menu tersebut sepertinya tidak muncul.
Jika Anda mengklik kanan pada taskbar sambil menahan tombol &lt;code>Shift&lt;/code> dan &lt;code>Ctrl&lt;/code>, opsi &lt;code>Keluar dari Explorer&lt;/code> akan muncul di menu.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E7%B5%82%E4%BA%86%E5%86%8D%E8%B5%B7%E5%8B%95%E6%96%B9%E6%B3%95/img.png"
width="492"
height="849"
srcset="http://kenji.blog/p/%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E7%B5%82%E4%BA%86%E5%86%8D%E8%B5%B7%E5%8B%95%E6%96%B9%E6%B3%95/img_hu25fa4fd28e26e648c7df7b34d330fb4a_26017_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E7%B5%82%E4%BA%86%E5%86%8D%E8%B5%B7%E5%8B%95%E6%96%B9%E6%B3%95/img_hu25fa4fd28e26e648c7df7b34d330fb4a_26017_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="57"
data-flex-basis="139px"
>&lt;/p>
&lt;h2 id="cara-menutup-melalui-task-manager">Cara Menutup melalui Task Manager
&lt;/h2>&lt;ol>
&lt;li>Tekan tombol &lt;code>Ctrl&lt;/code> + &lt;code>Shift&lt;/code> + &lt;code>Esc&lt;/code> untuk membuka Task Manager.&lt;/li>
&lt;li>Pilih &lt;code>Detail&lt;/code>.&lt;/li>
&lt;/ol>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E7%B5%82%E4%BA%86%E5%86%8D%E8%B5%B7%E5%8B%95%E6%96%B9%E6%B3%95/img_3.png"
width="675"
height="439"
srcset="http://kenji.blog/p/%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E7%B5%82%E4%BA%86%E5%86%8D%E8%B5%B7%E5%8B%95%E6%96%B9%E6%B3%95/img_3_hu94dd07716acd73c3bf3a07b52949d73b_34688_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E7%B5%82%E4%BA%86%E5%86%8D%E8%B5%B7%E5%8B%95%E6%96%B9%E6%B3%95/img_3_hu94dd07716acd73c3bf3a07b52949d73b_34688_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="153"
data-flex-basis="369px"
>&lt;/p>
&lt;ol start="3">
&lt;li>Pilih &lt;code>explorer.exe&lt;/code>, tekan tombol &lt;code>Delete&lt;/code>, dan ketika ditanya &lt;code>Apakah Anda ingin mengakhiri explorer.exe?&lt;/code>, pilih &lt;code>Akhiri proses&lt;/code>.&lt;/li>
&lt;/ol>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E7%B5%82%E4%BA%86%E5%86%8D%E8%B5%B7%E5%8B%95%E6%96%B9%E6%B3%95/img_1.png"
width="529"
height="304"
srcset="http://kenji.blog/p/%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E7%B5%82%E4%BA%86%E5%86%8D%E8%B5%B7%E5%8B%95%E6%96%B9%E6%B3%95/img_1_hu9ea0cd188ab9aa2b045ca3bb921a75d4_17142_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E7%B5%82%E4%BA%86%E5%86%8D%E8%B5%B7%E5%8B%95%E6%96%B9%E6%B3%95/img_1_hu9ea0cd188ab9aa2b045ca3bb921a75d4_17142_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="174"
data-flex-basis="417px"
>&lt;/p>
&lt;h2 id="cara-menutup-melalui-command-prompt">Cara Menutup melalui Command Prompt
&lt;/h2>&lt;ol>
&lt;li>Tekan tombol &lt;code>Win&lt;/code> + &lt;code>R&lt;/code>, ketik &lt;code>cmd&lt;/code>, dan tekan tombol &lt;code>Enter&lt;/code>.&lt;/li>
&lt;li>Ketik &lt;code>taskkill /f /im explorer.exe&lt;/code> dan tekan tombol &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ol>
&lt;h2 id="cara-memulai-explorer-dari-task-manager">Cara Memulai Explorer dari Task Manager
&lt;/h2>&lt;ol>
&lt;li>Tekan tombol &lt;code>Ctrl&lt;/code> + &lt;code>Shift&lt;/code> + &lt;code>Esc&lt;/code> untuk membuka Task Manager.&lt;/li>
&lt;li>Dari menu File, pilih &lt;code>Jalankan tugas baru&lt;/code>.&lt;/li>
&lt;li>Ketik &lt;code>explorer.exe&lt;/code> dan tekan tombol &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ol></description></item><item><title>Cara Mengembalikan Menu Klik Kanan Klasik di Windows 11</title><link>http://kenji.blog/id/p/cara-mengembalikan-menu-klik-kanan-klasik-di-windows-11/</link><pubDate>Sat, 30 Mar 2024 13:13:36 +0900</pubDate><guid>http://kenji.blog/id/p/cara-mengembalikan-menu-klik-kanan-klasik-di-windows-11/</guid><description>&lt;img src="http://kenji.blog/p/windows-11%E3%81%AE%E5%8F%B3%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%92%E5%BE%93%E6%9D%A5%E7%89%88%E3%81%AB%E6%88%BB%E3%81%99%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Mengembalikan Menu Klik Kanan Klasik di Windows 11" />&lt;h1 id="cara-mengembalikan-menu-klik-kanan-klasik-di-windows-11">Cara Mengembalikan Menu Klik Kanan Klasik di Windows 11
&lt;/h1>&lt;p>Berikut adalah cara untuk mengembalikan menu klik kanan di Windows 11 ke versi klasik.&lt;/p>
&lt;ol>
&lt;li>Buka Registry Editor.&lt;/li>
&lt;/ol>
&lt;p>Tekan &lt;code>Tombol Win&lt;/code> + &lt;code>Tombol R&lt;/code>, ketik &lt;code>regedit&lt;/code>, lalu tekan &lt;code>Tombol Enter&lt;/code>.
&lt;img src="http://kenji.blog/p/windows-11%E3%81%AE%E5%8F%B3%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%92%E5%BE%93%E6%9D%A5%E7%89%88%E3%81%AB%E6%88%BB%E3%81%99%E6%96%B9%E6%B3%95/img_1.png"
width="399"
height="206"
srcset="http://kenji.blog/p/windows-11%E3%81%AE%E5%8F%B3%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%92%E5%BE%93%E6%9D%A5%E7%89%88%E3%81%AB%E6%88%BB%E3%81%99%E6%96%B9%E6%B3%95/img_1_hu57f8ec9d7413c1dd616d892c3bf497ce_10532_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-11%E3%81%AE%E5%8F%B3%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%92%E5%BE%93%E6%9D%A5%E7%89%88%E3%81%AB%E6%88%BB%E3%81%99%E6%96%B9%E6%B3%95/img_1_hu57f8ec9d7413c1dd616d892c3bf497ce_10532_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="193"
data-flex-basis="464px"
>　&lt;/p>
&lt;ol start="2">
&lt;li>
&lt;p>Navigasikan ke &lt;code>HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}&lt;/code>. Jika kunci ini tidak ada, buatlah.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Navigasikan ke &lt;code>HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32&lt;/code>. Jika kunci ini tidak ada, buatlah.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Pastikan nilai &lt;code>(Default)&lt;/code> pada &lt;code>InprocServer32&lt;/code> kosong.&lt;/p>
&lt;/li>
&lt;/ol>
&lt;p>&lt;img src="http://kenji.blog/p/windows-11%E3%81%AE%E5%8F%B3%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%92%E5%BE%93%E6%9D%A5%E7%89%88%E3%81%AB%E6%88%BB%E3%81%99%E6%96%B9%E6%B3%95/img_2.png"
width="770"
height="746"
srcset="http://kenji.blog/p/windows-11%E3%81%AE%E5%8F%B3%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%92%E5%BE%93%E6%9D%A5%E7%89%88%E3%81%AB%E6%88%BB%E3%81%99%E6%96%B9%E6%B3%95/img_2_hu825cb5788fa7c4fef725a65d032e0e06_65034_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-11%E3%81%AE%E5%8F%B3%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%92%E5%BE%93%E6%9D%A5%E7%89%88%E3%81%AB%E6%88%BB%E3%81%99%E6%96%B9%E6%B3%95/img_2_hu825cb5788fa7c4fef725a65d032e0e06_65034_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="103"
data-flex-basis="247px"
>&lt;/p>
&lt;ol start="6">
&lt;li>Mulai ulang komputer.&lt;/li>
&lt;li>Pastikan menu klik kanan telah kembali ke versi klasik.&lt;/li>
&lt;/ol></description></item><item><title>Koleksi Font untuk Pemrograman</title><link>http://kenji.blog/id/p/koleksi-font-untuk-pemrograman/</link><pubDate>Sat, 30 Mar 2024 02:21:31 +0900</pubDate><guid>http://kenji.blog/id/p/koleksi-font-untuk-pemrograman/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E9%9B%86/img.png" alt="Featured image of post Koleksi Font untuk Pemrograman" />&lt;h2 id="jetbrains-mono">JetBrains Mono
&lt;/h2>&lt;p>Ini adalah font pemrograman open source yang disediakan oleh JetBrains.&lt;/p>
&lt;p>Unduh: &lt;a class="link" href="https://www.jetbrains.com/ja-jp/lp/mono/" target="_blank" rel="noopener"
>https://www.jetbrains.com/ja-jp/lp/mono/&lt;/a>&lt;/p>
&lt;h2 id="hackgen">HackGen
&lt;/h2>&lt;p>Hakugen (HackGen) adalah font pemrograman yang dibuat dengan menggabungkan font bahasa Inggris untuk pemrograman Hack, dan Genjyuu Gothic, font turunan dari Source Han Sans.&lt;/p>
&lt;p>Unduh: &lt;a class="link" href="https://github.com/yuru7/HackGen/releases" target="_blank" rel="noopener"
>https://github.com/yuru7/HackGen/releases&lt;/a>&lt;/p>
&lt;h2 id="ricty-diminished">Ricty Diminished
&lt;/h2>&lt;p>&lt;code>Ricty Diminished&lt;/code> adalah font kembaran dari &lt;code>Ricty&lt;/code>, yang merupakan font yang dibuat dengan menggabungkan &lt;code>Inconsolata&lt;/code> dan &lt;code>Circle M+ 1m&lt;/code> menggunakan skrip pembuatan &lt;code>Ricty&lt;/code>, bukan &lt;code>Inconsolata&lt;/code> dan &lt;code>Migu 1M&lt;/code>. Karena tidak menyertakan mesin terbang IPA Gothic, jumlah mesin terbang kanji yang dapat digunakan sedikit, tetapi sebagai gantinya, font ini dapat didistribusikan di bawah &lt;code>SIL Open Font License&lt;/code>.&lt;/p>
&lt;p>Unduh: &lt;a class="link" href="https://rictyfonts.github.io/diminished" target="_blank" rel="noopener"
>https://rictyfonts.github.io/diminished&lt;/a>&lt;/p>
&lt;h2 id="cica">Cica
&lt;/h2>&lt;p>Font pemrograman yang menggunakan &lt;code>Hack&lt;/code> + &lt;code>DejaVu Sans Mono&lt;/code> untuk karakter alfanumerik bahasa Inggris dan simbol.
Untuk karakter lain, menggunakan &lt;code>Rounded Mgen+&lt;/code>.&lt;/p>
&lt;p>Unduh: &lt;a class="link" href="https://github.com/miiton/Cica/releases" target="_blank" rel="noopener"
>https://github.com/miiton/Cica/releases&lt;/a>&lt;/p>
&lt;p>Referensi:&lt;/p>
&lt;ul>
&lt;li>&lt;a class="link" href="https://sourcefoundry.org/hack/" target="_blank" rel="noopener"
>Hack&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://dejavu-fonts.github.io/" target="_blank" rel="noopener"
>DejaVu Sans Mono&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="http://jikasei.me/font/rounded-mgenplus/" target="_blank" rel="noopener"
>Rounded Mgen+&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="migu">Migu
&lt;/h2>&lt;p>Ini adalah font gabungan dari M+ dan IPA.&lt;/p>
&lt;p>Unduh: &lt;a class="link" href="https://itouhiro.github.io/mixfont-mplus-ipa/migu/" target="_blank" rel="noopener"
>https://itouhiro.github.io/mixfont-mplus-ipa/migu/&lt;/a>&lt;/p>
&lt;h2 id="osaka">Osaka
&lt;/h2>&lt;p>Ini adalah font yang memungkinkan Anda menggunakan &lt;code>Osaka&lt;/code>, font standar di Mac OS, pada Windows.&lt;/p>
&lt;p>Unduh: &lt;a class="link" href="http://ifs.nog.cc/osakattf.hp.infoseek.co.jp/" target="_blank" rel="noopener"
>http://ifs.nog.cc/osakattf.hp.infoseek.co.jp/&lt;/a>&lt;/p>
&lt;h2 id="plemoljp">PlemolJP
&lt;/h2>&lt;p>Ini adalah font pemrograman yang menggabungkan font bahasa Jepang open source &lt;code>IBM Plex Sans JP&lt;/code> yang dirilis oleh IBM, dengan &lt;code>IBM Plex Mono&lt;/code> dari seri Plex IBM.&lt;/p>
&lt;p>Unduh: &lt;a class="link" href="https://github.com/yuru7/PlemolJP/releases" target="_blank" rel="noopener"
>https://github.com/yuru7/PlemolJP/releases&lt;/a>&lt;/p></description></item><item><title>Cara Menjalankan Editor Hidemaru dengan Perintah «hide»</title><link>http://kenji.blog/id/p/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89hide%E3%81%A7%E7%A7%80%E4%B8%B8%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%82%92%E7%AB%8B%E3%81%A1%E4%B8%8A%E3%81%92%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Fri, 29 Mar 2024 23:45:37 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89hide%E3%81%A7%E7%A7%80%E4%B8%B8%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%82%92%E7%AB%8B%E3%81%A1%E4%B8%8A%E3%81%92%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89hide%E3%81%A7%E7%A7%80%E4%B8%B8%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%82%92%E7%AB%8B%E3%81%A1%E4%B8%8A%E3%81%92%E3%82%8B%E6%96%B9%E6%B3%95/img_2.png" alt="Featured image of post Cara Menjalankan Editor Hidemaru dengan Perintah «hide»" />&lt;h2 id="berikut-adalah-cara-menjalankan-editor-hidemaru-dengan-perintah-hide">Berikut adalah cara menjalankan Editor Hidemaru dengan perintah «hide».
&lt;/h2>&lt;p>Catatan: Metode ini telah dikonfirmasi berfungsi pada &lt;code>Windows 10/11&lt;/code>.&lt;/p>
&lt;ol>
&lt;li>Buka Registry Editor.&lt;/li>
&lt;li>Buka &lt;code>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths&lt;/code>.&lt;/li>
&lt;li>Buat kunci bernama &lt;code>hide.exe&lt;/code> di &lt;code>App Paths&lt;/code>. ※ Bagian sebelum &lt;code>.exe&lt;/code> pada nama kunci ini akan menjadi nama perintah.&lt;/li>
&lt;li>Atur jalur file yang dapat dieksekusi dari Editor Hidemaru di &lt;code>(Default)&lt;/code> pada kunci &lt;code>hide.exe&lt;/code>. Di lingkungan saya, jalurnya adalah &lt;code>&amp;quot;C:\Program Files (x86)\Hidemaru\Hidemaru.exe&amp;quot;&lt;/code>.&lt;/li>
&lt;li>Buat nilai string bernama &lt;code>Path&lt;/code> di kunci &lt;code>hide.exe&lt;/code>.&lt;/li>
&lt;li>Atur jalur folder yang berisi file yang dapat dieksekusi Editor Hidemaru ke data &lt;code>Path&lt;/code>. Di lingkungan saya, jalurnya adalah &lt;code>&amp;quot;C:\Program Files (x86)\Hidemaru&amp;quot;&lt;/code>.&lt;/li>
&lt;li>Sekarang, Anda dapat menjalankan Editor Hidemaru dengan perintah &lt;code>hide&lt;/code> di jendela &lt;strong>Run&lt;/strong> yang ditampilkan dengan menekan tombol &lt;code>Win&lt;/code> + &lt;code>R&lt;/code>. Selain itu, di Command Prompt, Anda dapat menjalankan Editor Hidemaru dengan perintah &lt;code>start hide&lt;/code>.&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Windows Registry Editor Version 5.00
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\hide.exe]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">@=&amp;#34;\&amp;#34;C:\\Program Files (x86)\\Hidemaru\\Hidemaru.exe\&amp;#34;&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;#34;Path&amp;#34;=&amp;#34;\&amp;#34;C:\\Program Files (x86)\\Hidemaru\\\&amp;#34;&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Jika Anda menyimpan konten di atas dalam file &lt;code>.reg&lt;/code> dan menjalankannya, pengaturan akan ditambahkan ke registry.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89hide%E3%81%A7%E7%A7%80%E4%B8%B8%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%82%92%E7%AB%8B%E3%81%A1%E4%B8%8A%E3%81%92%E3%82%8B%E6%96%B9%E6%B3%95/img_1.png"
width="399"
height="206"
srcset="http://kenji.blog/p/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89hide%E3%81%A7%E7%A7%80%E4%B8%B8%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%82%92%E7%AB%8B%E3%81%A1%E4%B8%8A%E3%81%92%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hue374203b955e2a50cac4186ada52cd43_10600_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89hide%E3%81%A7%E7%A7%80%E4%B8%B8%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%82%92%E7%AB%8B%E3%81%A1%E4%B8%8A%E3%81%92%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hue374203b955e2a50cac4186ada52cd43_10600_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="193"
data-flex-basis="464px"
>&lt;/p></description></item><item><title>Masalah Matematika yang Belum Terpecahkan</title><link>http://kenji.blog/id/p/masalah-matematika-yang-belum-terpecahkan/</link><pubDate>Sat, 02 Mar 2024 22:57:36 +0900</pubDate><guid>http://kenji.blog/id/p/masalah-matematika-yang-belum-terpecahkan/</guid><description>&lt;img src="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E3%81%AE%E6%9C%AA%E8%A7%A3%E6%B1%BA%E5%95%8F%E9%A1%8C/img.png" alt="Featured image of post Masalah Matematika yang Belum Terpecahkan" />&lt;h1 id="masalah-matematika-yang-belum-terpecahkan">Masalah Matematika yang Belum Terpecahkan
&lt;/h1>&lt;p>Saya akan menjelaskan tentang beberapa masalah matematika yang belum terpecahkan. Meskipun masalahnya sendiri sederhana, masih banyak masalah yang belum terbukti.&lt;/p>
&lt;h2 id="apakah-ada-bilangan-sempurna-yang-tak-terhingga-jumlahnya">Apakah ada bilangan sempurna yang tak terhingga jumlahnya?
&lt;/h2>&lt;p>Bilangan sempurna adalah bilangan asli yang jumlah pembagi positifnya, selain dirinya sendiri, sama dengan bilangan itu sendiri.
Sebagai contoh,&lt;/p>
&lt;ul>
&lt;li>6 memiliki pembagi 1, 2, 3, dan 1+2+3=6, jadi ini adalah bilangan sempurna.&lt;/li>
&lt;li>28 memiliki pembagi 1, 2, 4, 7, 14, dan 1+2+4+7+14=28, jadi ini adalah bilangan sempurna.&lt;/li>
&lt;/ul>
&lt;p>Saat ini hanya 51 yang telah ditemukan, dan meskipun diperkirakan jumlahnya tidak terbatas, hal itu belum terbukti.&lt;/p>
&lt;h2 id="konjektur-goldbach">Konjektur Goldbach
&lt;/h2>&lt;p>Konjektur Goldbach adalah konjektur yang menyatakan bahwa setiap bilangan genap yang lebih besar dari 2 dapat dinyatakan sebagai jumlah dari dua bilangan prima.
(Di sini, bilangan prima adalah bilangan asli yang tidak memiliki pembagi selain 1 dan dirinya sendiri).&lt;/p>
&lt;p>Sebagai contoh,&lt;/p>
&lt;ul>
&lt;li>4=2+2&lt;/li>
&lt;li>6=3+3&lt;/li>
&lt;li>8=3+5&lt;/li>
&lt;li>10=3+7=5+5&lt;/li>
&lt;/ul>
&lt;p>Masalahnya sendiri sangat sederhana, tetapi masih belum terbukti hingga saat ini.&lt;/p>
&lt;h2 id="hipotesis-riemann">Hipotesis Riemann
&lt;/h2>&lt;p>Ini adalah konjektur yang menyatakan bahwa nol dari fungsi zeta Riemann terbatas pada bilangan genap negatif dan bilangan kompleks yang bagian realnya adalah 1 / 2.&lt;/p>
&lt;p>Fungsi zeta Riemann didefinisikan sebagai berikut, di mana $s$ adalah bilangan kompleks dan $n$ adalah bilangan asli:&lt;/p>
$$\zeta(s):=\sum _{n=1}^{\infty }{\frac {1}{n^{s}}}=1+{\frac {1}{2^{s}}}+{\frac {1}{3^{s}}}+{\frac {1}{4^{s}}}+\cdots$$</description></item><item><title>Saya mengumpulkan banyak dialog informasi versi</title><link>http://kenji.blog/id/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/</link><pubDate>Sat, 02 Mar 2024 21:32:11 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/</guid><description>&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img.png" alt="Featured image of post Saya mengumpulkan banyak dialog informasi versi" />&lt;h1 id="saya-mengumpulkan-banyak-dialog-informasi-versi">&amp;ldquo;Saya mengumpulkan banyak dialog informasi versi&amp;rdquo;
&lt;/h1>&lt;h2 id="windows-11">Windows 11
&lt;/h2>&lt;p>Pertama, ini adalah informasi versi Windows 11 yang sedang saya gunakan.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img.png"
width="536"
height="472"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_hub829fc9858068bdd622cbafca10cd245_20954_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_hub829fc9858068bdd622cbafca10cd245_20954_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="113"
data-flex-basis="272px"
>&lt;/p>
&lt;h2 id="intellij-idea-community-edition">IntelliJ IDEA (Community Edition)
&lt;/h2>&lt;p>Ini adalah lingkungan tempat saya menulis blog ini.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_1.png"
width="430"
height="280"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_1_hua5367752a804b207b533162809f32018_16224_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_1_hua5367752a804b207b533162809f32018_16224_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="153"
data-flex-basis="368px"
>&lt;/p>
&lt;h2 id="visual-studio-code">Visual Studio Code
&lt;/h2>&lt;p>Ini juga merupakan editor yang sering saya gunakan. Ternyata sangat sederhana.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_2.png"
width="369"
height="279"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_2_hu6f1ad03ad750bb1606eb1362d5adbc93_13862_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_2_hu6f1ad03ad750bb1606eb1362d5adbc93_13862_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="132"
data-flex-basis="317px"
>&lt;/p>
&lt;h2 id="visual-studio">Visual Studio
&lt;/h2>&lt;p>Ini adalah lingkungan pengembangan yang saya gunakan untuk C++.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_3.png"
width="766"
height="558"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_3_hue2937726cf71daf9e61d0319a27b00f9_40495_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_3_hue2937726cf71daf9e61d0319a27b00f9_40495_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="137"
data-flex-basis="329px"
>&lt;/p>
&lt;h2 id="linewindows">LINE(Windows)
&lt;/h2>&lt;p>Ini adalah LINE versi Windows.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_4.png"
width="657"
height="494"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_4_hu8581061934b0bb5022cd7a96525141a7_21285_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_4_hu8581061934b0bb5022cd7a96525141a7_21285_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_4.png"
class="gallery-image"
data-flex-grow="132"
data-flex-basis="319px"
>&lt;/p>
&lt;h2 id="paintnet">Paint.NET
&lt;/h2>&lt;p>Ini adalah perangkat lunak pengedit gambar.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_5.png"
width="497"
height="444"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_5_huea1c283c954d5aa522490bb5fd418a17_41055_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_5_huea1c283c954d5aa522490bb5fd418a17_41055_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_5.png"
class="gallery-image"
data-flex-grow="111"
data-flex-basis="268px"
>&lt;/p>
&lt;h2 id="sakuraエディタ">sakuraエディタ
&lt;/h2>&lt;p>Ini adalah editor teks.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_6.png"
width="457"
height="374"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_6_hu30dd12ad135ab6e1e97018cf29903ec0_25090_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_6_hu30dd12ad135ab6e1e97018cf29903ec0_25090_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_6.png"
class="gallery-image"
data-flex-grow="122"
data-flex-basis="293px"
>&lt;/p>
&lt;h2 id="google-chrome">Google Chrome
&lt;/h2>&lt;p>Ini adalah Google Chrome. Saya jarang menggunakannya lagi setelah Edge muncul.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_7.png"
width="716"
height="550"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_7_hu7711134ce22b051fae7bc05ca532351f_20474_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_7_hu7711134ce22b051fae7bc05ca532351f_20474_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_7.png"
class="gallery-image"
data-flex-grow="130"
data-flex-basis="312px"
>&lt;/p>
&lt;h2 id="firefox">Firefox
&lt;/h2>&lt;p>Ini adalah Firefox. Akhir-akhir ini saya jarang menggunakannya.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_8.png"
width="732"
height="399"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_8_hue61323b7348180f9bdf1b2fdcc2598aa_71867_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_8_hue61323b7348180f9bdf1b2fdcc2598aa_71867_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_8.png"
class="gallery-image"
data-flex-grow="183"
data-flex-basis="440px"
>&lt;/p>
&lt;h2 id="microsoft-edge">Microsoft Edge
&lt;/h2>&lt;p>Ini adalah Microsoft Edge. Akhir-akhir ini saya sering menggunakannya.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_9.png"
width="862"
height="813"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_9_hu45c417f9fcbb634e734d206de2b56aca_107279_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_9_hu45c417f9fcbb634e734d206de2b56aca_107279_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_9.png"
class="gallery-image"
data-flex-grow="106"
data-flex-basis="254px"
>&lt;/p>
&lt;h2 id="obs-studio">OBS Studio
&lt;/h2>&lt;p>Ini adalah OBS Studio. Akhir-akhir ini saya jarang menggunakannya.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_10.png"
width="842"
height="551"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_10_hu180a6e2acbef184b6ad8a3fffb45c90c_39675_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_10_hu180a6e2acbef184b6ad8a3fffb45c90c_39675_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_10.png"
class="gallery-image"
data-flex-grow="152"
data-flex-basis="366px"
>&lt;/p>
&lt;h2 id="tradingview">TradingView
&lt;/h2>&lt;p>Ini adalah TradingView. Akhir-akhir ini saya menggunakannya untuk melihat grafik dolar/yen.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_11.png"
width="633"
height="650"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_11_hu53621cc6fc47bf074deb3028d86cf3c0_19381_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_11_hu53621cc6fc47bf074deb3028d86cf3c0_19381_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_11.png"
class="gallery-image"
data-flex-grow="97"
data-flex-basis="233px"
>&lt;/p>
&lt;h2 id="spy">Spy++
&lt;/h2>&lt;p>Ini adalah Spy++. Ini adalah alat yang disertakan dalam Windows SDK.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_12.png"
width="492"
height="218"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_12_hu637d3cfc5948f4a10326a7ffccf8ce5f_10468_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_12_hu637d3cfc5948f4a10326a7ffccf8ce5f_10468_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_12.png"
class="gallery-image"
data-flex-grow="225"
data-flex-basis="541px"
>&lt;/p>
&lt;h2 id="depency-walker">depency walker
&lt;/h2>&lt;p>Ini adalah depency walker. Ini adalah alat yang disertakan dalam Windows SDK.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_13.png"
width="352"
height="209"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_13_hu842e211dd17745aa6a8fb1c0bbdff9f5_6341_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_13_hu842e211dd17745aa6a8fb1c0bbdff9f5_6341_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_13.png"
class="gallery-image"
data-flex-grow="168"
data-flex-basis="404px"
>&lt;/p>
&lt;h2 id="resource-hacker">resource hacker
&lt;/h2>&lt;p>Ini adalah resource hacker. Ini adalah alat untuk mengedit dan mengekstrak sumber daya dari file yang dapat dieksekusi.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_14.png"
width="338"
height="246"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_14_huc57d60e163fd0bcc8f075dec24a49f89_36267_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_14_huc57d60e163fd0bcc8f075dec24a49f89_36267_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_14.png"
class="gallery-image"
data-flex-grow="137"
data-flex-basis="329px"
>&lt;/p>
&lt;h2 id="microsoft-excel">Microsoft Excel
&lt;/h2>&lt;p>Ini adalah Microsoft Excel.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_15.png"
width="768"
height="618"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_15_hu8a9136a150d5d639659ac9ceca75f4b3_91079_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_15_hu8a9136a150d5d639659ac9ceca75f4b3_91079_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_15.png"
class="gallery-image"
data-flex-grow="124"
data-flex-basis="298px"
>&lt;/p>
&lt;h2 id="bandy-cam">bandy cam
&lt;/h2>&lt;p>Ini adalah bandy cam. Ini adalah alat tangkapan video.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_16.png"
width="620"
height="570"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_16_hu3e31361df9b5deb62846e4b96bf6b125_70140_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_16_hu3e31361df9b5deb62846e4b96bf6b125_70140_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_16.png"
class="gallery-image"
data-flex-grow="108"
data-flex-basis="261px"
>&lt;/p>
&lt;h2 id="winmerge">winmerge
&lt;/h2>&lt;p>Ini adalah winmerge. Ini adalah alat untuk melihat perbedaan file.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_17.png"
width="551"
height="409"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_17_hud946a2eea7a4d661d773b263a8824288_229090_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_17_hud946a2eea7a4d661d773b263a8824288_229090_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_17.png"
class="gallery-image"
data-flex-grow="134"
data-flex-basis="323px"
>&lt;/p>
&lt;h2 id="itunes">iTunes
&lt;/h2>&lt;p>Ini adalah iTunes. Akhir-akhir ini saya jarang menggunakannya.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_18.png"
width="602"
height="352"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_18_hu2285c1c196750773901fc479753d8d52_62514_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_18_hu2285c1c196750773901fc479753d8d52_62514_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_18.png"
class="gallery-image"
data-flex-grow="171"
data-flex-basis="410px"
>&lt;/p>
&lt;h2 id="秀丸エディタ">秀丸エディタ
&lt;/h2>&lt;p>Ini adalah editor Hidemaru. Ini adalah editor teks.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_19.png"
width="364"
height="362"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_19_hu64b6fe4a78cf41bc83a36608446a6a6f_12142_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_19_hu64b6fe4a78cf41bc83a36608446a6a6f_12142_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_19.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="241px"
>&lt;/p>
&lt;h2 id="adobe-photoshop-cs6">Adobe Photoshop CS6
&lt;/h2>&lt;p>Ini adalah Adobe Photoshop CS6.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_20.png"
width="684"
height="526"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_20_hu0e5417f24efe83fe850895cbdc3ee6bd_33925_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_20_hu0e5417f24efe83fe850895cbdc3ee6bd_33925_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_20.png"
class="gallery-image"
data-flex-grow="130"
data-flex-basis="312px"
>&lt;/p>
&lt;h2 id="adobe-illustrator-cs6">Adobe Illustrator CS6
&lt;/h2>&lt;p>Ini adalah Adobe Illustrator CS6.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_21.png"
width="688"
height="510"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_21_hu75d0b46d92a40a63b233ebe509de2aef_34525_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_21_hu75d0b46d92a40a63b233ebe509de2aef_34525_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_21.png"
class="gallery-image"
data-flex-grow="134"
data-flex-basis="323px"
>&lt;/p>
&lt;h2 id="eset-nod32">ESET NOD32
&lt;/h2>&lt;p>Ini adalah ESET NOD32.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_22.png"
width="1024"
height="670"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_22_hu56c202fdeac0311855a721ca11397713_49037_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_22_hu56c202fdeac0311855a721ca11397713_49037_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_22.png"
class="gallery-image"
data-flex-grow="152"
data-flex-basis="366px"
>&lt;/p>
&lt;h2 id="notepad">NotePad++
&lt;/h2>&lt;p>Ini adalah NotePad++. Ini adalah editor teks.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_23.png"
width="407"
height="392"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_23_hu6eb2f3dbf16fa243605b7d0ac832471c_23159_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_23_hu6eb2f3dbf16fa243605b7d0ac832471c_23159_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_23.png"
class="gallery-image"
data-flex-grow="103"
data-flex-basis="249px"
>&lt;/p>
&lt;h2 id="mifes">MIFES
&lt;/h2>&lt;p>Ini adalah MIFES. Akhir-akhir ini saya jarang menggunakannya.
&lt;img src="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_24.png"
width="454"
height="353"
srcset="http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_24_hu78d7832f427554a574352f83766204e1_11395_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%84%E3%82%8D%E3%82%93%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0%E9%9B%86%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/img_24_hu78d7832f427554a574352f83766204e1_11395_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_24.png"
class="gallery-image"
data-flex-grow="128"
data-flex-basis="308px"
>&lt;/p></description></item><item><title>Alat Perekam Layar Animasi GIF</title><link>http://kenji.blog/id/p/gif%E3%82%A2%E3%83%8B%E3%83%A1%E7%94%BB%E9%9D%A2%E9%8C%B2%E7%94%BB%E3%83%84%E3%83%BC%E3%83%AB/</link><pubDate>Thu, 08 Feb 2024 01:23:01 +0900</pubDate><guid>http://kenji.blog/id/p/gif%E3%82%A2%E3%83%8B%E3%83%A1%E7%94%BB%E9%9D%A2%E9%8C%B2%E7%94%BB%E3%83%84%E3%83%BC%E3%83%AB/</guid><description>&lt;img src="http://kenji.blog/p/gif%E3%82%A2%E3%83%8B%E3%83%A1%E7%94%BB%E9%9D%A2%E9%8C%B2%E7%94%BB%E3%83%84%E3%83%BC%E3%83%AB/img.png" alt="Featured image of post Alat Perekam Layar Animasi GIF" />&lt;h1 id="alat-perekam-layar-animasi-gif">Alat Perekam Layar Animasi GIF
&lt;/h1>&lt;p>Saya telah membuat alat untuk merekam layar dan menyimpannya sebagai animasi GIF.
Dengan menggunakan alat ini, Anda dapat merekam operasi di layar dan membagikannya melalui alat komunikasi seperti Microsoft Teams.&lt;/p>
&lt;h2 id="cara-penggunaan">Cara Penggunaan
&lt;/h2>&lt;ol>
&lt;li>Jalankan alat&lt;/li>
&lt;li>Tentukan area yang akan direkam. Jika tidak ditentukan, seluruh layar akan direkam.&lt;/li>
&lt;li>Tekan tombol rekam&lt;/li>
&lt;li>Tekan tombol berhenti merekam&lt;/li>
&lt;li>Animasi GIF akan disimpan di lokasi yang sama dengan file eksekusi&lt;/li>
&lt;/ol>
&lt;h2 id="unduh">Unduh
&lt;/h2>&lt;p>&lt;a class="link" href="https://github.com/kenjinote/GifScreenRecorder/releases" target="_blank" rel="noopener"
>Unduh&lt;/a>&lt;/p>
&lt;p>Buka tautan di atas dan klik tautan &lt;code>GIFScreenRecorder.exe&lt;/code> untuk mengunduh file eksekusi.&lt;/p>
&lt;h2 id="kode-sumber">Kode Sumber
&lt;/h2>&lt;p>&lt;a class="link" href="https://github.com/kenjinote/GifScreenRecorder" target="_blank" rel="noopener"
>GitHub&lt;/a>&lt;/p></description></item><item><title>Belajar PMP</title><link>http://kenji.blog/id/p/pmp%E5%8B%89%E5%BC%B7/</link><pubDate>Sun, 04 Feb 2024 18:41:31 +0900</pubDate><guid>http://kenji.blog/id/p/pmp%E5%8B%89%E5%BC%B7/</guid><description>&lt;img src="http://kenji.blog/p/pmp%E5%8B%89%E5%BC%B7/img.png" alt="Featured image of post Belajar PMP" />&lt;h1 id="ringkasan-belajar-ujian-pmp">Ringkasan Belajar Ujian PMP
&lt;/h1>&lt;p>Ini adalah ringkasan belajar untuk ujian PMP.&lt;/p>
&lt;h2 id="gambaran-umum">Gambaran Umum
&lt;/h2>&lt;p>PMP adalah sertifikasi manajemen proyek. Ini adalah sertifikasi berdasarkan buku panduan yang disebut PMBOK (Edisi ke-7 terbaru).
Ujian PMP terdiri dari 180 pertanyaan dalam 230 menit, tetapi 5 pertanyaan adalah pertanyaan dummy, jadi jika Anda menjawab 106 pertanyaan atau lebih dengan benar dari 175 pertanyaan, Anda akan lulus.
Jawabannya dalam format pilihan ganda, dan sebagian besar adalah 4 pilihan, tetapi beberapa memiliki 5 pilihan atau format pilihan ganda.&lt;/p>
&lt;h2 id="kepemimpinan-melayani-servant-leadership">Kepemimpinan Melayani (Servant Leadership)
&lt;/h2>&lt;p>Gaya kepemimpinan yang mendukung dari bawah alih-alih memberi perintah dari atas.&lt;/p>
&lt;h3 id="10-prinsip-kepemimpinan-melayani-karakteristik">10 Prinsip Kepemimpinan Melayani (Karakteristik)
&lt;/h3>&lt;ol>
&lt;li>Mendengarkan (Listening)&lt;/li>
&lt;li>Empati (Empathy)&lt;/li>
&lt;li>Penyembuhan (Healing)&lt;/li>
&lt;li>Kesadaran (Awareness)&lt;/li>
&lt;li>Persuasi (Persuasion)&lt;/li>
&lt;li>Konseptualisasi (Conceptualization)&lt;/li>
&lt;li>Tinjauan ke depan (Foresight)&lt;/li>
&lt;li>Kepengurusan (Stewardship)&lt;/li>
&lt;li>Komitmen pada Pertumbuhan Orang-orang (Commitment to the growth of people)&lt;/li>
&lt;li>Membangun Komunitas (Building community)&lt;/li>
&lt;/ol>
&lt;h2 id="4-nilai-agile-manifesto">4 Nilai Agile Manifesto
&lt;/h2>&lt;p>Kami menemukan cara yang lebih baik dalam mengembangkan perangkat lunak dengan melakukannya dan membantu orang lain melakukannya. Melalui pekerjaan ini, kami telah menghargai:&lt;/p>
&lt;ol>
&lt;li>Individu dan interaksi lebih dari proses dan alat&lt;/li>
&lt;li>Perangkat lunak yang berfungsi lebih dari dokumentasi yang komprehensif&lt;/li>
&lt;li>Kolaborasi pelanggan lebih dari negosiasi kontrak&lt;/li>
&lt;li>Menanggapi perubahan lebih dari mengikuti rencana&lt;/li>
&lt;/ol>
&lt;p>Artinya, sementara ada nilai pada item di sebelah kanan, kami lebih menghargai item di sebelah kiri.&lt;/p>
&lt;p>&lt;a class="link" href="https://agilemanifesto.org/iso/id/manifesto.html" target="_blank" rel="noopener"
>Agile Manifesto&lt;/a>&lt;/p>
&lt;h2 id="12-prinsip-di-balik-agile-manifesto">12 Prinsip di Balik Agile Manifesto
&lt;/h2>&lt;ol>
&lt;li>Prioritas tertinggi kami adalah memuaskan pelanggan melalui pengiriman perangkat lunak yang berharga secara awal dan berkelanjutan.&lt;/li>
&lt;li>Menerima perubahan persyaratan, bahkan di akhir pengembangan. Proses Agile memanfaatkan perubahan untuk keunggulan kompetitif pelanggan.&lt;/li>
&lt;li>Memberikan perangkat lunak yang berfungsi secara sering, dari beberapa minggu hingga beberapa bulan, dengan preferensi pada skala waktu yang lebih pendek.&lt;/li>
&lt;li>Orang bisnis dan pengembang harus bekerja sama setiap hari di sepanjang proyek.&lt;/li>
&lt;li>Bangun proyek di sekitar individu yang termotivasi. Beri mereka lingkungan dan dukungan yang mereka butuhkan, dan percayai mereka untuk menyelesaikan pekerjaan.&lt;/li>
&lt;li>Metode yang paling efisien dan efektif untuk menyampaikan informasi ke dan di dalam tim pengembangan adalah percakapan tatap muka.&lt;/li>
&lt;li>Perangkat lunak yang berfungsi adalah ukuran utama kemajuan.&lt;/li>
&lt;li>Proses Agile mempromosikan pengembangan yang berkelanjutan. Sponsor, pengembang, dan pengguna harus dapat mempertahankan kecepatan yang konstan tanpa batas.&lt;/li>
&lt;li>Perhatian terus-menerus pada keunggulan teknis dan desain yang baik meningkatkan ketangkasan.&lt;/li>
&lt;li>Kesederhanaan (seni memaksimalkan jumlah pekerjaan yang tidak dilakukan) adalah penting.&lt;/li>
&lt;li>Arsitektur, persyaratan, dan desain terbaik muncul dari tim yang mengatur dirinya sendiri.&lt;/li>
&lt;li>Secara berkala, tim merefleksikan cara menjadi lebih efektif, lalu menyesuaikan dan menyelaraskan perilakunya.&lt;/li>
&lt;/ol>
&lt;p>&lt;a class="link" href="https://agilemanifesto.org/iso/id/principles.html" target="_blank" rel="noopener"
>Prinsip di Balik Agile Manifesto&lt;/a>&lt;/p>
&lt;h3 id="istilah">Istilah
&lt;/h3>&lt;ul>
&lt;li>Epic (Garis besar)&lt;/li>
&lt;li>User Story (Unit yang didaftarkan dalam product backlog, unit untuk penentuan prioritas)&lt;/li>
&lt;li>Task (Item pekerjaan teknis, target estimasi waktu)&lt;/li>
&lt;li>Product Backlog / Product Backlog Item&lt;/li>
&lt;li>Product Owner&lt;/li>
&lt;li>Stakeholder (Pemangku Kepentingan)&lt;/li>
&lt;li>Agile Practice Guide (Buku panduan)&lt;/li>
&lt;li>Lean Development&lt;/li>
&lt;li>Kanban&lt;/li>
&lt;li>Value Chain&lt;/li>
&lt;li>AC (Actual Cost)&lt;/li>
&lt;li>EV (Earned Value)&lt;/li>
&lt;li>PV (Planned Value)&lt;/li>
&lt;li>EVA (Earned Value Analysis)&lt;/li>
&lt;li>SPI (Schedule Performance Index = EV / PV)&lt;/li>
&lt;li>CPI (Cost Performance Index = EV / AC)&lt;/li>
&lt;li>EVM (Earned Value Management)&lt;/li>
&lt;li>BAC (Budget at Completion)&lt;/li>
&lt;li>ETC (Estimate To Complete)&lt;/li>
&lt;li>EAC (Estimate At Completion)&lt;/li>
&lt;li>Fungsional&lt;/li>
&lt;li>Matriks&lt;/li>
&lt;li>Proyek&lt;/li>
&lt;li>Servant Leadership&lt;/li>
&lt;li>Tuckman Model (Forming, Storming, Norming, Performing, Adjourning)&lt;/li>
&lt;li>Piagam Tim (Team Charter)&lt;/li>
&lt;li>Planning Poker (Deret Fibonacci)&lt;/li>
&lt;li>Retrospektif (Aktivitas refleksi)&lt;/li>
&lt;li>Tim Virtual&lt;/li>
&lt;li>Piagam Proyek (Project Charter)&lt;/li>
&lt;li>Konflik (6 cara mengatasi: Konfrontasi/Pemecahan masalah, Kolaborasi, Kompromi, Akomodasi/Penenangan, Paksaan, Penarikan/Penghindaran)&lt;/li>
&lt;li>Value Stream Mapping&lt;/li>
&lt;li>Mentoring&lt;/li>
&lt;li>Coaching&lt;/li>
&lt;li>Training&lt;/li>
&lt;li>Teori X dan Y Douglas McGregor&lt;/li>
&lt;li>Analisis SWOT (Strength, Weakness, Opportunity, Threat)&lt;/li>
&lt;li>Model SECI (Socialization, Externalization, Combination, Internalization)&lt;/li>
&lt;li>PDCA, PDSA&lt;/li>
&lt;li>PESTLE (Political, Economic, Social, Technological, Legal, Environmental)&lt;/li>
&lt;li>VUCA (Volatility, Uncertainty, Complexity, Ambiguity)&lt;/li>
&lt;li>Metode Monte Carlo&lt;/li>
&lt;li>Analisis Decision Tree&lt;/li>
&lt;li>Expected Monetary Value (EMV)&lt;/li>
&lt;li>Net Promoter Score&lt;/li>
&lt;li>Analisis Biaya-Manfaat (Cost-Benefit Analysis)&lt;/li>
&lt;li>Sprint Review&lt;/li>
&lt;li>Release Management&lt;/li>
&lt;li>SOW (Statement of Work)&lt;/li>
&lt;li>P-SOW (Procurement Statement of Work)&lt;/li>
&lt;li>RFI (Request For Information)&lt;/li>
&lt;li>RFP (Request For Proposal)&lt;/li>
&lt;li>Kontrak Harga Tetap (FP: Fixed Price)&lt;/li>
&lt;li>Kontrak Waktu dan Bahan (T&amp;amp;M: Time and Material)&lt;/li>
&lt;li>Kontrak Penggantian Biaya (CR: Cost Reimbursable)&lt;/li>
&lt;li>Insentif Harga Tetap (FPIF)&lt;/li>
&lt;li>Scope Creep&lt;/li>
&lt;li>Analisis Kano&lt;/li>
&lt;li>Metode Pendanaan&lt;/li>
&lt;li>Metode 100 Poin&lt;/li>
&lt;li>Metode MSCW (Must, Should, Could, Would)&lt;/li>
&lt;li>Matriks Keterlacakan (Traceability Matrix)&lt;/li>
&lt;li>Kamus WBS&lt;/li>
&lt;li>Velocity (Jumlah story point yang dicapai dalam setiap iterasi)&lt;/li>
&lt;li>Grafik Velocity&lt;/li>
&lt;li>Matriks Keterlibatan (Tidak sadar, Menolak, Netral, Mendukung, Memimpin)&lt;/li>
&lt;li>Phase Gate&lt;/li>
&lt;li>Information Radiator&lt;/li>
&lt;li>Burndown Chart&lt;/li>
&lt;li>Burnup Chart&lt;/li>
&lt;li>Cumulative Flow Diagram&lt;/li>
&lt;li>QCD (Quality, Cost, Delivery)&lt;/li>
&lt;li>Spiral&lt;/li>
&lt;li>Critical Chain&lt;/li>
&lt;li>Feature&lt;/li>
&lt;li>Iterasi / Sprint&lt;/li>
&lt;li>Iteratif&lt;/li>
&lt;li>Inkremental&lt;/li>
&lt;li>Inkrement (Hasil penambahan)&lt;/li>
&lt;li>Ketahanan (Resilience)&lt;/li>
&lt;li>Stewardship (Perilaku jujur dan dapat dipercaya serta tindakan yang bertanggung jawab)&lt;/li>
&lt;li>Eskalasi&lt;/li>
&lt;li>KPT (Keep, Problem, Try)&lt;/li>
&lt;li>RACI (Responsible, Accountable, Consulted, Informed)&lt;/li>
&lt;li>PMO (Project Management Office) Mendukung, Mengendalikan, Mengarahkan&lt;/li>
&lt;li>Cadence&lt;/li>
&lt;li>Tailoring&lt;/li>
&lt;li>Tingkat Neurologis (Lingkungan, Perilaku, Kemampuan, Keyakinan/Nilai, Identitas Diri)&lt;/li>
&lt;li>Business Case (Dokumen yang mencatat tujuan proyek, manfaat, risiko, ROI, dll.)&lt;/li>
&lt;li>Analisis Tren (Dilakukan menggunakan run chart untuk memprediksi hasil di masa depan)&lt;/li>
&lt;li>Rencana Manajemen Kualitas&lt;/li>
&lt;li>Proses Tata Kelola&lt;/li>
&lt;li>Product Owner&lt;/li>
&lt;li>Project Owner&lt;/li>
&lt;li>Project Manager&lt;/li>
&lt;li>Project Leader&lt;/li>
&lt;li>Anggota Proyek&lt;/li>
&lt;li>Pendekatan Hibrida&lt;/li>
&lt;li>Minimum Viable Product (MVP)&lt;/li>
&lt;li>Iteration Review&lt;/li>
&lt;li>Lokakarya (Workshop)&lt;/li>
&lt;li>Rencana Manajemen Manfaat Proyek&lt;/li>
&lt;li>Key Performance Indicator (KPI)&lt;/li>
&lt;li>On-site (Di tempat)&lt;/li>
&lt;li>Estimasi Analog&lt;/li>
&lt;li>Estimasi Tiga Titik (Three-point estimating)&lt;/li>
&lt;li>Estimasi Parametrik&lt;/li>
&lt;li>Tinjauan Proyek (Project Review)&lt;/li>
&lt;li>Pendekatan Big Bang&lt;/li>
&lt;li>DSDM (Dynamic Systems Development Method)&lt;/li>
&lt;li>Hukum Brooks&lt;/li>
&lt;li>Pendekatan Big Bang (Diperkenalkan sekaligus secara bersamaan)&lt;/li>
&lt;li>Risk Register&lt;/li>
&lt;li>Daftar Risiko&lt;/li>
&lt;li>Teori Kepemimpinan Situasional (SL) (4 perilaku sesuai situasi)&lt;/li>
&lt;li>Kompetensi&lt;/li>
&lt;li>Komitmen&lt;/li>
&lt;/ul>
&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-Indonesian.pdf" target="_blank" rel="noopener"
>Panduan Scrum (Ken Schwaber &amp;amp; Jeff Sutherland)&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://www.pmi.org/-/media/pmi/documents/public/pdf/certifications/pmp-examination-content-outline.pdf?sc_lang_temp=ja-JP" target="_blank" rel="noopener"
>Halaman PMI ECO (Bahasa Jepang)&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://www.agilealliance.org/wp-content/uploads/2018/07/AgilePG_JAP.pdf" target="_blank" rel="noopener"
>Panduan Praktik Agile&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://www.pmi.org/-/media/pmi/documents/public/pdf/ethics/pmi-code-of-ethics.pdf?sc_lang_temp=ja-JP" target="_blank" rel="noopener"
>Kode Etik PMI&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="materi-pembelajaran">Materi Pembelajaran
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://www.udemy.com/course/ace-the-pmp" target="_blank" rel="noopener"
>Kursus Strategi Lulus Ujian Sertifikasi PMP®! (2021) Kompatibel dengan Agile&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Bencana di Jepang</title><link>http://kenji.blog/id/p/%E6%97%A5%E6%9C%AC%E3%81%AE%E7%81%BD%E5%AE%B3/</link><pubDate>Sun, 07 Jan 2024 00:50:09 +0900</pubDate><guid>http://kenji.blog/id/p/%E6%97%A5%E6%9C%AC%E3%81%AE%E7%81%BD%E5%AE%B3/</guid><description>&lt;img src="http://kenji.blog/p/%E6%97%A5%E6%9C%AC%E3%81%AE%E7%81%BD%E5%AE%B3/img.png" alt="Featured image of post Bencana di Jepang" />&lt;h1 id="ringkasan">Ringkasan
&lt;/h1>&lt;p>Catatan tentang bencana alam yang terjadi di Jepang&lt;/p>
&lt;h2 id="gempa-bumi-semenanjung-noto-1-januari-2024">Gempa Bumi Semenanjung Noto 1 Januari 2024
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E6%97%A5%E6%9C%AC%E3%81%AE%E7%81%BD%E5%AE%B3/img.png"
width="474"
height="266"
srcset="http://kenji.blog/p/%E6%97%A5%E6%9C%AC%E3%81%AE%E7%81%BD%E5%AE%B3/img_hue649e8d0b3bd837ea85e155e108b15fd_273208_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E6%97%A5%E6%9C%AC%E3%81%AE%E7%81%BD%E5%AE%B3/img_hue649e8d0b3bd837ea85e155e108b15fd_273208_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="178"
data-flex-basis="427px"
>&lt;/p></description></item><item><title>Resep Bubur Tujuh Ramuan</title><link>http://kenji.blog/id/p/resep-bubur-tujuh-ramuan/</link><pubDate>Sat, 06 Jan 2024 22:22:00 +0900</pubDate><guid>http://kenji.blog/id/p/resep-bubur-tujuh-ramuan/</guid><description>&lt;img src="http://kenji.blog/p/%E4%B8%83%E8%8D%89%E7%B2%A5%E3%81%AE%E3%83%AC%E3%82%B7%E3%83%94/img.png" alt="Featured image of post Resep Bubur Tujuh Ramuan" />&lt;h1 id="tujuh-ramuan">Tujuh Ramuan
&lt;/h1>&lt;ul>
&lt;li>Seri (Water dropwort)&lt;/li>
&lt;li>Nazuna (Shepherd&amp;rsquo;s purse)&lt;/li>
&lt;li>Gogyo (Cudweed)&lt;/li>
&lt;li>Hakobera (Chickweed)&lt;/li>
&lt;li>Hotokenoza (Nipplewort)&lt;/li>
&lt;li>Suzuna (Lobak putih)&lt;/li>
&lt;li>Suzushiro (Daikon)&lt;/li>
&lt;/ul></description></item><item><title>Musik Jepang Favorit</title><link>http://kenji.blog/id/p/musik-jepang-favorit/</link><pubDate>Sat, 06 Jan 2024 04:11:01 +0900</pubDate><guid>http://kenji.blog/id/p/musik-jepang-favorit/</guid><description>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E9%82%A6%E6%A5%BD/img.png" alt="Featured image of post Musik Jepang Favorit" />&lt;h1 id="rekomendasi-musik-jepang">Rekomendasi Musik Jepang
&lt;/h1>&lt;ol>
&lt;li>チューリップ - 青春の影
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/k9UJs3TR_KU"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>イルカ - なごり雪
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/H2TR3oEA13o"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>河島英五 - 酒と泪と男と女
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/Uxy9Keo_KVc"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Orangestar - Surges
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/QvWsAIc5mO8"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>竹内まりや - Plastic Love
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/T_lC2O1oIew"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>RADWIMPS - 前前前世
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/PDSkFeMVNFs"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>BEGIN - 島人ぬ宝
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/7iZ4-4EYNnk"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>ザ・ブルーハーツ - 情熱の薔薇
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/-p0Yqcx53O8"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>荒井由実 - ルージュの伝言
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/MH-P4mXvDPE"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Begin - 海の声
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/qV91xBo1Vxc"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>荒井由実 - ひこうき雲
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/9HInQDjCCRc"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Love is Over - 欧陽菲菲
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/T5Te_czLFCw"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>クラムボン - 波よせて
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/kfvZZKm3gA0"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>RADWIMPS - スパークル
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/a2GujJZfXpg"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>かりゆし58 - アンマー
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/4_OKI91h3tw"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>かりゆし58 - オワリはじまり
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/Vb50GwvHH14"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>テレサ・テン - 時の流れに身をまかせ
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/8g9B-iWsO-o"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>宇多田ヒカル『One Last Kiss』
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/0Uhh62MUEic"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>不可思議/wonderboy - Pellicule (Official Music Video)
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/ueq2QFIIpu0"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;/ol>
&lt;iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/jp/album/pellicule/1480825458?i=1480825460">&lt;/iframe>
&lt;ol start="20">
&lt;li>Kamen Rider Black RX - Opening Song
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/tV5l-Nt18o4"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>たしかなこと / 小田和正 - Covered by パクユナ
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/q3myGl1PZgU"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>【Japanese healing song】Hana／Kosuke Atari（covered by Leah）
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/FpdrS6YGP4o"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>「真夜中のドア〜stay with me」/ 松原みき Official Lyric Video
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/nuU2YHtxMik"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Midnight Pretenders
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/7pPb5fmumNo"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Anri - Last Summer Whisper
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/BlvOAd10kJo"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>1985 - The Blue Hearts
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/sKarAUhTWMw"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>BUMP OF CHICKEN - supernova
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/0EpQ40X_r0Q"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>チューリップ　心の旅　1972
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/AFBPJW7wsho"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>小さな恋のうた
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/u8EkSB9zSpE"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>ASKA - はじまりはいつも雨 (Official Music Video)
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/74IKR0WeKXY"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>キリンジ - エイリアンズ
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/w05Q_aZKkFw"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>あの日の空よ - 南こうせつ
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/xC7o4N3Zb1U"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;/ol></description></item><item><title>Musik Barat Favorit</title><link>http://kenji.blog/id/p/musik-barat-favorit/</link><pubDate>Fri, 05 Jan 2024 00:14:22 +0900</pubDate><guid>http://kenji.blog/id/p/musik-barat-favorit/</guid><description>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E6%B4%8B%E6%A5%BD/img.png" alt="Featured image of post Musik Barat Favorit" />&lt;h1 id="rekomendasi-musik-barat">Rekomendasi Musik Barat
&lt;/h1>&lt;ol>
&lt;li>Keane - Somewhere Only We Know
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/Oextk-If8HQ"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Ben E. King - Stand By Me
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/hwZNL7QVJjE"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>The Beatles - Hey Jude
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/A_MjCqQoLLA"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>The Mamas &amp;amp; The Papas - California Dreamin'
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/N-aK6JnyFmk"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Ed Sheeran - Shape of You
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/JGwWNGJdvx8"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Mark Ronson ft. Bruno Mars – Uptown Funk
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/OPf0YbXqDm0"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Sugar - Maroon 5
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/09R8_2nJtjg"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Bette Midler - The Rose
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/CB4EgdpYlnk"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Green Day - Basket Case
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/NUTGr5t3MoY"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Coldplay - Viva La VidaViva La Vida
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/dvgZkm1xWPE"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Maroon 5 - Memories (Lyrics)
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/SlPhMPnQ58k"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Dido - Thank You (Official Video)
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/1TO48Cnl66w"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Bob Dylan - Blowin&amp;rsquo; The Wind
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/MMFj8uDubsE"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Coldplay - Yellow
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/yKNxeF4KMsY"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Eric Clapton - Tears In Heaven
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/JxPj3GAYYZ0"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>B. J. Thomas - Raindrops Keep Fallin&amp;rsquo; on My Head (Stereo / Lyrics)
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/_VyA2f6hGW4"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Take Me Home, Country Roads
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/1vrEljMfXYo"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Simon &amp;amp; Garfunkel - Mrs. Robinson (Audio)
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/9C1BCAgu2I8"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Taylor Swift - Love Story (Live on Letterman)
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/mNLVMDF9mUo"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Wiz Khalifa - See You Again ft. Charlie Puth [Official Video] Furious 7 Soundtrack
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/RgKAFK5djSk"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>The Top (Extended Mix)
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/aeKCKIwDnwI"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Something Just Like This
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/Y1Nip-y0BcQ"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Feelings
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/27cedsZpN4w"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Yesterday Once More
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/-sltNGgjU_4"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Carpenters - Top Of The World
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/3hyFB6SA7b4"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>I Need To Be In Love - Carpenters
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/EmFiOb0To7w"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Bob Marley &amp;amp; The Wailers &amp;ldquo;Three Little Birds&amp;rdquo;
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/HNBCVM4KbUM"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Alan Walker - All Falls Down (feat. Noah Cyrus with Digital Farm Animals)
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/6RLLOEzdxsM"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Alan Walker - Darkside (feat. Au/Ra and Tomine Harket)
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/M-P4QBt-FWw"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Alan Walker - Alone
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/1-xGerv5FOk"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Alan Walker - Sing Me To Sleep
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/2i2khp_npdE"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>Alan Walker - Faded
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/60ItHLz5WEA"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>killing me softly with his song
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/oKOtzIo-uYw"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;li>a-ha - Take On Me (Official Video)
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/djV11Xbc914"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/li>
&lt;/ol></description></item><item><title>Menginstal PowerToys dari Command Prompt</title><link>http://kenji.blog/id/p/powertoys%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/</link><pubDate>Sat, 30 Sep 2023 21:23:00 +0900</pubDate><guid>http://kenji.blog/id/p/powertoys%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/</guid><description>&lt;img src="http://kenji.blog/p/powertoys%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/img.png" alt="Featured image of post Menginstal PowerToys dari Command Prompt" />&lt;h1 id="menginstal-powertoys-dari-command-prompt">Menginstal PowerToys dari Command Prompt
&lt;/h1>&lt;p>Berikut adalah cara menginstal PowerToys dari Command Prompt.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">winget install Microsoft.PowerToys --source winget
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h1 id="menghapus-instalasi-powertoys-dari-command-prompt">Menghapus Instalasi PowerToys dari Command Prompt
&lt;/h1>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">winget uninstall --name PowerToys
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>Mari kita hormati orang yang bisa melakukan apa yang tidak bisa kita lakukan</title><link>http://kenji.blog/id/p/mari-kita-hormati-orang-yang-bisa-melakukan-apa-yang-tidak-bisa-kita-lakukan/</link><pubDate>Tue, 01 Aug 2023 23:42:31 +0900</pubDate><guid>http://kenji.blog/id/p/mari-kita-hormati-orang-yang-bisa-melakukan-apa-yang-tidak-bisa-kita-lakukan/</guid><description>&lt;img src="http://kenji.blog/p/%E8%87%AA%E5%88%86%E3%81%AB%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B%E4%BA%BA%E3%81%AB%E6%95%AC%E6%84%8F%E3%82%92%E6%89%95%E3%81%8A%E3%81%86/img.png" alt="Featured image of post Mari kita hormati orang yang bisa melakukan apa yang tidak bisa kita lakukan" />&lt;h1 id="mari-kita-tunjukkan-rasa-hormat">Mari kita tunjukkan rasa hormat
&lt;/h1>&lt;p>Mari kita hormati orang yang bisa melakukan apa yang tidak bisa kita lakukan&lt;/p>
&lt;p>Di masyarakat, secara mengejutkan ada banyak orang yang memeringkat pekerjaan dan posisi serta gagal menunjukkan rasa hormat&lt;/p>
&lt;p>Mari kita hormati orang yang melakukan pekerjaan yang tidak bisa kita lakukan, apa pun pekerjaannya&lt;/p>
&lt;p>Saya ingin mengingat hal ini&lt;/p></description></item><item><title>Splatoon 2</title><link>http://kenji.blog/id/p/splatoon-2/</link><pubDate>Tue, 01 Aug 2023 00:26:30 +0900</pubDate><guid>http://kenji.blog/id/p/splatoon-2/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%B9%E3%83%97%E3%83%A9%E3%83%88%E3%82%A5%E3%83%BC%E3%83%B32/img.png" alt="Featured image of post Splatoon 2" />&lt;h1 id="splatoon-2">Splatoon 2
&lt;/h1>&lt;p>Mungkin Splatoon 2 adalah game yang paling lama saya mainkan seumur hidup saya.
Saya hampir tidak memainkan mode ceritanya, tetapi matchmaking untuk pertandingan online 4 vs 4 sangat bagus, di mana saya bisa bermain melawan orang-orang dengan tingkat keterampilan yang sama,
sehingga memberikan keseruan yang tidak membosankan. Selain itu, menyenangkan juga membaca pergerakan lawan dan rekan setim untuk memikirkan strategi kemenangan.&lt;/p>
&lt;h1 id="senjata">Senjata
&lt;/h1>&lt;p>Senjata yang sering saya gunakan, secara berurutan adalah &amp;ldquo;Foil Squeezer&amp;rdquo;, &amp;ldquo;Splattershot Jr.&amp;rdquo;, &amp;ldquo;Splat Roller&amp;rdquo;, dan &amp;ldquo;Foil Flingza Roller&amp;rdquo;.
&amp;ldquo;Splattershot Jr.&amp;rdquo; adalah senjata untuk pemula, dan saya sering menggunakannya di awal permainan.&lt;/p>
&lt;p>Poin tinta untuk masing-masing senjata ada di bawah ini.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Senjata&lt;/th>
&lt;th>Poin Tinta&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Flingza Roller&lt;/td>
&lt;td>6,636,594p&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Splat Roller&lt;/td>
&lt;td>6,200,629p&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Splattershot Jr.&lt;/td>
&lt;td>4,211,759p&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Foil Squeezer&lt;/td>
&lt;td>744,678p&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Splattershot&lt;/td>
&lt;td>301,238p&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h1 id="tentang-level">Tentang Level
&lt;/h1>&lt;p>Rasanya saya terus bergerak di antara A+ dan S+, dan terus berada dalam kondisi di mana saya tidak bisa naik ke posisi atas S+,
tetapi saya lebih menikmati pertandingannya daripada mencoba naik ke peringkat atas.
(Jika saya terlalu tinggi, lawan akan menjadi lebih kuat dan akan ada ketegangan, sehingga mengurangi keseruannya)&lt;/p>
&lt;h1 id="waktu-bermain">Waktu Bermain
&lt;/h1>&lt;p>Waktu bermain saya sudah melebihi 2500 jam.&lt;/p>
&lt;h1 id="tujuan-masa-depan">Tujuan Masa Depan
&lt;/h1>&lt;p>Saya ingin mempertahankan level permainan dan memainkannya dengan menyenangkan, tetapi saya juga ingin mencapai batas maksimum untuk uang dan perlengkapan.
Sejak Splatoon 3 dirilis, matchmaking memakan waktu lebih lama atau tidak menemukan pertandingan sama sekali,
jadi saya ingin terus bermain sambil berharap jumlah pemain tidak berkurang lagi.&lt;/p></description></item><item><title>Tentang Penghargaan Microsoft MVP (2023-2024)</title><link>http://kenji.blog/id/p/microsoft-mvp%E5%8F%97%E8%B3%9E%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A62023-2024/</link><pubDate>Mon, 31 Jul 2023 19:15:14 +0900</pubDate><guid>http://kenji.blog/id/p/microsoft-mvp%E5%8F%97%E8%B3%9E%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A62023-2024/</guid><description>&lt;img src="http://kenji.blog/p/microsoft-mvp%E5%8F%97%E8%B3%9E%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A62023-2024/img.png" alt="Featured image of post Tentang Penghargaan Microsoft MVP (2023-2024)" />&lt;h1 id="tentang-penghargaan-microsoft-mvp-2023-2024">Tentang Penghargaan Microsoft MVP (2023-2024)
&lt;/h1>&lt;p>Baru-baru ini, saya telah menerima penghargaan Microsoft MVP (2023-2024).
Ini adalah tahun ke-7 berturut-turut sejak 2017 saya menerima penghargaan ini.&lt;/p>
&lt;p>Kategori penghargaan yang saya terima adalah &lt;strong>Developer Technologies&lt;/strong> .&lt;/p>
&lt;p>Melihat kembali kegiatan saya sejauh ini, saya telah melakukan kegiatan berikut:&lt;/p>
&lt;ul>
&lt;li>Mempublikasikan kode di &lt;a class="link" href="https://github.com/kenjinote" target="_blank" rel="noopener"
>GitHub&lt;/a>&lt;/li>
&lt;li>Berbagi informasi teknis di blog dan &lt;a class="link" href="https://twitter.com/kenjinote" target="_blank" rel="noopener"
>SNS (seperti Twitter)&lt;/a>&lt;/li>
&lt;li>Memposting di &lt;a class="link" href="https://social.msdn.microsoft.com/Forums/ja-JP/home" target="_blank" rel="noopener"
>Forum MSDN&lt;/a>&lt;/li>
&lt;li>Memberikan umpan balik untuk produk Microsoft&lt;/li>
&lt;/ul>
&lt;p>Ke depannya, saya ingin terus menulis artikel yang lebih baik dan berbagi informasi.&lt;/p>
&lt;p>Terima kasih banyak atas dukungan Anda.&lt;/p></description></item><item><title>Sejarah Matematika</title><link>http://kenji.blog/id/p/sejarah-matematika/</link><pubDate>Sat, 22 Jul 2023 15:25:10 +0900</pubDate><guid>http://kenji.blog/id/p/sejarah-matematika/</guid><description>&lt;img src="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E3%81%AE%E6%AD%B4%E5%8F%B2/img.png" alt="Featured image of post Sejarah Matematika" />&lt;h3 id="tiga-masalah-konstruksi-yunani-kuno">Tiga masalah konstruksi Yunani Kuno
&lt;/h3>&lt;ol>
&lt;li>Diberikan sebuah lingkaran, buatlah persegi dengan luas yang sama dengan lingkaran tersebut (Menguadratkan lingkaran)&lt;/li>
&lt;li>Diberikan sudut sembarang, bagilah menjadi tiga bagian yang sama besar (Triseksi sudut)&lt;/li>
&lt;li>Diberikan sebuah kubus, buatlah kubus dengan volume dua kali lipat dari kubus tersebut (Menggandakan kubus)&lt;/li>
&lt;/ol>
&lt;h3 id="spiral-archimedes">Spiral Archimedes
&lt;/h3>&lt;p>Pada sebuah bidang, putar sinar OB di sekitar titik tetap O dengan kecepatan seragam. Jika posisi awal adalah OA,
dan titik P mulai bergerak dari O di sepanjang OB dengan kecepatan konstan pada saat yang sama ketika sinar mulai bergerak dari OA,
maka garis yang digambar oleh titik P adalah spiral Archimedes.&lt;/p>
&lt;h3 id="teorema-pappus">Teorema Pappus
&lt;/h3>&lt;ul>
&lt;li>Sikloid&lt;/li>
&lt;li>Konkoid Nicomedes&lt;/li>
&lt;li>Sisoid Diocles&lt;/li>
&lt;li>Metode garis singgung Fermat&lt;/li>
&lt;li>Metode garis normal Descartes&lt;/li>
&lt;/ul>
&lt;h3 id="kronologi">Kronologi
&lt;/h3>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Tahun&lt;/th>
&lt;th>Peristiwa&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Sekitar 3400 SM&lt;/td>
&lt;td>Bangsa Sumeria menggunakan koin tanah liat sebagai alat hitung&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Sekitar 3000 SM&lt;/td>
&lt;td>Matematika hieroglif muncul di Mesir&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Sekitar 2800 SM&lt;/td>
&lt;td>Peradaban Lembah Indus menggunakan sistem ukuran dan berat desimal&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Sekitar 2700 SM&lt;/td>
&lt;td>Bangsa Mesir menggunakan tali dan triple Pythagoras untuk memeriksa sudut&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Sekitar 2500 SM&lt;/td>
&lt;td>Sempoa (abacus), alat yang digunakan untuk menghitung, ditemukan&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Sekitar 2500 SM&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="referensi">Referensi
&lt;/h3>&lt;ul>
&lt;li>&lt;a class="link" href="https://id.wikipedia.org/wiki/Sejarah_matematika" target="_blank" rel="noopener"
>Sejarah matematika&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Rekomendasi Trackball Deft Pro (M-DPT1MRBK)</title><link>http://kenji.blog/id/p/rekomendasi-trackball-deft-pro-m-dpt1mrbk/</link><pubDate>Tue, 02 May 2023 23:28:33 +0900</pubDate><guid>http://kenji.blog/id/p/rekomendasi-trackball-deft-pro-m-dpt1mrbk/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%88%E3%83%A9%E3%83%83%E3%82%AF%E3%83%9C%E3%83%BC%E3%83%ABdeft-prom-dpt1mrbk%E3%81%AE%E3%81%99%E3%81%99%E3%82%81/img.png" alt="Featured image of post Rekomendasi Trackball Deft Pro (M-DPT1MRBK)" />&lt;h1 id="tentang-elecom-trackball-deft-pro-m-dpt1mrbk">Tentang Elecom Trackball Deft Pro M-DPT1MRBK
&lt;/h1>&lt;p>Sudah sekitar satu minggu sejak saya membeli trackball Elecom &amp;ldquo;Deft Pro M-DPT1MRBK&amp;rdquo;, jadi saya akan mengulas pengalaman saya menggunakannya.&lt;/p>
&lt;p>&lt;strong>Fitur Utama&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Jumlah tombol banyak, yaitu 8&lt;/li>
&lt;li>Dapat dihubungkan dengan 3 cara: kabel, penerima nirkabel, dan Bluetooth&lt;/li>
&lt;li>Ukuran bola besar (diameter sedang 44mm)&lt;/li>
&lt;li>Harga beli di Amazon: 7.012 yen (per 2 Mei 2021)&lt;/li>
&lt;/ul>
&lt;h2 id="kelebihan">Kelebihan
&lt;/h2>&lt;ul>
&lt;li>Dibandingkan dengan mouse, tidak perlu menggerakkan pergelangan tangan, sehingga beban pada pergelangan tangan berkurang&lt;/li>
&lt;li>Karena jumlah tombolnya banyak, berbagai fungsi dapat ditetapkan ke tombol
&lt;img src="http://kenji.blog/p/%E3%83%88%E3%83%A9%E3%83%83%E3%82%AF%E3%83%9C%E3%83%BC%E3%83%ABdeft-prom-dpt1mrbk%E3%81%AE%E3%81%99%E3%81%99%E3%82%81/img_1.png"
width="767"
height="686"
srcset="http://kenji.blog/p/%E3%83%88%E3%83%A9%E3%83%83%E3%82%AF%E3%83%9C%E3%83%BC%E3%83%ABdeft-prom-dpt1mrbk%E3%81%AE%E3%81%99%E3%81%99%E3%82%81/img_1_hu552d9af378dc908f7eb4fb5eb2e28a90_78909_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%83%88%E3%83%A9%E3%83%83%E3%82%AF%E3%83%9C%E3%83%BC%E3%83%ABdeft-prom-dpt1mrbk%E3%81%AE%E3%81%99%E3%81%99%E3%82%81/img_1_hu552d9af378dc908f7eb4fb5eb2e28a90_78909_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="111"
data-flex-basis="268px"
>
Saat ini saya menetapkannya seperti gambar di atas. Anda juga dapat mengubah penetapan tombol untuk setiap aplikasi.
※ Instalasi perangkat lunak khusus diperlukan untuk penetapan tombol.&lt;/li>
&lt;li>Karena bolanya besar, relatif mudah untuk melakukan gerakan presisi di antara trackball&lt;/li>
&lt;/ul>
&lt;h2 id="kekurangan">Kekurangan
&lt;/h2>&lt;ul>
&lt;li>Debu menumpuk di sekitar trackball, jadi perlu melepas bola dan membersihkannya secara teratur (sekitar beberapa hari sekali)&lt;/li>
&lt;li>Karena rasa operasionalnya berbeda dari mouse (menggerakkan kursor dengan jari telunjuk dan jari tengah, mengoperasikan roda mouse dengan ibu jari), butuh waktu untuk terbiasa&lt;/li>
&lt;li>Seperti yang saya tulis di atas bahwa mudah untuk melakukan gerakan presisi, tetapi tetap saja sulit untuk menggerakkan kursor dalam satuan 1 piksel dengan trackball&lt;/li>
&lt;li>Tidak mungkin mengoperasikan roda sambil menahan tombol kiri (misalnya, saat Anda ingin memperbesar/memperkecil sambil memilih area di Paint)&lt;/li>
&lt;/ul>
&lt;p>Sebagai kesimpulan, saya pikir ini adalah salah satu trackball yang lebih mahal, tetapi secara keseluruhan cukup mudah dioperasikan, dan saya pikir pekerjaan saya menjadi lebih efisien.
Saya harap ini bermanfaat bagi mereka yang mempertimbangkan untuk membelinya.&lt;/p></description></item><item><title>Contoh menggunakan wxWidgets</title><link>http://kenji.blog/id/p/wxwidgets-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB/</link><pubDate>Tue, 18 Apr 2023 00:18:22 +0900</pubDate><guid>http://kenji.blog/id/p/wxwidgets-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB/</guid><description>&lt;img src="http://kenji.blog/p/wxwidgets-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB/img.png" alt="Featured image of post Contoh menggunakan wxWidgets" />&lt;h2 id="apa-itu-wxwidgets">Apa itu wxWidgets
&lt;/h2>&lt;p>wxWidgets adalah pustaka GUI C++ yang berjalan di berbagai platform seperti Windows, Mac, Linux, Android, dan iOS.&lt;/p>
&lt;h2 id="instalasi-wxwidgets">Instalasi wxWidgets
&lt;/h2>&lt;ol>
&lt;li>Buka &lt;a class="link" href="https://www.wxwidgets.org/downloads/" target="_blank" rel="noopener"
>https://www.wxwidgets.org/downloads/&lt;/a> dan unduh &lt;code>Windows Installer&lt;/code>.&lt;/li>
&lt;li>Jalankan &lt;code>wxMSW-3.2.2.1-Setup.exe&lt;/code> untuk menginstal.&lt;/li>
&lt;li>Dari folder instalasi, buka &amp;ldquo;C:\wxWidgets-3.2.2.1\build\msw\wx_vc17.sln&amp;rdquo;.&lt;/li>
&lt;li>Setelah membuka &lt;code>wx_vc17.sln&lt;/code>, pilih &lt;code>Build&lt;/code> &amp;gt; &lt;code>Batch Build&lt;/code>.&lt;/li>
&lt;li>Klik tombol &lt;code>Select All&lt;/code>, lalu klik tombol &lt;code>Rebuild&lt;/code>.&lt;/li>
&lt;li>Setelah build selesai, tutup Visual Studio sementara waktu.&lt;/li>
&lt;/ol>
&lt;h2 id="membuat-proyek-sampel">Membuat Proyek Sampel
&lt;/h2>&lt;ol>
&lt;li>Buka Visual Studio.&lt;/li>
&lt;li>Pilih &lt;code>File&lt;/code> &amp;gt; &lt;code>New&lt;/code> &amp;gt; &lt;code>Project&lt;/code>.&lt;/li>
&lt;li>Pilih &lt;code>Windows Desktop Application&lt;/code> (Tab &lt;code>C++&lt;/code>, &lt;code>Windows&lt;/code>, &lt;code>Desktop&lt;/code>).&lt;/li>
&lt;li>Masukkan &lt;code>wxWidgetsSample&lt;/code> pada &lt;code>Project name&lt;/code>.&lt;/li>
&lt;li>Klik &lt;code>Create&lt;/code>.&lt;/li>
&lt;li>Klik kanan pada &lt;code>wxWidgetsSample&lt;/code> dan pilih &lt;code>Properties&lt;/code>.&lt;/li>
&lt;li>Tambahkan &lt;code>C:\wxWidgets-3.2.2.1\include&lt;/code> dan &lt;code>C:\wxWidgets-3.2.2.1\include\msvc&lt;/code> ke &lt;code>Configuration Properties&lt;/code> &amp;gt; &lt;code>C/C++&lt;/code> &amp;gt; &lt;code>Additional Include Directories&lt;/code>.&lt;/li>
&lt;li>Tambahkan &lt;code>C:\wxWidgets-3.2.2.1\lib\vc_x64_lib&lt;/code> ke &lt;code>Configuration Properties&lt;/code> &amp;gt; &lt;code>Linker&lt;/code> &amp;gt; &lt;code>Additional Library Directories&lt;/code>.&lt;/li>
&lt;li>Buka &lt;code>wxWidgetsSample.cpp&lt;/code> dan ganti dengan kode berikut.&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;span class="lnt">42
&lt;/span>&lt;span class="lnt">43
&lt;/span>&lt;span class="lnt">44
&lt;/span>&lt;span class="lnt">45
&lt;/span>&lt;span class="lnt">46
&lt;/span>&lt;span class="lnt">47
&lt;/span>&lt;span class="lnt">48
&lt;/span>&lt;span class="lnt">49
&lt;/span>&lt;span class="lnt">50
&lt;/span>&lt;span class="lnt">51
&lt;/span>&lt;span class="lnt">52
&lt;/span>&lt;span class="lnt">53
&lt;/span>&lt;span class="lnt">54
&lt;/span>&lt;span class="lnt">55
&lt;/span>&lt;span class="lnt">56
&lt;/span>&lt;span class="lnt">57
&lt;/span>&lt;span class="lnt">58
&lt;/span>&lt;span class="lnt">59
&lt;/span>&lt;span class="lnt">60
&lt;/span>&lt;span class="lnt">61
&lt;/span>&lt;span class="lnt">62
&lt;/span>&lt;span class="lnt">63
&lt;/span>&lt;span class="lnt">64
&lt;/span>&lt;span class="lnt">65
&lt;/span>&lt;span class="lnt">66
&lt;/span>&lt;span class="lnt">67
&lt;/span>&lt;span class="lnt">68
&lt;/span>&lt;span class="lnt">69
&lt;/span>&lt;span class="lnt">70
&lt;/span>&lt;span class="lnt">71
&lt;/span>&lt;span class="lnt">72
&lt;/span>&lt;span class="lnt">73
&lt;/span>&lt;span class="lnt">74
&lt;/span>&lt;span class="lnt">75
&lt;/span>&lt;span class="lnt">76
&lt;/span>&lt;span class="lnt">77
&lt;/span>&lt;span class="lnt">78
&lt;/span>&lt;span class="lnt">79
&lt;/span>&lt;span class="lnt">80
&lt;/span>&lt;span class="lnt">81
&lt;/span>&lt;span class="lnt">82
&lt;/span>&lt;span class="lnt">83
&lt;/span>&lt;span class="lnt">84
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#pragma comment(linker,&amp;#34;\&amp;#34;/manifestdependency:type=&amp;#39;win32&amp;#39; name=&amp;#39;Microsoft.Windows.Common-Controls&amp;#39; version=&amp;#39;6.0.0.0&amp;#39; processorArchitecture=&amp;#39;*&amp;#39; publicKeyToken=&amp;#39;6595b64144ccf1df&amp;#39; language=&amp;#39;*&amp;#39;\&amp;#34;&amp;#34;)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;wx/wxprec.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#ifndef WX_PRECOMP
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;wx/wx.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#endif
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">class&lt;/span> &lt;span class="nc">MyApp&lt;/span> &lt;span class="o">:&lt;/span> &lt;span class="k">public&lt;/span> &lt;span class="n">wxApp&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">public&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">virtual&lt;/span> &lt;span class="kt">bool&lt;/span> &lt;span class="n">OnInit&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">class&lt;/span> &lt;span class="nc">MyFrame&lt;/span> &lt;span class="o">:&lt;/span> &lt;span class="k">public&lt;/span> &lt;span class="n">wxFrame&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">public&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">MyFrame&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">private&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">void&lt;/span> &lt;span class="n">OnHello&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">wxCommandEvent&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">event&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">void&lt;/span> &lt;span class="nf">OnExit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">wxCommandEvent&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">event&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">void&lt;/span> &lt;span class="nf">OnAbout&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">wxCommandEvent&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">event&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">enum&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">ID_Hello&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">wxIMPLEMENT_APP&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">MyApp&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">bool&lt;/span> &lt;span class="n">MyApp&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">OnInit&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">MyFrame&lt;/span>&lt;span class="o">*&lt;/span> &lt;span class="n">frame&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="n">MyFrame&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">frame&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="n">Show&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">true&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="nb">true&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">MyFrame&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">MyFrame&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">:&lt;/span> &lt;span class="n">wxFrame&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">NULL&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">wxID_ANY&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;Hello World&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">wxMenu&lt;/span>&lt;span class="o">*&lt;/span> &lt;span class="n">menuFile&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="n">wxMenu&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">menuFile&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="n">Append&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ID_Hello&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;&amp;amp;Hello...&lt;/span>&lt;span class="se">\t&lt;/span>&lt;span class="s">Ctrl-H&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s">&amp;#34;Help string shown in status bar for this menu item&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">menuFile&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="n">AppendSeparator&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">menuFile&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="n">Append&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">wxID_EXIT&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">wxMenu&lt;/span>&lt;span class="o">*&lt;/span> &lt;span class="n">menuHelp&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="n">wxMenu&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">menuHelp&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="n">Append&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">wxID_ABOUT&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">wxMenuBar&lt;/span>&lt;span class="o">*&lt;/span> &lt;span class="n">menuBar&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="n">wxMenuBar&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">menuBar&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="n">Append&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">menuFile&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;&amp;amp;File&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">menuBar&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="n">Append&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">menuHelp&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;&amp;amp;Help&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">SetMenuBar&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">menuBar&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">wxButton&lt;/span>&lt;span class="o">*&lt;/span> &lt;span class="n">button1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="n">wxButton&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">this&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ID_Hello&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">_&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Hello&amp;#34;&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">wxPoint&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">20&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">20&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">wxSize&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">100&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">32&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">Connect&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ID_Hello&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">wxEVT_COMMAND_BUTTON_CLICKED&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">wxCommandEventHandler&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">MyFrame&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">OnHello&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">wxButton&lt;/span>&lt;span class="o">*&lt;/span> &lt;span class="n">button2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="n">wxButton&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">this&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">wxID_ABOUT&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">_&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;About&amp;#34;&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">wxPoint&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">20&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">60&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">wxSize&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">100&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">32&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">Connect&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">wxID_ABOUT&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">wxEVT_COMMAND_BUTTON_CLICKED&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">wxCommandEventHandler&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">MyFrame&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">OnAbout&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">wxButton&lt;/span>&lt;span class="o">*&lt;/span> &lt;span class="n">button3&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="n">wxButton&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">this&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">wxID_EXIT&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">_&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Exit&amp;#34;&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">wxPoint&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">20&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">100&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">wxSize&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">100&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">32&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">Connect&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">wxID_EXIT&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">wxEVT_COMMAND_BUTTON_CLICKED&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">wxCommandEventHandler&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">MyFrame&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">OnExit&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">CreateStatusBar&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">SetStatusText&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Welcome to wxWidgets!&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">Bind&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">wxEVT_MENU&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">MyFrame&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">OnHello&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">this&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ID_Hello&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">Bind&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">wxEVT_MENU&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">MyFrame&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">OnAbout&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">this&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">wxID_ABOUT&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">Bind&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">wxEVT_MENU&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">MyFrame&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">OnExit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">this&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">wxID_EXIT&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">void&lt;/span> &lt;span class="n">MyFrame&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">OnExit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">wxCommandEvent&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">event&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">Close&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">true&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">void&lt;/span> &lt;span class="n">MyFrame&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">OnAbout&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">wxCommandEvent&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">event&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">wxMessageBox&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;This is a wxWidgets&amp;#39; Hello world sample&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s">&amp;#34;About Hello World&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">wxOK&lt;/span> &lt;span class="o">|&lt;/span> &lt;span class="n">wxICON_INFORMATION&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">void&lt;/span> &lt;span class="n">MyFrame&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">OnHello&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">wxCommandEvent&lt;/span>&lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">event&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">wxLogMessage&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Hello world from wxWidgets!&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="10">
&lt;li>Saat Anda build dan jalankan, jendela seperti ini akan terbuka.&lt;/li>
&lt;/ol>
&lt;p>&lt;img src="http://kenji.blog/p/wxwidgets-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB/img_1.png"
width="386"
height="243"
srcset="http://kenji.blog/p/wxwidgets-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB/img_1_hu5f63ad1505c8497f33a78280f704873d_5545_480x0_resize_box_3.png 480w, http://kenji.blog/p/wxwidgets-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB/img_1_hu5f63ad1505c8497f33a78280f704873d_5545_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="158"
data-flex-basis="381px"
>&lt;/p>
&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;p>Proyek sampel disediakan di bawah ini.
&lt;a class="link" href="https://github.com/kenjinote/wxWidgetsSample" target="_blank" rel="noopener"
>wxWidgetsSample&lt;/a>&lt;/p>
&lt;ul>
&lt;li>&lt;a class="link" href="https://www.wxwidgets.org" target="_blank" rel="noopener"
>Situs Resmi&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://ken-ohwada.hatenadiary.org/entry/2022/07/14/165213" target="_blank" rel="noopener"
>Permainan menggunakan C++ dan wxWidgets&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Sekian.&lt;/p></description></item><item><title>Daftar TODO Film</title><link>http://kenji.blog/id/p/%E6%98%A0%E7%94%BBtodo%E3%83%AA%E3%82%B9%E3%83%88/</link><pubDate>Mon, 17 Apr 2023 00:34:13 +0900</pubDate><guid>http://kenji.blog/id/p/%E6%98%A0%E7%94%BBtodo%E3%83%AA%E3%82%B9%E3%83%88/</guid><description>&lt;img src="http://kenji.blog/p/%E6%98%A0%E7%94%BBtodo%E3%83%AA%E3%82%B9%E3%83%88/image.jpg" alt="Featured image of post Daftar TODO Film" />&lt;h1 id="film-yang-ingin-ditonton-beri-centang-setelah-menonton">Film yang ingin ditonton (beri centang setelah menonton)
&lt;/h1>&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Maquia: When the Promised Flower Blooms&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> The Professor and His Beloved Equation&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> Summer Wars&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Hidden Figures&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> Good Will Hunting&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> A Beautiful Mind&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> The Theory of Everything&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> The Man Who Knew Infinity&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Hawking (Benedict Cumberbatch)&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> Tenchi: The Samurai Astronomer&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Pi&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> 21&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> I.Q.&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Proof&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> 3 Idiots&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Buffalo &amp;lsquo;66&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> A Clockwork Orange&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Backdraft&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Asakusa Kid&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Top Gun&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> The Matrix Resurrections&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> I Am Legend&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> The Da Vinci Code&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> The Social Network&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> STEINS;GATE&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Planetes&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> Gravity&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Violet Evergarden&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> Psycho-Pass&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Demon Slayer&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> Princess Mononoke&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Winny&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> Zero Focus&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> Zootopia&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> Your Name.&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> Weathering with You&lt;/li>
&lt;li>&lt;input checked="" disabled="" type="checkbox"> Back to the Future (1, 2, 3)&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Shin Godzilla&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Shin Ultraman&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Shin Kamen Rider&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Suzume&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> THE FIRST SLAM DUNK&lt;/li>
&lt;/ul></description></item><item><title>Template Halaman Web Keren (html5up)</title><link>http://kenji.blog/id/p/%E3%81%8B%E3%81%A3%E3%81%93%E3%81%84%E3%81%84-web-%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88html5up/</link><pubDate>Mon, 17 Apr 2023 00:26:55 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%81%8B%E3%81%A3%E3%81%93%E3%81%84%E3%81%84-web-%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88html5up/</guid><description>&lt;img src="http://kenji.blog/p/%E3%81%8B%E3%81%A3%E3%81%93%E3%81%84%E3%81%84-web-%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88html5up/img.png" alt="Featured image of post Template Halaman Web Keren (html5up)" />&lt;p>Template halaman web yang keren&lt;/p>
&lt;ul>
&lt;li>html5up
&lt;a class="link" href="https://html5up.net/" target="_blank" rel="noopener"
>https://html5up.net/&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Saya pikir saya ingin mencobanya, jadi ini adalah catatan.&lt;/p></description></item><item><title>Cara Menampilkan Waktu Saat Ini dalam Format ISO8601 di C++</title><link>http://kenji.blog/id/p/cara-menampilkan-waktu-saat-ini-dalam-format-iso8601-di-c-/</link><pubDate>Sat, 15 Apr 2023 19:35:27 +0900</pubDate><guid>http://kenji.blog/id/p/cara-menampilkan-waktu-saat-ini-dalam-format-iso8601-di-c-/</guid><description>&lt;img src="http://kenji.blog/p/c-%E3%81%A7%E7%8F%BE%E5%9C%A8%E6%99%82%E5%88%BB%E3%82%92iso8601%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E3%81%A7%E5%87%BA%E5%8A%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Menampilkan Waktu Saat Ini dalam Format ISO8601 di C++" />&lt;h3 id="prasyarat">Prasyarat
&lt;/h3>&lt;ul>
&lt;li>Standar ISO C++ 20 (/std:c++20)&lt;/li>
&lt;/ul>
&lt;h3 id="kode">Kode
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-c++" data-lang="c++">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;chrono&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;format&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">string&lt;/span> &lt;span class="n">datetime&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">format&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;{:%FT%TZ}&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">system_clock&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">now&lt;/span>&lt;span class="p">());&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Demikianlah cara menampilkan waktu saat ini dalam format ISO8601 di C++.&lt;/p>
&lt;h3 id="referensi">Referensi
&lt;/h3>&lt;ul>
&lt;li>&lt;a class="link" href="https://eel.is/c&amp;#43;&amp;#43;draft/time.format" target="_blank" rel="noopener"
>std::format&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cara Membuat Pintasan untuk Mematikan Windows</title><link>http://kenji.blog/id/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Tue, 11 Apr 2023 17:03:32 +0900</pubDate><guid>http://kenji.blog/id/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Membuat Pintasan untuk Mematikan Windows" />&lt;p>Saya akan menunjukkan cara membuat pintasan untuk mematikan Windows.&lt;/p>
&lt;p>Sangat praktis karena Anda bisa mematikan komputer dengan mengklik ganda pintasan yang dibuat, misalnya di desktop.&lt;/p>
&lt;h2 id="cara-membuat">Cara Membuat
&lt;/h2>&lt;h4 id="1-klik-kanan-pada-desktop-lalu-pilih-baru--pintasan">1. Klik kanan pada desktop, lalu pilih &lt;code>Baru&lt;/code> &amp;gt; &lt;code>Pintasan&lt;/code>
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1.png"
width="568"
height="601"
srcset="http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hu34071110105a0a7e05ea19b3faf627f0_58330_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hu34071110105a0a7e05ea19b3faf627f0_58330_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="94"
data-flex-basis="226px"
>&lt;/p>
&lt;h4 id="2-layar-pembuatan-pintasan-akan-muncul-masukkan-shutdownexe--s--f--t-0-lalu-klik-berikutnya">2. Layar pembuatan pintasan akan muncul, masukkan &lt;code>shutdown.exe -s -f -t 0&lt;/code> lalu klik &lt;code>Berikutnya&lt;/code>
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2.png"
width="614"
height="454"
srcset="http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2_hu0fdb01c392b6fac60e6bb98f573f8713_17593_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2_hu0fdb01c392b6fac60e6bb98f573f8713_17593_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="135"
data-flex-basis="324px"
>&lt;/p>
&lt;h4 id="3-masukkan-nama-pintasan-matikan-lalu-klik-selesai">3. Masukkan nama pintasan &lt;code>Matikan&lt;/code> lalu klik &lt;code>Selesai&lt;/code>
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3.png"
width="614"
height="454"
srcset="http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3_hub638dd79dd16a877bb5fea8c6f2bf142_11979_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3_hub638dd79dd16a877bb5fea8c6f2bf142_11979_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="135"
data-flex-basis="324px"
>&lt;/p>
&lt;h4 id="4-ubah-ikon-pintasan-yang-dibuat">4. Ubah ikon pintasan yang dibuat
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_4.png"
width="419"
height="469"
srcset="http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_4_hua5d649daacdf0dbdf4f93bd3239c3858_27168_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_4_hua5d649daacdf0dbdf4f93bd3239c3858_27168_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_4.png"
class="gallery-image"
data-flex-grow="89"
data-flex-basis="214px"
>&lt;/p>
&lt;p>Klik kanan pintasan yang dibuat, lalu pilih &lt;code>Properti&lt;/code>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_5.png"
width="432"
height="600"
srcset="http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_5_hu313a9d69197efb75a0725e0e6793e592_24420_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_5_hu313a9d69197efb75a0725e0e6793e592_24420_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_5.png"
class="gallery-image"
data-flex-grow="72"
data-flex-basis="172px"
>&lt;/p>
&lt;p>Klik &lt;code>Ubah Ikon&lt;/code>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_6.png"
width="340"
height="420"
srcset="http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_6_hud40ff43810cbe8f07802320fab97e1e8_45995_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_6_hud40ff43810cbe8f07802320fab97e1e8_45995_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_6.png"
class="gallery-image"
data-flex-grow="80"
data-flex-basis="194px"
>&lt;/p>
&lt;p>Pilih ikon kotak merah dan klik &lt;code>OK&lt;/code>, lalu klik &lt;code>OK&lt;/code> lagi untuk menutup jendela properti.&lt;/p>
&lt;p>Selesai.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png"
width="126"
height="122"
srcset="http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_hu9b7c59b017f6e7ad15ccc41a6e668b14_6147_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E3%81%99%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_hu9b7c59b017f6e7ad15ccc41a6e668b14_6147_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="103"
data-flex-basis="247px"
>&lt;/p>
&lt;p>Jika Anda mengklik ganda pintasan yang dibuat, Windows akan dimatikan.&lt;/p>
&lt;p>Catatan: Dialog konfirmasi mematikan komputer tidak akan ditampilkan.&lt;/p></description></item><item><title>Cara Menerapkan Mosaik pada Bagian Tertentu dari Gambar di paint.net</title><link>http://kenji.blog/id/p/how-to-apply-mosaic-to-a-specific-part-of-an-image-in-paint-net/</link><pubDate>Tue, 11 Apr 2023 16:33:10 +0900</pubDate><guid>http://kenji.blog/id/p/how-to-apply-mosaic-to-a-specific-part-of-an-image-in-paint-net/</guid><description>&lt;img src="http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Menerapkan Mosaik pada Bagian Tertentu dari Gambar di paint.net" />&lt;p>Artikel ini akan menunjukkan cara menerapkan mosaik pada bagian tertentu dari gambar menggunakan paint.net.&lt;/p>
&lt;p>Saat mengunggah gambar ke internet, Anda mungkin ingin menyembunyikan bagian tertentu dengan mosaik. Dengan menggunakan paint.net, Anda dapat mengedit gambar dengan sangat cepat.&lt;/p>
&lt;h2 id="langkah-langkah">Langkah-langkah
&lt;/h2>&lt;h4 id="1-buka-gambar-yang-ingin-anda-beri-mosaik-di-paintnet">1. Buka gambar yang ingin Anda beri mosaik di paint.net
&lt;/h4>&lt;h4 id="2-gunakan-alat-seleksi-untuk-memilih-bagian-yang-ingin-diberi-mosaik-bisa-memilih-lebih-dari-satu-area">2. Gunakan alat seleksi untuk memilih bagian yang ingin diberi mosaik (bisa memilih lebih dari satu area)
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_2.png"
width="380"
height="344"
srcset="http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_2_hub2f9dbafba1021c88614fe95fc580d3f_11592_480x0_resize_box_3.png 480w, http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_2_hub2f9dbafba1021c88614fe95fc580d3f_11592_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="110"
data-flex-basis="265px"
>&lt;/p>
&lt;h4 id="3-pilih-menu-efek-effects--distorsi-distort--mosaik-pixelate">3. Pilih menu: Efek (Effects) &amp;gt; Distorsi (Distort) &amp;gt; Mosaik (Pixelate)
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_1.png"
width="347"
height="197"
srcset="http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hu9217e3f3ef9abeb3d05f81497cc9e2c6_7552_480x0_resize_box_3.png 480w, http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hu9217e3f3ef9abeb3d05f81497cc9e2c6_7552_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="176"
data-flex-basis="422px"
>&lt;/p>
&lt;ul>
&lt;li>Ukuran sel menentukan tingkat kekasaran mosaik. Semakin tinggi angkanya, semakin tinggi tingkat penyembunyiannya.&lt;/li>
&lt;li>[Perkecil] Pilih Bilinear (Multisampling)&lt;/li>
&lt;li>[Perbesar] Pilih Nearest Neighbor&lt;/li>
&lt;/ul>
&lt;p>Klik OK untuk menutup dialog.&lt;/p>
&lt;h4 id="4-setelah-mosaik-diterapkan-pada-gambar-simpan-gambarnya">4. Setelah mosaik diterapkan pada gambar, simpan gambarnya.
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img.png"
width="380"
height="344"
srcset="http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_huffa96a6cc9046fae85e7535d0c0f77f3_7385_480x0_resize_box_3.png 480w, http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_huffa96a6cc9046fae85e7535d0c0f77f3_7385_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="110"
data-flex-basis="265px"
>&lt;/p>
&lt;p>Selesai.&lt;/p></description></item><item><title>Cara menambahkan batas pada gambar menggunakan paint.net</title><link>http://kenji.blog/id/p/cara-menambahkan-batas-pada-gambar-menggunakan-paint-net/</link><pubDate>Tue, 11 Apr 2023 14:31:59 +0900</pubDate><guid>http://kenji.blog/id/p/cara-menambahkan-batas-pada-gambar-menggunakan-paint-net/</guid><description>&lt;img src="http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_3.png" alt="Featured image of post Cara menambahkan batas pada gambar menggunakan paint.net" />&lt;p>Saya akan menunjukkan cara menambahkan batas pada gambar menggunakan paint.net.&lt;/p>
&lt;h2 id="langkah-langkah">Langkah-langkah
&lt;/h2>&lt;h4 id="1-buka-gambar-yang-ingin-anda-tambahkan-batas-di-paintnet">1. Buka gambar yang ingin Anda tambahkan batas di paint.net
&lt;/h4>&lt;h4 id="2-atur-warna-sekunder-ini-akan-menjadi-warna-batas">2. Atur warna sekunder (ini akan menjadi warna batas)
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img.png"
width="211"
height="249"
srcset="http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_hua62af0f7d67e0ed0c246e20a82fe1998_44893_480x0_resize_box_3.png 480w, http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_hua62af0f7d67e0ed0c246e20a82fe1998_44893_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="84"
data-flex-basis="203px"
>&lt;/p>
&lt;p>Jika palet warna tidak ditampilkan, tekan tombol &lt;code>F8&lt;/code> di keyboard Anda.&lt;/p>
&lt;p>Untuk mengaturnya ke hitam, klik &lt;img src="http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_1.png"
width="15"
height="13"
srcset="http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_1_huaca51541d504c6afa3b8c1f00eff82f6_257_480x0_resize_box_3.png 480w, http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_1_huaca51541d504c6afa3b8c1f00eff82f6_257_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="115"
data-flex-basis="276px"
>.&lt;/p>
&lt;h4 id="3-menu--gambar--pilih-ubah-ukuran-kanvas">3. Menu &amp;gt; Gambar &amp;gt; Pilih Ubah Ukuran Kanvas
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_2.png"
width="277"
height="467"
srcset="http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_2_huc4c336e94d4deff61f9c52eb8a834089_23405_480x0_resize_box_3.png 480w, http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_2_huc4c336e94d4deff61f9c52eb8a834089_23405_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="59"
data-flex-basis="142px"
>&lt;/p>
&lt;p>Tingkatkan lebar dan tinggi masing-masing sebesar 2 piksel. Peningkatan 2 piksel berarti batas akan menjadi 1 piksel.
Jika Anda ingin batas menjadi 5 piksel, tingkatkan lebar dan tinggi masing-masing sebesar 10 piksel.&lt;/p>
&lt;p>Pilih jangkar &amp;ldquo;Tengah&amp;rdquo;, lalu klik OK.&lt;/p>
&lt;h4 id="4-batas-akan-ditambahkan-ke-gambar-jadi-simpan-gambar-tersebut">4. Batas akan ditambahkan ke gambar, jadi simpan gambar tersebut.
&lt;/h4>&lt;p>Selesai.&lt;/p></description></item><item><title>Cara Mendapatkan dan Menempatkan Peringkat Halaman Populer dari Google Analytics</title><link>http://kenji.blog/id/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Mon, 10 Apr 2023 20:26:57 +0900</pubDate><guid>http://kenji.blog/id/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Mendapatkan dan Menempatkan Peringkat Halaman Populer dari Google Analytics" />&lt;h2 id="pengantar">Pengantar
&lt;/h2>&lt;p>Dengan menggunakan layanan bernama &lt;strong>Ranklet&lt;/strong> , Anda dapat dengan mudah mendapatkan dan menempatkan peringkat halaman populer dari Google Analytics.&lt;/p>
&lt;p>Dalam artikel ini, saya akan menunjukkan cara menempatkannya di blog HUGO.&lt;/p>
&lt;h2 id="contoh-hasil">Contoh Hasil
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1.png"
width="769"
height="759"
srcset="http://kenji.blog/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hu717de7196f67be0249dafd2187915cbc_172896_480x0_resize_box_3.png 480w, http://kenji.blog/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hu717de7196f67be0249dafd2187915cbc_172896_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="101"
data-flex-basis="243px"
>&lt;/p>
&lt;h2 id="persiapan">Persiapan
&lt;/h2>&lt;ul>
&lt;li>Google Analytics harus disiapkan di situs&lt;/li>
&lt;/ul>
&lt;h2 id="langkah-langkah">Langkah-langkah
&lt;/h2>&lt;ol>
&lt;li>Akses &lt;strong>Ranklet&lt;/strong>&lt;/li>
&lt;li>Klik &lt;strong>Sign in with Google&lt;/strong> untuk masuk dengan akun Google (harus ditautkan ke akun Google Analytics)
&lt;img src="http://kenji.blog/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2.png"
width="478"
height="834"
srcset="http://kenji.blog/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2_hufd6a9cea0728a6881e82fafb17789865_36794_480x0_resize_box_3.png 480w, http://kenji.blog/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2_hufd6a9cea0728a6881e82fafb17789865_36794_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="57"
data-flex-basis="137px"
>&lt;/li>
&lt;/ol>
&lt;p>Klik &lt;strong>Izinkan&lt;/strong>&lt;/p>
&lt;ol start="3">
&lt;li>Atur informasi dasar&lt;/li>
&lt;/ol>
&lt;p>&lt;img src="http://kenji.blog/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3.png"
width="669"
height="849"
srcset="http://kenji.blog/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3_hu8c23b62b71c084f37537f97908add2df_53340_480x0_resize_box_3.png 480w, http://kenji.blog/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3_hu8c23b62b71c084f37537f97908add2df_53340_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="78"
data-flex-basis="189px"
>
Saya telah mengaturnya seperti yang ditunjukkan di atas.&lt;/p>
&lt;ul>
&lt;li>Pada &lt;strong>Google Analytics View&lt;/strong> , pilih tampilan yang ingin Anda dapatkan peringkatnya.&lt;/li>
&lt;/ul>
&lt;ol start="4">
&lt;li>Atur penggantian teks&lt;/li>
&lt;/ol>
&lt;p>&lt;img src="http://kenji.blog/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_4.png"
width="663"
height="359"
srcset="http://kenji.blog/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_4_hu31425455692dc059183478d4c88b4e60_14253_480x0_resize_box_3.png 480w, http://kenji.blog/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_4_hu31425455692dc059183478d4c88b4e60_14253_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_4.png"
class="gallery-image"
data-flex-grow="184"
data-flex-basis="443px"
>
Saya telah mengaturnya seperti yang ditunjukkan di atas.
Ini diatur untuk menghapus &lt;code> | kenji.blog&lt;/code> dari judul halaman.&lt;/p>
&lt;ol start="5">
&lt;li>Atur templat&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>HTML (angka peringkat disembunyikan)&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">&amp;lt;div class=&amp;#34;ranklet ranklet-reset&amp;#34;&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;table class=&amp;#34;ranklet-table&amp;#34;&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;tbody class=&amp;#34;ranklet-pages&amp;#34;&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{#context.pages}}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;tr class=&amp;#34;ranklet-page&amp;#34;&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;td class=&amp;#34;ranklet-image&amp;#34;&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{#image}}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;a href=&amp;#34;{{url}}&amp;#34; class=&amp;#34;ranklet-link&amp;#34;&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;img class=&amp;#34;ranklet-img&amp;#34; src=&amp;#34;{{image}}&amp;#34; /&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;/a&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{/image}}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;/td&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;td class=&amp;#34;ranklet-meta&amp;#34;&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;div class=&amp;#34;ranklet-title&amp;#34;&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;a href=&amp;#34;{{url}}&amp;#34; class=&amp;#34;ranklet-link&amp;#34;&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{title}}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;/a&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;/div&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{#description}}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;div class=&amp;#34;ranklet-description&amp;#34;&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;a href=&amp;#34;{{url}}&amp;#34; class=&amp;#34;ranklet-link&amp;#34;&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{description}}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;/a&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;/div&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{/description}}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;/td&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;/tr&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{/context.pages}}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;/tbody&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &amp;lt;/table&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;lt;/div&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ul>
&lt;li>CSS (ukuran font diubah, deskripsi akan ditampilkan dalam 3 baris)&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;span class="lnt">42
&lt;/span>&lt;span class="lnt">43
&lt;/span>&lt;span class="lnt">44
&lt;/span>&lt;span class="lnt">45
&lt;/span>&lt;span class="lnt">46
&lt;/span>&lt;span class="lnt">47
&lt;/span>&lt;span class="lnt">48
&lt;/span>&lt;span class="lnt">49
&lt;/span>&lt;span class="lnt">50
&lt;/span>&lt;span class="lnt">51
&lt;/span>&lt;span class="lnt">52
&lt;/span>&lt;span class="lnt">53
&lt;/span>&lt;span class="lnt">54
&lt;/span>&lt;span class="lnt">55
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">#ranklet-{{context.id}} {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> .ranklet-reset { // リセット
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> table, tr, td, div, span {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> margin: 0;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> padding: 0;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> border: 0;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> font-size: 100%;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> font: inherit;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> vertical-align: baseline;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> line-height: 1;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> box-sizing: border-box;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> .ranklet-table {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> border-collapse: separate;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> border-spacing: 8px 24px;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> width: 100%;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> word-break: break-all;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> td {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> vertical-align: middle;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> .ranklet-rank {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> text-align: center;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> font-size: 120%;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> .ranklet-image {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> text-align: center;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> img {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> max-width: 128px;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> max-height: 128px;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> .ranklet-meta {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> .ranklet-title {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> font-size: 20px;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> line-height: 125%;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> .ranklet-description {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> font-size: 16px;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> margin-top: 8px;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> line-height: 125%;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> display: -webkit-box;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> overflow: hidden;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> -webkit-box-orient: vertical;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> -webkit-line-clamp: 3; /* 行数 */
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ul>
&lt;li>JavaScript tidak ada perubahan&lt;/li>
&lt;/ul>
&lt;ol start="6">
&lt;li>Salin HTML dari publikasi di situs&lt;/li>
&lt;/ol>
&lt;p>&lt;img src="http://kenji.blog/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_5.png"
width="1136"
height="210"
srcset="http://kenji.blog/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_5_hu69f0184a74d22d1d54f42ee4dc3de643_22304_480x0_resize_box_3.png 480w, http://kenji.blog/p/google%E3%82%A2%E3%83%8A%E3%83%AA%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E4%BA%BA%E6%B0%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_5_hu69f0184a74d22d1d54f42ee4dc3de643_22304_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_5.png"
class="gallery-image"
data-flex-grow="540"
data-flex-basis="1298px"
>&lt;/p>
&lt;p>Salin HTML yang ditampilkan&lt;/p>
&lt;ol start="7">
&lt;li>Tempel ke templat HUGO&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>Buat &lt;code>layouts/partials/ranklet.html&lt;/code> dan tempel HTML yang disalin&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">&amp;lt;div id=&amp;#34;ranklet-11958&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;script src=&amp;#34;//widget.ranklet.com/v1/ranklet/s3/widgets/11958/widget.js&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ul>
&lt;li>Tempel kode di bawah ini pada baris sebelum &lt;code>&amp;lt;/footer&amp;gt;&lt;/code> di &lt;code>layouts/_default/single.html&lt;/code>&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{{- partial &amp;#34;ranklet.html&amp;#34; . }}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Itu saja. Peringkat akan ditampilkan di bagian bawah halaman ini seperti yang ditunjukkan di bawah ini.&lt;/p></description></item><item><title>【Berdasarkan Bahasa】Ringkasan Lingkungan Eksekusi Kode Online</title><link>http://kenji.blog/id/p/%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E5%AE%9F%E8%A1%8C%E7%92%B0%E5%A2%83%E3%81%BE%E3%81%A8%E3%82%81/</link><pubDate>Sun, 09 Apr 2023 14:01:00 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E5%AE%9F%E8%A1%8C%E7%92%B0%E5%A2%83%E3%81%BE%E3%81%A8%E3%82%81/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E5%AE%9F%E8%A1%8C%E7%92%B0%E5%A2%83%E3%81%BE%E3%81%A8%E3%82%81/img.png" alt="Featured image of post 【Berdasarkan Bahasa】Ringkasan Lingkungan Eksekusi Kode Online" />&lt;h2 id="python">Python
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://colab.research.google.com/#create=true" target="_blank" rel="noopener"
>Google Colaboratory&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Google Colaboratory adalah lingkungan eksekusi Python yang dapat dijalankan secara online.&lt;/p>
&lt;ul>
&lt;li>Penggunaan GPU juga dimungkinkan.&lt;/li>
&lt;li>Menggunakan notebook Colab, Anda dapat menulis kode yang dapat dieksekusi dan teks kaya (gambar, HTML, LaTeX, dll. juga dimungkinkan) dalam satu dokumen.&lt;/li>
&lt;/ul>
&lt;p>Ini didasarkan pada Jupyter Notebook.&lt;/p>
&lt;h2 id="rust">Rust
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://play.rust-lang.org/?version=stable&amp;amp;mode=debug&amp;amp;edition=2021" target="_blank" rel="noopener"
>Rust Playground&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="javascript">JavaScript
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://playcode.io/" target="_blank" rel="noopener"
>Javascript Playground&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="java">Java
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://paiza.io/ja/projects/new?language=java" target="_blank" rel="noopener"
>paiza.IO Online Java compiler&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="haskell">Haskell
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://play.haskell.org/" target="_blank" rel="noopener"
>Haskell Playground&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="swift">Swift
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://online.swiftplayground.run/" target="_blank" rel="noopener"
>Online Swift Playground&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="c">C++
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://www.onlinegdb.com/online_c&amp;#43;&amp;#43;_compiler" target="_blank" rel="noopener"
>C++ 14&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="lainnya">Lainnya
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://aws.amazon.com/jp/cloud9/" target="_blank" rel="noopener"
>AWS Cloud9&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Lingkungan pengembangan terintegrasi online yang disediakan oleh Amazon AWS. Hadir dengan pra-paket alat untuk lebih dari 40 bahasa pemrograman seperti Node.js, JavaScript, Python, PHP, Ruby, Go, C++, dll.&lt;/p>
&lt;ul>
&lt;li>&lt;a class="link" href="https://vscode.dev/" target="_blank" rel="noopener"
>Visual Studio Code for the Web&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Lingkungan pengembangan online dari Microsoft. Namun, tidak mungkin untuk mengeksekusi atau men-debug bahasa yang memerlukan kompilasi.&lt;/p>
&lt;ul>
&lt;li>&lt;a class="link" href="https://paiza.io/projects/CGAcQLfW-IOXYy8Dq2OHBw?locale=ja-jp" target="_blank" rel="noopener"
>paiza.IO&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Lingkungan eksekusi online yang mendukung 24 bahasa utama termasuk C, C++, Java, Ruby, Python, PHP, Perl, dll.&lt;/p>
&lt;ul>
&lt;li>&lt;a class="link" href="https://codepen.io/" target="_blank" rel="noopener"
>CodePen&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Lingkungan eksekusi online untuk HTML, CSS, dan JavaScript.&lt;/p>
&lt;ul>
&lt;li>&lt;a class="link" href="https://codeanywhere.com/" target="_blank" rel="noopener"
>codeanywhere&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>IDE Online. Anda dapat berbagi kode dan mengobrol.&lt;/p></description></item><item><title>Cara Menemukan Bilangan Prima Hingga 1000 Menggunakan Saringan Eratosthenes</title><link>http://kenji.blog/id/p/cara-menemukan-bilangan-prima-hingga-1000-menggunakan-saringan-eratosthenes/</link><pubDate>Sun, 09 Apr 2023 12:54:24 +0900</pubDate><guid>http://kenji.blog/id/p/cara-menemukan-bilangan-prima-hingga-1000-menggunakan-saringan-eratosthenes/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%A9%E3%83%88%E3%82%B9%E3%83%86%E3%83%8D%E3%82%B9%E3%81%AE%E7%AF%A9%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A61000%E4%BB%A5%E4%B8%8B%E3%81%AE%E7%B4%A0%E6%95%B0%E3%82%92%E5%88%97%E6%8C%99%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Menemukan Bilangan Prima Hingga 1000 Menggunakan Saringan Eratosthenes" />&lt;h2 id="apa-itu-saringan-eratosthenes">Apa itu Saringan Eratosthenes
&lt;/h2>&lt;p>Saringan Eratosthenes adalah algoritma untuk menemukan semua bilangan prima hingga batas tertentu.
Algoritmanya sederhana dan dapat diimplementasikan dengan langkah-langkah berikut:&lt;/p>
&lt;ol>
&lt;li>Buat array boolean dengan N elemen dan inisialisasi semua elemen menjadi true.&lt;/li>
&lt;li>Atur elemen ke-0 dan ke-1 dari array menjadi false (karena 0 dan 1 bukan bilangan prima).&lt;/li>
&lt;li>Jika elemen ke-2 dari array adalah true, maka cetak 2 sebagai bilangan prima.&lt;/li>
&lt;li>Atur semua elemen kelipatan 2 mulai dari $2^2$ menjadi false ※&lt;/li>
&lt;li>Jika elemen ke-3 dari array adalah true, maka cetak 3 sebagai bilangan prima.&lt;/li>
&lt;li>Atur semua elemen kelipatan 3 mulai dari $3^2$ menjadi false.&lt;/li>
&lt;li>Ulangi proses yang sama untuk elemen ke-4, ke-5, &amp;hellip;, ke-N.&lt;/li>
&lt;/ol>
&lt;p>※ Alasan kami menargetkan elemen dari kuadrat ke atas untuk diatur menjadi false adalah karena elemen yang lebih kecil dari kuadrat tersebut sudah diproses (pencacahan telah selesai).&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%82%A8%E3%83%A9%E3%83%88%E3%82%B9%E3%83%86%E3%83%8D%E3%82%B9%E3%81%AE%E7%AF%A9%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A61000%E4%BB%A5%E4%B8%8B%E3%81%AE%E7%B4%A0%E6%95%B0%E3%82%92%E5%88%97%E6%8C%99%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/Animation_Sieb_des_Eratosthenes.gif"
width="445"
height="369"
srcset="http://kenji.blog/p/%E3%82%A8%E3%83%A9%E3%83%88%E3%82%B9%E3%83%86%E3%83%8D%E3%82%B9%E3%81%AE%E7%AF%A9%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A61000%E4%BB%A5%E4%B8%8B%E3%81%AE%E7%B4%A0%E6%95%B0%E3%82%92%E5%88%97%E6%8C%99%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/Animation_Sieb_des_Eratosthenes_hua63c6218ac9f9cdba93ccb20db392e0e_206214_480x0_resize_box_1.gif 480w, http://kenji.blog/p/%E3%82%A8%E3%83%A9%E3%83%88%E3%82%B9%E3%83%86%E3%83%8D%E3%82%B9%E3%81%AE%E7%AF%A9%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A61000%E4%BB%A5%E4%B8%8B%E3%81%AE%E7%B4%A0%E6%95%B0%E3%82%92%E5%88%97%E6%8C%99%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/Animation_Sieb_des_Eratosthenes_hua63c6218ac9f9cdba93ccb20db392e0e_206214_1024x0_resize_box_1.gif 1024w"
loading="lazy"
class="gallery-image"
data-flex-grow="120"
data-flex-basis="289px"
>&lt;/p>
&lt;h2 id="implementasi-dalam-rust">Implementasi dalam Rust
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">fn main() {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> let n = 1000;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> let mut is_prime = vec![true; n+1];
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> is_prime[0] = false;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> is_prime[1] = false;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> for i in 2..=n {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> if is_prime[i] {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> println!(&amp;#34;{}&amp;#34;, i);
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> let mut j = i * i;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> while j &amp;lt;= n {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> is_prime[j] = false;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> j += i;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="versi-yang-sedikit-lebih-cepat">Versi yang Sedikit Lebih Cepat
&lt;/h2>&lt;p>Kami akan menerapkan versi yang sedikit lebih cepat dengan mempertimbangkan hal-hal berikut:&lt;/p>
&lt;ul>
&lt;li>Alih-alih menginisialisasi array dengan true, inisialisasi dengan false (ini lebih cepat).&lt;/li>
&lt;li>Karena kelipatan 2 bukan bilangan prima, kami mengabaikan proses mengubah kelipatan 2 menjadi false.&lt;/li>
&lt;li>Tidak perlu melakukan perulangan hingga n; jika Anda menemukan bilangan prima hingga akar kuadrat dari n, Anda dapat menemukan bilangan prima hingga n.&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">fn main() {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> let n = 1000;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> let mut is_prime = vec![false; n+1];
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> is_prime[2] = true;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> for i in (3..=n).step_by(2) {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> is_prime[i] = true;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> for i in 3..=((n as f64).sqrt() as usize) {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> if is_prime[i] {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> let mut j = i * i;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> while j &amp;lt;= n {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> is_prime[j] = false;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> j += i * 2;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> for i in (2..=n).filter(|&amp;amp;x| is_prime[x]) {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> println!(&amp;#34;{}&amp;#34;, i);
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%A9%E3%83%88%E3%82%B9%E3%83%86%E3%83%8D%E3%82%B9%E3%81%AE%E7%AF%A9" target="_blank" rel="noopener"
>Saringan Eratosthenes&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cara menginstal CocoaPods di mac</title><link>http://kenji.blog/id/p/cara-menginstal-cocoapods-di-mac/</link><pubDate>Sun, 09 Apr 2023 03:25:54 +0900</pubDate><guid>http://kenji.blog/id/p/cara-menginstal-cocoapods-di-mac/</guid><description>&lt;img src="http://kenji.blog/p/mac%E3%81%ABcocoapods%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1.png" alt="Featured image of post Cara menginstal CocoaPods di mac" />&lt;h1 id="instalasi-melalui-terminal">Instalasi melalui Terminal
&lt;/h1>&lt;ol>
&lt;li>Buka Terminal&lt;/li>
&lt;li>Jalankan &lt;code>sudo gem install cocoapods&lt;/code>
→ Entah kenapa, muncul pesan kesalahan berikut dan instalasi gagal.&lt;/li>
&lt;/ol>
&lt;details>
&lt;summary>Output&lt;/summary>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">ERROR: Error installing cocoapods:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> The last version of activesupport (&amp;gt;= 5.0, &amp;lt; 8) to support your Ruby &amp;amp; RubyGems was 6.1.7.3. Try installing it with `gem install activesupport -v 6.1.7.3` and then running the current command again
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> activesupport requires Ruby version &amp;gt;= 2.7.0. The current ruby version is 2.6.10.210.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;/details>
&lt;ol start="3">
&lt;li>Jadi saya mencari pesan kesalahan tersebut di web (lihat &amp;ldquo;Referensi&amp;rdquo; di bawah), dan menjalankan perintah berikut&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">/bin/bash -c &amp;#34;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;details>
&lt;summary>Output&lt;/summary>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt"> 10
&lt;/span>&lt;span class="lnt"> 11
&lt;/span>&lt;span class="lnt"> 12
&lt;/span>&lt;span class="lnt"> 13
&lt;/span>&lt;span class="lnt"> 14
&lt;/span>&lt;span class="lnt"> 15
&lt;/span>&lt;span class="lnt"> 16
&lt;/span>&lt;span class="lnt"> 17
&lt;/span>&lt;span class="lnt"> 18
&lt;/span>&lt;span class="lnt"> 19
&lt;/span>&lt;span class="lnt"> 20
&lt;/span>&lt;span class="lnt"> 21
&lt;/span>&lt;span class="lnt"> 22
&lt;/span>&lt;span class="lnt"> 23
&lt;/span>&lt;span class="lnt"> 24
&lt;/span>&lt;span class="lnt"> 25
&lt;/span>&lt;span class="lnt"> 26
&lt;/span>&lt;span class="lnt"> 27
&lt;/span>&lt;span class="lnt"> 28
&lt;/span>&lt;span class="lnt"> 29
&lt;/span>&lt;span class="lnt"> 30
&lt;/span>&lt;span class="lnt"> 31
&lt;/span>&lt;span class="lnt"> 32
&lt;/span>&lt;span class="lnt"> 33
&lt;/span>&lt;span class="lnt"> 34
&lt;/span>&lt;span class="lnt"> 35
&lt;/span>&lt;span class="lnt"> 36
&lt;/span>&lt;span class="lnt"> 37
&lt;/span>&lt;span class="lnt"> 38
&lt;/span>&lt;span class="lnt"> 39
&lt;/span>&lt;span class="lnt"> 40
&lt;/span>&lt;span class="lnt"> 41
&lt;/span>&lt;span class="lnt"> 42
&lt;/span>&lt;span class="lnt"> 43
&lt;/span>&lt;span class="lnt"> 44
&lt;/span>&lt;span class="lnt"> 45
&lt;/span>&lt;span class="lnt"> 46
&lt;/span>&lt;span class="lnt"> 47
&lt;/span>&lt;span class="lnt"> 48
&lt;/span>&lt;span class="lnt"> 49
&lt;/span>&lt;span class="lnt"> 50
&lt;/span>&lt;span class="lnt"> 51
&lt;/span>&lt;span class="lnt"> 52
&lt;/span>&lt;span class="lnt"> 53
&lt;/span>&lt;span class="lnt"> 54
&lt;/span>&lt;span class="lnt"> 55
&lt;/span>&lt;span class="lnt"> 56
&lt;/span>&lt;span class="lnt"> 57
&lt;/span>&lt;span class="lnt"> 58
&lt;/span>&lt;span class="lnt"> 59
&lt;/span>&lt;span class="lnt"> 60
&lt;/span>&lt;span class="lnt"> 61
&lt;/span>&lt;span class="lnt"> 62
&lt;/span>&lt;span class="lnt"> 63
&lt;/span>&lt;span class="lnt"> 64
&lt;/span>&lt;span class="lnt"> 65
&lt;/span>&lt;span class="lnt"> 66
&lt;/span>&lt;span class="lnt"> 67
&lt;/span>&lt;span class="lnt"> 68
&lt;/span>&lt;span class="lnt"> 69
&lt;/span>&lt;span class="lnt"> 70
&lt;/span>&lt;span class="lnt"> 71
&lt;/span>&lt;span class="lnt"> 72
&lt;/span>&lt;span class="lnt"> 73
&lt;/span>&lt;span class="lnt"> 74
&lt;/span>&lt;span class="lnt"> 75
&lt;/span>&lt;span class="lnt"> 76
&lt;/span>&lt;span class="lnt"> 77
&lt;/span>&lt;span class="lnt"> 78
&lt;/span>&lt;span class="lnt"> 79
&lt;/span>&lt;span class="lnt"> 80
&lt;/span>&lt;span class="lnt"> 81
&lt;/span>&lt;span class="lnt"> 82
&lt;/span>&lt;span class="lnt"> 83
&lt;/span>&lt;span class="lnt"> 84
&lt;/span>&lt;span class="lnt"> 85
&lt;/span>&lt;span class="lnt"> 86
&lt;/span>&lt;span class="lnt"> 87
&lt;/span>&lt;span class="lnt"> 88
&lt;/span>&lt;span class="lnt"> 89
&lt;/span>&lt;span class="lnt"> 90
&lt;/span>&lt;span class="lnt"> 91
&lt;/span>&lt;span class="lnt"> 92
&lt;/span>&lt;span class="lnt"> 93
&lt;/span>&lt;span class="lnt"> 94
&lt;/span>&lt;span class="lnt"> 95
&lt;/span>&lt;span class="lnt"> 96
&lt;/span>&lt;span class="lnt"> 97
&lt;/span>&lt;span class="lnt"> 98
&lt;/span>&lt;span class="lnt"> 99
&lt;/span>&lt;span class="lnt">100
&lt;/span>&lt;span class="lnt">101
&lt;/span>&lt;span class="lnt">102
&lt;/span>&lt;span class="lnt">103
&lt;/span>&lt;span class="lnt">104
&lt;/span>&lt;span class="lnt">105
&lt;/span>&lt;span class="lnt">106
&lt;/span>&lt;span class="lnt">107
&lt;/span>&lt;span class="lnt">108
&lt;/span>&lt;span class="lnt">109
&lt;/span>&lt;span class="lnt">110
&lt;/span>&lt;span class="lnt">111
&lt;/span>&lt;span class="lnt">112
&lt;/span>&lt;span class="lnt">113
&lt;/span>&lt;span class="lnt">114
&lt;/span>&lt;span class="lnt">115
&lt;/span>&lt;span class="lnt">116
&lt;/span>&lt;span class="lnt">117
&lt;/span>&lt;span class="lnt">118
&lt;/span>&lt;span class="lnt">119
&lt;/span>&lt;span class="lnt">120
&lt;/span>&lt;span class="lnt">121
&lt;/span>&lt;span class="lnt">122
&lt;/span>&lt;span class="lnt">123
&lt;/span>&lt;span class="lnt">124
&lt;/span>&lt;span class="lnt">125
&lt;/span>&lt;span class="lnt">126
&lt;/span>&lt;span class="lnt">127
&lt;/span>&lt;span class="lnt">128
&lt;/span>&lt;span class="lnt">129
&lt;/span>&lt;span class="lnt">130
&lt;/span>&lt;span class="lnt">131
&lt;/span>&lt;span class="lnt">132
&lt;/span>&lt;span class="lnt">133
&lt;/span>&lt;span class="lnt">134
&lt;/span>&lt;span class="lnt">135
&lt;/span>&lt;span class="lnt">136
&lt;/span>&lt;span class="lnt">137
&lt;/span>&lt;span class="lnt">138
&lt;/span>&lt;span class="lnt">139
&lt;/span>&lt;span class="lnt">140
&lt;/span>&lt;span class="lnt">141
&lt;/span>&lt;span class="lnt">142
&lt;/span>&lt;span class="lnt">143
&lt;/span>&lt;span class="lnt">144
&lt;/span>&lt;span class="lnt">145
&lt;/span>&lt;span class="lnt">146
&lt;/span>&lt;span class="lnt">147
&lt;/span>&lt;span class="lnt">148
&lt;/span>&lt;span class="lnt">149
&lt;/span>&lt;span class="lnt">150
&lt;/span>&lt;span class="lnt">151
&lt;/span>&lt;span class="lnt">152
&lt;/span>&lt;span class="lnt">153
&lt;/span>&lt;span class="lnt">154
&lt;/span>&lt;span class="lnt">155
&lt;/span>&lt;span class="lnt">156
&lt;/span>&lt;span class="lnt">157
&lt;/span>&lt;span class="lnt">158
&lt;/span>&lt;span class="lnt">159
&lt;/span>&lt;span class="lnt">160
&lt;/span>&lt;span class="lnt">161
&lt;/span>&lt;span class="lnt">162
&lt;/span>&lt;span class="lnt">163
&lt;/span>&lt;span class="lnt">164
&lt;/span>&lt;span class="lnt">165
&lt;/span>&lt;span class="lnt">166
&lt;/span>&lt;span class="lnt">167
&lt;/span>&lt;span class="lnt">168
&lt;/span>&lt;span class="lnt">169
&lt;/span>&lt;span class="lnt">170
&lt;/span>&lt;span class="lnt">171
&lt;/span>&lt;span class="lnt">172
&lt;/span>&lt;span class="lnt">173
&lt;/span>&lt;span class="lnt">174
&lt;/span>&lt;span class="lnt">175
&lt;/span>&lt;span class="lnt">176
&lt;/span>&lt;span class="lnt">177
&lt;/span>&lt;span class="lnt">178
&lt;/span>&lt;span class="lnt">179
&lt;/span>&lt;span class="lnt">180
&lt;/span>&lt;span class="lnt">181
&lt;/span>&lt;span class="lnt">182
&lt;/span>&lt;span class="lnt">183
&lt;/span>&lt;span class="lnt">184
&lt;/span>&lt;span class="lnt">185
&lt;/span>&lt;span class="lnt">186
&lt;/span>&lt;span class="lnt">187
&lt;/span>&lt;span class="lnt">188
&lt;/span>&lt;span class="lnt">189
&lt;/span>&lt;span class="lnt">190
&lt;/span>&lt;span class="lnt">191
&lt;/span>&lt;span class="lnt">192
&lt;/span>&lt;span class="lnt">193
&lt;/span>&lt;span class="lnt">194
&lt;/span>&lt;span class="lnt">195
&lt;/span>&lt;span class="lnt">196
&lt;/span>&lt;span class="lnt">197
&lt;/span>&lt;span class="lnt">198
&lt;/span>&lt;span class="lnt">199
&lt;/span>&lt;span class="lnt">200
&lt;/span>&lt;span class="lnt">201
&lt;/span>&lt;span class="lnt">202
&lt;/span>&lt;span class="lnt">203
&lt;/span>&lt;span class="lnt">204
&lt;/span>&lt;span class="lnt">205
&lt;/span>&lt;span class="lnt">206
&lt;/span>&lt;span class="lnt">207
&lt;/span>&lt;span class="lnt">208
&lt;/span>&lt;span class="lnt">209
&lt;/span>&lt;span class="lnt">210
&lt;/span>&lt;span class="lnt">211
&lt;/span>&lt;span class="lnt">212
&lt;/span>&lt;span class="lnt">213
&lt;/span>&lt;span class="lnt">214
&lt;/span>&lt;span class="lnt">215
&lt;/span>&lt;span class="lnt">216
&lt;/span>&lt;span class="lnt">217
&lt;/span>&lt;span class="lnt">218
&lt;/span>&lt;span class="lnt">219
&lt;/span>&lt;span class="lnt">220
&lt;/span>&lt;span class="lnt">221
&lt;/span>&lt;span class="lnt">222
&lt;/span>&lt;span class="lnt">223
&lt;/span>&lt;span class="lnt">224
&lt;/span>&lt;span class="lnt">225
&lt;/span>&lt;span class="lnt">226
&lt;/span>&lt;span class="lnt">227
&lt;/span>&lt;span class="lnt">228
&lt;/span>&lt;span class="lnt">229
&lt;/span>&lt;span class="lnt">230
&lt;/span>&lt;span class="lnt">231
&lt;/span>&lt;span class="lnt">232
&lt;/span>&lt;span class="lnt">233
&lt;/span>&lt;span class="lnt">234
&lt;/span>&lt;span class="lnt">235
&lt;/span>&lt;span class="lnt">236
&lt;/span>&lt;span class="lnt">237
&lt;/span>&lt;span class="lnt">238
&lt;/span>&lt;span class="lnt">239
&lt;/span>&lt;span class="lnt">240
&lt;/span>&lt;span class="lnt">241
&lt;/span>&lt;span class="lnt">242
&lt;/span>&lt;span class="lnt">243
&lt;/span>&lt;span class="lnt">244
&lt;/span>&lt;span class="lnt">245
&lt;/span>&lt;span class="lnt">246
&lt;/span>&lt;span class="lnt">247
&lt;/span>&lt;span class="lnt">248
&lt;/span>&lt;span class="lnt">249
&lt;/span>&lt;span class="lnt">250
&lt;/span>&lt;span class="lnt">251
&lt;/span>&lt;span class="lnt">252
&lt;/span>&lt;span class="lnt">253
&lt;/span>&lt;span class="lnt">254
&lt;/span>&lt;span class="lnt">255
&lt;/span>&lt;span class="lnt">256
&lt;/span>&lt;span class="lnt">257
&lt;/span>&lt;span class="lnt">258
&lt;/span>&lt;span class="lnt">259
&lt;/span>&lt;span class="lnt">260
&lt;/span>&lt;span class="lnt">261
&lt;/span>&lt;span class="lnt">262
&lt;/span>&lt;span class="lnt">263
&lt;/span>&lt;span class="lnt">264
&lt;/span>&lt;span class="lnt">265
&lt;/span>&lt;span class="lnt">266
&lt;/span>&lt;span class="lnt">267
&lt;/span>&lt;span class="lnt">268
&lt;/span>&lt;span class="lnt">269
&lt;/span>&lt;span class="lnt">270
&lt;/span>&lt;span class="lnt">271
&lt;/span>&lt;span class="lnt">272
&lt;/span>&lt;span class="lnt">273
&lt;/span>&lt;span class="lnt">274
&lt;/span>&lt;span class="lnt">275
&lt;/span>&lt;span class="lnt">276
&lt;/span>&lt;span class="lnt">277
&lt;/span>&lt;span class="lnt">278
&lt;/span>&lt;span class="lnt">279
&lt;/span>&lt;span class="lnt">280
&lt;/span>&lt;span class="lnt">281
&lt;/span>&lt;span class="lnt">282
&lt;/span>&lt;span class="lnt">283
&lt;/span>&lt;span class="lnt">284
&lt;/span>&lt;span class="lnt">285
&lt;/span>&lt;span class="lnt">286
&lt;/span>&lt;span class="lnt">287
&lt;/span>&lt;span class="lnt">288
&lt;/span>&lt;span class="lnt">289
&lt;/span>&lt;span class="lnt">290
&lt;/span>&lt;span class="lnt">291
&lt;/span>&lt;span class="lnt">292
&lt;/span>&lt;span class="lnt">293
&lt;/span>&lt;span class="lnt">294
&lt;/span>&lt;span class="lnt">295
&lt;/span>&lt;span class="lnt">296
&lt;/span>&lt;span class="lnt">297
&lt;/span>&lt;span class="lnt">298
&lt;/span>&lt;span class="lnt">299
&lt;/span>&lt;span class="lnt">300
&lt;/span>&lt;span class="lnt">301
&lt;/span>&lt;span class="lnt">302
&lt;/span>&lt;span class="lnt">303
&lt;/span>&lt;span class="lnt">304
&lt;/span>&lt;span class="lnt">305
&lt;/span>&lt;span class="lnt">306
&lt;/span>&lt;span class="lnt">307
&lt;/span>&lt;span class="lnt">308
&lt;/span>&lt;span class="lnt">309
&lt;/span>&lt;span class="lnt">310
&lt;/span>&lt;span class="lnt">311
&lt;/span>&lt;span class="lnt">312
&lt;/span>&lt;span class="lnt">313
&lt;/span>&lt;span class="lnt">314
&lt;/span>&lt;span class="lnt">315
&lt;/span>&lt;span class="lnt">316
&lt;/span>&lt;span class="lnt">317
&lt;/span>&lt;span class="lnt">318
&lt;/span>&lt;span class="lnt">319
&lt;/span>&lt;span class="lnt">320
&lt;/span>&lt;span class="lnt">321
&lt;/span>&lt;span class="lnt">322
&lt;/span>&lt;span class="lnt">323
&lt;/span>&lt;span class="lnt">324
&lt;/span>&lt;span class="lnt">325
&lt;/span>&lt;span class="lnt">326
&lt;/span>&lt;span class="lnt">327
&lt;/span>&lt;span class="lnt">328
&lt;/span>&lt;span class="lnt">329
&lt;/span>&lt;span class="lnt">330
&lt;/span>&lt;span class="lnt">331
&lt;/span>&lt;span class="lnt">332
&lt;/span>&lt;span class="lnt">333
&lt;/span>&lt;span class="lnt">334
&lt;/span>&lt;span class="lnt">335
&lt;/span>&lt;span class="lnt">336
&lt;/span>&lt;span class="lnt">337
&lt;/span>&lt;span class="lnt">338
&lt;/span>&lt;span class="lnt">339
&lt;/span>&lt;span class="lnt">340
&lt;/span>&lt;span class="lnt">341
&lt;/span>&lt;span class="lnt">342
&lt;/span>&lt;span class="lnt">343
&lt;/span>&lt;span class="lnt">344
&lt;/span>&lt;span class="lnt">345
&lt;/span>&lt;span class="lnt">346
&lt;/span>&lt;span class="lnt">347
&lt;/span>&lt;span class="lnt">348
&lt;/span>&lt;span class="lnt">349
&lt;/span>&lt;span class="lnt">350
&lt;/span>&lt;span class="lnt">351
&lt;/span>&lt;span class="lnt">352
&lt;/span>&lt;span class="lnt">353
&lt;/span>&lt;span class="lnt">354
&lt;/span>&lt;span class="lnt">355
&lt;/span>&lt;span class="lnt">356
&lt;/span>&lt;span class="lnt">357
&lt;/span>&lt;span class="lnt">358
&lt;/span>&lt;span class="lnt">359
&lt;/span>&lt;span class="lnt">360
&lt;/span>&lt;span class="lnt">361
&lt;/span>&lt;span class="lnt">362
&lt;/span>&lt;span class="lnt">363
&lt;/span>&lt;span class="lnt">364
&lt;/span>&lt;span class="lnt">365
&lt;/span>&lt;span class="lnt">366
&lt;/span>&lt;span class="lnt">367
&lt;/span>&lt;span class="lnt">368
&lt;/span>&lt;span class="lnt">369
&lt;/span>&lt;span class="lnt">370
&lt;/span>&lt;span class="lnt">371
&lt;/span>&lt;span class="lnt">372
&lt;/span>&lt;span class="lnt">373
&lt;/span>&lt;span class="lnt">374
&lt;/span>&lt;span class="lnt">375
&lt;/span>&lt;span class="lnt">376
&lt;/span>&lt;span class="lnt">377
&lt;/span>&lt;span class="lnt">378
&lt;/span>&lt;span class="lnt">379
&lt;/span>&lt;span class="lnt">380
&lt;/span>&lt;span class="lnt">381
&lt;/span>&lt;span class="lnt">382
&lt;/span>&lt;span class="lnt">383
&lt;/span>&lt;span class="lnt">384
&lt;/span>&lt;span class="lnt">385
&lt;/span>&lt;span class="lnt">386
&lt;/span>&lt;span class="lnt">387
&lt;/span>&lt;span class="lnt">388
&lt;/span>&lt;span class="lnt">389
&lt;/span>&lt;span class="lnt">390
&lt;/span>&lt;span class="lnt">391
&lt;/span>&lt;span class="lnt">392
&lt;/span>&lt;span class="lnt">393
&lt;/span>&lt;span class="lnt">394
&lt;/span>&lt;span class="lnt">395
&lt;/span>&lt;span class="lnt">396
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Checking&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="err">`&lt;/span>&lt;span class="n">sudo&lt;/span>&lt;span class="err">`&lt;/span> &lt;span class="n">access&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">which&lt;/span> &lt;span class="n">may&lt;/span> &lt;span class="n">request&lt;/span> &lt;span class="n">your&lt;/span> &lt;span class="n">password&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">...&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">This&lt;/span> &lt;span class="n">script&lt;/span> &lt;span class="n">will&lt;/span> &lt;span class="n">install&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">brew&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">doc&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">man&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">man1&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">brew&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">zsh&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">site&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">functions&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">_brew&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">etc&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bash_completion&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">d&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">brew&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Homebrew&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">The&lt;/span> &lt;span class="n">following&lt;/span> &lt;span class="n">new&lt;/span> &lt;span class="n">directories&lt;/span> &lt;span class="n">will&lt;/span> &lt;span class="n">be&lt;/span> &lt;span class="n">created&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">etc&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">include&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">lib&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sbin&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">var&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">opt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">zsh&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">zsh&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">site&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">functions&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">var&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">var&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">linked&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Cellar&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Caskroom&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Frameworks&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">The&lt;/span> &lt;span class="n">Xcode&lt;/span> &lt;span class="n">Command&lt;/span> &lt;span class="n">Line&lt;/span> &lt;span class="n">Tools&lt;/span> &lt;span class="n">will&lt;/span> &lt;span class="n">be&lt;/span> &lt;span class="n">installed&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Press&lt;/span> &lt;span class="n">RETURN&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ENTER&lt;/span> &lt;span class="n">to&lt;/span> &lt;span class="k">continue&lt;/span> &lt;span class="ow">or&lt;/span> &lt;span class="n">any&lt;/span> &lt;span class="n">other&lt;/span> &lt;span class="n">key&lt;/span> &lt;span class="n">to&lt;/span> &lt;span class="n">abort&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sudo&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">mkdir&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">p&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">etc&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">include&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">lib&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sbin&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">var&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">opt&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">zsh&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">zsh&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">site&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">functions&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">var&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">var&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">linked&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Cellar&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Caskroom&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Frameworks&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sudo&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">chmod&lt;/span> &lt;span class="n">ug&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">rwx&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">etc&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">include&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">lib&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sbin&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">var&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">opt&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">zsh&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">zsh&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">site&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">functions&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">var&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">var&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">linked&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Cellar&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Caskroom&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Frameworks&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sudo&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">chmod&lt;/span> &lt;span class="n">go&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">w&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">zsh&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">zsh&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">site&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">functions&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sudo&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sbin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">chown&lt;/span> &lt;span class="n">kenji&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">etc&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">include&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">lib&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sbin&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">var&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">opt&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">zsh&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">zsh&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">site&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">functions&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">var&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">var&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">linked&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Cellar&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Caskroom&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Frameworks&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sudo&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">chgrp&lt;/span> &lt;span class="n">admin&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">etc&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">include&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">lib&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sbin&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">var&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">opt&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">zsh&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">share&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">zsh&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">site&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">functions&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">var&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">var&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">linked&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Cellar&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Caskroom&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Frameworks&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sudo&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">mkdir&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">p&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Homebrew&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sudo&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sbin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">chown&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">R&lt;/span> &lt;span class="n">kenji&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">admin&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Homebrew&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sudo&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">mkdir&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">p&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">Users&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">kenji&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Library&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Caches&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Homebrew&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sudo&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">chmod&lt;/span> &lt;span class="n">g&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="n">rwx&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">Users&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">kenji&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Library&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Caches&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Homebrew&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sudo&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sbin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">chown&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">R&lt;/span> &lt;span class="n">kenji&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">Users&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">kenji&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Library&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Caches&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Homebrew&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Searching&lt;/span> &lt;span class="n">online&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">Command&lt;/span> &lt;span class="n">Line&lt;/span> &lt;span class="n">Tools&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sudo&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">touch&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">tmp&lt;/span>&lt;span class="o">/.&lt;/span>&lt;span class="n">com&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">apple&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">dt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">CommandLineTools&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">installondemand&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="ow">in&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">progress&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Installing&lt;/span> &lt;span class="n">Command&lt;/span> &lt;span class="n">Line&lt;/span> &lt;span class="n">Tools&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">Xcode&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mf">14.3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sudo&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sbin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">softwareupdate&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">i&lt;/span> &lt;span class="n">Command&lt;/span>\ &lt;span class="n">Line&lt;/span>\ &lt;span class="n">Tools&lt;/span>\ &lt;span class="k">for&lt;/span>\ &lt;span class="n">Xcode&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mf">14.3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Software&lt;/span> &lt;span class="n">Update&lt;/span> &lt;span class="n">Tool&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Finding&lt;/span> &lt;span class="n">available&lt;/span> &lt;span class="n">software&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Downloading&lt;/span> &lt;span class="n">Command&lt;/span> &lt;span class="n">Line&lt;/span> &lt;span class="n">Tools&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">Xcode&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Downloaded&lt;/span> &lt;span class="n">Command&lt;/span> &lt;span class="n">Line&lt;/span> &lt;span class="n">Tools&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">Xcode&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Installing&lt;/span> &lt;span class="n">Command&lt;/span> &lt;span class="n">Line&lt;/span> &lt;span class="n">Tools&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">Xcode&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Done&lt;/span> &lt;span class="n">with&lt;/span> &lt;span class="n">Command&lt;/span> &lt;span class="n">Line&lt;/span> &lt;span class="n">Tools&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">Xcode&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Done&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sudo&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">xcode&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">select&lt;/span> &lt;span class="o">--&lt;/span>&lt;span class="k">switch&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">Library&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Developer&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">CommandLineTools&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sudo&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">rm&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">f&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">tmp&lt;/span>&lt;span class="o">/.&lt;/span>&lt;span class="n">com&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">apple&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">dt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">CommandLineTools&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">installondemand&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="ow">in&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">progress&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="ow">and&lt;/span> &lt;span class="n">installing&lt;/span> &lt;span class="n">Homebrew&lt;/span>&lt;span class="o">...&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">remote&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Enumerating&lt;/span> &lt;span class="n">objects&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">236191&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">done&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">remote&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Counting&lt;/span> &lt;span class="n">objects&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">100&lt;/span>&lt;span class="o">%&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">504&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mi">504&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">done&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">remote&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Compressing&lt;/span> &lt;span class="n">objects&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">100&lt;/span>&lt;span class="o">%&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">327&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mi">327&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">done&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">remote&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Total&lt;/span> &lt;span class="mi">236191&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">delta&lt;/span> &lt;span class="mi">176&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">reused&lt;/span> &lt;span class="mi">468&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">delta&lt;/span> &lt;span class="mi">158&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">pack&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">reused&lt;/span> &lt;span class="mi">235687&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Receiving&lt;/span> &lt;span class="n">objects&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">100&lt;/span>&lt;span class="o">%&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">236191&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mi">236191&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="mf">68.37&lt;/span> &lt;span class="n">MiB&lt;/span> &lt;span class="o">|&lt;/span> &lt;span class="mf">15.51&lt;/span> &lt;span class="n">MiB&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">s&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">done&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Resolving&lt;/span> &lt;span class="n">deltas&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">100&lt;/span>&lt;span class="o">%&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">173058&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mi">173058&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">done&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">From&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">github&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">com&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">brew&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">branch&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">master&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="n">origin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">master&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">branch&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="n">test&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">runners&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="n">origin&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">test&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">runners&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.8&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.8&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">0.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">0.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">14&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">14&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">14&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">14&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">15&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">15&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">16&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">16&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">17&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">17&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.8&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.8&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.8&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.8&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.8&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.8&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.8&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.8&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.8&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.8&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.8&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.8&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.8&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.8&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">1.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">1.9&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">14&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">14&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">15&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">15&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">16&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">16&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">14&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">14&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">15&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">15&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">16&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">16&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">17&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">17&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">14&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">14&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">15&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">15&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">16&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">16&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">2.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">2.7&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">14&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">14&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">15&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">15&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">16&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">16&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">17&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">17&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">14&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">14&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">15&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">15&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">16&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">16&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.3&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.4&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">12&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">13&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">14&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">14&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">15&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">15&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">16&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">16&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">17&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">17&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">18&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">18&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">19&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">19&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">20&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">20&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">21&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">21&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">3.6&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">11&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">6&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">8&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">*&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">new&lt;/span> &lt;span class="n">tag&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span> &lt;span class="o">-&amp;gt;&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">HEAD&lt;/span> &lt;span class="n">is&lt;/span> &lt;span class="n">now&lt;/span> &lt;span class="n">at&lt;/span> &lt;span class="n">c51687009&lt;/span> &lt;span class="n">Merge&lt;/span> &lt;span class="n">pull&lt;/span> &lt;span class="n">request&lt;/span> &lt;span class="c1">#15168 from reitermarkus/api-ruby-source-path&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Installation&lt;/span> &lt;span class="n">successful&lt;/span>&lt;span class="o">!&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Homebrew&lt;/span> &lt;span class="n">has&lt;/span> &lt;span class="n">enabled&lt;/span> &lt;span class="n">anonymous&lt;/span> &lt;span class="n">aggregate&lt;/span> &lt;span class="n">formulae&lt;/span> &lt;span class="ow">and&lt;/span> &lt;span class="n">cask&lt;/span> &lt;span class="n">analytics&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Read&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">analytics&lt;/span> &lt;span class="n">documentation&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="ow">and&lt;/span> &lt;span class="n">how&lt;/span> &lt;span class="n">to&lt;/span> &lt;span class="n">opt&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">out&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="n">here&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">docs&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">brew&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sh&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Analytics&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">No&lt;/span> &lt;span class="n">analytics&lt;/span> &lt;span class="n">data&lt;/span> &lt;span class="n">has&lt;/span> &lt;span class="n">been&lt;/span> &lt;span class="n">sent&lt;/span> &lt;span class="n">yet&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">nor&lt;/span> &lt;span class="n">will&lt;/span> &lt;span class="n">any&lt;/span> &lt;span class="n">be&lt;/span> &lt;span class="n">during&lt;/span> &lt;span class="n">this&lt;/span> &lt;span class="n">install&lt;/span> &lt;span class="n">run&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Homebrew&lt;/span> &lt;span class="n">is&lt;/span> &lt;span class="n">run&lt;/span> &lt;span class="n">entirely&lt;/span> &lt;span class="n">by&lt;/span> &lt;span class="n">unpaid&lt;/span> &lt;span class="n">volunteers&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">Please&lt;/span> &lt;span class="n">consider&lt;/span> &lt;span class="n">donating&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">github&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">com&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">brew&lt;/span>&lt;span class="c1">#donations&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Next&lt;/span> &lt;span class="n">steps&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">-&lt;/span> &lt;span class="n">Run&lt;/span> &lt;span class="n">these&lt;/span> &lt;span class="n">two&lt;/span> &lt;span class="n">commands&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">your&lt;/span> &lt;span class="n">terminal&lt;/span> &lt;span class="n">to&lt;/span> &lt;span class="n">add&lt;/span> &lt;span class="n">Homebrew&lt;/span> &lt;span class="n">to&lt;/span> &lt;span class="n">your&lt;/span> &lt;span class="n">PATH&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">(&lt;/span>&lt;span class="n">echo&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">echo&lt;/span> &lt;span class="s1">&amp;#39;eval &amp;#34;$(/usr/local/bin/brew shellenv)&amp;#34;&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">&amp;gt;&amp;gt;&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">Users&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">kenji&lt;/span>&lt;span class="o">/.&lt;/span>&lt;span class="n">zprofile&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">eval&lt;/span> &lt;span class="s2">&amp;#34;$(/usr/local/bin/brew shellenv)&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">-&lt;/span> &lt;span class="n">Run&lt;/span> &lt;span class="n">brew&lt;/span> &lt;span class="n">help&lt;/span> &lt;span class="n">to&lt;/span> &lt;span class="n">get&lt;/span> &lt;span class="n">started&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">-&lt;/span> &lt;span class="n">Further&lt;/span> &lt;span class="n">documentation&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">docs&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">brew&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sh&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;/details>
&lt;ol start="4">
&lt;li>Jalankan &lt;code>brew install cocoapods&lt;/code>&lt;/li>
&lt;/ol>
&lt;details>
&lt;summary>Output&lt;/summary>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;span class="lnt">42
&lt;/span>&lt;span class="lnt">43
&lt;/span>&lt;span class="lnt">44
&lt;/span>&lt;span class="lnt">45
&lt;/span>&lt;span class="lnt">46
&lt;/span>&lt;span class="lnt">47
&lt;/span>&lt;span class="lnt">48
&lt;/span>&lt;span class="lnt">49
&lt;/span>&lt;span class="lnt">50
&lt;/span>&lt;span class="lnt">51
&lt;/span>&lt;span class="lnt">52
&lt;/span>&lt;span class="lnt">53
&lt;/span>&lt;span class="lnt">54
&lt;/span>&lt;span class="lnt">55
&lt;/span>&lt;span class="lnt">56
&lt;/span>&lt;span class="lnt">57
&lt;/span>&lt;span class="lnt">58
&lt;/span>&lt;span class="lnt">59
&lt;/span>&lt;span class="lnt">60
&lt;/span>&lt;span class="lnt">61
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="cl">&lt;span class="n">Warning&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Treating&lt;/span> &lt;span class="n">cocoapods&lt;/span> &lt;span class="n">as&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="n">formula&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">For&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">cask&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">use&lt;/span> &lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">cask&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">cocoapods&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Fetching&lt;/span> &lt;span class="n">dependencies&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">cocoapods&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">libyaml&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ca&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">certificates&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">openssl&lt;/span>&lt;span class="err">@&lt;/span>&lt;span class="mf">1.1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">readline&lt;/span> &lt;span class="ow">and&lt;/span> &lt;span class="n">ruby&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Fetching&lt;/span> &lt;span class="n">libyaml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">ghcr&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">io&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">v2&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">core&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">libyaml&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">manifests&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mf">0.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">######################################################################## 100.0%&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">ghcr&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">io&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">v2&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">core&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">libyaml&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">blobs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sha256&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">b49e62f014&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">from&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">pkg&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">containers&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">githubusercontent&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">com&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ghcr1&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">blobs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sh&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">######################################################################## 100.0%&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Fetching&lt;/span> &lt;span class="n">ca&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">certificates&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">ghcr&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">io&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">v2&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">core&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ca&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">certificates&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">manifests&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mi">2023&lt;/span>&lt;span class="o">-&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">######################################################################## 100.0%&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">ghcr&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">io&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">v2&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">core&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ca&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">certificates&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">blobs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sha256&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">11&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">from&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">pkg&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">containers&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">githubusercontent&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">com&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ghcr1&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">blobs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sh&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">######################################################################## 100.0%&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Fetching&lt;/span> &lt;span class="n">openssl&lt;/span>&lt;span class="err">@&lt;/span>&lt;span class="mf">1.1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">ghcr&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">io&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">v2&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">core&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">openssl&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mf">1.1&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">manifests&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="n">t&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">######################################################################## 100.0%&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">ghcr&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">io&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">v2&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">core&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">openssl&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mf">1.1&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">blobs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sha256&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">97676&lt;/span>&lt;span class="n">d&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">from&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">pkg&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">containers&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">githubusercontent&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">com&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ghcr1&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">blobs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sh&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">######################################################################## 100.0%&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Fetching&lt;/span> &lt;span class="n">readline&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">ghcr&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">io&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">v2&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">core&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">readline&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">manifests&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mf">8.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">######################################################################## 100.0%&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">ghcr&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">io&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">v2&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">core&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">readline&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">blobs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sha256&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">abe9d3f3e&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">from&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">pkg&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">containers&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">githubusercontent&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">com&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ghcr1&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">blobs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sh&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">######################################################################## 100.0%&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Fetching&lt;/span> &lt;span class="n">ruby&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">ghcr&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">io&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">v2&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">core&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ruby&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">manifests&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">######################################################################## 100.0%&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">ghcr&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">io&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">v2&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">core&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ruby&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">blobs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sha256&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">a4ac080688e87&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">from&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">pkg&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">containers&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">githubusercontent&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">com&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ghcr1&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">blobs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sh&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">######################################################################## 100.0%&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Fetching&lt;/span> &lt;span class="n">cocoapods&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">ghcr&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">io&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">v2&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">core&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">cocoapods&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">manifests&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mf">1.12&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">######################################################################## 100.0%&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">ghcr&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">io&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">v2&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">homebrew&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">core&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">cocoapods&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">blobs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sha256&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">11226288&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Downloading&lt;/span> &lt;span class="n">from&lt;/span> &lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">pkg&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">containers&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">githubusercontent&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">com&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ghcr1&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">blobs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">sh&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">######################################################################## 100.0%&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Installing&lt;/span> &lt;span class="n">dependencies&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">cocoapods&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">libyaml&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ca&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">certificates&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">openssl&lt;/span>&lt;span class="err">@&lt;/span>&lt;span class="mf">1.1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">readline&lt;/span> &lt;span class="ow">and&lt;/span> &lt;span class="n">ruby&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Installing&lt;/span> &lt;span class="n">cocoapods&lt;/span> &lt;span class="n">dependency&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">libyaml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Pouring&lt;/span> &lt;span class="n">libyaml&lt;/span>&lt;span class="o">--&lt;/span>&lt;span class="mf">0.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mf">5.&lt;/span>&lt;span class="n">ventura&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">bottle&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">tar&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">gz&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="err">🍺&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Cellar&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">libyaml&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mf">0.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">5&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">10&lt;/span> &lt;span class="n">files&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">330&lt;/span>&lt;span class="n">KB&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Installing&lt;/span> &lt;span class="n">cocoapods&lt;/span> &lt;span class="n">dependency&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">ca&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">certificates&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Pouring&lt;/span> &lt;span class="n">ca&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">certificates&lt;/span>&lt;span class="o">--&lt;/span>&lt;span class="mi">2023&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">01&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mf">10.&lt;/span>&lt;span class="n">all&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">bottle&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">tar&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">gz&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Regenerating&lt;/span> &lt;span class="n">CA&lt;/span> &lt;span class="n">certificate&lt;/span> &lt;span class="n">bundle&lt;/span> &lt;span class="n">from&lt;/span> &lt;span class="n">keychain&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">this&lt;/span> &lt;span class="n">may&lt;/span> &lt;span class="n">take&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="k">while&lt;/span>&lt;span class="o">...&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="err">🍺&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Cellar&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ca&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">certificates&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mi">2023&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">01&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">10&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">3&lt;/span> &lt;span class="n">files&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">216.9&lt;/span>&lt;span class="n">KB&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Installing&lt;/span> &lt;span class="n">cocoapods&lt;/span> &lt;span class="n">dependency&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">openssl&lt;/span>&lt;span class="err">@&lt;/span>&lt;span class="mf">1.1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Pouring&lt;/span> &lt;span class="n">openssl&lt;/span>&lt;span class="err">@&lt;/span>&lt;span class="mf">1.1&lt;/span>&lt;span class="o">--&lt;/span>&lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="n">t&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">ventura&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">bottle&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">tar&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">gz&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="err">🍺&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Cellar&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">openssl&lt;/span>&lt;span class="err">@&lt;/span>&lt;span class="mf">1.1&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mf">1.1&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="n">t&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">8&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">101&lt;/span> &lt;span class="n">files&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">18.5&lt;/span>&lt;span class="n">MB&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Installing&lt;/span> &lt;span class="n">cocoapods&lt;/span> &lt;span class="n">dependency&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">readline&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Pouring&lt;/span> &lt;span class="n">readline&lt;/span>&lt;span class="o">--&lt;/span>&lt;span class="mf">8.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mf">1.&lt;/span>&lt;span class="n">ventura&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">bottle&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">tar&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">gz&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="err">🍺&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Cellar&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">readline&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mf">8.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">50&lt;/span> &lt;span class="n">files&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">1.7&lt;/span>&lt;span class="n">MB&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Installing&lt;/span> &lt;span class="n">cocoapods&lt;/span> &lt;span class="n">dependency&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">ruby&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Pouring&lt;/span> &lt;span class="n">ruby&lt;/span>&lt;span class="o">--&lt;/span>&lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mf">2.&lt;/span>&lt;span class="n">ventura&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">bottle&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">tar&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">gz&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="err">🍺&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Cellar&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ruby&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mf">3.2&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">16&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">605&lt;/span> &lt;span class="n">files&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">46.3&lt;/span>&lt;span class="n">MB&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Installing&lt;/span> &lt;span class="n">cocoapods&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Pouring&lt;/span> &lt;span class="n">cocoapods&lt;/span>&lt;span class="o">--&lt;/span>&lt;span class="mf">1.12&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mf">0.&lt;/span>&lt;span class="n">ventura&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">bottle&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">tar&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">gz&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="err">🍺&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">usr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Cellar&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">cocoapods&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mf">1.12&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">13&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">436&lt;/span> &lt;span class="n">files&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">27.8&lt;/span>&lt;span class="n">MB&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">==&amp;gt;&lt;/span> &lt;span class="n">Running&lt;/span> &lt;span class="err">`&lt;/span>&lt;span class="n">brew&lt;/span> &lt;span class="n">cleanup&lt;/span> &lt;span class="n">cocoapods&lt;/span>&lt;span class="err">`&lt;/span>&lt;span class="o">...&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Disable&lt;/span> &lt;span class="n">this&lt;/span> &lt;span class="n">behaviour&lt;/span> &lt;span class="n">by&lt;/span> &lt;span class="n">setting&lt;/span> &lt;span class="n">HOMEBREW_NO_INSTALL_CLEANUP&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Hide&lt;/span> &lt;span class="n">these&lt;/span> &lt;span class="n">hints&lt;/span> &lt;span class="n">with&lt;/span> &lt;span class="n">HOMEBREW_NO_ENV_HINTS&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">see&lt;/span> &lt;span class="err">`&lt;/span>&lt;span class="n">man&lt;/span> &lt;span class="n">brew&lt;/span>&lt;span class="err">`&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;/details>
&lt;ol start="5">
&lt;li>Jalankan &lt;code>pod --version&lt;/code>&lt;/li>
&lt;/ol>
&lt;details>
&lt;summary>Output&lt;/summary>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">1.12.0
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;/details>
&lt;p>Sepertinya instalasi berhasil.&lt;/p>
&lt;h1 id="referensi">Referensi
&lt;/h1>&lt;ul>
&lt;li>&lt;a class="link" href="https://stackoverflow.com/questions/75755162/installing-cocoapods" target="_blank" rel="noopener"
>Installing &amp;ldquo;CocoaPods&amp;rdquo;&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cara Mendapatkan Jumlah Pembuatan Record per Hari Menggunakan SOQL di Salesforce</title><link>http://kenji.blog/id/p/cara-mendapatkan-jumlah-pembuatan-record-per-hari-menggunakan-soql-di-salesforce/</link><pubDate>Sun, 09 Apr 2023 02:50:30 +0900</pubDate><guid>http://kenji.blog/id/p/cara-mendapatkan-jumlah-pembuatan-record-per-hari-menggunakan-soql-di-salesforce/</guid><description>&lt;img src="http://kenji.blog/p/salesforce%E3%81%AEsoql%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%A6%E6%97%A5%E5%88%A5%E3%81%AE%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E4%BD%9C%E6%88%90%E6%95%B0%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Mendapatkan Jumlah Pembuatan Record per Hari Menggunakan SOQL di Salesforce" />&lt;h1 id="cara-mendapatkan-jumlah-pembuatan-record-per-hari-menggunakan-soql-di-salesforce">Cara Mendapatkan Jumlah Pembuatan Record per Hari Menggunakan SOQL di Salesforce
&lt;/h1>&lt;ol>
&lt;li>Buka Developer Console.&lt;/li>
&lt;li>Buka tab &lt;code>Query Editor&lt;/code>.&lt;/li>
&lt;li>Tempel dan jalankan SOQL berikut.&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-sql" data-lang="sql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">select&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">day_only&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">createdDate&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">count&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">createdDate&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">from&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">account&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">group&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">by&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">day_only&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">createdDate&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">order&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">by&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">count&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">createdDate&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">desc&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">limit&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">10&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Harap ubah &lt;code>account&lt;/code> menjadi nama objek apa pun yang ingin Anda dapatkan lalu jalankan.&lt;/p>
&lt;h1 id="referensi">Referensi
&lt;/h1>&lt;ul>
&lt;li>&lt;a class="link" href="https://stackoverflow.com/questions/9187737/is-there-a-way-to-group-by-the-date-portion-of-a-datetime-field-in-soql" target="_blank" rel="noopener"
>Is there a way to group by the date portion of a datetime field in SOQL?&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cara Menggambar Grafik Menggunakan Python (matplotlib.pyplot)</title><link>http://kenji.blog/id/p/cara-menggambar-grafik-menggunakan-python-matplotlib-pyplot/</link><pubDate>Sun, 09 Apr 2023 01:02:19 +0900</pubDate><guid>http://kenji.blog/id/p/cara-menggambar-grafik-menggunakan-python-matplotlib-pyplot/</guid><description>&lt;img src="http://kenji.blog/p/pythonmatplotlib.pyplot%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Menggambar Grafik Menggunakan Python (matplotlib.pyplot)" />&lt;p>&lt;img src="http://kenji.blog/p/pythonmatplotlib.pyplot%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1.png"
width="1200"
height="288"
srcset="http://kenji.blog/p/pythonmatplotlib.pyplot%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hue3f23818eeeec9c43d6452cc0f61fb52_43864_480x0_resize_box_3.png 480w, http://kenji.blog/p/pythonmatplotlib.pyplot%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hue3f23818eeeec9c43d6452cc0f61fb52_43864_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="416"
data-flex-basis="1000px"
>&lt;/p>
&lt;h1 id="prasyarat">Prasyarat
&lt;/h1>&lt;ul>
&lt;li>Akun Google&lt;/li>
&lt;/ul>
&lt;h1 id="langkah-langkah">Langkah-langkah
&lt;/h1>&lt;ol>
&lt;li>Akses &lt;a class="link" href="https://colab.research.google.com/" target="_blank" rel="noopener"
>https://colab.research.google.com/&lt;/a>&lt;/li>
&lt;li>Pilih &amp;ldquo;File&amp;rdquo; -&amp;gt; &amp;ldquo;Notebook baru&amp;rdquo;&lt;/li>
&lt;li>Tempel dan jalankan kode berikut&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">matplotlib.pyplot&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">plt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">x&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">linspace&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="o">*&lt;/span>&lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">pi&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">500&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">plt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sin&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">label&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;sin curve&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">plt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cos&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">label&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;cos curve&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">plt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">legend&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="c1"># tampilkan legenda&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">plt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">show&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h1 id="hasil">Hasil
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/p/pythonmatplotlib.pyplot%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png"
width="568"
height="413"
srcset="http://kenji.blog/p/pythonmatplotlib.pyplot%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_hucdb24ab588d845f9f7a56ef99be2c709_27745_480x0_resize_box_3.png 480w, http://kenji.blog/p/pythonmatplotlib.pyplot%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_hucdb24ab588d845f9f7a56ef99be2c709_27745_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="137"
data-flex-basis="330px"
>&lt;/p>
&lt;h1 id="referensi">Referensi
&lt;/h1>&lt;ul>
&lt;li>&lt;a class="link" href="https://matplotlib.org/3.5.3/api/_as_gen/matplotlib.pyplot.html" target="_blank" rel="noopener"
>matplotlib.pyplot — Matplotlib 3.5.3 documentation&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cara Tweet Menggunakan Twitter API dan Google Colaboratory</title><link>http://kenji.blog/id/p/cara-tweet-menggunakan-twitter-api-dan-google-colaboratory/</link><pubDate>Sat, 08 Apr 2023 18:48:32 +0900</pubDate><guid>http://kenji.blog/id/p/cara-tweet-menggunakan-twitter-api-dan-google-colaboratory/</guid><description>&lt;img src="http://kenji.blog/p/twitter-api%E3%81%A8google-colaboratory%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6tweet%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Tweet Menggunakan Twitter API dan Google Colaboratory" />&lt;h1 id="apa-yang-dibutuhkan">Apa yang Dibutuhkan
&lt;/h1>&lt;ul>
&lt;li>Twitter API&lt;/li>
&lt;li>Twitter API SECRET&lt;/li>
&lt;li>Twitter ACCESS TOKEN&lt;/li>
&lt;li>Twitter ACCESS TOKEN SECRET&lt;/li>
&lt;li>Akun Google&lt;/li>
&lt;/ul>
&lt;p>Silakan merujuk ke situs referensi tentang cara mendapatkan Twitter API.&lt;/p>
&lt;h1 id="langkah-langkah-tweet-menggunakan-api">Langkah-langkah Tweet menggunakan API
&lt;/h1>&lt;ol>
&lt;li>Kunjungi &lt;a class="link" href="https://colab.research.google.com/" target="_blank" rel="noopener"
>https://colab.research.google.com/&lt;/a>&lt;/li>
&lt;li>Pilih &amp;ldquo;File&amp;rdquo; -&amp;gt; &amp;ldquo;Buku catatan baru&amp;rdquo;&lt;/li>
&lt;li>Tempel dan jalankan kode berikut (Gunakan nilai aktual yang Anda dapatkan sendiri)&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">API_KEY = &amp;#39;9Smu2f2RoLqbVQHQq6n79Z2JW&amp;#39;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">API_SECRET = &amp;#39;uGVRIkLL2l8sRyPv2Lr4mXxXppnQF1isMoRnvktcXCtFgAK2R8&amp;#39;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ACCESS_TOKEN = &amp;#39;0367292979164670705-7hSErDoQbO6fkFtnn5UY0vqpvecy0O&amp;#39;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ACCESS_TOKEN_SECRET = &amp;#39;pUv81U9GVzZirz5g4AxZPHAJ4GpSXnBo8GUcZ1egtjw9q&amp;#39;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="3">
&lt;li>Tempel dan jalankan kode berikut&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">import tweepy
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="4">
&lt;li>Tempel dan jalankan kode berikut (API v1.1)&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">auth = tweepy.OAuthHandler(API_KEY, API_SECRET)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">api = tweepy.API(auth)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">api.update_status(&amp;#34;hello&amp;#34;)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>→ Tweet &lt;code>hello&lt;/code> akan diposting&lt;/p>
&lt;ol start="5">
&lt;li>Tempel dan jalankan kode berikut (API v2.0)&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">client = tweepy.Client(consumer_key=API_KEY, consumer_secret=API_SECRET, access_token=ACCESS_TOKEN, access_token_secret=ACCESS_TOKEN_SECRET)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">client.create_tweet(text=&amp;#39;hello v2&amp;#39;)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>→ Tweet &lt;code>hello v2&lt;/code> akan diposting&lt;/p>
&lt;p>Selesai&lt;/p>
&lt;h1 id="referensi">Referensi
&lt;/h1>&lt;ul>
&lt;li>&lt;a class="link" href="https://bloomtectec.com/twitter-api-application-procedure/" target="_blank" rel="noopener"
>[Per April 2021] Penjelasan lengkap tentang aplikasi penggunaan Twitter API dengan contoh penggunaan dan tangkapan layar&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://bloomtectec.com/use-twitter-api-in-google-colab/" target="_blank" rel="noopener"
>[Tidak perlu pengaturan yang merepotkan!] Kami merekomendasikan Google Colaboratory sebagai lingkungan uji coba untuk Twitter API [Kode sumber juga akan dibagikan]&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://3pysci.com/tweepy-28/" target="_blank" rel="noopener"
>[Tweepy] Twitter API v2: Tweet, balasan (reply), tweet dengan polling, tweet dengan media (v1.1) [Python]&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cara Membangun OpenSSL di Windows</title><link>http://kenji.blog/id/p/windows-%E3%81%A7-openssl-%E3%82%92%E3%83%93%E3%83%AB%E3%83%89%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Fri, 07 Apr 2023 21:06:32 +0900</pubDate><guid>http://kenji.blog/id/p/windows-%E3%81%A7-openssl-%E3%82%92%E3%83%93%E3%83%AB%E3%83%89%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/windows-%E3%81%A7-openssl-%E3%82%92%E3%83%93%E3%83%AB%E3%83%89%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Membangun OpenSSL di Windows" />&lt;h1 id="apa-itu-openssl">Apa itu OpenSSL
&lt;/h1>&lt;p>Ini adalah pustaka sumber terbuka yang menyediakan pemrosesan yang diperlukan untuk komunikasi terenkripsi.&lt;/p>
&lt;p>Untuk menggunakannya dari sebuah program, kode sumber bahasa C dipublikasikan, jadi Anda perlu membangunnya dan membuat pustaka.&lt;/p>
&lt;p>Di bawah ini kami akan memperkenalkan prosedur pembangunannya.&lt;/p>
&lt;h1 id="persiapan-lingkungan-pembangunan">Persiapan lingkungan pembangunan
&lt;/h1>&lt;ul>
&lt;li>
&lt;p>&lt;strong>Perl&lt;/strong>&lt;/p>
&lt;p>Unduh &lt;code>strawberry-perl-5.32.1.1-64bit.msi&lt;/code> dari &lt;a class="link" href="https://strawberryperl.com/" target="_blank" rel="noopener"
>https://strawberryperl.com/&lt;/a>. Versi terbaru seharusnya tidak masalah.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>NASM&lt;/strong>&lt;/p>
&lt;p>Unduh &lt;code>2.16.01/nasm-2.16.01-win64.zip&lt;/code> dari &lt;code>Download&lt;/code> di &lt;a class="link" href="https://www.nasm.us/" target="_blank" rel="noopener"
>https://www.nasm.us/&lt;/a>. Versi terbaru selain rc seharusnya tidak masalah.
Setelah instalasi, Anda harus mendaftarkan folder tempat NASM diinstal ke variabel lingkungan PATH.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Visual Studio 2022&lt;/strong> atau &lt;strong>Build Tools for Visual Studio 2022&lt;/strong>&lt;/p>
&lt;p>Instal &lt;code>Visual Studio 2022 Community&lt;/code> atau &lt;code>Build Tools for Visual Studio 2022&lt;/code> dari &lt;a class="link" href="https://visualstudio.microsoft.com/ja/downloads/" target="_blank" rel="noopener"
>https://visualstudio.microsoft.com/ja/downloads/&lt;/a>.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h1 id="prosedur-pembangunan-openssl-di-windows">Prosedur pembangunan OpenSSL di Windows
&lt;/h1>&lt;ol>
&lt;li>Unduh dan ekstrak &lt;code>openssl-3.1.0.tar.gz&lt;/code> dari &lt;a class="link" href="https://www.openssl.org/source/" target="_blank" rel="noopener"
>https://www.openssl.org/source/&lt;/a>. Jika Anda tidak dapat mengekstraknya, jalankan perintah &lt;code>tar -xzf openssl-3.1.0.tar.gz&lt;/code> di command prompt.&lt;/li>
&lt;li>Jalankan command prompt &lt;strong>sebagai administrator&lt;/strong>&lt;/li>
&lt;li>Buka folder yang diekstrak&lt;/li>
&lt;li>Jalankan perintah berikut. &lt;em>Ubah bagian &lt;code>Community&lt;/code> sesuai dengan versi Visual Studio yang Anda instal.&lt;/em>&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="cl">&lt;span class="s2">&amp;#34;C:\Program Files\Microsoft Visual Studio&lt;/span>&lt;span class="se">\202&lt;/span>&lt;span class="s2">2\Community\VC\Auxiliary\Build&lt;/span>&lt;span class="se">\v&lt;/span>&lt;span class="s2">cvarsall.bat&amp;#34;&lt;/span> &lt;span class="n">x64&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="5">
&lt;li>Jalankan perintah berikut&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">perl Configure VC-WIN64A
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="6">
&lt;li>Jalankan perintah berikut (butuh waktu cukup lama)&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">nmake
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="7">
&lt;li>Jalankan perintah berikut (butuh waktu cukup lama)&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">nmake test
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="8">
&lt;li>Jalankan perintah berikut&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">nmake install
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Jika berhasil, OpenSSL akan diinstal di &lt;code>C:\Program Files\OpenSSL&lt;/code>.&lt;/p>
&lt;p>Selesai.&lt;/p>
&lt;h1 id="referensi">Referensi
&lt;/h1>&lt;p>&lt;a class="link" href="https://ja.wikipedia.org/wiki/OpenSSL" target="_blank" rel="noopener"
>https://ja.wikipedia.org/wiki/OpenSSL&lt;/a>&lt;/p></description></item><item><title>Apa itu i18n?</title><link>http://kenji.blog/id/p/i18n%E3%81%A8%E3%81%AF/</link><pubDate>Fri, 07 Apr 2023 00:42:02 +0900</pubDate><guid>http://kenji.blog/id/p/i18n%E3%81%A8%E3%81%AF/</guid><description>&lt;img src="http://kenji.blog/p/i18n%E3%81%A8%E3%81%AF/img.png" alt="Featured image of post Apa itu i18n?" />&lt;h1 id="apa-itu-i18n">Apa itu i18n?
&lt;/h1>&lt;p>&lt;code>i18n&lt;/code> adalah singkatan dari &lt;code>Internationalization&lt;/code>, yang berarti internasionalisasi. Karena kata &lt;code>Internationalization&lt;/code> cukup panjang, ia disingkat menjadi &lt;code>i18n&lt;/code>, yang merujuk pada adanya 18 huruf antara huruf pertama &lt;code>i&lt;/code> dan huruf terakhir &lt;code>n&lt;/code>.&lt;/p>
&lt;p>Istilah ini terkadang digunakan dalam konteks internasionalisasi perangkat lunak.&lt;/p>
&lt;p>Berikut adalah item target utama dalam internasionalisasi: &lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/p>
&lt;ul>
&lt;li>Set karakter (kode karakter standar, dll.)&lt;/li>
&lt;li>Arah teks (kiri ke kanan, kanan ke kiri, atas ke bawah menuju kiri, dll.)&lt;/li>
&lt;li>Teks&lt;/li>
&lt;li>Fon&lt;/li>
&lt;li>Pemformatan
&lt;ul>
&lt;li>Angka (karakter koma desimal, karakter pemisah ribuan, jumlah digit yang dipisahkan, dll.)&lt;/li>
&lt;li>Tanggal dan waktu (cara penulisan tahun/bulan/hari, perbedaan kalender yang digunakan seperti kalender Islam/Masehi/Yahudi/Jepang, dll.)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Perbedaan zona waktu pada informasi tanggal dan waktu&lt;/li>
&lt;li>Informasi mata uang&lt;/li>
&lt;/ul>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>&lt;a class="link" href="https://id.wikipedia.org/wiki/Internasionalisasi_dan_lokalisasi" target="_blank" rel="noopener"
>Internasionalisasi dan lokalisasi - Wikipedia&lt;/a>&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Cara Membuat Presentasi dengan HTML (reveal.js)</title><link>http://kenji.blog/id/p/html%E3%81%A7%E3%83%97%E3%83%AC%E3%82%BC%E3%83%B3%E8%B3%87%E6%96%99%E3%82%92%E4%BD%9C%E3%82%8B%E6%96%B9%E6%B3%95reveal.js/</link><pubDate>Thu, 06 Apr 2023 23:23:46 +0900</pubDate><guid>http://kenji.blog/id/p/html%E3%81%A7%E3%83%97%E3%83%AC%E3%82%BC%E3%83%B3%E8%B3%87%E6%96%99%E3%82%92%E4%BD%9C%E3%82%8B%E6%96%B9%E6%B3%95reveal.js/</guid><description>&lt;img src="http://kenji.blog/p/html%E3%81%A7%E3%83%97%E3%83%AC%E3%82%BC%E3%83%B3%E8%B3%87%E6%96%99%E3%82%92%E4%BD%9C%E3%82%8B%E6%96%B9%E6%B3%95reveal.js/img.png" alt="Featured image of post Cara Membuat Presentasi dengan HTML (reveal.js)" />&lt;h1 id="cara-membuat-presentasi-dengan-html">Cara Membuat Presentasi dengan HTML
&lt;/h1>&lt;p>reveal.js adalah alat pembuatan presentasi yang menggunakan HTML dan Markdown, serta memiliki fitur-fitur berikut:&lt;/p>
&lt;ul>
&lt;li>Berbagai fitur presentasi seperti rumus matematika, animasi, dan operasi usap (swipe)&lt;/li>
&lt;li>Tema dan tata letak dapat disesuaikan&lt;/li>
&lt;li>Fitur navigasi yang mendukung berbagai perangkat seperti mouse, keyboard, dan panel sentuh&lt;/li>
&lt;li>Menyediakan fitur-fitur canggih seperti putar otomatis salindia dan penyematan video&lt;/li>
&lt;li>Dapat diekspor dalam format PDF&lt;/li>
&lt;/ul>
&lt;p>Dengan fitur-fitur ini, pengguna dapat dengan mudah membuat presentasi yang interaktif dan menarik.&lt;/p>
&lt;h1 id="instalasi-dan-cara-menggunakan-revealjs">Instalasi dan Cara Menggunakan reveal.js
&lt;/h1>&lt;p>Cara paling sederhana untuk menggunakannya adalah mengunduh seluruh ZIP dari halaman berikut dan mengekstraknya.&lt;/p>
&lt;ol>
&lt;li>Buka &lt;a class="link" href="https://revealjs.com/installation" target="_blank" rel="noopener"
>https://revealjs.com/installation&lt;/a> dan unduh &lt;code>master.zip&lt;/code> dari tautan tersebut&lt;/li>
&lt;li>Buka index.html di folder yang telah diekstrak menggunakan browser&lt;/li>
&lt;li>Edit index.html untuk membuat materi presentasi Anda sendiri&lt;/li>
&lt;/ol>
&lt;p>※ Kode HTML demo ditulis di demo.html sehingga Anda dapat menggunakannya sebagai referensi.&lt;/p>
&lt;h1 id="cara-memanfaatkan">Cara Memanfaatkan
&lt;/h1>&lt;p>Materi presentasi yang dibuat dapat dipublikasikan sebagai halaman web apa adanya, atau diekspor sebagai PDF.
Selain itu, karena sumber presentasi adalah teks, maka mudah dikelola dengan sistem kontrol versi.&lt;/p>
&lt;p>Tampaknya Anda juga dapat membuat materi presentasi dalam format Markdown.&lt;/p>
&lt;h1 id="referensi">Referensi
&lt;/h1>&lt;ul>
&lt;li>&lt;a class="link" href="https://qiita.com/Targityen/items/40ae4795e2cb77c1adc6" target="_blank" rel="noopener"
>Mari gunakan reveal.js untuk presentasi di masa depan&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://qiita.com/jkjoluvjlajelljicvjzojieoaid/items/01cd7ff819bc2e69b652" target="_blank" rel="noopener"
>Daftar Contoh Sintaks Markdown&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cara Menghasilkan Gambar Ilustrasi Menggunakan AI (StableDiffusion)</title><link>http://kenji.blog/id/p/cara-menghasilkan-gambar-ilustrasi-menggunakan-ai-stablediffusion/</link><pubDate>Thu, 06 Apr 2023 00:43:19 +0900</pubDate><guid>http://kenji.blog/id/p/cara-menghasilkan-gambar-ilustrasi-menggunakan-ai-stablediffusion/</guid><description>&lt;img src="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Menghasilkan Gambar Ilustrasi Menggunakan AI (StableDiffusion)" />&lt;h1 id="apa-itu-stable-diffusion">Apa itu Stable diffusion
&lt;/h1>&lt;p>Stable diffusion adalah AI yang menghasilkan gambar dari informasi teks yang dimasukkan, dikembangkan oleh tim peneliti di Universitas Munich di Jerman.
Dengan melatihnya pada berbagai gambar, ia dapat menghasilkan berbagai gambar mulai dari foto realistis hingga ilustrasi.&lt;/p>
&lt;p>Kali ini, saya akan memperkenalkan cara menghasilkan gambar ilustrasi menggunakan data pra-terlatih dari Stable diffusion.&lt;/p>
&lt;h1 id="yang-perlu-disiapkan">Yang perlu disiapkan
&lt;/h1>&lt;ul>
&lt;li>Akun Google&lt;/li>
&lt;/ul>
&lt;p>Hanya itu&lt;/p>
&lt;h1 id="langkah-langkah-pembuatan">Langkah-langkah pembuatan
&lt;/h1>&lt;ol>
&lt;li>Buka &lt;a class="link" href="https://colab.research.google.com" target="_blank" rel="noopener"
>https://colab.research.google.com&lt;/a>&lt;/li>
&lt;li>Dari menu &lt;code>File&lt;/code> di kiri atas, pilih &lt;code>Buku catatan baru&lt;/code>&lt;/li>
&lt;li>Dari menu &lt;code>Edit&lt;/code>, pilih &lt;code>Setelan buku catatan&lt;/code>&lt;/li>
&lt;li>Ubah &lt;code>Akselerator hardware&lt;/code> menjadi &lt;code>GPU&lt;/code>
&lt;img src="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2.png"
width="627"
height="324"
srcset="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2_hud7bbdf6a24e33b2b36528d9e25b016c8_23961_480x0_resize_box_3.png 480w, http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2_hud7bbdf6a24e33b2b36528d9e25b016c8_23961_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="193"
data-flex-basis="464px"
>&lt;/li>
&lt;li>Tempelkan kode berikut dan jalankan&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">!pip install diffusers==0.8.0 transformers
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="6">
&lt;li>Tempelkan kode berikut dan jalankan&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">from diffusers import StableDiffusionPipeline
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="7">
&lt;li>Tempelkan kode berikut dan jalankan&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">pipe = StableDiffusionPipeline.from_pretrained(&amp;#34;gsdf/Counterfeit-V2.5&amp;#34;)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">pipe.to(&amp;#34;cuda&amp;#34;)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="8">
&lt;li>Tempelkan kode berikut dan jalankan&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">prompt = &amp;#34;((masterpiece,best quality)),1girl, solo, animal ears, rabbit, barefoot, knees up, dress, sitting, rabbit ears, short sleeves, looking at viewer, grass, short hair, smile, white hair, puffy sleeves, outdoors, puffy short sleeves, bangs, on ground, full body, animal, white dress, sunlight, brown eyes, dappled sunlight, day, depth of field&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">n_prompt = &amp;#34;EasyNegative, extra fingers,fewer fingers&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">image = pipe(prompt, negative_prompt = n_prompt).images[0]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">image
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;code>Prompt&lt;/code> yang digunakan di sini didasarkan pada &lt;code>Prompt&lt;/code> dari &lt;a class="link" href="https://huggingface.co/gsdf/Counterfeit-V2.5" target="_blank" rel="noopener"
>https://huggingface.co/gsdf/Counterfeit-V2.5&lt;/a>.&lt;/p>
&lt;h2 id="hasil-pembuatan-beberapa">Hasil pembuatan (beberapa)
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1.png"
width="512"
height="512"
srcset="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hu1ec19e515fd7538067cc14f2c3c8bddf_594392_480x0_resize_box_3.png 480w, http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hu1ec19e515fd7538067cc14f2c3c8bddf_594392_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3.png"
width="512"
height="512"
srcset="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3_hu67e673668e1b02812ead4fb15912ac36_533749_480x0_resize_box_3.png 480w, http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3_hu67e673668e1b02812ead4fb15912ac36_533749_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_4.png"
width="512"
height="512"
srcset="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_4_hu2b826ec3ad4d7685d995efaa40aac0c5_597506_480x0_resize_box_3.png 480w, http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_4_hu2b826ec3ad4d7685d995efaa40aac0c5_597506_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_4.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://huggingface.co/gsdf/Counterfeit-V2.5" target="_blank" rel="noopener"
>https://huggingface.co/gsdf/Counterfeit-V2.5&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://www.youtube.com/watch?v=l8-fVSM2PVQ" target="_blank" rel="noopener"
>Saya mencoba membuat program penghasil gambar menggunakan Kecerdasan Buatan (AI) dalam 15 menit 【Pemrograman Langsung】&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Alat untuk menganalisis isi file executable (exe)</title><link>http://kenji.blog/id/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/</link><pubDate>Wed, 05 Apr 2023 23:31:06 +0900</pubDate><guid>http://kenji.blog/id/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/</guid><description>&lt;img src="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_1.png" alt="Featured image of post Alat untuk menganalisis isi file executable (exe)" />&lt;h1 id="apa-itu-file-executable-exe">Apa itu file executable (exe)?
&lt;/h1>&lt;p>File yang dapat dieksekusi di Windows. Pada dasarnya ditulis dalam format yang disebut format PE.
Ini berisi kode bahasa mesin untuk eksekusi, dan sumber daya seperti ikon dan gambar.&lt;/p>
&lt;p>Ada beberapa alat untuk menganalisis file executable, jadi saya akan memperkenalkannya kali ini.&lt;/p>
&lt;h2 id="7-zip">7-Zip
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img.png"
width="297"
height="170"
srcset="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_hu9085a5feff69a2c6829ff5c46ff00393_6059_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_hu9085a5feff69a2c6829ff5c46ff00393_6059_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="174"
data-flex-basis="419px"
>&lt;/p>
&lt;p>File EXE sering dikompresi untuk mengurangi ukurannya karena cenderung besar. Dalam hal ini, Anda dapat mengekstrak file executable dan memeriksa isinya menggunakan 7-Zip, sebuah perangkat lunak kompresi dan ekstraksi file. WinRAR juga merupakan alat serupa yang dapat digunakan.&lt;/p>
&lt;h2 id="resource-hacker">Resource Hacker
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_2.png"
width="186"
height="186"
srcset="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_2_hu79aaf5f76ad7c56f4d42723e7059a469_60178_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_2_hu79aaf5f76ad7c56f4d42723e7059a469_60178_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;p>Anda dapat mengekstrak sumber daya (ikon, bitmap, kotak dialog, string, dll.) di dalam file EXE. Selain itu, karena ia juga berfungsi sebagai editor biner, Anda dapat mengedit dan menulis ulang isi file EXE.&lt;/p>
&lt;h2 id="pe-explorer">PE Explorer
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_3.png"
width="186"
height="186"
srcset="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_3_hueb15d1af1c62b25c13fb3d7dc03fc6df_64201_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_3_hueb15d1af1c62b25c13fb3d7dc03fc6df_64201_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;p>Anda dapat menganalisis file PE untuk Windows (EXE, DLL, OCX, SYS, driver). PE Explorer menawarkan berbagai fitur analisis, termasuk menampilkan struktur file, header file, entri direktori, dan fungsi serta simbol yang diekspor.&lt;/p>
&lt;h2 id="dependency-walker">Dependency Walker
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_4.png"
width="200"
height="200"
srcset="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_4_hub63c69aff9d8b5946247e847a7ad1fc0_3219_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_4_hub63c69aff9d8b5946247e847a7ad1fc0_3219_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_4.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;p>Anda dapat memeriksa file DLL yang menjadi dependensi dari file EXE, dan mengonfirmasi apakah file tersebut dimuat dengan benar. Anda juga dapat melacak panggilan fungsi file DLL.&lt;/p>
&lt;h2 id="ghidra">Ghidra
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_5.png"
width="498"
height="337"
srcset="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_5_hu5dc3fee7c4c873ff8adc099ca0ffbefc_53940_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_5_hu5dc3fee7c4c873ff8adc099ca0ffbefc_53940_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_5.png"
class="gallery-image"
data-flex-grow="147"
data-flex-basis="354px"
>&lt;/p>
&lt;p>Ini adalah alat rekayasa balik (reverse engineering) yang kuat yang dikembangkan oleh NSA (National Security Agency, Amerika Serikat) dan tersedia secara gratis sebagai sumber terbuka. Alat ini tidak hanya mendisassembly (mengubah ke bahasa assembly) file EXE, tetapi juga memiliki fungsi dekompilasi ke format yang mendekati bahasa C, menjadikannya sangat populer.&lt;/p>
&lt;h2 id="ida-free--ida-pro">IDA Free / IDA Pro
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_6.png"
width="256"
height="256"
srcset="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_6_hu960ac9a27bf840a560548c99c16556b4_3581_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_6_hu960ac9a27bf840a560548c99c16556b4_3581_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_6.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;p>Ini adalah disassembler dan decompiler berkinerja tinggi yang telah menjadi standar industri global dalam analisis malware dan rekayasa balik. Versi Pro sangat mahal, tetapi untuk tujuan pribadi atau non-komersial, Anda dapat menggunakan versi fungsionalitas terbatas &amp;ldquo;IDA Free&amp;rdquo; secara gratis.&lt;/p>
&lt;h2 id="x64dbg-x32dbg">x64dbg (x32dbg)
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_7.png"
width="479"
height="430"
srcset="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_7_hube21c1a0d75785c568f5805ce2a13d30_21845_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_7_hube21c1a0d75785c568f5805ce2a13d30_21845_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_7.png"
class="gallery-image"
data-flex-grow="111"
data-flex-basis="267px"
>&lt;/p>
&lt;p>Ini adalah debugger sumber terbuka untuk Windows. Alat ini mengkhususkan diri dalam &amp;ldquo;analisis dinamis&amp;rdquo;, di mana Anda dapat menganalisis isi dan keadaan memori secara langkah demi langkah saat menjalankan file executable. Ini sering digunakan untuk memecahkan crackme (program tantangan untuk analisis) dan menyelidiki perilaku malware.&lt;/p>
&lt;h2 id="ilspy--dotpeek">ILSpy / dotPeek
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_8.png"
width="256"
height="256"
srcset="http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_8_hu85c069d4379e159e6158cf86ba41fdc9_34476_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABexe%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB/img_8_hu85c069d4379e159e6158cf86ba41fdc9_34476_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_8.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;p>Jika file EXE target dibuat menggunakan bahasa keluarga .NET seperti C#, menggunakan alat-alat ini memungkinkan Anda untuk mendekompilasi ke keadaan yang hampir identik dengan kode sumber asli dan menelanjangi isinya.&lt;/p>
&lt;p>Alat-alat ini berguna untuk memeriksa isi file EXE, tetapi Anda harus berhati-hati. Mengedit file atau menggunakannya untuk tujuan ilegal dapat menyebabkan masalah hak cipta dan keamanan, jadi pastikan Anda memahaminya sepenuhnya sebelum menggunakannya.&lt;/p></description></item><item><title>Cara beralih aplikasi seperti Windows (Alt+Tab) di Mac</title><link>http://kenji.blog/id/p/mac%E3%81%A7windows%E3%83%A9%E3%82%A4%E3%82%AFalt-tab%E3%81%AB%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Wed, 05 Apr 2023 02:20:12 +0900</pubDate><guid>http://kenji.blog/id/p/mac%E3%81%A7windows%E3%83%A9%E3%82%A4%E3%82%AFalt-tab%E3%81%AB%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/mac%E3%81%A7windows%E3%83%A9%E3%82%A4%E3%82%AFalt-tab%E3%81%AB%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara beralih aplikasi seperti Windows (Alt+Tab) di Mac" />&lt;h1 id="pengantar">Pengantar
&lt;/h1>&lt;p>Saya akan menunjukkan cara beralih aplikasi di Mac seperti Windows (Alt+Tab).&lt;/p>
&lt;p>Karena sulit untuk mencapai ini dengan mengubah pengaturan standar, metode ini melibatkan pemasangan aplikasi.&lt;/p>
&lt;h1 id="demonstrasi">Demonstrasi
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/p/mac%E3%81%A7windows%E3%83%A9%E3%82%A4%E3%82%AFalt-tab%E3%81%AB%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/animation.gif"
width="640"
height="200"
srcset="http://kenji.blog/p/mac%E3%81%A7windows%E3%83%A9%E3%82%A4%E3%82%AFalt-tab%E3%81%AB%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/animation_hu0429bb2e6c44af4c82057c8719de4732_563361_480x0_resize_box_1.gif 480w, http://kenji.blog/p/mac%E3%81%A7windows%E3%83%A9%E3%82%A4%E3%82%AFalt-tab%E3%81%AB%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/animation_hu0429bb2e6c44af4c82057c8719de4732_563361_1024x0_resize_box_1.gif 1024w"
loading="lazy"
alt="animation.gif"
class="gallery-image"
data-flex-grow="320"
data-flex-basis="768px"
>&lt;/p>
&lt;h1 id="cara-mengatur-macos-ventura">Cara mengatur (macOS Ventura)
&lt;/h1>&lt;ol>
&lt;li>Buka &lt;a class="link" href="https://alt-tab-macos.netlify.app" target="_blank" rel="noopener"
>https://alt-tab-macos.netlify.app&lt;/a>&lt;/li>
&lt;li>Klik &lt;code>Download the latest release&lt;/code>&lt;/li>
&lt;li>Buka aplikasi yang diunduh&lt;/li>
&lt;li>Ikuti instruksi untuk menginstal&lt;/li>
&lt;/ol>
&lt;p>Sekarang Anda akan dapat beralih aplikasi dengan Alt+Tab seperti di Windows.&lt;/p>
&lt;p>Selesai&lt;/p></description></item><item><title>Cara menyamakan tombol pintasan salin &amp; tempel di Mac dengan Windows</title><link>http://kenji.blog/id/p/mac%E3%81%A7%E3%82%B3%E3%83%94%E3%83%BC%E3%83%9A%E3%83%BC%E3%82%B9%E3%83%88%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%AD%E3%83%BC%E3%82%92windows%E3%81%A8%E5%90%88%E3%82%8F%E3%81%9B%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Wed, 05 Apr 2023 00:49:02 +0900</pubDate><guid>http://kenji.blog/id/p/mac%E3%81%A7%E3%82%B3%E3%83%94%E3%83%BC%E3%83%9A%E3%83%BC%E3%82%B9%E3%83%88%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%AD%E3%83%BC%E3%82%92windows%E3%81%A8%E5%90%88%E3%82%8F%E3%81%9B%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/mac%E3%81%A7%E3%82%B3%E3%83%94%E3%83%BC%E3%83%9A%E3%83%BC%E3%82%B9%E3%83%88%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%AD%E3%83%BC%E3%82%92windows%E3%81%A8%E5%90%88%E3%82%8F%E3%81%9B%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara menyamakan tombol pintasan salin &amp; tempel di Mac dengan Windows" />&lt;h1 id="pengantar">Pengantar
&lt;/h1>&lt;p>Saat beralih antara menggunakan Windows dan Mac, tombol pintasan keyboard yang sering digunakan seperti salin, tempel, dan batalkan berbeda.
Di sini saya akan memperkenalkan cara untuk menyamakannya.&lt;/p>
&lt;h1 id="cara-pengaturan-macos-ventura">Cara Pengaturan (macOS Ventura)
&lt;/h1>&lt;ol>
&lt;li>Buka Pengaturan Sistem&lt;/li>
&lt;li>Pilih Keyboard&lt;/li>
&lt;li>Pilih Pintasan Keyboard&lt;/li>
&lt;li>Pilih Tombol Pengubah&lt;/li>
&lt;li>Tetapkan tombol Control(^) ke &amp;ldquo;⌘ Command&amp;rdquo;&lt;/li>
&lt;li>Tetapkan tombol Command(⌘) ke &amp;ldquo;^ Control&amp;rdquo;&lt;/li>
&lt;li>Klik Selesai&lt;/li>
&lt;/ol>
&lt;p>Sekian&lt;/p></description></item><item><title>Cara mengubah pintasan keyboard untuk beralih antara input bahasa Jepang dan bahasa Inggris di mac</title><link>http://kenji.blog/id/p/mac%E3%81%A7%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%8B%B1%E8%AA%9E%E5%85%A5%E5%8A%9B%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%AD%E3%83%BC%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Tue, 04 Apr 2023 23:02:12 +0900</pubDate><guid>http://kenji.blog/id/p/mac%E3%81%A7%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%8B%B1%E8%AA%9E%E5%85%A5%E5%8A%9B%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%AD%E3%83%BC%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/mac%E3%81%A7%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%8B%B1%E8%AA%9E%E5%85%A5%E5%8A%9B%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%AD%E3%83%BC%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara mengubah pintasan keyboard untuk beralih antara input bahasa Jepang dan bahasa Inggris di mac" />&lt;h1 id="pengantar">Pengantar
&lt;/h1>&lt;p>Saya menggunakan keyboard US, dan di Windows saya beralih ke input bahasa Jepang dengan &lt;code>Alt + `&lt;/code>.
Saya ingin beralih menggunakan tombol yang sama di mac, dan setelah mencari tahu, ternyata itu bisa diubah di pengaturan.&lt;/p>
&lt;h1 id="cara-mengatur-macos-ventura">Cara mengatur (macOS Ventura)
&lt;/h1>&lt;ol>
&lt;li>Buka Pengaturan Sistem&lt;/li>
&lt;li>Pilih Keyboard&lt;/li>
&lt;li>Pilih Pintasan Keyboard&lt;/li>
&lt;li>Pilih Sumber Input&lt;/li>
&lt;li>Klik ganda pada representasi pintasan di sebelah kanan &amp;ldquo;Pilih sumber berikutnya di menu Input&amp;rdquo;&lt;/li>
&lt;li>Masukkan &lt;code>Alt + `&lt;/code>&lt;/li>
&lt;li>Klik Selesai&lt;/li>
&lt;/ol>
&lt;p>Sekarang, Anda akan dapat beralih antara bahasa Inggris ⇔ bahasa Jepang dengan &lt;code>Alt + `&lt;/code>.
Namun, secara default, katakana disertakan dalam peralihan, jadi saya menghapus katakana dari sumber input menggunakan langkah-langkah berikut.&lt;/p>
&lt;ol>
&lt;li>Buka Pengaturan Sistem&lt;/li>
&lt;li>Pilih Keyboard&lt;/li>
&lt;li>Klik Edit di sebelah kanan &lt;code>Jepang - Input Romaji&lt;/code> di Sumber Input&lt;/li>
&lt;li>Klik &lt;code>Jepang - Input Romaji&lt;/code>&lt;/li>
&lt;li>Hapus centang Katakana di Mode Input&lt;/li>
&lt;li>Klik Selesai&lt;/li>
&lt;/ol>
&lt;p>Sekian&lt;/p></description></item><item><title>Cara Menemukan Lokasi File Executable di Path Windows</title><link>http://kenji.blog/id/p/windows-%E3%81%A7%E3%83%91%E3%82%B9%E3%81%AE%E9%80%9A%E3%81%A3%E3%81%9F%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%A0%B4%E6%89%80%E3%82%92%E8%A6%8B%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Mon, 03 Apr 2023 00:02:55 +0900</pubDate><guid>http://kenji.blog/id/p/windows-%E3%81%A7%E3%83%91%E3%82%B9%E3%81%AE%E9%80%9A%E3%81%A3%E3%81%9F%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%A0%B4%E6%89%80%E3%82%92%E8%A6%8B%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/windows-%E3%81%A7%E3%83%91%E3%82%B9%E3%81%AE%E9%80%9A%E3%81%A3%E3%81%9F%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%A0%B4%E6%89%80%E3%82%92%E8%A6%8B%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Menemukan Lokasi File Executable di Path Windows" />&lt;h1 id="cara-menemukan-lokasi-file-executable-di-path-windows">Cara Menemukan Lokasi File Executable di Path Windows
&lt;/h1>&lt;p>Saat menjalankan perintah dengan menentukan file executable, kadang-kadang Anda ingin tahu di mana file executable itu berada. Dalam kasus seperti itu, Anda dapat menggunakan perintah di bawah ini untuk memeriksa lokasi file executable.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">where &lt;/span>&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="n">nama&lt;/span> &lt;span class="n">file&lt;/span> &lt;span class="n">executable&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Misalnya, jika Anda ingin mengetahui lokasi Paint (mspaint.exe), lakukan hal berikut:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">where &lt;/span>&lt;span class="n">mspaint&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">exe&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h1 id="referensi">Referensi
&lt;/h1>&lt;ul>
&lt;li>&lt;a class="link" href="https://superuser.com/questions/49104/how-do-i-find-the-location-of-an-executable-in-windows" target="_blank" rel="noopener"
>How do I find the location of an executable in Windows?&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Membeli mac mini(2018)</title><link>http://kenji.blog/id/p/membeli-mac-mini2018/</link><pubDate>Sun, 02 Apr 2023 18:05:30 +0900</pubDate><guid>http://kenji.blog/id/p/membeli-mac-mini2018/</guid><description>&lt;img src="http://kenji.blog/p/mac-mini2018%E3%82%92%E8%B3%BC%E5%85%A5/img.png" alt="Featured image of post Membeli mac mini(2018)" />&lt;h1 id="membeli-mac-mini2018">Membeli mac mini(2018)
&lt;/h1>&lt;p>Saya membeli mac mini(2018) bekas model lama di Mercari. Spesifikasinya sebagai berikut.&lt;/p>
&lt;ul>
&lt;li>CPU: 3.2GHz 6-core Intel Core i7&lt;/li>
&lt;li>Memori: 32GB&lt;/li>
&lt;li>Penyimpanan: 1TB SSD&lt;/li>
&lt;/ul>
&lt;p>Harganya adalah 77.000 yen.&lt;/p>
&lt;h1 id="alasan-pembelian">Alasan pembelian
&lt;/h1>&lt;ul>
&lt;li>Saya menggunakan mac mini dengan spesifikasi yang hampir sama di tempat kerja untuk mengembangkan aplikasi smartphone, dan saya juga ingin menyiapkan lingkungan pengembangan (terutama lingkungan eksekusi xcode) di rumah.&lt;/li>
&lt;li>Saya memiliki macbook pro, tetapi saya membelinya 9 tahun yang lalu dan kinerjanya cukup lambat, jadi saya jarang menggunakannya.&lt;/li>
&lt;li>Secara pribadi saya ingin mengembangkan aplikasi iOS.&lt;/li>
&lt;/ul>
&lt;h1 id="langsung-menginstal-xcode-dan-intelij-idea">Langsung menginstal xcode dan inteliJ IDEA
&lt;/h1>&lt;p>Versi xcode adalah Version 14.3 (14E222b)
&lt;img src="http://kenji.blog/p/mac-mini2018%E3%82%92%E8%B3%BC%E5%85%A5/img_1.png"
width="642"
height="331"
srcset="http://kenji.blog/p/mac-mini2018%E3%82%92%E8%B3%BC%E5%85%A5/img_1_hu62db0034d30abaeb581954f95aa17251_77271_480x0_resize_box_3.png 480w, http://kenji.blog/p/mac-mini2018%E3%82%92%E8%B3%BC%E5%85%A5/img_1_hu62db0034d30abaeb581954f95aa17251_77271_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="193"
data-flex-basis="465px"
>&lt;/p>
&lt;p>Versi inteliJ IDEA adalah 2023.1
&lt;img src="http://kenji.blog/p/mac-mini2018%E3%82%92%E8%B3%BC%E5%85%A5/img_2.png"
width="570"
height="386"
srcset="http://kenji.blog/p/mac-mini2018%E3%82%92%E8%B3%BC%E5%85%A5/img_2_hud92d5f30e3391929dea80140d8f5dfb2_79324_480x0_resize_box_3.png 480w, http://kenji.blog/p/mac-mini2018%E3%82%92%E8%B3%BC%E5%85%A5/img_2_hud92d5f30e3391929dea80140d8f5dfb2_79324_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="147"
data-flex-basis="354px"
>&lt;/p>
&lt;p>Ayo! Saya akan mulai mengembangkan!&lt;/p></description></item><item><title>Tentang situs materi foto "Unsplash" yang dapat digunakan untuk blog</title><link>http://kenji.blog/id/p/%E3%83%96%E3%83%AD%E3%82%B0%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E5%86%99%E7%9C%9F%E7%B4%A0%E6%9D%90%E3%82%B5%E3%82%A4%E3%83%88unsplash%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/</link><pubDate>Sun, 02 Apr 2023 14:44:17 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%83%96%E3%83%AD%E3%82%B0%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E5%86%99%E7%9C%9F%E7%B4%A0%E6%9D%90%E3%82%B5%E3%82%A4%E3%83%88unsplash%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%96%E3%83%AD%E3%82%B0%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E5%86%99%E7%9C%9F%E7%B4%A0%E6%9D%90%E3%82%B5%E3%82%A4%E3%83%88unsplash%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/img_1.png" alt="Featured image of post Tentang situs materi foto "Unsplash" yang dapat digunakan untuk blog" />&lt;h2 id="tentang-unsplash">Tentang &amp;ldquo;Unsplash&amp;rdquo;
&lt;/h2>&lt;p>&lt;a class="link" href="https://unsplash.com/ja/" target="_blank" rel="noopener"
>https://unsplash.com/ja/&lt;/a>&lt;/p>
&lt;p>Ringkasan tentang situs materi foto &amp;ldquo;Unsplash&amp;rdquo; adalah sebagai berikut:&lt;/p>
&lt;ul>
&lt;li>Semua gambar dapat digunakan secara gratis&lt;/li>
&lt;li>Boleh digunakan untuk tujuan komersial&lt;/li>
&lt;li>Modifikasi gambar diperbolehkan&lt;/li>
&lt;li>Tidak memerlukan izin penggunaan&lt;/li>
&lt;li>Tidak memerlukan atribusi&lt;/li>
&lt;/ul>
&lt;p>Sangat mudah digunakan saat menulis artikel di blog, jadi silakan dicoba.&lt;/p>
&lt;p>※ Untuk lisensi, silakan merujuk ke &amp;ldquo;catatan kaki&amp;rdquo; di bawah ini. &lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/p>
&lt;p>Saya juga akan memanfaatkannya di situs ini.&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>&lt;a class="link" href="https://unsplash.com/ja/%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9" target="_blank" rel="noopener"
>Lisensi Unsplash&lt;/a>&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Cara Menampilkan Bahasa Jepang di egui</title><link>http://kenji.blog/id/p/cara-menampilkan-bahasa-jepang-di-egui/</link><pubDate>Sat, 01 Apr 2023 03:17:52 +0900</pubDate><guid>http://kenji.blog/id/p/cara-menampilkan-bahasa-jepang-di-egui/</guid><description>&lt;img src="http://kenji.blog/p/egui%E3%81%A7%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Menampilkan Bahasa Jepang di egui" />&lt;h2 id="mendapatkan-contoh-egui">Mendapatkan Contoh egui
&lt;/h2>&lt;p>Anda dapat menjalankan contoh egui dengan perintah berikut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">git clone https://github.com/emilk/eframe_template/ egui_test
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cd egui_test
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cargo run
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="memuat-font-yang-mendukung-bahasa-jepang">Memuat Font yang Mendukung Bahasa Jepang
&lt;/h2>&lt;p>Untuk menampilkan bahasa Jepang, Anda perlu memuat font yang mendukungnya.&lt;/p>
&lt;p>Di &lt;code>src/app.rs&lt;/code>, tambahkan baris berikut di dalam metode &lt;code>pub fn new&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-rust" data-lang="rust">&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Memuat font yang mendukung bahasa Jepang
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="kd">let&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">mut&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">fonts&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">egui&lt;/span>::&lt;span class="n">FontDefinitions&lt;/span>::&lt;span class="n">default&lt;/span>&lt;span class="p">();&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="n">fonts&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">font_data&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">insert&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="s">&amp;#34;Meiryo&amp;#34;&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">to_owned&lt;/span>&lt;span class="p">(),&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">egui&lt;/span>::&lt;span class="n">FontData&lt;/span>::&lt;span class="n">from_static&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="fm">include_bytes!&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;C:/Windows/Fonts/Meiryo.ttc&amp;#34;&lt;/span>&lt;span class="p">)),&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="n">fonts&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">families&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">entry&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">egui&lt;/span>::&lt;span class="n">FontFamily&lt;/span>::&lt;span class="n">Proportional&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">or_default&lt;/span>&lt;span class="p">()&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">insert&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s">&amp;#34;Meiryo&amp;#34;&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">to_owned&lt;/span>&lt;span class="p">());&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="n">cc&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">egui_ctx&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">set_fonts&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">fonts&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="sekarang-anda-dapat-menampilkan-bahasa-jepang">Sekarang Anda Dapat Menampilkan Bahasa Jepang.
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/egui%E3%81%A7%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png"
width="279"
height="120"
srcset="http://kenji.blog/p/egui%E3%81%A7%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_hu6798dc327f7454fc6cd8b8de1315ab03_5786_480x0_resize_box_3.png 480w, http://kenji.blog/p/egui%E3%81%A7%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_hu6798dc327f7454fc6cd8b8de1315ab03_5786_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="232"
data-flex-basis="558px"
>&lt;/p></description></item><item><title>Cara Mengaktifkan KaTeX (Tampilan Rumus Gaya LaTeX) di hugo</title><link>http://kenji.blog/id/p/hugo%E3%81%A7katexlatex%E9%A2%A8%E6%95%B0%E5%BC%8F%E8%A1%A8%E7%A4%BA%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Fri, 31 Mar 2023 23:11:26 +0900</pubDate><guid>http://kenji.blog/id/p/hugo%E3%81%A7katexlatex%E9%A2%A8%E6%95%B0%E5%BC%8F%E8%A1%A8%E7%A4%BA%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/hugo%E3%81%A7katexlatex%E9%A2%A8%E6%95%B0%E5%BC%8F%E8%A1%A8%E7%A4%BA%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Mengaktifkan KaTeX (Tampilan Rumus Gaya LaTeX) di hugo" />&lt;h1 id="apa-itu-katex">Apa itu KaTeX?
&lt;/h1>&lt;p>KaTeX adalah pustaka javascript untuk menampilkan rumus matematika bergaya LaTeX dalam HTML.&lt;/p>
&lt;p>Secara khusus, Anda dapat menampilkan rumus seperti berikut ini:&lt;/p>
$$f(x) = x^2 + x + 41$$
&lt;p>Tampaknya ada pustaka tampilan rumus bergaya LaTeX lainnya, tetapi KaTeX dikenal karena sederhana dan cepat.&lt;/p>
&lt;h1 id="cara-menambahkan-ke-hugo">Cara menambahkan ke hugo
&lt;/h1>&lt;ol>
&lt;li>Buat file baru &lt;code>layouts/partials/math.html&lt;/code> dalam hierarki folder hugo.&lt;/li>
&lt;/ol>
&lt;p>Isinya harus sebagai berikut:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">&amp;lt;link rel=&amp;#34;stylesheet&amp;#34; href=&amp;#34;https://cdn.jsdelivr.net/npm/katex@0.16.4/dist/katex.min.css&amp;#34; integrity=&amp;#34;sha384-vKruj+a13U8yHIkAyGgK1J3ArTLzrFGBbBc0tDp4ad/EyewESeXE/Iv67Aj8gKZ0&amp;#34; crossorigin=&amp;#34;anonymous&amp;#34;&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;lt;script defer src=&amp;#34;https://cdn.jsdelivr.net/npm/katex@0.16.4/dist/katex.min.js&amp;#34; integrity=&amp;#34;sha384-PwRUT/YqbnEjkZO0zZxNqcxACrXe+j766U2amXcgMg5457rve2Y7I6ZJSm2A0mS4&amp;#34; crossorigin=&amp;#34;anonymous&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;lt;script defer src=&amp;#34;https://cdn.jsdelivr.net/npm/katex@0.16.4/dist/contrib/auto-render.min.js&amp;#34; integrity=&amp;#34;sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05&amp;#34; crossorigin=&amp;#34;anonymous&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;lt;script&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">document.addEventListener(&amp;#34;DOMContentLoaded&amp;#34;, function() {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> renderMathInElement(
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> document.body,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> delimiters: [
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {left: &amp;#34;$$&amp;#34;, right: &amp;#34;$$&amp;#34;, display: true},
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {left: &amp;#34;\\[&amp;#34;, right: &amp;#34;\\]&amp;#34;, display: true},
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {left: &amp;#34;$&amp;#34;, right: &amp;#34;$&amp;#34;, display: false},
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {left: &amp;#34;\\(&amp;#34;, right: &amp;#34;\\)&amp;#34;, display: false}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> });
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> });
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;lt;/script&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="2">
&lt;li>Selanjutnya, tambahkan kode berikut ke file yang sudah ada &lt;code>layouts/partials/extend_head.html&lt;/code>.&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{{ if or .Params.math .Site.Params.math }}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">{{ partial &amp;#34;math.html&amp;#34; . }}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">{{ end }}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="3">
&lt;li>Sekarang Anda siap menggunakan KaTeX.&lt;/li>
&lt;/ol>
&lt;p>Dengan menambahkan &lt;code>math: true&lt;/code> ke front matter halaman, Anda dapat mengaktifkan KaTeX.&lt;/p>
&lt;ol start="4">
&lt;li>Yang harus Anda lakukan adalah menulis rumus gaya LaTeX di badan artikel.&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">$$ e^{i \pi} = -1 $$
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Saat ditulis seperti di atas, ini akan ditampilkan sebagai berikut:&lt;/p>
$$ e^{i \pi} = -1 $$
&lt;h1 id="referensi">Referensi
&lt;/h1>&lt;ul>
&lt;li>&lt;a class="link" href="https://reorx.github.io/hugo-PaperModX/docs/math-typesetting/" target="_blank" rel="noopener"
>Math Typesetting | PaperModX&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://katex.org/docs/autorender.html" target="_blank" rel="noopener"
>KaTex Auto-render Extension&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://www.storange.jp/2017/02/katex.html" target="_blank" rel="noopener"
>Pengenalan KaTeX | The Strange Storage&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Buku Bisnis yang Direkomendasikan</title><link>http://kenji.blog/id/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E6%9B%B8/</link><pubDate>Sun, 19 Mar 2023 18:13:14 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E6%9B%B8/</guid><description>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E6%9B%B8/img.png" alt="Featured image of post Buku Bisnis yang Direkomendasikan" />&lt;h2 id="bagaimana-mencari-kawan-dan-mempengaruhi-orang-lain">Bagaimana Mencari Kawan dan Mempengaruhi Orang Lain
&lt;/h2>&lt;p>&lt;a class="link" href="https://amzn.to/3YTv0Dr" target="_blank" rel="noopener"
>https://amzn.to/3YTv0Dr&lt;/a>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E6%9B%B8/img_1.png"
width="158"
height="218"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E6%9B%B8/img_1_hu0b4e8b3b2e8876499a2f9254f3b03b70_47860_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E6%9B%B8/img_1_hu0b4e8b3b2e8876499a2f9254f3b03b70_47860_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="72"
data-flex-basis="173px"
>&lt;/p>
&lt;h2 id="keberanian-untuk-tidak-disukai">Keberanian untuk Tidak Disukai
&lt;/h2>&lt;p>&lt;a class="link" href="https://amzn.to/3n3SVCQ" target="_blank" rel="noopener"
>https://amzn.to/3n3SVCQ&lt;/a>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E6%9B%B8/img_4.png"
width="154"
height="218"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E6%9B%B8/img_4_huda24c6b40e214f1b3d7c78666e957c42_67528_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E6%9B%B8/img_4_huda24c6b40e214f1b3d7c78666e957c42_67528_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_4.png"
class="gallery-image"
data-flex-grow="70"
data-flex-basis="169px"
>&lt;/p>
&lt;h2 id="pergeseran-kehidupan-strategi-hidup-di-era-kehidupan-100-tahun">Pergeseran Kehidupan: Strategi Hidup di Era Kehidupan 100 Tahun
&lt;/h2>&lt;p>&lt;a class="link" href="https://amzn.to/3TtKUDf" target="_blank" rel="noopener"
>https://amzn.to/3TtKUDf&lt;/a>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E6%9B%B8/img_3.png"
width="163"
height="218"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E6%9B%B8/img_3_hu8ca572c69f660691f78f4503d6e98a90_44702_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E6%9B%B8/img_3_hu8ca572c69f660691f78f4503d6e98a90_44702_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="74"
data-flex-basis="179px"
>&lt;/p>
&lt;h2 id="7-kebiasaan-manusia-yang-sangat-efektif">7 Kebiasaan Manusia yang Sangat Efektif
&lt;/h2>&lt;p>&lt;a class="link" href="https://amzn.to/3TqfjSO" target="_blank" rel="noopener"
>https://amzn.to/3TqfjSO&lt;/a>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E6%9B%B8/img_2.png"
width="140"
height="218"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E6%9B%B8/img_2_hu532c5c80cffe57a2c6e7fc7e8a9fb9dc_33323_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E6%9B%B8/img_2_hu532c5c80cffe57a2c6e7fc7e8a9fb9dc_33323_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="64"
data-flex-basis="154px"
>&lt;/p></description></item><item><title>Ekstensi Chrome yang Direkomendasikan</title><link>http://kenji.blog/id/p/ekstensi-chrome-yang-direkomendasikan/</link><pubDate>Sun, 19 Mar 2023 02:54:30 +0900</pubDate><guid>http://kenji.blog/id/p/ekstensi-chrome-yang-direkomendasikan/</guid><description>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE-chorme-%E6%8B%A1%E5%BC%B5/img_4.png" alt="Featured image of post Ekstensi Chrome yang Direkomendasikan" />&lt;h1 id="ekstensi-chrome-yang-direkomendasikan">Ekstensi Chrome yang Direkomendasikan
&lt;/h1>&lt;p>Saya akan memperkenalkan ekstensi Chrome yang saya gunakan saat ini. Meskipun untuk Chrome, ekstensi ini juga dapat digunakan di Microsoft Edge.&lt;/p>
&lt;h2 id="1-simplegestures">1. simpleGestures
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE-chorme-%E6%8B%A1%E5%BC%B5/img_2.png"
width="640"
height="400"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE-chorme-%E6%8B%A1%E5%BC%B5/img_2_hu4bcd797593a745b5f9b4cb285de52b24_52497_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE-chorme-%E6%8B%A1%E5%BC%B5/img_2_hu4bcd797593a745b5f9b4cb285de52b24_52497_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="160"
data-flex-basis="384px"
>&lt;/p>
&lt;p>Ekstensi yang memungkinkan Anda menggunakan gerakan mouse.
Anda dapat mengontrol browser tanpa menggunakan keyboard atau menyejajarkan tombol pada toolbar.&lt;/p>
&lt;p>Sebagai contoh, Anda dapat kembali dengan menahan tombol kanan mouse dan menggeser mouse ke kiri, atau maju dengan menahan tombol kanan mouse dan menggeser mouse ke kanan.&lt;/p>
&lt;p>Ini juga sumber terbuka, sehingga sangat andal.&lt;/p>
&lt;ul>
&lt;li>&lt;a class="link" href="https://chrome.google.com/webstore/detail/simplegestures/flfminafiamnggnldfpilnfnmbgmiegn" target="_blank" rel="noopener"
>simpleGestures&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://github.com/RyutaKojima/simpleGestures" target="_blank" rel="noopener"
>github&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="2-ublock-origin">2. uBlock Origin
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE-chorme-%E6%8B%A1%E5%BC%B5/img_3.png"
width="100"
height="100"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE-chorme-%E6%8B%A1%E5%BC%B5/img_3_hu67a45412a01a15e955f073af8a67274e_3982_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE-chorme-%E6%8B%A1%E5%BC%B5/img_3_hu67a45412a01a15e955f073af8a67274e_3982_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;p>Ekstensi yang memblokir iklan. Sumber terbuka sehingga sangat andal. Selain itu, ekstensi ini menggunakan sedikit CPU dan memori serta berjalan lancar.&lt;/p>
&lt;ul>
&lt;li>&lt;a class="link" href="https://microsoftedge.microsoft.com/addons/detail/ublock-origin/odfafepnkmbhccpbejgmiehpchacaeak" target="_blank" rel="noopener"
>uBlock Origin&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://github.com/gorhill/uBlock/" target="_blank" rel="noopener"
>github&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="3-terjemahan-deepl">3. Terjemahan DeepL
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE-chorme-%E6%8B%A1%E5%BC%B5/img.png"
width="640"
height="400"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE-chorme-%E6%8B%A1%E5%BC%B5/img_hub3c737317700497686769948a4bd0d5d_91291_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE-chorme-%E6%8B%A1%E5%BC%B5/img_hub3c737317700497686769948a4bd0d5d_91291_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="160"
data-flex-basis="384px"
>&lt;/p>
&lt;p>Ekstensi Chrome yang memungkinkan Anda menerjemahkan halaman menggunakan layanan terjemahan DeepL yang terkenal di dunia. Saat Anda memilih teks yang ingin Anda terjemahkan di browser, ikon DeepL akan ditampilkan, dan mengkliknya akan menerjemahkannya secara otomatis.&lt;/p>
&lt;ul>
&lt;li>&lt;a class="link" href="https://chrome.google.com/webstore/detail/deepl-translate-reading-w/cofdbpoegempjloogbagkncekinflcnj?hl=ja" target="_blank" rel="noopener"
>DeepL Translator&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="4-bilah-sisi-chatgpt">4. Bilah Sisi ChatGPT
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE-chorme-%E6%8B%A1%E5%BC%B5/img_5.png"
width="640"
height="400"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE-chorme-%E6%8B%A1%E5%BC%B5/img_5_hu10d1b065dcac4fe890e2b430c09f6a86_129788_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE-chorme-%E6%8B%A1%E5%BC%B5/img_5_hu10d1b065dcac4fe890e2b430c09f6a86_129788_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_5.png"
class="gallery-image"
data-flex-grow="160"
data-flex-basis="384px"
>&lt;/p>
&lt;p>Ekstensi untuk menggunakan ChatGPT di bilah sisi. Anda dapat menampilkan bilah sisi dengan menekan Ctrl+P, dan segera mengajukan pertanyaan kepada AI.
Jika teks apa pun dipilih pada halaman, teks tersebut akan langsung disalin ke pertanyaan Anda, sehingga Anda dapat segera bertanya dengan Ctrl+Enter.&lt;/p>
&lt;ul>
&lt;li>&lt;a class="link" href="https://chrome.google.com/webstore/detail/chatgpt-sidebar-support-g/difoiogjjojoaoomphldepapgpbgkhkb" target="_blank" rel="noopener"
>ChatGPT Sidebar&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="5-salesforce-devtools">5. Salesforce DevTools
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE-chorme-%E6%8B%A1%E5%BC%B5/img_1.png"
width="640"
height="400"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE-chorme-%E6%8B%A1%E5%BC%B5/img_1_hue339a6462b95e183512b6c5779072273_131133_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE-chorme-%E6%8B%A1%E5%BC%B5/img_1_hue339a6462b95e183512b6c5779072273_131133_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="160"
data-flex-basis="384px"
>&lt;/p>
&lt;p>Ekstensi yang menambahkan fitur berguna untuk pengembangan Salesforce.
Saya rasa ini tidak perlu bagi mereka yang tidak menggunakan Salesforce.&lt;/p>
&lt;ul>
&lt;li>&lt;a class="link" href="https://chrome.google.com/webstore/detail/salesforce-devtools/ehgmhinnhggigkogkbhnbodhbfjgncjf" target="_blank" rel="noopener"
>Salesforce DevTools&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cara memperbarui rustc</title><link>http://kenji.blog/id/p/rustc%E3%82%92%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Sat, 18 Mar 2023 10:27:02 +0900</pubDate><guid>http://kenji.blog/id/p/rustc%E3%82%92%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/rustc%E3%82%92%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara memperbarui rustc" />&lt;h1 id="cara-memperbarui-rustc">Cara memperbarui rustc
&lt;/h1>&lt;p>Cukup jalankan satu baris berikut dengan perintah.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">rustup update
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h1 id="referensi-keluaran">Referensi keluaran
&lt;/h1>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="cl">&lt;span class="n">rustup&lt;/span> &lt;span class="n">update&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">syncing&lt;/span> &lt;span class="n">channel&lt;/span> &lt;span class="n">updates&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="s1">&amp;#39;stable-x86_64-pc-windows-msvc&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">warning&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Signature&lt;/span> &lt;span class="n">verification&lt;/span> &lt;span class="n">failed&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="s1">&amp;#39;https://static.rust-lang.org/dist/channel-rust-stable.toml&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">latest&lt;/span> &lt;span class="n">update&lt;/span> &lt;span class="n">on&lt;/span> &lt;span class="mi">2023&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">03&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">09&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">rust&lt;/span> &lt;span class="n">version&lt;/span> &lt;span class="mf">1.68&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="n">c8cc3432&lt;/span> &lt;span class="mi">2023&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">03&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">06&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">downloading&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;rust-src&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">downloading&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;cargo&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">downloading&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;clippy&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">downloading&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;rust-docs&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">downloading&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;rust-std&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">downloading&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;rustc&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="mf">63.9&lt;/span> &lt;span class="n">MiB&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mf">63.9&lt;/span> &lt;span class="n">MiB&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">100&lt;/span> &lt;span class="o">%&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="mf">37.5&lt;/span> &lt;span class="n">MiB&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">s&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="n">s&lt;/span> &lt;span class="n">ETA&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">downloading&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;rustfmt&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">removing&lt;/span> &lt;span class="n">previous&lt;/span> &lt;span class="n">version&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;rust-src&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">removing&lt;/span> &lt;span class="n">previous&lt;/span> &lt;span class="n">version&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;cargo&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">removing&lt;/span> &lt;span class="n">previous&lt;/span> &lt;span class="n">version&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;clippy&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">removing&lt;/span> &lt;span class="n">previous&lt;/span> &lt;span class="n">version&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;rust-docs&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">removing&lt;/span> &lt;span class="n">previous&lt;/span> &lt;span class="n">version&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;rust-std&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">removing&lt;/span> &lt;span class="n">previous&lt;/span> &lt;span class="n">version&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;rustc&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">removing&lt;/span> &lt;span class="n">previous&lt;/span> &lt;span class="n">version&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;rustfmt&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">installing&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;rust-src&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">installing&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;cargo&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">installing&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;clippy&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">installing&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;rust-docs&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="mf">19.4&lt;/span> &lt;span class="n">MiB&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mf">19.4&lt;/span> &lt;span class="n">MiB&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">100&lt;/span> &lt;span class="o">%&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="mf">2.4&lt;/span> &lt;span class="n">MiB&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">s&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="mi">6&lt;/span>&lt;span class="n">s&lt;/span> &lt;span class="n">ETA&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">installing&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;rust-std&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="mf">27.6&lt;/span> &lt;span class="n">MiB&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mf">27.6&lt;/span> &lt;span class="n">MiB&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">100&lt;/span> &lt;span class="o">%&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="mf">12.7&lt;/span> &lt;span class="n">MiB&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">s&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="n">s&lt;/span> &lt;span class="n">ETA&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">installing&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;rustc&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="mf">63.9&lt;/span> &lt;span class="n">MiB&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mf">63.9&lt;/span> &lt;span class="n">MiB&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">100&lt;/span> &lt;span class="o">%&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="mf">13.8&lt;/span> &lt;span class="n">MiB&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">s&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="n">s&lt;/span> &lt;span class="n">ETA&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">installing&lt;/span> &lt;span class="n">component&lt;/span> &lt;span class="s1">&amp;#39;rustfmt&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">checking&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="bp">self&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">updates&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">downloading&lt;/span> &lt;span class="bp">self&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">update&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">stable&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">x86_64&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">pc&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">windows&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">msvc&lt;/span> &lt;span class="n">updated&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">rustc&lt;/span> &lt;span class="mf">1.68&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="n">c8cc3432&lt;/span> &lt;span class="mi">2023&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">03&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">06&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">from&lt;/span> &lt;span class="n">rustc&lt;/span> &lt;span class="mf">1.64&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">a55dd71d5&lt;/span> &lt;span class="mi">2022&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">09&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">19&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">cleaning&lt;/span> &lt;span class="n">up&lt;/span> &lt;span class="n">downloads&lt;/span> &lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">tmp&lt;/span> &lt;span class="n">directories&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>Mencoba egui</title><link>http://kenji.blog/id/p/mencoba-egui/</link><pubDate>Sat, 18 Mar 2023 10:27:02 +0900</pubDate><guid>http://kenji.blog/id/p/mencoba-egui/</guid><description>&lt;img src="http://kenji.blog/p/egui%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B/demo.gif" alt="Featured image of post Mencoba egui" />&lt;h1 id="apa-itu-egui">Apa itu egui
&lt;/h1>&lt;p>Ini adalah pustaka GUI yang dapat digunakan dengan rust.&lt;/p>
&lt;h1 id="mencoba-egui">Mencoba egui
&lt;/h1>&lt;p>Anda dapat menjalankan contoh egui dengan perintah berikut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">git clone https://github.com/emilk/eframe_template/ egui_test
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cd egui_test
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cargo run
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Setelah itu, Anda dapat mencoba berbagai hal sambil bermain-main dengan kode contohnya.&lt;/p>
&lt;h1 id="referensi">Referensi
&lt;/h1>&lt;p>&lt;a class="link" href="https://github.com/emilk/egui" target="_blank" rel="noopener"
>Repositori resmi di github&lt;/a>&lt;/p></description></item><item><title>Cara Menghilangkan Noise AG03</title><link>http://kenji.blog/id/p/ag03%E3%83%8E%E3%82%A4%E3%82%BA%E8%A7%A3%E6%B6%88%E6%96%B9%E6%B3%95/</link><pubDate>Sat, 18 Mar 2023 01:17:10 +0900</pubDate><guid>http://kenji.blog/id/p/ag03%E3%83%8E%E3%82%A4%E3%82%BA%E8%A7%A3%E6%B6%88%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/ag03%E3%83%8E%E3%82%A4%E3%82%BA%E8%A7%A3%E6%B6%88%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cara Menghilangkan Noise AG03" />&lt;h1 id="cara-menghilangkan-noise-yamaha-ag03">Cara Menghilangkan Noise YAMAHA AG03
&lt;/h1>&lt;p>Saat mendengarkan suara PC melalui monitor AG03, ada noise kasar secara teratur (sekitar setiap 1 hingga 3 menit).
Setelah mencari tahu, sepertinya ada cara berikut untuk mengatasi noise pada AG03:&lt;/p>
&lt;p>&lt;a class="link" href="https://jp.yamaha.com/support/updates/yamaha_steinberg_usb_driver_for_win.html" target="_blank" rel="noopener"
>https://jp.yamaha.com/support/updates/yamaha_steinberg_usb_driver_for_win.html&lt;/a>&lt;/p>
&lt;p>Dengan mengunduh dan menginstal Yamaha Steinberg USB Driver dari situs di atas, noise tersebut berhasil dihilangkan.&lt;/p>
&lt;div style="background:#fff;width:120px;height:215px;box-sizing:border-box;border:1px solid #ccc;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;">&lt;div style="line-height:0;">&lt;img src="https://static.jp.mercari.com/assets/img/common/jp/logo_horizontal.png" width="105">&lt;/div>&lt;a href="https://jp.mercari.com/item/m10570024971?afid=1916658352" style="width:100px;height:100px;background:#eee;" target="_self">&lt;img src="https://ambassador-system.mercari.com/v1/i?id=m10570024971&amp;svc=m" style="line-height:0;width:100px;height:100px;object-fit:contain;"/>&lt;/a>&lt;div style="padding:12px 0;width:100%;text-align:center;">&lt;a href="https://jp.mercari.com/item/m10570024971?afid=1916658352" style="width:100px;height:32px;background-color:#E32B36;border-radius:4px;line-height:14px;text-align:center;color:#fff;font-weight:bold;border:0;font-size:12px;display:inline-flex;justify-content:center;align-items:center;" target="_self">Beli Sekarang&lt;/a>&lt;/div>&lt;/div>
&lt;h1 id="referensi">Referensi
&lt;/h1>&lt;p>&lt;a class="link" href="https://web.archive.org/web/20201003230738/http://yamaha.custhelp.com/app/answers/detail/a_id/7202" target="_blank" rel="noopener"
>https://web.archive.org/web/20201003230738/http://yamaha.custhelp.com/app/answers/detail/a_id/7202&lt;/a>&lt;/p></description></item><item><title>Periferal PC yang Direkomendasikan</title><link>http://kenji.blog/id/p/periferal-pc-yang-direkomendasikan/</link><pubDate>Tue, 28 Feb 2023 00:51:49 +0900</pubDate><guid>http://kenji.blog/id/p/periferal-pc-yang-direkomendasikan/</guid><description>&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AEpc%E5%91%A8%E8%BE%BA%E6%A9%9F%E5%99%A8/img.png" alt="Featured image of post Periferal PC yang Direkomendasikan" />&lt;h1 id="periferal-pc-yang-direkomendasikan--diinginkan-oleh-insinyur-aktif">Periferal PC yang Direkomendasikan &amp;amp; Diinginkan oleh Insinyur Aktif
&lt;/h1>&lt;h2 id="keyboard">Keyboard
&lt;/h2>&lt;p>Pertama-tama, keyboard dengan sakelar kapasitif tanpa sentuhan yang sulit rusak sangat direkomendasikan.
Saya telah memiliki &lt;a class="link" href="https://amzn.to/3IzOOFO" target="_blank" rel="noopener"
>RealForce&lt;/a> selama lebih dari 10 tahun, dan saya masih aktif menggunakannya hingga hari ini.
Tipe yang saya gunakan adalah tata letak bahasa Inggris yang senyap.&lt;/p>
&lt;p>Namun, belakangan ini saya juga tertarik dengan keyboard bernama &lt;a class="link" href="https://amzn.to/3Z5skmR" target="_blank" rel="noopener"
>Logitech MX Keys&lt;/a>.&lt;/p>
&lt;h2 id="trackball">Trackball
&lt;/h2>&lt;p>Sebagai perangkat penunjuk, trackball direkomendasikan daripada mouse karena dapat mengurangi kelelahan.&lt;/p>
&lt;p>Perangkat yang saya gunakan adalah &lt;a class="link" href="https://amzn.to/3IYOwtf" target="_blank" rel="noopener"
>Logitech MX Ergo&lt;/a>. Ini adalah produk mahal yang harganya lebih dari 10.000 yen, tetapi saya pikir nilainya lebih dari itu.&lt;/p>
&lt;p>Saya juga tertarik dengan &lt;a class="link" href="https://amzn.to/3Zu5tB8" target="_blank" rel="noopener"
>DEFT PRO(M-DPT1MRXBK)&lt;/a>, yaitu tipe yang memiliki bola besar dan dioperasikan dengan jari telunjuk dan jari tengah.
&lt;img src="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AEpc%E5%91%A8%E8%BE%BA%E6%A9%9F%E5%99%A8/img_1.png"
width="700"
height="680"
srcset="http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AEpc%E5%91%A8%E8%BE%BA%E6%A9%9F%E5%99%A8/img_1_hu930fae58f4873e2ed261c55e6b025235_528450_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AEpc%E5%91%A8%E8%BE%BA%E6%A9%9F%E5%99%A8/img_1_hu930fae58f4873e2ed261c55e6b025235_528450_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="102"
data-flex-basis="247px"
>&lt;/p>
&lt;h2 id="layar">Layar
&lt;/h2>&lt;p>Apa saja boleh, tetapi layar 4K beresolusi tinggi direkomendasikan.&lt;/p>
&lt;p>Saat ini saya menggunakan &lt;a class="link" href="https://amzn.to/3y0ViIW" target="_blank" rel="noopener"
>layar 4K DELL&lt;/a>.&lt;/p>
&lt;p>Sekarang saya menginginkan layar lebar dari &lt;a class="link" href="https://amzn.to/3kz7BZH" target="_blank" rel="noopener"
>EIZO&lt;/a> atau &lt;a class="link" href="https://amzn.to/3xZleo1" target="_blank" rel="noopener"
>DELL&lt;/a>.&lt;/p></description></item><item><title>Tentang fontplus.jp</title><link>http://kenji.blog/id/p/fontplus.jp/</link><pubDate>Tue, 07 Feb 2023 20:59:01 +0900</pubDate><guid>http://kenji.blog/id/p/fontplus.jp/</guid><description>&lt;img src="http://kenji.blog/p/fontplus.jp/img.png" alt="Featured image of post Tentang fontplus.jp" />&lt;h1 id="layanan-fontplusjp-untuk-menggunakan-font-web-berbayar">Layanan fontplus.jp untuk menggunakan font web berbayar
&lt;/h1>&lt;p>&lt;a class="link" href="https://fontplus.jp/" target="_blank" rel="noopener"
>https://fontplus.jp/&lt;/a>&lt;/p>
&lt;p>Dengan 1.100 yen per bulan, Anda dapat menggunakan semua font, dan mendukung penggunaan di berbagai situs web.&lt;/p></description></item><item><title>Menggunakan Tag HTML di HUGO</title><link>http://kenji.blog/id/p/menggunakan-tag-html-di-hugo/</link><pubDate>Tue, 17 Jan 2023 19:20:32 +0900</pubDate><guid>http://kenji.blog/id/p/menggunakan-tag-html-di-hugo/</guid><description>&lt;img src="http://kenji.blog/p/hugo%E3%81%A7html%E3%82%BF%E3%82%B0%E3%82%92%E4%BD%BF%E3%81%86/img.png" alt="Featured image of post Menggunakan Tag HTML di HUGO" />&lt;p>Secara default, HUGO tidak mengizinkan penggunaan tag HTML di dalam artikel, tetapi Anda dapat mengaktifkannya dengan menambahkan kode berikut pada file config.toml.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-toml" data-lang="toml">&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="nx">markup&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">goldmark&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">renderer&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">unsafe&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="kc">true&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Referensi: &lt;a class="link" href="https://gohugo.io/getting-started/configuration-markup" target="_blank" rel="noopener"
>Configure Markup&lt;/a>&lt;/p></description></item><item><title>Mencari Sponsor GitHub</title><link>http://kenji.blog/id/p/mencari-sponsor-github/</link><pubDate>Tue, 17 Jan 2023 18:13:56 +0900</pubDate><guid>http://kenji.blog/id/p/mencari-sponsor-github/</guid><description>&lt;img src="http://kenji.blog/p/github%E3%82%B9%E3%83%9D%E3%83%B3%E3%82%B5%E3%83%BC%E5%8B%9F%E9%9B%86/img.png" alt="Featured image of post Mencari Sponsor GitHub" />&lt;h1 id="mencari-sponsor-github">Mencari Sponsor GitHub
&lt;/h1>&lt;p>Saya akan sangat senang jika Anda bisa menjadi sponsor GitHub saya melalui tombol di bawah ini.&lt;/p>
&lt;iframe src="https://github.com/sponsors/kenjinote/button" title="Sponsor kenjinote" height="35" width="116" style="border: 0;">&lt;/iframe>
&lt;p>Dana ini akan digunakan untuk pengembangan alat dan keperluan lainnya.&lt;/p>
&lt;p>Saya akan berusaha keras hingga dapat memiliki Sertifikat Penandatanganan Kode!&lt;/p></description></item><item><title>Tentang Tombol</title><link>http://kenji.blog/id/p/%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%A4%E3%81%84%E3%81%A6/</link><pubDate>Sat, 14 Jan 2023 20:24:00 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%A4%E3%81%84%E3%81%A6/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%A4%E3%81%84%E3%81%A6/img.png" alt="Featured image of post Tentang Tombol" />&lt;h1 id="apa-itu-tombol">Apa itu tombol
&lt;/h1>&lt;p>Tombol adalah salah satu kontrol GUI yang dapat diimplementasikan dengan API standar Windows.
Ketika area di layar diklik (tombol kiri mouse ditekan, tombol kiri mouse dilepas),
operasi yang ditentukan dalam program dapat dieksekusi.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">// Membuat tombol
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">CreateWindow(
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> TEXT(&amp;#34;BUTTON&amp;#34;),
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> TEXT(&amp;#34;Close&amp;#34;),
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> WS_CHILD|WS_VISIBLE,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> 10,10,128,30,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> hWnd,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> (HMENU)ID_BUTTON1,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ((LPCREATESTRUCT)lParam)-&amp;gt;hInstance,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> 0);
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ...
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> // Pesan WM_COMMAND dikirim dari OS ke jendela saat diklik.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> case WM_COMMAND:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> switch(LOWORD(wParam))
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> case ID_BUTTON1:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> SendMessage(hWnd,WM_CLOSE,0,0);
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> break;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> }
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> break;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Contoh kode dapat ditemukan di bawah ini.
&lt;a class="link" href="https://github.com/kenjinote/button" target="_blank" rel="noopener"
>button&lt;/a>&lt;/p></description></item><item><title>Saya Membeli ThinkPad (Bekas)</title><link>http://kenji.blog/id/p/saya-membeli-thinkpad-bekas/</link><pubDate>Fri, 13 Jan 2023 19:07:00 +0900</pubDate><guid>http://kenji.blog/id/p/saya-membeli-thinkpad-bekas/</guid><description>&lt;img src="http://kenji.blog/p/thinkpad%E4%B8%AD%E5%8F%A4%E3%82%92%E8%B2%B7%E3%81%A3%E3%81%9F/img.png" alt="Featured image of post Saya Membeli ThinkPad (Bekas)" />&lt;h1 id="saya-membeli-laptop-thinkpad-bekas">Saya Membeli Laptop ThinkPad (Bekas)
&lt;/h1>&lt;p>Karena pekerjaan saya di laptop sebagian besar dilakukan melalui koneksi desktop jarak jauh ke perangkat lain, saya tidak memerlukan PC berspesifikasi tinggi. ChromeBook sebenarnya bisa saja, tetapi karena tidak ada desain yang bagus atau resolusi tinggi, saya membeli ThinkPad.&lt;/p>
&lt;p>Spesifikasinya seperti di bawah ini, dan harganya sekitar 55.000 yen menggunakan berbagai poin.&lt;/p>
&lt;h2 id="thinkpad-t470s">ThinkPad T470s
&lt;/h2>&lt;ul>
&lt;li>CPU: Intel Core i7 7600U&lt;/li>
&lt;li>RAM: 24GB&lt;/li>
&lt;li>SSD: 512GB&lt;/li>
&lt;li>OS: Windows 10 Pro 64bit&lt;/li>
&lt;li>Layar: 14,0 inci lebar (panel non-glare)&lt;/li>
&lt;li>Resolusi: LCD WQHD 2560×1440&lt;/li>
&lt;li>Berat: sekitar 1,32kg&lt;/li>
&lt;li>Catatan: Keyboard bahasa Inggris&lt;/li>
&lt;/ul>
&lt;p>Karena bekas, saya pikir mungkin ada tanda-tanda penggunaan atau goresan, tetapi ternyata sama sekali tidak ada masalah dan bagus.
Baterai juga berfungsi tanpa masalah sejauh ini.&lt;/p>
&lt;h2 id="keluhan-yang-bisa-saya-pikirkan-saat-ini">Keluhan yang bisa saya pikirkan saat ini
&lt;/h2>&lt;ul>
&lt;li>Tidak ada tombol &lt;code>Pause&lt;/code> dan tombol &lt;code>App&lt;/code>. Saya menggunakan tombol &lt;code>Pause&lt;/code> sebagai pintasan untuk membuka pengaturan sistem. Selain itu, saya menggunakan tombol &lt;code>App&lt;/code> untuk membuka menu pop-up, jadi tidak nyaman tanpa tombol tersebut.&lt;/li>
&lt;li>Tombol &lt;code>PageUp&lt;/code> dan &lt;code>PageDown&lt;/code> berada tepat di sebelah tombol panah pada keyboard, jadi saya sering salah menekannya. Mungkin ini hanya masalah kebiasaan.&lt;/li>
&lt;/ul>
&lt;h2 id="pc-lain-yang-saya-pertimbangkan-tetapi-tidak-dibeli">PC lain yang saya pertimbangkan tetapi tidak dibeli
&lt;/h2>&lt;ul>
&lt;li>ASUS Chromebook Flip C436FA (C436FA-ENG)&lt;/li>
&lt;li>HP Laptop HP15s-fq&lt;/li>
&lt;/ul>
&lt;p>Bahan referensi: &lt;a class="link" href="https://www.lenovojp.com/business/product/note/pdf/thinkpad_t470s.pdf" target="_blank" rel="noopener"
>ThinkPad T470s&lt;/a>&lt;/p></description></item><item><title>Koneksi Jarak Jauh yang Mudah dengan TeamViewer</title><link>http://kenji.blog/id/p/koneksi-jarak-jauh-mudah-teamviewer/</link><pubDate>Fri, 13 Jan 2023 01:45:00 +0900</pubDate><guid>http://kenji.blog/id/p/koneksi-jarak-jauh-mudah-teamviewer/</guid><description>&lt;img src="http://kenji.blog/p/teamviewer%E3%81%A7%E7%B0%A1%E5%8D%98%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E6%8E%A5%E7%B6%9A/img.png" alt="Featured image of post Koneksi Jarak Jauh yang Mudah dengan TeamViewer" />&lt;h1 id="koneksi-jarak-jauh-yang-mudah-dengan-teamviewer">Koneksi Jarak Jauh yang Mudah dengan TeamViewer
&lt;/h1>&lt;p>Menggunakan TeamViewer, koneksi desktop jarak jauh dapat dilakukan dengan mudah.&lt;/p>
&lt;p>Mulai TeamViewer di komputer tujuan jarak jauh dan komputer asal,
lalu masukkan ID dan kata sandi komputer tujuan jarak jauh di komputer asal untuk melakukan koneksi.&lt;/p>
&lt;p>Untuk melakukan koneksi jarak jauh menggunakan baris perintah, lakukan sebagai berikut:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">%ProgramFiles%\TeamViewer\TeamViewer.exe -i &amp;lt;ID&amp;gt; -P &amp;lt;Password&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Masukkan ID tujuan jarak jauh ke dalam &lt;code>&amp;lt;ID&amp;gt;&lt;/code>, dan kata sandi tujuan jarak jauh ke dalam &lt;code>&amp;lt;Password&amp;gt;&lt;/code>.&lt;/p>
&lt;p>Sangat praktis jika Anda membuat file pintasan dengan perintah di atas, karena Anda dapat melewati proses memasukkan ID/PW setiap saat.&lt;/p>
&lt;p>Situs referensi: &lt;a class="link" href="https://community.teamviewer.com/English/kb/articles/34447-command-line-parameters" target="_blank" rel="noopener"
>Command line parameters&lt;/a>&lt;/p></description></item><item><title>Kumpulan Kutipan</title><link>http://kenji.blog/id/p/kumpulan-kutipan/</link><pubDate>Sat, 15 Oct 2022 17:00:43 +0900</pubDate><guid>http://kenji.blog/id/p/kumpulan-kutipan/</guid><description>&lt;img src="http://kenji.blog/p/%E5%90%8D%E8%A8%80%E9%9B%86/img.png" alt="Featured image of post Kumpulan Kutipan" />&lt;blockquote>
&lt;p>Orang bodoh belajar dari pengalaman, orang bijak belajar dari sejarah (Otto von Bismarck)&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Jangan beri seseorang ikan, tetapi ajari dia cara memancing (Lao Tzu)&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Tetaplah merasa lapar, tetaplah merasa bodoh (Steve Jobs)&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Selesai lebih baik daripada sempurna (Mark Zuckerberg)&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Jaga agar tetap sederhana (James Gosling)&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Saya tidak punya waktu untuk khawatir tentang siapa yang tidak menyukai saya. Saya terlalu sibuk mencintai orang-orang yang mencintai saya. (Snoopy)&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Kebahagiaan terbesar bagi manusia adalah &amp;ldquo;menemukan pekerjaan yang dapat memaksimalkan potensinya&amp;rdquo; (Karl Marx)&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Jika sedikit pengetahuan itu berbahaya, di manakah orang yang memiliki pengetahuan begitu banyak sehingga terhindar dari bahaya? (Thomas Huxley 1877)&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>&amp;ldquo;Sebaliknya,&amp;rdquo; lanjut Tweedledee, &amp;ldquo;jika memang begitu, mungkin saja begitu; dan jika memang begitu, maka jadilah begitu; tapi karena tidak begitu, maka tidak begitu. Itulah logika.&amp;rdquo; (Lewis Carroll, &amp;ldquo;Through the Looking-Glass&amp;rdquo; 1872)&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Tidak berlebihan untuk menyebut Claude Shannon sebagai bapak era informasi, dan pencapaian akademisnya adalah salah satu yang terbesar di abad ke-20. (Ulasan oleh American Mathematical Society)&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Mereka yang menyadari keadaan teori simbolik aljabar saat ini, tahu bahwa validitas proses analisis tidak bergantung pada interpretasi simbol yang digunakan, melainkan semata-mata pada hukum kombinasinya. (George Boole, di awal bukunya &amp;ldquo;The Mathematical Analysis of Logic&amp;rdquo; 1847)&lt;/p>
&lt;/blockquote>
&lt;p>&lt;img src="http://kenji.blog/p/%E5%90%8D%E8%A8%80%E9%9B%86/img_1.png"
width="621"
height="799"
srcset="http://kenji.blog/p/%E5%90%8D%E8%A8%80%E9%9B%86/img_1_hu404afed9786080ce0c01fe76d3eb48b9_374719_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%90%8D%E8%A8%80%E9%9B%86/img_1_hu404afed9786080ce0c01fe76d3eb48b9_374719_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="77"
data-flex-basis="186px"
>&lt;/p></description></item><item><title>Editor Grafik</title><link>http://kenji.blog/id/p/%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF/</link><pubDate>Thu, 13 Oct 2022 23:31:11 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF/img.png" alt="Featured image of post Editor Grafik" />&lt;h1 id="editor-grafik">Editor Grafik
&lt;/h1>&lt;p>Ini adalah pengenalan ke halaman web yang memungkinkan Anda membuat grafik sederhana.&lt;/p>
&lt;p>&lt;a class="link" href="https://csacademy.com/app/graph_editor/" target="_blank" rel="noopener"
>https://csacademy.com/app/graph_editor/&lt;/a>&lt;/p>
&lt;p>Anda dapat membuat grafik dengan memasukkan nilai numerik.
Selain itu, sepertinya Anda juga dapat memindahkan elemen menggunakan mouse.&lt;/p>
&lt;p>Dengan mengklik &lt;code>Directed&lt;/code>, Anda juga dapat membuat grafik berarah.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF/img_1.png"
width="300"
height="300"
srcset="http://kenji.blog/p/%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF/img_1_hu8da2a7e6049b3e95e8ba3eb3a30bc8ba_14422_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF/img_1_hu8da2a7e6049b3e95e8ba3eb3a30bc8ba_14422_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;p>Anda dapat menyimpan grafik yang telah Anda buat atau grafik yang dibuat melalui &lt;code>Download as PNG&lt;/code> sebagai gambar.&lt;/p></description></item><item><title>Menyelesaikan Masalah Pedagang Keliling dengan Mathematica</title><link>http://kenji.blog/id/p/menyelesaikan-masalah-pedagang-keliling-dengan-mathematica/</link><pubDate>Wed, 12 Oct 2022 19:05:58 +0900</pubDate><guid>http://kenji.blog/id/p/menyelesaikan-masalah-pedagang-keliling-dengan-mathematica/</guid><description>&lt;img src="http://kenji.blog/p/mathematica%E3%81%A7%E5%B7%A1%E5%9B%9E%E3%82%BB%E3%83%BC%E3%83%AB%E3%82%B9%E3%83%9E%E3%83%B3%E5%95%8F%E9%A1%8C%E3%82%92%E8%A7%A3%E3%81%8F/img.png" alt="Featured image of post Menyelesaikan Masalah Pedagang Keliling dengan Mathematica" />&lt;h1 id="menyelesaikan-masalah-pedagang-keliling-dengan-mathematica">Menyelesaikan Masalah Pedagang Keliling dengan Mathematica
&lt;/h1>&lt;h2 id="masalah">Masalah
&lt;/h2>&lt;blockquote class="twitter-tweet">&lt;p lang="ja" dir="ltr">電車でこんな広告を見かけました😁📸 &lt;a href="https://t.co/iXEgvtXrpL">pic.twitter.com/iXEgvtXrpL&lt;/a>&lt;/p>&amp;mdash; 早稲田大学 早水桃子研究室 (@hayamizu_lab) &lt;a href="https://x.com/hayamizu_lab/status/1579806418982825984?ref_src=twsrc%5Etfw">October 11, 2022&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.x.com/widgets.js" charset="utf-8">&lt;/script>
&lt;h2 id="solusi">Solusi
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">d=SparseArray[{{1,2}-&amp;gt;10,{2,1}-&amp;gt;10,{1,5}-&amp;gt;15,{5,1}-&amp;gt;15,{1,4}-&amp;gt;12,{4,1}-&amp;gt;12,{1,3}-&amp;gt;20,{3,1}-&amp;gt;20,{2,5}-&amp;gt;10,{5,2}-&amp;gt;10,{3,4}-&amp;gt;10,{4,3}-&amp;gt;10,{3,8}-&amp;gt;30,{8,3}-&amp;gt;30,{3,7}-&amp;gt;20,{7,3}-&amp;gt;20,{3,6}-&amp;gt;25,{6,3}-&amp;gt;25,{4,5}-&amp;gt;15,{5,4}-&amp;gt;15,{4,8}-&amp;gt;20,{8,4}-&amp;gt;20,{5,9}-&amp;gt;18,{9,5}-&amp;gt;18,{5,8}-&amp;gt;15,{8,5}-&amp;gt;15,{6,7}-&amp;gt;5,{7,6}-&amp;gt;5,{7,8}-&amp;gt;35,{8,7}-&amp;gt;35,{8,9}-&amp;gt;12,{9,8}-&amp;gt;12},{9,9},Infinity];
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Buat matriks menggunakan fungsi SparseArray. Setiap elemen mewakili jarak antara kota-kota di baris dan kolom elemen tersebut. Misalnya, elemen pertama &lt;code>{1,2}-&amp;gt;10&lt;/code> berarti jarak antara 1 dan 2 adalah 10. Elemen kedua dari belakang &lt;code>{9,9}&lt;/code> menunjukkan ukuran matriks, dan elemen terakhir &lt;code>Infinity&lt;/code> berarti panjang jalur antar kota yang tidak ditentukan adalah tak terhingga. Dengan kata lain, itu berarti tidak ada jalan.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{len,tour}=FindShortestTour[{1,2,3,4,5,6,7,8,9},DistanceFunction-&amp;gt;(d[[#1,#2]]&amp;amp;)]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Anda dapat dengan mudah menyelesaikan masalah pedagang keliling dengan fungsi FindShortestTour. &lt;code>{1,2,3,4,5,6,7,8,9}&lt;/code> mewakili nomor kota. &lt;code>DistanceFunction-&amp;gt;(d[[#1,#2]]&amp;amp;)&lt;/code> meneruskan matriks d yang mewakili jarak antar kota.&lt;/p>
&lt;h2 id="keluaran">Keluaran
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">{137, {1, 2, 5, 9, 8, 7, 6, 3, 4}}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Keluarannya adalah jarak terpendek dan rute pada saat itu. Jarak terpendek adalah &lt;code>137&lt;/code>, dan rutenya adalah &lt;code>1→2→5→9→8→7→6→3→4→1&lt;/code>. Jika urutannya diubah menjadi ABC, maka akan menjadi &lt;code>A, B, E, I, H, G, F, C, D&lt;/code>.&lt;/p></description></item><item><title>Mencentang Semua Kotak Centang di Halaman Web</title><link>http://kenji.blog/id/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E5%86%85%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E5%85%A8%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B/</link><pubDate>Wed, 05 Oct 2022 20:07:06 +0900</pubDate><guid>http://kenji.blog/id/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E5%86%85%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E5%85%A8%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B/</guid><description>&lt;img src="http://kenji.blog/p/web%E3%83%9A%E3%83%BC%E3%82%B8%E5%86%85%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E5%85%A8%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B/img.png" alt="Featured image of post Mencentang Semua Kotak Centang di Halaman Web" />&lt;p>Untuk mencentang semua kotak centang di halaman web, buka DevTools dengan F12, tempelkan kode berikut ke dalam konsol, dan jalankan.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-js" data-lang="js">&lt;span class="line">&lt;span class="cl">&lt;span class="kd">let&lt;/span> &lt;span class="nx">boxes&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">querySelectorAll&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;input[type=&amp;#34;checkbox&amp;#34;]&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kd">let&lt;/span> &lt;span class="nx">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="nx">i&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="nx">boxes&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">length&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="nx">i&lt;/span>&lt;span class="o">++&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="o">!&lt;/span>&lt;span class="nx">boxes&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">i&lt;/span>&lt;span class="p">].&lt;/span>&lt;span class="nx">disabled&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">boxes&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">i&lt;/span>&lt;span class="p">].&lt;/span>&lt;span class="nx">checked&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kc">true&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Atau,&lt;/p>
&lt;p>Buat bookmark baru, dan tempelkan kode berikut ke alamat saat mendaftar (biasanya di bagian Anda memasukkan https://&amp;hellip;).
Buka halaman web di mana Anda ingin mencentang kotak, klik bookmark yang telah dibuat, dan semua kotak centang akan dicentang.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">javascript:(function(){let boxes=document.querySelectorAll(&amp;#39;input[type=&amp;#34;checkbox&amp;#34;]&amp;#39;);for(let i=0;i&amp;lt;boxes.length;i++){if(!boxes[i].disabled){boxes[i].checked=true;}}})();
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Jika Anda ingin menghapus semua centang, ubah bagian &lt;code>boxes[i].checked = true;&lt;/code> pada skrip di atas menjadi &lt;code>boxes[i].checked = false;&lt;/code>.&lt;/p></description></item><item><title>Rumus Matematika Favorit Saya</title><link>http://kenji.blog/id/p/rumus-matematika-favorit-saya/</link><pubDate>Wed, 05 Oct 2022 13:24:50 +0900</pubDate><guid>http://kenji.blog/id/p/rumus-matematika-favorit-saya/</guid><description>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E6%95%B0%E5%BC%8F/img.png" alt="Featured image of post Rumus Matematika Favorit Saya" />&lt;h2 id="teorema-wilson">Teorema Wilson
&lt;/h2>&lt;p>Jika $p$ adalah bilangan prima, maka berlaku $(p−1)!≡−1 \pmod p$&lt;/p>
&lt;h2 id="rumus-euler">Rumus Euler
&lt;/h2>&lt;p>$e^{iπ}+1=0$&lt;/p>
&lt;h2 id="teorema-terakhir-fermat">Teorema Terakhir Fermat
&lt;/h2>&lt;p>Untuk bilangan bulat $n≥3$, tidak ada bilangan bulat positif $x,y,z$ yang memenuhi $x^n+y^n=z^n$&lt;/p>
&lt;h2 id="masalah-basel">Masalah Basel
&lt;/h2>&lt;p>$1/1^2+1/2^2+1/3^2+1/4^2+...=π^2/6$&lt;/p>
&lt;h2 id="polinomial-penghasil-bilangan-prima-euler">Polinomial penghasil bilangan prima Euler
&lt;/h2>&lt;p>$n^2+n+41$ menghasilkan bilangan prima untuk semua bilangan bulat $n$ dari $0$ hingga $39$&lt;/p></description></item><item><title>Menginstal Aplikasi dengan Perintah menggunakan WinGet</title><link>http://kenji.blog/id/p/winget-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B/</link><pubDate>Wed, 05 Oct 2022 12:15:20 +0900</pubDate><guid>http://kenji.blog/id/p/winget-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B/</guid><description>&lt;img src="http://kenji.blog/p/winget-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B/img.png" alt="Featured image of post Menginstal Aplikasi dengan Perintah menggunakan WinGet" />&lt;h2 id="prasyarat">Prasyarat
&lt;/h2>&lt;p>Harus Windows 11&lt;/p>
&lt;h2 id="langkah-langkah">Langkah-langkah
&lt;/h2>&lt;ol>
&lt;li>Instal &lt;code>App Installer&lt;/code> dari Microsoft Store
&lt;a class="link" href="https://www.microsoft.com/store/productId/9NBLGGH4NNS1" target="_blank" rel="noopener"
>https://www.microsoft.com/store/productId/9NBLGGH4NNS1&lt;/a>&lt;/li>
&lt;li>Instal aplikasi menggunakan Command Prompt
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">winget&lt;/span> &lt;span class="n">install&lt;/span> &lt;span class="n">Google&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Chrome&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;/li>
&lt;/ol>
&lt;h2 id="aplikasi-utama-yang-dapat-diinstal">Aplikasi utama yang dapat diinstal
&lt;/h2>&lt;ul>
&lt;li>Google Chrome (perintah &lt;code>winget install Google.Chrome&lt;/code>)&lt;/li>
&lt;li>Microsoft Edge (perintah &lt;code>winget install Microsoft.Edge&lt;/code>)&lt;/li>
&lt;li>Microsoft Teams (perintah &lt;code>winget install Microsoft.Teams&lt;/code>)&lt;/li>
&lt;li>Microsoft Office (perintah &lt;code>winget install Microsoft.Office&lt;/code>)&lt;/li>
&lt;li>Visual Studio Code (perintah &lt;code>winget install vscode&lt;/code>)&lt;/li>
&lt;li>Slack (perintah &lt;code>winget install SlackTechnologies.Slack&lt;/code>)&lt;/li>
&lt;li>Discord (perintah &lt;code>winget install Discord.Discord&lt;/code>)&lt;/li>
&lt;li>Docker Desktop (perintah &lt;code>winget install Docker.DockerDesktop&lt;/code>)&lt;/li>
&lt;li>Git (perintah &lt;code>winget install Git&lt;/code>)&lt;/li>
&lt;li>7zip (perintah &lt;code>winget install 7zip&lt;/code>)&lt;/li>
&lt;li>VLC (perintah &lt;code>winget install VideoLAN.VLC&lt;/code>)&lt;/li>
&lt;/ul>
&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;p>&lt;a class="link" href="https://learn.microsoft.com/ja-jp/windows/package-manager/winget/" target="_blank" rel="noopener"
>Menggunakan alat winget untuk menginstal dan mengelola aplikasi&lt;/a>&lt;/p>
&lt;h3 id="catatan-tambahan">Catatan tambahan
&lt;/h3>&lt;p>Saya pikir saya bisa menginstal Paint.Net juga, tetapi ternyata tidak bisa.&lt;/p>
&lt;p>&lt;a class="link" href="https://forums.getpaint.net/topic/118574-please-add-paintnet-to-the-available-packages-for-windows-package-manager-winget/" target="_blank" rel="noopener"
>https://forums.getpaint.net/topic/118574-please-add-paintnet-to-the-available-packages-for-windows-package-manager-winget/&lt;/a>&lt;/p></description></item><item><title>Fitur Rust</title><link>http://kenji.blog/id/p/rust%E3%81%AE%E7%89%B9%E5%BE%B4/</link><pubDate>Mon, 03 Oct 2022 22:47:20 +0900</pubDate><guid>http://kenji.blog/id/p/rust%E3%81%AE%E7%89%B9%E5%BE%B4/</guid><description>&lt;img src="http://kenji.blog/p/rust%E3%81%AE%E7%89%B9%E5%BE%B4/img.png" alt="Featured image of post Fitur Rust" />&lt;h1 id="fitur-rust">Fitur Rust
&lt;/h1>&lt;ul>
&lt;li>Bahasa pemrograman open source yang relatif baru yang dikembangkan oleh Mozilla&lt;/li>
&lt;li>Bahasa yang cepat tanpa garbage collection, dikhususkan untuk pemrograman sistem&lt;/li>
&lt;li>Memiliki mekanisme kepemilikan dan peminjaman yang unik sebagai spesifikasi bahasa, dan menjamin keamanan memori&lt;/li>
&lt;li>Beroperasi secara lintas platform&lt;/li>
&lt;li>Memiliki manajer paket yang sangat baik yang disebut Cargo sebagai standar&lt;/li>
&lt;/ul></description></item><item><title>Mengatur variabel secara dinamis di Github Actions</title><link>http://kenji.blog/id/p/mengatur-variabel-secara-dinamis-di-github-actions/</link><pubDate>Sun, 02 Oct 2022 02:33:35 +0900</pubDate><guid>http://kenji.blog/id/p/mengatur-variabel-secara-dinamis-di-github-actions/</guid><description>&lt;img src="http://kenji.blog/p/github-actions%E3%81%A7%E5%8B%95%E7%9A%84%E3%81%AB%E5%A4%89%E6%95%B0%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B/img_1.png" alt="Featured image of post Mengatur variabel secara dinamis di Github Actions" />&lt;p>Untuk mengatur variabel secara dinamis di Github Actions, Anda dapat mencapainya dengan menulis tambahan ke $env:GITHUB_ENV seperti di bawah ini.&lt;/p>
&lt;p>【Untuk Windows】&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;span class="lnt">42
&lt;/span>&lt;span class="lnt">43
&lt;/span>&lt;span class="lnt">44
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-mysql" data-lang="mysql">&lt;span class="line">&lt;span class="cl">&lt;span class="n">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">Rust&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">on&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">push&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">branches&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;master&amp;#34;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">pull_request&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">branches&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;master&amp;#34;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="n">env&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">CARGO_TERM_COLOR&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">always&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="n">jobs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">build&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">runs&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="k">on&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">ubuntu&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">latest&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">steps&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">uses&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">actions&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">checkout&lt;/span>&lt;span class="o">@&lt;/span>&lt;span class="n">v3&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">Get&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">Environment&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">run&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">echo&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;VERSION=1.0.0&amp;#39;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">&amp;gt;&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">$&lt;/span>&lt;span class="n">GITHUB_ENV&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">echo&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;NAME=1.0.0&amp;#39;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">&amp;gt;&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">$&lt;/span>&lt;span class="n">GITHUB_ENV&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">Display&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">Environment&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">run&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">echo&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">$&lt;/span>&lt;span class="n">env&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">VERSION&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">echo&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">$&lt;/span>&lt;span class="n">env&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">NAME&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">Create&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">Release&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">id&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">create_release&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">uses&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">actions&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">create&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="k">release&lt;/span>&lt;span class="o">@&lt;/span>&lt;span class="n">v1&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">env&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">GITHUB_TOKEN&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">${{&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">secrets&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">GITHUB_TOKEN&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">}}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">with&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">tag_name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">${{&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">env&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">VERSION&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">}}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">release_name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">${{&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">env&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">VERSION&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">}}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">draft&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">false&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">prerelease&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">false&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">Upload&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">Release&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">Asset&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">id&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">upload&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="k">release&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">asset&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">uses&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">actions&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">upload&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="k">release&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">asset&lt;/span>&lt;span class="o">@&lt;/span>&lt;span class="n">v1&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">env&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">GITHUB_TOKEN&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">${{&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">secrets&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">GITHUB_TOKEN&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">}}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">with&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">upload_url&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">${{&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">steps&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">create_release&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">outputs&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">upload_url&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">}}&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c1"># This pulls from the CREATE RELEASE step above, referencing it&amp;#39;s ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">asset_path&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">target&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="k">release&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="err">${{&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">env&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">NAME&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">}}&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">exe&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">asset_name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">${{&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">env&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">NAME&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">}}&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">exe&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">asset_content_type&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">application&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">octet&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">stream&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>【Untuk Linux】&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">name: Rust
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">on:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> push:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> branches: [ &amp;#34;main&amp;#34; ]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> pull_request:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> branches: [ &amp;#34;main&amp;#34; ]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">env:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> CARGO_TERM_COLOR: always
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">jobs:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> build:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> runs-on: ubuntu-latest
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> steps:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> - uses: actions/checkout@v3
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> - name: Get Environment
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> run: |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> echo &amp;#39;VERSION=1.0.0&amp;#39; &amp;gt;&amp;gt; $GITHUB_ENV
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> echo &amp;#39;NAME=hello&amp;#39; &amp;gt;&amp;gt; $GITHUB_ENV
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> - name: Display Environment
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> run: |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> echo ${{ env.VERSION }}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> echo ${{ env.NAME }}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>Menghapus tag di git</title><link>http://kenji.blog/id/p/git%E3%81%A7%E3%82%BF%E3%82%B0%E3%82%92%E6%B6%88%E3%81%99/</link><pubDate>Sun, 02 Oct 2022 02:18:04 +0900</pubDate><guid>http://kenji.blog/id/p/git%E3%81%A7%E3%82%BF%E3%82%B0%E3%82%92%E6%B6%88%E3%81%99/</guid><description>&lt;img src="http://kenji.blog/p/git%E3%81%A7%E3%82%BF%E3%82%B0%E3%82%92%E6%B6%88%E3%81%99/img.png" alt="Featured image of post Menghapus tag di git" />&lt;h1 id="menghapus-tag-lokal">Menghapus tag lokal
&lt;/h1>&lt;ol>
&lt;li>Periksa tag yang ada di lokal dengan &lt;code>git tag&lt;/code>.&lt;/li>
&lt;li>Hapus tag dengan &lt;code>git tag -d v0.1.0&lt;/code>. (Ganti &lt;code>v0.1.0&lt;/code> dengan tag yang ingin Anda hapus)&lt;/li>
&lt;/ol>
&lt;h1 id="menghapus-tag-jarak-jauh-remote">Menghapus tag jarak jauh (remote)
&lt;/h1>&lt;ol>
&lt;li>Periksa tag yang ada di jarak jauh dengan &lt;code>git ls-remote --tags&lt;/code>.&lt;/li>
&lt;li>Hapus tag yang ada di jarak jauh dengan &lt;code>git push origin --delete v0.1.0&lt;/code>. (Ganti &lt;code>v0.1.0&lt;/code> dengan tag yang ingin Anda hapus)&lt;/li>
&lt;/ol>
&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;p>&lt;a class="link" href="https://qumeru.com/magazine/528" target="_blank" rel="noopener"
>Cara menghapus tag git secara lokal dan jarak jauh!&lt;/a>&lt;/p></description></item><item><title>Menampilkan jendela sederhana di Rust</title><link>http://kenji.blog/id/p/menampilkan-jendela-sederhana-di-rust/</link><pubDate>Sat, 01 Oct 2022 19:08:58 +0900</pubDate><guid>http://kenji.blog/id/p/menampilkan-jendela-sederhana-di-rust/</guid><description>&lt;img src="http://kenji.blog/p/rust%E3%81%A7%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B/images/rust_logo.png" alt="Featured image of post Menampilkan jendela sederhana di Rust" />&lt;p>Menampilkan jendela sederhana di Rust&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-Cargo.toml" data-lang="Cargo.toml">&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="nx">package&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">name&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s2">&amp;#34;win&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">version&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s2">&amp;#34;0.1.0&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">edition&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s2">&amp;#34;2021&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c"># See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="nx">dependencies&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">winapi&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">version&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s2">&amp;#34;0.3&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">features&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;winuser&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Kode sumbernya ada di bawah&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;span class="lnt">42
&lt;/span>&lt;span class="lnt">43
&lt;/span>&lt;span class="lnt">44
&lt;/span>&lt;span class="lnt">45
&lt;/span>&lt;span class="lnt">46
&lt;/span>&lt;span class="lnt">47
&lt;/span>&lt;span class="lnt">48
&lt;/span>&lt;span class="lnt">49
&lt;/span>&lt;span class="lnt">50
&lt;/span>&lt;span class="lnt">51
&lt;/span>&lt;span class="lnt">52
&lt;/span>&lt;span class="lnt">53
&lt;/span>&lt;span class="lnt">54
&lt;/span>&lt;span class="lnt">55
&lt;/span>&lt;span class="lnt">56
&lt;/span>&lt;span class="lnt">57
&lt;/span>&lt;span class="lnt">58
&lt;/span>&lt;span class="lnt">59
&lt;/span>&lt;span class="lnt">60
&lt;/span>&lt;span class="lnt">61
&lt;/span>&lt;span class="lnt">62
&lt;/span>&lt;span class="lnt">63
&lt;/span>&lt;span class="lnt">64
&lt;/span>&lt;span class="lnt">65
&lt;/span>&lt;span class="lnt">66
&lt;/span>&lt;span class="lnt">67
&lt;/span>&lt;span class="lnt">68
&lt;/span>&lt;span class="lnt">69
&lt;/span>&lt;span class="lnt">70
&lt;/span>&lt;span class="lnt">71
&lt;/span>&lt;span class="lnt">72
&lt;/span>&lt;span class="lnt">73
&lt;/span>&lt;span class="lnt">74
&lt;/span>&lt;span class="lnt">75
&lt;/span>&lt;span class="lnt">76
&lt;/span>&lt;span class="lnt">77
&lt;/span>&lt;span class="lnt">78
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-main.rs" data-lang="main.rs">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#![windows_subsystem = &lt;/span>&lt;span class="s">&amp;#34;windows&amp;#34;&lt;/span>&lt;span class="cp">]&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">use&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">winapi&lt;/span>::&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">um&lt;/span>::&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">winuser&lt;/span>::&lt;span class="p">{&lt;/span>&lt;span class="n">RegisterClassW&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">WNDCLASSW&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">CS_HREDRAW&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">CS_VREDRAW&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">LoadIconW&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">IDI_APPLICATION&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">LoadCursorW&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">IDC_ARROW&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">CreateWindowExW&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">ShowWindow&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">SW_NORMAL&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">UpdateWindow&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">GetMessageW&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">TranslateMessage&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">DispatchMessageW&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">MSG&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="no">WM_DESTROY&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">PostQuitMessage&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">DefWindowProcW&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">WS_OVERLAPPEDWINDOW&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="no">CW_USEDEFAULT&lt;/span>&lt;span class="p">},&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">wingdi&lt;/span>::&lt;span class="p">{&lt;/span>&lt;span class="n">GetStockObject&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">WHITE_BRUSH&lt;/span>&lt;span class="p">},&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">},&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">shared&lt;/span>::&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">windef&lt;/span>::&lt;span class="p">{&lt;/span>&lt;span class="no">HWND&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">HBRUSH&lt;/span>&lt;span class="p">},&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">minwindef&lt;/span>::&lt;span class="p">{&lt;/span>&lt;span class="no">UINT&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">WPARAM&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">LPARAM&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">LRESULT&lt;/span>&lt;span class="p">},&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">},&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">};&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">use&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">std&lt;/span>::&lt;span class="n">ptr&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">use&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">std&lt;/span>::&lt;span class="n">mem&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">fn&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">unsafe&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="kd">let&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">class_name&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">encode&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;my_window_class_name&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">if&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">!&lt;/span>&lt;span class="n">register_wndclass&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">class_name&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">return&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="kd">let&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">hwnd&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">create_window&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">class_name&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">if&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">hwnd&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">is_null&lt;/span>&lt;span class="p">()&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">return&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">ShowWindow&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hwnd&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">SW_NORMAL&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">UpdateWindow&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hwnd&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="kd">let&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">mut&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">msg&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">mem&lt;/span>::&lt;span class="n">uninitialized&lt;/span>::&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="no">MSG&lt;/span>&lt;span class="o">&amp;gt;&lt;/span>&lt;span class="p">();&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">loop&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">if&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">GetMessageW&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="o">&amp;amp;&lt;/span>&lt;span class="k">mut&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">msg&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">ptr&lt;/span>::&lt;span class="n">null_mut&lt;/span>&lt;span class="p">(),&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">==&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">return&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">TranslateMessage&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="o">&amp;amp;&lt;/span>&lt;span class="k">mut&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">msg&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">DispatchMessageW&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="o">&amp;amp;&lt;/span>&lt;span class="k">mut&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">msg&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">fn&lt;/span> &lt;span class="nf">encode&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">source&lt;/span>: &lt;span class="kp">&amp;amp;&lt;/span>&lt;span class="kt">str&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w"> &lt;/span>-&amp;gt; &lt;span class="nb">Vec&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="kt">u16&lt;/span>&lt;span class="o">&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">source&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">encode_utf16&lt;/span>&lt;span class="p">().&lt;/span>&lt;span class="n">chain&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">Some&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">)).&lt;/span>&lt;span class="n">collect&lt;/span>&lt;span class="p">()&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">unsafe&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">fn&lt;/span> &lt;span class="nf">register_wndclass&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">class_name&lt;/span>: &lt;span class="kp">&amp;amp;&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="kt">u16&lt;/span>&lt;span class="p">])&lt;/span>&lt;span class="w"> &lt;/span>-&amp;gt; &lt;span class="kt">bool&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="kd">let&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">mut&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">winc&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">mem&lt;/span>::&lt;span class="n">zeroed&lt;/span>::&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="no">WNDCLASSW&lt;/span>&lt;span class="o">&amp;gt;&lt;/span>&lt;span class="p">();&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">winc&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">style&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">CS_HREDRAW&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">CS_VREDRAW&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">winc&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">lpfnWndProc&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="nb">Some&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">win_proc&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">winc&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">hIcon&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">LoadIconW&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ptr&lt;/span>::&lt;span class="n">null_mut&lt;/span>&lt;span class="p">(),&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">IDI_APPLICATION&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">winc&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">hCursor&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">LoadCursorW&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ptr&lt;/span>::&lt;span class="n">null_mut&lt;/span>&lt;span class="p">(),&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">IDC_ARROW&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">winc&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">hbrBackground&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">GetStockObject&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="no">WHITE_BRUSH&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">as&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kt">i32&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">as&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">HBRUSH&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">winc&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">lpszClassName&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">class_name&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">as_ptr&lt;/span>&lt;span class="p">();&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">RegisterClassW&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">winc&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">unsafe&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">fn&lt;/span> &lt;span class="nf">create_window&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">class_name&lt;/span>: &lt;span class="kp">&amp;amp;&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="kt">u16&lt;/span>&lt;span class="p">])&lt;/span>&lt;span class="w"> &lt;/span>-&amp;gt; &lt;span class="nc">HWND&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">CreateWindowExW&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">class_name&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">as_ptr&lt;/span>&lt;span class="p">(),&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">encode&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Hello, World!&amp;#34;&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="n">as_ptr&lt;/span>&lt;span class="p">(),&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="no">WS_OVERLAPPEDWINDOW&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="no">CW_USEDEFAULT&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">CW_USEDEFAULT&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">ptr&lt;/span>::&lt;span class="n">null_mut&lt;/span>&lt;span class="p">(),&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">ptr&lt;/span>::&lt;span class="n">null_mut&lt;/span>&lt;span class="p">(),&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">ptr&lt;/span>::&lt;span class="n">null_mut&lt;/span>&lt;span class="p">(),&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">ptr&lt;/span>::&lt;span class="n">null_mut&lt;/span>&lt;span class="p">(),&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">unsafe&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">extern&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s">&amp;#34;system&amp;#34;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">fn&lt;/span> &lt;span class="nf">win_proc&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hwnd&lt;/span>: &lt;span class="nc">HWND&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">msg&lt;/span>: &lt;span class="nc">UINT&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">w_param&lt;/span>: &lt;span class="nc">WPARAM&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">l_param&lt;/span>: &lt;span class="nc">LPARAM&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w"> &lt;/span>-&amp;gt; &lt;span class="nc">LRESULT&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">match&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">msg&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="no">WM_DESTROY&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">PostQuitMessage&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">_&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">return&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">DefWindowProcW&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hwnd&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">msg&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">w_param&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">l_param&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">};&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;p>&lt;a class="link" href="https://qiita.com/benki/items/c01f7da1e1a71cc91d11" target="_blank" rel="noopener"
>Pemrograman Windows di Rust - bagian CreateWindow&lt;/a>&lt;/p></description></item><item><title>Menulis Pengujian di Rust</title><link>http://kenji.blog/id/p/rust%E3%81%A7%E3%83%86%E3%82%B9%E3%83%88%E3%82%92%E6%9B%B8%E3%81%8F/</link><pubDate>Sat, 01 Oct 2022 02:00:59 +0900</pubDate><guid>http://kenji.blog/id/p/rust%E3%81%A7%E3%83%86%E3%82%B9%E3%83%88%E3%82%92%E6%9B%B8%E3%81%8F/</guid><description>&lt;img src="http://kenji.blog/p/rust%E3%81%A7%E3%83%86%E3%82%B9%E3%83%88%E3%82%92%E6%9B%B8%E3%81%8F/images/rust_logo.png" alt="Featured image of post Menulis Pengujian di Rust" />&lt;p>Untuk menulis pengujian di Rust, buat sebuah fungsi dan tambahkan atribut &lt;code>#[test]&lt;/code> satu baris di atas definisi fungsi pengujian tersebut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-rust" data-lang="rust">&lt;span class="line">&lt;span class="cl">&lt;span class="k">fn&lt;/span> &lt;span class="nf">plus&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>:&lt;span class="kt">i32&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">b&lt;/span>:&lt;span class="kt">i32&lt;/span>&lt;span class="p">)&lt;/span>-&amp;gt;&lt;span class="kt">i32&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="n">b&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="cp">#[test]&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">fn&lt;/span> &lt;span class="nf">plus_test&lt;/span>&lt;span class="p">()&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="fm">assert_eq!&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">plus&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Kode pengujian dapat dijalankan dengan &lt;code>cargo test&lt;/code>. Jika pengujian berhasil, &lt;code>ok&lt;/code> akan dikeluarkan.
Jika gagal, &lt;code>FAILED&lt;/code> akan dikeluarkan.&lt;/p>
&lt;p>Jika berhasil&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;span class="lnt">9
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">C:&lt;span class="se">\U&lt;/span>sers&lt;span class="se">\a&lt;/span>dmin&lt;span class="se">\D&lt;/span>esktop&lt;span class="se">\t&lt;/span>est1&amp;gt;cargo &lt;span class="nb">test&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Compiling test1 v0.1.0 &lt;span class="o">(&lt;/span>C:&lt;span class="se">\U&lt;/span>sers&lt;span class="se">\a&lt;/span>dmin&lt;span class="se">\D&lt;/span>esktop&lt;span class="se">\t&lt;/span>est1&lt;span class="o">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Finished &lt;span class="nb">test&lt;/span> &lt;span class="o">[&lt;/span>unoptimized + debuginfo&lt;span class="o">]&lt;/span> target&lt;span class="o">(&lt;/span>s&lt;span class="o">)&lt;/span> in 0.35s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Running unittests src&lt;span class="se">\m&lt;/span>ain.rs &lt;span class="o">(&lt;/span>target&lt;span class="se">\d&lt;/span>ebug&lt;span class="se">\d&lt;/span>eps&lt;span class="se">\t&lt;/span>est1-be5d3118bc52cb3a.exe&lt;span class="o">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">running &lt;span class="m">1&lt;/span> &lt;span class="nb">test&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">test&lt;/span> plus_test ... ok
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">test&lt;/span> result: ok. &lt;span class="m">1&lt;/span> passed&lt;span class="p">;&lt;/span> &lt;span class="m">0&lt;/span> failed&lt;span class="p">;&lt;/span> &lt;span class="m">0&lt;/span> ignored&lt;span class="p">;&lt;/span> &lt;span class="m">0&lt;/span> measured&lt;span class="p">;&lt;/span> &lt;span class="m">0&lt;/span> filtered out&lt;span class="p">;&lt;/span> finished in 0.00s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Jika gagal&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">C:&lt;span class="se">\U&lt;/span>sers&lt;span class="se">\a&lt;/span>dmin&lt;span class="se">\D&lt;/span>esktop&lt;span class="se">\t&lt;/span>est1&amp;gt;cargo &lt;span class="nb">test&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Compiling test1 v0.1.0 &lt;span class="o">(&lt;/span>C:&lt;span class="se">\U&lt;/span>sers&lt;span class="se">\a&lt;/span>dmin&lt;span class="se">\D&lt;/span>esktop&lt;span class="se">\t&lt;/span>est1&lt;span class="o">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Finished &lt;span class="nb">test&lt;/span> &lt;span class="o">[&lt;/span>unoptimized + debuginfo&lt;span class="o">]&lt;/span> target&lt;span class="o">(&lt;/span>s&lt;span class="o">)&lt;/span> in 0.33s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Running unittests src&lt;span class="se">\m&lt;/span>ain.rs &lt;span class="o">(&lt;/span>target&lt;span class="se">\d&lt;/span>ebug&lt;span class="se">\d&lt;/span>eps&lt;span class="se">\t&lt;/span>est1-be5d3118bc52cb3a.exe&lt;span class="o">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">running &lt;span class="m">1&lt;/span> &lt;span class="nb">test&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">test&lt;/span> plus_test ... FAILED
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">failures:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">---- plus_test stdout ----
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">thread &lt;span class="s1">&amp;#39;plus_test&amp;#39;&lt;/span> panicked at &lt;span class="s1">&amp;#39;assertion failed: `(left == right)`
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> left: `2`,
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> right: `3`&amp;#39;&lt;/span>, src&lt;span class="se">\m&lt;/span>ain.rs:7:5
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">note: run with &lt;span class="sb">`&lt;/span>&lt;span class="nv">RUST_BACKTRACE&lt;/span>&lt;span class="o">=&lt;/span>1&lt;span class="sb">`&lt;/span> environment variable to display a backtrace
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">failures:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> plus_test
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">test&lt;/span> result: FAILED. &lt;span class="m">0&lt;/span> passed&lt;span class="p">;&lt;/span> &lt;span class="m">1&lt;/span> failed&lt;span class="p">;&lt;/span> &lt;span class="m">0&lt;/span> ignored&lt;span class="p">;&lt;/span> &lt;span class="m">0&lt;/span> measured&lt;span class="p">;&lt;/span> &lt;span class="m">0&lt;/span> filtered out&lt;span class="p">;&lt;/span> finished in 0.00s
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">error: &lt;span class="nb">test&lt;/span> failed, to rerun pass &lt;span class="s1">&amp;#39;--bin test1&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>Menampilkan MessageBox di Rust</title><link>http://kenji.blog/id/p/menampilkan-messagebox-di-rust/</link><pubDate>Fri, 30 Sep 2022 23:54:31 +0900</pubDate><guid>http://kenji.blog/id/p/menampilkan-messagebox-di-rust/</guid><description>&lt;img src="http://kenji.blog/p/rust%E3%81%A7messagebox%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B/images/rust_logo.png" alt="Featured image of post Menampilkan MessageBox di Rust" />&lt;p>Anda dapat menampilkan MessageBox di Rust dengan mengikuti langkah-langkah di bawah ini.&lt;/p>
&lt;ol>
&lt;li>Instal Rust. Lihat &lt;a class="link" href="https://kenji.blog/posts/rust%E3%81%AE%E3%81%AF%E3%81%98%E3%82%81%E3%81%8B%E3%81%9F/" target="_blank" rel="noopener"
>Cara memulai Rust&lt;/a>&lt;/li>
&lt;li>Jalankan &lt;code>cargo new --bin MessageBox&lt;/code> di command prompt.&lt;/li>
&lt;li>Pindah ke direktori &lt;code>MessageBox&lt;/code>.&lt;/li>
&lt;li>Buka &lt;code>Cargo.toml&lt;/code> dan modifikasi seperti di bawah ini.&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-toml" data-lang="toml">&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="nx">package&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">name&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s2">&amp;#34;hello_world&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">version&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s2">&amp;#34;0.1.0&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">edition&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s2">&amp;#34;2021&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c"># See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="nx">dependencies&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">winapi&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s2">&amp;#34;0.2.7&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">user32-sys&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s2">&amp;#34;0.2.0&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="5">
&lt;li>Buka &lt;code>src\main.rs&lt;/code> dan modifikasi seperti di bawah ini.&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-main.rs" data-lang="main.rs">&lt;span class="line">&lt;span class="cl">&lt;span class="k">extern&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">crate&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">user32&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">extern&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">crate&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">winapi&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">use&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">std&lt;/span>::&lt;span class="n">ffi&lt;/span>::&lt;span class="n">CString&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">use&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">user32&lt;/span>::&lt;span class="n">MessageBoxA&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">use&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">winapi&lt;/span>::&lt;span class="n">winuser&lt;/span>::&lt;span class="p">{&lt;/span>&lt;span class="no">MB_OK&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">MB_ICONINFORMATION&lt;/span>&lt;span class="p">};&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">fn&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="kd">let&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">lp_text&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">CString&lt;/span>::&lt;span class="n">new&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Hello, world!&amp;#34;&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="n">unwrap&lt;/span>&lt;span class="p">();&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="kd">let&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">lp_caption&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">CString&lt;/span>::&lt;span class="n">new&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;MessageBox Example&amp;#34;&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="n">unwrap&lt;/span>&lt;span class="p">();&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">unsafe&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">MessageBoxA&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">std&lt;/span>::&lt;span class="n">ptr&lt;/span>::&lt;span class="n">null_mut&lt;/span>&lt;span class="p">(),&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">lp_text&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">as_ptr&lt;/span>&lt;span class="p">(),&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">lp_caption&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">as_ptr&lt;/span>&lt;span class="p">(),&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="no">MB_OK&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="no">MB_ICONINFORMATION&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="6">
&lt;li>
&lt;p>Jalankan &lt;code>cargo run&lt;/code> di command prompt.
&lt;img src="http://kenji.blog/p/rust%E3%81%A7messagebox%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B/img.png"
width="160"
height="152"
srcset="http://kenji.blog/p/rust%E3%81%A7messagebox%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B/img_hu634f1117052e2b61756baa5f3866eef5_4266_480x0_resize_box_3.png 480w, http://kenji.blog/p/rust%E3%81%A7messagebox%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B/img_hu634f1117052e2b61756baa5f3866eef5_4266_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="105"
data-flex-basis="252px"
>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Untuk melakukan build rilis, jalankan &lt;code>cargo build --release&lt;/code>.&lt;/p>
&lt;/li>
&lt;/ol>
&lt;h1 id="referensi">Referensi
&lt;/h1>&lt;p>&lt;a class="link" href="https://wesleywiser.github.io/post/rust-windows-messagebox-hello-world/" target="_blank" rel="noopener"
>Hello World MesssageBox example in Rust&lt;/a>&lt;/p></description></item><item><title>Apa itu Mengerti?</title><link>http://kenji.blog/id/p/apa-itu-mengerti/</link><pubDate>Sat, 24 Sep 2022 02:38:18 +0900</pubDate><guid>http://kenji.blog/id/p/apa-itu-mengerti/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%8F%E3%81%8B%E3%82%8B%E3%81%A3%E3%81%A6%E3%81%AA%E3%82%93%E3%81%A0%E3%82%8D%E3%81%86/img.png" alt="Featured image of post Apa itu Mengerti?" />&lt;h1 id="apa-itu-mengerti">Apa itu Mengerti?
&lt;/h1>&lt;p>Halo!&lt;/p>
&lt;p>Hari ini saya ingin berbicara tentang tema, &amp;ldquo;Apa itu mengerti?&amp;rdquo;&lt;/p>
&lt;hr>
&lt;h2 id="apakah-mengerti-sebenarnya-ambigu">Apakah &amp;ldquo;mengerti&amp;rdquo; sebenarnya ambigu?
&lt;/h2>&lt;p>Dalam kehidupan sehari-hari, ada saat-saat ketika Anda merasa, &amp;ldquo;Saya mengerti!&amp;rdquo; Tapi jika Anda memikirkannya baik-baik, apakah &amp;ldquo;mengerti&amp;rdquo; itu benar-benar pemahaman yang sempurna?&lt;/p>
&lt;p>Misalnya, mengemudikan mobil. Jika Anda menginjak pedal gas, mobil maju, dan jika Anda menginjak rem, mobil berhenti. Ini mungkin bisa dikatakan &amp;ldquo;mengerti&amp;rdquo;. Namun, saya rasa sedikit orang yang bisa menjelaskan secara rinci apa yang terjadi di dalam mesin.&lt;/p>
&lt;hr>
&lt;h2 id="apakah-pemahaman-yang-sempurna-diperlukan">Apakah pemahaman yang sempurna diperlukan?
&lt;/h2>&lt;p>Sebenarnya, meskipun kita tidak mengerti segalanya dengan sempurna, seringkali tidak ada hambatan dalam kehidupan sehari-hari. Bahkan jika Anda tidak mengetahui struktur internal sebuah smartphone, Anda masih bisa menelepon atau mengirim pesan.&lt;/p>
&lt;p>Meskipun begitu, bukan berarti kita boleh meremehkan apa yang dimaksud dengan &amp;ldquo;mengerti&amp;rdquo;. Jika pemahaman kita semakin dalam, penemuan dan kesadaran baru juga bisa muncul.&lt;/p>
&lt;hr>
&lt;h2 id="ada-banyak-hal-yang-juga-tidak-dimengerti">Ada banyak hal yang juga tidak dimengerti
&lt;/h2>&lt;p>Ada banyak hal di dunia ini yang belum terpecahkan. Misalnya, mekanisme emosi dan kesadaran manusia, atau asal usul alam semesta. Bidang-bidang ini masih belum sepenuhnya &amp;ldquo;dimengerti&amp;rdquo; bahkan dengan kemajuan sains.&lt;/p>
&lt;p>Dalam dunia matematika juga, ada masalah yang masih belum terpecahkan, seperti &amp;ldquo;Konjektur Goldbach&amp;rdquo;, meskipun itu adalah masalah yang sederhana.&lt;/p>
&lt;hr>
&lt;h2 id="nilai-dari-mengerti">Nilai dari &amp;ldquo;mengerti&amp;rdquo;
&lt;/h2>&lt;p>Saat hal yang kita &amp;ldquo;mengerti&amp;rdquo; bertambah, kita bisa menjelaskan dengan percaya diri dan berkomunikasi dengan orang lain secara efektif. Selain itu, dengan memiliki pengetahuan, kita juga mendapat keuntungan yaitu tidak mudah tertipu oleh misinformasi.&lt;/p>
&lt;hr>
&lt;h2 id="sikap-rendah-hati-itu-penting">Sikap rendah hati itu penting
&lt;/h2>&lt;p>Menyadari bahwa diri kita &amp;ldquo;tidak mengerti&amp;rdquo; akan mengarah pada kerendahan hati. Dan justru karena adanya kesadaran itu, keinginan untuk terus belajar akan muncul.&lt;/p>
&lt;hr>
&lt;p>Oleh karena itu, meskipun &amp;ldquo;mengerti&amp;rdquo; itu penting, memahami segalanya dengan sempurna adalah hal yang sulit. Yang terpenting adalah mengetahui batas pemahaman kita dan memiliki sikap untuk terus belajar, bukan?&lt;/p></description></item><item><title>Mengapa Saya Menyukai Matematika dan Komputer</title><link>http://kenji.blog/id/p/mengapa-saya-menyukai-matematika-dan-komputer/</link><pubDate>Fri, 23 Sep 2022 01:56:52 +0900</pubDate><guid>http://kenji.blog/id/p/mengapa-saya-menyukai-matematika-dan-komputer/</guid><description>&lt;img src="http://kenji.blog/p/%E3%81%AA%E3%81%9C%E6%95%B0%E5%AD%A6%E3%82%84%E8%A8%88%E7%AE%97%E6%A9%9F%E3%81%8C%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%93%E3%81%A0%E3%82%8D%E3%81%86/img.png" alt="Featured image of post Mengapa Saya Menyukai Matematika dan Komputer" />&lt;h2 id="saya-berpikir-tentang-mengapa-saya-menyukai-matematika-dan-komputer">Saya berpikir tentang mengapa saya menyukai matematika dan komputer
&lt;/h2>&lt;h3 id="kesetaraan-bagi-semua-orang">Kesetaraan bagi semua orang
&lt;/h3>&lt;p>Terlepas dari siapa orangnya, posisinya, atau tempatnya, selalu memberikan keluaran yang sama untuk masukan yang sama.&lt;/p>
&lt;h3 id="aturan-yang-jelas">Aturan yang jelas
&lt;/h3>&lt;p>Aturannya ditetapkan dengan jelas, dan tidak ada absurditas atau ketidakadilan.&lt;/p>
&lt;h3 id="jawaban-dan-teori-yang-diturunkan-benar-selamanya">Jawaban dan teori yang diturunkan benar selamanya
&lt;/h3>&lt;p>Tidak perlu khawatir bahwa jawaban yang telah dihasilkan akan diubah kemudian.&lt;/p>
&lt;h3 id="ada-tingkat-kesulitan-yang-sedang">Ada tingkat kesulitan yang sedang
&lt;/h3>&lt;p>Selalu ada masalah yang belum terpecahkan, dan Anda selalu dapat menantang diri sendiri untuk memecahkannya.&lt;/p></description></item><item><title>Apa yang Dibutuhkan Komunitas</title><link>http://kenji.blog/id/p/%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA%E3%81%93%E3%81%A8/</link><pubDate>Fri, 23 Sep 2022 01:37:43 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA%E3%81%93%E3%81%A8/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA%E3%81%93%E3%81%A8/img.png" alt="Featured image of post Apa yang Dibutuhkan Komunitas" />&lt;h1 id="apa-yang-dibutuhkan-komunitas">Apa yang Dibutuhkan Komunitas
&lt;/h1>&lt;p>Saya merasa bahwa pedoman komunitas Scratch sangat disempurnakan dan bagus.
Hal-hal berikut ini tertulis.&lt;/p>
&lt;blockquote>
&lt;p>Perlakukan semua orang dengan hormat.&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Tetap aman: jangan mempublikasikan informasi pribadi atau kontak.&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Berikan komentar yang bermanfaat.&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Pahami budaya remix.&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Bersikaplah jujur.&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Jadikan situs ini tempat yang nyaman.&lt;/p>
&lt;/blockquote>
&lt;p>Saya pikir perspektif ini berlaku untuk komunitas mana pun.&lt;/p>
&lt;p>&lt;a class="link" href="https://ja.scratch-wiki.info/wiki/%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%E3%83%BC%E3%82%AC%E3%82%A4%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3" target="_blank" rel="noopener"
>https://ja.scratch-wiki.info/wiki/%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%E3%83%BC%E3%82%AC%E3%82%A4%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3&lt;/a>&lt;/p></description></item><item><title>Tokoh-Tokoh Besar Matematika</title><link>http://kenji.blog/id/p/tokoh-tokoh-besar-matematika/</link><pubDate>Thu, 22 Sep 2022 23:06:37 +0900</pubDate><guid>http://kenji.blog/id/p/tokoh-tokoh-besar-matematika/</guid><description>&lt;img src="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E3%81%AE%E5%81%89%E4%BA%BA%E3%81%9F%E3%81%A1/img.png" alt="Featured image of post Tokoh-Tokoh Besar Matematika" />&lt;h3 id="fermat-p-de-fermat-1601-1665">Fermat (P. de Fermat, 1601-1665)
&lt;/h3>&lt;p>Matematikawan Prancis perwakilan abad ke-17. Ia meletakkan dasar-dasar geometri analitik, teori probabilitas, dan kalkulus. Ia juga merupakan pendiri teori bilangan.&lt;/p>
&lt;h3 id="diophantus-diophantus-sekitar-207-291">Diophantus (Diophantus, sekitar 207-291)
&lt;/h3>&lt;p>Matematikawan Yunani. Terkenal karena pengenalan simbolisme dan studi tentang solusi rasional. Karya utamanya adalah &amp;ldquo;Arithmetica&amp;rdquo;. Bidang yang mencari solusi rasional dari persamaan disebut analisis Diophantine.&lt;/p>
&lt;h3 id="euler-l-euler-1707-1783">Euler (L. Euler, 1707-1783)
&lt;/h3>&lt;p>Raja matematika kelahiran Swiss. Ia mencapai prestasi di hampir semua bidang matematika. Lebih dari 700 makalah dan 45 buku peninggalannya masih ada.&lt;/p>
&lt;h3 id="legendre-a-m-legendre-1752-1833">Legendre (A. M. Legendre, 1752-1833)
&lt;/h3>&lt;p>Matematikawan Prancis. Meninggalkan banyak prestasi dalam teori bilangan, integral eliptik, dan masalah gravitasi. Istilah &amp;ldquo;Teori Bilangan&amp;rdquo; berasal dari karya utamanya yang berjudul sama.&lt;/p>
&lt;h3 id="kummer-e-e-kummer-1810-1893">Kummer (E. E. Kummer, 1810-1893)
&lt;/h3>&lt;p>Matematikawan Jerman. Mencapai hasil yang luar biasa dengan menerapkan teori bilangan dari medan siklotomik pada Teorema Terakhir Fermat.&lt;/p>
&lt;h3 id="descartes-r-descartes-1596-1650">Descartes (R. Descartes, 1596-1650)
&lt;/h3>&lt;p>Filsuf inovatif Prancis. Karya perwakilannya meliputi &amp;ldquo;Diskursus tentang Metode&amp;rdquo;, &amp;ldquo;Geometri&amp;rdquo;, dan &amp;ldquo;Kosmologi&amp;rdquo;.&lt;/p>
&lt;h3 id="pascal-b-pascal-1623-1662">Pascal (B. Pascal, 1623-1662)
&lt;/h3>&lt;p>Filsuf Prancis yang dikenal karena penelitiannya dalam teori probabilitas dan fluida. Kemudian ia bergabung dengan aliran Jansenis dan terlibat dalam kegiatan keagamaan. &amp;ldquo;Pensées&amp;rdquo; adalah karyanya dari masa itu.&lt;/p>
&lt;h3 id="bachet-c-g-bachet-1581-1638">Bachet (C. G. Bachet, 1581-1638)
&lt;/h3>&lt;p>Bangsawan Prancis, mempelajari teka-teki angka sebagai hobi. Menerbitkan terjemahan Latin dari &amp;ldquo;Arithmetica&amp;rdquo; karya Diophantus, dan menambahkan penelitiannya sendiri sebagai anotasi.&lt;/p>
&lt;h3 id="wallis-j-wallis-1616-1703">Wallis (J. Wallis, 1616-1703)
&lt;/h3>&lt;p>Matematikawan Inggris. Memberikan bentuk matematis pada konsep limit dalam karya utamanya &amp;ldquo;Aritmetika Ketakterhinggaan&amp;rdquo; dan berkontribusi pada peletakan dasar kalkulus.&lt;/p>
&lt;h3 id="brouncker-w-brouncker-1620-1684">Brouncker (W. Brouncker, 1620-1684)
&lt;/h3>&lt;p>Bangsawan Irlandia. Presiden pertama Royal Society (Akademi Inggris). Seorang penggemar matematika, ia berinteraksi dengan Wallis dan yang lainnya.&lt;/p>
&lt;h3 id="lagrange-j-l-lagrange-1736-1813">Lagrange (J. L. Lagrange, 1736-1813)
&lt;/h3>&lt;p>Matematikawan Prancis kelahiran Italia. Menggantikan Euler sebagai Direktur Matematika di Akademi Berlin. Mencapai prestasi besar dalam teori bilangan, mekanika analitik, dll.&lt;/p>
&lt;h3 id="siegel-c-l-siegel-1896-1981">Siegel (C. L. Siegel, 1896-1981)
&lt;/h3>&lt;p>Pakar teori bilangan Jerman. Memberikan banyak kontribusi dalam teori bilangan analitik.&lt;/p>
&lt;h3 id="fibonacci-l-fibonacci-sekitar-1175-1250">Fibonacci (L. Fibonacci, sekitar 1175-1250)
&lt;/h3>&lt;p>Matematikawan Italia. Menggunakan angka Hindu-Arab dalam karya utamanya &amp;ldquo;Liber Abaci&amp;rdquo; dan berkontribusi pada penyebarannya. Ia juga membahas bilangan kongruen dalam &amp;ldquo;Liber Quadratorum&amp;rdquo;.&lt;/p>
&lt;h3 id="baker-a-baker-1939-">Baker (A. Baker, 1939-)
&lt;/h3>&lt;p>Pakar teori bilangan Inggris. Dianugerahi Fields Medal bersama Heisuke Hironaka atas kontribusinya dalam teori bilangan transenden.&lt;/p>
&lt;h3 id="poincaré-j-poincare-1854-1912">Poincaré (J. Poincare, 1854-1912)
&lt;/h3>&lt;p>Matematikawan Prancis yang disebut sebagai matematikawan serba bisa terakhir. Meninggalkan karya-karya luar biasa termasuk teori fungsi automorfik, geometri non-Euclidean, persamaan diferensial, mekanika benda langit, elektrodinamika, serta esai-esai ilmiah.&lt;/p>
&lt;h3 id="mordell-l-j-mordell-1888-1972">Mordell (L. J. Mordell, 1888-1972)
&lt;/h3>&lt;p>Matematikawan kelahiran Amerika. Orang tuanya adalah imigran dari Lituania. Memiliki banyak makalah tentang teori persamaan Diophantine, tetapi Teorema Mordell dalam teori kurva eliptik sangat terkenal. Weil memperluas ini ke kasus kurva aljabar umum, dan dari sana geometri aljabar aritmatika mengalami perkembangan yang eksplosif.&lt;/p>
&lt;h3 id="weil-a-weil-1906-">Weil (A. Weil, 1906-)
&lt;/h3>&lt;p>Matematikawan Prancis keturunan Yahudi. Di masa mudanya, ia tertarik pada masalah Fermat, secara mendasar meninjau geometri aljabar dengan tujuan mengaplikasikannya pada teori bilangan, dan meletakkan dasar yang ketat. Ia juga dikenal karena karya-karyanya tentang sejarah matematika.&lt;/p>
&lt;h3 id="mersenne-m-mersenne-1588-1648">Mersenne (M. Mersenne, 1588-1648)
&lt;/h3>&lt;p>Pendeta Prancis dari ordo Minim. Bertindak sebagai perantara korespondensi antar matematikawan di berbagai tempat. Bilangan yang dinamakan bilangan Mersenne sebenarnya juga ditemukan oleh Fermat.&lt;/p>
&lt;h3 id="roberval-g-p-de-roberval-1602-1675">Roberval (G. P. de Roberval, 1602-1675)
&lt;/h3>&lt;p>Matematikawan Prancis. Ia hampir menjadi satu-satunya orang pada saat itu yang mendapatkan posisi profesor sebagai matematikawan, dikenal karena penelitiannya tentang sikloida.&lt;/p>
&lt;h3 id="abel-n-h-abel-1802-1829">Abel (N. H. Abel, 1802-1829)
&lt;/h3>&lt;p>Matematikawan Norwegia. Mencapai prestasi luar biasa seperti ketakterpecahkan persamaan kuintik umum, teori fungsi eliptik, dan teori integral Abel, tetapi meninggal di usia muda.&lt;/p>
&lt;h3 id="jacobi-k-g-jacob-1804-1851">Jacobi (K. G. Jacob, 1804-1851)
&lt;/h3>&lt;p>Matematikawan Jerman keturunan Yahudi. Meninggalkan prestasi besar dalam teori fungsi eliptik, teori fungsi theta, persamaan diferensial, dan kalkulus variasi. Memperkenalkan prestasi Abel kepada dunia. Ia juga dikenal karena menolak pragmatisme dan menyatakan tujuan sains adalah demi &amp;ldquo;kehormatan jiwa manusia&amp;rdquo;.&lt;/p>
&lt;h3 id="gauss-c-f-gauss-1777-1855">Gauss (C. F. Gauss, 1777-1855)
&lt;/h3>&lt;p>Raja matematika kelahiran Jerman. Terkenal karena penelitiannya tentang teori bilangan, geometri non-Euclidean, geodesi, deret hipergeometrik, teori permukaan, dan magnetisme bumi. Sebagai perfeksionis, ia tidak mempublikasikan hasil kecuali kesempurnaannya tinggi dan tidak diragukan. Karya utama &amp;ldquo;Disquisitiones Arithmeticae&amp;rdquo;.&lt;/p>
&lt;h3 id="lamé-g-lame-1795-1870">Lamé (G. Lame, 1795-1870)
&lt;/h3>&lt;p>Matematikawan Prancis. Berkontribusi pada mekanika elastisitas, teori konduksi panas, dll.&lt;/p>
&lt;h3 id="liouville-j-liouville-1809-1882">Liouville (J. Liouville, 1809-1882)
&lt;/h3>&lt;p>Matematikawan Prancis. Berkontribusi pada persamaan diferensial, teori bilangan transenden, dan teori fungsi.&lt;/p>
&lt;h3 id="cauchy-a-l-cauchy-1789-1857">Cauchy (A. L. Cauchy, 1789-1857)
&lt;/h3>&lt;p>Matematikawan Prancis. Sangat produktif dan memiliki banyak prestasi dalam fisika teoretis dan matematika. Dikatakan bahwa di Prancis ia sama dihormatinya dengan Gauss.&lt;/p>
&lt;h3 id="galois-e-galois-1811-1832">Galois (E. Galois, 1811-1832)
&lt;/h3>&lt;p>Matematikawan Prancis. Dengan memperkenalkan konsep grup, ia menjelaskan teorema Abel bahwa persamaan derajat 5 atau lebih tinggi pada umumnya tidak dapat dipecahkan secara aljabar. Meninggal di usia muda dalam duel, tetapi sekarang diketahui bahwa pemicunya adalah masalah sepele tentang seorang wanita.&lt;/p>
&lt;h3 id="hensel-k-hensel-1861-1941">Hensel (K. Hensel, 1861-1941)
&lt;/h3>&lt;p>Matematikawan Jerman. Murid Kronecker. Mengaplikasikan metode teori fungsi untuk memperkenalkan teori p-adic (analisis p-adic) ke dalam teori bilangan.&lt;/p>
&lt;h3 id="hasse-h-hasse-1898-1979">Hasse (H. Hasse, 1898-1979)
&lt;/h3>&lt;p>Matematikawan Jerman. Murid Hensel, berkontribusi pada landasan analisis p-adic dan aplikasinya. Bekerja pada teori medan kelas, studi fungsi-L dari kurva eliptik, dll.&lt;/p>
&lt;h3 id="kronecker-l-kronecker-1823-1891">Kronecker (L. Kronecker, 1823-1891)
&lt;/h3>&lt;p>Matematikawan Jerman keturunan Yahudi. Berkontribusi pada teori fungsi eliptik, teori bilangan, dll. Dikenal karena menganjurkan dasar aritmatika untuk matematika, tetapi kepribadiannya yang sangat subjektif, kritik yang tidak masuk akal terhadap rekannya di Universitas Berlin, Weierstrass, dan hambatannya terhadap pekerjaan Cantor, memberikan citra negatif pada hidupnya.&lt;/p>
&lt;h3 id="hilbert-d-hilbert-1862-1943">Hilbert (D. Hilbert, 1862-1943)
&lt;/h3>&lt;p>Matematikawan Jerman. Meninggalkan jejak besar di semua bidang matematika, termasuk teori invarian, teori bilangan aljabar, dan dasar-dasar matematika. 23 masalah yang diusulkannya pada Kongres Ahli Matematika Internasional di Paris (1900) memiliki dampak besar pada perkembangan matematika.&lt;/p>
&lt;h3 id="riemann-b-riemann-1826-1866">Riemann (B. Riemann, 1826-1866)
&lt;/h3>&lt;p>Matematikawan Jerman. Mencapai prestasi besar yang berkaitan dengan dasar-dasar matematika, seperti konsep permukaan Riemann dalam teori fungsi kompleks, dan geometri Riemann.&lt;/p>
&lt;h3 id="faltings-g-faltings-1954-">Faltings (G. Faltings, 1954-)
&lt;/h3>&lt;p>Matematikawan Jerman. Memecahkan dugaan Mordell pada tahun 1983.&lt;/p>
&lt;h3 id="wiles-a-wiles-1953-">Wiles (A. Wiles, 1953-)
&lt;/h3>&lt;p>Matematikawan kelahiran Inggris. Otoritas terkemuka di bidangnya, yang memberikan kontribusi besar pada penelitian seperti dugaan utama Iwasawa dan dugaan Birch dan Swinnerton-Dyer.&lt;/p>
&lt;h3 id="referensi">Referensi
&lt;/h3>&lt;p>Teorema Terakhir Fermat Terpecahkan! Dari Euler hingga Bukti Wiles (Kodansha)&lt;/p></description></item><item><title>Mendaftar Judul Jendela</title><link>http://kenji.blog/id/p/mendaftar-judul-jendela/</link><pubDate>Tue, 20 Sep 2022 17:03:15 +0900</pubDate><guid>http://kenji.blog/id/p/mendaftar-judul-jendela/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB%E3%81%AE%E5%88%97%E6%8C%99/img.png" alt="Featured image of post Mendaftar Judul Jendela" />&lt;h1 id="mendaftar-judul-jendela">Mendaftar Judul Jendela
&lt;/h1>&lt;p>Cara untuk mendaftar judul jendela yang sedang terbuka menggunakan PowerShell.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">Get-Process&lt;/span>&lt;span class="p">|&lt;/span>&lt;span class="n">where&lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="nv">$_&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">mainWindowTItle&lt;/span>&lt;span class="p">}|&lt;/span>&lt;span class="nb">Select-Object&lt;/span> &lt;span class="n">MainWindowTitle&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Contoh Output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;span class="lnt">9
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">MainWindowTitle
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">---------------
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Windows PowerShell
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Internet Explorer
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tanpa Judul - Paint
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Tanpa Judul - Notepad
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Task Manager
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Windows Input Experience
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Dokumen - WordPad
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>Penghapusan Massal Cepat untuk Folder Besar</title><link>http://kenji.blog/id/p/penghapusan-massal-cepat-untuk-folder-besar/</link><pubDate>Tue, 20 Sep 2022 16:04:02 +0900</pubDate><guid>http://kenji.blog/id/p/penghapusan-massal-cepat-untuk-folder-besar/</guid><description>&lt;img src="http://kenji.blog/p/%E5%A4%A7%E3%81%8D%E3%81%AA%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E3%83%BC%E3%82%92%E9%AB%98%E9%80%9F%E4%B8%80%E6%8B%AC%E5%89%8A%E9%99%A4/img.png" alt="Featured image of post Penghapusan Massal Cepat untuk Folder Besar" />&lt;h2 id="penghapusan-massal-cepat-untuk-folder-besar">Penghapusan Massal Cepat untuk Folder Besar
&lt;/h2>&lt;p>Saat menghapus folder besar di File Explorer, kecepatannya lambat karena isi folder dipindai sepenuhnya terlebih dahulu sebelum penghapusan dijalankan.
Jika Anda menghapus dengan menggunakan perintah seperti di bawah ini, pemindaian dan penghapusan akan dijalankan secara bersamaan, sehingga Anda dapat menghapus folder besar dengan cepat.&lt;/p>
&lt;ol>
&lt;li>Di Command Prompt, arahkan ke hierarki folder target.&lt;/li>
&lt;li>Jalankan &lt;code>DEL /F /Q /S NamaFolder &amp;gt; NUL&lt;/code>.&lt;/li>
&lt;li>Jalankan &lt;code>RMDIR /Q /S NamaFolder&lt;/code>.&lt;/li>
&lt;/ol></description></item><item><title>Perintah untuk Menghapus Semua Chatter Salesforce</title><link>http://kenji.blog/id/p/salesforce%E3%83%81%E3%83%A3%E3%83%83%E3%82%BF%E3%83%BC%E5%85%A8%E6%B6%88%E3%81%97%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/</link><pubDate>Mon, 19 Sep 2022 21:59:14 +0900</pubDate><guid>http://kenji.blog/id/p/salesforce%E3%83%81%E3%83%A3%E3%83%83%E3%82%BF%E3%83%BC%E5%85%A8%E6%B6%88%E3%81%97%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/</guid><description>&lt;img src="http://kenji.blog/p/salesforce%E3%83%81%E3%83%A3%E3%83%83%E3%82%BF%E3%83%BC%E5%85%A8%E6%B6%88%E3%81%97%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/img_1.png" alt="Featured image of post Perintah untuk Menghapus Semua Chatter Salesforce" />&lt;h1 id="perintah-untuk-menghapus-semua-chatter-salesforce">Perintah untuk Menghapus Semua Chatter Salesforce
&lt;/h1>&lt;p>Ini adalah perintah untuk menghapus semua postingan dan lampiran di Salesforce Chatter.
Buka Developer Console, pilih &amp;ldquo;Open Execute anonymous Window&amp;rdquo; dari menu Debug, tempelkan kode berikut, dan jalankan.
Secara pribadi, saya menggunakannya saat kapasitas penyimpanan organisasi hampir habis.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">delete [select id from FeedItem];
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">delete [select id from FeedAttachment];
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">delete [select id from ContentDocument];
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">// Kosongkan tempat sampah
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">database.emptyRecycleBin([select id from ContentDocument where IsDeleted = true ALL ROWS]);
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>Kumpulan Pintasan dan Trik Kecil Windows</title><link>http://kenji.blog/id/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/</link><pubDate>Sun, 18 Sep 2022 23:49:29 +0900</pubDate><guid>http://kenji.blog/id/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/</guid><description>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img.png" alt="Featured image of post Kumpulan Pintasan dan Trik Kecil Windows" />&lt;p>Berikut adalah kumpulan trik kecil yang biasa digunakan di Windows. Saya akan sangat senang jika pengguna baru Windows membacanya.
Meskipun ini ditujukan untuk Windows 11, banyak di antaranya yang mungkin juga bisa digunakan di Windows 10.&lt;/p>
&lt;h2 id="menutup-jendela">Menutup Jendela
&lt;/h2>&lt;ul>
&lt;li>&lt;code>Alt + F4&lt;/code> saat jendela aktif&lt;/li>
&lt;li>&lt;code>Ctrl + W&lt;/code> saat jendela aktif. Menutup tab atau jendela (hanya aplikasi yang didukung)&lt;/li>
&lt;li>Klik ganda ikon di sebelah kiri bilah judul jendela&lt;/li>
&lt;li>Klik &lt;code>×&lt;/code> pada bilah judul jendela&lt;/li>
&lt;/ul>
&lt;h2 id="menampilkan-desktop">Menampilkan Desktop
&lt;/h2>&lt;ul>
&lt;li>&lt;code>Win + D&lt;/code>. Menekannya dua kali akan mengembalikan jendela ke keadaan semula. Berguna ketika Anda ingin menampilkan desktop hanya untuk sesaat.&lt;/li>
&lt;li>&lt;code>Win + M&lt;/code>. Meminimalkan semua aplikasi. Menekannya dua kali tidak akan mengembalikannya.&lt;/li>
&lt;/ul>
&lt;h2 id="input-suara">Input Suara
&lt;/h2>&lt;ul>
&lt;li>&lt;code>Win + H&lt;/code>. Memulai input suara. Untuk mengakhiri input suara, tekan &lt;code>Esc&lt;/code> atau &lt;code>Win + H&lt;/code> lagi.&lt;/li>
&lt;/ul>
&lt;h2 id="menampilkan-menu-klik-kanan-klasik-di-explorer">Menampilkan Menu Klik Kanan Klasik di Explorer
&lt;/h2>&lt;ul>
&lt;li>Tekan &lt;code>Shift + F10&lt;/code> atau tombol aplikasi. Tombol aplikasi adalah tombol yang terletak di bagian kanan bawah keyboard.&lt;/li>
&lt;/ul>
&lt;h2 id="memilih-area-dan-menangkap-layar">Memilih Area dan Menangkap Layar
&lt;/h2>&lt;ul>
&lt;li>Anda dapat memilih area dan menangkap layar dengan &lt;code>Win + Shift + S&lt;/code>.&lt;/li>
&lt;li>Anda dapat menangkap seluruh layar dengan &lt;code>Win + Print Screen&lt;/code> atau hanya &lt;code>Print Screen&lt;/code>.
(Jika Anda menambahkan &lt;code>Win&lt;/code>, gambar tangkapan akan disimpan di &lt;code>C:\Users\NamaPengguna\Pictures\Screenshots&lt;/code>.)&lt;/li>
&lt;li>Anda dapat menangkap jendela saat ini dengan &lt;code>Alt + Print Screen&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="menjalankan-aplikasi-yang-terdaftar-di-taskbar">Menjalankan Aplikasi yang Terdaftar di Taskbar
&lt;/h2>&lt;ul>
&lt;li>Anda dapat menjalankan aplikasi yang terdaftar di taskbar dengan &lt;code>Win + Tombol Angka&lt;/code>.&lt;br>
Misalnya, menekan &lt;code>Win + 1&lt;/code> akan menjalankan aplikasi pertama dari kiri di taskbar.&lt;/li>
&lt;li>Anda dapat memindahkan fokus ke ikon taskbar dengan &lt;code>Win + T&lt;/code>, dan menekan &lt;code>Win + T&lt;/code> beberapa kali berturut-turut,
atau menggunakan &lt;code>←&lt;/code> atau &lt;code>→&lt;/code> untuk memindahkan pilihan, lalu tekan &lt;code>Enter&lt;/code> untuk menjalankan aplikasi yang dipilih.&lt;/li>
&lt;/ul>
&lt;h2 id="memperbesar--memperkecil">Memperbesar / Memperkecil
&lt;/h2>&lt;ul>
&lt;li>&lt;code>Win + +&lt;/code> akan meluncurkan Kaca Pembesar Windows. Kemudian &lt;code>Win + + atau -&lt;/code> dapat memperbesar/memperkecil layar.&lt;/li>
&lt;li>Di Notepad atau browser, Anda dapat memperbesar/memperkecil dengan &lt;code>Ctrl + + atau -&lt;/code> (hanya aplikasi yang didukung).&lt;/li>
&lt;/ul>
&lt;h2 id="mengunci-windows">Mengunci Windows
&lt;/h2>&lt;ul>
&lt;li>&lt;code>Win + L&lt;/code>&lt;/li>
&lt;li>&lt;code>Ctrl + Alt + Del&lt;/code> → &lt;code>Space&lt;/code> atau &lt;code>Enter&lt;/code>&lt;/li>
&lt;/ul>
&lt;h2 id="mematikan-windows-shutdown">Mematikan Windows (Shutdown)
&lt;/h2>&lt;ul>
&lt;li>Saat desktop ditampilkan dengan &lt;code>Win + M&lt;/code> atau &lt;code>Win + D&lt;/code>, atau saat taskbar aktif dengan &lt;code>Win + T&lt;/code> atau &lt;code>Win + B&lt;/code>, tekan &lt;code>Alt + F4&lt;/code>. Dialog berikut akan muncul, pastikan &amp;ldquo;Shut down&amp;rdquo; dipilih, lalu tekan &lt;code>Enter&lt;/code>.
Bisa juga dengan &lt;code>Win + R&lt;/code> → &lt;code>Alt + F4&lt;/code> → &lt;code>Alt + F4&lt;/code>.
&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_20.png"
width="482"
height="278"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_20_hu3f12d2ce7faedc7d3b710fa8f12c5de2_12927_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_20_hu3f12d2ce7faedc7d3b710fa8f12c5de2_12927_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_20.png"
class="gallery-image"
data-flex-grow="173"
data-flex-basis="416px"
>&lt;/li>
&lt;li>Anda bisa mematikan dengan &lt;code>Win + X&lt;/code> → &lt;code>U&lt;/code> → &lt;code>U&lt;/code>.&lt;/li>
&lt;li>Memasukkan &lt;code>shutdown /s /t 0&lt;/code> di Command Prompt atau &amp;ldquo;Run&amp;rdquo; (&lt;code>Win + R&lt;/code>) akan mematikan komputer. Menambahkan &lt;code>/f&lt;/code> akan memaksanya mati (force shutdown).&lt;/li>
&lt;/ul>
&lt;h2 id="memulai-ulang-windows-restart">Memulai Ulang Windows (Restart)
&lt;/h2>&lt;ul>
&lt;li>Saat desktop ditampilkan dengan &lt;code>Win + M&lt;/code> atau &lt;code>Win + D&lt;/code>, atau saat taskbar aktif dengan &lt;code>Win + T&lt;/code> atau &lt;code>Win + B&lt;/code>, tekan &lt;code>Alt + F4&lt;/code>. Dialog berikut akan muncul, tekan &lt;code>↓&lt;/code> satu kali untuk memilih &amp;ldquo;Restart&amp;rdquo;, lalu tekan &lt;code>Enter&lt;/code>.
Bisa juga dengan &lt;code>Win + R&lt;/code> → &lt;code>Alt + F4&lt;/code> → &lt;code>Alt + F4&lt;/code>.
&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_21.png"
width="482"
height="278"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_21_hu7c3e02e460e465bf24597063ff70f70a_13423_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_21_hu7c3e02e460e465bf24597063ff70f70a_13423_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_21.png"
class="gallery-image"
data-flex-grow="173"
data-flex-basis="416px"
>&lt;/li>
&lt;li>Anda bisa memulai ulang dengan &lt;code>Win + X&lt;/code> → &lt;code>U&lt;/code> → &lt;code>R&lt;/code>.&lt;/li>
&lt;li>Anda bisa memulai ulang dengan &lt;code>shutdown /r /t 0&lt;/code>. Menambahkan &lt;code>/f&lt;/code> akan memaksanya memulai ulang (force restart).&lt;/li>
&lt;/ul>
&lt;h2 id="mode-tidur-windows-sleep">Mode Tidur Windows (Sleep)
&lt;/h2>&lt;ul>
&lt;li>Saat desktop ditampilkan dengan &lt;code>Win + M&lt;/code> atau &lt;code>Win + D&lt;/code>, atau saat taskbar aktif dengan &lt;code>Win + T&lt;/code> atau &lt;code>Win + B&lt;/code>, tekan &lt;code>Alt + F4&lt;/code>. Dialog berikut akan muncul, tekan &lt;code>↑&lt;/code> satu kali untuk memilih &amp;ldquo;Sleep&amp;rdquo;, lalu tekan &lt;code>Enter&lt;/code>.
Bisa juga dengan &lt;code>Win + R&lt;/code> → &lt;code>Alt + F4&lt;/code> → &lt;code>Alt + F4&lt;/code>.
&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_23.png"
width="482"
height="278"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_23_hub63f427cb79a50e4f112143a1cf4a9d1_14945_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_23_hub63f427cb79a50e4f112143a1cf4a9d1_14945_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_23.png"
class="gallery-image"
data-flex-grow="173"
data-flex-basis="416px"
>&lt;/li>
&lt;li>Anda dapat mengubah ke status hibernasi (Hibernate) dengan memasukkan &lt;code>rundll32.exe powrprof.dll,SetSuspendState&lt;/code> di &lt;code>Win + R&lt;/code> atau Command Prompt.&lt;/li>
&lt;/ul>
&lt;h2 id="keluar-dari-windows-sign-out--log-off">Keluar dari Windows (Sign out / Log off)
&lt;/h2>&lt;ul>
&lt;li>Saat desktop ditampilkan dengan &lt;code>Win + M&lt;/code> atau &lt;code>Win + D&lt;/code>, atau saat taskbar aktif dengan &lt;code>Win + T&lt;/code> atau &lt;code>Win + B&lt;/code>, tekan &lt;code>Alt + F4&lt;/code>. Dialog berikut akan muncul, tekan &lt;code>↑&lt;/code> dua kali untuk memilih &amp;ldquo;Sign out&amp;rdquo;, lalu tekan &lt;code>Enter&lt;/code>.
Bisa juga dengan &lt;code>Win + R&lt;/code> → &lt;code>Alt + F4&lt;/code> → &lt;code>Alt + F4&lt;/code>.
&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_22.png"
width="482"
height="278"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_22_hu6a4b716975acad63f398b15e49c71e3e_12765_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_22_hu6a4b716975acad63f398b15e49c71e3e_12765_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_22.png"
class="gallery-image"
data-flex-grow="173"
data-flex-basis="416px"
>&lt;/li>
&lt;li>&lt;code>Win + X&lt;/code> → &lt;code>U&lt;/code> → &lt;code>I&lt;/code>&lt;/li>
&lt;li>&lt;code>Ctrl + Alt + Del&lt;/code> → &lt;code>Tab&lt;/code> 2 kali atau &lt;code>↓&lt;/code> 2 kali → &lt;code>Enter&lt;/code> atau &lt;code>Space&lt;/code>&lt;/li>
&lt;li>Anda bisa keluar (log off) dengan mengetik &lt;code>logoff&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="memindahkan-jendela-menggunakan-keyboard">Memindahkan Jendela Menggunakan Keyboard
&lt;/h2>&lt;ul>
&lt;li>&lt;code>Win + ←&lt;/code> : Pindah ke kiri&lt;/li>
&lt;li>&lt;code>Win + →&lt;/code> : Pindah ke kanan&lt;/li>
&lt;li>&lt;code>Win + ↑&lt;/code> : Pindah ke atas / Maksimalkan&lt;/li>
&lt;li>&lt;code>Win + ↓&lt;/code> : Pindah ke bawah / Minimalkan&lt;/li>
&lt;li>&lt;code>Win + Shift + ← atau →&lt;/code> : Pindah antar monitor ganda&lt;/li>
&lt;li>&lt;code>Win + Alt + ← atau → atau ↑ atau ↓&lt;/code> : Memindahkan jendela tanpa memaksimalkan atau meminimalkan&lt;/li>
&lt;li>Saat tidak diminimalkan, tekan &lt;code>Alt + Space&lt;/code> lalu &lt;code>M&lt;/code>, lalu pindahkan menggunakan tombol panah.&lt;br>
*Karena jendela akan mengikuti kursor mouse, Anda dapat menyelamatkan jendela meskipun ditampilkan di luar layar.&lt;/li>
&lt;/ul>
&lt;h2 id="mengakhiri-proses-di-task-manager">Mengakhiri Proses di Task Manager
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_24.png"
width="256"
height="192"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_24_hud914f1b692d77f8e130a72e443261168_30639_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_24_hud914f1b692d77f8e130a72e443261168_30639_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_24.png"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
>&lt;/p>
&lt;ol>
&lt;li>Anda dapat membuka Task Manager dengan &lt;code>Ctrl + Shift + Esc&lt;/code>.&lt;/li>
&lt;li>Anda dapat beralih tab dengan &lt;code>Ctrl + Tab&lt;/code>.&lt;/li>
&lt;li>Setelah menekan &lt;code>Tab&lt;/code> pada tab &lt;code>Details&lt;/code> (Detail), Anda dapat mencari proses berdasarkan awalan dengan mengetikkan huruf di keyboard.&lt;/li>
&lt;li>Saat nama proses dipilih, Anda dapat mengakhiri proses tersebut dengan menekan tombol &lt;code>Delete&lt;/code> lalu &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ol>
&lt;h2 id="mengakhiri-proses-berdasarkan-nama-menggunakan-perintah">Mengakhiri Proses Berdasarkan Nama Menggunakan Perintah
&lt;/h2>&lt;ul>
&lt;li>Anda dapat mengakhiri proses dengan &lt;code>taskkill /f /im namaproses&lt;/code>.
Misalnya, Anda dapat mengakhiri Explorer dengan &lt;code>taskkill /f /im explorer.exe&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="menjalankan-beberapa-program-yang-sama-dari-ikon-taskbar">Menjalankan Beberapa Program yang Sama dari Ikon Taskbar
&lt;/h2>&lt;ul>
&lt;li>Jika Anda mengklik kiri sambil menekan tombol &lt;code>Shift&lt;/code> di taskbar, Anda dapat menjalankan beberapa program yang sama. (Hanya untuk aplikasi yang mendukung multi-instance).&lt;/li>
&lt;/ul>
&lt;h2 id="menjalankan-program-dengan-hak-administrator">Menjalankan Program dengan Hak Administrator
&lt;/h2>&lt;ul>
&lt;li>Jika Anda meluncurkan program sambil menekan &lt;code>Ctrl + Shift&lt;/code>, Anda dapat meluncurkan program dengan hak administrator.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-file-explorer">Membuka File Explorer
&lt;/h2>&lt;ul>
&lt;li>Anda dapat membuka File Explorer dengan &lt;code>Win + E&lt;/code>.&lt;/li>
&lt;li>Tampilkan &amp;ldquo;Run&amp;rdquo; (Jalankan) dengan &lt;code>Win + R&lt;/code>, ketik &lt;code>explorer&lt;/code>, lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;li>Anda dapat membuat folder baru dengan &lt;code>Ctrl + Shift + N&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-command-prompt-di-lokasi-yang-sedang-terbuka-di-file-explorer">Membuka Command Prompt di Lokasi yang Sedang Terbuka di File Explorer
&lt;/h2>&lt;ul>
&lt;li>Di Windows 11, Anda dapat membuka Command Prompt dari &amp;ldquo;Terminal&amp;rdquo; di menu klik kanan.&lt;/li>
&lt;li>Anda juga dapat membuka Command Prompt dengan mengetik &lt;code>cmd&lt;/code> di bilah alamat dan menekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="menampilkan-riwayat-papan-klip-clipboard-history">Menampilkan Riwayat Papan Klip (Clipboard History)
&lt;/h2>&lt;ul>
&lt;li>Anda dapat menampilkan riwayat papan klip dengan &lt;code>Win + V&lt;/code>.
Jika Anda memilih teks atau gambar yang pernah disalin sebelumnya, Anda dapat menyalinnya lagi.&lt;/li>
&lt;/ul>
&lt;h2 id="kotak-dialog-jalankan-run">Kotak Dialog &amp;ldquo;Jalankan&amp;rdquo; (Run)
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_28.png"
width="399"
height="206"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_28_hu5bd9c2c0efc8db87c1a7be24174584ba_8257_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_28_hu5bd9c2c0efc8db87c1a7be24174584ba_8257_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_28.png"
class="gallery-image"
data-flex-grow="193"
data-flex-basis="464px"
>&lt;/p>
&lt;ul>
&lt;li>Anda dapat meluncurkan kotak dialog &amp;ldquo;Run&amp;rdquo; dengan &lt;code>Win + R&lt;/code>.&lt;/li>
&lt;/ul>
&lt;p>Berikut adalah beberapa perintah yang dapat dijalankan di &amp;ldquo;Run&amp;rdquo; atau Command Prompt.&lt;/p>
&lt;h2 id="membuka-edge">Membuka Edge
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_18.png"
width="256"
height="256"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_18_hu2d7f1fd1a05d0eb8d4cb2a622c92fc65_40033_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_18_hu2d7f1fd1a05d0eb8d4cb2a622c92fc65_40033_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_18.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>msedge&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-internet-explorer-11-ie11">Membuka Internet Explorer 11 (IE11)
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_25.png"
width="244"
height="228"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_25_hub8b3dcd80a8b22b84e862a37d10a8d82_67766_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_25_hub8b3dcd80a8b22b84e862a37d10a8d82_67766_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_25.png"
class="gallery-image"
data-flex-grow="107"
data-flex-basis="256px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>powershell.exe -Command &amp;quot;(New-Object -ComObject InternetExplorer.Application).Visible = $true&amp;quot;&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-terminal">Membuka Terminal
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_19.png"
width="256"
height="192"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_19_huba670cecd7c1e41d044624c4278dce95_12032_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_19_huba670cecd7c1e41d044624c4278dce95_12032_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_19.png"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>wt&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-control-panel">Membuka Control Panel
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_15.png"
width="256"
height="192"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_15_hua164d31c327d40ccd81ec7cd0798a08c_37353_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_15_hua164d31c327d40ccd81ec7cd0798a08c_37353_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_15.png"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>control&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;li>Anda juga bisa membukanya dengan &lt;code>explorer.exe shell:::{26EE0668-A00A-44D7-9371-BEB064C98683}&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-notepad">Membuka Notepad
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_4.png"
width="192"
height="256"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_4_hu8fd04f5788375cf1e91ec94379e2e218_17267_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_4_hu8fd04f5788375cf1e91ec94379e2e218_17267_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_4.png"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>notepad&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-kalkulator">Membuka Kalkulator
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_5.png"
width="192"
height="256"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_5_hud38bddc861d08a6c0e618a52fbfadb9d_18242_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_5_hud38bddc861d08a6c0e618a52fbfadb9d_18242_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_5.png"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>calc&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-paint">Membuka Paint
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_6.png"
width="236"
height="246"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_6_huaf13165ac0572566abd830a37f5d0cef_37772_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_6_huaf13165ac0572566abd830a37f5d0cef_37772_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_6.png"
class="gallery-image"
data-flex-grow="95"
data-flex-basis="230px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>mspaint&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-powershell">Membuka PowerShell
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_7.png"
width="238"
height="180"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_7_huc312ccf5dbdb1b6edae5dc06174466bf_18265_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_7_huc312ccf5dbdb1b6edae5dc06174466bf_18265_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_7.png"
class="gallery-image"
data-flex-grow="132"
data-flex-basis="317px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>powershell&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-visual-studio-code">Membuka Visual Studio Code
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_8.png"
width="256"
height="256"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_8_hu819451b32a2c272ab10c72dbab15e316_9360_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_8_hu819451b32a2c272ab10c72dbab15e316_9360_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_8.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>code&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-excel">Membuka Excel
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_9.png"
width="256"
height="256"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_9_hufe95cb8f1915673ee373611cd0239b90_12403_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_9_hufe95cb8f1915673ee373611cd0239b90_12403_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_9.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>excel&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;br>
*Hanya jika Excel sudah terinstal.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-word">Membuka Word
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_10.png"
width="256"
height="256"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_10_hu66f202be8d6fd020b50c8768fa2e6a4c_12479_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_10_hu66f202be8d6fd020b50c8768fa2e6a4c_12479_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_10.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>winword&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;br>
*Hanya jika Word sudah terinstal.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-powerpoint">Membuka PowerPoint
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_11.png"
width="256"
height="256"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_11_hue1fee55e2f89dec256779909b6e45e73_16603_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_11_hue1fee55e2f89dec256779909b6e45e73_16603_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_11.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>powerpnt&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;br>
*Hanya jika PowerPoint sudah terinstal.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-konfigurasi-sistem-system-configuration">Membuka Konfigurasi Sistem (System Configuration)
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_1.png"
width="665"
height="437"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_1_hu9eac5a45f3cec150f6d24f7cc9194bcc_17777_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_1_hu9eac5a45f3cec150f6d24f7cc9194bcc_17777_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="152"
data-flex-basis="365px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>msconfig&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-properti-sistem-system-properties">Membuka Properti Sistem (System Properties)
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_2.png"
width="479"
height="533"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_2_hu3929e3da9eca5e07cd9c2d5cc64dbd1e_20161_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_2_hu3929e3da9eca5e07cd9c2d5cc64dbd1e_20161_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="89"
data-flex-basis="215px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>sysdm.cpl&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-informasi-versi-windows">Membuka Informasi Versi Windows
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_27.png"
width="536"
height="472"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_27_hue408b4bef2bf493ba35bfd5153ef0069_18050_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_27_hue408b4bef2bf493ba35bfd5153ef0069_18050_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_27.png"
class="gallery-image"
data-flex-grow="113"
data-flex-basis="272px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>winver&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-keyboard-layar-on-screen-keyboard">Membuka Keyboard Layar (On-Screen Keyboard)
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_14.png"
width="248"
height="197"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_14_hu1a8155193c62d74a0ebaff13a210723b_38736_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_14_hu1a8155193c62d74a0ebaff13a210723b_38736_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_14.png"
class="gallery-image"
data-flex-grow="125"
data-flex-basis="302px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>osk&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-wordpad">Membuka WordPad
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_12.png"
width="191"
height="232"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_12_hu6fb1edb2f260aa83d67ca8cca1dd668a_38511_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_12_hu6fb1edb2f260aa83d67ca8cca1dd668a_38511_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_12.png"
class="gallery-image"
data-flex-grow="82"
data-flex-basis="197px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>wordpad&lt;/code> atau &lt;code>write&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-registry-editor">Membuka Registry Editor
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_13.png"
width="212"
height="224"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_13_hu32fb6574ff10cc1f2401fc64ed114687_7891_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_13_hu32fb6574ff10cc1f2401fc64ed114687_7891_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_13.png"
class="gallery-image"
data-flex-grow="94"
data-flex-basis="227px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>regedit&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-program-dan-fitur-programs-and-features">Membuka Program dan Fitur (Programs and Features)
&lt;/h2>&lt;ul>
&lt;li>Ketik &lt;code>explorer.exe shell:::{7b81be6a-ce2b-4676-a29e-eb907a5126c5}&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-properti-keyboard">Membuka Properti Keyboard
&lt;/h2>&lt;ul>
&lt;li>Ketik &lt;code>explorer.exe shell:::{725BE8F7-668E-4C7B-8F90-46BDB0936430}&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-properti-mouse">Membuka Properti Mouse
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_16.png"
width="465"
height="518"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_16_hu4b8368d82eda62c47aa07a16e184c48d_28920_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_16_hu4b8368d82eda62c47aa07a16e184c48d_28920_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_16.png"
class="gallery-image"
data-flex-grow="89"
data-flex-basis="215px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>explorer.exe shell:::{6C8EEC18-8D75-41B2-A177-8831D59D2D50}&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-pengaturan-suara-sound">Membuka Pengaturan Suara (Sound)
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_3.png"
width="465"
height="518"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_3_hu07d343f29d286da7b6e29fffcdf11463_27424_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_3_hu07d343f29d286da7b6e29fffcdf11463_27424_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="89"
data-flex-basis="215px"
>&lt;/p>
&lt;ul>
&lt;li>Ketik &lt;code>explorer.exe shell:::{F2DDFC82-8F12-4CDD-B7DC-D4FE1425AA4D}&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="membuka-akun-pengguna-user-accounts">Membuka Akun Pengguna (User Accounts)
&lt;/h2>&lt;ul>
&lt;li>Ketik &lt;code>explorer.exe shell:::{60632754-c523-4b62-b45c-4172da012619}&lt;/code> lalu tekan &lt;code>Enter&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="menyalin-teks-dari-kotak-pesan-standar">Menyalin Teks dari Kotak Pesan Standar
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_26.png"
width="352"
height="134"
srcset="http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_26_hu8464019115eff050aa2f4030d8b469e9_4904_480x0_resize_box_3.png 480w, http://kenji.blog/p/windows-%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E5%B0%8F%E6%8A%80%E9%9B%86/img_26_hu8464019115eff050aa2f4030d8b469e9_4904_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_26.png"
class="gallery-image"
data-flex-grow="262"
data-flex-basis="630px"
>&lt;/p>
&lt;ul>
&lt;li>Anda dapat menyalin teks dari kotak pesan standar dengan &lt;code>Ctrl + C&lt;/code>.
Menyalin kotak pesan di atas akan menyalin hal berikut ke papan klip.&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">[Window Title]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">WordPad
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">[Main Instruction]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Apakah Anda ingin menyimpan perubahan ke Dokumen?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">[Simpan (S)] [Jangan simpan (N)] [Batal]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="menyimpan-output-command-prompt-ke-papan-klip">Menyimpan Output Command Prompt ke Papan Klip
&lt;/h2>&lt;p>Menambahkan &lt;code> | clip&lt;/code> (pipa + clip) di akhir perintah, seperti &lt;code>echo &amp;quot;hello&amp;quot; | clip&lt;/code>, dapat menyalin output standar ke papan klip.&lt;/p>
&lt;h2 id="output-hierarki-folder-ke-teks">Output Hierarki Folder ke Teks
&lt;/h2>&lt;p>Anda dapat mengeluarkan hierarki folder dalam format pohon menggunakan perintah &lt;code>tree&lt;/code> di Command Prompt.&lt;/p>
&lt;p>Contoh output&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;span class="lnt">42
&lt;/span>&lt;span class="lnt">43
&lt;/span>&lt;span class="lnt">44
&lt;/span>&lt;span class="lnt">45
&lt;/span>&lt;span class="lnt">46
&lt;/span>&lt;span class="lnt">47
&lt;/span>&lt;span class="lnt">48
&lt;/span>&lt;span class="lnt">49
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">C:.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├─.idea
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └─libraries
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├─binaryeditorbz
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├─blog
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├─archetypes
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├─content
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├─data
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├─layouts
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├─static
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └─themes
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └─PaperMod
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├─.git
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ ├─branches
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ ├─hooks
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ ├─info
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ ├─logs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ │ └─refs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ │ ├─heads
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ │ └─remotes
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ │ └─origin
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ ├─objects
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ │ ├─info
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ │ └─pack
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ └─refs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ ├─heads
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ ├─remotes
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ │ └─origin
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ └─tags
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├─.github
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ ├─ISSUE_TEMPLATE
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ └─workflows
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├─assets
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ ├─css
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ │ ├─common
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ │ ├─core
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ │ ├─extended
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ │ ├─hljs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ │ └─includes
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ └─js
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├─i18n
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├─images
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └─layouts
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├─partials
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ └─templates
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├─shortcodes
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └─_default
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └─_markup
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">(dan seterusnya)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://support.microsoft.com/id-id/windows/pintasan-keyboard-di-windows-dcc61a57-8ff0-cffe-9796-cb9706c75eec" target="_blank" rel="noopener"
>Pintasan keyboard di Windows&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Daya Tarik paint.net</title><link>http://kenji.blog/id/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/</link><pubDate>Wed, 14 Sep 2022 19:33:31 +0900</pubDate><guid>http://kenji.blog/id/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/</guid><description>&lt;img src="http://kenji.blog/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/img.png" alt="Featured image of post Daya Tarik paint.net" />&lt;p>Saya ingin memperkenalkan paint.net, perangkat lunak pengeditan gambar yang sering saya gunakan saat melakukan pekerjaan pengembangan.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/img_1.png"
width="986"
height="793"
srcset="http://kenji.blog/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/img_1_hu7b03baa3250c24dbfc5edac442a5c4c7_981205_480x0_resize_box_3.png 480w, http://kenji.blog/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/img_1_hu7b03baa3250c24dbfc5edac442a5c4c7_981205_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="124"
data-flex-basis="298px"
>&lt;/p>
&lt;h1 id="fitur-berguna-yang-tidak-bisa-dilakukan-dengan-paint-standar-windows">Fitur berguna yang tidak bisa dilakukan dengan Paint standar Windows
&lt;/h1>&lt;ul>
&lt;li>Dapat menangani transparansi/opasitas&lt;/li>
&lt;li>Pemilihan otomatis area yang kompleks&lt;/li>
&lt;li>Dapat menangani layer&lt;/li>
&lt;li>Dapat menyesuaikan level, kecerahan, kontras, dll.&lt;/li>
&lt;li>Berbagai efek (blur, distorsi, noise, dll.) bisa dilakukan&lt;/li>
&lt;/ul>
&lt;h1 id="fitur-lainnya">Fitur lainnya
&lt;/h1>&lt;ul>
&lt;li>Gratis untuk digunakan&lt;/li>
&lt;li>Pengoperasiannya relatif ringan&lt;/li>
&lt;li>Intuitif untuk digunakan dan tidak rumit&lt;/li>
&lt;li>Mendukung berbagai bahasa&lt;/li>
&lt;/ul>
&lt;p>Perangkat lunak ini memiliki fungsionalitas tinggi namun mudah digunakan. Saya sendiri belum menguasai semua fiturnya.&lt;/p>
&lt;h1 id="instalasi-di-sini">Instalasi di sini
&lt;/h1>&lt;p>&lt;a class="link" href="https://www.getpaint.net/download.html" target="_blank" rel="noopener"
>https://www.getpaint.net/download.html&lt;/a>&lt;/p>
&lt;p>Jika Anda memilih versi gratis, silakan klik bagian berbingkai merah di tautan di bawah ini.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/img_2.png"
width="754"
height="275"
srcset="http://kenji.blog/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/img_2_hu81a3dce724a3d5bbc649f5ff4fffc8aa_30455_480x0_resize_box_3.png 480w, http://kenji.blog/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/img_2_hu81a3dce724a3d5bbc649f5ff4fffc8aa_30455_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="274"
data-flex-basis="658px"
>&lt;/p>
&lt;p>Jika Anda menginstalnya melalui Microsoft Store, perangkat lunak ini berbayar sebagai gantinya Anda mendapatkan fitur pembaruan otomatis.
Bahkan dengan versi gratis, pembaruan dapat dilakukan dengan cukup lancar karena memberi tahu Anda tentang informasi pembaruan terbaru.&lt;/p></description></item><item><title>Cara Mengatur Domain Kustom untuk Repositori Github</title><link>http://kenji.blog/id/p/github%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AB%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Tue, 13 Sep 2022 01:16:40 +0900</pubDate><guid>http://kenji.blog/id/p/github%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AB%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/github%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AB%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/octocat.png" alt="Featured image of post Cara Mengatur Domain Kustom untuk Repositori Github" />&lt;p>Untuk mengatur domain kustom pada repositori Github, Anda perlu mengubah pengaturan DNS domain tersebut.
Di sini, kami berasumsi bahwa Anda mengelola domain Anda menggunakan
&lt;a href="https://px.a8.net/svt/ejp?a8mat=3TJBXA+BKRHS2+50+2HHVNM" rel="nofollow">Onamae.com&lt;/a>
&lt;img border="0" width="1" height="1" src="https://www19.a8.net/0.gif?a8mat=3TJBXA+BKRHS2+50+2HHVNM" alt="">
untuk menjelaskan prosesnya.
Pengaturan serupa juga dapat dilakukan dengan menulis ulang data A di pendaftar lain.&lt;/p>
&lt;h2 id="mengubah-pengaturan-dns-di-onamaecom">Mengubah Pengaturan DNS di Onamae.com
&lt;/h2>&lt;p>Untuk mengubah pengaturan DNS domain, masuk ke panel manajemen
&lt;a href="https://px.a8.net/svt/ejp?a8mat=3TJBXA+BKRHS2+50+2HHVNM" rel="nofollow">Onamae.com&lt;/a>
&lt;img border="0" width="1" height="1" src="https://www19.a8.net/0.gif?a8mat=3TJBXA+BKRHS2+50+2HHVNM" alt="">.
Setelah masuk, buka layar manajemen domain.
Setelah Anda berada di layar manajemen domain, ubah pengaturan DNS.
Untuk mengubah pengaturan DNS, ikuti langkah-langkah berikut.&lt;/p>
&lt;ol>
&lt;li>Kunjungi &lt;a class="link" href="https://www.onamae.com/" target="_blank" rel="noopener"
>https://www.onamae.com/&lt;/a> dan klik &amp;ldquo;Login Onamae.com Navi&amp;rdquo;&lt;/li>
&lt;li>Masukkan &amp;ldquo;ID Onamae (ID Anggota)&amp;rdquo; dan &amp;ldquo;Kata Sandi&amp;rdquo; lalu klik tombol login&lt;/li>
&lt;li>Klik &amp;ldquo;Pengaturan Server Nama&amp;rdquo;&lt;/li>
&lt;li>Klik &amp;ldquo;Pengaturan DNS Domain&amp;rdquo;&lt;/li>
&lt;li>Pilih domain yang ingin Anda atur dan klik &amp;ldquo;Berikutnya&amp;rdquo;&lt;/li>
&lt;li>Klik &amp;ldquo;Atur&amp;rdquo; di sebelah kanan &amp;ldquo;Gunakan pengaturan catatan DNS&amp;rdquo;&lt;/li>
&lt;li>Pilih A untuk TYPE, masukkan 3600 untuk TTL, dan &amp;ldquo;185.199.108.153&amp;rdquo; untuk VALUE, lalu klik &amp;ldquo;Tambah&amp;rdquo;&lt;/li>
&lt;li>Mirip dengan langkah 7, tambahkan juga &amp;ldquo;185.199.109.153&amp;rdquo;, &amp;ldquo;185.199.110.153&amp;rdquo;, dan &amp;ldquo;185.199.111.153&amp;rdquo;&lt;/li>
&lt;li>Di &amp;ldquo;Konfirmasi perubahan server nama untuk pengaturan catatan DNS&amp;rdquo;, pastikan kotak dicentang dan klik &amp;ldquo;Lanjut ke layar pengaturan&amp;rdquo;&lt;/li>
&lt;li>Jika layar bertuliskan &amp;ldquo;Untuk mencegah perubahan pengaturan DNS yang tidak disengaja&amp;rdquo; muncul, klik &amp;ldquo;Jangan atur&amp;rdquo; (pilih sesuai kebutuhan)&lt;/li>
&lt;li>Periksa pengaturan dan klik &amp;ldquo;Atur&amp;rdquo;
&lt;img src="http://kenji.blog/p/github%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AB%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img.png"
width="656"
height="140"
srcset="http://kenji.blog/p/github%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AB%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_hu4809a0e7ac5f7d8dfe8c6643786c9385_7354_480x0_resize_box_3.png 480w, http://kenji.blog/p/github%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AB%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_hu4809a0e7ac5f7d8dfe8c6643786c9385_7354_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="468"
data-flex-basis="1124px"
>&lt;/li>
&lt;li>Ini melengkapi pengaturan DNS. Mungkin butuh hingga sekitar 72 jam agar pembaruan selesai.&lt;/li>
&lt;li>Jika perubahan tidak tercermin setelah 72 jam, silakan hubungi dukungan Onamae.com.&lt;/li>
&lt;/ol>
&lt;p>Untuk memeriksa apakah pengaturan telah tercermin di lingkungan lokal Anda, silakan coba jalankan perintah berikut.
Ganti &lt;code>example.com&lt;/code> dengan domain yang ingin Anda periksa.&lt;/p>
&lt;h3 id="untuk-linux-dan-mac">Untuk Linux dan Mac
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">dig example.com +noall +answer -t A
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Jika hasilnya seperti berikut, pengaturan telah diterapkan.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">example.com. &lt;span class="m">0&lt;/span> IN A 185.199.108.153
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">example.com. &lt;span class="m">0&lt;/span> IN A 185.199.109.153
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">example.com. &lt;span class="m">0&lt;/span> IN A 185.199.110.153
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">example.com. &lt;span class="m">0&lt;/span> IN A 185.199.111.153
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="untuk-windows">Untuk Windows
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">nslookup -q&lt;span class="o">=&lt;/span>a example.com 8.8.8.8
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Jika hasilnya seperti berikut, pengaturan telah diterapkan.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;span class="lnt">9
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">サーバー: dns.google
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Address: 8.8.8.8
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">権限のない回答:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">名前: example.com
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Addresses: 185.199.108.153
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> 185.199.109.153
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> 185.199.110.153
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> 185.199.111.153
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="mengatur-domain-kustom-di-repositori-github">Mengatur Domain Kustom di Repositori Github
&lt;/h2>&lt;ol>
&lt;li>Buka halaman repositori dan klik Settings (Pengaturan)&lt;/li>
&lt;li>Klik Pages (Halaman)&lt;/li>
&lt;li>Jika Anda mempublikasikan sumber repositori apa adanya, pilih &amp;ldquo;Deploy from a branch&amp;rdquo; di bagian Source. Jika Anda membangun sumber seperti HUGO, pilih &amp;ldquo;GitHub Actions&amp;rdquo;.&lt;/li>
&lt;li>Pilih cabang yang akan dipublikasikan di bawah Branch dan klik Save (Simpan)&lt;/li>
&lt;li>Masukkan domain yang Anda peroleh di Custom domain (Domain kustom) dan klik Save.&lt;/li>
&lt;li>Jika perlu, centang kotak &amp;ldquo;Enforce HTTPS&amp;rdquo; untuk mengaktifkan dukungan HTTPS&lt;/li>
&lt;/ol>
&lt;p>[PR]
&lt;a href="https://px.a8.net/svt/ejp?a8mat=3TJBXA+BKRHS2+50+2HQGAP" rel="nofollow">
&lt;img border="0" width="468" height="60" alt="" src="https://www24.a8.net/svt/bgt?aid=231009310700&amp;wid=003&amp;eno=01&amp;mid=s00000000018015072000&amp;mc=1">&lt;/a>
&lt;img border="0" width="1" height="1" src="https://www14.a8.net/0.gif?a8mat=3TJBXA+BKRHS2+50+2HQGAP" alt="">&lt;/p></description></item><item><title>Membuat .gitignore dengan perintah dotnet</title><link>http://kenji.blog/id/p/dotnet%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7.gitignore%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B/</link><pubDate>Tue, 13 Sep 2022 00:25:12 +0900</pubDate><guid>http://kenji.blog/id/p/dotnet%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7.gitignore%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B/</guid><description>&lt;img src="http://kenji.blog/p/dotnet%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7.gitignore%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B/img_1.png" alt="Featured image of post Membuat .gitignore dengan perintah dotnet" />&lt;p>Perintah dotnet.exe berguna karena memungkinkan Anda untuk membangun program sederhana, jadi sangat praktis untuk disiapkan.&lt;/p>
&lt;h2 id="menginstal-net-sdk">Menginstal .NET SDK
&lt;/h2>&lt;p>Karena dotnet.exe disertakan dalam .NET SDK, pertama-tama instal .NET SDK.
Jalankan cmd.exe dengan hak administrator dan jalankan perintah berikut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cmd" data-lang="cmd">&lt;span class="line">&lt;span class="cl">winget install Microsoft.DotNet.SDK.6
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="membuat-gitignore">Membuat .gitignore
&lt;/h2>&lt;p>Perintah untuk membuat .gitignore dengan dotnet.exe adalah sebagai berikut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">dotnet new gitignore
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>.gitignore yang dihasilkan adalah sebagai berikut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt"> 10
&lt;/span>&lt;span class="lnt"> 11
&lt;/span>&lt;span class="lnt"> 12
&lt;/span>&lt;span class="lnt"> 13
&lt;/span>&lt;span class="lnt"> 14
&lt;/span>&lt;span class="lnt"> 15
&lt;/span>&lt;span class="lnt"> 16
&lt;/span>&lt;span class="lnt"> 17
&lt;/span>&lt;span class="lnt"> 18
&lt;/span>&lt;span class="lnt"> 19
&lt;/span>&lt;span class="lnt"> 20
&lt;/span>&lt;span class="lnt"> 21
&lt;/span>&lt;span class="lnt"> 22
&lt;/span>&lt;span class="lnt"> 23
&lt;/span>&lt;span class="lnt"> 24
&lt;/span>&lt;span class="lnt"> 25
&lt;/span>&lt;span class="lnt"> 26
&lt;/span>&lt;span class="lnt"> 27
&lt;/span>&lt;span class="lnt"> 28
&lt;/span>&lt;span class="lnt"> 29
&lt;/span>&lt;span class="lnt"> 30
&lt;/span>&lt;span class="lnt"> 31
&lt;/span>&lt;span class="lnt"> 32
&lt;/span>&lt;span class="lnt"> 33
&lt;/span>&lt;span class="lnt"> 34
&lt;/span>&lt;span class="lnt"> 35
&lt;/span>&lt;span class="lnt"> 36
&lt;/span>&lt;span class="lnt"> 37
&lt;/span>&lt;span class="lnt"> 38
&lt;/span>&lt;span class="lnt"> 39
&lt;/span>&lt;span class="lnt"> 40
&lt;/span>&lt;span class="lnt"> 41
&lt;/span>&lt;span class="lnt"> 42
&lt;/span>&lt;span class="lnt"> 43
&lt;/span>&lt;span class="lnt"> 44
&lt;/span>&lt;span class="lnt"> 45
&lt;/span>&lt;span class="lnt"> 46
&lt;/span>&lt;span class="lnt"> 47
&lt;/span>&lt;span class="lnt"> 48
&lt;/span>&lt;span class="lnt"> 49
&lt;/span>&lt;span class="lnt"> 50
&lt;/span>&lt;span class="lnt"> 51
&lt;/span>&lt;span class="lnt"> 52
&lt;/span>&lt;span class="lnt"> 53
&lt;/span>&lt;span class="lnt"> 54
&lt;/span>&lt;span class="lnt"> 55
&lt;/span>&lt;span class="lnt"> 56
&lt;/span>&lt;span class="lnt"> 57
&lt;/span>&lt;span class="lnt"> 58
&lt;/span>&lt;span class="lnt"> 59
&lt;/span>&lt;span class="lnt"> 60
&lt;/span>&lt;span class="lnt"> 61
&lt;/span>&lt;span class="lnt"> 62
&lt;/span>&lt;span class="lnt"> 63
&lt;/span>&lt;span class="lnt"> 64
&lt;/span>&lt;span class="lnt"> 65
&lt;/span>&lt;span class="lnt"> 66
&lt;/span>&lt;span class="lnt"> 67
&lt;/span>&lt;span class="lnt"> 68
&lt;/span>&lt;span class="lnt"> 69
&lt;/span>&lt;span class="lnt"> 70
&lt;/span>&lt;span class="lnt"> 71
&lt;/span>&lt;span class="lnt"> 72
&lt;/span>&lt;span class="lnt"> 73
&lt;/span>&lt;span class="lnt"> 74
&lt;/span>&lt;span class="lnt"> 75
&lt;/span>&lt;span class="lnt"> 76
&lt;/span>&lt;span class="lnt"> 77
&lt;/span>&lt;span class="lnt"> 78
&lt;/span>&lt;span class="lnt"> 79
&lt;/span>&lt;span class="lnt"> 80
&lt;/span>&lt;span class="lnt"> 81
&lt;/span>&lt;span class="lnt"> 82
&lt;/span>&lt;span class="lnt"> 83
&lt;/span>&lt;span class="lnt"> 84
&lt;/span>&lt;span class="lnt"> 85
&lt;/span>&lt;span class="lnt"> 86
&lt;/span>&lt;span class="lnt"> 87
&lt;/span>&lt;span class="lnt"> 88
&lt;/span>&lt;span class="lnt"> 89
&lt;/span>&lt;span class="lnt"> 90
&lt;/span>&lt;span class="lnt"> 91
&lt;/span>&lt;span class="lnt"> 92
&lt;/span>&lt;span class="lnt"> 93
&lt;/span>&lt;span class="lnt"> 94
&lt;/span>&lt;span class="lnt"> 95
&lt;/span>&lt;span class="lnt"> 96
&lt;/span>&lt;span class="lnt"> 97
&lt;/span>&lt;span class="lnt"> 98
&lt;/span>&lt;span class="lnt"> 99
&lt;/span>&lt;span class="lnt">100
&lt;/span>&lt;span class="lnt">101
&lt;/span>&lt;span class="lnt">102
&lt;/span>&lt;span class="lnt">103
&lt;/span>&lt;span class="lnt">104
&lt;/span>&lt;span class="lnt">105
&lt;/span>&lt;span class="lnt">106
&lt;/span>&lt;span class="lnt">107
&lt;/span>&lt;span class="lnt">108
&lt;/span>&lt;span class="lnt">109
&lt;/span>&lt;span class="lnt">110
&lt;/span>&lt;span class="lnt">111
&lt;/span>&lt;span class="lnt">112
&lt;/span>&lt;span class="lnt">113
&lt;/span>&lt;span class="lnt">114
&lt;/span>&lt;span class="lnt">115
&lt;/span>&lt;span class="lnt">116
&lt;/span>&lt;span class="lnt">117
&lt;/span>&lt;span class="lnt">118
&lt;/span>&lt;span class="lnt">119
&lt;/span>&lt;span class="lnt">120
&lt;/span>&lt;span class="lnt">121
&lt;/span>&lt;span class="lnt">122
&lt;/span>&lt;span class="lnt">123
&lt;/span>&lt;span class="lnt">124
&lt;/span>&lt;span class="lnt">125
&lt;/span>&lt;span class="lnt">126
&lt;/span>&lt;span class="lnt">127
&lt;/span>&lt;span class="lnt">128
&lt;/span>&lt;span class="lnt">129
&lt;/span>&lt;span class="lnt">130
&lt;/span>&lt;span class="lnt">131
&lt;/span>&lt;span class="lnt">132
&lt;/span>&lt;span class="lnt">133
&lt;/span>&lt;span class="lnt">134
&lt;/span>&lt;span class="lnt">135
&lt;/span>&lt;span class="lnt">136
&lt;/span>&lt;span class="lnt">137
&lt;/span>&lt;span class="lnt">138
&lt;/span>&lt;span class="lnt">139
&lt;/span>&lt;span class="lnt">140
&lt;/span>&lt;span class="lnt">141
&lt;/span>&lt;span class="lnt">142
&lt;/span>&lt;span class="lnt">143
&lt;/span>&lt;span class="lnt">144
&lt;/span>&lt;span class="lnt">145
&lt;/span>&lt;span class="lnt">146
&lt;/span>&lt;span class="lnt">147
&lt;/span>&lt;span class="lnt">148
&lt;/span>&lt;span class="lnt">149
&lt;/span>&lt;span class="lnt">150
&lt;/span>&lt;span class="lnt">151
&lt;/span>&lt;span class="lnt">152
&lt;/span>&lt;span class="lnt">153
&lt;/span>&lt;span class="lnt">154
&lt;/span>&lt;span class="lnt">155
&lt;/span>&lt;span class="lnt">156
&lt;/span>&lt;span class="lnt">157
&lt;/span>&lt;span class="lnt">158
&lt;/span>&lt;span class="lnt">159
&lt;/span>&lt;span class="lnt">160
&lt;/span>&lt;span class="lnt">161
&lt;/span>&lt;span class="lnt">162
&lt;/span>&lt;span class="lnt">163
&lt;/span>&lt;span class="lnt">164
&lt;/span>&lt;span class="lnt">165
&lt;/span>&lt;span class="lnt">166
&lt;/span>&lt;span class="lnt">167
&lt;/span>&lt;span class="lnt">168
&lt;/span>&lt;span class="lnt">169
&lt;/span>&lt;span class="lnt">170
&lt;/span>&lt;span class="lnt">171
&lt;/span>&lt;span class="lnt">172
&lt;/span>&lt;span class="lnt">173
&lt;/span>&lt;span class="lnt">174
&lt;/span>&lt;span class="lnt">175
&lt;/span>&lt;span class="lnt">176
&lt;/span>&lt;span class="lnt">177
&lt;/span>&lt;span class="lnt">178
&lt;/span>&lt;span class="lnt">179
&lt;/span>&lt;span class="lnt">180
&lt;/span>&lt;span class="lnt">181
&lt;/span>&lt;span class="lnt">182
&lt;/span>&lt;span class="lnt">183
&lt;/span>&lt;span class="lnt">184
&lt;/span>&lt;span class="lnt">185
&lt;/span>&lt;span class="lnt">186
&lt;/span>&lt;span class="lnt">187
&lt;/span>&lt;span class="lnt">188
&lt;/span>&lt;span class="lnt">189
&lt;/span>&lt;span class="lnt">190
&lt;/span>&lt;span class="lnt">191
&lt;/span>&lt;span class="lnt">192
&lt;/span>&lt;span class="lnt">193
&lt;/span>&lt;span class="lnt">194
&lt;/span>&lt;span class="lnt">195
&lt;/span>&lt;span class="lnt">196
&lt;/span>&lt;span class="lnt">197
&lt;/span>&lt;span class="lnt">198
&lt;/span>&lt;span class="lnt">199
&lt;/span>&lt;span class="lnt">200
&lt;/span>&lt;span class="lnt">201
&lt;/span>&lt;span class="lnt">202
&lt;/span>&lt;span class="lnt">203
&lt;/span>&lt;span class="lnt">204
&lt;/span>&lt;span class="lnt">205
&lt;/span>&lt;span class="lnt">206
&lt;/span>&lt;span class="lnt">207
&lt;/span>&lt;span class="lnt">208
&lt;/span>&lt;span class="lnt">209
&lt;/span>&lt;span class="lnt">210
&lt;/span>&lt;span class="lnt">211
&lt;/span>&lt;span class="lnt">212
&lt;/span>&lt;span class="lnt">213
&lt;/span>&lt;span class="lnt">214
&lt;/span>&lt;span class="lnt">215
&lt;/span>&lt;span class="lnt">216
&lt;/span>&lt;span class="lnt">217
&lt;/span>&lt;span class="lnt">218
&lt;/span>&lt;span class="lnt">219
&lt;/span>&lt;span class="lnt">220
&lt;/span>&lt;span class="lnt">221
&lt;/span>&lt;span class="lnt">222
&lt;/span>&lt;span class="lnt">223
&lt;/span>&lt;span class="lnt">224
&lt;/span>&lt;span class="lnt">225
&lt;/span>&lt;span class="lnt">226
&lt;/span>&lt;span class="lnt">227
&lt;/span>&lt;span class="lnt">228
&lt;/span>&lt;span class="lnt">229
&lt;/span>&lt;span class="lnt">230
&lt;/span>&lt;span class="lnt">231
&lt;/span>&lt;span class="lnt">232
&lt;/span>&lt;span class="lnt">233
&lt;/span>&lt;span class="lnt">234
&lt;/span>&lt;span class="lnt">235
&lt;/span>&lt;span class="lnt">236
&lt;/span>&lt;span class="lnt">237
&lt;/span>&lt;span class="lnt">238
&lt;/span>&lt;span class="lnt">239
&lt;/span>&lt;span class="lnt">240
&lt;/span>&lt;span class="lnt">241
&lt;/span>&lt;span class="lnt">242
&lt;/span>&lt;span class="lnt">243
&lt;/span>&lt;span class="lnt">244
&lt;/span>&lt;span class="lnt">245
&lt;/span>&lt;span class="lnt">246
&lt;/span>&lt;span class="lnt">247
&lt;/span>&lt;span class="lnt">248
&lt;/span>&lt;span class="lnt">249
&lt;/span>&lt;span class="lnt">250
&lt;/span>&lt;span class="lnt">251
&lt;/span>&lt;span class="lnt">252
&lt;/span>&lt;span class="lnt">253
&lt;/span>&lt;span class="lnt">254
&lt;/span>&lt;span class="lnt">255
&lt;/span>&lt;span class="lnt">256
&lt;/span>&lt;span class="lnt">257
&lt;/span>&lt;span class="lnt">258
&lt;/span>&lt;span class="lnt">259
&lt;/span>&lt;span class="lnt">260
&lt;/span>&lt;span class="lnt">261
&lt;/span>&lt;span class="lnt">262
&lt;/span>&lt;span class="lnt">263
&lt;/span>&lt;span class="lnt">264
&lt;/span>&lt;span class="lnt">265
&lt;/span>&lt;span class="lnt">266
&lt;/span>&lt;span class="lnt">267
&lt;/span>&lt;span class="lnt">268
&lt;/span>&lt;span class="lnt">269
&lt;/span>&lt;span class="lnt">270
&lt;/span>&lt;span class="lnt">271
&lt;/span>&lt;span class="lnt">272
&lt;/span>&lt;span class="lnt">273
&lt;/span>&lt;span class="lnt">274
&lt;/span>&lt;span class="lnt">275
&lt;/span>&lt;span class="lnt">276
&lt;/span>&lt;span class="lnt">277
&lt;/span>&lt;span class="lnt">278
&lt;/span>&lt;span class="lnt">279
&lt;/span>&lt;span class="lnt">280
&lt;/span>&lt;span class="lnt">281
&lt;/span>&lt;span class="lnt">282
&lt;/span>&lt;span class="lnt">283
&lt;/span>&lt;span class="lnt">284
&lt;/span>&lt;span class="lnt">285
&lt;/span>&lt;span class="lnt">286
&lt;/span>&lt;span class="lnt">287
&lt;/span>&lt;span class="lnt">288
&lt;/span>&lt;span class="lnt">289
&lt;/span>&lt;span class="lnt">290
&lt;/span>&lt;span class="lnt">291
&lt;/span>&lt;span class="lnt">292
&lt;/span>&lt;span class="lnt">293
&lt;/span>&lt;span class="lnt">294
&lt;/span>&lt;span class="lnt">295
&lt;/span>&lt;span class="lnt">296
&lt;/span>&lt;span class="lnt">297
&lt;/span>&lt;span class="lnt">298
&lt;/span>&lt;span class="lnt">299
&lt;/span>&lt;span class="lnt">300
&lt;/span>&lt;span class="lnt">301
&lt;/span>&lt;span class="lnt">302
&lt;/span>&lt;span class="lnt">303
&lt;/span>&lt;span class="lnt">304
&lt;/span>&lt;span class="lnt">305
&lt;/span>&lt;span class="lnt">306
&lt;/span>&lt;span class="lnt">307
&lt;/span>&lt;span class="lnt">308
&lt;/span>&lt;span class="lnt">309
&lt;/span>&lt;span class="lnt">310
&lt;/span>&lt;span class="lnt">311
&lt;/span>&lt;span class="lnt">312
&lt;/span>&lt;span class="lnt">313
&lt;/span>&lt;span class="lnt">314
&lt;/span>&lt;span class="lnt">315
&lt;/span>&lt;span class="lnt">316
&lt;/span>&lt;span class="lnt">317
&lt;/span>&lt;span class="lnt">318
&lt;/span>&lt;span class="lnt">319
&lt;/span>&lt;span class="lnt">320
&lt;/span>&lt;span class="lnt">321
&lt;/span>&lt;span class="lnt">322
&lt;/span>&lt;span class="lnt">323
&lt;/span>&lt;span class="lnt">324
&lt;/span>&lt;span class="lnt">325
&lt;/span>&lt;span class="lnt">326
&lt;/span>&lt;span class="lnt">327
&lt;/span>&lt;span class="lnt">328
&lt;/span>&lt;span class="lnt">329
&lt;/span>&lt;span class="lnt">330
&lt;/span>&lt;span class="lnt">331
&lt;/span>&lt;span class="lnt">332
&lt;/span>&lt;span class="lnt">333
&lt;/span>&lt;span class="lnt">334
&lt;/span>&lt;span class="lnt">335
&lt;/span>&lt;span class="lnt">336
&lt;/span>&lt;span class="lnt">337
&lt;/span>&lt;span class="lnt">338
&lt;/span>&lt;span class="lnt">339
&lt;/span>&lt;span class="lnt">340
&lt;/span>&lt;span class="lnt">341
&lt;/span>&lt;span class="lnt">342
&lt;/span>&lt;span class="lnt">343
&lt;/span>&lt;span class="lnt">344
&lt;/span>&lt;span class="lnt">345
&lt;/span>&lt;span class="lnt">346
&lt;/span>&lt;span class="lnt">347
&lt;/span>&lt;span class="lnt">348
&lt;/span>&lt;span class="lnt">349
&lt;/span>&lt;span class="lnt">350
&lt;/span>&lt;span class="lnt">351
&lt;/span>&lt;span class="lnt">352
&lt;/span>&lt;span class="lnt">353
&lt;/span>&lt;span class="lnt">354
&lt;/span>&lt;span class="lnt">355
&lt;/span>&lt;span class="lnt">356
&lt;/span>&lt;span class="lnt">357
&lt;/span>&lt;span class="lnt">358
&lt;/span>&lt;span class="lnt">359
&lt;/span>&lt;span class="lnt">360
&lt;/span>&lt;span class="lnt">361
&lt;/span>&lt;span class="lnt">362
&lt;/span>&lt;span class="lnt">363
&lt;/span>&lt;span class="lnt">364
&lt;/span>&lt;span class="lnt">365
&lt;/span>&lt;span class="lnt">366
&lt;/span>&lt;span class="lnt">367
&lt;/span>&lt;span class="lnt">368
&lt;/span>&lt;span class="lnt">369
&lt;/span>&lt;span class="lnt">370
&lt;/span>&lt;span class="lnt">371
&lt;/span>&lt;span class="lnt">372
&lt;/span>&lt;span class="lnt">373
&lt;/span>&lt;span class="lnt">374
&lt;/span>&lt;span class="lnt">375
&lt;/span>&lt;span class="lnt">376
&lt;/span>&lt;span class="lnt">377
&lt;/span>&lt;span class="lnt">378
&lt;/span>&lt;span class="lnt">379
&lt;/span>&lt;span class="lnt">380
&lt;/span>&lt;span class="lnt">381
&lt;/span>&lt;span class="lnt">382
&lt;/span>&lt;span class="lnt">383
&lt;/span>&lt;span class="lnt">384
&lt;/span>&lt;span class="lnt">385
&lt;/span>&lt;span class="lnt">386
&lt;/span>&lt;span class="lnt">387
&lt;/span>&lt;span class="lnt">388
&lt;/span>&lt;span class="lnt">389
&lt;/span>&lt;span class="lnt">390
&lt;/span>&lt;span class="lnt">391
&lt;/span>&lt;span class="lnt">392
&lt;/span>&lt;span class="lnt">393
&lt;/span>&lt;span class="lnt">394
&lt;/span>&lt;span class="lnt">395
&lt;/span>&lt;span class="lnt">396
&lt;/span>&lt;span class="lnt">397
&lt;/span>&lt;span class="lnt">398
&lt;/span>&lt;span class="lnt">399
&lt;/span>&lt;span class="lnt">400
&lt;/span>&lt;span class="lnt">401
&lt;/span>&lt;span class="lnt">402
&lt;/span>&lt;span class="lnt">403
&lt;/span>&lt;span class="lnt">404
&lt;/span>&lt;span class="lnt">405
&lt;/span>&lt;span class="lnt">406
&lt;/span>&lt;span class="lnt">407
&lt;/span>&lt;span class="lnt">408
&lt;/span>&lt;span class="lnt">409
&lt;/span>&lt;span class="lnt">410
&lt;/span>&lt;span class="lnt">411
&lt;/span>&lt;span class="lnt">412
&lt;/span>&lt;span class="lnt">413
&lt;/span>&lt;span class="lnt">414
&lt;/span>&lt;span class="lnt">415
&lt;/span>&lt;span class="lnt">416
&lt;/span>&lt;span class="lnt">417
&lt;/span>&lt;span class="lnt">418
&lt;/span>&lt;span class="lnt">419
&lt;/span>&lt;span class="lnt">420
&lt;/span>&lt;span class="lnt">421
&lt;/span>&lt;span class="lnt">422
&lt;/span>&lt;span class="lnt">423
&lt;/span>&lt;span class="lnt">424
&lt;/span>&lt;span class="lnt">425
&lt;/span>&lt;span class="lnt">426
&lt;/span>&lt;span class="lnt">427
&lt;/span>&lt;span class="lnt">428
&lt;/span>&lt;span class="lnt">429
&lt;/span>&lt;span class="lnt">430
&lt;/span>&lt;span class="lnt">431
&lt;/span>&lt;span class="lnt">432
&lt;/span>&lt;span class="lnt">433
&lt;/span>&lt;span class="lnt">434
&lt;/span>&lt;span class="lnt">435
&lt;/span>&lt;span class="lnt">436
&lt;/span>&lt;span class="lnt">437
&lt;/span>&lt;span class="lnt">438
&lt;/span>&lt;span class="lnt">439
&lt;/span>&lt;span class="lnt">440
&lt;/span>&lt;span class="lnt">441
&lt;/span>&lt;span class="lnt">442
&lt;/span>&lt;span class="lnt">443
&lt;/span>&lt;span class="lnt">444
&lt;/span>&lt;span class="lnt">445
&lt;/span>&lt;span class="lnt">446
&lt;/span>&lt;span class="lnt">447
&lt;/span>&lt;span class="lnt">448
&lt;/span>&lt;span class="lnt">449
&lt;/span>&lt;span class="lnt">450
&lt;/span>&lt;span class="lnt">451
&lt;/span>&lt;span class="lnt">452
&lt;/span>&lt;span class="lnt">453
&lt;/span>&lt;span class="lnt">454
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="cl">&lt;span class="c1">## Ignore Visual Studio temporary files, build results, and&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">## files generated by popular Visual Studio add-ons.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">##&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># User-specific files&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">rsuser&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">suo&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">user&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">userosscache&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">sln&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">docstates&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># User-specific files (MonoDevelop/Xamarin Studio)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">userprefs&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Mono auto generated files&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">mono_crash&lt;/span>&lt;span class="o">.*&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Build results&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Dd&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">ebug&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Dd&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">ebugPublic&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Rr&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">elease&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Rr&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">eleases&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">x64&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">x86&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Ww&lt;/span>&lt;span class="p">][&lt;/span>&lt;span class="n">Ii&lt;/span>&lt;span class="p">][&lt;/span>&lt;span class="n">Nn&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="mi">32&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Aa&lt;/span>&lt;span class="p">][&lt;/span>&lt;span class="n">Rr&lt;/span>&lt;span class="p">][&lt;/span>&lt;span class="n">Mm&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Aa&lt;/span>&lt;span class="p">][&lt;/span>&lt;span class="n">Rr&lt;/span>&lt;span class="p">][&lt;/span>&lt;span class="n">Mm&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="mi">64&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">bld&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Bb&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="ow">in&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Oo&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">bj&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Ll&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">og&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Ll&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">ogs&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Visual Studio 2015/2017 cache/options directory&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">vs&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Uncomment if you have tasks that create the project&amp;#39;s static files in wwwroot&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">#wwwroot/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Visual Studio 2017 auto generated files&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Generated&lt;/span>\ &lt;span class="n">Files&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># MSTest test Results&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Tt&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">est&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Rr&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">esult&lt;/span>&lt;span class="o">*/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Bb&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">uild&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Ll&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">og&lt;/span>&lt;span class="o">.*&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># NUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">VisualState&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">xml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">TestResult&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">xml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">nunit&lt;/span>&lt;span class="o">-*.&lt;/span>&lt;span class="n">xml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Build Results of an ATL Project&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Dd&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">ebugPS&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Rr&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">eleasePS&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">dlldata&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">c&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Benchmark Results&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">BenchmarkDotNet&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Artifacts&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># .NET&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">project&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">lock&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">json&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">project&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">fragment&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">lock&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">json&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">artifacts&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Tye&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">tye&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># ASP.NET Scaffolding&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ScaffoldingReadMe&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">txt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># StyleCop&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">StyleCopReport&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">xml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Files built by Visual Studio&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*&lt;/span>&lt;span class="n">_i&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">c&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*&lt;/span>&lt;span class="n">_p&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">c&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*&lt;/span>&lt;span class="n">_h&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">h&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">ilk&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">meta&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">obj&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">iobj&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">pch&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">pdb&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">ipdb&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">pgc&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">pgd&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">rsp&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">sbr&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">tlb&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">tli&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">tlh&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">tmp&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">tmp_proj&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*&lt;/span>&lt;span class="n">_wpftmp&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">csproj&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">log&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">vspscc&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">vssscc&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">builds&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">pidb&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">svclog&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">scc&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Chutzpah Test files&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">_Chutzpah&lt;/span>&lt;span class="o">*&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Visual C++ cache files&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ipch&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">aps&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">ncb&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">opendb&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">opensdf&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">sdf&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">cachefile&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">VC&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">db&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">VC&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">VC&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">opendb&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Visual Studio profiler&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">psess&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">vsp&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">vspx&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">sap&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Visual Studio Trace Files&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">e2e&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># TFS 2012 Local Workspace&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">$&lt;/span>&lt;span class="n">tf&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Guidance Automation Toolkit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">gpState&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># ReSharper is a .NET coding add-in&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">_ReSharper&lt;/span>&lt;span class="o">*/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Rr&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">e&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Ss&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">harper&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">DotSettings&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">user&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># TeamCity is a build add-in&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">_TeamCity&lt;/span>&lt;span class="o">*&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># DotCover is a Code Coverage Tool&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">dotCover&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># AxoCover is a Code Coverage Tool&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">axoCover&lt;/span>&lt;span class="o">/*&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">!.&lt;/span>&lt;span class="n">axoCover&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">settings&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">json&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Coverlet is a free, cross platform Code Coverage Tool&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">coverage&lt;/span>&lt;span class="o">*.&lt;/span>&lt;span class="n">json&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">coverage&lt;/span>&lt;span class="o">*.&lt;/span>&lt;span class="n">xml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">coverage&lt;/span>&lt;span class="o">*.&lt;/span>&lt;span class="n">info&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Visual Studio code coverage results&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">coverage&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">coveragexml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># NCrunch&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">_NCrunch_&lt;/span>&lt;span class="o">*&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.*&lt;/span>&lt;span class="n">crunch&lt;/span>&lt;span class="o">*.&lt;/span>&lt;span class="n">local&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">xml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">nCrunchTemp_&lt;/span>&lt;span class="o">*&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># MightyMoose&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">mm&lt;/span>&lt;span class="o">.*&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">AutoTest&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Net&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Web workbench (sass)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">sass&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">cache&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Installshield output folder&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Ee&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">xpress&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># DocProject is a documentation generator add-in&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">DocProject&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">buildhelp&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">DocProject&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Help&lt;/span>&lt;span class="o">/*.&lt;/span>&lt;span class="n">HxT&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">DocProject&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Help&lt;/span>&lt;span class="o">/*.&lt;/span>&lt;span class="n">HxC&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">DocProject&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Help&lt;/span>&lt;span class="o">/*.&lt;/span>&lt;span class="n">hhc&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">DocProject&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Help&lt;/span>&lt;span class="o">/*.&lt;/span>&lt;span class="n">hhk&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">DocProject&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Help&lt;/span>&lt;span class="o">/*.&lt;/span>&lt;span class="n">hhp&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">DocProject&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Help&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Html2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">DocProject&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Help&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">html&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Click-Once directory&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">publish&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Publish Web Output&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Pp&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">ublish&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">xml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">azurePubxml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Note: Comment the next line if you want to checkin your web deploy settings,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># but database connection strings (with potential passwords) will be unencrypted&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">pubxml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">publishproj&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Microsoft Azure Web App publish settings. Comment the next line if you want to&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># checkin your Azure Web App publish settings, but sensitive information contained&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># in these scripts will be unencrypted&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">PublishScripts&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># NuGet Packages&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">nupkg&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># NuGet Symbol Packages&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">snupkg&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># The packages folder can be ignored because of Package Restore&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">**/&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Pp&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">ackages&lt;/span>&lt;span class="o">/*&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># except build/, which is used as an MSBuild target.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">!**/&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Pp&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">ackages&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">build&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Uncomment if necessary however generally it will be regenerated when needed&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">#!**/[Pp]ackages/repositories.config&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># NuGet v3&amp;#39;s project.json files produces more ignorable files&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">nuget&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">props&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">nuget&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">targets&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Microsoft Azure Build Output&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">csx&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">build&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">csdef&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Microsoft Azure Emulator&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ecf&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">rcf&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Windows Store app package directories and files&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">AppPackages&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">BundleArtifacts&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Package&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">StoreAssociation&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">xml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">_pkginfo&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">txt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">appx&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">appxbundle&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">appxupload&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Visual Studio cache files&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># files ending in .cache can be ignored&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Cc&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">ache&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># but keep track of directories ending in .cache&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">!&lt;/span>&lt;span class="err">?&lt;/span>&lt;span class="o">*.&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">Cc&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">ache&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Others&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ClientBin&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">~$*&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*~&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">dbmdl&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">dbproj&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">schemaview&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">jfm&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">pfx&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">publishsettings&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">orleans&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">codegen&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cs&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Including strong name files can present a security risk&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># (https://github.com/github/gitignore/pull/2483#issue-259490424)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">#*.snk&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Since there are multiple workflows, uncomment next line to ignore bower_components&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">#bower_components/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># RIA/Silverlight projects&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Generated_Code&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Backup &amp;amp; report files from converting an old project file&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># to a newer Visual Studio version. Backup files are not needed,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># because we have git ;-)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">_UpgradeReport_Files&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Backup&lt;/span>&lt;span class="o">*/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">UpgradeLog&lt;/span>&lt;span class="o">*.&lt;/span>&lt;span class="n">XML&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">UpgradeLog&lt;/span>&lt;span class="o">*.&lt;/span>&lt;span class="n">htm&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ServiceFabricBackup&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">rptproj&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">bak&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># SQL Server files&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">mdf&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">ldf&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">ndf&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Business Intelligence projects&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">rdl&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">data&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">bim&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">layout&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">bim_&lt;/span>&lt;span class="o">*.&lt;/span>&lt;span class="n">settings&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">rptproj&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">rsuser&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*-&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">Bb&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">ackup&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">rdl&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*-&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">Bb&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">ackup&lt;/span> &lt;span class="p">([&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">9&lt;/span>&lt;span class="p">])&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">rdl&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*-&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">Bb&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">ackup&lt;/span> &lt;span class="p">([&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">9&lt;/span>&lt;span class="p">][&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">9&lt;/span>&lt;span class="p">])&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">rdl&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Microsoft Fakes&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">FakesAssemblies&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># GhostDoc plugin setting file&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">GhostDoc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">xml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Node.js Tools for Visual Studio&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">ntvs_analysis&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">dat&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">node_modules&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Visual Studio 6 build log&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">plg&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Visual Studio 6 workspace options file&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">opt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Visual Studio 6 auto-generated workspace file (contains which files were open etc.)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">vbw&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Visual Studio LightSwitch build output&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">**/*.&lt;/span>&lt;span class="n">HTMLClient&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">GeneratedArtifacts&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">**/*.&lt;/span>&lt;span class="n">DesktopClient&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">GeneratedArtifacts&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">**/*.&lt;/span>&lt;span class="n">DesktopClient&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ModelManifest&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">xml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">**/*.&lt;/span>&lt;span class="n">Server&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">GeneratedArtifacts&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">**/*.&lt;/span>&lt;span class="n">Server&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">ModelManifest&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">xml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">_Pvt_Extensions&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Paket dependency manager&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">paket&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">paket&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">exe&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">paket&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">files&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># FAKE - F# Make&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">fake&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># CodeRush personal settings&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">cr&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">personal&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Python Tools for Visual Studio (PTVS)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">__pycache__&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">pyc&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Cake - Uncomment if you are using it&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># tools/**&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># !tools/packages.config&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Tabs Studio&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">tss&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Telerik&amp;#39;s JustMock configuration file&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">jmconfig&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># BizTalk build output&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">btp&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cs&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">btm&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cs&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">odx&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cs&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">xsd&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cs&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># OpenCover UI analysis results&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">OpenCover&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Azure Stream Analytics local run output&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ASALocalRun&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># MSBuild Binary and Structured Log&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">binlog&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># NVidia Nsight GPU debugger configuration file&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">nvuser&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># MFractors (Xamarin productivity tool) working folder&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">mfractor&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Local History for Visual Studio&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">localhistory&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># BeatPulse healthcheck temp database&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">healthchecksdb&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Backup folder for Package Reference Convert tool in Visual Studio 2017&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">MigrationBackup&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Ionide (cross platform F# VS Code tools) working folder&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">ionide&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Fody - auto-generated XML schema&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">FodyWeavers&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">xsd&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">##&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">## Visual studio for Mac&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">##&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># globs&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Makefile&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="ow">in&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">userprefs&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">usertasks&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">config&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">make&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">config&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">status&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">aclocal&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">m4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">install&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">sh&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">autom4te&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cache&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">tar&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">gz&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">tarballs&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">test&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">results&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Mac bundle stuff&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">dmg&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">app&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># General&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">DS_Store&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">AppleDouble&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">LSOverride&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Icon must end with two \r&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Icon&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Thumbnails&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">_&lt;/span>&lt;span class="o">*&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Files that might appear in the root of a volume&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">DocumentRevisions&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">V100&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">fseventsd&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">Spotlight&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">V100&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">TemporaryItems&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">Trashes&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">VolumeIcon&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">icns&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">com&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">apple&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">timemachine&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">donotpresent&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Directories potentially created on remote AFP share&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">AppleDB&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">AppleDesktop&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Network&lt;/span> &lt;span class="n">Trash&lt;/span> &lt;span class="n">Folder&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Temporary&lt;/span> &lt;span class="n">Items&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">apdisk&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Windows thumbnail cache files&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Thumbs&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">db&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ehthumbs&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">db&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ehthumbs_vista&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">db&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Dump file&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">stackdump&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Folder config file&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">[&lt;/span>&lt;span class="n">Dd&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="n">esktop&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">ini&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Recycle Bin used on file shares&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">$&lt;/span>&lt;span class="n">RECYCLE&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">BIN&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Windows Installer files&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">cab&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">msi&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">msix&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">msm&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">msp&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Windows shortcuts&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">lnk&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># JetBrains Rider&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">idea&lt;/span>&lt;span class="o">/&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">*.&lt;/span>&lt;span class="n">sln&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">iml&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">##&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">## Visual Studio Code&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">##&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">.&lt;/span>&lt;span class="n">vscode&lt;/span>&lt;span class="o">/*&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">!.&lt;/span>&lt;span class="n">vscode&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">settings&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">json&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">!.&lt;/span>&lt;span class="n">vscode&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">tasks&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">json&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">!.&lt;/span>&lt;span class="n">vscode&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">launch&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">json&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">!.&lt;/span>&lt;span class="n">vscode&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">extensions&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">json&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Meskipun ada banyak file untuk Visual Studio, ini juga menyertakan file yang umumnya tidak memerlukan manajemen di git, seperti &amp;ldquo;.DS_Store&amp;rdquo; di Mac.&lt;/p>
&lt;h2 id="referensi">Referensi
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://docs.microsoft.com/ja-jp/dotnet/core/install/windows?tabs=net60" target="_blank" rel="noopener"
>Instal .NET di Windows&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>11 Game Favorit Saya</title><link>http://kenji.blog/id/p/11-game-favorit-saya/</link><pubDate>Mon, 12 Sep 2022 19:28:50 +0900</pubDate><guid>http://kenji.blog/id/p/11-game-favorit-saya/</guid><description>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_12.png" alt="Featured image of post 11 Game Favorit Saya" />&lt;p>Ketika saya mengingat game favorit saya, ternyata sebagian besar adalah game klasik yang legendaris.
Karena banyak game lama, bagi yang belum memainkannya silakan coba mainkan.&lt;/p>
&lt;h2 id="game-boy">Game Boy
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_1.png"
width="300"
height="365"
srcset="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_1_hu3e93850260927d2ca0508aaabeb65e85_100200_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_1_hu3e93850260927d2ca0508aaabeb65e85_100200_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="82"
data-flex-basis="197px"
>
Game Boy pertama adalah konsol game portabel yang dirilis oleh Nintendo pada tahun 1989.
Setelah itu, penerusnya seperti Game Boy Color dan Game Boy Advance dirilis.&lt;/p>
&lt;h3 id="-saga2-hihou-densetsu">① Sa・Ga2 Hihou Densetsu
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_2.png"
width="300"
height="419"
srcset="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_2_hu43aa9545e862274f62403fd117d11c30_247115_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_2_hu43aa9545e862274f62403fd117d11c30_247115_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="71"
data-flex-basis="171px"
>
Game RPG yang dirilis oleh Square (sekarang Square Enix) pada tahun 1990.
Ceritanya adalah mengumpulkan harta karun di berbagai stage,
dan ini adalah game RPG pertama yang pernah saya mainkan.&lt;/p>
&lt;h3 id="-kirbys-dream-land-hoshi-no-kirby">② Kirby&amp;rsquo;s Dream Land (Hoshi no Kirby)
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_3.png"
width="300"
height="350"
srcset="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_3_hu0e2b5ac71ca0bd227f71e503dbe94bc6_170917_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_3_hu0e2b5ac71ca0bd227f71e503dbe94bc6_170917_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="85"
data-flex-basis="205px"
>
Game aksi yang dirilis oleh Nintendo pada tahun 1992. Pengembangnya adalah HAL Laboratory.
Game di mana Anda maju dengan menyedot musuh atau menghirup udara untuk melayang di udara.
Musik dan efek suaranya dibuat dengan sangat baik sehingga menjadi karya yang bisa dimainkan dengan ritmis.&lt;/p>
&lt;h3 id="-pokémon-red-dan-green">③ Pokémon Red dan Green
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_4.png"
width="600"
height="338"
srcset="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_4_hu7ba0e1f65107e5c20a30c245d9f58ae1_369551_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_4_hu7ba0e1f65107e5c20a30c245d9f58ae1_369551_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_4.png"
class="gallery-image"
data-flex-grow="177"
data-flex-basis="426px"
>
Game RPG yang dirilis oleh Nintendo pada tahun 1996. Dikembangkan oleh Nintendo EAD, Game Freak, dan Creatures.
Setelah itu diadaptasi menjadi anime dan mendapatkan popularitas yang luar biasa, tetapi saya hanya pernah memainkan generasi pertama ini.&lt;/p>
&lt;h2 id="super-famicom-snes">Super Famicom (SNES)
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_5.png"
width="600"
height="266"
srcset="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_5_huad11a387bc527c77f3dc50722dcbe71e_95134_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_5_huad11a387bc527c77f3dc50722dcbe71e_95134_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_5.png"
class="gallery-image"
data-flex-grow="225"
data-flex-basis="541px"
>
Konsol game rumahan yang dirilis oleh Nintendo pada tahun 1990. Di luar negeri juga dikenal sebagai SNES (Super Nintendo Entertainment System).&lt;/p>
&lt;h3 id="-super-mario-kart">④ Super Mario Kart
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_6.png"
width="273"
height="500"
srcset="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_6_hufd407ac1367cf89272f19478255c8fb8_345614_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_6_hufd407ac1367cf89272f19478255c8fb8_345614_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_6.png"
class="gallery-image"
data-flex-grow="54"
data-flex-basis="131px"
>
Perangkat lunak untuk Super Famicom yang dirilis oleh Nintendo pada tahun 1992.
Game balap di mana Anda bersaing untuk posisi sambil mengganggu lawan dengan melempar item tempurung atau pisang.
Saya ingat memainkannya bersama keluarga dan teman-teman.&lt;/p>
&lt;h3 id="-dragon-quest-v-hand-of-the-heavenly-bride">⑤ Dragon Quest V: Hand of the Heavenly Bride
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_7.png"
width="300"
height="511"
srcset="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_7_hua74c1fb9d68b702d91ef66bdb2d5d98b_299824_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_7_hua74c1fb9d68b702d91ef66bdb2d5d98b_299824_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_7.png"
class="gallery-image"
data-flex-grow="58"
data-flex-basis="140px"
>
Game RPG yang dirilis oleh Enix pada tahun 1992.
Ini adalah game yang memiliki elemen memilih pasangan hidup, dan elemen di mana monster yang dikalahkan dapat dijadikan rekan.
Saya memainkannya dengan tekun sampai saya berhasil merekrut beberapa Metal Slime sebagai rekan.&lt;/p>
&lt;h3 id="-final-fantasy-v">⑥ Final Fantasy V
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_8.png"
width="300"
height="168"
srcset="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_8_hu436060f51fbe2bacd7e14a949683aa78_79328_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_8_hu436060f51fbe2bacd7e14a949683aa78_79328_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_8.png"
class="gallery-image"
data-flex-grow="178"
data-flex-basis="428px"
>
Game RPG yang dirilis oleh Square pada tahun 1992.
Memiliki elemen mendalam yaitu memilih pekerjaan (job) dan menguasai skill.
Sama seperti Dragon Quest, saya ingat terus-menerus menaikkan level di dalam gua.&lt;/p>
&lt;h3 id="-tornekos-great-adventure-mystery-dungeon">⑦ Torneko&amp;rsquo;s Great Adventure: Mystery Dungeon
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_9.png"
width="300"
height="547"
srcset="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_9_huf53b606ed61f5c15f0df49ad13e49ec8_318133_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_9_huf53b606ed61f5c15f0df49ad13e49ec8_318133_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_9.png"
class="gallery-image"
data-flex-grow="54"
data-flex-basis="131px"
>
Game roguelike yang dirilis oleh Chunsoft pada tahun 1993.
Pendahulu seri Mystery Dungeon.
Ciri khasnya adalah bentuk dungeon berubah secara acak setiap kali dimainkan.
Slogan iklannya adalah &amp;ldquo;RPG yang bisa dimainkan 1000 kali&amp;rdquo;.&lt;/p>
&lt;h3 id="-mystery-dungeon-2-shiren-the-wanderer">⑧ Mystery Dungeon 2: Shiren the Wanderer
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_15.png"
width="300"
height="538"
srcset="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_15_hu20d7e1ac46b9aa246626c2316c605072_252589_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_15_hu20d7e1ac46b9aa246626c2316c605072_252589_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_15.png"
class="gallery-image"
data-flex-grow="55"
data-flex-basis="133px"
>
Game roguelike yang dirilis oleh Chunsoft pada tahun 1995.
Sekuel dari seri Mystery Dungeon &amp;ldquo;Torneko&amp;rsquo;s Great Adventure&amp;rdquo;.
Terdapat toko di dalam dungeon, dan Anda dapat membeli item.
(Jika Anda keluar dari toko tanpa membeli, penjaga toko akan mengejar Anda.)&lt;/p>
&lt;h3 id="-mother2-earthbound">⑨ MOTHER2 (EarthBound)
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_11.png"
width="277"
height="500"
srcset="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_11_huc9569cdf9793ce314b2038283529730d_132246_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_11_huc9569cdf9793ce314b2038283529730d_132246_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_11.png"
class="gallery-image"
data-flex-grow="55"
data-flex-basis="132px"
>
Karya kedua dalam seri MOTHER yang dirilis oleh Nintendo pada tahun 1994. Pengembangnya adalah Ape dan HAL Laboratory.
Kemudian pada tahun 2006, MOTHER3 dirilis. Karya yang diproduseri oleh Shigesato Itoi ini,
dipenuhi dengan pandangan dunia yang unik dan kata-kata filosofis.&lt;/p>
&lt;h3 id="-the-legend-of-zelda-a-link-to-the-past">⑩ The Legend of Zelda: A Link to the Past
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_14.png"
width="276"
height="498"
srcset="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_14_hu224d656baa1b4164cdd4a067c6d88d26_298137_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_14_hu224d656baa1b4164cdd4a067c6d88d26_298137_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_14.png"
class="gallery-image"
data-flex-grow="55"
data-flex-basis="133px"
>
Game aksi-petualangan yang dirilis oleh Nintendo pada tahun 1991.
Game di mana Anda maju sambil mengumpulkan berbagai item dan memecahkan teka-teki kecil.
Setelah itu, berbagai sekuel telah dirilis. (&lt;a class="link" href="https://ja.wikipedia.org/wiki/%E3%82%BC%E3%83%AB%E3%83%80%E3%81%AE%E4%BC%9D%E8%AA%AC%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E3%81%AE%E4%BD%9C%E5%93%81%E3%83%BB%E9%96%A2%E9%80%A3%E4%BD%9C%E5%93%81%E3%81%AE%E4%B8%80%E8%A6%A7" target="_blank" rel="noopener"
>Referensi&lt;/a>)&lt;/p>
&lt;h2 id="nintendo-switch">Nintendo Switch
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_13.png"
width="600"
height="324"
srcset="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_13_huf5d97a9af892bf0a7a6a5b9a9eb646da_154207_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_13_huf5d97a9af892bf0a7a6a5b9a9eb646da_154207_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_13.png"
class="gallery-image"
data-flex-grow="185"
data-flex-basis="444px"
>
Konsol game rumahan yang dirilis oleh Nintendo pada tahun 2017.&lt;/p>
&lt;h3 id="-splatoon-2">⑪ Splatoon 2
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_12.png"
width="340"
height="550"
srcset="http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_12_hu03b5dadc912359ffea73dab76258d285_471079_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%B2%E3%83%BC%E3%83%A011%E9%81%B8/img_12_hu03b5dadc912359ffea73dab76258d285_471079_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_12.png"
class="gallery-image"
data-flex-grow="61"
data-flex-basis="148px"
>
Game aksi-menembak yang dirilis oleh Nintendo pada tahun 2017.
Game di mana Anda bertujuan untuk menang dengan mengamankan wilayah menggunakan tinta atau mengalahkan lawan.
Pada tahun 2022, sekuelnya, Splatoon 3, telah dirilis.&lt;/p></description></item><item><title>Perintah untuk mencegah pembuatan otomatis .DS_Store di macOS</title><link>http://kenji.blog/id/p/macos%E3%81%A7.ds_store%E3%82%92%E8%87%AA%E5%8B%95%E7%94%9F%E6%88%90%E3%81%97%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/</link><pubDate>Mon, 12 Sep 2022 16:03:42 +0900</pubDate><guid>http://kenji.blog/id/p/macos%E3%81%A7.ds_store%E3%82%92%E8%87%AA%E5%8B%95%E7%94%9F%E6%88%90%E3%81%97%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/</guid><description>&lt;img src="http://kenji.blog/p/macos%E3%81%A7.ds_store%E3%82%92%E8%87%AA%E5%8B%95%E7%94%9F%E6%88%90%E3%81%97%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/img.png" alt="Featured image of post Perintah untuk mencegah pembuatan otomatis .DS_Store di macOS" />&lt;p>Perintah untuk mencegah pembuatan otomatis .DS_Store di macOS adalah sebagai berikut.
Silakan jalankan di terminal.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">defaults write com.apple.desktopservices DSDontWriteNetworkStores &lt;span class="nb">true&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Setelah menjalankan perintah, mulai ulang Finder.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">killall Finder
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Jika Anda ingin mengembalikan pengaturan seperti semula, silakan jalankan perintah berikut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">defaults delete com.apple.desktopservices DSDontWriteNetworkStores &lt;span class="nb">false&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Sama seperti di atas, jika Anda mengubah pengaturan, mulai ulang Finder.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">killall Finder
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>Menghapus massal .DS_Store dengan PowerShell</title><link>http://kenji.blog/id/p/powershell%E3%81%A7.ds_store%E3%82%92%E4%B8%80%E6%8B%AC%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B/</link><pubDate>Mon, 12 Sep 2022 10:11:42 +0900</pubDate><guid>http://kenji.blog/id/p/powershell%E3%81%A7.ds_store%E3%82%92%E4%B8%80%E6%8B%AC%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B/</guid><description>&lt;img src="http://kenji.blog/p/powershell%E3%81%A7.ds_store%E3%82%92%E4%B8%80%E6%8B%AC%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B/img.png" alt="Featured image of post Menghapus massal .DS_Store dengan PowerShell" />&lt;p>Pindahkan direktori saat ini ke folder target dan jalankan perintah berikut untuk menghapus file .DS_Store secara massal, termasuk dalam subfolder.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">Get-ChildItem&lt;/span> &lt;span class="p">.&lt;/span> &lt;span class="n">-include&lt;/span> &lt;span class="s1">&amp;#39;.DS_Store&amp;#39;&lt;/span> &lt;span class="n">-Recurse&lt;/span> &lt;span class="n">-Force&lt;/span> &lt;span class="p">|&lt;/span> &lt;span class="nb">Remove-Item&lt;/span> &lt;span class="n">-Force&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>Kode pendek yang dapat digunakan di HUGO</title><link>http://kenji.blog/id/p/hugo%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89/</link><pubDate>Sun, 11 Sep 2022 22:59:52 +0900</pubDate><guid>http://kenji.blog/id/p/hugo%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89/</guid><description>&lt;img src="http://kenji.blog/p/hugo%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89/img.png" alt="Featured image of post Kode pendek yang dapat digunakan di HUGO" />&lt;h1 id="kode-pendek-yang-dapat-digunakan-di-hugo">Kode pendek yang dapat digunakan di HUGO
&lt;/h1>&lt;h2 id="youtube">YouTube
&lt;/h2>&lt;p>&lt;code>{{&amp;lt;youtube 123456abc&amp;gt;}}&lt;/code>&lt;/p>
&lt;h2 id="twitter">Twitter
&lt;/h2>&lt;p>&lt;code>{{&amp;lt;twitter 123456abc&amp;gt;}}&lt;/code>&lt;/p>
&lt;h2 id="instagram">Instagram
&lt;/h2>&lt;p>&lt;code>{{&amp;lt;instagram 123456abc&amp;gt;}}&lt;/code>&lt;/p>
&lt;h2 id="flickr">Flickr
&lt;/h2>&lt;p>&lt;code>{{&amp;lt;flickr 123456abc&amp;gt;}}&lt;/code>&lt;/p>
&lt;h2 id="vimeo">Vimeo
&lt;/h2>&lt;p>&lt;code>{{&amp;lt;vimeo 123456abc&amp;gt;}}&lt;/code>&lt;/p>
&lt;h2 id="lainnya">Lainnya
&lt;/h2>&lt;p>&lt;a class="link" href="https://gohugo.io/content-management/shortcodes/" target="_blank" rel="noopener"
>Shortcodes&lt;/a>&lt;/p>
&lt;h2 id="catatan-sampingan">Catatan sampingan
&lt;/h2>&lt;p>Jika Anda ingin menampilkan &lt;code>{{&amp;lt; foo &amp;gt;}}&lt;/code> di situs, Anda perlu menulisnya sebagai &lt;code>{{&amp;lt;/* foo */&amp;gt;}}&lt;/code>.&lt;/p></description></item><item><title>Perubahan Tata Letak Gambar PaperMod</title><link>http://kenji.blog/id/p/papermod%E3%81%AE%E7%94%BB%E5%83%8F%E3%81%AE%E9%85%8D%E7%BD%AE%E5%A4%89%E6%9B%B4/</link><pubDate>Sun, 11 Sep 2022 18:50:40 +0900</pubDate><guid>http://kenji.blog/id/p/papermod%E3%81%AE%E7%94%BB%E5%83%8F%E3%81%AE%E9%85%8D%E7%BD%AE%E5%A4%89%E6%9B%B4/</guid><description>&lt;img src="http://kenji.blog/p/papermod%E3%81%AE%E7%94%BB%E5%83%8F%E3%81%AE%E9%85%8D%E7%BD%AE%E5%A4%89%E6%9B%B4/images/img.png" alt="Featured image of post Perubahan Tata Letak Gambar PaperMod" />&lt;p>Tata letak default menempatkan gambar di tengah dengan lebar 100%, tetapi kadang-kadang saya merasa itu agak terlalu besar, jadi saya mencoba membungkus gambar di bawah judul dan mengubah lebarnya menjadi sekitar 150px.&lt;/p>
&lt;p>Lokasi perubahan file adalah sebagai berikut.&lt;/p>
&lt;h2 id="blankcss">blank.css
&lt;/h2>&lt;p>Untuk mengubah margin, ukuran gambar, dan baris tampilan teks, tambahkan deskripsi berikut ke blank.css.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-css:blank.css" data-lang="css:blank.css">&lt;span class="line">&lt;span class="cl">&lt;span class="p">.&lt;/span>&lt;span class="nc">entry-content&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kp">-webkit-&lt;/span>&lt;span class="n">line-clamp&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">.&lt;/span>&lt;span class="nc">entry-footer&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">text-align&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">right&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">.&lt;/span>&lt;span class="nc">entry-cover&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">margin-bottom&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">initial&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">text-align&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">center&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">.&lt;/span>&lt;span class="nc">entry-cover&lt;/span> &lt;span class="nt">img&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">border-radius&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="kt">px&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">display&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">inline&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">max-width&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">100&lt;/span>&lt;span class="kt">%&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">.&lt;/span>&lt;span class="nc">post-meta&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">display&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">block&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">text-align&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">right&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="post-entrycss">post-entry.css
&lt;/h2>&lt;p>Karena definisi tidak dapat dihapus di sisi blank.css, hapus satu baris berikut di post-entry.css.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-css:post-entry.css" data-lang="css:post-entry.css">&lt;span class="line">&lt;span class="cl">&lt;span class="p">.&lt;/span>&lt;span class="nc">entry-cover&lt;/span> &lt;span class="nt">img&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">border-radius&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nf">var&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="o">--&lt;/span>&lt;span class="n">radius&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">pointer-events&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">none&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c">/* width: 100%; */&lt;/span> &lt;span class="err">←&lt;/span> &lt;span class="err">hapus&lt;/span> &lt;span class="err">baris&lt;/span> &lt;span class="err">ini&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">height&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">auto&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="listhtml">list.html
&lt;/h2>&lt;p>Untuk mengubah tata letak gambar, saya mengubah bagian berikut dari list.html.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-html:list.html" data-lang="html:list.html">&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">article&lt;/span> &lt;span class="na">class&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;{{ $class }}&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c">&amp;lt;!-- {{- $isHidden := (site.Params.cover.hidden | default site.Params.cover.hiddenInList) }} --&amp;gt;&amp;lt;!-- pindah ke bawah --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c">&amp;lt;!-- {{- partial &amp;#34;cover.html&amp;#34; (dict &amp;#34;cxt&amp;#34; . &amp;#34;IsHome&amp;#34; true &amp;#34;isHidden&amp;#34; $isHidden) }} --&amp;gt;&amp;lt;!-- pindah ke bawah --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">header&lt;/span> &lt;span class="na">class&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;entry-header&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">h2&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{- .Title }}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{- if .Draft }}&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">sup&lt;/span>&lt;span class="p">&amp;gt;&amp;lt;&lt;/span>&lt;span class="nt">span&lt;/span> &lt;span class="na">class&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;entry-isdraft&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>&lt;span class="ni">&amp;amp;nbsp;&amp;amp;nbsp;&lt;/span>[draft]&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">span&lt;/span>&lt;span class="p">&amp;gt;&amp;lt;/&lt;/span>&lt;span class="nt">sup&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>{{- end }}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">h2&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">header&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">style&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;display:flex;&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>&lt;span class="c">&amp;lt;!-- tambahkan --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">style&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;max-width:150px;margin:11px 15px 0px 0px;&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>&lt;span class="c">&amp;lt;!-- tambahkan --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{- $isHidden := (site.Params.cover.hidden | default site.Params.cover.hiddenInList) }}&lt;span class="c">&amp;lt;!-- pindah dari atas --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{- partial &amp;#34;cover.html&amp;#34; (dict &amp;#34;cxt&amp;#34; . &amp;#34;IsHome&amp;#34; true &amp;#34;isHidden&amp;#34; $isHidden) }}&lt;span class="c">&amp;lt;!-- pindah dari atas --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>&lt;span class="c">&amp;lt;!-- tambahkan --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">style&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;width:100%;&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>&lt;span class="c">&amp;lt;!-- tambahkan --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{- if (ne (.Param &amp;#34;hideSummary&amp;#34;) true) }}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">class&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;entry-content&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">p&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>{{ .Summary | plainify | htmlUnescape }}{{ if .Truncated }}...{{ end }}&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">p&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{- end }}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{- if not (.Param &amp;#34;hideMeta&amp;#34;) }}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">footer&lt;/span> &lt;span class="na">class&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;entry-footer&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{- partial &amp;#34;post_meta.html&amp;#34; . -}}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">footer&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{- end }}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">a&lt;/span> &lt;span class="na">class&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;entry-link&amp;#34;&lt;/span> &lt;span class="na">aria-label&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;post link to {{ .Title | plainify }}&amp;#34;&lt;/span> &lt;span class="na">href&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;{{ .Permalink }}&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&amp;lt;/&lt;/span>&lt;span class="nt">a&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>&lt;span class="c">&amp;lt;!-- tambahkan --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>&lt;span class="c">&amp;lt;!-- tambahkan --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">article&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Sepertinya ada cukup banyak permintaan serupa.&lt;/p>
&lt;p>&lt;a class="link" href="https://github.com/adityatelange/hugo-PaperMod/discussions/159#discussioncomment-247844" target="_blank" rel="noopener"
>https://github.com/adityatelange/hugo-PaperMod/discussions/159#discussioncomment-247844&lt;/a>&lt;/p>
&lt;p>Saya akan berterima kasih jika pengembang asli juga mendukungnya.&lt;/p></description></item><item><title>Cara Mengatur Twitter Card di PaperMod</title><link>http://kenji.blog/id/p/papermod%E3%81%A7twitter-card%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Sat, 10 Sep 2022 18:41:22 +0900</pubDate><guid>http://kenji.blog/id/p/papermod%E3%81%A7twitter-card%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/papermod%E3%81%A7twitter-card%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img.png" alt="Featured image of post Cara Mengatur Twitter Card di PaperMod" />&lt;h1 id="pendahuluan">Pendahuluan
&lt;/h1>&lt;p>Tema PaperMod mendukung Twitter Card.
Namun, pengaturan Twitter Card harus ditulis dalam &lt;code>config.toml&lt;/code> atau di informasi header &lt;code>*.md&lt;/code> pada setiap artikel.
Jika diatur di artikel maupun di &lt;code>config.toml&lt;/code>, informasi header dari setiap artikel akan diprioritaskan.&lt;/p>
&lt;h1 id="cara-pengaturan">Cara Pengaturan
&lt;/h1>&lt;h2 id="configtoml">config.toml
&lt;/h2>&lt;p>Di &lt;code>config.toml&lt;/code>, tambahkan item bernama &lt;code>images&lt;/code> di bawah &lt;code>[params]&lt;/code>.
Di &lt;code>images&lt;/code>, tulis path ke gambar yang akan ditampilkan di Twitter Card.
Jika Anda menempatkan gambar di folder &lt;code>static&lt;/code>, Anda hanya perlu menentukan nama filenya saja.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">[params]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> images = [&amp;#34;twitter_card.jpg&amp;#34;]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Struktur folder&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">root
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ config.toml (Tulis di sini)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├─content
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └─posts
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └─folder artikel
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ index.md (Tulis di sini)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └─images
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ cover.png (Tempatkan di sini)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">└─static
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> twitter_card.jpg (Tempatkan di sini)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="informasi-header-setiap-artikel">Informasi header setiap artikel
&lt;/h2>&lt;p>Di informasi header setiap artikel, tambahkan item bernama &lt;code>image&lt;/code> di bawah &lt;code>cover&lt;/code>.
Jika Anda mengatur &lt;code>relative&lt;/code> menjadi &lt;code>true&lt;/code>, Anda dapat menentukannya dengan path relatif dari &lt;code>*.md&lt;/code> artikel tersebut.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">cover:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> image: &amp;#34;images/cover.jpg&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> relative: true
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="jika-anda-tidak-ingin-menampilkannya-di-bagian-atas-artikel">Jika Anda tidak ingin menampilkannya di bagian atas artikel
&lt;/h3>&lt;p>Jika Anda tidak ingin menampilkan gambar sampul di bagian atas artikel, tambahkan item bernama &lt;code>hidden&lt;/code> di bawah &lt;code>cover&lt;/code> dan atur menjadi &lt;code>true&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">cover:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> image: &amp;#34;images/cover.jpg&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> relative: true
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> hidden: true
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h1 id="tentang-ukuran-gambar">Tentang Ukuran Gambar
&lt;/h1>&lt;p>Berdasarkan spesifikasi PaperMod saat ini, ukuran Twitter Card tampaknya hanya mendukung &lt;code>summary_large_image&lt;/code>.
Ukuran yang tepat (resolusi) untuk &lt;code>summary_large_image&lt;/code> bervariasi, namun sekitar &lt;code>800 x 418&lt;/code> (rasio gambar 1.91:1) tampaknya sudah baik.&lt;/p>
&lt;p>&lt;a class="link" href="https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/summary-card-with-large-image" target="_blank" rel="noopener"
>Situs referensi 1&lt;/a>
&lt;a class="link" href="https://developers.facebook.com/docs/sharing/best-practices" target="_blank" rel="noopener"
>Situs referensi 2&lt;/a>&lt;/p>
&lt;p>Jika memungkinkan, kami sarankan mengubah ukuran gambar sebelum mempublikasikannya.&lt;/p>
&lt;h1 id="cara-memeriksa-pengaturan">Cara memeriksa pengaturan
&lt;/h1>&lt;p>Untuk memeriksa pengaturan Twitter Card, gunakan &lt;a class="link" href="https://cards-dev.twitter.com/validator" target="_blank" rel="noopener"
>Twitter Card Validator&lt;/a>.
Namun, di lingkungan saya, pratinjau tidak ditampilkan dengan benar, jadi jika pratinjau tidak muncul, kami sarankan untuk memeriksanya sekali sebelum mempublikasikannya dengan menggunakan akun privat atau sejenisnya.&lt;/p></description></item><item><title>Menggunakan GitHub Copilot di IntelliJ IDEA</title><link>http://kenji.blog/id/p/menggunakan-github-copilot-di-intellij-idea/</link><pubDate>Sat, 10 Sep 2022 09:44:55 +0900</pubDate><guid>http://kenji.blog/id/p/menggunakan-github-copilot-di-intellij-idea/</guid><description>&lt;img src="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img.png" alt="Featured image of post Menggunakan GitHub Copilot di IntelliJ IDEA" />&lt;h1 id="pendahuluan">Pendahuluan
&lt;/h1>&lt;p>GitHub Copilot adalah alat pelengkap kode berbasis AI yang dikembangkan oleh GitHub.
Jika Anda menginstal plugin GitHub Copilot di lingkungan pengembangan IntelliJ IDEA, Anda dapat menggunakan GitHub Copilot di IntelliJ IDEA.
Untuk mengaktifkannya, Anda memerlukan akun Github.&lt;/p>
&lt;h1 id="cara-menginstal">Cara Menginstal
&lt;/h1>&lt;ol>
&lt;li>Dari menu File di IntelliJ IDEA, pilih Settings.&lt;/li>
&lt;li>Pilih Plugins, lalu cari &amp;ldquo;GitHub Copilot&amp;rdquo; di pencarian.
&lt;img src="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_0.png"
width="984"
height="713"
srcset="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_0_hu1a17f06d84f4c3bc905993428da2585e_52443_480x0_resize_box_3.png 480w, http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_0_hu1a17f06d84f4c3bc905993428da2585e_52443_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="138"
data-flex-basis="331px"
>&lt;/li>
&lt;li>Instal menggunakan tombol Install.
&lt;img src="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_1.png"
width="440"
height="288"
srcset="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_1_hu760c08385147deb656e4c3f97738e20a_11542_480x0_resize_box_3.png 480w, http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_1_hu760c08385147deb656e4c3f97738e20a_11542_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="152"
data-flex-basis="366px"
>&lt;/li>
&lt;li>Tekan tombol Restart IDE untuk me-restart IntelliJ IDEA.
&lt;img src="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_2.png"
width="984"
height="713"
srcset="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_2_hue7ac4db80b402fe88ff676c2505b2e26_63613_480x0_resize_box_3.png 480w, http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_2_hue7ac4db80b402fe88ff676c2505b2e26_63613_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="138"
data-flex-basis="331px"
>
&lt;img src="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_3.png"
width="370"
height="128"
srcset="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_3_huf684fa748633ae887c193539a3f1f778_4849_480x0_resize_box_3.png 480w, http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_3_huf684fa748633ae887c193539a3f1f778_4849_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="289"
data-flex-basis="693px"
>
Setelah Anda me-restart IntelliJ IDEA, instalasi selesai.&lt;/li>
&lt;/ol>
&lt;h1 id="aktivasi">Aktivasi
&lt;/h1>&lt;ol>
&lt;li>Klik ikon di sudut kanan bawah.&lt;/li>
&lt;li>Klik Login to Github.
&lt;img src="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_4.png"
width="179"
height="97"
srcset="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_4_huda05efd9621c0a19fb78fc4f90866e22_2661_480x0_resize_box_3.png 480w, http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_4_huda05efd9621c0a19fb78fc4f90866e22_2661_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_4.png"
class="gallery-image"
data-flex-grow="184"
data-flex-basis="442px"
>&lt;/li>
&lt;li>Klik tombol Copy and Open.
&lt;img src="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_6.png"
width="422"
height="199"
srcset="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_6_hua124fecdd3632e6b95f8259e5e606e1a_8284_480x0_resize_box_3.png 480w, http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_6_hua124fecdd3632e6b95f8259e5e606e1a_8284_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_6.png"
class="gallery-image"
data-flex-grow="212"
data-flex-basis="508px"
>&lt;/li>
&lt;li>Browser akan terbuka. Jika Anda belum masuk ke Github, silakan masuk terlebih dahulu, lalu rekatkan kode dengan Ctrl+V dan klik tombol Continue.
&lt;img src="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_7.png"
width="579"
height="530"
srcset="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_7_hub4e276df82537681adc4331944f40166_19231_480x0_resize_box_3.png 480w, http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_7_hub4e276df82537681adc4331944f40166_19231_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_7.png"
class="gallery-image"
data-flex-grow="109"
data-flex-basis="262px"
>&lt;/li>
&lt;li>Klik tombol Authorize GitHub Copilot Plugin.
&lt;img src="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_8.png"
width="546"
height="689"
srcset="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_8_hu1e48fa0fb5989dc3e0616b0ee84b6476_33153_480x0_resize_box_3.png 480w, http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_8_hu1e48fa0fb5989dc3e0616b0ee84b6476_33153_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_8.png"
class="gallery-image"
data-flex-grow="79"
data-flex-basis="190px"
>
&lt;img src="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_9.png"
width="454"
height="337"
srcset="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_9_hu73bf5cd6f6a7ddf7aa8e1b63387b9c7d_7965_480x0_resize_box_3.png 480w, http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_9_hu73bf5cd6f6a7ddf7aa8e1b63387b9c7d_7965_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_9.png"
class="gallery-image"
data-flex-grow="134"
data-flex-basis="323px"
>
Jika layar di atas ditampilkan, aktivasi telah selesai.&lt;/li>
&lt;/ol>
&lt;h1 id="mari-mencoba">Mari Mencoba
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_10.png"
width="330"
height="136"
srcset="http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_10_hu25143f366631b8ce9af8689b387ca520_6039_480x0_resize_box_3.png 480w, http://kenji.blog/p/intellij-idea%E3%81%A7github-copilot%E3%82%92%E4%BD%BF%E3%81%86/images/img_10_hu25143f366631b8ce9af8689b387ca520_6039_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_10.png"
class="gallery-image"
data-flex-grow="242"
data-flex-basis="582px"
>
Saat Anda mengetik beberapa karakter di editor IntelliJ IDEA, GitHub Copilot akan mulai menyarankan kelanjutan dari kode Anda.
Selamat menikmati fitur pelengkapan canggih yang didukung AI!&lt;/p></description></item><item><title>Cara Menginstal Go</title><link>http://kenji.blog/id/p/cara-menginstal-go/</link><pubDate>Sat, 10 Sep 2022 00:48:17 +0900</pubDate><guid>http://kenji.blog/id/p/cara-menginstal-go/</guid><description>&lt;img src="http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/cover.png" alt="Featured image of post Cara Menginstal Go" />&lt;h1 id="pengantar">Pengantar
&lt;/h1>&lt;p>Go adalah bahasa pemrograman yang relatif baru yang dirilis oleh Google pada tahun 2009.
Kompiler, alat, dan pustaka Go bersifat sumber terbuka (open source).
Selain itu, Go adalah bahasa dengan pengetikan statis seperti C dan Java, tetapi tidak menggunakan pointer seperti bahasa C.&lt;/p>
&lt;h1 id="cara-instalasi">Cara Instalasi
&lt;/h1>&lt;p>&lt;a class="link" href="https://go.dev/dl/" target="_blank" rel="noopener"
>Instal Go&lt;/a>&lt;/p>
&lt;p>Penginstal untuk setiap platform tersedia dari situs di atas.&lt;/p>
&lt;p>Ikuti petunjuk di layar untuk melanjutkan instalasi.
&lt;img src="http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img.png"
width="495"
height="387"
srcset="http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_hudec02a4f1dfaca9415d58a56d502b14f_18782_480x0_resize_box_3.png 480w, http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_hudec02a4f1dfaca9415d58a56d502b14f_18782_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="127"
data-flex-basis="306px"
>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_1.png"
width="495"
height="387"
srcset="http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_1_hu803f0fb268a2cf0fa74e4e36a5b3a765_20314_480x0_resize_box_3.png 480w, http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_1_hu803f0fb268a2cf0fa74e4e36a5b3a765_20314_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="127"
data-flex-basis="306px"
>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_2.png"
width="495"
height="387"
srcset="http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_2_hu05fb3923212918b7539badd0200ea75c_11067_480x0_resize_box_3.png 480w, http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_2_hu05fb3923212918b7539badd0200ea75c_11067_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="127"
data-flex-basis="306px"
>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_3.png"
width="495"
height="387"
srcset="http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_3_hu316d63501ec24e1e74dc3cb674d4cc1f_11612_480x0_resize_box_3.png 480w, http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_3_hu316d63501ec24e1e74dc3cb674d4cc1f_11612_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="127"
data-flex-basis="306px"
>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_5.png"
width="495"
height="387"
srcset="http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_5_hu8bb188f8700bed3c70acaed6e511012d_14167_480x0_resize_box_3.png 480w, http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_5_hu8bb188f8700bed3c70acaed6e511012d_14167_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_5.png"
class="gallery-image"
data-flex-grow="127"
data-flex-basis="306px"
>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_6.png"
width="495"
height="387"
srcset="http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_6_hu0a1b7e9cf2cb725ed5a7ea7685880608_16796_480x0_resize_box_3.png 480w, http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_6_hu0a1b7e9cf2cb725ed5a7ea7685880608_16796_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_6.png"
class="gallery-image"
data-flex-grow="127"
data-flex-basis="306px"
>&lt;/p>
&lt;p>Instalasi selesai. Sangat mudah, bukan?&lt;/p>
&lt;h1 id="program-pertama">Program Pertama
&lt;/h1>&lt;p>Simpan program berikut sebagai &lt;code>hello.go&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-go" data-lang="go">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">package&lt;/span> &lt;span class="nx">main&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="s">&amp;#34;fmt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kd">func&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">fmt&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nf">Printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Hello World\n&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Ketika Anda menjalankan &lt;code>go run hello.go&lt;/code> dari command prompt atau terminal, itu akan menghasilkan &lt;code>Hello, world!&lt;/code>.&lt;/p>
&lt;p>Jika Anda ingin mengompilasi, menjalankan &lt;code>go build hello.go&lt;/code> akan menghasilkan &lt;code>hello.exe&lt;/code>.
Menjalankan &lt;code>hello.exe&lt;/code> akan menghasilkan &lt;code>Hello, world!&lt;/code>.&lt;/p>
&lt;h1 id="anda-juga-dapat-menjalankan-kode-di-halaman-web">Anda juga dapat menjalankan kode di halaman web
&lt;/h1>&lt;p>&lt;a class="link" href="https://go.dev/play/" target="_blank" rel="noopener"
>https://go.dev/play/&lt;/a>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_7.png"
width="793"
height="668"
srcset="http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_7_hu4549f097b6cd8fd929d9562692076ffb_15605_480x0_resize_box_3.png 480w, http://kenji.blog/p/go%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img_7_hu4549f097b6cd8fd929d9562692076ffb_15605_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_7.png"
class="gallery-image"
data-flex-grow="118"
data-flex-basis="284px"
>&lt;/p>
&lt;h1 id="dokumentasi">Dokumentasi
&lt;/h1>&lt;p>&lt;a class="link" href="http://go.shibu.jp/" target="_blank" rel="noopener"
>http://go.shibu.jp/&lt;/a>&lt;/p>
&lt;p>Penjelasan yang diperlukan untuk mempelajari Go dirangkum pada tautan di atas.
Teknologi yang terkait dengan Go sangat terbuka dan lengkap sehingga Anda tidak perlu membeli buku cetak.&lt;/p>
&lt;p>Jadi, nikmati hidup dengan Go!&lt;/p></description></item><item><title>Dialektika Hegel</title><link>http://kenji.blog/id/p/%E3%83%98%E3%83%BC%E3%82%B2%E3%83%AB%E3%81%AE%E5%BC%81%E8%A8%BC%E6%B3%95/</link><pubDate>Fri, 09 Sep 2022 23:13:19 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%83%98%E3%83%BC%E3%82%B2%E3%83%AB%E3%81%AE%E5%BC%81%E8%A8%BC%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%98%E3%83%BC%E3%82%B2%E3%83%AB%E3%81%AE%E5%BC%81%E8%A8%BC%E6%B3%95/images/img.png" alt="Featured image of post Dialektika Hegel" />&lt;h2 id="apa-itu-dialektika-hegel">Apa itu Dialektika Hegel
&lt;/h2>&lt;blockquote>
&lt;p>Hegel memahami signifikansi positif dari kontradiksi yang dialami nalar, dan berpendapat bahwa semua hal yang terbatas pada umumnya menghasilkan kebalikan dengan kontradiksi yang melekat pada diri mereka sendiri sebagai kekuatan pendorong, dan bersama-sama diangkat ke tahap yang lebih tinggi dengan ini sebagai perantara, dan menjadikannya prinsip dari semua gerakan di dunia nyata.
(Dari Kotobank)&lt;/p>
&lt;/blockquote>
&lt;p>Interpretasi saya adalah bahwa setiap pernyataan dan gagasan di dunia nyata tidak hanya benar secara sepihak, tetapi harus mengandung kontradiksi di dalamnya, dan dengan memahami dan menggabungkan struktur yang berlawanan itu, kesadaran berkembang ke tingkat yang lebih tinggi.&lt;/p>
&lt;p>Saya pikir ini berlaku tidak hanya untuk cara berpikir orang, tetapi juga untuk semua fenomena di alam.&lt;/p>
&lt;p>Untuk semua materi, jika aksi bekerja, reaksi bekerja. Jika semua hal bergerak, gesekan bekerja. Gravitasi saling mempengaruhi tidak hanya pada matahari dan bumi tetapi juga pada semua materi.
Aliran sungai dan aliran angin tidak hanya mengalir ke satu arah, tetapi menerima berbagai kekuatan, dan aliran berubah dalam sekejap.&lt;/p>
&lt;p>Berbicara secara teknis, program komputer juga pasti mengandung bug di dalamnya, dan dengan menghilangkannya mereka menjadi program tingkat yang lebih tinggi.
Saya pikir dapat dikatakan bahwa program bebas bug adalah program yang tidak menarik yang tidak berkembang. Pada akhirnya akan menjadi usang.&lt;/p>
&lt;p>Lingkungan sekitar terus berubah seiring berjalannya waktu. Daripada mengabaikan kontradiksi diri, secara aneh membenarkannya, atau menetapkan cara berpikir seseorang,
saya ingin terus-menerus meninjau cara berpikir saya dan cara memandang sesuatu, dan mengubah pemikiran saya secara fleksibel.&lt;/p></description></item><item><title>Kamukura (Ramen) untuk pertama kalinya dalam beberapa tahun</title><link>http://kenji.blog/id/p/kamukura-ramen-untuk-pertama-kalinya-dalam-beberapa-tahun/</link><pubDate>Fri, 09 Sep 2022 21:45:19 +0900</pubDate><guid>http://kenji.blog/id/p/kamukura-ramen-untuk-pertama-kalinya-dalam-beberapa-tahun/</guid><description>&lt;img src="http://kenji.blog/p/%E4%BD%95%E5%B9%B4%E3%81%8B%E3%81%B6%E3%82%8A%E3%81%AE%E7%A5%9E%E5%BA%A7%E3%81%8B%E3%82%80%E3%81%8F%E3%82%89%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3/images/img2.jpg" alt="Featured image of post Kamukura (Ramen) untuk pertama kalinya dalam beberapa tahun" />&lt;p>Saya pergi ke Kamukura (Ramen) untuk pertama kalinya dalam beberapa tahun.&lt;/p>
&lt;p>&lt;strong>Ramen Daun Bawang Kimchi&lt;/strong>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/%E4%BD%95%E5%B9%B4%E3%81%8B%E3%81%B6%E3%82%8A%E3%81%AE%E7%A5%9E%E5%BA%A7%E3%81%8B%E3%82%80%E3%81%8F%E3%82%89%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3/images/img1.jpg"
width="595"
height="603"
srcset="http://kenji.blog/p/%E4%BD%95%E5%B9%B4%E3%81%8B%E3%81%B6%E3%82%8A%E3%81%AE%E7%A5%9E%E5%BA%A7%E3%81%8B%E3%82%80%E3%81%8F%E3%82%89%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3/images/img1_hufe42115e5b5ea70b27ae9218e3ddeca1_358776_480x0_resize_q75_box.jpg 480w, http://kenji.blog/p/%E4%BD%95%E5%B9%B4%E3%81%8B%E3%81%B6%E3%82%8A%E3%81%AE%E7%A5%9E%E5%BA%A7%E3%81%8B%E3%82%80%E3%81%8F%E3%82%89%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3/images/img1_hufe42115e5b5ea70b27ae9218e3ddeca1_358776_1024x0_resize_q75_box.jpg 1024w"
loading="lazy"
alt="img1.jpg"
class="gallery-image"
data-flex-grow="98"
data-flex-basis="236px"
>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/%E4%BD%95%E5%B9%B4%E3%81%8B%E3%81%B6%E3%82%8A%E3%81%AE%E7%A5%9E%E5%BA%A7%E3%81%8B%E3%82%80%E3%81%8F%E3%82%89%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3/images/img2.jpg"
width="593"
height="646"
srcset="http://kenji.blog/p/%E4%BD%95%E5%B9%B4%E3%81%8B%E3%81%B6%E3%82%8A%E3%81%AE%E7%A5%9E%E5%BA%A7%E3%81%8B%E3%82%80%E3%81%8F%E3%82%89%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3/images/img2_hu5b1c55ddd3b998ef9e1e7da203dc1109_434676_480x0_resize_q75_box.jpg 480w, http://kenji.blog/p/%E4%BD%95%E5%B9%B4%E3%81%8B%E3%81%B6%E3%82%8A%E3%81%AE%E7%A5%9E%E5%BA%A7%E3%81%8B%E3%82%80%E3%81%8F%E3%82%89%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3/images/img2_hu5b1c55ddd3b998ef9e1e7da203dc1109_434676_1024x0_resize_q75_box.jpg 1024w"
loading="lazy"
alt="img2.png"
class="gallery-image"
data-flex-grow="91"
data-flex-basis="220px"
>&lt;/p>
&lt;p>Itu lezat. Ini adalah rasa yang kadang-kadang saya idamkan.&lt;/p></description></item><item><title>Menghitung Bilangan Prima di Rust</title><link>http://kenji.blog/id/p/rust%E3%81%A7%E7%B4%A0%E6%95%B0%E3%82%92%E5%88%97%E6%8C%99%E3%81%99%E3%82%8B/</link><pubDate>Fri, 09 Sep 2022 07:08:49 +0900</pubDate><guid>http://kenji.blog/id/p/rust%E3%81%A7%E7%B4%A0%E6%95%B0%E3%82%92%E5%88%97%E6%8C%99%E3%81%99%E3%82%8B/</guid><description>&lt;img src="http://kenji.blog/p/rust%E3%81%A7%E7%B4%A0%E6%95%B0%E3%82%92%E5%88%97%E6%8C%99%E3%81%99%E3%82%8B/images/img.png" alt="Featured image of post Menghitung Bilangan Prima di Rust" />&lt;p>Saya menulis program untuk membuat daftar bilangan prima di Rust.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-rust" data-lang="rust">&lt;span class="line">&lt;span class="cl">&lt;span class="k">fn&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="kd">let&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">max&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">1000&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="kd">let&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">mut&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">primes&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="fm">vec!&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">];&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="kd">let&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">mut&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">loop&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="kd">let&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">mut&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">is_prime&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">true&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">for&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">p&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">in&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">primes&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">if&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">%&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">p&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">==&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">is_prime&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">false&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">break&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">if&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">is_prime&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">primes&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">push&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">+=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">if&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">max&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">break&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">for&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">p&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">in&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">primes&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="fm">println!&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="si">{}&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">p&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item><item><title>Jazz yang Menenangkan</title><link>http://kenji.blog/id/p/jazz-yang-menenangkan/</link><pubDate>Thu, 08 Sep 2022 17:40:26 +0900</pubDate><guid>http://kenji.blog/id/p/jazz-yang-menenangkan/</guid><description>&lt;img src="http://kenji.blog/p/%E8%90%BD%E3%81%A1%E7%9D%80%E3%81%84%E3%81%9F%E3%82%B8%E3%83%A3%E3%82%BA/images/img.png" alt="Featured image of post Jazz yang Menenangkan" />&lt;p>&lt;strong>Daftar Putar Jazz yang Menenangkan&lt;/strong>
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/hOJ76cZEt08"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/p></description></item><item><title>Musik Kafe</title><link>http://kenji.blog/id/p/musik-kafe/</link><pubDate>Thu, 08 Sep 2022 08:39:03 +0900</pubDate><guid>http://kenji.blog/id/p/musik-kafe/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%AB%E3%83%95%E3%82%A7%E9%9F%B3%E6%A5%BD/images/img.png" alt="Featured image of post Musik Kafe" />&lt;p>&lt;strong>Up-tempo&lt;/strong>&lt;/p>
&lt;p>&lt;strong>Electro Swing Collection&lt;/strong>
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/bQXCx1F7nhs"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/p>
&lt;p>&lt;strong>Electro Swing Mix 2019 Vol.3&lt;/strong>
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/1hY8f20tqlI"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/p>
&lt;p>&lt;strong>lofi hip hop radio(Live)&lt;/strong>
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/jfKfPfyJRdk"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/p>
&lt;p>&lt;strong>Jazz LoFi&lt;/strong>
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/bz5q5gl2uZA"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/p>
&lt;p>&lt;strong>Ini adalah motivasi saya untuk belajar keras setiap hari | 5 hour lofi hip hop / study / work / chill beats&lt;/strong>
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/fWX8zsaTeTc"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;/p></description></item><item><title>Video yang Meningkatkan Motivasi</title><link>http://kenji.blog/id/p/video-yang-meningkatkan-motivasi/</link><pubDate>Thu, 08 Sep 2022 02:22:52 +0900</pubDate><guid>http://kenji.blog/id/p/video-yang-meningkatkan-motivasi/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%A2%E3%83%81%E3%83%99%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E4%B8%8A%E3%81%92%E3%81%A6%E3%81%8F%E3%82%8C%E3%82%8B%E5%8B%95%E7%94%BB/images/img.png" alt="Featured image of post Video yang Meningkatkan Motivasi" />&lt;h2 id="tidak-apa-apa-jika-usaha-anda-tidak-diakui">Tidak apa-apa jika usaha Anda tidak diakui
&lt;/h2>&lt;blockquote class="twitter-tweet">&lt;p lang="ja" dir="ltr">45年の人生で手に入れた。ぐずぐずした時、いつも背中を押してくれる言葉たち。 &lt;a href="https://t.co/EQgmujOSpg">pic.twitter.com/EQgmujOSpg&lt;/a>&lt;/p>&amp;mdash; いれぶん (@eleven_s_s) &lt;a href="https://x.com/eleven_s_s/status/1567256455836737544?ref_src=twsrc%5Etfw">September 6, 2022&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.x.com/widgets.js" charset="utf-8">&lt;/script>
&lt;h2 id="nilai-nilai-jauh-lebih-beragam">Nilai-nilai jauh lebih beragam
&lt;/h2>&lt;p>Yusuke Narita &amp;ldquo;Di antara kemalangan yang diderita manusia&amp;rdquo;&lt;/p>
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/5WTldFIQ7E4"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;h2 id="tindakan-anda-tercermin-secara-langsung">Tindakan Anda tercermin secara langsung
&lt;/h2>&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/8ewxptSV66M"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;h2 id="pemikiran-hayao-miyazaki">Pemikiran Hayao Miyazaki
&lt;/h2>&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/9-2YFldnWzg"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div></description></item><item><title>Spesifikasi PC Utama Saat Ini</title><link>http://kenji.blog/id/p/spesifikasi-pc-utama-saat-ini/</link><pubDate>Thu, 08 Sep 2022 01:55:00 +0900</pubDate><guid>http://kenji.blog/id/p/spesifikasi-pc-utama-saat-ini/</guid><description>&lt;img src="http://kenji.blog/p/%E4%BB%8A%E3%81%AE%E3%83%A1%E3%82%A4%E3%83%B3pc%E3%82%B9%E3%83%9A%E3%83%83%E3%82%AF/images/img.png" alt="Featured image of post Spesifikasi PC Utama Saat Ini" />&lt;p>Berikut adalah spesifikasi PC utama saya.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Nama Item&lt;/th>
&lt;th>Nilai&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Prosesor&lt;/td>
&lt;td>Intel Core i7-8700K CPU @ 3.70GHz 3.70 GHz&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Memori&lt;/td>
&lt;td>32.0 GB&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Jenis Sistem&lt;/td>
&lt;td>Sistem operasi 64-bit, prosesor berbasis x64&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>OS&lt;/td>
&lt;td>Windows 11 Enterprise (versi 21H2, build 22000.856)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Pabrikan&lt;/td>
&lt;td>Mouse Computer Co., Ltd.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Situs Koleksi Ikon Sederhana</title><link>http://kenji.blog/id/p/situs-koleksi-ikon-sederhana/</link><pubDate>Wed, 07 Sep 2022 16:46:56 +0900</pubDate><guid>http://kenji.blog/id/p/situs-koleksi-ikon-sederhana/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/img_2.png" alt="Featured image of post Situs Koleksi Ikon Sederhana" />&lt;h2 id="google-material-symbols-and-icons">Google Material Symbols and Icons
&lt;/h2>&lt;p>&lt;a class="link" href="https://fonts.google.com/icons" target="_blank" rel="noopener"
>https://fonts.google.com/icons&lt;/a>
&lt;img src="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/img.png"
width="630"
height="447"
srcset="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/img_hu2e790b3adfba32854ad71745e7545591_74194_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/img_hu2e790b3adfba32854ad71745e7545591_74194_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="140"
data-flex-basis="338px"
>&lt;/p>
&lt;h2 id="github-octicons">GitHub Octicons
&lt;/h2>&lt;p>&lt;a class="link" href="https://primer.style/octicons/" target="_blank" rel="noopener"
>https://primer.style/octicons/&lt;/a>
&lt;img src="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/images/img_4.png"
width="629"
height="458"
srcset="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/images/img_4_huac9afc30a59605ec9b88aeb00e9ca35a_16251_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/images/img_4_huac9afc30a59605ec9b88aeb00e9ca35a_16251_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="137"
data-flex-basis="329px"
>&lt;/p>
&lt;h2 id="sargam-icons">Sargam Icons
&lt;/h2>&lt;p>&lt;a class="link" href="https://sargamicons.com/" target="_blank" rel="noopener"
>https://sargamicons.com/&lt;/a>
&lt;img src="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/img_3.png"
width="630"
height="394"
srcset="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/img_3_hu0066a2e8d1a9197597bb942dc0458191_124040_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/img_3_hu0066a2e8d1a9197597bb942dc0458191_124040_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="159"
data-flex-basis="383px"
>&lt;/p>
&lt;h2 id="ribuan-ikon-gratis">Ribuan ikon gratis
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://icon-icons.com/" target="_blank" rel="noopener"
>https://icon-icons.com/&lt;/a>
&lt;img src="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/images/img.png"
width="630"
height="458"
srcset="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/images/img_hud4e59f23b65e922f3b125a8a3404b846_60034_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/images/img_hud4e59f23b65e922f3b125a8a3404b846_60034_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="137"
data-flex-basis="330px"
>&lt;/li>
&lt;/ul>
&lt;h2 id="flaticon">flaticon
&lt;/h2>&lt;p>&lt;a class="link" href="https://www.flaticon.com/" target="_blank" rel="noopener"
>https://www.flaticon.com/&lt;/a>
&lt;img src="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/images/img_1.png"
width="632"
height="457"
srcset="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/images/img_1_hudb7d87f05c11753d254c7b78aaefffc2_54756_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/images/img_1_hudb7d87f05c11753d254c7b78aaefffc2_54756_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="138"
data-flex-basis="331px"
>&lt;/p>
&lt;h2 id="iconfinder">ICONFINDER
&lt;/h2>&lt;p>&lt;a class="link" href="https://www.iconfinder.com/" target="_blank" rel="noopener"
>https://www.iconfinder.com/&lt;/a>
&lt;img src="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/images/img_2.png"
width="629"
height="457"
srcset="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/images/img_2_hu0dc800a470d49e22764252e0fa03fc17_23662_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/images/img_2_hu0dc800a470d49e22764252e0fa03fc17_23662_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="137"
data-flex-basis="330px"
>&lt;/p>
&lt;h2 id="iconfont">iconfont
&lt;/h2>&lt;p>&lt;a class="link" href="https://www.iconfont.cn/" target="_blank" rel="noopener"
>https://www.iconfont.cn/&lt;/a>
&lt;img src="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/images/img_3.png"
width="635"
height="460"
srcset="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/images/img_3_hu295bfcef20bd429ddd55b7aef56dd01b_108321_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/images/img_3_hu295bfcef20bd429ddd55b7aef56dd01b_108321_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="138"
data-flex-basis="331px"
>&lt;/p>
&lt;h2 id="open-iconic">open-iconic
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://github.com/iconic/open-iconic" target="_blank" rel="noopener"
>https://github.com/iconic/open-iconic&lt;/a>
&lt;img src="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/img_1.png"
width="630"
height="429"
srcset="http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/img_1_hu1d827bbc120ad9c667c26a03c4813010_114951_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E9%9B%86%E3%82%B5%E3%82%A4%E3%83%88/img_1_hu1d827bbc120ad9c667c26a03c4813010_114951_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="146"
data-flex-basis="352px"
>&lt;/li>
&lt;/ul></description></item><item><title>Mengubah Skema Warna PaperMod</title><link>http://kenji.blog/id/p/mengubah-skema-warna-papermod/</link><pubDate>Wed, 07 Sep 2022 15:30:21 +0900</pubDate><guid>http://kenji.blog/id/p/mengubah-skema-warna-papermod/</guid><description>&lt;img src="http://kenji.blog/p/papermod%E3%81%AE%E9%85%8D%E8%89%B2%E5%A4%89%E6%9B%B4/img.png" alt="Featured image of post Mengubah Skema Warna PaperMod" />&lt;p>Saya telah mengubah skema warna tema PaperMod. Saya merujuk ke bawah ini untuk metode perubahannya.&lt;/p>
&lt;p>&lt;a class="link" href="https://github.com/adityatelange/hugo-PaperMod/discussions/645" target="_blank" rel="noopener"
>https://github.com/adityatelange/hugo-PaperMod/discussions/645&lt;/a>&lt;/p>
&lt;p>Path CSS adalah sebagai berikut.&lt;/p>
&lt;p>&lt;code>themes/PaperMod/assets/css/extended/blank.css&lt;/code>&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">:root {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> --entry: #fbf7ef;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> --primary: rgba(113, 103, 91, 1.00);
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> --secondary: rgba(113, 103, 91, 0.95);
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> --tertiary: rgba(113, 103, 91, 0.50);
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> --content: rgba(113, 103, 91, 0.85);
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> --hljs-bg: #34231B;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> --code-bg: #ebe4d7;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> --border: #fdfaf5;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> --theme: #fbf7ef;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">.dark {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Untuk saat ini, tidak ada perubahan pada mode gelap.&lt;/p></description></item><item><title>Perhatian Anak</title><link>http://kenji.blog/id/p/perhatian-anak/</link><pubDate>Wed, 07 Sep 2022 04:40:52 +0900</pubDate><guid>http://kenji.blog/id/p/perhatian-anak/</guid><description>&lt;img src="http://kenji.blog/p/%E5%AD%90%E4%BE%9B%E3%81%AE%E3%81%9D%E3%82%93%E3%81%9F%E3%81%8F/images/img.png" alt="Featured image of post Perhatian Anak" />&lt;p>Saat ibu sedang tidak enak badan dan harus berbaring di tempat tidur,
ketika saya bertanya kepada putri kami (2 tahun) tentang persiapan makan malam atau mandi, &amp;ldquo;Bolehkah kita meminta tolong pada ibu untuk ini?&amp;rdquo;
Dia menjawab, &amp;ldquo;Tidak boleh, ibu sedang tidur!&amp;rdquo; dan saya berpikir bahwa bahkan seorang anak pun tahu bagaimana harus bersikap penuh perhatian.&lt;/p>
&lt;p>Saya senang dia tampaknya tumbuh menjadi seseorang yang bisa berempati terhadap orang lain.&lt;/p></description></item><item><title>Catatan Manajemen</title><link>http://kenji.blog/id/p/%E7%B5%8C%E5%96%B6%E8%80%85%E3%83%A1%E3%83%A2/</link><pubDate>Wed, 07 Sep 2022 02:36:11 +0900</pubDate><guid>http://kenji.blog/id/p/%E7%B5%8C%E5%96%B6%E8%80%85%E3%83%A1%E3%83%A2/</guid><description>&lt;img src="http://kenji.blog/p/%E7%B5%8C%E5%96%B6%E8%80%85%E3%83%A1%E3%83%A2/images/img.png" alt="Featured image of post Catatan Manajemen" />&lt;h1 id="menemukan-bisnis-yang-sedang-tren">Menemukan Bisnis yang Sedang Tren
&lt;/h1>&lt;ul>
&lt;li>Tanyakan kepada orang dalam Hot Pepper atau akuntan pajak mengenai bisnis yang sedang tren.&lt;/li>
&lt;li>Jangan memasuki bisnis yang sudah jenuh dan dipenuhi pemain kuat.&lt;/li>
&lt;li>Hanya masuki bisnis yang Anda yakini bisa menarik pelanggan (jangan memasuki bisnis jika pemain yang ada menggunakan metode penarik pelanggan khusus yang tidak bisa ditiru).&lt;/li>
&lt;/ul>
&lt;h1 id="meniru-sepenuhnya">Meniru Sepenuhnya
&lt;/h1>&lt;ul>
&lt;li>Teliti logika bisnis sebelum masuk.&lt;/li>
&lt;li>Tiru sepenuhnya.&lt;/li>
&lt;li>Setelah itu, lakukan perbaikan.&lt;/li>
&lt;/ul>
&lt;h1 id="sistematisasi">Sistematisasi
&lt;/h1>&lt;ul>
&lt;li>Buat manual untuk semuanya agar siapa pun bisa melakukannya tanpa perlu usaha keras.&lt;/li>
&lt;li>Pikirkan dan sistematisasi ide untuk meningkatkan penjualan (peningkatan jumlah pelanggan, nilai per pelanggan) dan mengurangi pengeluaran (biaya personel, biaya iklan).&lt;/li>
&lt;/ul>
&lt;h1 id="filosofi-manajemen">Filosofi Manajemen
&lt;/h1>&lt;ul>
&lt;li>Filosofi manajemen adalah &amp;ldquo;memaksimalkan keuntungan perusahaan,&amp;rdquo; tidak lebih dan tidak kurang.&lt;/li>
&lt;li>Menjadikan kontribusi sosial atau disukai oleh karyawan sebagai filosofi manajemen adalah tindakan yang salah (anggap saja hal-hal tersebut akan mengikuti secara alami nanti).&lt;/li>
&lt;/ul>
&lt;!--
via https://www.youtube.com/watch?v=2TALYTLAke0
--></description></item><item><title>Pemikiran Saya tentang Jepang</title><link>http://kenji.blog/id/p/pemikiran-saya-tentang-jepang/</link><pubDate>Tue, 06 Sep 2022 02:24:11 +0900</pubDate><guid>http://kenji.blog/id/p/pemikiran-saya-tentang-jepang/</guid><description>&lt;img src="http://kenji.blog/p/%E6%97%A5%E6%9C%AC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E6%80%9D%E3%81%86%E3%81%93%E3%81%A8/images/img.png" alt="Featured image of post Pemikiran Saya tentang Jepang" />&lt;p>Saya ingin menyusun pemikiran dan apa yang menurut saya aneh tentang masyarakat Jepang.&lt;/p>
&lt;h1 id="tentang-beasiswa">Tentang Beasiswa
&lt;/h1>&lt;p>Berbicara tentang beasiswa di Jepang, sebagian besar adalah pinjaman dengan bunga yang harus dikembalikan.
Selain itu, biaya kuliah universitas terus meningkat sejak tahun 1950, dan tingkat penerima beasiswa juga menunjukkan tren yang meningkat.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/images/japanese_tuition_fee.png"
loading="lazy"
alt="Tren biaya kuliah"
>
&lt;img src="http://kenji.blog/images/receipt_rate.png"
loading="lazy"
alt="Tren tingkat penerimaan beasiswa"
>&lt;/p>
&lt;p>Di sisi lain, jumlah rata-rata total pinjaman baru-baru ini tampaknya mencapai 3,24 juta yen.&lt;/p>
&lt;blockquote>
&lt;p>Di antara pengguna beasiswa Organisasi Layanan Mahasiswa Jepang, jumlah rata-rata pinjaman adalah 3.243.000 yen. &lt;a class="link" href="https://magazine.aruhi-corp.co.jp/0000-5086/#:~:text=%E5%80%9F%E5%85%A5%E7%B7%8F%E9%A1%8D%E3%81%AA%E3%81%A9%E3%81%AE%E5%B9%B3%E5%9D%87%E9%A1%8D%E3%81%AF&amp;amp;text=%E6%97%A5%E6%9C%AC%E5%AD%A6%E7%94%9F%E6%94%AF%E6%8F%B4%E6%A9%9F%E6%A7%8B%E3%81%AE%E5%A5%A8%E5%AD%A6%E9%87%91%E5%88%A9%E7%94%A8%E8%80%85%E3%81%AB%E3%81%8A%E3%81%84%E3%81%A6,%E4%BB%A5%E4%B8%8A%E3%82%92%E5%8D%A0%E3%82%81%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82" target="_blank" rel="noopener"
>Referensi&lt;/a>&lt;/p>
&lt;/blockquote>
&lt;p>Jika seseorang memiliki hutang sebesar 3 juta yen pada saat lulus kuliah di usia 22 tahun, wajar saja jika usia pernikahan akan tertunda, dan akan lebih sulit untuk memiliki anak. Saya pikir ini adalah salah satu penyebab masalah menurunnya angka kelahiran di Jepang.&lt;/p>
&lt;h1 id="merajalelanya-teori-tanggung-jawab-pribadi">Merajalelanya Teori Tanggung Jawab Pribadi
&lt;/h1>&lt;p>Ini mungkin hanya perasaan, tapi saya pikir ada sikap dingin di masyarakat yang berprinsip &amp;ldquo;masalah orang lain adalah masalah mereka sendiri&amp;rdquo;.
Mungkin tidak bisa dihindari menjadi seperti ini setelah puluhan tahun kemerosotan ekonomi, tapi
bahkan dalam masalah beasiswa di atas, hal itu tidak dianggap sebagai masalah seluruh masyarakat, dan saya merasa bahwa suara kaum muda dan minoritas yang memiliki sedikit suara dalam pemilu sedang diabaikan.
Padahal, dalam jangka panjang, ini adalah masalah yang sangat penting bagi Jepang secara keseluruhan.&lt;/p>
&lt;p>Daripada menuju ke arah persaingan yang berlebihan, saya pikir sangat penting bagi negara untuk memiliki semangat saling membantu jika ada orang, generasi, atau kelompok yang sedang kesulitan.
(Namun, saya merasa kurang nyaman ketika negara bersikeras pada &amp;ldquo;menolong diri sendiri dan saling menolong&amp;rdquo;. Saya ingin mereka mengambil inisiatif untuk membantu mereka yang lemah.)&lt;/p>
&lt;p>(Artikel ini akan diperbarui dari waktu ke waktu.)&lt;/p>
&lt;h2 id="karakteristik-orang-jepang-dari-sudut-pandang-ai">Karakteristik Orang Jepang dari Sudut Pandang AI
&lt;/h2>&lt;p>Ya, saya akan menjelaskan karakteristik orang Jepang.&lt;/p>
&lt;p>【Aspek Positif】&lt;/p>
&lt;ul>
&lt;li>Orang Jepang sopan, dan ada budaya peduli terhadap rasa hormat dan cara berinteraksi dengan orang lain.&lt;/li>
&lt;li>Ketepatan waktu dijaga dengan sangat ketat, dan menghargai waktu sangat dijunjung tinggi.&lt;/li>
&lt;li>Cara berpikir kolektif sangat kuat, dan kerja sama tim serta harmoni sangat diutamakan.&lt;/li>
&lt;li>Kebersihan sangat dihargai, dan ada kecenderungan untuk sangat memperhatikan etika dan kebersihan di tempat umum.&lt;/li>
&lt;li>Menghargai pemberian hadiah dan oleh-oleh, dan budaya berterima kasih tersebar luas.&lt;/li>
&lt;/ul>
&lt;p>【Aspek Negatif】&lt;/p>
&lt;ul>
&lt;li>Kadang-kadang mereka kesulitan untuk menyatakan pendapat pribadi mereka, dan ada kecenderungan untuk menghindari konflik pendapat.&lt;/li>
&lt;li>Dalam budaya kerja yang sangat ketat, kerja lembur dan kematian akibat terlalu banyak bekerja (karoshi) kadang-kadang menjadi masalah yang diperhatikan.&lt;/li>
&lt;li>Masalah diskriminasi dan pengucilan terhadap orang asing masih ada, dan keselarasan dengan masyarakat internasional terkadang menjadi bahan pembicaraan.&lt;/li>
&lt;li>Ada kecenderungan otoritarianisme, dan sering dikritik bahwa mereka terlalu sering menerima pendapat atasan dan orang yang lebih tua tanpa syarat.&lt;/li>
&lt;li>Mereka kadang dikritik sebagai masyarakat yang tertutup, dengan kecenderungan sulit menerima budaya dan nilai-nilai dari luar.&lt;/li>
&lt;/ul></description></item><item><title>Cara Memulai dengan Rust</title><link>http://kenji.blog/id/p/rust%E3%81%AE%E3%81%AF%E3%81%98%E3%82%81%E3%81%8B%E3%81%9F/</link><pubDate>Tue, 06 Sep 2022 00:12:36 +0900</pubDate><guid>http://kenji.blog/id/p/rust%E3%81%AE%E3%81%AF%E3%81%98%E3%82%81%E3%81%8B%E3%81%9F/</guid><description>&lt;img src="http://kenji.blog/p/rust%E3%81%AE%E3%81%AF%E3%81%98%E3%82%81%E3%81%8B%E3%81%9F/images/rust_logo.png" alt="Featured image of post Cara Memulai dengan Rust" />&lt;h1 id="pengantar">Pengantar
&lt;/h1>&lt;p>Rust adalah bahasa pemrograman yang relatif baru yang memungkinkan Anda menulis modul yang cepat dan efisien dalam penggunaan memori dengan sintaksis modern.
Bahasa ini mendukung multi-platform dan juga digunakan di dunia WebAssembly dan sistem tertanam (embedded).
Selain itu, bahasa ini digunakan oleh perusahaan terkenal seperti Firefox, DropBox, dan Cloudflare.&lt;/p>
&lt;p>Rust juga menarik perhatian sebagai alternatif dari C++.&lt;/p>
&lt;h1 id="cara-menginstal">Cara Menginstal
&lt;/h1>&lt;p>&lt;a class="link" href="https://www.rust-lang.org/tools/install" target="_blank" rel="noopener"
>Instal Rust&lt;/a>&lt;/p>
&lt;p>Instruksi instalasi untuk setiap platform tersedia di situs di atas.&lt;/p>
&lt;h1 id="program-pertama-anda">Program Pertama Anda
&lt;/h1>&lt;p>Simpan program berikut sebagai &lt;code>main.rs&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">fn main() {
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> println!(&amp;#34;Hello, world!&amp;#34;);
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Jika Anda menjalankan &lt;code>rustc main.rs&lt;/code> dari command prompt atau terminal,
itu akan dikompilasi, dan menjalankan &lt;code>./main&lt;/code> (untuk Windows &lt;code>main.exe&lt;/code>) akan menghasilkan &lt;code>Hello, world!&lt;/code>.&lt;/p>
&lt;h1 id="dokumentasi-bahasa-jepang">Dokumentasi (Bahasa Jepang)
&lt;/h1>&lt;p>&lt;a class="link" href="https://doc.rust-jp.rs/book-ja/" target="_blank" rel="noopener"
>The Rust Programming Language Versi Jepang&lt;/a>&lt;/p>
&lt;p>Semua penjelasan yang diperlukan untuk mempelajari Rust telah dirangkum di tautan di atas (versi terjemahan bahasa Jepang).
Itu sangat lengkap sehingga Anda tidak perlu membeli buku teks tentang Rust.&lt;/p>
&lt;h1 id="jika-anda-ingin-mencobanya-di-web">Jika Anda Ingin Mencobanya di Web
&lt;/h1>&lt;p>Jika Anda ingin mencoba menjalankannya di web tanpa menginstal kompiler, Anda dapat menggunakan &lt;a class="link" href="https://play.rust-lang.org/" target="_blank" rel="noopener"
>The Rust Playground&lt;/a>.
Masukkan kode Anda dan tekan tombol &amp;ldquo;Jalankan&amp;rdquo;, lalu kode akan dikompilasi dan dijalankan di web.&lt;/p></description></item><item><title>Mengganti Internet Rumah dari Flets Hikari ke J:COM</title><link>http://kenji.blog/id/p/%E3%83%8D%E3%83%83%E3%83%88%E7%92%B0%E5%A2%83%E3%82%92%E3%83%95%E3%83%AC%E3%83%83%E3%83%84%E5%85%89jcom%E3%81%AB%E5%A4%89%E3%81%88%E3%81%9F/</link><pubDate>Mon, 05 Sep 2022 22:48:51 +0900</pubDate><guid>http://kenji.blog/id/p/%E3%83%8D%E3%83%83%E3%83%88%E7%92%B0%E5%A2%83%E3%82%92%E3%83%95%E3%83%AC%E3%83%83%E3%83%84%E5%85%89jcom%E3%81%AB%E5%A4%89%E3%81%88%E3%81%9F/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%8D%E3%83%83%E3%83%88%E7%92%B0%E5%A2%83%E3%82%92%E3%83%95%E3%83%AC%E3%83%83%E3%83%84%E5%85%89jcom%E3%81%AB%E5%A4%89%E3%81%88%E3%81%9F/jcom.png" alt="Featured image of post Mengganti Internet Rumah dari Flets Hikari ke J:COM" />&lt;h1 id="mengganti-internet-rumah-dari-flets-hikari-ke-jcom">Mengganti Internet Rumah dari Flets Hikari ke J:COM
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/p/%E3%83%8D%E3%83%83%E3%83%88%E7%92%B0%E5%A2%83%E3%82%92%E3%83%95%E3%83%AC%E3%83%83%E3%83%84%E5%85%89jcom%E3%81%AB%E5%A4%89%E3%81%88%E3%81%9F/flets_hikari.png"
width="410"
height="123"
srcset="http://kenji.blog/p/%E3%83%8D%E3%83%83%E3%83%88%E7%92%B0%E5%A2%83%E3%82%92%E3%83%95%E3%83%AC%E3%83%83%E3%83%84%E5%85%89jcom%E3%81%AB%E5%A4%89%E3%81%88%E3%81%9F/flets_hikari_hu82dfae18127e227d3385a12e919dd77c_4214_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%83%8D%E3%83%83%E3%83%88%E7%92%B0%E5%A2%83%E3%82%92%E3%83%95%E3%83%AC%E3%83%83%E3%83%84%E5%85%89jcom%E3%81%AB%E5%A4%89%E3%81%88%E3%81%9F/flets_hikari_hu82dfae18127e227d3385a12e919dd77c_4214_1024x0_resize_box_3.png 1024w"
loading="lazy"
class="gallery-image"
data-flex-grow="333"
data-flex-basis="800px"
>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%83%8D%E3%83%83%E3%83%88%E7%92%B0%E5%A2%83%E3%82%92%E3%83%95%E3%83%AC%E3%83%83%E3%83%84%E5%85%89jcom%E3%81%AB%E5%A4%89%E3%81%88%E3%81%9F/jcom.png"
width="380"
height="120"
srcset="http://kenji.blog/p/%E3%83%8D%E3%83%83%E3%83%88%E7%92%B0%E5%A2%83%E3%82%92%E3%83%95%E3%83%AC%E3%83%83%E3%83%84%E5%85%89jcom%E3%81%AB%E5%A4%89%E3%81%88%E3%81%9F/jcom_hub0ec31ac66f5927be8b28fe767bbeebb_3349_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%83%8D%E3%83%83%E3%83%88%E7%92%B0%E5%A2%83%E3%82%92%E3%83%95%E3%83%AC%E3%83%83%E3%83%84%E5%85%89jcom%E3%81%AB%E5%A4%89%E3%81%88%E3%81%9F/jcom_hub0ec31ac66f5927be8b28fe767bbeebb_3349_1024x0_resize_box_3.png 1024w"
loading="lazy"
class="gallery-image"
data-flex-grow="316"
data-flex-basis="760px"
>&lt;/p>
&lt;p>Atas rekomendasi seorang kenalan, saya mengganti koneksi internet rumah dari Flets Hikari ke J:COM. Alasannya adalah:&lt;/p>
&lt;ol>
&lt;li>Biaya bulanan menjadi lebih murah. 3.619 yen -&amp;gt; 2.180 yen&lt;/li>
&lt;li>Kecepatan internet naik dari 100 MBps menjadi 320 MBps&lt;/li>
&lt;/ol>
&lt;p>Itu poin utamanya.&lt;/p>
&lt;h1 id="kesan-setelah-menggunakan">Kesan Setelah Menggunakan
&lt;/h1>&lt;p>Sudah sekitar seminggu sejak beralih, dan sejauh ini hampir tidak ada masalah. Di bawah ini saya tuliskan sedikit hal yang menjadi perhatian.&lt;/p>
&lt;p>Setelah benar-benar berubah, saya perhatikan bahwa kecepatan unduh memang menjadi lebih cepat, dari 60 MBps kini bisa mencapai hampir 320 MBps. Namun,
untuk kecepatan unggah, yang sebelumnya mencapai 40 MBps saat menggunakan Flets Hikari, kini turun menjadi sekitar 10 MBps. Tampaknya ini memang spesifikasi dari pihak J:COM.
Karena saat ini saya tidak melakukan streaming atau mengunggah data dalam jumlah besar, saya akan memantau situasinya.&lt;/p>
&lt;p>Selain itu, akhir-akhir ini saya dan keluarga lebih banyak bekerja dari rumah, namun hari ini untuk pertama kalinya internet terputus selama beberapa puluh menit. Itu pulih secara otomatis, tapi,
mungkin ini bukan awal yang baik. Padahal, belum genap seminggu sejak saya beralih&amp;hellip;&lt;/p>
&lt;p>Sebagai catatan, tampaknya kecepatan aplikasi P2P lambat karena J:COM membatasi komunikasi P2P. Bagi yang menggunakan P2P sebaiknya berhati-hati.&lt;/p>
&lt;h1 id="tentang-layanan">Tentang Layanan
&lt;/h1>&lt;p>Saat penandatanganan kontrak, jika bergabung dengan Netflix atau Disney+, saya akan mendapatkan kartu QUO senilai 40.000 yen, yang akan menutupi biaya kontrak masing-masing layanan dan membuat biaya bulanan rata-rata sedikit lebih murah.
Oleh karena itu, saya mengontrak layanannya bersamaan dengan kontrak internet. Kontrak Netflix berlaku selama 1 tahun dan Disney+ selama setengah tahun, sepertinya saya perlu membatalkan kontrak sendiri.&lt;/p>
&lt;p>Karena saya baru saja beralih, jika ada tambahan kesan dan pengalaman, saya akan memperbarui artikel ini lagi. Sampai jumpa.&lt;/p>
&lt;h1 id="0906-sulit-terhubung-ke-internet">09/06 Sulit Terhubung ke Internet
&lt;/h1>&lt;ul>
&lt;li>2022/09/06 sekitar pukul 13:13 selama 3 sampai 5 menit&lt;/li>
&lt;li>2022/09/06 sekitar pukul 13:30 selama 3 sampai 5 menit&lt;/li>
&lt;li>Beberapa kali setelahnya&amp;hellip;&lt;/li>
&lt;/ul>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%83%8D%E3%83%83%E3%83%88%E7%92%B0%E5%A2%83%E3%82%92%E3%83%95%E3%83%AC%E3%83%83%E3%83%84%E5%85%89jcom%E3%81%AB%E5%A4%89%E3%81%88%E3%81%9F/trouble_shooting.png"
width="571"
height="440"
srcset="http://kenji.blog/p/%E3%83%8D%E3%83%83%E3%83%88%E7%92%B0%E5%A2%83%E3%82%92%E3%83%95%E3%83%AC%E3%83%83%E3%83%84%E5%85%89jcom%E3%81%AB%E5%A4%89%E3%81%88%E3%81%9F/trouble_shooting_hue0af70687972260feb3e86c327d1e005_17559_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%83%8D%E3%83%83%E3%83%88%E7%92%B0%E5%A2%83%E3%82%92%E3%83%95%E3%83%AC%E3%83%83%E3%83%84%E5%85%89jcom%E3%81%AB%E5%A4%89%E3%81%88%E3%81%9F/trouble_shooting_hue0af70687972260feb3e86c327d1e005_17559_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="Diagnosis Jaringan"
class="gallery-image"
data-flex-grow="129"
data-flex-basis="311px"
>&lt;/p>
&lt;p>Sepertinya masalahnya ada di DNS, jadi saya mengatur server DNS merujuk ke &lt;a class="link" href="https://internet.watch.impress.co.jp/docs/column/shimizu/1367271.html" target="_blank" rel="noopener"
>sini&lt;/a>.
Mari kita lihat apa yang terjadi&amp;hellip; Karena saya tidak dapat terhubung bahkan dengan pengaturan DNS, saya menghubungi bagian dukungan, dan mereka mengatakan sedang ada pemeliharaan darurat&amp;hellip; Segera setelah saya menghubungi mereka, status koneksi membaik, jadi saya rasa mereka telah mengambil tindakan.&lt;/p></description></item><item><title>【HUGO】Pratinjau Tampilan di Lingkungan Lokal</title><link>http://kenji.blog/id/p/hugo%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%81%A7%E7%92%B0%E5%A2%83%E3%81%A7%E8%A1%A8%E7%A4%BA%E3%83%97%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC/</link><pubDate>Mon, 05 Sep 2022 12:28:01 +0900</pubDate><guid>http://kenji.blog/id/p/hugo%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%81%A7%E7%92%B0%E5%A2%83%E3%81%A7%E8%A1%A8%E7%A4%BA%E3%83%97%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC/</guid><description>&lt;img src="http://kenji.blog/p/hugo%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%81%A7%E7%92%B0%E5%A2%83%E3%81%A7%E8%A1%A8%E7%A4%BA%E3%83%97%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC/img.png" alt="Featured image of post 【HUGO】Pratinjau Tampilan di Lingkungan Lokal" />&lt;h1 id="instalasi-hugo">Instalasi HUGO
&lt;/h1>&lt;h2 id="unduhan">Unduhan
&lt;/h2>&lt;p>&lt;a class="link" href="https://github.com/gohugoio/hugo/releases" target="_blank" rel="noopener"
>Unduh HUGO&lt;/a>&lt;/p>
&lt;p>Dari situs web di atas, unduh dan ekstrak modul Windows yang sesuai dengan lingkungan Anda.
Dalam kasus saya, saya mengunduh &amp;ldquo;hugo_0.102.3_Windows-64bit.zip&amp;rdquo;.&lt;/p>
&lt;h2 id="ekstrak">Ekstrak
&lt;/h2>&lt;p>Ekstrak file zip yang diunduh dan salin hugo.exe di dalamnya ke direktori yang Anda buat, misalnya C:\bin.&lt;/p>
&lt;h2 id="daftarkan-ke-variabel-lingkungan">Daftarkan ke Variabel Lingkungan
&lt;/h2>&lt;p>Daftarkan ke variabel lingkungan untuk menjalankan hugo.exe dari lokasi mana pun.
Ini adalah operasi di Windows 11, tetapi Anda dapat mendaftarkannya dengan prosedur berikut.&lt;/p>
&lt;ol>
&lt;li>Tekan tombol Win+Pause untuk membuka Tentang.&lt;/li>
&lt;li>Klik Pengaturan sistem lanjutan.&lt;/li>
&lt;li>Klik Variabel Lingkungan.&lt;/li>
&lt;li>Pilih Path dan klik Edit.&lt;/li>
&lt;li>Klik Baru, masukkan &amp;ldquo;C:\bin&amp;rdquo; di baris baru, dan klik OK untuk menutup dialog.&lt;/li>
&lt;/ol>
&lt;h1 id="pratinjau-blog">Pratinjau Blog
&lt;/h1>&lt;p>Pergi ke folder blog HUGO di Command Prompt dan jalankan perintah berikut.&lt;/p>
&lt;p>&lt;code>hugo server -D&lt;/code>&lt;/p>
&lt;p>Hasil eksekusinya ada di bawah. (-D adalah opsi untuk menampilkan artikel draf.)&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">C:\Users\win11\IdeaProjects\kenji.blog&amp;gt;hugo server -D
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Start building sites …
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hugo v0.102.3-b76146b129d7caa52417f8e914fc5b9271bf56fc windows/amd64 BuildDate=2022-09-01T10:16:19Z VendorInfo=gohugoio
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | JA
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">-------------------+-----
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Pages | 39
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Paginator pages | 0
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Non-page files | 7
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Static files | 0
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Processed images | 0
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Aliases | 13
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Sitemaps | 1
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Cleaned | 0
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Built in 161 ms
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Watching for changes in C:\Users\win11\IdeaProjects\kenji.blog\{archetypes,content,themes}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Watching for config changes in C:\Users\win11\IdeaProjects\kenji.blog\config.toml
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Environment: &amp;#34;development&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Serving pages from memory
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Press Ctrl+C to stop
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Alamat akan ditampilkan pada saat eksekusi (dalam contoh di atas, &lt;code>http://localhost:1313/&lt;/code>), jadi salin alamat tersebut ke browser Anda.
Pratinjau akan diperbarui secara otomatis setiap kali file disimpan.
Untuk mengakhiri pratinjau, masukkan Ctrl+C di command prompt.&lt;/p></description></item><item><title>Film yang Menampilkan Matematikawan</title><link>http://kenji.blog/id/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/</link><pubDate>Mon, 05 Sep 2022 10:41:00 +0900</pubDate><guid>http://kenji.blog/id/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/</guid><description>&lt;img src="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/images/img.png" alt="Featured image of post Film yang Menampilkan Matematikawan" />&lt;p>Berikut adalah 3 film rekomendasi saya yang menampilkan matematikawan sebagai karakter utama.&lt;/p>
&lt;h1 id="a-beautiful-mind">A Beautiful Mind
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/images/beautiful_mind.jpg"
loading="lazy"
>&lt;br>
Karya yang menggambarkan separuh kehidupan seorang jenius matematika Amerika di dunia nyata. Perkembangan mengejutkan di akhir cerita.
Pemeran utama Russell Crowe memainkan peran yang bagus.&lt;/p>
&lt;h1 id="enigma">Enigma
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/images/enigma.jpg"
loading="lazy"
>&lt;/p>
&lt;blockquote>
&lt;p>Film yang dirilis pada tahun 2001 berdasarkan novel Robert Harris &amp;ldquo;Enigma&amp;rdquo;.
Dari Wikipedia&lt;/p>
&lt;/blockquote>
&lt;p>Kisah memecahkan kode mesin sandi buatan Jerman yang disebut Enigma.&lt;/p>
&lt;h1 id="the-imitation-game">The Imitation Game
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/images/imitation_game.jpg"
loading="lazy"
>&lt;/p>
&lt;p>Ini juga merupakan kisah pemecahan kode yang berhubungan dengan Enigma. Saya suka pandangan dunia pada waktu itu.&lt;/p>
&lt;h1 id="the-man-who-knew-infinity">The Man Who Knew Infinity
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img.png"
width="566"
height="800"
srcset="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img_hu224d39544ca0af082720aacd7902fd19_1089949_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img_hu224d39544ca0af082720aacd7902fd19_1089949_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="70"
data-flex-basis="169px"
>&lt;/p>
&lt;p>Karya yang menggambarkan interaksi antara matematikawan Universitas Cambridge Hardy dan matematikawan India Ramanujan. Anda bisa merasakan keindahan matematika.&lt;/p>
&lt;h1 id="the-theory-of-everything">The Theory of Everything
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img_1.png"
width="800"
height="459"
srcset="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img_1_hubfe00de5360673c8281820134bf7a309_739706_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img_1_hubfe00de5360673c8281820134bf7a309_739706_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="174"
data-flex-basis="418px"
>&lt;/p>
&lt;p>Karya yang menggambarkan separuh kehidupan Dr. Hawking.&lt;/p>
&lt;h1 id="particle-fever">Particle Fever
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img_2.png"
width="640"
height="960"
srcset="http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img_2_hu18abd37eefb70a17a04950b9cdaa7d84_902746_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E6%95%B0%E5%AD%A6%E8%80%85%E3%81%8C%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E6%98%A0%E7%94%BB/img_2_hu18abd37eefb70a17a04950b9cdaa7d84_902746_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="66"
data-flex-basis="160px"
>&lt;/p></description></item><item><title>Lingkungan Kerja Hari Ini</title><link>http://kenji.blog/id/p/%E4%BB%8A%E6%97%A5%E3%81%AE%E4%BD%9C%E6%A5%AD%E7%92%B0%E5%A2%83/</link><pubDate>Sun, 04 Sep 2022 14:29:09 +0900</pubDate><guid>http://kenji.blog/id/p/%E4%BB%8A%E6%97%A5%E3%81%AE%E4%BD%9C%E6%A5%AD%E7%92%B0%E5%A2%83/</guid><description>&lt;img src="http://kenji.blog/p/%E4%BB%8A%E6%97%A5%E3%81%AE%E4%BD%9C%E6%A5%AD%E7%92%B0%E5%A2%83/images/today_workplase.jpg" alt="Featured image of post Lingkungan Kerja Hari Ini" />&lt;h1 id="meja-anak">Meja Anak
&lt;/h1>&lt;p>Waktu ketika anak saya tidur adalah waktu saya bisa fokus pada pekerjaan. Ayo pergi bermain di taman setelah tidur siangnya selesai.
Seandainya saya punya adaptor Lightning ke HDMI untuk iPad, saya bisa bekerja di meja sebelah kanan~&lt;/p></description></item><item><title>Menambahkan Perintah untuk Menyisipkan Tanggal di IntelliJ IDEA</title><link>http://kenji.blog/id/p/intellij-idea%E3%81%A7%E6%97%A5%E4%BB%98%E3%82%92%E8%B2%BC%E3%82%8A%E4%BB%98%E3%81%91%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B/</link><pubDate>Sun, 04 Sep 2022 05:59:04 +0900</pubDate><guid>http://kenji.blog/id/p/intellij-idea%E3%81%A7%E6%97%A5%E4%BB%98%E3%82%92%E8%B2%BC%E3%82%8A%E4%BB%98%E3%81%91%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B/</guid><description>&lt;img src="http://kenji.blog/p/intellij-idea%E3%81%A7%E6%97%A5%E4%BB%98%E3%82%92%E8%B2%BC%E3%82%8A%E4%BB%98%E3%81%91%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B/images/IntelliJ_logo.png" alt="Featured image of post Menambahkan Perintah untuk Menyisipkan Tanggal di IntelliJ IDEA" />&lt;h1 id="pendahuluan">Pendahuluan
&lt;/h1>&lt;p>Saat menulis blog ini, saya menggunakan IntelliJ IDEA. Sangat nyaman karena memiliki kompatibilitas yang baik dengan Git dan dapat menampilkan pratinjau Markdown.
Setiap kali menulis blog, saya harus menuliskan tanggal di header file md, namun sepertinya tidak ada pintasan (shortcut) bawaan untuk menyisipkan tanggal, jadi saya membuat perintah untuk menyisipkan tanggal berdasarkan referensi dari situs berikut. Semoga bermanfaat.&lt;/p>
&lt;p>&lt;a class="link" href="https://stackoverflow.com/questions/8714779/is-there-a-shortcut-for-inserting-date-time-in-intellij-idea" target="_blank" rel="noopener"
>Is there a shortcut for inserting date/time in IntelliJ IDEA?&lt;/a>&lt;/p>
&lt;h1 id="langkah-langkah-pengaturan">Langkah-langkah Pengaturan
&lt;/h1>&lt;ol>
&lt;li>Buka menu &amp;ldquo;File&amp;rdquo; &amp;gt; &amp;ldquo;Settings&amp;hellip;&amp;rdquo;&lt;br>
&lt;img src="http://kenji.blog/images/settings.png"
loading="lazy"
alt="settings"
>&lt;/li>
&lt;li>Pilih &amp;ldquo;Editor&amp;rdquo; &amp;gt; &amp;ldquo;Live Template&amp;rdquo; &amp;gt; &amp;ldquo;HTML/XML&amp;rdquo;, lalu klik tombol &amp;ldquo;+&amp;rdquo;&lt;/li>
&lt;li>Pilih Live Template&lt;/li>
&lt;li>Masukkan &amp;ldquo;date&amp;rdquo; pada Abbreviation&lt;/li>
&lt;li>Masukkan &amp;ldquo;Menyisipkan tanggal dan waktu&amp;rdquo; pada Description&lt;/li>
&lt;li>Masukkan &amp;ldquo;$date$&amp;rdquo; pada Template Text&lt;/li>
&lt;li>Klik tombol Edit Variables&lt;br>
&lt;img src="http://kenji.blog/images/edit_template_variables.png"
loading="lazy"
alt="edit_template_variables"
>&lt;/li>
&lt;li>Masukkan &amp;ldquo;date&amp;rdquo; pada Name&lt;/li>
&lt;li>Masukkan &lt;code>date(&amp;quot;yyyy-MM-dd'T'HH:mm:ss'+09:00'&amp;quot;)&lt;/code> pada Expression&lt;/li>
&lt;li>Tutup dialog dengan menekan OK&lt;/li>
&lt;li>Klik Define atau Change, lalu centang &amp;ldquo;Everywhere&amp;rdquo;&lt;/li>
&lt;li>Tutup dialog dengan menekan OK&lt;/li>
&lt;li>Di editor kode, ketik &amp;ldquo;date&amp;rdquo; dan tekan Enter. Jika tanggal &amp;ldquo;2022-09-04T05:59:04+09:00&amp;rdquo; disisipkan, pengaturan selesai!&lt;/li>
&lt;/ol>
&lt;p>Demikian.&lt;/p>
&lt;h1 id="penutup">Penutup
&lt;/h1>&lt;p>Saya akan membagikannya lagi jika saya menemukan trik-trik kecil lain untuk IntelliJ IDEA!&lt;/p></description></item><item><title>Saya mulai menulis blog</title><link>http://kenji.blog/id/p/saya-mulai-menulis-blog/</link><pubDate>Fri, 02 Sep 2022 07:23:00 +0900</pubDate><guid>http://kenji.blog/id/p/saya-mulai-menulis-blog/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%96%E3%83%AD%E3%82%B0%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F/images/komeda.jpeg" alt="Featured image of post Saya mulai menulis blog" />&lt;h2 id="saya-mulai-menulis-blog">Saya mulai menulis blog
&lt;/h2>&lt;p>&lt;img src="https://user-images.githubusercontent.com/2605401/187252583-63ef83f4-99c1-4eaf-a5b8-3b5ac1439860.gif"
loading="lazy"
>
Sesuatu seperti kembang api, kodenya ada &lt;a class="link" href="https://github.com/kenjinote/Fireworks" title="Pergi ke kode"
target="_blank" rel="noopener"
>di sini&lt;/a>&lt;/p>
&lt;p>Halo semuanya.
Saya memutuskan untuk mulai menulis blog tanpa alasan khusus.&lt;/p>
&lt;p>Saya tidak punya tujuan besar seperti &amp;ldquo;Saya ingin mempublikasikan ini!&amp;rdquo;,
hanya berpikir akan menyenangkan memiliki tempat di mana saya bisa menulis apa pun yang terlintas di pikiran, baik itu tentang teknologi maupun kehidupan sehari-hari.&lt;/p>
&lt;p>Saya tidak akan terlalu serius dan akan menggunakannya seperti buku catatan.&lt;/p>
&lt;hr>
&lt;h2 id="dibuat-menggunakan-sesuatu-yang-disebut-hugo">Dibuat menggunakan sesuatu yang disebut Hugo
&lt;/h2>&lt;p>Blog ini dibuat menggunakan generator situs statis yang disebut &amp;ldquo;Hugo&amp;rdquo;.
Saya menemukan tema yang bagus, jadi saya memutuskan untuk mencobanya.
(Butuh sekitar 2 jam untuk memilih tema, tapi itu rahasia)&lt;/p>
&lt;p>Saya juga berencana untuk membuat catatan tentang kode dan alat yang menarik bagi saya.&lt;/p>
&lt;hr>
&lt;h2 id="cerita-komeda-di-pagi-hari">Cerita Komeda di pagi hari
&lt;/h2>&lt;p>Ngomong-ngomong, pagi ini saya bangun agak pagi dan pergi ke kedai kopi Komeda.
Saya berangkat jam 8:30, berjalan sambil menghirup udara pagi.&lt;/p>
&lt;p>Saya memesan paket sarapan A dengan mini shironoir dan cafe au lait.
Kalau tidak salah harganya sekitar 800 yen? (Saya tidak ingat)&lt;/p>
&lt;p>Kafe di pagi hari sangat menyenangkan.
Jika saya punya waktu untuk bersantai sebelum bekerja, rasanya hari itu akan berjalan lancar.&lt;/p>
&lt;hr>
&lt;p>Jadi, mulai sekarang saya akan menulis dengan santai.
Saya berencana mencampur topik teknis dan kehidupan sehari-hari.&lt;/p>
&lt;p>Mohon dukungannya!&lt;/p></description></item><item><title>Ekstensi Chrome yang Direkomendasikan untuk Salesforce</title><link>http://kenji.blog/id/p/salesforce%E3%81%8A%E3%81%99%E3%81%99%E3%82%81chrome%E6%8B%A1%E5%BC%B5/</link><pubDate>Mon, 02 May 2022 10:39:36 +0900</pubDate><guid>http://kenji.blog/id/p/salesforce%E3%81%8A%E3%81%99%E3%81%99%E3%82%81chrome%E6%8B%A1%E5%BC%B5/</guid><description>&lt;img src="http://kenji.blog/p/salesforce%E3%81%8A%E3%81%99%E3%81%99%E3%82%81chrome%E6%8B%A1%E5%BC%B5/img.png" alt="Featured image of post Ekstensi Chrome yang Direkomendasikan untuk Salesforce" />&lt;h3 id="salesforce-devtools">Salesforce DevTools
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/salesforce%E3%81%8A%E3%81%99%E3%81%99%E3%82%81chrome%E6%8B%A1%E5%BC%B5/img_1.png"
width="454"
height="361"
srcset="http://kenji.blog/p/salesforce%E3%81%8A%E3%81%99%E3%81%99%E3%82%81chrome%E6%8B%A1%E5%BC%B5/img_1_huf57bbbba5c728384e7ba6fa16d7a54c4_18951_480x0_resize_box_3.png 480w, http://kenji.blog/p/salesforce%E3%81%8A%E3%81%99%E3%81%99%E3%82%81chrome%E6%8B%A1%E5%BC%B5/img_1_huf57bbbba5c728384e7ba6fa16d7a54c4_18951_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="125"
data-flex-basis="301px"
>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/salesforce%E3%81%8A%E3%81%99%E3%81%99%E3%82%81chrome%E6%8B%A1%E5%BC%B5/img_2.png"
width="448"
height="909"
srcset="http://kenji.blog/p/salesforce%E3%81%8A%E3%81%99%E3%81%99%E3%82%81chrome%E6%8B%A1%E5%BC%B5/img_2_huf368a70f31f9534fa7902adae2b30e6e_26924_480x0_resize_box_3.png 480w, http://kenji.blog/p/salesforce%E3%81%8A%E3%81%99%E3%81%99%E3%82%81chrome%E6%8B%A1%E5%BC%B5/img_2_huf368a70f31f9534fa7902adae2b30e6e_26924_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="49"
data-flex-basis="118px"
>&lt;/p>
&lt;p>Anda dapat mencari bidang kustom, atau menampilkan bidang objek kustom sekaligus.&lt;/p>
&lt;p>Juga sangat mudah untuk merakit SOQL di tempat.&lt;/p>
&lt;p>&lt;a class="link" href="https://chrome.google.com/webstore/detail/salesforce-devtools/ehgmhinnhggigkogkbhnbodhbfjgncjf" target="_blank" rel="noopener"
>Salesforce DevTools&lt;/a>&lt;/p>
&lt;h3 id="salesforce-advanced-code-searcher">Salesforce advanced Code searcher
&lt;/h3>&lt;p>&lt;img src="http://kenji.blog/p/salesforce%E3%81%8A%E3%81%99%E3%81%99%E3%82%81chrome%E6%8B%A1%E5%BC%B5/img.png"
width="257"
height="261"
srcset="http://kenji.blog/p/salesforce%E3%81%8A%E3%81%99%E3%81%99%E3%82%81chrome%E6%8B%A1%E5%BC%B5/img_huc75a5c8c4d45e738551ca5afb26f380b_13227_480x0_resize_box_3.png 480w, http://kenji.blog/p/salesforce%E3%81%8A%E3%81%99%E3%81%99%E3%82%81chrome%E6%8B%A1%E5%BC%B5/img_huc75a5c8c4d45e738551ca5afb26f380b_13227_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="98"
data-flex-basis="236px"
>&lt;/p>
&lt;p>Berguna saat mencari kode Salesforce.&lt;/p>
&lt;p>&lt;a class="link" href="https://chrome.google.com/webstore/detail/salesforce-advanced-code/lnkgcmpjkkkeffambkllliefdpjdklmi" target="_blank" rel="noopener"
>Salesforce advanced Code searcher&lt;/a>&lt;/p></description></item><item><title>Arsip</title><link>http://kenji.blog/id/archives/</link><pubDate>Tue, 28 May 2019 00:00:00 +0000</pubDate><guid>http://kenji.blog/id/archives/</guid><description/></item><item><title>Pencarian</title><link>http://kenji.blog/id/search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://kenji.blog/id/search/</guid><description/></item><item><title>Tautan</title><link>http://kenji.blog/id/tautan/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://kenji.blog/id/tautan/</guid><description/></item></channel></rss>