Lewati ke konten utama

Python REPL: Panduan Praktis untuk Koding Interaktif

Pelajari bagaimana REPL Python memungkinkan Anda menjalankan kode secara interaktif untuk pengujian, debugging, dan pembelajaran. Temukan perintah penting, opsi kustomisasi, dan alternatif lanjutan.
Diperbarui 28 Sep 2026  · 10 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Berbeda dengan bahasa yang dikompilasi seperti C++ atau Java, yang harus diterjemahkan ke kode mesin sebelum dieksekusi, Python bersifat terinterpretasi dan menjalankan instruksi secara langsung. Hal ini membuat lingkungan REPL sangat cocok untuk bereksperimen, baik saat Anda menguji potongan kode, mengeksplorasi konsep baru, atau melakukan debug baris demi baris. Keunggulannya, REPL sudah terpasang di setiap instalasi Python, jadi siap digunakan kapan pun Anda butuh.

Dalam tutorial ini, saya akan menunjukkan cara menggunakan lingkungan REPL Python melalui contoh, mengeksplorasi fiturnya, dan alternatif REPL untuk meningkatkan alur kerja Anda. Jika Anda baru memulai dengan Python, saya merekomendasikan untuk mengikuti kursus Introduction to Python, yang membahas keterampilan seperti tipe data, list, fungsi dasar, dan paket.

Apa Itu Python REPL?

Sesi REPL adalah singkatan dari Read-Eval-Print Loop, yang menggambarkan empat tahap dasarnya:

  • Read: Lingkungan REPL membaca masukan pengguna, bisa berupa satu baris kode atau pernyataan multi-baris.
  • Evaluate: Mengevaluasi kode, mengeksekusi pernyataan atau ekspresi, dan menghitung hasilnya.
  • Print: Mencetak hasil evaluasi ke konsol. Jika kodenya tidak menghasilkan keluaran, seperti pada pernyataan penugasan, maka tidak ada yang dicetak.
  • Loop: REPL kembali ke awal, siap untuk baris masukan berikutnya.

Tahap-tahap ini bekerja terus-menerus, menciptakan lingkungan interaktif di mana Anda dapat mengetik kode dan langsung melihat hasilnya. REPL Python menampilkan prompt utama >>> untuk pernyataan baru dan prompt sekunder ... untuk lanjutan baris, seperti di dalam loop atau definisi fungsi. Menggunakan contoh di bagian berikut, kita akan melihat cara kerja prompt ini.

Istilah "interactive shell," "interpreter session," dan "REPL" sering digunakan secara bergantian untuk menggambarkan lingkungan ini.

Mengapa Menggunakan Python REPL

Anda dapat menggunakan Python REPL untuk tugas-tugas berikut:

Menguji potongan kode dan fungsi pustaka dengan cepat: Anda dapat mencoba potongan kode kecil seketika tanpa membuat file skrip.

>>> import math
>>> math.sqrt(16)
4.0

Mengeksplorasi sintaks dan bereksperimen dengan ide: Anggap lingkungan REPL sebagai sandbox pribadi Anda. Anda dapat mencoba hal baru, seperti berbagai tipe data, operator, dan struktur alur kendali, untuk melihat tepat bagaimana perilakunya tanpa risiko merusak program yang lebih besar.

>>> [x**2 for x in range(5)]
[0, 1, 4, 9, 16]

Debug dan inspeksi variabel: Anda dapat menggunakan sesi REPL untuk memeriksa nilai dan status variabel Anda secara bertahap, sehingga lebih mudah memahami dan menelusuri masalah.

>>> x = 42
>>> type(x)
<class 'int'>
>>> x / 7
6.0

Gunakan sebagai kalkulator atau alat belajar: Hasil yang instan membuatnya berguna untuk melakukan perhitungan atau mempelajari dasar-dasar Python.

>>> 10 * (5 + 2)
70

Cara Memulai dan Keluar dari Sesi REPL

Untuk memulai sesi REPL Python, buka terminal atau command prompt Anda. Lalu ketik python atau python3, dan tekan Enter. Ini akan meluncurkan shell interaktif.

Anda juga dapat memulai sesi interaktif setelah menjalankan skrip menggunakan flag perintah -i. Misalnya, python -i calc_tax.py akan mengeksekusi calc_tax.py dan kemudian membawa Anda ke lingkungan REPL dengan variabel skrip tersebut masih tersimpan di memori.

Untuk keluar dari REPL, Anda dapat menggunakan beberapa perintah berikut:

  • Ketik quit() atau exit()  lalu tekan Enter.

  • Di Unix/Linux/macOS, tekan Ctrl+D.

  • Di Windows, tekan Ctrl+Z lalu tekan Enter.

Menjalankan Kode di Lingkungan REPL

Anda dapat menjalankan kode dalam sesi REPL Python dengan berbagai cara bergantung pada kompleksitasnya. Mari kita lihat jenis-jenis kode yang dapat dijalankan di REPL.

Pernyataan dan ekspresi sederhana

Lingkungan REPL dapat mengevaluasi ekspresi dan pernyataan sederhana secara instan. Misalnya, Anda dapat melakukan operasi aritmetika, menetapkan variabel, dan mengevaluasi ekspresi Boolean. Hasil sebuah ekspresi akan dicetak secara otomatis. 

>>> 5 + 4
9
>>> name = "Allan"
>>> name
'Allan'
>>> 10 > 5
True

Jika sebuah pernyataan, seperti penugasan variabel, tidak menghasilkan keluaran, interpreter REPL tidak akan mencetak apa pun. Jika Anda membuat kesalahan, REPL memberikan umpan balik langsung dengan memunculkan error.

Pernyataan majemuk

Lingkungan Python REPL juga menangani pernyataan majemuk multi-baris seperti pernyataan if dan loop for. REPL otomatis beralih ke prompt sekunder (...) setelah Anda mengetik baris yang diakhiri dengan titik dua (:) dan menekan Enter, yang menandakan REPL menunggu blok kode yang diindentasi.

Perlu dicatat bahwa Anda harus mengindentasi kode secara manual; lingkungan REPL tidak melakukan indentasi otomatis. Untuk menandai akhir pernyataan majemuk, tekan Enter pada baris kosong.

Lanjutan baris eksplisit dan implisit

Anda juga dapat menulis pernyataan multi-baris dalam sesi REPL Python menggunakan lanjutan baris. Lanjutan baris eksplisit menggunakan backslash \ di akhir baris untuk menunjukkan pernyataan berlanjut pada baris berikutnya. 

Lanjutan baris implisit terjadi secara otomatis ketika kode ditutup dalam tanda kurung (), tanda kurung siku [], atau kurung kurawal {}.

Mencetak vs mengevaluasi

Fitur pencetakan otomatis REPL hanya berfungsi pada ekspresi yang memiliki nilai kembalian. Misalnya, jika Anda memiliki list dan menambahkan item menggunakan temp.append(45), itu tidak akan menghasilkan keluaran. Untuk melihat list yang baru, Anda perlu secara eksplisit mengevaluasi variabel list pada baris berikutnya. Untuk fungsi yang mengembalikan None, Anda perlu menggunakan print() untuk melihat keluarannya.

Fitur REPL yang Bermanfaat

Lingkungan REPL Python memiliki beberapa fitur bawaan yang membuatnya lebih produktif untuk digunakan dan dipelajari. Saya akan membahas beberapa fitur yang saya anggap berguna.

Variabel khusus _

Garis bawah (_) adalah variabel khusus dalam sesi REPL yang menyimpan hasil dari ekspresi terakhir. Ini berguna ketika Anda ingin menggunakan kembali hasil tanpa mengetiknya ulang.

Pada contoh di bawah, _ menyimpan nilai 30, yang merupakan hasil dari ekspresi 6*5.

Alat introspeksi

Python menyediakan beberapa fungsi bawaan untuk mengeksplorasi objek dan lingkungan Anda secara interaktif. Tabel di bawah merangkum penggunaan masing-masing fungsi beserta contoh.

Alat

Tujuan

Contoh

dir()

Mengembalikan daftar semua nama (atribut dan metode) dalam cakupan lokal saat ini atau dari objek tertentu.

>>> dir() atau >>> dir(list)

help()

Menjalankan sistem bantuan bawaan untuk objek, modul, atau fungsi, menampilkan dokumentasinya (docstring).

>>> help(print) atau >>> help(math)

vars()

Mengembalikan atribut __dict__ dari sebuah objek (namespace-nya) sebagai dictionary. Fungsi ini berguna untuk menginspeksi objek.

>>> vars(my_object)

locals()

Mengembalikan dictionary yang merepresentasikan tabel simbol lokal saat ini (variabel dalam cakupan saat ini).

>>> locals()

globals()

Mengembalikan dictionary yang merepresentasikan tabel simbol global saat ini (variabel yang dapat diakses di mana saja).

>>> globals()

Riwayat kode dan tab completion

REPL mempercepat penulisan kode dengan fitur riwayat dan pelengkapan otomatis berikut:

  • Riwayat kode: Anda dapat menelusuri perintah yang dimasukkan sebelumnya menggunakan tombol Panah Atas dan Panah Bawah. Ini memungkinkan Anda menjalankan ulang, memodifikasi, atau memperbaiki baris sebelumnya dengan cepat.
  • Tab completion: Membantu melengkapi nama variabel, nama modul, dan atribut objek. Misalnya, mengetik impor lalu menekan Tab akan melengkapi menjadi import, atau mengetik str.. diikuti Tab akan menampilkan daftar metode string.

Pintasan keyboard

Berikut beberapa pintasan keyboard umum yang membuat navigasi di REPL lebih efisien.

Pintasan

Aksi

Ctrl+C

Menginterupsi perintah yang sedang berjalan, seperti loop yang panjang, dan memunculkan KeyboardInterrupt.

Ctrl+D (Unix)

Keluar dari REPL (sama dengan quit() atau exit())

Ctrl+Z + Enter (Win)

Keluar dari REPL

Ctrl+L

Membersihkan layar (seperti perintah clear), menjaga prompt saat ini di bagian atas.

Panah Atas / Bawah

Menelusuri riwayat perintah

Ctrl+A

Memindahkan kursor ke awal baris

Ctrl+E

Memindahkan kursor ke akhir baris

Ctrl+K

Menghapus dari posisi kursor hingga akhir baris

Ctrl+U

Menghapus dari posisi kursor hingga awal baris

Menyesuaikan REPL

REPL Python standar dapat disesuaikan agar sesuai dengan alur kerja dan preferensi Anda.

File startup

Atur variabel lingkungan PYTHONSTARTUP ke path skrip Python yang berjalan otomatis setiap kali REPL dimulai. Skrip ini dapat melakukan pra-import modul yang sering digunakan, mendefinisikan fungsi, atau mengubah string prompt.

Sebagai contoh, buat file ~/.pystartup dengan konten berikut:

import sys, os, math, random
print("Custom REPL ready. Pre-imported: sys, os, math, random")

# Change the prompt strings
import sys
sys.ps1 = ">>> "
sys.ps2 = "... "

Jika Anda menggunakan Windows, Anda dapat menyiapkan lingkungan menggunakan perintah berikut:

setx PYTHONSTARTUP "C:\path\to\pystartup.py"

Output kaya dengan rich

Anda dapat menggunakan pustaka rich untuk meningkatkan dan mewarnai output di REPL. Anda perlu memasang modul rich terlebih dahulu melalui pip.

pip install rich

Lalu aktifkan rich dengan import dan gunakan dalam sesi REPL Python Anda. Pada contoh di bawah, saya menggunakan pustaka tersebut untuk mencetak kata dengan warna font berbeda.

Output kaya dengan pustaka rich di Python REPL.

Contoh Perintah REPL untuk Dicoba

Seperti yang Anda lihat, sesi REPL Python mudah digunakan. Cobalah perintah berikut untuk melatih keterampilan Anda

Perintah

Tujuan

Keluaran/Deskripsi

dir(str)

Introspeksi: Melihat semua metode dan atribut yang tersedia pada tipe bawaan str (string).

['__add__', ..., 'capitalize', 'center', 'count', 'find', ...]

help(list.append)

Dokumentasi: Menampilkan docstring untuk metode append pada objek list, menjelaskan cara kerjanya.

Deskripsi terperinci tentang apa yang dilakukan list.append dan parameternya.

import math

Mengimpor modul: Memuat pustaka standar math.

Tidak ada keluaran (tetapi modul kini tersedia).

math.pi

Perhitungan: Mendapatkan nilai π.

3.141592653589793

math.sin(math.pi/2)

Perhitungan: Menghitung sin(π/2).

1.0

import random random.choice(['A', 'B', 'C'])

Uji cepat: Memilih item acak dari sebuah list.

'A' (atau 'B' atau 'C')

while True: pass Ctrl+C

Penanganan error/Keluar: Memulai loop tak hingga, lalu tekan Ctrl+C untuk menginterupsi dan keluar darinya.

^C Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyboardInterrupt

Keterbatasan Lingkungan REPL Standar

Meskipun lingkungan REPL Python standar sangat baik untuk tugas cepat, sering terasa terbatas dibandingkan IDE modern. Anda akan segera menyadari beberapa fitur yang hilang, termasuk:

  • Tidak ada penyorotan sintaks: Semua kode Anda tampil sebagai teks biasa. Ini menyulitkan untuk membedakan keyword, string, dan komentar secara visual, sehingga Anda harus membaca lebih saksama.
  • Auto-indentation minimal: Meskipun REPL menangani prompt lanjutan (...), Anda harus memasukkan indentasi yang benar secara manual untuk pernyataan majemuk, seperti blok if dan for.
  • Penyelesaian kode dasar: Tab completion bawaan berfungsi, tetapi tidak menawarkan saran kontekstual, dokumentasi inline, atau fuzzy matching seperti pada shell yang lebih canggih.
  • Penyuntingan multi-baris yang kurang baik: Mengedit blok kode kompleks dan multi-baris terasa merepotkan.
  • Setelah sebuah blok dikirim, blok tersebut tidak dapat dengan mudah diedit atau dipanggil kembali dari riwayat.

REPL Alternatif

Untuk mengatasi keterbatasan interpreter standar di atas, beberapa REPL dan lingkungan yang ditingkatkan, dibangun di atas model interaktif Python, menawarkan fitur tambahan yang meningkatkan produktivitas dan pembelajaran. Saya merekomendasikan mencoba salah satu dari berikut ini untuk menemukan yang sesuai dengan kebutuhan Anda.

  • IDLE: Lingkungan Python berbasis GUI sederhana yang dibundel dengan Python itu sendiri. Menawarkan penyorotan sintaks, editor terintegrasi, dan debugger, sehingga ramah bagi pemula.
  • IPython: REPL yang kuat dengan tab completion kaya, penyorotan sintaks, magic commands (perintah khusus yang diawali %), riwayat yang ekstensif, dan akses mudah ke perintah shell. Banyak digunakan di data science dan komputasi ilmiah.
  • bpython: REPL berbasis terminal dengan penyorotan sintaks inline, saran otomatis, dan akses cepat ke dokumentasi. Ringan namun menambah kegunaan secara signifikan dibanding REPL bawaan.
  • ptpython: Dirancang untuk pengguna berpengalaman, REPL tingkat lanjut ini menawarkan fitur seperti penyuntingan multi-baris yang sesungguhnya, penyorotan sintaks yang andal, dan bahkan dukungan mouse, memberi Anda kontrol lebih di terminal.
  • REPL daring: Lingkungan berbasis browser seperti Python.org’s interactive shell dan Python Morsels REPL sangat cocok untuk pengujian cepat, berbagi kode, atau berlatih saat bepergian.

Kesimpulan

Sesi REPL Python menyediakan lingkungan interaktif yang cepat untuk bereksperimen dengan kode, menjadikannya sangat berharga untuk pengujian, pembelajaran, dan mengeksplorasi ide. Menguasai fitur bawaannya memberi Anda alat yang kuat untuk tugas pemrograman sehari-hari. Untuk alur kerja yang lebih kompleks atau kegunaan yang lebih baik, mencoba REPL alternatif tingkat lanjut dapat semakin meningkatkan pengalaman koding interaktif.

Untuk pemahaman Python yang menyeluruh, Anda dapat belajar lebih lanjut dari jalur keterampilan Python Data Fundamentals dan Python Programming Fundamentals kami. Python Cheat Sheet for Beginners juga berguna saat Anda ingin sekilas melihat cara membagi list di Python.


Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Penulis teknis Data Science dengan pengalaman langsung dalam analitik data, business intelligence, dan data science. Saya menulis konten praktis berfokus industri tentang SQL, Python, Power BI, Databricks, dan rekayasa data, yang berakar pada pekerjaan analitik dunia nyata. Tulisan saya menjembatani kedalaman teknis dan dampak bisnis, membantu para profesional mengubah data menjadi keputusan yang meyakinkan.

FAQ

Bagaimana cara memulai Python REPL?

Buka terminal Anda dan ketik python atau python3, tergantung sistem Anda.

Bagaimana cara keluar dari REPL?

Ketik quit() atau exit(), atau gunakan Ctrl+D di Unix atau Ctrl+Z + Enter di Windows.

Apa perbedaan antara REPL dan menjalankan skrip?

REPL menjalankan kode secara interaktif baris demi baris, sedangkan skrip mengeksekusi semua kode dalam sebuah file sekaligus.

Apa itu variabel _ di REPL?

_ menyimpan hasil dari ekspresi terakhir yang dievaluasi sehingga Anda dapat menggunakannya kembali dengan cepat.

Apa itu prompt >>> dan ...?

>>> adalah prompt utama sedangkan ... adalah prompt sekunder untuk masukan multi-baris.

Topik
Python

Pelajari Python bersama DataCamp

Kursus

Python Tingkat Menengah

4 jam
1.4M
Tingkatkan keterampilan data science Anda dengan membuat visualisasi menggunakan Matplotlib dan memanipulasi DataFrame dengan pandas.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

Lihat SelengkapnyaLihat Selengkapnya