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