Learn
← Previous Next →

Hari 2: Array, Tuple & Object Types

55 min Last updated 09 Apr 2026

Array Types

// Dua cara menulis array type
const angka: number[] = [1, 2, 3, 4, 5];
const kata: Array = ["apel", "mangga", "pisang"];

// Array readonly — tidak bisa diubah
const tetap: readonly number[] = [1, 2, 3];
// tetap.push(4); // Error!

Tuple — Array dengan Tipe Tetap per Posisi

// Tuple: tipe tiap elemen ditentukan
let koordinat: [number, number] = [3.5, -7.2];
let profil: [string, number, boolean] = ["Budi", 25, true];

// Akses
const lat = koordinat[0]; // number
const lng = koordinat[1]; // number

// Named tuple (lebih readable)
type RGB = [red: number, green: number, blue: number];
const merah: RGB = [255, 0, 0];

Object Types

// Inline object type
function tampilProduk(produk: { nama: string; harga: number; stok: number }): void {
    console.log(`${produk.nama}: Rp ${produk.harga} (stok: ${produk.stok})`);
}

// Optional property dengan ?
type Config = {
    host: string;
    port: number;
    ssl?: boolean;  // opsional
    timeout?: number;
};

const config: Config = { host: "localhost", port: 3000 };
// ssl boleh tidak ada

💡 Notice: Tuple memberikan tipe yang tepat untuk setiap posisi. s[2] adalah boolean, s[1] adalah number.

Assignment

Buat tuple type Siswa = [nama: string, nilai: number, lulus: boolean]. Buat array 3 siswa. Filter yang lulus, hitung rata-rata nilai mereka.

Expected output:

Budi: 85
Cici: 78
Rata-rata lulus: 81.5
TS index.ts
Solution
Output