<?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: Azril ardian</title>
    <description>The latest articles on DEV Community by Azril ardian (@azrilardian).</description>
    <link>https://dev.to/azrilardian</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%2F492958%2F8c2cec83-c1c2-4f98-9068-436b23b97ed0.jpg</url>
      <title>DEV Community: Azril ardian</title>
      <link>https://dev.to/azrilardian</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/azrilardian"/>
    <language>en</language>
    <item>
      <title>Mengenal macam - macam Metodologi penulisan CSS - Part 2</title>
      <dc:creator>Azril ardian</dc:creator>
      <pubDate>Fri, 04 Nov 2022 06:29:12 +0000</pubDate>
      <link>https://dev.to/azrilardian/mengenal-macam-macam-metodologi-penulisan-css-part-2-1kn1</link>
      <guid>https://dev.to/azrilardian/mengenal-macam-macam-metodologi-penulisan-css-part-2-1kn1</guid>
      <description>&lt;p&gt;Sesuai janji, kita akan melanjutkan pembahasan tentang metodologi CSS yang belum kita selesaikan di blog sebelumnya. Selain 2 metodologi CSS yaitu OOCSS dan BEM yang telah kita bahas kemarin, berikut ini adalah metodologi - metodologi lainnya.&lt;/p&gt;

&lt;h2&gt;
  
  
  SUIT
&lt;/h2&gt;

&lt;p&gt;Metodologi SUIT adalah pendekatan berdasarkan BEM, tetapi dengan beberapa penyesuaian dan penambahan yang dibuat oleh Nicholas Gallagher. SUIT melakukan semua yang dilakukan BEM, tetapi bagi banyak pengguna, ini dianggap sebagai peningkatan.&lt;/p&gt;

&lt;p&gt;SUIT terdiri dari &lt;em&gt;Utilities&lt;/em&gt; dan &lt;em&gt;Components&lt;/em&gt;. Di dalam komponen-komponennya mungkin terdapat &lt;em&gt;Modifiers&lt;/em&gt;, &lt;em&gt;Descendants&lt;/em&gt;, dan &lt;em&gt;States&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;SUIT menggunakan kombinasi dari gaya penulisan &lt;em&gt;PascalCase&lt;/em&gt;, &lt;em&gt;camelCase&lt;/em&gt; dan &lt;em&gt;dashes&lt;/em&gt;. Konvensi-konvensinya menegakkan batas pada sejumlah garis putus-putus dan garis bawah yang membingungkan yang dapat muncul dalam BEM.&lt;/p&gt;

&lt;p&gt;Sebagai contoh, kelas BEM &lt;code&gt;.search-form__text-field&lt;/code&gt;  akan menjadi &lt;code&gt;.SearchForm-textField&lt;/code&gt; dalam SUIT.&lt;/p&gt;

&lt;p&gt;Kelas SUIT CSS hadir dalam lima format:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;u-utilityName&lt;/li&gt;
&lt;li&gt;ComponentName&lt;/li&gt;
&lt;li&gt;ComponentName--modifierName&lt;/li&gt;
&lt;li&gt;ComponentName-elementName&lt;/li&gt;
&lt;li&gt;ComponentName.is-stateOfName&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Konvensi penamaan kelas ini menyoroti pembagian antara:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Utility&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Component&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Descendent&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Modifier&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Utility&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Utilities&lt;/em&gt; menangani struktur dan gaya posisional, dan ditulis sedemikian rupa sehingga mereka dapat diterapkan di mana saja dalam suatu komponen. Mereka diawali dengan &lt;code&gt;u-&lt;/code&gt; dan ditulis dalam &lt;em&gt;camelCase&lt;/em&gt;.&lt;br&gt;
&lt;strong&gt;Contoh:&lt;/strong&gt; &lt;code&gt;.u-clearFix.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Component&lt;/strong&gt;&lt;br&gt;
Sebuah komponen dalam SUIT seperti &lt;em&gt;block&lt;/em&gt; pada BEM. Komponen selalu ditulis dalam &lt;code&gt;PascalCase&lt;/code&gt;. Selain komponen, semua ditulis menggunakan pascalCase, ini membuat mereka mudah untuk diidentifikasi.&lt;br&gt;
&lt;strong&gt;Contoh:&lt;/strong&gt; &lt;code&gt;.SearchForm&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Component Namespace&lt;/strong&gt;&lt;br&gt;
Komponen opsional dapat diawali dengan &lt;code&gt;namespace&lt;/code&gt; dan &lt;code&gt;nmsp&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Contoh:&lt;/strong&gt; &lt;code&gt;.mine-SearchForm&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Descendent&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Descendent&lt;/em&gt; dalam SUIT menggantikan elemen dalam BEM.&lt;br&gt;
&lt;strong&gt;Contoh:&lt;/strong&gt; &lt;code&gt;.SearchForm-heading&lt;/code&gt;, &lt;code&gt;.SearchForm-textField&lt;/code&gt; , &lt;code&gt;.SearchForm-submitButton&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Modifier&lt;/strong&gt;&lt;br&gt;
SUIT menggunakan &lt;em&gt;modifier&lt;/em&gt; seperti halnya BEM, namun peran mereka lebih dikontrol ketat. &lt;em&gt;Modifier&lt;/em&gt; SUIT umumnya hanya diterapkan langsung ke komponen, bukan ke keturunan. Ini juga tidak boleh digunakan untuk mewakili perubahan &lt;em&gt;state&lt;/em&gt;, karena SUIT memiliki konvensi penamaan khusus untuk &lt;em&gt;state&lt;/em&gt;.&lt;br&gt;
Modifier ditulis dalam &lt;em&gt;camelcase&lt;/em&gt; dan didahului oleh dua tanda hubung &lt;code&gt;--&lt;/code&gt;.&lt;br&gt;
&lt;strong&gt;Contoh:&lt;/strong&gt; &lt;code&gt;.SearchForm--advanced&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;State&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;State&lt;/em&gt; dapat digunakan untuk mencerminkan perubahan komponen. &lt;em&gt;State&lt;/em&gt; memungkinkan mereka untuk dibedakan secara jelas dari &lt;em&gt;modifier&lt;/em&gt;, yang mencerminkan modifikasi penampilan dasar komponen tanpa memandang &lt;em&gt;state&lt;/em&gt;. Jika perlu, state juga dapat diterapkan ke turunan.&lt;/p&gt;

&lt;p&gt;State diawali dengan &lt;code&gt;is-&lt;/code&gt; dan ditulis dalam &lt;em&gt;camelCase&lt;/em&gt;. Mereka juga selalu ditulis sebagai kelas yang berdampingan.&lt;br&gt;
&lt;strong&gt;Contoh:&lt;/strong&gt; &lt;code&gt;.SearchForm.is-invalid&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Dokumentasi resmi SUIT: &lt;a href="https://suitcss.github.io/"&gt;https://suitcss.github.io/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  ACSS ( Atomic CSS )
&lt;/h2&gt;

&lt;p&gt;ACSS adalah metodologi yang dipopulerkan oleh Yahoo. Konsep kunci ACSS adalah menciptakan kelas untuk tingkat gaya paling &lt;em&gt;atomik&lt;/em&gt;, yaitu pasangan nilai-properti, kemudian menggunakannya dalam HTML sesuai kebutuhan.&lt;br&gt;
Gagasan dalam ACSS adalah untuk memiliki kelas kepada hampir semua pasangan nilai-properti terkait yang tidak dapat digunakan kembali.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contoh:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.mr-8 {
   margin-right: 8px;
}

.fl-r {
   float: right;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Seperti yang kita lihat, jumlah kelas akan bertambah signifikan dengan metode ini, imbasnya adalah HTML akan penuh oleh semua kelas tersebut. Metode ini tidak 100% efektif, tetapi dapat dibuat bermanfaat jika diinginkan.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pro:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Styling HTML tanpa meninggalkan HTML.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Kontra:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Terlalu banyak kelas&lt;/li&gt;
&lt;li&gt;Css dan html menjadi tidak rapi.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dokumentasi resmi ACSS: &lt;a href="https://acss.io/"&gt;https://acss.io/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  SMACSS ( Scalable and modular architecture CSS )
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;“&lt;em&gt;SMACSS adalah cara untuk memeriksa proses desain Anda dan sebagai cara untuk menyesuaikan kerangka kerja yang kaku ke dalam proses pemikiran yang fleksibel.&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;- Jonathan Snook&lt;/em&gt;&lt;/strong&gt;”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Dikembangkan pada tahun 2011 oleh Jonathan Snook.&lt;br&gt;
Ide kunci dalam metodologi CSS ini adalah bagaimana kita mengkategorikan aturan gaya CSS kita.&lt;/p&gt;

&lt;p&gt;Berikut kategori – kategori beserta contohnya:&lt;/p&gt;
&lt;h3&gt;
  
  
  Base
&lt;/h3&gt;

&lt;p&gt;Gaya bawaan yang dikhususkan pada tag HTML dasar&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contoh:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;h1 {
   font-size: 32px;
}

div {
   margin: 0 auto;
}

a {
   color: blue;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Layout
&lt;/h3&gt;

&lt;p&gt;Gaya yang digunakan untuk menentukan tata letak halaman, seperti style pada header, footer, dan sidebar.&lt;/p&gt;

&lt;p&gt;Nama kelas diawali dengan &lt;code&gt;layout-&lt;/code&gt;atau &lt;code&gt;l-&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contoh:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.layout-sidebar {
   width: 320px;
}

.l-comments {
   width: 640px;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Modules
&lt;/h3&gt;

&lt;p&gt;Komponen modular dan dapat digunakan kembali.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contoh:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.call-to-action-button {
   text-transform: uppercase;
   color: #FFF200;
}`

.search-form {
   display: inline-block;
   background-color: E1E1E1;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  State
&lt;/h3&gt;

&lt;p&gt;Digunakan untuk menyoroti elemen dengan status yang dapat diubah seperti disembunyikan atau dinonaktifkan.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contoh:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.is-hidden {
   display: none;
}

.is-highlighted {
   color: #FF0000;
   background-color: #F4F0BB;
   border: 1px solid #CBBD15;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Themes
&lt;/h3&gt;

&lt;p&gt;Tema digunakan untuk mengubah skema visual halaman.&lt;br&gt;
Aturan gaya yang berbeda dapat diidentifikasi menggunakan awalan dalam nama kelas misalnya, &lt;code&gt;l-header&lt;/code&gt; (untuk tata letak) atau &lt;code&gt;t-header&lt;/code&gt; (untuk tema). Kita juga dapat mengatur berbagai jenis aturan ini dengan menempatkannya di &lt;em&gt;file&lt;/em&gt; dan folder terpisah.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pro:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kode yang lebih terorganisir.
&lt;strong&gt;Kontra:&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Dibanding BEM atau SUIT, kemungkinan duplikasi &lt;em&gt;class&lt;/em&gt; dan bobot selector lebih tinggi&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dokumentasi resmi SMACSS: &lt;a href="http://smacss.com/"&gt;http://smacss.com/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Penutup
&lt;/h2&gt;

&lt;p&gt;Metodologi – metodologi diatas dapat digabungkan bersama, seperti OOCSS-SMACSS, atau OOCSS-BEM, atau BEM-SMACSS. Semua bisa disesuaikan dengan kebutuhan kita masing- masing.&lt;/p&gt;

&lt;p&gt;Semua metodologi CSS menangani masalah skalabilitas dan pemeliharaan di CSS dengan menyediakan sistem berbasis kelas untuk memecah desain web besar menjadi banyak unit kecil, modular, dan terpisah. Setiap modul UI dapat digunakan berulang kali di seluruh desain, dan bahkan dipindahkan dari satu proyek ke proyek lain jika dua proyek berbagi metodologi CSS yang sama.&lt;/p&gt;

&lt;p&gt;Dalam prosesnya, metodologi CSS melakukan lebih dari sekadar memperbaiki masalah skalabilitas CSS, keunggulan lainnya adalah kita menjadi lebih mudah untuk mengembangkan dan mengulang kembali desain yang ada. Mereka membuat kode front-end lebih mudah dibaca dan dipahami, menyediakan dokumentasi siap pakai, dan memudahkan banyak orang untuk berkolaborasi dalam sebuah desain.&lt;/p&gt;

&lt;p&gt;Dan karena metodologi CSS mendorong penggunaan kembali kode yang ada, mereka menerapkan konsistensi dalam desain visual dan mengurangi ukuran halaman serta meningkatkan kecepatan rendering halaman.&lt;/p&gt;

&lt;p&gt;Semoga semua rangkuman materi &lt;a href="https://dev.to/azrilardian/mengenal-macan-macam-metodologi-penulisan-css-part-1-4010"&gt;metodologi CSS&lt;/a&gt; pada blog kali ini dapat menambah wawasan kita mengenai betapa pentingnya struktur class CSS yang bahkan seringkali kita kesampingkan untuk diperhatikan pada saat melakukan styling pada website.&lt;/p&gt;

&lt;p&gt;Sampai jumpa di blog selanjutnya, &lt;em&gt;guys!&lt;/em&gt; 🖐️&lt;/p&gt;

</description>
      <category>html</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Mengenal macam - macam Metodologi penulisan CSS - Part 1</title>
      <dc:creator>Azril ardian</dc:creator>
      <pubDate>Wed, 02 Nov 2022 05:29:14 +0000</pubDate>
      <link>https://dev.to/azrilardian/mengenal-macan-macam-metodologi-penulisan-css-part-1-4010</link>
      <guid>https://dev.to/azrilardian/mengenal-macan-macam-metodologi-penulisan-css-part-1-4010</guid>
      <description>&lt;p&gt;Di postingan blog kali ini, saya ingin membagikan rangkuman materi berisi tentang macam - macam metodologi penulisan CSS yang saya telah pelajari&lt;/p&gt;

&lt;p&gt;Namun, sebelum lebih jauh lagi, kita ada baiknya mengenal apa arti kata metodologi itu sendiri&lt;/p&gt;

&lt;h2&gt;
  
  
  Apa itu Metodologi
&lt;/h2&gt;

&lt;p&gt;Menurut wikipedia, Metodologi merupakan ilmu-ilmu/cara yang digunakan untuk memperoleh kebenaran menggunakan penelusuran dengan tata cara tertentu dalam menemukan kebenaran. Metodologi tersusun dari cara-cara yang terstruktur untuk memperoleh ilmu.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://id.wikipedia.org/wiki/Metodologi"&gt;Wikipedia - Metodologi&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bagaimana? sudah terbayang jika kata metodologi ini kita kaitkan dengan CSS? &lt;/p&gt;

&lt;p&gt;Untuk lebih yakin, mari kita pertegas.&lt;/p&gt;

&lt;p&gt;CSS sangat sulit untuk dikelola dalam sistem yang besar, kompleks, dan berulang dengan cepat.&lt;br&gt;
Salah satu alasannya adalah CSS tidak memiliki mekanisme pelingkupan bawaan. Segala sesuatu di CSS bersifat global. Artinya, setiap perubahan yang kita buat berpotensi menurun dan mengubah tampilan elemen yang tidak terkait.&lt;/p&gt;

&lt;p&gt;Prepocessor CSS, seperti Sass, Less, dan Stylus membuat segalanya lebih mudah dengan menawarkan fitur yang membuat penulisan CSS lebih mudah. Tetapi ini tidak benar-benar memperbaiki masalah skalabilitasnya.&lt;/p&gt;

&lt;p&gt;Itulah mengapa metodologi adalah solusi bagi skalabilitas dan pelingkupaan dalam CSS.&lt;/p&gt;

&lt;p&gt;Jadi...,&lt;/p&gt;

&lt;p&gt;Metodologi CSS adalah metode – metode terdokumentasi untuk membuat CSS dengan cara yang memungkinkan kita untuk mengembangkan, memelihara, dan menskalakan &lt;em&gt;front-end&lt;/em&gt; sebagai satu set modul kecil dan terisolasi secara sistematis.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;PENTING!&lt;/strong&gt; Tidak ada metodologi CSS "terbaik". Masing – masing metodologi memiliki keunggulan dan kekurangannya sendiri. Pendekatan yang berbeda bekerja lebih baik untuk individu / tim / proyek yang berbeda.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  1. OOCSS (Object oriented CSS)
&lt;/h2&gt;

&lt;p&gt;Dikembangkan oleh Nicole Sullivan pada 2008, konsep-konsep kunci OOCSS (Object Oriented CSS) yaitu, CSS objek identifikasi, pemisahan struktur dan gaya visual, dan menghindari gaya berbasis lokasi.&lt;/p&gt;

&lt;p&gt;OOCSS berfokus pada fleksibiltas dan modularisasi, single responsibility principle, separation of concerns, dan konsep – konsep lain dari paradigma OOP.&lt;/p&gt;

&lt;p&gt;Dalam OOCSS, langkah pertama yang Nicole usulkan adalah mengidentifikasi objek dalam CSS.&lt;br&gt;
OOCSS menganjurkan pemisahan struktur dari kulit. Metodologi ini membuat perbedaan yang jelas antara konten dan penampungnya.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contoh:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;.button&lt;/code&gt; - menyediakan struktur dasar tombol&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;.grey-button&lt;/code&gt; - menerapkan warna dan properti visual lainnya&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Metodologi ini memisahkan kode – kode yang kemungkinan akan ditulis berulang ke dalam &lt;em&gt;class&lt;/em&gt; terpisah, jadi ketika ada objek baru yang memiliki strukur kode yang sama, kita hanya tinggal menambahkan class-nya saja.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contoh:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;button class="button grey-button"&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pro:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kode styling visual yang dapat digunakan kembali (reusable)&lt;/li&gt;
&lt;li&gt;Mengurangi duplikasi properti yang sama di berbagai aturan gaya&lt;/li&gt;
&lt;li&gt;Kode lokasi menjadi lebih fleksibel&lt;/li&gt;
&lt;li&gt;Pengurangan penyeleksi bersarang yang dalam&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Kontra:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tanpa cukup banyak pola visual yang berulang&lt;/li&gt;
&lt;li&gt;Pemisahan struktur dan kode gaya visual yang keliatannya tidak perlu&lt;/li&gt;
&lt;li&gt;Mendapatkan banyak kelas yang bisa jadi sulit dipelihara dan dikelola&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dokumentasi resmi: &lt;a href="http://oocss.org/"&gt;http://oocss.org/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. BEM (Block, element, modifier)
&lt;/h2&gt;

&lt;p&gt;Dikembangkan oleh pengembang di Yandex pada tahun 2009, konsep-konsep kunci untuk BEM (Block, Elemen, Modifier) mencakup identifikasi block, elemen, dan modifier.&lt;br&gt;
Ide di balik BEM adalah untuk membedakan kelas CSS yang memenuhi peran yang berbeda. Ini dilakukan dengan memberi nama kelas CSS dengan cara yang menunjukkan peran mereka.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contoh:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;.block&lt;/li&gt;
&lt;li&gt;.block__element&lt;/li&gt;
&lt;li&gt;.block__element--modifier&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Block adalah komponen UI modular yang independen, sedangkan elemen mengacu pada komponen dari block (gambar, judul, teks), dan modifier dapat digunakan ketika keadaan block atau elemen berubah, misalnya ketika kita ingin menambahkan kelas aktif ke item menu untuk menyorotnya, kelas aktif bertindak sebagai pengubah.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Block&lt;/strong&gt;&lt;br&gt;
Blok merupakan container atau &lt;em&gt;context&lt;/em&gt; di mana element itu menemukan dirinya sendiri, seperti header, sidebar, footer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contoh:&lt;/strong&gt; &lt;code&gt;.search-form&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Elemen&lt;/strong&gt;&lt;br&gt;
Elemen adalah bagian dari block. Block adalah keseluruhannya dan bagian-bagiannya adalah elemen. Elemen ditandai dengan menambahkan dua pemisah garis bawah &lt;code&gt;__&lt;/code&gt; dan nama elemen ke nama induknya.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contoh:&lt;/strong&gt; &lt;code&gt;.search-form__heading&lt;/code&gt;, &lt;code&gt;.search-form__text-field&lt;/code&gt;, dan &lt;code&gt;.search-form__submit-button&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Modifier&lt;/strong&gt;&lt;br&gt;
Modifier diterapkan ke block atau elemen untuk menandai perubahan dalam presentasinya, atau perubahan statusnya. Mereka ditandai dengan menambahkan pemisah dan nama pengubah ke block atau elemen yang ditujukan.&lt;/p&gt;

&lt;p&gt;Dalam dokumentasi situs BEM resmi, pemisah pengubah harus berupa garis bawah tunggal &lt;code&gt;_&lt;/code&gt;. Namun, konvensi Pedoman CSS “BEM-like” oleh Harry Roberts menggunakan dua garis &lt;code&gt;--&lt;/code&gt;, ini lebih banyak digunakan dan dikenal daripada konvensi BEM resmi.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contoh:&lt;/strong&gt; &lt;code&gt;.search-form--advanced&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pro:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mudah digunakan karena setiap tag akan memiliki nama kelas dan pengurangan penyeleksi CSS yang mendalam.&lt;/li&gt;
&lt;li&gt;Dapat menghindari penggunaan &lt;code&gt;!important&lt;/code&gt; yang mana merupakan anti pattern pada css&lt;/li&gt;
&lt;li&gt;Mudah dalam pengembangan&lt;/li&gt;
&lt;li&gt;Menghindari membuat selector langsung ke elemen&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Kontra:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Agar nama-nama tersebut terlihat waras, BEM menyarankan untuk memblokir elemen yang bersarang dangkal&lt;/li&gt;
&lt;li&gt;Untuk html bersarang yang lebih dari 2-3 level akan membuat kita mungkin sulit untuk menentukan nama&lt;/li&gt;
&lt;li&gt;Konvensi penamaan tidak intuitif bagi pengembang yang tidak berpengalaman&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Perbandingan BEM dengan CSS standar
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;BEM:&lt;/strong&gt;&lt;br&gt;
• Memberi kita lebih banyak kode modular. Kita dapat mengambil bagian apapun secara terpisah.&lt;br&gt;
• Memungkinkan siapa pun menulis CSS. Kita tidak perlu mewaspadai gaya penulisan dan penggantian kustom. Dalam tim besar, ini merupakan hal yang bagus.&lt;br&gt;
• Menghapus masalah kekhususan apapun.&lt;br&gt;
• Secara signifikan lebih bertele-tele.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS standar (yang bergantung pada penggunaan penyeleksi keturunan):&lt;/strong&gt;&lt;br&gt;
• Berarti gaya kita tergantung pada konteks.&lt;br&gt;
• Membutuhkan kesadaran kaskade. Kode di satu tempat dapat mempengaruhi kode di tempat lain. Dalam tim kecil ini bukan masalah, namun pada tim besar akan menjadi masalah yang serius.&lt;br&gt;
• Dapat menderita masalah kekhususan yang mungkin sulit bagi pengembang pemula untuk melakukan debug.&lt;br&gt;
• Secara signifikan lebih ketat.&lt;/p&gt;

&lt;p&gt;Pertimbangkan menggunakan BEM jika kita tidak memiliki arsitektur berorientasi komponen, jika kita memiliki kode lawas yang didukung, atau jika kita merasa sangat sulit melakukan segala sesuatu secara manual tanpa alat (sass, stylus, dll)&lt;/p&gt;

&lt;p&gt;Dokumentasi resmi : &lt;a href="https://en.bem.info/methodology/"&gt;https://en.bem.info/methodology/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Penutup
&lt;/h2&gt;

&lt;p&gt;Nah, agar blog ini tidak terlalu panjang, kita bagi menjadi dua bagian, di post berikutnya kita akan melanjutkan lagi pembahasan mengenai metodologi ini. &lt;em&gt;Stay tune, guys!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>html</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Istilah Umum dalam Pemrograman Komputer</title>
      <dc:creator>Azril ardian</dc:creator>
      <pubDate>Mon, 31 Oct 2022 02:53:06 +0000</pubDate>
      <link>https://dev.to/azrilardian/istilah-umum-dalam-pemrograman-komputer-2njg</link>
      <guid>https://dev.to/azrilardian/istilah-umum-dalam-pemrograman-komputer-2njg</guid>
      <description>&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Programmer&lt;/strong&gt; adalah seseorang yang memiliki kemampuan menulis dan merancang kode – kode program dengan menggunakan bahasa pemrograman tertentu.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Developer&lt;/strong&gt; adalah seseorang yang bertugas untuk membangun dan merancang sebuah sistem, mengimplementasikan dan mengembangkan sistem tersebut dimasa yang akan datang.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enginner&lt;/strong&gt; adalah seseorang yang bertugas untuk menjaga dan merawat sistem.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Server&lt;/strong&gt; adalah perangkat yang melayani permintaan data atau kebutuhan aplikasi di sisi klien.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Browser&lt;/strong&gt; adalah perangkat lunak yang berfungsi untuk menerima dan menyajikan sumber informasi di Internet&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cookies&lt;/strong&gt; adalah data jejak autentikasi yang tersimpan di dalam memori aplikasi browser seperti, &lt;em&gt;username, password, email, user location,&lt;/em&gt; dll.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cache&lt;/strong&gt; adalah data jejak pengguna yang tersimpan di dalam memori aplikasi atau browser, seperti kunjungan ke situs, tautan, dll.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database&lt;/strong&gt; merupakan kumpulan data yang disimpan di dalam komputer secara sistematik sehingga kelak dapat dengan mudah digunakan kembali.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data&lt;/strong&gt; merupakan fakta yang mewakili suatu obyek seperti manusia, hewan, peristiwa, konsep, keadaan dan sebagainya, yang dapat dicatat dan mempunyai arti yang implisit&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DBMS&lt;/strong&gt; ( Database Management System ) adalah software atau perangkat lunak untuk menjalankan dan mengelola database, contoh: MySQL, PosgreSQL, MongoDB, SQL Sever, Oracle, dll.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTTP&lt;/strong&gt; adalah protokol yang berguna untuk komunikasi antara sistem yang berbeda.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTTP Header&lt;/strong&gt; adalah informasi tambahan yang bisa dikirim oleh client atau server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protokol&lt;/strong&gt; adalah sistem peraturan yang memungkinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua komputer atau lebih.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Front-end Developer&lt;/strong&gt; adalah programmer yang bertugas membuat tampilan yang meliputi &lt;em&gt;layout&lt;/em&gt;, &lt;em&gt;feedback&lt;/em&gt;, dll dari sebuah website, sehingga pengguna dapat melihat dan berinteraksi dengan website tersebut secara langsung.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Back-end Developer&lt;/strong&gt; adalah programmer yang bertugas secara umum pada bagian server, aplikasi, &lt;em&gt;database&lt;/em&gt;, dll. Kode yang dituliskan oleh &lt;em&gt;back-end developer&lt;/em&gt; inilah yang menjembatani informasi dari &lt;em&gt;database&lt;/em&gt; ke browser.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fullstack Developer&lt;/strong&gt; adalah programmer yang mampu bekerja sebagai &lt;em&gt;Front-end&lt;/em&gt; dan &lt;em&gt;Back-end&lt;/em&gt; sekaligus.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Statis&lt;/strong&gt; adalah website di mana informasi yang terkandung di dalamnya tidak bisa di-&lt;em&gt;update&lt;/em&gt; melalui aplikasi website tersebut melainkan harus merubah &lt;em&gt;script&lt;/em&gt; yang ada di dalamnya.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Dinamis&lt;/strong&gt; adalah website di mana informasi yang terkandung di dalamnya dapat di-&lt;em&gt;update&lt;/em&gt; langsung di websitenya, tanpa mengubah &lt;em&gt;script&lt;/em&gt; yang ada di dalam website.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Debug&lt;/strong&gt; adalah proses mencari, menemukan dan mengatasi masalah yang terdapat dari sebuah program yang dapat mengganggu kelancaran penggunaan program tersebut dari berbagai sisi.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bug&lt;/strong&gt; adalah &lt;em&gt;error&lt;/em&gt; atau kesalahan yang terdapat dalam sebuah program aplikasi sehingga mengganggu kelancaran penggunaan aplikasi.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Syntax&lt;/strong&gt; yaitu tata bahasa dalam sebuah bahasa pemrograman.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Method / Function&lt;/strong&gt; adalah kode blok yang dapat digunakan kembali dalam proses tertentu sesuai kebutuhan.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API&lt;/strong&gt; ( Aplication Programming Interface ) adalah sekumpulan fungsi, &lt;em&gt;sub routine&lt;/em&gt;, protokol komunikasi, atau &lt;em&gt;tools&lt;/em&gt; untuk membuat perangkat lunak.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;REST API&lt;/strong&gt; ( &lt;em&gt;Representasional State Transfer&lt;/em&gt; ) adalah gaya arsitektural perangkat lunak yang didalamnya mendefinisikan aturan – aturan untuk membuat web service.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Service&lt;/strong&gt; merupakan aplikasi yang didesain untuk mendukung interkoneksi &amp;amp; interaksi antar aplikasi berbasis web yang terhubung melalui jaringan komputer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JSON&lt;/strong&gt; ( &lt;em&gt;Javascript Object Notation&lt;/em&gt; ) adalah file format standar yang menggunakan tulisan yang dapat dibaca oleh manusia sebagai pertukaran data, yang didalamnya berisi pasangan antara key dan value.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;URL&lt;/strong&gt; ( &lt;em&gt;Uniform Resource Locator&lt;/em&gt; ) adalah sebuah alamat untuk mengakses sumber daya / resource.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CLI&lt;/strong&gt; ( &lt;em&gt;Command Line Interface&lt;/em&gt; ) adalah antarmuka berbasis teks yang digunakan untuk mengoperasikan perangkat lunak dan sistem operasi dengan menggunakan perintah berupa teks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VCS&lt;/strong&gt; ( &lt;em&gt;Version control system )&lt;/em&gt; adalah sebuah sistem  yang dapat mengelola setiap perubahan yang dilakukan dari waktu ke waktu.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hosting&lt;/strong&gt; adalah penyewaan tempat untuk menampung semua data – data yang diperlukan oleh website sehingga dapat diakses di internet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Domain&lt;/strong&gt; adalah nama unik yang digunakan untuk mengidentifikasi alamat ( &lt;em&gt;ip address&lt;/em&gt; ) server computer, seperti web server atau email s­­­­­­erver&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Workers&lt;/strong&gt; adalah script javascript yang dapat berjalan di belakang layar sehingga tidak mengganggu kinerja dari halaman yang sedang dibuka.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SQL&lt;/strong&gt; ( &lt;em&gt;Structured query Language&lt;/em&gt; ) adalah bahasa pemrograman yang secara khusus digunakan untuk mengakses suatu data / basis data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generasi Bahasa Pemrograman :&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Bahasa mesin ( kode biner )&lt;/li&gt;
&lt;li&gt;Bahasa Assembly ( kode kode mnemonic )&lt;/li&gt;
&lt;li&gt;Procedural Programming&lt;/li&gt;
&lt;li&gt;GL ( Structured Query Language )&lt;/li&gt;
&lt;li&gt;OOP ( Object Oriented Programming )&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AJAX&lt;/strong&gt; ( &lt;em&gt;Asynchronous Javascript and XML&lt;/em&gt; ) adalah suatu tehnik pemrograman aplikasi berbasis web untuk menciptakan aplikasi web yang interaktif.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Paradigma&lt;/strong&gt; adalah cara pandang untuk melihat suatu persoalan.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Paradigma Pemrograman&lt;/strong&gt; adalah gaya atau cara menulis program. Termasuk pendekatan – pendekatan untuk menyelesaikan persoalan dalam program.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Functional Programming&lt;/strong&gt; adalah suatu paradigma pemrograman yang dimana suatu program komputer dijalankan dengan cara mengevaluasi ekspresi yang terdapat pada program komputer itu sendiri.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Algoritma&lt;/strong&gt; adalah urutan langkah – langkah logis yang disusun secara sistematis untuk menyelesaikan suatu masalah.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pseudocode / kode semu&lt;/strong&gt; adalah deskripsi singkat atas algoritma pemrograman komputer menggunakan konveksi struktural dalam bahasa pemrograman yang dibuat agar lebih dapat dibaca manusia, bukan mesin.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flowchart&lt;/strong&gt; adalah bagan yang menunjukan diagram alir suatu program yang menampilkan langkah – langkah dalam bentuk simbol grafis dan urutannya dihubungkan dengan tanda panah.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic Typing&lt;/strong&gt; yaitu tidak perlu mendeklrasasikan tipe data sebuah variabel sebelum menggunakannya. Akibatnya, pada saat program dieksekusi, sebuah variabel bisa merujuk pada tipe data string pada satu waktu, dan tipe data numerik pada waktu lain.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Static Typing&lt;/strong&gt; yaitu perlu mendeklarasikan tipe data sebuah variabel sebelum menggunakannya. Jadi, selama program berjalan variabel tersebut hanya merujuk pada tipe data yang telah ditentukan saja.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;First Class Citizen Function&lt;/strong&gt; adalah perlakuan special terhadap &lt;em&gt;function&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Higher Order Function&lt;/strong&gt; adalah fungsi yang minimal memiliki satu fungsi didalam parameternya, atau mengembalikan fungsi lain.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Currying&lt;/strong&gt;  adalah tehnik mengubah fungsi dengan &lt;em&gt;multiple&lt;/em&gt; parameter / argumen menjadi pecahan banyak fungsi. Tiap fungsi harus mengambil setiap parameter yang ada.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Immutable&lt;/strong&gt; adalah tipe data pada Javascript yang tidak dapat diubah.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Muttable&lt;/strong&gt; adalah tipe data pada Javascript yang dapat diubah.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Scrapping&lt;/strong&gt; adalah proses pengambilan data dari sebuah website.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;List post ini akan terus di &lt;strong&gt;update&lt;/strong&gt; ya, stay tune!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>html</category>
      <category>css</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Mengenal lebih lanjut HTML dan Semantic HTML</title>
      <dc:creator>Azril ardian</dc:creator>
      <pubDate>Fri, 28 Oct 2022 06:59:09 +0000</pubDate>
      <link>https://dev.to/azrilardian/mengenal-lebih-lanjut-html-dan-semantic-html-35hb</link>
      <guid>https://dev.to/azrilardian/mengenal-lebih-lanjut-html-dan-semantic-html-35hb</guid>
      <description>&lt;h1&gt;
  
  
  Pengertian
&lt;/h1&gt;

&lt;h3&gt;
  
  
  HTML
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;HTML adalah singkatan dari Hypertext Markup Language.&lt;/li&gt;
&lt;li&gt;HTML adalah bahasa yang digunakan untuk berkomunikasi dengan web browser dengan memberi instruksi untuk menampilkan tampilan website sesuai struktur yang telah dibuat.&lt;/li&gt;
&lt;li&gt;HTML merupakan standar internet yang didefinisikan dan dikendalikan oleh World Wide Web Consortium ( W3C )&lt;/li&gt;
&lt;li&gt;HTML adalah format pengembangan dari SGML ( Standar Generalized Markup Language ) yang digunakan sudah sejak dulu untuk memformat dokumen agar bersifat portabel.&lt;/li&gt;
&lt;li&gt;HTML tidak &lt;em&gt;case sensitive&lt;/em&gt;, artinya penulisan tag dalam HTML dapat ditulis dengan menggunakan huruf besar dan kecil.&lt;/li&gt;
&lt;li&gt;HTML dibuat oleh seorang ilmuwan fisika dan Tim Berners Lee pada lembaga penelitian CERN (  European Organization For Nuclear Research  ) yang ada di Swiss.&lt;/li&gt;
&lt;li&gt;HTML berfungsi untuk membuat kerangka dari sebuah website.&lt;/li&gt;
&lt;li&gt;Tim Berners Lee mengeluarkan versi HTML pertama pada tahun 1991.&lt;/li&gt;
&lt;li&gt;Adanya web browser bertujuan untuk memudahkan pengguna saat membuka dokumen yang berformat HTML.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Semantic HTML
&lt;/h3&gt;

&lt;p&gt;Semantic HTML adalah HTML yang mengenalkan makna kepada web daripada hanya sekedar menampilkan UInya saja.&lt;/p&gt;

&lt;p&gt;Manfaat dari menulis tag HTML menggunakan semantic sebenarnya hanya agar mudah dalam hal komunikasi. Dengan tag semantic yang ditambahkan ke dalam dokumen web, maka akan memberikan informasi ke dalam dokumen tersebut. Tag semantic memperjelas makna dan konten dari sebuah halaman kepada browser.&lt;/p&gt;

&lt;p&gt;Juga manfaat dari menulis semantic yaitu agar dapat menggunakan tag sesuai dengan fungsinya.&lt;/p&gt;

&lt;h2&gt;
  
  
  Struktur
&lt;/h2&gt;

&lt;p&gt;Struktur HTML terdiri dari 3 konten, yaitu : Tag, element, dan attribute.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;Tag&lt;/em&gt; HTML
&lt;/h4&gt;

&lt;p&gt;Tag adalah suatu penanda untuk menandai element - element dari suatu dokumen HTML.&lt;/p&gt;

&lt;p&gt;Fungsi tag adalah untuk memberikan instruksi atau memberitahukan kepada browser bagaimana suatu objek akan ditampilkan.&lt;/p&gt;

&lt;p&gt;Contoh: &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt;,&lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;body&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;, dan sebagainya.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;Elemen&lt;/em&gt; HTML
&lt;/h4&gt;

&lt;p&gt;Pengertian elemen adalah rangkaian dari tag pembuka, konten, dan tag penutup.&lt;/p&gt;

&lt;h4&gt;
  
  
  Atribut HTML
&lt;/h4&gt;

&lt;p&gt;Fungsi atribut adalah untuk memberikan informasi tambahan pada sebuah tag.&lt;/p&gt;

&lt;p&gt;Ada 2 jenis atribut, yaitu atribut global, atribut khusus, dan atribut event.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Atribut global adalah atribut yang bisa ditambahkan pada semua elemen HTML.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contoh: &lt;code&gt;class&lt;/code&gt; dan &lt;code&gt;id&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Atribut khusus adalah atribut yang hanya bisa dipakai pada elemen tertentu&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contoh: &lt;code&gt;src&lt;/code&gt; dan &lt;code&gt;href&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Atribut event adalah atribut yang digunakan untuk menentukan aksi yang akan dilakukan saat terjadi sesuatu pada elemen. Atribut ini biasanya banyak digunakan pada pemrograman Javascript.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contoh: &lt;code&gt;onerror&lt;/code&gt; dan &lt;code&gt;onload&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Pengembangan
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;HTML Versi 1.0&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Merupakan pionir, wajar jika banyak kekurangan. Fitur yang dimiliki:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Heading&lt;/li&gt;
&lt;li&gt;Paragraf&lt;/li&gt;
&lt;li&gt;Hypertext&lt;/li&gt;
&lt;li&gt;List&lt;/li&gt;
&lt;li&gt;Cetak tebal dan miring pada text&lt;/li&gt;
&lt;li&gt;Peletakan gambar&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;HTML Versi 2.0&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Merupakan pionir web interaktif.&lt;/p&gt;

&lt;p&gt;Pengembangan versi sebelumnya, dengan penambahan fitur:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Peletakan form&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;HTML Versi 3.0&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pengembangan versi sebelumnya, dengan penambahan fitur:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Figure, pengembangan dari image untuk meletakkan gambar dan tabel.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;HTML Versi 3.2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pengembangan versi sebelumnya, dengan penambahan fitur:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kemampuan untuk meletakkan teks di-sekeliling gambar&lt;/li&gt;
&lt;li&gt;Tabel&lt;/li&gt;
&lt;li&gt;Frame&lt;/li&gt;
&lt;li&gt;Stylesheet&lt;/li&gt;
&lt;li&gt;Kemampuan untuk meletakkan script diluar HTML, seperti javascipt dan VBscript.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;HTML Versi 4&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Terdapat banyak perubahan dan pengembangan dari versi sebelumnya, seperti:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tabel&lt;/li&gt;
&lt;li&gt;Link&lt;/li&gt;
&lt;li&gt;Image&lt;/li&gt;
&lt;li&gt;Text&lt;/li&gt;
&lt;li&gt;Meta&lt;/li&gt;
&lt;li&gt;Imagemaps&lt;/li&gt;
&lt;li&gt;Form&lt;/li&gt;
&lt;li&gt;Dll&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;HTML Versi 4.01&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Perbaikan kesalahan – kesalahan kecil dari versi sebelumnya.&lt;/p&gt;

&lt;p&gt;Versi ini juga menjadi standarisasi untuk elemen dan atribut dari script XTML 1.0&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HTML Versi 5&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Merupakan sebuah prosedur pembuatan tampilan web yang menggabungkan HTML dan CSS dengan Javascript.&lt;/p&gt;

&lt;p&gt;Fitur yang dimiliki:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Cleaner code&lt;/em&gt;, kode yang terlihat lebih sederhana karena sebagian kode sudah termasuk kedalam sintaks HTML5&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Greater Consistency&lt;/em&gt;, HTML5 telah melakukan banyak penambahan sintaks yang dibuat dalam struktur lebih baik dan sederhana daripada sintaks – sintaks sebelumnya.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Improved Semantics&lt;/em&gt;, berbagai elemen kode di dalam HTML5 telah distandarisasi, yang mana nilai semantic dari sebuah web dapat lebih ditingkatkan.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Improved Accessibility&lt;/em&gt;, teknologi HTML5 yang memudahkan struktur pembangunan sebuah web, jadi developer dapat membangun pemahaman yang lebih detil mengenai halaman web.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Client Side Database&lt;/em&gt;, HTML5 menyediakan model database SQL yang baru dengan API yang dapat dibangun dalam konsep lokal, dalam hal ini di sisi client.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Geolocation&lt;/em&gt;, HTML5 mempunyai API yang terintegrasi dengan geolocation, fasilitas tersebut dapat diakses melalui GPS atau fasilitas lain seperti Google Latitude pada iphone.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Offline Application Cache&lt;/em&gt;, pengguna dapat terus melakukan interaksi dengan aplikasi meskipun mereka terputus dari jaringan internet.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Smarter Forms&lt;/em&gt;, terdapat semacam regular expression ( regex ) yang membuat form mampu mengenali secara lebih baik tentang input, validasi data, dan interaksi dengan elemen lain.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Sharper Focus on Web Application Requirments&lt;/em&gt;, HTML5 membuat sebuah mekanisme yang lebih mudah dalam hal pembuatan front end, aplikasi chat, tools drag and drop, video player, pengolah grafis, dan masih banyak lagi.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>html</category>
      <category>semantichtml</category>
      <category>website</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Menulis kode Javascript yang bersih – Style Guide, Code convention, dan ESLint</title>
      <dc:creator>Azril ardian</dc:creator>
      <pubDate>Mon, 23 Aug 2021 08:52:56 +0000</pubDate>
      <link>https://dev.to/azrilardian/menulis-kode-javascript-yang-bersih-style-guide-code-convention-dan-eslint-380i</link>
      <guid>https://dev.to/azrilardian/menulis-kode-javascript-yang-bersih-style-guide-code-convention-dan-eslint-380i</guid>
      <description>&lt;p&gt;Javascript merupakan bahasa pemrograman yang terbilang cukup mudah untuk dipelajari, mulai dari penulisan &lt;em&gt;sintaks&lt;/em&gt;, sifat dinamisnya, adannya fitur &lt;em&gt;automatic semicolon insertion&lt;/em&gt;, dan masih banyak lagi. Namun, terkadang kemudahan ini yang justru membuat kita sulit untuk menjaga konsistensi dari kode – kode program yang kita buat.&lt;/p&gt;

&lt;p&gt;Memang kenapa menjaga konsistensi kode itu penting ?&lt;/p&gt;

&lt;p&gt;Bagi seorang programmer, menulis kode yang konsisten akan memudahkan kita dalam proses &lt;em&gt;debugging&lt;/em&gt; dan dapat meminimalisir adanya &lt;em&gt;bug&lt;/em&gt;. Selain itu, kode yang konsisten juga akan sangat membantu kita ketika bekerja secara tim, karena  selain akan terlihat lebih rapi, kode dapat dengan mudah dibaca oleh anggota tim lainnya. &lt;/p&gt;

&lt;p&gt;Oleh sebab itu, sudah seharusnya bagi kita seorang developer untuk mengetahui bagaimana penulisan kode yang baik dan benar dan sekaligus secara konsisten menjaga setiap kode program yang kita kembangkan.&lt;/p&gt;

&lt;p&gt;Pada lanjutan blog kali ini, saya ingin berbagi ringkasan ilmu dan pengalaman saya tentang apa saja hal – hal yang dapat kita lakukan sebagai web developer untuk meningkatkan kualitas kode yang kita buat dan menjaganya agar tetap konsisten.&lt;/p&gt;

&lt;p&gt;Cus...&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Style Guide
&lt;/h4&gt;

&lt;p&gt;Salah satu cara yang dapat kita gunakan untuk menjaga konsistensi kode adalah dengan mengetahui dan menerapkan &lt;em&gt;style-guide&lt;/em&gt;. &lt;br&gt;
&lt;em&gt;Style Guide&lt;/em&gt; merupakan kumpulan peraturan mengenai bagaimana cara penulisan kode yang baik bagi developer secara individu maupun tim. Dalam &lt;em&gt;style-guide&lt;/em&gt; tertulis secara lengkap aturan yang harus diikuti oleh setiap developer, seperti penamaan variabel, indentasi, penggunaan &lt;em&gt;double-quotes&lt;/em&gt; atau &lt;em&gt;single-quotes&lt;/em&gt;, &lt;em&gt;semicolon&lt;/em&gt;, dan masih banyak lagi. &lt;/p&gt;

&lt;h4&gt;
  
  
  2. Code Convention
&lt;/h4&gt;

&lt;p&gt;Ketika kita bekerja dengan tim, penting untuk menentukan satu gaya penulisan yang akan diadaptasi agar kode yang dituliskan menjadi teratur dan pengembangan produk dapat terhindar dari berbagai macam &lt;em&gt;bug&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Namun kita tahu bahwa gaya pada setiap individu berbeda, inilah yang menjadi tantangan dalam tim untuk menyepakati gaya mana yang akan diterapkan. Ini pun terjadi pada perusahaan besar.&lt;/p&gt;

&lt;p&gt;Banyak perusahaan membuat &lt;em&gt;style guide&lt;/em&gt; dan menyepakatinya sebagai pedoman para &lt;em&gt;engineer&lt;/em&gt;-nya dalam menuliskan kode.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Style guide&lt;/em&gt; yang sudah disepakati dan direkomendasikan oleh banyak developer itulah yang disebut dengan &lt;em&gt;Code Convention&lt;/em&gt;. Di JavaScript sendiri, terdapat tiga &lt;em&gt;style guide&lt;/em&gt; terkenal yang direkomendasikan untuk diikuti.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/airbnb/javascript"&gt;AirBnB JavaScript Style Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://google.github.io/styleguide/jsguide.html"&gt;Google JavaScript Style Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://standardjs.com/"&gt;Standard JavaScript Style Guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dokumentasi dari setiap &lt;em&gt;style-guide&lt;/em&gt; diatas sudah cukup jelas untuk dibaca dan terapkan.&lt;/p&gt;

&lt;p&gt;Tidak ada yang mengharuskan kita untuk memahami semuanya, jadi pilihlah salah satu yang sekiranya cocok saja ya.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. ESLint
&lt;/h4&gt;

&lt;p&gt;ESLint adalah &lt;em&gt;tools&lt;/em&gt; yang dapat membantu kita dalam mengikuti gaya penulisan. &lt;/p&gt;

&lt;p&gt;ESLint tidak memaksa kita untuk menggunakan salah satu gaya penulisan. Kita dapat menetapkan aturan-aturan secara manual atau memilih gaya penulisan yang ada secara mandiri. ESLint memiliki konfigurasi yang sangat fleksibel serta banyak &lt;em&gt;plugin&lt;/em&gt; penunjang agar dapat memenuhi kebutuhan kita secara maksimal. &lt;/p&gt;

&lt;p&gt;Keunggulan lainnya dari ESLint adalah ia dapat diintegrasikan dengan Text Editor/IDE popular, seperti VSCode, Atom, Bracket, atau yang lainnya.&lt;/p&gt;

&lt;p&gt;Dengan mengaktifkan fitur integrasi, penggunaan ESLint akan lebih &lt;em&gt;powerful&lt;/em&gt; dan &lt;em&gt;seamless&lt;/em&gt;. Sehingga kita dapat mencari dan memperbaiki kesalahan kode yang kita tuliskan dengan cepat.&lt;/p&gt;

&lt;h4&gt;
  
  
  Pentutup
&lt;/h4&gt;

&lt;p&gt;Dengan berbekal pengetahuan diatas, seharusnya kita sudah tau bagaimana cara menjaga konsistensi dan meningkatkan kualitas kode yang kita buat. Tentu catatan saya diatas masih terbilang sangat minim, oleh karena itu cobalah untuk mencari tahu lebih lanjut lagi mengenai materi – materi diatas agar ilmu yang di dapat semakin luas.&lt;/p&gt;

&lt;p&gt;Ini adalah bagian dari lanjutan blog Menulis kode Javascript yang bersih – Variabel. Selanjutnya, saya akan berbagi catatan mengenai cara menginstal dan mengintegrasikan ESLint dalam proyek yang kita buat, Menulis kode Javascript yang bersih – Install dan Integrasi ESLint.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Stay tune, teams&lt;/em&gt;.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Menulis kode Javascript yang bersih - Variabel</title>
      <dc:creator>Azril ardian</dc:creator>
      <pubDate>Wed, 11 Aug 2021 05:42:03 +0000</pubDate>
      <link>https://dev.to/azrilardian/azril-ardian-447p</link>
      <guid>https://dev.to/azrilardian/azril-ardian-447p</guid>
      <description>&lt;p&gt;“Membuat kode program itu mudah, yang sulit itu membuatnya dapat dibaca dan dikembangkan”. Saya lupa darimana kalimat diatas saya dengar tapi saya rasa kalimat tersebut telah menampar diri saya cukup keras. qqoosjflp.&lt;/p&gt;

&lt;p&gt;Setelah berlalu lalang untuk mencari &lt;del&gt;kitab suci&lt;/del&gt; tahu bagaimana cara membuat program yang tidak hanya dapat berjalan lancar, tetapi juga dapat dengan mudah dibaca dan dikembangan, akhirnya saya menemukan sebagian kecil ? faktor dari apa saja yang dapat meningkatkan kualitas kode program yang saya buat, terutama dalam bahasa pemrograman yang saya gunakan sehari – hari, Javascript.&lt;/p&gt;

&lt;p&gt;Izinkan blog pertama ini saya mulai dengan membagikan pengetahuan saya tersebut, yaitu tentang bagaimana cara kita meningkatkan kualitas kode program untuk dapat dengan mudah dibaca dan dikembangkan, khususnya pada bahasa pemrograman Javascript.&lt;/p&gt;

&lt;p&gt;Agar blog ini tidak terlalu panjang, saya akan membaginya menjadi beberapa bagian, dan ini merupakan bagian pertama : &lt;a href="https://dev.to''"&gt;Menulis kode Javascript yang bersih - Variabel&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Jelas
&lt;/h2&gt;

&lt;p&gt;Walaupun memberi nama variabel itu cukup memakan waktu, percayalah itu akan memudahkan kita di masa yang akan datang 😊&lt;/p&gt;

&lt;p&gt;&lt;code&gt;BAD&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;h&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// hours&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;GOOD&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;hours&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Jangan ragu – ragu membuat nama variabel yang panjang, karena penamaan nama variabel yang jelas akan sangat membantu kita untuk mengerti kode program di kemudian hari nanti.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Mudah Diucapkan
&lt;/h2&gt;

&lt;p&gt;Usahakan juga menggunakan nama variabel yang mudah untuk diucap.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;BAD&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;yyyymmdd&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;moment&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;YYYY/MM/DD&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;GOOD&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;currentDate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;moment&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;YYYY/MM/DD&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bayangin kalau nama variabel kita &lt;code&gt;yyyymmdd&lt;/code&gt;, terus ada anggota tim nanyain variabel, jadi kerepotan sendiri kan nyebutnya ?&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Hindari &lt;em&gt;God Number&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;Angka yang hanya dimengerti tuhan. Waduh gimana tuh.&lt;/p&gt;

&lt;p&gt;Tenang itu cuman sanggahan para programmer buat angka yang kurang jelas dari mana asal usulnya.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;BAD&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;I&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// do something&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;GOOD&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;minutesInHours&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="nx"&gt;minutesInHours&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// do something&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Ekplisit (&lt;em&gt;Avoid Mental Mapping&lt;/em&gt;)
&lt;/h2&gt;

&lt;p&gt;Hindari menerjemahkan kata menjadi kata lain karena alasan kata tersebut sudah umum digunakan. Biasanya ini masih sering terjadi ketika berurusan dengan perulangan.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;BAD&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;fruits&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Strawberry&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Apple&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Orange&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Watermelon&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="nx"&gt;fruits&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;doSomeStuff&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;&lt;code&gt;GOOD&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;fruits&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Strawberry&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Apple&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Orange&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Watermelon&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="nx"&gt;fruits&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;fruit&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;doSomeStuff&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;h2&gt;
  
  
  5. Hindari penambahan kata yang tidak perlu
&lt;/h2&gt;

&lt;p&gt;Hindari penamaan kata yang konteksnya sudah jelas.&lt;br&gt;
Ini sering terjadi ketika memberikan nama pada properti &lt;code&gt;class&lt;/code&gt; atau &lt;code&gt;object&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;BAD&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Car&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;carVendor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Honda&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;carModel&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Jazz&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;carColor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;white&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;paintCar&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;car&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;car&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;carColor&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Blue&lt;/span&gt;&lt;span class="dl"&gt;'&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;&lt;code&gt;GOOD&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Car&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;vendor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Honda&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Jazz&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;white&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;paintCar&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;car&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;car&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;color&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Blue&lt;/span&gt;&lt;span class="dl"&gt;'&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;h2&gt;
  
  
  6. Gunakan CAPITALIZE untuk penamaan variabel global berupa &lt;code&gt;const&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;Ini akan membantu kita untuk dengan cepat membedakan mana tipe data yang berupa konstan ( tidak berubah ) dan yang hidup ( berubah )&lt;/p&gt;

&lt;p&gt;&lt;code&gt;BAD&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;baseUrl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://randomapi/&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;GOOD&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;BASE_URL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://randomapi/&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  7. Gunakan tipe data &lt;code&gt;const&lt;/code&gt; ketika nilai tidak akan pernah berubah
&lt;/h2&gt;

&lt;p&gt;Selain untuk memaksimalkan tipe data yang ada di Javascript, ini juga berguna untuk mempermudah kita ketika membaca kembali kode program karena hanya dengan melihat sekilas saja kita bisa membedakan mana yang merupakan nilai tetap dan yang bukan.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;BAD&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;BASE_URL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://randomapi/&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;GOOD&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;BASE_URL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://randomapi/&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  8. Gunakan sanggahan yang tepat untuk nilai boolean
&lt;/h2&gt;

&lt;p&gt;Terkadang sangat membingungkan ketika terdapat nilai &lt;code&gt;boolean&lt;/code&gt; pada perulangan atau pengkondisian, mungkin salah satu faktornya karena kita tidak secara tepat memberikan nama pada variabel &lt;code&gt;boolean&lt;/code&gt; tersebut.&lt;/p&gt;

&lt;p&gt;Gunakan sanggahan &lt;code&gt;is&lt;/code&gt; atau &lt;code&gt;has&lt;/code&gt; untuk memaksimalkan penulisan variabel bertipe &lt;code&gt;boolean&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;BAD&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;vehicle&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// do something&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;GOOD&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;isVehicle&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// do something&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Penutup
&lt;/h2&gt;

&lt;p&gt;Itu tadi sedikit catatan saya mengenai bagaimana cara kita untuk dapat meningkatkan kualitas kode yang kita buat, khususnya pada variabel di Javascript. Semoga bisa bermanfaat.&lt;/p&gt;

&lt;p&gt;Untuk catatan selanjutnya, &lt;em&gt;will be added soon&lt;/em&gt; ya.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>javascript</category>
      <category>codequality</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
