<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Guruh Rachmat Pribadi</title>
    <description>The latest articles on DEV Community by Guruh Rachmat Pribadi (@rpguruh).</description>
    <link>https://dev.to/rpguruh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F131542%2Fae0be8ef-af29-425a-818b-3a2794a68d0e.jpg</url>
      <title>DEV Community: Guruh Rachmat Pribadi</title>
      <link>https://dev.to/rpguruh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rpguruh"/>
    <language>en</language>
    <item>
      <title>Dasar-dasar Rust: Memahami main dan Variabel</title>
      <dc:creator>Guruh Rachmat Pribadi</dc:creator>
      <pubDate>Sat, 21 Jun 2025 14:57:05 +0000</pubDate>
      <link>https://dev.to/rpguruh/-1gmj</link>
      <guid>https://dev.to/rpguruh/-1gmj</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/rpguruh/1-belajar-rust-struktur-program-variabel-c96" class="crayons-story__hidden-navigation-link"&gt;#1 Belajar rust (Struktur program &amp;amp; variabel)&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/rpguruh" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F131542%2Fae0be8ef-af29-425a-818b-3a2794a68d0e.jpg" alt="rpguruh profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/rpguruh" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Guruh Rachmat Pribadi
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Guruh Rachmat Pribadi
                
              
              &lt;div id="story-author-preview-content-2612301" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/rpguruh" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F131542%2Fae0be8ef-af29-425a-818b-3a2794a68d0e.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Guruh Rachmat Pribadi&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/rpguruh/1-belajar-rust-struktur-program-variabel-c96" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jun 21 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/rpguruh/1-belajar-rust-struktur-program-variabel-c96" id="article-link-2612301"&gt;
          #1 Belajar rust (Struktur program &amp;amp; variabel)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/rust"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;rust&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
            &lt;a href="https://dev.to/rpguruh/1-belajar-rust-struktur-program-variabel-c96#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            3 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>rust</category>
      <category>programming</category>
    </item>
    <item>
      <title>#1 Belajar rust (Struktur program &amp; variabel)</title>
      <dc:creator>Guruh Rachmat Pribadi</dc:creator>
      <pubDate>Sat, 21 Jun 2025 14:51:16 +0000</pubDate>
      <link>https://dev.to/rpguruh/1-belajar-rust-struktur-program-variabel-c96</link>
      <guid>https://dev.to/rpguruh/1-belajar-rust-struktur-program-variabel-c96</guid>
      <description>&lt;p&gt;Halo semuanya! 👋&lt;br&gt;
Ini adalah &lt;strong&gt;tulisan pertama&lt;/strong&gt; saya tentang bahasa pemrograman Rust. Saat ini, saya &lt;strong&gt;masih dalam tahap awal belajar&lt;/strong&gt; dan sedang mencoba mendokumentasikan hal-hal yang saya pelajari sejauh ini.&lt;/p&gt;

&lt;p&gt;Catatan ini bukan bertujuan untuk mengajari, tapi lebih sebagai &lt;strong&gt;arsip pribadi&lt;/strong&gt; yang semoga juga bisa bermanfaat bagi teman-teman pemula lainnya yang sedang menapaki perjalanan belajar Rust.&lt;/p&gt;

&lt;p&gt;Kalau ada koreksi atau masukan, saya akan sangat menghargainya! 😊&lt;/p&gt;

&lt;h2&gt;
  
  
  🦀 Struktur Program Kode Rust
&lt;/h2&gt;

&lt;p&gt;Rust merupakan bahasa pemrograman yang mendukung paradigma &lt;strong&gt;functional programming&lt;/strong&gt;, di mana penggunaan &lt;strong&gt;fungsi&lt;/strong&gt; menjadi salah satu kekuatan utamanya.&lt;/p&gt;

&lt;p&gt;Dalam setiap program Rust, ada satu fungsi yang &lt;strong&gt;wajib ada&lt;/strong&gt; dan akan dijalankan &lt;strong&gt;pertama kali&lt;/strong&gt; saat program dijalankan, yaitu:&lt;/p&gt;

&lt;h3&gt;
  
  
  Contoh:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
    &lt;span class="c1"&gt;// Blok kode ini akan dijalankan pertama kali saat program dijalankan&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Konsep ini sama persis seperti pada bahasa C, C++, dan Java, di mana fungsi &lt;code&gt;main&lt;/code&gt; berperan sebagai titik awal eksekusi program. Semua logika akan dijalankan mulai dari fungsi ini.&lt;/p&gt;

&lt;h2&gt;
  
  
  🦀 Konsep Variabel di rust
&lt;/h2&gt;

&lt;p&gt;Seperti halnya bahasa pemrograman lain, Rust memiliki variabel dan tipe data. Tapi yang menarik, Rust juga membawa beberapa konsep unik yang membedakannya dari bahasa seperti JavaScript, PHP, atau C++.&lt;/p&gt;

&lt;p&gt;Supaya lebih mudah dipahami, saya akan jelaskan melalui potongan kode di bawah ini.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Keyword &lt;code&gt;let&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Penulisan variabel di Rust &lt;strong&gt;selalu diawali dengan kata kunci&lt;/strong&gt; &lt;code&gt;let&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Ini berbeda dengan beberapa bahasa lain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Di &lt;strong&gt;Python&lt;/strong&gt;, kita bisa langsung menulis nama variabel tanpa keyword apa pun.&lt;/li&gt;
&lt;li&gt;Di &lt;strong&gt;PHP&lt;/strong&gt;, variabel selalu diawali dengan tanda &lt;code&gt;$&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Di &lt;strong&gt;C++&lt;/strong&gt;, deklarasi variabel harus diawali dengan tipe data terlebih dahulu, baru diikuti oleh nama variabel.&lt;/li&gt;
&lt;li&gt;Sementara itu, &lt;strong&gt;TypeScript&lt;/strong&gt; memiliki kemiripan dengan Rust karena juga menggunakan keyword &lt;code&gt;let&lt;/code&gt; untuk deklarasi variabel.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Contoh:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="n"&gt;angka_pertama&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. &lt;code&gt;immutable&lt;/code&gt; vs &lt;code&gt;mutable&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Ada yang unik di Rust: &lt;strong&gt;secara default, variabel yang dibuat bersifat tidak dapat diubah&lt;/strong&gt; setelah nilainya ditetapkan. 😲&lt;/p&gt;

&lt;p&gt;Konsep ini disebut &lt;strong&gt;&lt;code&gt;immutable&lt;/code&gt;&lt;/strong&gt; — artinya, variabel tersebut tidak bisa diubah nilainya kecuali kita secara eksplisit menset nya untuk bisa diubah.&lt;/p&gt;

&lt;p&gt;Hal ini sangat berbeda dengan banyak bahasa pemrograman lain, di mana variabel bisa bebas diubah nilainya kapan saja setelah inisialisasi. Rust justru mendorong penggunaan variabel yang tetap, demi alasan keamanan dan prediktabilitas dalam penulisan program.&lt;/p&gt;

&lt;h4&gt;
  
  
  Contoh:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="n"&gt;nama_saya&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"Guruh"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;nama_saya&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"Dani"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// akan menyebabkan error&lt;/span&gt;
    &lt;span class="nd"&gt;println!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"nama saya adalah : {}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;nama_saya&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lalu, bagaimana jika kita ingin agar variabel &lt;strong&gt;bisa diubah&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;Rust menyediakan keyword &lt;code&gt;mut&lt;/code&gt; (singkatan dari &lt;em&gt;mutable&lt;/em&gt;) yang digunakan saat kita menginisialisasi variabel. Dengan menambahkan &lt;code&gt;mut&lt;/code&gt;, kita memberi tahu Rust bahwa variabel tersebut &lt;strong&gt;boleh diubah setelah dideklarasikan&lt;/strong&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Contoh:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="k"&gt;mut&lt;/span&gt; &lt;span class="n"&gt;nama_saya&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"Guruh"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;nama_saya&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"Dani"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// ini valid&lt;/span&gt;
    &lt;span class="nd"&gt;println!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"nama saya adalah : {}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;nama_saya&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Penulisan tipe data
&lt;/h3&gt;

&lt;p&gt;Rust memperbolehkan kita untuk &lt;strong&gt;mendefinisikan tipe data secara eksplisit&lt;/strong&gt;, maupun &lt;strong&gt;tidak mendefinisikannya sama sekali&lt;/strong&gt; (Rust akan secara otomatis menebak tipe dari variabel yang kita buat, berdasarkan nilai yang kita assign).&lt;/p&gt;

&lt;p&gt;Pendekatan ini terasa seperti kombinasi antara gaya penulisan variabel di &lt;strong&gt;C++&lt;/strong&gt; (yang eksplisit dengan tipe data) dan &lt;strong&gt;PHP&lt;/strong&gt; (yang fleksibel tanpa deklarasi tipe secara langsung).&lt;/p&gt;

&lt;p&gt;Lantas, bagaimana jika kita ingin mendefinisikan tipe data secara eksplisit?&lt;/p&gt;

&lt;h4&gt;
  
  
  Contoh:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="n"&gt;angka&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;i8&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// i8 adalah integer 8-bit&lt;/span&gt;
    &lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="n"&gt;usia&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;i8&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;usia&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nd"&gt;println!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"angka : {}, usia : {}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;angka&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;usia&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Catatan Penting Seputar Variabel di Rust
&lt;/h3&gt;

&lt;p&gt;Berikut beberapa hal penting yang perlu diperhatikan saat bekerja dengan variabel di Rust:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;✅ &lt;strong&gt;Penamaan variabel sebaiknya menggunakan format &lt;code&gt;snake_case&lt;/code&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;⚠️ &lt;strong&gt;Variabel yang dideklarasikan tetapi tidak digunakan akan menghasilkan peringatan (warning)&lt;/strong&gt; &lt;/li&gt;
&lt;li&gt;⚠️ &lt;strong&gt;Variabel yang ditandai &lt;code&gt;mut&lt;/code&gt; tetapi tidak mengalami perubahan juga akan menimbulkan peringatan&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;Kalau kamu juga sedang belajar Rust, atau punya pengalaman menarik seputar Rust,&lt;br&gt;&lt;br&gt;
yuk berbagi di kolom komentar! ✍️&lt;br&gt;&lt;br&gt;
Sampai jumpa di materi selanjutnya! 👋&lt;/p&gt;

</description>
      <category>rust</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
