UI vs. UX: What’s the difference?

Pengantar TypeScript: Lebih dari Sekadar JavaScript

TypeScript adalah bahasa pemrograman berbasis JavaScript yang dikembangkan oleh Microsoft. Disebut sebagai "superset dari JavaScript", karena semua kode JavaScript yang valid juga dapat berjalan di TypeScript — ditambah TypeScript punya fitur-fitur tambahan seperti:

  • Pengetikan statis (Static Typing)
  • Type inference
  • Interface dan class
  • Enum, Tuple, Generic, dan masih banyak lagi

Tujuan utama TypeScript adalah membuat pengembangan aplikasi besar lebih terstruktur, scalable, dan minim bug.

Mengapa Harus Menggunakan TypeScript?

Mari kita bandingkan beberapa hal yang jadi kelebihan TypeScript dibanding JavaScript:

1. Pengetikan Statis (Static Typing)

Dengan TypeScript, kita bisa menentukan tipe data dari variabel, parameter, dan hasil return. Ini membuat kode lebih aman dan lebih mudah dipahami.

Contoh:

let umur: number = 25;
umur = "dua puluh lima"; // ❌ Error: string tidak bisa di-assign ke number

Bandingkan dengan JavaScript:

let umur = 25;
umur = "dua puluh lima"; // ✅ Tidak error, tapi bisa menyebabkan bug!

2. Autocompletion Lebih Cerdas

TypeScript menyediakan fitur intellisense di editor seperti Visual Studio Code. Karena semua tipe data diketahui, maka:

  • IDE bisa memberi saran fungsi/atribut yang valid
  • Developer bisa coding lebih cepat dan lebih akurat

3. Dokumentasi Otomatis

Karena setiap fungsi bisa ditentukan tipe input dan output-nya, TypeScript secara otomatis memberikan dokumentasi inline tanpa harus membaca seluruh kode sumber.

4. Deteksi Error Sejak Dini (Compile Time)

TypeScript melakukan validasi sebelum kode dijalankan — sehingga banyak kesalahan bisa dicegah sebelum sampai ke pengguna akhir.

5. Dukungan OOP (Object-Oriented Programming)

TypeScript menyediakan fitur OOP penuh seperti:

  • Class
  • Interface
  • Inheritance (pewarisan)
  • Encapsulation
  • Polymorphism

Fitur Utama TypeScript

FiturDeskripsi
Static TypingMenentukan tipe data agar tidak salah penggunaan
Type InferenceTypeScript bisa menebak tipe data dari isi variabel
InterfaceMendefinisikan bentuk dari objek agar konsisten
EnumKumpulan nilai tetap, cocok untuk status, level, dll
TupleArray dengan jumlah elemen dan tipe yang tetap
GenericsFungsi/kelas fleksibel yang tetap aman secara tipe
Module SystemDukungan ekspor dan impor antar file seperti ES6

Contoh Penggunaan Dasar

 Deklarasi Variabel dengan Tipe

let nama: string = "Idos";
let usia: number = 25;
let aktif: boolean = true;

 Fungsi dengan Tipe Parameter & Return

function hitungLuas(panjang: number, lebar: number): number {
  return panjang * lebar;
}

 Interface

interface Mahasiswa {
  nama: string;
  nim: number;
  jurusan?: string; // properti opsional
}

const mhs: Mahasiswa = {
  nama: "Rizky",
  nim: 123456,
};

 Class & Inheritance

class Hewan {
  constructor(public nama: string) {}
  bersuara() {
    console.log(`${this.nama} bersuara...`);
  }
}

class Kucing extends Hewan {
  bersuara() {
    console.log(`${this.nama} mengeong`);
  }
}

const pus = new Kucing("Puspus");
pus.bersuara(); // Puspus mengeong

Cara Memulai TypeScript

1. Instalasi TypeScript

npm install -g typescript

2. Buat File TypeScript

Buat file app.ts:

let salam: string = "Halo Dunia!";
console.log(salam);

3. Compile ke JavaScript

tsc app.ts

Hasilnya akan menjadi app.js:

var salam = "Halo Dunia!";
console.log(salam);

TypeScript tidak bisa dijalankan langsung di browser, jadi harus di-compile dulu menjadi JavaScript.

Integrasi TypeScript di Framework

FrameworkDukungan TypeScript
ReactSangat baik, banyak starter kit TypeScript
Next.jsNative support, cukup buat tsconfig.json
Node.jsCocok untuk backend besar dengan struktur rapi
Vue.jsDukungan TypeScript mulai stabil sejak Vue 3

Kapan Sebaiknya Menggunakan TypeScript?

Gunakan TypeScript jika:

  • Aplikasi kamu berskala menengah ke besar
  • Kamu bekerja dalam tim
  • Kamu ingin kode yang lebih aman dan minim bug
  • Kamu ingin intellisense yang lebih lengkap
  • Kamu ingin belajar praktik terbaik dalam pengembangan modern

Kekurangan TypeScript

Agar adil, berikut beberapa hal yang mungkin jadi pertimbangan:

KekuranganPenjelasan
Curva belajarHarus belajar sintaks baru dan tipe data
Setup awalPerlu setup transpiler dan konfigurasi
VerboseKadang terasa "lebih banyak nulis" dibanding JS
Compile timeHarus dikompilasi dulu, tidak bisa langsung run

Namun... manfaat jangka panjang TypeScript jauh lebih besar daripada kekurangannya.

Kesimpulan

TypeScript = JavaScript + Tipe Data + Struktur + Keamanan

Dengan TypeScript, kamu bisa:

  • Menulis kode lebih rapi dan aman
  • Menghindari bug sejak awal
  • Menjaga kualitas proyek besar
  • Mendapat pengalaman profesional seperti di perusahaan teknologi besar

Kalau kamu sudah familiar dengan JavaScript, belajar TypeScript bukan dari nol — tapi naik level!