Back to blog
Fundamental

Garbage Collection (GC) JavaScript: Bagaimana Memori Dibersihkan?

Berbeda dengan bahasa C atau C++, kamu tidak perlu menghancurkan variabel secara manual di JavaScript. Kenali cara kerja robot Mark-and-Sweep.

super admin·29 Juni 2026·2 min read
Garbage Collection (GC) JavaScript: Bagaimana Memori Dibersihkan?
Article Content

Keajaiban Bahasa Tingkat Tinggi

Di bahasa pemrograman tingkat rendah seperti C atau C++, seorang programmer memiliki kendali absolut. Jika mereka selesai menggunakan sebuah data besar (Array 1000 item), mereka wajib mengetikkan kode perintah free() atau delete secara manual. Jika mereka lupa mengetiknya (Human Error), RAM komputer akan termakan habis selamanya (Memory Leak fatal).

Bekerja menggunakan JavaScript (Node.js/Browser) terasa sangat nyaman karena mesin V8 Engine milik Chrome secara diam-diam mempekerjakan seorang asisten pembersih otomatis: Garbage Collector (Pengumpul Sampah/GC).

Konsep Utama: Reachability (Keterjangkauan)

Bagaimana si Robot Sampah (GC) tahu bahwa suatu variabel itu sudah "sampah" dan boleh dihapus dari RAM? Ia menggunakan algoritma pintar bernama Mark-and-Sweep (Tandai dan Sapu), yang didasari pada satu konsep mutlak: Reachability (Apakah data ini masih bisa dijangkau dari pusat?).

Bayangkan memori komputermu sebagai Jaring Laba-laba. Pusat jaringnya (Garis Start) adalah Global Object (Objek window di Browser).

Langkah 1: Mark (Penandaan)

Secara berkala di latar belakang, Robot GC akan berjalan menyusuri jaring laba-laba dimulai dari titik Pusat. Setiap variabel, Object, atau Function yang berhasil ia sentuh jalurnya, akan diberi tanda: "HIDUP!".

Langkah 2: Sweep (Penyapuan)

Setelah selesai menelusuri seluruh akar jaring, Robot GC akan melihat ke sudut-sudut memori lainnya. Jika ada sebuah Object Data yang tidak memiliki tanda "HIDUP" (artinya talinya sudah terputus dari Pusat Global, karena fungsinya sudah selesai dieksekusi atau tidak ada variabel lain yang merujuk kepadanya), Robot ini akan MENGHANCURKAN DAN MENYAPU BERSIH (Free Memory) data yatim piatu tersebut tanpa ampun!

Penyebab Utama Kegagalan Robot Ini

Meski canggih, Robot GC ini bodoh jika ditipu oleh struktur kodemu. Inilah akar dari Memory Leak (seperti yang dibahas di artikel sebelumnya).

Jika kamu menyimpan sebuah data raksasa di dalam Global Variable, atau jika kamu menaruh data rahasia di dalam sebuah Closure (Fungsi yang mengunci variabel fungsi induknya), tali (Reachability) ke data tersebut tidak akan pernah terputus. Akibatnya, Robot GC akan terus menandainya sebagai "HIDUP" dan tidak berani membersihkannya, sehingga RAM browsermu akan membengkak dari 100MB menjadi 2 GB dalam hitungan menit!

Mau langsung pakai template?

Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.

Browse Templates