REPL dan mode yang tersedia

Menggunakan REPL Julia beserta empat mode bawaannya, yaitu mode julia, mode help, mode shell, dan mode package.

Daftar isi

REPL (read-eval-print loop, siklus membaca ekspresi, mengevaluasinya, dan mencetak hasilnya) adalah antarmuka interaktif yang menjadi cara tercepat mencoba kode Julia. Topik ini membahas cara menjalankan REPL dan empat mode bawaannya, yaitu mode julia, mode help, mode shell, dan mode package, termasuk tombol yang memasuki dan meninggalkan setiap mode. Keempat mode itu menutupi hampir seluruh kebutuhan harian, sehingga sesi percobaan tidak perlu berpindah aplikasi.

Menjalankan dan mengakhiri sesi#

REPL dimulai dengan menjalankan perintah julia tanpa argumen dari terminal.

bash
# tidak-dijalankan
# memulai REPL julia dari terminal
julia

Saat dimulai, REPL mencetak banner yang memuat alamat dokumentasi dan versi yang sedang berjalan, kemudian menampilkan prompt julia> sebagai tanda siap menerima ekspresi. Angka versi pada banner menunjukkan biner yang digunakan, sehingga berguna untuk memastikan pemasangan sesuai dengan target jalur ini, yaitu seri 1.13.

text Transkrip REPL
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.13.3 (2026-10-25)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org release
|__/                   |

julia>

Setiap ekspresi yang diketik pada prompt julia> dievaluasi segera, dan hasilnya dicetak tanpa perintah tambahan. Sesi berikut memperlihatkan perhitungan sederhana, pengikatan variabel, pemanggilan fungsi, serta pemeriksaan tipe hasilnya.

text Transkrip REPL
julia> 2 + 3
5

julia> kata = "Halo"
"Halo"

julia> uppercase(kata)
"HALO"

julia> typeof(2 + 3)
Int64

julia> exit()

Perbandingan dengan skrip memperjelas peran REPL. Pada skrip, ekspresi yang berdiri sendiri tidak mencetak apa pun, sehingga fungsi println diperlukan untuk menampilkan nilai. REPL melakukan langkah pencetakan itu otomatis, dan itulah yang membuat mode ini nyaman untuk percobaan singkat.

julia Contoh: skrip yang setara dengan sesi REPL
# skrip tidak menampilkan nilai otomatis, sehingga println dibutuhkan
2 + 3
println(2 + 3)
println(typeof(2 + 3))
text Keluaran
5
Int64

Sesi diakhiri dengan mengetik exit() pada mode julia atau menekan Ctrl+D, yaitu tombol yang mengirim tanda akhir masukan. Terminal kemudian kembali ke prompt shell yang semula, dan seluruh nilai yang terikat selama sesi tidak dibawa ke sesi berikutnya.

Mode help untuk membaca dokumentasi#

Mengetik ? sebagai karakter pertama pada prompt kosong memindahkan REPL ke mode help, yang promptnya berubah menjadi help?>. Mode ini mencari docstring, yaitu dokumentasi yang melekat pada fungsi, tipe, atau macro (konstruk yang menerima kode sebagai argumennya). Baris search: menampilkan nama-nama yang mirip, sehingga nama yang tepat sering ditemukan meskipun ejaannya belum lengkap. Apabila nama yang dicari tidak ada, mode help menampilkan daftar nama terdekat sebagai saran. Menekan Enter pada prompt help yang masih kosong menampilkan teks sambutan berisi petunjuk singkat, termasuk contoh pencarian macro seperti ?@time.

text Transkrip REPL
help?>
search:

  Welcome to Julia 1.13.3. The full manual is available at

  https://docs.julialang.org

  as well as many great tutorials and learning resources:

  https://julialang.org/learning/

  For help on a specific function or macro, type ? followed by its name, e.g.
  ?cos, or ?@time, and press enter. Type ; to enter shell mode, ] to enter
  package mode.

  To exit the interactive session, type CTRL-D (press the control key together
  with the d key), or type exit().

Tanda tanya juga dapat ditulis langsung di depan nama yang dicari, misalnya ?typeof, karena hasilnya berakhir pada mode help yang sama. Pada transkrip berikut, typeof diketik pada prompt help lalu dokumentasinya ditampilkan.

text Transkrip REPL
help?> typeof
search: typeof typejoin typemin typemax hypot Type nameof eof sizeof

  typeof(x)

  Get the concrete type of x.

  See also eltype.

  Examples
  ≡≡≡≡≡≡≡≡

  julia> a = 1//2;

  julia> typeof(a)
  Rational{Int64}

  julia> M = [1 2; 3.5 4];

  julia> typeof(M)
  Matrix{Float64} (alias for Array{Float64, 2})

Teks bantuan typeof memuat definisi singkat, rujukan fungsi terkait, dan contoh penggunaan yang ditulis sebagai sesi REPL, termasuk contoh matriks yang menghasilkan Matrix{Float64}. Menekan backspace pada prompt kosong mengembalikan REPL ke mode julia, sehingga mencari dokumentasi tidak pernah meninggalkan sesi yang sedang berjalan.

Mode shell untuk perintah terminal#

Mengetik ; pada prompt kosong memasuki mode shell dengan prompt shell>. Baris pada mode ini diteruskan ke shell sistem, yaitu bash pada kebanyakan instalasi Linux, sehingga perintah terminal dapat dijalankan tanpa meninggalkan Julia. Prompt shell> menandakan baris tidak dievaluasi sebagai kode Julia, sehingga sintaks shell berlaku apa adanya pada baris tersebut.

text Transkrip REPL
shell> echo "Halo dari shell mode"
Halo dari shell mode

Keluaran perintah langsung mengalir ke terminal, bukan ditampung menjadi nilai yang dapat digunakan pada baris berikutnya. Perintah dijalankan dari direktori kerja yang sedang digunakan sesi Julia, sehingga perintah seperti ls menampilkan isi direktori tempat Julia dimulai. Kebiasaan yang baik adalah membatasi mode shell untuk pemeriksaan cepat, kemudian segera kembali ke mode julia dengan menekan backspace pada prompt kosong. Mode ini juga menjadi jalan pintas ketika sintaks Julia untuk suatu perintah belum diketahui, misalnya menyalin berkas dengan cp. Perintah yang belum selesai dijalankan dapat dihentikan dengan Ctrl+C, dan prompt shell tetap tersedia untuk perintah berikutnya.

Mode package untuk Pkg#

Mengetik ] pada prompt kosong memasuki mode package dengan prompt (@v1.13) pkg>. Nama di dalam tanda kurung, yaitu @v1.13, adalah lingkungan (environment) yang sedang aktif, yakni kumpulan package yang terpasang untuk versi 1.13. Mode ini menjalankan perintah Pkg seperti status, add, dan remove untuk mengelola package. Perintah status aman dijalankan kapan saja karena hanya membaca keadaan lingkungan, sedangkan add mengunduh package dari registry, yaitu indeks package publik yang dikelola komunitas, sehingga membutuhkan koneksi jaringan.

text Transkrip REPL
(@v1.13) pkg> status
Status `~/my-project/tools/depot/environments/v1.13/Project.toml` (empty project)

Keluaran status menunjukkan berkas Project.toml milik lingkungan aktif beserta keadaannya sebagai proyek kosong. Jalurnya mengikuti depot, yaitu direktori tempat Julia menyimpan lingkungan dan package, sehingga jalur pada mesin masing-masing dapat berbeda dari transkrip di atas. Daftar seluruh perintah Pkg dapat dilihat dengan mengetik ? pada prompt pkg, dan dokumentasi lengkapnya tersedia di pkgdocs.julialang.org.

Berpindah antarmode#

Tombol pindah mode hanya berlaku sebagai karakter pertama pada prompt kosong. Apabila tombol tersebut diketik di tengah baris yang sudah berisi teks, karakternya diperlakukan sebagai bagian dari ekspresi dan tidak memindahkan mode. Hubungan keempat mode dirangkum pada diagram berikut.

mode helphelp?>mode shellshell>mode package(@v1.13) pkg>mode juliajulia>?;]Tombol ? ; ] memasuki mode, backspace pada prompt kosong kembali ke mode julia.
Empat mode REPL dan tombol pindahnya
TombolAkibatPrompt setelahnya
?Masuk mode helphelp?>
;Masuk mode shellshell>
]Masuk mode package(@v1.13) pkg>
backspaceKembali ke mode julia dari mode mana punjulia>
Ctrl+CMembatalkan baris yang sedang diketik dan kembali ke mode juliajulia>
Ctrl+D atau exit()Mengakhiri sesi REPLkeluar

Setiap mode lain kembali ke mode julia melalui backspace pada prompt kosong atau melalui Ctrl+C. Hanya mode julia yang mengevaluasi kode Julia, sehingga salah ketik pada mode help, shell, atau package tidak pernah mengeksekusi program yang sedang ditulis. Riwayat masukan tersimpan per mode dan dapat dipanggil dengan tombol panah atas, sehingga perintah yang panjang tidak perlu diketik ulang.

Kesalahan umum#

Kesalahan pertama adalah mengetik exit() pada mode shell atau mode package. Di dalam mode shell, baris diteruskan ke shell sistem sehingga exit() dianggap perintah yang tidak dikenal. Pesan kesalahannya berasal dari bash, bukan dari Julia, sehingga bentuknya berbeda dari pesan error Julia pada umumnya.

text Transkrip REPL
shell> exit()
/bin/bash: line 1: exit(): command not found

Di dalam mode package, perintah yang tidak dikenal ditolak oleh Pkg dengan pesan error, karena exit() bukan nama perintah Pkg.

text Transkrip REPL
(@v1.13) pkg> exit()
ERROR: `exit()` is not a recognized command. Type ? for help with available commands

Perbaikannya sama untuk keduanya, yaitu kembali ke mode julia terlebih dahulu dengan backspace pada prompt kosong, kemudian mengetik exit().

Kesalahan kedua adalah menempelkan tombol mode pada baris yang sudah berisi teks. Ekspresi seperti 2 + 3? ditolak Julia dengan error sintaks karena ? pada baris itu dianggap bagian dari ekspresi, sedangkan pergantian mode hanya terjadi pada karakter pertama prompt kosong. Kosongkan baris dengan Ctrl+C bila perlu, lalu ketik tombol modenya sebelum menulis apa pun.

Kesalahan ketiga adalah menganggap keluar dari mode sama dengan keluar dari REPL. Backspace hanya berpindah mode, sedangkan exit() pada mode julia atau Ctrl+D yang benar-benar mengakhiri sesi. Membedakan keduanya mencegah sesi tertinggal dalam keadaan masih berjalan tanpa disadari.

Ringkasan#

  • REPL mengevaluasi ekspresi satu per satu dan mencetak hasilnya otomatis, sedangkan skrip membutuhkan println.
  • Empat mode bawaan REPL adalah mode julia untuk kode, mode help untuk dokumentasi, mode shell untuk perintah terminal, dan mode package untuk Pkg.
  • Mode dimasuki dengan satu tombol pada prompt kosong, yaitu ?, ;, atau ], dan backspace atau Ctrl+C mengembalikan ke mode julia.
  • Sesi diakhiri dengan exit() pada mode julia atau Ctrl+D.

Referensi#