Menu
CoddyTech

Apa Itu Runtime Environment?

Runtime environment adalah software yang dibutuhkan sebuah program di sekitarnya saat program itu berjalan: engine yang mengeksekusi kodenya, library standar yang dipanggilnya, dan layanan yang mengelola memori, error, serta akses ke sistem operasi. JVM, Node.js, dan CPython adalah contohnya.

Oleh Kevin Spektor, Co-founder & CTO

Diperbarui 24 September 2026

Jalankan console.log(typeof process) di Node.js, dan hasilnya object. Tempel baris yang sama ke console Chrome, dan hasilnya undefined. Bahasanya sama-sama JavaScript di kedua tempat, tetapi programnya berjalan di dalam dua runtime environment yang berbeda, dan masing-masing memberinya tool yang berbeda.

console.log(typeof process);  // "object" in Node.js, "undefined" in a browser
console.log(typeof document); // "undefined" in Node.js, "object" in a browser

Apa yang disediakan runtime environment

Kodemu hanya menjelaskan apa yang harus dilakukan. Saat berjalan, kode itu bersandar pada lapisan software yang sudah terinstal sebelum kamu menulis satu baris pun. Lapisan itu biasanya punya lima bagian:

  1. Engine eksekusi. Harus ada sesuatu yang menjalankan kodenya: sebuah interpreter, mesin virtual, atau compiler just-in-time. CPython, Java Virtual Machine (JVM), dan V8 adalah engine eksekusi.
  2. Library standar. Fungsi-fungsi siap pakai untuk teks, matematika, tanggal, file, dan jaringan, seperti modul json di Python atau package java.util di Java.
  3. Manajemen memori. Runtime mengalokasikan memori untuk objek-objekmu dan, di Python, Java, dan JavaScript, membebaskannya lagi dengan garbage collector saat tidak ada lagi yang memakainya.
  4. Penanganan error. Saat terjadi kesalahan, runtime menghentikan program dengan cara yang terkendali dan melaporkan di mana kesalahannya, sebagai traceback atau stack trace.
  5. Akses ke sistem operasi. Membaca file, membuka koneksi jaringan, membaca environment variable, dan argumen command line semuanya lewat runtime, yang meminta ke sistem operasi atas nama programmu.

Kamu bisa bertanya kepada runtime Python tentang dirinya sendiri:

Jawabannya bergantung pada tempat kode itu berjalan. Di server Linux, platform.system() mengembalikan 'Linux', di Mac 'Darwin', dan di Windows 'Windows'. Batas rekursi (1000 secara default di CPython) adalah aturan yang ditetapkan runtime, bukan oleh bahasa Python, dan puluhan modul yang sudah dimuat sebelum baris pertamamu adalah runtime yang sedang menyiapkan dirinya.

Java: JDK vs JRE vs JVM

Java membuat lapisan-lapisan ini terlihat karena masing-masing punya nama sendiri:

NamaKepanjanganIsinyaSiapa yang butuh
JVMJava Virtual MachineEngine yang menjalankan bytecode (file .class) dan mengelola memoriBagian dari kedua baris di bawah
JREJava Runtime EnvironmentJVM ditambah library class standarOrang yang hanya menjalankan program Java
JDKJava Development KitJRE ditambah tool developer: javac, jar, javadoc, jdbOrang yang menulis program Java

Alurnya begini: javac Main.java (tool JDK, yaitu compiler) mengubah source code menjadi Main.class, lalu java Main menyalakan JVM, yang memuat class itu dan menjalankannya dengan library dari runtime environment. JVM adalah alasan satu file .class bisa berjalan di Windows, macOS, dan Linux: setiap sistem operasi punya JVM-nya sendiri, dan semuanya memahami bytecode yang sama.

Sejak Java 11, Oracle hanya merilis JDK, tanpa unduhan JRE terpisah. Beberapa distribusi, seperti Eclipse Temurin, masih menerbitkan paket JRE. Kalau kamu sedang belajar Java, instal JDK: isinya mencakup semua yang ada di JRE. Panduan instal Java menjelaskan caranya. Untuk mencoba Java sebelum menginstal apa pun, compiler Java online menjalankan kodemu di JDK 24.

JavaScript: browser dan Node.js

JavaScript dirancang untuk berjalan di dalam halaman web, jadi runtime environment pertamanya adalah browser. Runtime browser memberi kodemu document dari halaman itu, window, timer, dan fetch untuk request jaringan, dan sengaja memblokir akses langsung ke file-file milikmu.

Node.js mengeluarkan engine V8 milik Google dari browser dan membungkusnya dalam runtime yang berbeda: tidak ada document, tetapi ada modul seperti fs untuk file, http untuk server, dan objek process untuk environment variable dan argumen. Deno dan Bun adalah runtime yang lebih baru untuk bahasa yang sama, masing-masing dengan tool-nya sendiri. Semuanya menjalankan inti JavaScript yang sama; bedanya ada pada apa yang mengelilinginya. Halaman runtime Node.js dan event loop membahasnya lebih jauh. Compiler JavaScript online menjalankan kodemu di Node.js atau Deno, dan contoh pertama di halaman ini mencetak object di sana.

Python: CPython dan kawan-kawan

Saat orang bilang "instal Python", yang mereka maksud adalah menginstal runtime environment: interpreter CPython, library standar, dan pip untuk menambahkan package. Ada runtime lain untuk bahasa yang sama. PyPy menambahkan JIT compiler supaya lebih cepat, dan MicroPython cukup kecil untuk berjalan di mikrokontroler.

Virtual environment (python3 -m venv .venv) bukan runtime baru. Ia menunjuk ke interpreter yang sudah ada dan memberi satu proyek kumpulan package terinstalnya sendiri, sehingga dua proyek bisa memakai versi yang berbeda dari library yang sama. Lihat virtual environment.

Compile time dan run time

"Runtime" juga menamai sebuah momen: periode saat program sedang berjalan, sebagai lawan dari compile time, saat source sedang diterjemahkan. Kesalahan yang ditolak compiler adalah error compile time; kesalahan yang baru muncul saat program berjalan, seperti membagi dengan nol, adalah runtime error. Runtime environment adalah software yang hadir selama periode kedua itu.

Bahkan C, yang di-compile langsung menjadi kode mesin, punya runtime kecil. Program C dimulai dari startup code yang disediakan oleh toolchain compiler, dan fungsi seperti printf dan malloc berasal dari library standar C (glibc di sebagian besar sistem Linux, Universal C Runtime di Windows). Hanya saja, tidak ada mesin virtual dan tidak ada garbage collector.

Kesalahpahaman yang umum

  • "Runtime environment adalah sistem operasi." Sistem operasi mengelola hardware untuk setiap program. Runtime environment adalah lapisan milik satu program di atasnya. JVM sendiri adalah program yang dijalankan Windows, macOS, atau Linux; JVM tidak menggantikan sistem-sistem itu.
  • "Node.js adalah bahasa atau framework." Node.js adalah runtime environment untuk JavaScript. Framework seperti Express adalah library yang berjalan di dalamnya.
  • "Menginstal IDE berarti menginstal runtime-nya." VS Code tidak menyertakan Python atau Java. Editor dan runtime environment diinstal terpisah, meskipun beberapa IDE, seperti IntelliJ IDEA, bisa mengunduh JDK untukmu.
  • "Bahasanya sama, perilakunya sama di mana saja." Fitur yang disediakan runtime, seperti akses file, batas default, dan modul yang tersedia, bisa berbeda. Kode yang berjalan di Node.js bisa gagal di browser justru karena alasan itu.

Lanjut ke mana

Engine eksekusi di dalam sebagian besar runtime adalah interpreter, dan halaman itu juga membandingkannya dengan compiler. Di bawah setiap runtime ada sistem operasi. Untuk berlatih di runtime yang belum pernah kamu pakai, mulai kursus Java atau kursus JavaScript.

Pertanyaan yang sering diajukan

Apa contoh runtime environment?

Java Runtime Environment (JRE) adalah contoh klasiknya: JVM ditambah library standar Java. Node.js adalah runtime environment untuk JavaScript di luar browser, dan browser itu sendiri adalah runtime yang lain. Untuk Python, interpreter CPython beserta library standarnya adalah runtime-nya.

Apakah Node.js itu runtime environment?

Ya. Node.js adalah runtime environment JavaScript yang dibangun di atas engine V8 milik Google. Node.js membuat JavaScript bisa berjalan di luar browser dan menambahkan modul untuk file, jaringan, dan proses. Node.js bukan bahasa pemrograman dan bukan framework; framework seperti Express berjalan di dalamnya.

Apa sebenarnya arti runtime?

"Runtime" punya dua arti. Pertama, periode saat sebuah program sedang berjalan, sebagai lawan dari compile time, itulah sebabnya error yang hanya muncul pada saat itu disebut runtime error. Kedua, singkatan dari runtime environment, yaitu software yang mendukung program selama periode itu.

Sebaiknya saya menginstal JRE atau JDK?
Instal JDK kalau kamu menulis Java, karena JDK berisi compiler javac dan semua yang ada di JRE. JRE saja hanya bisa menjalankan program Java yang sudah ada. Sejak Java 11, Oracle hanya mendistribusikan JDK, jadi untuk versi Java saat ini JDK adalah pilihan yang biasa.
Apa kepanjangan JDK, JRE, dan JVM?
JDK adalah singkatan dari Java Development Kit, JRE dari Java Runtime Environment, dan JVM dari Java Virtual Machine. JVM menjalankan bytecode, JRE adalah JVM ditambah library standar, dan JDK adalah JRE ditambah tool pengembangan seperti javac.
Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai