Membuat Object (Instansiasi)
Tujuan Pembelajaran
Section titled “Tujuan Pembelajaran”Setelah membaca halaman ini, kamu diharapkan dapat:
- Menjelaskan arti dari instansiasi (instantiation).
- Menggunakan kata kunci
newuntuk membuat instansi objek baru. - Menjelaskan di mana objek disimpan di dalam memori komputer.
Pendahuluan
Section titled “Pendahuluan”Class hanyalah rancangan di atas kertas. Untuk menggunakannya dalam aplikasi nyata, kita harus menghidupkan rancangan tersebut menjadi benda fisik di dalam memori komputer. Proses menghidupkan class menjadi objek nyata ini disebut Instansiasi (Instantiation), dan objek yang dihasilkan disebut Instance.
Penjelasan Materi: Kata Kunci new
Section titled “Penjelasan Materi: Kata Kunci new”Untuk membuat objek baru dari sebuah class, kita menggunakan kata kunci new diikuti nama class dan tanda kurung ():
const namaObjek = new NamaClass();Saat baris ini dieksekusi, komputer akan dialokasikan tempat khusus di memori RAM untuk menyimpan seluruh property milik objek tersebut.
Analogi Kehidupan Sehari-hari: Rumah Fisik yang Selesai Dibangun
Section titled “Analogi Kehidupan Sehari-hari: Rumah Fisik yang Selesai Dibangun”Kamu memegang cetak biru (blueprint) perumahan:
Class = Sketsa blueprint rumahKetika kamu menyewa tukang, membeli semen, bata, dan mulai membangun rumah fisik di atas tanah kaveling nomor 5:
Proses "new" = Pembangunan fisik rumahRumah yang sudah berdiri kokoh di atas tanah tersebut adalah Object (Instance). Rumah ini memiliki alamat fisik yang nyata (alamat memori RAM), memiliki warna dinding asli, dan siap ditinggali. Kamu bisa membangun rumah kedua di kaveling nomor 6 menggunakan blueprint yang sama.
Visual Illustration: Instansiasi Objek
Section titled “Visual Illustration: Instansiasi Objek”Class Siswa (Cetak Biru) │ ├─ new Siswa() ──► Objek siswa1 { nama: "Putra", umur: 17 } (tersimpan di RAM Alamat A) │ └─ new Siswa() ──► Objek siswa2 { nama: "Dewi", umur: 16 } (tersimpan di RAM Alamat B)Mari Mencoba: Instansiasi Banyak Objek
Section titled “Mari Mencoba: Instansiasi Banyak Objek”Mari kita buat program untuk membuat beberapa objek dari class yang sama dan membuktikan bahwa properti mereka tersimpan secara terpisah.
Buat file bernama src/bab8/membuat-object.ts:
class Handphone { merk: string = ""; ramGB: number = 0; warna: string = "";
tampilkanSpesifikasi(): void { console.log(`HP ${this.merk} | RAM: ${this.ramGB} GB | Warna: ${this.warna}`); }}
// 1. Instansiasi Objek HP pertamaconst hpAndi = new Handphone();hpAndi.merk = "Xiaomi";hpAndi.ramGB = 8;hpAndi.warna = "Hitam";
// 2. Instansiasi Objek HP keduaconst hpBudi = new Handphone();hpBudi.merk = "Samsung";hpBudi.ramGB = 12;hpBudi.warna = "Biru";
// 3. Menjalankan Method dari masing-masing objekconsole.log("=== HP Andi ===");hpAndi.tampilkanSpesifikasi();
console.log("\n=== HP Budi ===");hpBudi.tampilkanSpesifikasi();Jalankan dengan perintah:
tsx src/bab8/membuat-object.tsOutput
Section titled “Output”=== HP Andi ===HP Xiaomi | RAM: 8 GB | Warna: Hitam
=== HP Budi ===HP Samsung | RAM: 12 GB | Warna: BiruPenjelasan Baris per Baris
Section titled “Penjelasan Baris per Baris”const hpAndi = new Handphone()— Mencetak objek nyata pertama bernamahpAndidari rancanganHandphone.hpAndi.merk = "Xiaomi"— Mengubah data properti khusus milik objekhpAndi.hpBudi.merk = "Samsung"— Mengubah data properti khusus milik objekhpBudi. Data ini disimpan di lokasi RAM yang berbeda, sehingga tidak menimpa data milikhpAndi.this.merkdi dalam method akan otomatis merujuk ke data objek pemanggilnya (hpAndi mencetak Xiaomi, hpBudi mencetak Samsung).
Kesalahan yang Sering Terjadi
Section titled “Kesalahan yang Sering Terjadi”❌ Lupa menuliskan kata kunci new saat membuat objek
Section titled “❌ Lupa menuliskan kata kunci new saat membuat objek”const hpC = Handphone(); // Error di TypeScript!// Value of type 'typeof Handphone' is not callable. Did you mean to include 'new'?Perbaikan: Ingat bahwa class tidak bisa dipanggil langsung seperti fungsi biasa. Wajib menggunakan kata kunci new di depannya.
Latihan
Section titled “Latihan”- Buat class bernama
Siswadi file baru. - Buat tiga objek dari class tersebut (misal:
siswa1,siswa2,siswa3). - Beri nama dan umur yang berbeda pada setiap objek, lalu cetak spesifikasinya.
Ringkasan
Section titled “Ringkasan”- Instansiasi adalah proses pembuatan objek nyata dari class menggunakan keyword
new. - Setiap objek baru yang dibuat disimpan di lokasi memori yang terpisah.
- Lupa menggunakan keyword
newakan memicu error kompilasi di TypeScript.