<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Irvan Ahmad Prasetya on Medium]]></title>
        <description><![CDATA[Stories by Irvan Ahmad Prasetya on Medium]]></description>
        <link>https://medium.com/@irvanahmadp?source=rss-114aa305064e------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*jE2d8wbrE1uS_YXC</url>
            <title>Stories by Irvan Ahmad Prasetya on Medium</title>
            <link>https://medium.com/@irvanahmadp?source=rss-114aa305064e------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Fri, 10 Apr 2026 12:03:50 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@irvanahmadp/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Membuat pnpm workspace]]></title>
            <link>https://irvanahmadp.medium.com/membuat-pnpm-workspace-2c24c581edc0?source=rss-114aa305064e------2</link>
            <guid isPermaLink="false">https://medium.com/p/2c24c581edc0</guid>
            <category><![CDATA[nodejs]]></category>
            <category><![CDATA[package-manager]]></category>
            <category><![CDATA[pnpm]]></category>
            <dc:creator><![CDATA[Irvan Ahmad Prasetya]]></dc:creator>
            <pubDate>Wed, 30 Jun 2021 07:36:59 GMT</pubDate>
            <atom:updated>2023-12-21T15:04:06.522Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="pnpm logo" src="https://cdn-images-1.medium.com/max/1012/1*Llzyz7QvwoWasbQ6AbFbSg.png" /><figcaption>Sumber: <a href="https://github.com/pnpm/pnpm">Github.com</a></figcaption></figure><h3>Install pnpm</h3><p>Sebelum membuat workspace dengan pnpm, mari kita install pnpm terlebih dahulu. Untuk menginstall pnpm, kita dapat menggunakan npm atau npx. Berikut ini cara install pnpm dengan npm dan npx.</p><h4>Menggunakan npm</h4><pre>npm install -g pnpm</pre><h4>Melalui npx resolusi</h4><pre>npx pnpm add -g pnpm</pre><p>Untuk cara instalasi lainnya dapat kita cek di <a href="https://pnpm.io/installation">https://pnpm.io/installation</a>.</p><h3>Membuat workspace</h3><p>Untuk membuat workspace dengan pnpm, kita cukup membuat file pnpm-workspace.yaml di folder workspace kita. Untuk penjelasan lengkap file pnpm-workspace.yaml dapat diakses di <a href="https://pnpm.io/pnpm-workspace_yaml">https://pnpm.io/pnpm-workspace_yaml</a>.</p><p>Selain membuat file pnpm-workspace.yaml, kita juga dapat membuat file .npmrc untuk mengatur workspace kita. Kita dapat mengubah path untuk penyimpanan store-dir, path untuk node_modules, dll. File .npmrc bersifat optional. Untuk melihat daftar konfigurasinya dapat dilihat di <a href="https://pnpm.io/npmrc">https://pnpm.io/npmrc</a>.</p><p>Setelahnya kita bisa menyimpan project kita dalam folder workspace. Kita dapat menggunakan perintah pnpm install atau pnpm i untuk menginstall dependencies menggunakan pnpm, menggantikan npm install. Dan menggunakan perintah pnpm add &lt;pkg&gt; untuk menggantikan perintah npm i &lt;pkg&gt;.</p><p>Berikut ini struktur folder kita, jika kita membuat folder NodeJS sebagai workspace.</p><pre>NodeJS                  # Workspace<br>├── project-1           # Project 1<br>│   ├── node_modules<br>│   ├── package.json    # package.json project 1<br>│   └── ...<br>├── project-2           # Project 2<br>│   ├── node_modules<br>│   ├── package.json    # package.json project 2<br>│   └── ...<br>├── node_modules        # node_modules project 1 dan project 2<br>├── pnpm-workspace.yaml<br>└── .npmrc              # optional</pre><p>Untuk node_modules pada setiap project akan link ke node_modules pada workspace. Karena setiap project dalam workspace berbagi node_modules, maka akan lebih menghemat storage kita.</p><p><strong>Nb</strong>: Untuk project yang dibuat menggunakan npx atau pnpx seperti create-react-app atau create-next-app node_modules akan disimpan di masing-masing project bukan workspace, untuk berbagi node_modules yang sama kita harus menghapus folder node_modules dan menginstall ulang menggunakan pnpm i.</p><p><strong>Update</strong>: Penggabungan node_modules untuk beberapa project memiliki kekurangan, setiap melakukan install dependency maka pnpm akan mendownload ulang semua dependency, sehingga akan memperlambat proses install dependency dan lebih banyak menggunakan paket data.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2c24c581edc0" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Belajar Sass]]></title>
            <link>https://irvanahmadp.medium.com/belajar-sass-a9044bea9bc4?source=rss-114aa305064e------2</link>
            <guid isPermaLink="false">https://medium.com/p/a9044bea9bc4</guid>
            <category><![CDATA[sass]]></category>
            <dc:creator><![CDATA[Irvan Ahmad Prasetya]]></dc:creator>
            <pubDate>Tue, 01 Dec 2020 14:19:22 GMT</pubDate>
            <atom:updated>2021-07-06T06:40:15.766Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="logo sass" src="https://cdn-images-1.medium.com/max/1024/1*ZPaLIi9dj0Db9dzwRB4FnA.png" /><figcaption>Sumber: wikipedia.com</figcaption></figure><p>Pada artikel ini, kita akan mempelajari dasar-dasar Sass yang akan memudahkan kita dalam menulis CSS.</p><p>Artikel ini dibuat berdasarkan tutorial dari Progate. Untuk teman-teman yang ingin mempelajari Sass di Progate bisa membuka <a href="https://progate.com/languages/sass">https://progate.com/languages/sass</a>.</p><h3>Apa Itu Sass?</h3><p>Sass adalah bahasa scripting yang akan membuat penulisan CSS lebih mudah dan efisien. Penulisan di Sass lebih singkat dibanding dengan CSS. Dan kodenya dapat digunakan secara berulang.</p><p>Ada dua cara untuk menulis Sass, yaitu sintaksis SASS dan sintaksis SCSS. Di artikel ini, kita menggunakan sintaksis SCSS, yang mana adalah sintaksis yang lebih umum. File ekstensinya adalah .scss dan bukan .css.</p><h3>Install Sass</h3><p>Untuk pengguna <strong>Windows</strong>, <strong>Mac</strong>, atau <strong>Linux</strong> bisa menginstall Sass mengunakan <strong>NPM</strong> dengan menjalankan:</p><pre>npm install -g sass</pre><p>Untuk pengguna <strong>Mac OS X</strong> atau <strong>Linux </strong>bisa menginstall Sass mengunakan <strong>Homebrew</strong> dengan menjalankan:</p><pre>brew install sass/sass/sass</pre><p>Setelah kita menginstall Sass, mari kita mulai belajar menggunakannya.</p><h3>Struktur Nesting (Sarang)</h3><p>Sass memungkinkan kita untuk nesting (menyarang) selector pada selector lain. Jadi kita tidak perlu untuk menulis selector yang sama berulang kali. Contoh bisa dilihat dibawah.</p><pre>.menu{<br> width: 100%;</pre><pre> ul{<br>  list-style-type: none;<br>  <br>  li{<br>    padding: 15px;<br>    color: #fff;<br>  }<br> }<br>}</pre><p>Kelebihan struktur nesting lainnya adalah ketika kita ingin mengubah nama selector, perubahan yang perlu kita lakukan lebih sedikit daripada menggunakan CSS. Seperti contoh diatas, kalau kita ingin mengubah nama class menu, kita cuma perlu melakukan 1 perubahan.</p><h3><strong>Pseudo Class dan Pseudo Element di Sass</strong></h3><p>Untuk menggunakan pseudo class (:hover, :active, dll) dan pseudo element (::after, ::before, ::first-letter, dll) di Sass kita bisa menggunakan simbol dan (&amp;). Kalau menggunakan CSS kita akan menggunakan selector li:hover dan p::after, di Sass kita akan menggunakan &amp;:hover dan &amp;:after. Untuk contohnya bisa dilihat dibawah.</p><pre>li{<br>  padding: 15px;<br>  color: #fff;<br>  <br>  &amp;:hover{<br>   color: #000<br>  }<br>}</pre><pre>p{<br>  &amp;:after {<br>   content: &quot;* * *&quot;;<br>  }<br>}</pre><h3>Menerapkan CSS Ke Element Spesifik</h3><p>Untuk menerapkan CSS ke element spesifik di Sass, kita dapat menggunakan simbol dan (&amp;). Jika kita ingin mengubah tampilan untuk element p dengan class .second di CSS kita akan menggunakan selector p.second, di Sass kita akan menggunakan &amp;.second. Untuk contohnya dapat dilihat dibawah.</p><pre>p{<br> &amp;.second{<br>  color: red;  <br> }<br>}</pre><p>Kode diatas akan mengubah warna text di element p dengan class second.</p><h3>Variable</h3><p>Contoh mendefinisikan dan menggunakan variable di Sass dapat dilihat dibawah.</p><pre>$primary-color: #6200EE;<br>h1{<br>  color: $primary-color;<br>}<br>p{<br>  color: $primary-color;<br>}</pre><h3>Mixin</h3><p>Selanjutnya kita akan belajar mixin, fitur yang akan sangat berguna di Sass. Mixin adalah function untuk menggabungkan baris-baris code dan menggunakannya kembali. Jadi kita tidak perlu menulis code yang sama berulang kali dan dapat mengurangi duplikasi code. Berikut merupakan contoh penggunaan mixin.</p><pre>//menggunakan mixin tanpa variable<br>@mixin card{<br>  width: 100px;<br>  padding: 15px;<br>}<br>.card-1{<br>  @include card;<br>}<br>.card-2{<br>  @include card;<br>}</pre><pre>//menggunakan mixin dengan variable<br>@mixin card-color($color){<br>  width: 100px;<br>  padding: 15px;<br>  background-color: $color;<br>}<br>.card-3{<br>  @include card-color(#6200EE);<br>}</pre><h3>Modul</h3><p>Sass menyediakan banyak modul yang berisi fungsi-fungsi yang berguna, seperti color, list, map, math, dll. Untuk menggunakannya kita bisa memuat modul dengan @use “sass:nama-module”, seperti @use “sass:color”;.</p><p>Sebelum sistem modul di Sass diperkenalkan semua fungsi Sass tersedia secara global. Saat artikel ini dibuat, masih banyak fungsi di Sass yang memiliki alias global. Tapi tim Sass tidak menyarankan penggunannya, karena mungkin untuk kedepannya tim Sass akan menhentikan support untuk modul-modul alias tersebut.</p><p>Namun ada beberapa fungsi yang hanya tersedia secara global, seperti fungsi if(), rgb(), dan hsl(). Fungsi-fungsi tersebut tidak akan pernah usang dan dapat digunakan secara bebas. Untuk semua global fungsi di Sass dapat dilihat di <a href="https://sass-lang.com/documentation/modules#global-functions">https://sass-lang.com/documentation/modules#global-functions</a>. Dan untuk contoh penggunaan modul di Sass dapat dilihat dibawah.</p><pre>@use &quot;sass:color&quot;;<br>@use &quot;sass:math&quot;;</pre><pre>h1{<br>  //Membuat warna lebih gelap<br>  color: color.scale(#6200EE, $lightness: -30%); //Menghasilkan #4500a7;</pre><pre>  //Mengembalikan nilai tertinggi dari satu atau lebih angka.<br>  padding: math.max(5px, 10px, 20px, 15px); //Menghasilkan 20px;<br>}<br>h2{<br>  //Membuat warna lebih terang<br>  color: color.scale(#6200EE, $lightness: 30%); //Menghasilkan #8f41ff;</pre><pre>  //Mengembalikan nilai terendah dari satu atau lebih angka.<br>  padding: math.min(5px, 10px, 20px, 15px); //Menghasilkan 5px;<br>}</pre><h3>Import</h3><p>Untuk melakukan import tambahkan underscore (_) diawal nama file yang akan diimport, seperti _colors.scss. Lalu tambahkan @import nama-file untuk file yang akan melakukan import, seperti @import _colors.scss. Untuk contohnya dapat dilihat dibawah.</p><pre><strong>file yang akan diimport<br>_colors.scss</strong><br>$primary-color: #6200EE;</pre><pre><strong>file yang melakukan import<br>style.scss</strong><br>@import colors;<br>//bisa juga @import _colors.scss;</pre><pre>h1{<br>  color: $primary-color;<br>}</pre><h3>Compile Sass ke CSS</h3><p>Kita dapat mengcompile file .sass atau .scss kita menjadi .css dengan menjalankan kode dibawah di terminal.</p><pre>sass source/stylesheets/index.scss build/stylesheets/index.css</pre><p>Saya rasa cukup sekian artikel belajar dasar Sass ini. Untuk teman-teman yang ingin belajar lebih lanjut mengenai Sass bisa membuka <a href="https://sass-lang.com/documentation">dokumentasinya</a> dan untuk teman-teman yang ingin belajar Sass secara interaktif dapat mempelajarinya di <a href="https://progate.com/languages/sass">Progate</a>. Terima kasih.</p><h4>Referensi</h4><ol><li><a href="https://progate.com/languages/sass">https://progate.com/languages/sass</a></li><li><a href="https://sass-lang.com/install">https://sass-lang.com/install</a></li><li><a href="https://sass-lang.com/documentation/modules">https://sass-lang.com/documentation/modules</a></li></ol><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a9044bea9bc4" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Belajar Golang]]></title>
            <link>https://irvanahmadp.medium.com/belajar-golang-85c6aca406e?source=rss-114aa305064e------2</link>
            <guid isPermaLink="false">https://medium.com/p/85c6aca406e</guid>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[bahasa-pemrograman]]></category>
            <dc:creator><![CDATA[Irvan Ahmad Prasetya]]></dc:creator>
            <pubDate>Mon, 27 Apr 2020 22:21:02 GMT</pubDate>
            <atom:updated>2023-12-21T14:34:51.060Z</atom:updated>
            <content:encoded><![CDATA[<h3>Pengenalan</h3><figure><img alt="Golang logo" src="https://cdn-images-1.medium.com/max/1024/1*Z3W3s5QYNg9fRwL5TjgRPA.png" /><figcaption>Image from <a href="http://google.com">Google.com</a></figcaption></figure><p>Golang atau biasa disebut Go adalah bahasa pemrograman yang dikembangkan di Google oleh <a href="https://github.com/griesemer">Robert Griesemer</a>, <a href="https://en.wikipedia.org/wiki/Rob_Pike">Rob Pike</a>, dan <a href="https://en.wikipedia.org/wiki/Ken_Thompson">Ken Thompson</a> pada tahun 2007 dan mulai diperkenalkan ke publik tahun 2009.</p><p>Golang sudah digunakan oleh banyak perusahaan, seperti Bukalapak, Tokopedia, ataupun Gojek. Untuk daftar perusahaan yang menggunakan golang dapat dilihat di <a href="https://github.com/rakyll/gowiki/blob/master/GoUsers.md">https://github.com/rakyll/gowiki/blob/master/GoUsers.md</a>.</p><h4>Keunggulan</h4><p>Golang memiliki keunggulan dari bahasa lain, yang diantaranya adalah:</p><ul><li>Mendukung konkurensi di level bahasa dengan pengaplikasian cukup mudah</li><li>Mendukung pemrosesan data dengan banyak prosesor dalam waktu yang bersamaan <em>(pararel processing)</em></li><li>Memiliki <em>garbage collector</em></li><li>Proses kompilasi sangat cepat</li><li>Package/modul yang disediakan terbilang lengkap</li></ul><h3>Daftar Tutorial</h3><p>Di internet, ada banyak tutorial golang dengan berbagai bahasa dan format seperti: web, ebook, dan video. Berikut adalah beberapa tutorial golang:</p><h4>Web</h4><ul><li><a href="https://golang.org/">Dokumentasi Golang</a> oleh <strong>golang.org</strong></li><li><a href="https://devdocs.io/go/">Dokementasi Golan</a>g oleh <strong>devdocs.io</strong></li><li><a href="https://dasarpemrogramangolang.novalagung.com/">Dasar Pemrograman Golang</a> oleh <strong>Noval Agung Prayogo</strong></li><li><a href="http://www.pazams.com/Go-for-Javascript-Developers/">Go for Javascript Developers</a> oleh <strong>Maor Zamski</strong> &amp; <strong>Daniel Singer</strong></li></ul><h4>Ebook</h4><ul><li><a href="https://github.com/gungunfebrianza/Belajar-Dengan-Jenius-Golang">Belajar Dengan Jenius Golang</a> oleh <strong>Gun Gun Febrianza</strong></li><li><a href="https://github.com/novalagung/dasarpemrogramangolang">Dasar Pemrograman Golang</a> oleh <strong>Noval Agung Prayogo</strong></li><li><a href="https://www.openmymind.net/The-Little-Go-Book/">The Little Go Book</a> oleh <strong>Karl Seguin</strong></li><li><a href="http://www.golangbootcamp.com/">Go Bootcamp</a> oleh <strong>Matt Aimonetti</strong></li><li>Untuk ebook lainnya dapat dilihat di <a href="https://github.com/dariubs/GoBooks#books">https://github.com/dariubs/GoBooks#books</a></li></ul><h4>Video</h4><ul><li><a href="https://www.youtube.com/watch?v=napjyc6JtlU&amp;list=PLCZlgfAG0GXDztO-BFc9R5afhP26Dhsgm">Belajar Golang basic bahasa Indonesia</a> oleh <strong>Sekolah Koding</strong></li><li><a href="https://www.youtube.com/watch?v=R30g_H84chg&amp;list=PL-CtdCApEFH_t5_dtCQZgWJqWF45WRgZw">Belajar Go-Lang untuk Pemula</a> oleh <strong>Programmer Zaman Now </strong>(<strong>Eko Kurniawan Khannedy</strong>)</li><li><a href="https://www.youtube.com/watch?v=mAZuymsLmN8&amp;list=PLMrwI6jIZn-0RXpnU79gz5uSI9VvpdNUX">Tutorial Golang Bahasa Indonesia(Dasar/Basic)</a> oleh <strong>Musobar Media</strong></li></ul><h3>Komunitas</h3><p>Kita juga dapat bergabung dengan komunitas golang seperti <a href="https://web.facebook.com/groups/GophersID">Golang Indonesia</a> di facebook dan @<a href="https://t.me/gophers_id">gophers_id</a> di telegram.</p><h4>Referensi</h4><ol><li><a href="https://dasarpemrogramangolang.novalagung.com/1-berkenalan-dengan-golang.html">https://dasarpemrogramangolang.novalagung.com/1-berkenalan-dengan-golang.html</a></li><li><a href="https://github.com/rakyll/gowiki/blob/master/GoUsers.md">https://github.com/rakyll/gowiki/blob/master/GoUsers.md</a></li><li><a href="https://github.com/dariubs/GoBooks#books">https://github.com/dariubs/GoBooks#books</a></li></ol><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=85c6aca406e" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>