TypeScript untuk Pemula: Panduan Lengkap | Ilmu Komputer

TypeScript untuk Pemula: Panduan Lengkap | Ilmu Komputer

TypeScript telah menjadi salah satu bahasa pemrograman yang paling cepat pertumbuhannya dalam beberapa tahun terakhir. Dikembangkan oleh Microsoft, TypeScript adalah superset dari JavaScript yang menambahkan static typing dan fitur-fitur modern lainnya.

Apa itu TypeScript?

TypeScript adalah bahasa pemrograman open-source yang dikembangkan oleh Microsoft pada tahun 2012. TypeScript merupakan superset dari JavaScript, artinya semua kode JavaScript sudah merupakan kode TypeScript yang valid. Namun, TypeScript menambahkan beberapa fitur utama:

  • Static Type Checking — Mendeteksi error tipe data saat kompilasi, bukan saat runtime
  • Interface & Type Aliases — Mendefinisikan struktur data dengan jelas
  • Generics — Membuat komponen yang reusable untuk berbagai tipe data
  • Enum — Mendefinisikan kumpulan konstanta bernama
  • Decorators — Metaprogramming untuk kelas dan method

Kenapa Harus TypeScript?

Banyak developer besar seperti Google (Angular), Vercel (Next.js), dan Facebook (React) telah mengadopsi TypeScript. Berdasarkan survei Stack Overflow 2025, TypeScript masuk dalam 5 bahasa paling dicintai developer.

Contoh perbedaan JavaScript vs TypeScript:

// JavaScript — error baru ketahuan saat runtime
function tambah(a, b) {
    return a + b;
}
console.log(tambah("5", 3)); // "53" — bug!

// TypeScript — error ketahuan saat kompilasi
function tambah(a: number, b: number): number {
    return a + b;
}
console.log(tambah("5", 3)); // ❌ Error: Argument of type 'string' is not assignable to parameter of type 'number'

Instalasi TypeScript

Untuk mulai menggunakan TypeScript, Anda perlu menginstal Node.js terlebih dahulu. Setelah itu:

# Install globally
npm install -g typescript

# Cek versi
tsc --version

# Inisialisasi project
mkdir project-typescript
cd project-typescript
npm init -y
npm install typescript --save-dev
npx tsc --init

Perintah tsc --init akan menghasilkan file tsconfig.json yang merupakan konfigurasi compiler TypeScript.

Tipe Data Dasar

TypeScript menyediakan berbagai tipe data dasar:

// String
let nama: string = "Budi";

// Number
let umur: number = 20;

// Boolean
let aktif: boolean = true;

// Array
let hobi: string[] = ["coding", "membaca"];
let nilai: Array<number> = [85, 90, 78];

// Tuple
let siswa: [string, number] = ["Andi", 22];

// Enum
enum Jurusan {
    TI = "Teknik Informatika",
    SI = "Sistem Informasi",
    SK = "Sains Komputer"
}
let jurusanSaya: Jurusan = Jurusan.TI;

Interface dan Type

Salah satu fitur terkuat TypeScript adalah kemampuan mendefinisikan kontrak data:

// Interface
interface Mahasiswa {
    nim: string;
    nama: string;
    ipk?: number; // optional
    readonly npm: string; // tidak bisa diubah
}

// Implementasi
const mhs: Mahasiswa = {
    nim: "12345678",
    nama: "Budi Santoso",
    npm: "202401001"
};

// Type alias
type ID = string | number;
type Status = "aktif" | "cuti" | "lulus";

Fitur ES2025+ yang Didukung TypeScript

TypeScript selalu mengadopsi fitur JavaScript terbaru. Beberapa fitur ES2025+ yang didukung penuh:

  • Pattern Matching — Mempermudah pencocokan pola data
  • Records & Tuples — Immutable data structures
  • Pipe Operator — Chaining function yang lebih bersih
  • Set Methods — intersection(), union(), difference()

Troubleshooting Umum

1. "Cannot find module" saat import

Sebab: File tsconfig.json tidak dikonfigurasi dengan benar untuk module resolution.

// Solusi: Set moduleResolution di tsconfig.json
{
    "compilerOptions": {
        "moduleResolution": "node",
        "esModuleInterop": true
    }
}

2. Type 'undefined' is not assignable to type

Sebab: Strict null checking aktif dan variabel bisa bernilai undefined.

// Solusi: Gunakan optional chaining atau default value
let data?: string;
console.log(data?.length); // Optional chaining
let aman: string = data ?? "default"; // Nullish coalescing

Baca Juga

Kesimpulan

TypeScript adalah investasi yang sangat berharga bagi developer JavaScript. Meskipun butuh waktu untuk belajar, manfaat type safety dan tooling yang lebih baik akan menghemat banyak waktu debugging dalam jangka panjang. Mulailah dari project kecil, pahami dasar-dasarnya, dan rasakan sendiri perbedaannya!

Bagikan artikel ini jika bermanfaat, dan tulis komentar di bawah jika ada pertanyaan! 🚀

Iklan

Iklan
Iklan

Iklan
Iklan

Iklan
Iklan