Top Advertisement

JavaScript Dasar: Struktur Kode (Code Structure)

JavaScript Dasar: Struktur Kode (Code Structure) - ZendCode

Ketika kita mempelajari JavaScript, penting untuk memahami struktur dasar dari kode. Struktur kode mencakup berbagai elemen yang membentuk program JavaScript. 

Dalam artikel ini, kita akan membahas tentang statement, expression, komentar, literals, semicolons, indentation, white spaces, identifier, naming convention, case sensitivity, dan reserved word dalam JavaScript.


Statement

Statement (pernyataan) dalam JavaScript adalah instruksi yang dieksekusi oleh mesin JavaScript. Setiap statement diakhiri dengan tanda titik koma (;). 

Contoh penggunaan statement:

let x = 5; // Pernyataan deklarasi `x` dan inisialisasi dengan `5`
console.log(x); // Pernyataan untuk menampilkan nilai `x` di console

Setiap statement ditulis pada baris terpisah untuk membuat kode lebih mudah dibaca. Meskipun kita bisa menuliskan dalam satu baris dengan dipisahkan koma, memisahnya menjadi beberapa baris itu lebih baik. 


Expression

Expression (ekspresi) adalah kombinasi dari nilai, variabel, operator, dan pemanggilan fungsi yang menghasilkan nilai. Mereka digunakan untuk melakukan operasi atau menghasilkan hasil yang diperlukan. 

Contoh penggunaan expression:

2 + 3 // Ekspresi penjumlahan, menghasilkan nilai 5
x * y // Ekspresi perkalian, menghasilkan hasil perkalian dari variabel x dan y
Math.sqrt(16) // Ekspresi pemanggilan fungsi, menghasilkan nilai akar kuadrat dari 16


Kita masukkan ekspresi ke statament: 

let sum = 2 + 3;

Dalam kode `let sum = 2 + 3;`, terdapat ekspresi dan statement.

  • Ekspresi: `2 + 3`

    Ekspresi dalam kode tersebut adalah `2 + 3`. Ini adalah ekspresi penjumlahan yang menghasilkan nilai 5. 

  • Statement: `let sum = 2 + 3;`

    Ini adalah sebuah statement deklarasi variabel `sum` dan menginisialisasinya dengan nilai hasil dari ekspresi `2 + 3`, yaitu 5.


Literals

Literals adalah nilai yang ditulis secara langsung dalam kode tanpa melalui perhitungan atau operasi khusus.  

Mereka berupa tipe data tertentu seperti `string`, `number`, `boolean`, `array`, `object`, dan lain-lain.

Contoh penggunaan literals: 

// String Literal
let name = "Annie"; // "Annie" adalah string literal

// Number literal atau Numeric Literal
let age = 25; // `25` adalah number literal

// Boolean Literal
let isActive = true; // `true` adalah boolean literal

// Array Literal
let numbers = [1, 2, 3, 4, 5]; // [1, 2, 3, 4, 5] adalah literal

// Object Literal
let person = {
  name: "Annie",
  age: 19,
  city: "New York"
}; // `{}` adalah object literal

// Null Literal
let empty = null; // `null` adalah literal
 
// Undefined Literal
let notDefined = undefined; // `undefined` adalah literal


Dalam contoh `let name = "Annie";`, ini adalah sebuah statement deklarasi variabel `name` dengan inisialisasi berupa string literal "Annie". 



Comments

Komentar dalam JavaScript digunakan untuk memberikan penjelasan, dokumentasi, atau menonaktifkan kode sementara atau mencegah kode tersebut dari evaluasi atau eksekusi. 

Ada dua jenis komentar dalam JavaScript: 

  • `Single Line Comment` atau komentar satu baris ( // ), dan 
  • `Multi-line Comments` atau komentar multi-baris ( /* ... */ ). 

Contoh penggunaan komentar:

// Single Line Comment

/*
    Multi-line Comment
    Membuat komentar
    lebih dari satu baris
*/

Komentar untuk mencegah eksekusi kode: 

// console.log("Executed")

Kode di atas tidak akan dieksekusi saat program dijalankan. 


Semicolons

Semicolon (;) digunakan dalam JavaScript sebagai tanda pemisah antara pernyataan (statement) yang berbeda. 

Contoh penggunaan semicolon:

let num = 4;

if (x) {
    console.log(x);
}

Meskipun JavaScript memungkinkan penambahan semicolon otomatis (`automatic semicolon insertion`), disarankan untuk menambahkan `semicolon` secara eksplisit untuk menghindari kesalahan. 


White Spaces

White spaces (spasi atau karakter kosong) adalah karakter yang tidak terlihat seperti spasi, tab, atau baris baru. 

Mereka digunakan untuk memisahkan kata kunci, operator, dan operand. JavaScript akan mengabaikan white spaces kecuali jika mereka diperlukan untuk memisahkan elemen-elemen tersebut. 

Contoh penggunaan white spaces:

let num = 4; // White Spaces untuk memisahkan keyword `let`, nama variabel, operator assignment (=), dan literal.
let result = num + 3; // White space memisahkan operator (+) dengan kedua operand (`num` dan `3`)


Indentation

Indentation adalah penggunaan spasi atau tab untuk mengatur tata letak kode. Indentation juga termasuk white spaces yang akan diabaikan oleh JavaScript. 

Meskipun JavaScript mengabaikan indensasi, praktik yang baik adalah menggunakannya untuk meningkatkan kejelasan dan kebersihan kode. 

Contoh penggunaan indentation:

if (x) {
    console.log(x); // Indensasi dengan 4 white spaces
}


Identifier

Identifier adalah nama yang digunakan untuk mengidentifikasi variabel, fungsi, objek, atau label. 

Identifier harus mengikuti beberapa ketentuan sebagai berikut: 

  1. Identifier dapat terdiri dari kombinasi huruf (A-Z atau a-z), angka, tanda garis bawah `_`, dan simbol dolar `$`. 

    let sisa_$saldo_Rekening = 1250000;

  2. Identifier harus diawali dengan huruf, tanda garis bawah, atau simbol dolar. Tidak boleh dimulai dengan angka atau karakter spesial lainnya. 

    let nama = "ZendCode"// Benar
    let $ = "Dolar Sign"// Benar
    let _ = "Underscore"// Benar
    let $umur = 25// Benar
    let _alamat = "Jalan Raya"// Benar
    let 123abc = "Error"// Salah
    let #pagar = "Error"// Salah

  3. Identifier tidak boleh mengandung operator matematika seperti tanda min `-`. 

    let alamat-rumah = "Jalan Raya"// Salah! JavaScript akan menganggap ( `alamat` dikurangi `rumah` )

  4. Identifier yang terdiri dari dua kata atau lebih tidak boleh dipisahkan dengan spasi. Gunakan garis bawah atau camelCase sebagai gantinya. 

    let nama depan = "Zend"// Salah
    let namaDepan = "Zend"// Benar
    let nama_depan = "Zend"// benar

  5. Identifier bersifat `case-sensitive`, artinya huruf besar dan huruf kecil dianggap berbeda.

    Contoh: `namadepan` dan `namaDepan` adalah dua identifier yang berbeda. 

  6. Identifier tidak boleh menggunakan `reserved words`, yaitu berbagai kata kunci yang memiliki peran khusus yang telah ditentukan dalam sintaksis JavaScript. 

    Contoh: `function` adalah reserved word untuk membuat sebuah fungsi. Tidak dapat digunakan sebagai indentifier. 



# Naming Convention

Naming convention adalah kebiasaan pemberian nama pada identifier. Saya mendefinisikannya sebagai `pola penamaan` identifier yang umum digunakan dalam pemrograman apapun.

Naming convention bukan aturan baku yang wajib diikuti. Tidak mengikutinya tidak akan menyebabkan program menjadi error.

Berbeda dengan aturan identifier, jika tidak diikuti dengan benar, maka akan menyebabkan error pada program.

Namun naming convention ini sebaiknya kamu ikuti untuk membuat kode program yang lebih terstruktur dan rapih. 


Contoh konvensi penamaan yang umum:

  • Gunakan gaya `camelCase` atau awali dengan huruf kecil (lower case) untuk variabel dan fungsi. 

    const namaDepan = "Kurnia"; // camelCase untuk nama variabel lebih dari satu kata
    const situs = "zendcode.web.id"; // Lower Case untuk mengawali nama variabel

    function namaFungsi() {
        // camelCase untuk nama fungsi
    }

  • Gunakan gaya `PascalCase` atau awali dengan huruf kapital (UPPER CASE) untuk nama kelas (`class`). 

    class NamaKelas {
        // Nama kelas dengan PascalCase
    }

    class Kelas {
        // Nama kelas berawalan huruf kapital
    }

  • Gunakan huruf kapital untuk konstanta.

    const PI = 3.14;

    Number.MAX_SAFE_INTEGER; // `MAX_SAFE_INTEGER` adalah konstanta


  • Hindari pemberian nama identifier dengan symbol dolar atau garis bawah. 
  • Hindari pemberian nama identifier dengan hanya satu karakter. 
  • Identifier sebaiknya memilih nama yang deskriptif dan memiliki arti yang jelas. Ini membantu meningkatkan keterbacaan dan pemahaman kode.
  • Gunakan Bahasa Inggris untuk memudahkan kolaborasi dengan programmer di berbagai penjuru dunia. 


Reserved Word

Reserved word (kata kunci terpesan) adalah kata-kata yang memiliki arti spesial, yang telah dipesan oleh JavaScript untuk digunakan dalam sintaksis. Kita tidak dapat menggunakan reserved word sebagai nama identifier. 

Berikut daftar Reserved Word dalam JavaScript yang harus kamu ketahui: 

Kata Kunci Deskripsi
break Digunakan untuk menghentikan eksekusi loop atau switch statement.
case Digunakan dalam switch statement untuk menentukan blok kode yang akan dieksekusi jika nilai tertentu cocok.
catch Digunakan dalam blok try...catch untuk menangkap dan menangani kesalahan yang terjadi.
class Digunakan untuk mendefinisikan sebuah kelas.
const Digunakan untuk mendeklarasikan variabel dengan nilai tetap (konstan) yang tidak dapat diubah setelah diinisialisasi.
continue Digunakan untuk menghentikan iterasi saat ini dalam loop dan melanjutkan ke iterasi berikutnya.
debugger Digunakan untuk menandai titik henti dalam kode untuk keperluan debugging.
default Digunakan dalam switch statement sebagai blok kode yang akan dieksekusi jika tidak ada kasus yang cocok.
delete Digunakan untuk menghapus properti dari objek atau elemen dari array.
do Digunakan untuk membuat loop do...while, yang akan mengulang blok kode setidaknya sekali dan kemudian berulang jika kondisi terpenuhi.
else Digunakan dalam statement if...else untuk menentukan blok kode yang akan dieksekusi jika kondisi tidak terpenuhi.
export Digunakan untuk mengekspor variabel, fungsi, atau kelas agar dapat diakses dari modul lain.
extends Digunakan untuk membuat kelas turunan (subclass) dari kelas yang ada.
finally Digunakan dalam blok try...catch...finally untuk menentukan blok kode yang akan selalu dieksekusi, terlepas dari apakah ada kesalahan atau tidak.
for Digunakan untuk membuat loop for, yang mengulang blok kode dengan kondisi yang ditentukan.
function Digunakan untuk mendefinisikan sebuah fungsi.
if Digunakan untuk menentukan blok kode yang akan dieksekusi jika kondisi terpenuhi.
import Digunakan untuk mengimpor variabel, fungsi, atau kelas dari modul lain.
in Digunakan untuk memeriksa apakah sebuah properti ada dalam objek.
instanceof Digunakan untuk memeriksa apakah sebuah objek merupakan instance dari sebuah kelas.
let Digunakan untuk mendeklarasikan variabel dengan lingkup blok (block scope).
new Digunakan untuk membuat instance baru dari sebuah objek atau kelas.
return Digunakan dalam fungsi untuk mengembalikan nilai dari fungsi tersebut.
super Digunakan dalam kelas turunan untuk mengakses dan memanggil metode atau properti dari kelas induk (superclass).
switch Digunakan untuk membuat statement switch, yang memungkinkan pengujian nilai yang berbeda dan menjalankan blok kode yang sesuai.
this Digunakan untuk merujuk pada objek saat ini.
throw Digunakan untuk melempar (throw) sebuah kesalahan (error).
try Digunakan untuk membuat blok try...catch yang mencoba mengeksekusi kode yang mungkin menghasilkan kesalahan (error), dan menangani kesalahan tersebut jika terjadi.
typeof Digunakan untuk mengembalikan tipe data dari sebuah variabel atau ekspresi.
var Digunakan untuk mendeklarasikan variabel dengan lingkup fungsi (function scope).
void Digunakan untuk mengevaluasi ekspresi tanpa mengembalikan nilai.
while Digunakan untuk membuat loop while, yang mengulang blok kode selama kondisi terpenuhi.
with Digunakan untuk menciptakan lingkup tambahan dengan objek tertentu, sehingga properti dari objek tersebut dapat diakses secara langsung tanpa menyebutkan objeknya.
yield Digunakan dalam fungsi generator untuk memberikan nilai yang dihasilkan oleh generator.