Pengenalan Julia#

Beberapa Cara Menjalankan Julia#

Kenapa Julia?#

Julia adalah bahasa pemrograman yang dikhususkan untuk mengimplementasikan algoritma-algoritma di bidang scientific computing. Sama halnya dengan pemrograman Python, Julia digolongkan ke dalam bahasa interpreter yang berarti syntax-nya tidak serumit bahasa compiler seperti C/C++. Perbedaan yang signifikan antara Python dan Julia adalah performa komputasinya. Seperti yang terlihat pada , Julia mengungguli Python pada operasi perkalian matriks-vektor dan semakin besar ukuran matriksnya maka selisihnya akan semakin jauh.

../_images/julia_vs_python_timing.png

Fig. 1 Operasi perkalian matriks-vektor Julia vs Python.#

Pengaturan Julia di PC Lokal#

  1. Download Julia pilih stable version dan sesuai dengan OS yang kita punya.

  2. Buka REPL Julia kemudian tekan ] dan ketik add IJulia untuk menginstall package IJulia.

  3. Untuk bekerja dengan jupyter notebook, di REPL ketik

using IJulia
notebook()
  1. Selesai 🥳.

REPL (Read-Evaluate-Print Loop)#

../_images/repl.png

Fig. 2 Command-Line Julia REPL.#

REPL di Julia merupakan command-line interaktif yang dapat menjalankan blok-blok code secara langsung. Secara default kita dapat menjalankan Julia seperti , untuk lebih jelasnya silahkan kunjungi link ini. Ada beberapa shortcut penting yang perlu diketahui dalam Pemrograman Julia, yaitu:

  • Tekan ] untuk masuk ke dalam mengatur (add/remove) package Julia; tekan backspace untuk kembali.

  • Tekan Ctrl-C untuk membatalkan eksekusi.

  • Tekan ? untuk masuk ke mode help.

  • Ada beberapa shortcut lain yang bisa dilihat di manualnya.

Jupyter Notebook / Lab#

Install IJulia kemudian jalankan IJulia.notebook() di REPL untuk masuk ke dalam Jupyter melalui web browser, seperti yang terlihat pada .

../_images/jupyter_lab.png

Fig. 3 Tampilan Jupyter Lab di Browser.#

  • Jupyter Lab terdiri dari baris-baris yang dinamakan cell. Kita dapat melakukan coding dan juga dapat menulis dengan Markdown di cell tersebut. Tekan Shift-Enter untuk mengeksekusi cell.

  • Klik tombol persegi 🔳 untuk memberhentikan eksekusi.

  • Gunakan include Pkg kemudian Pkg.add, dst. untuk menginstall package Julia.

Dasar-Dasar Julia#

Item/Reference

Contoh

Perintah Help pada fungsi

?func

Mencari Help

aprospos("topik")

Assign variabel

=

Comment

Dimulai dengan #

Pendefinisian fungsi

function foo(x, y) atau foo = (x, y) ->

Assign variabel

=

Simbol-Simbol

% ÷

Simbol LaTeX

\beta + Tab, x\_0 + Tab, z\hat + Tab

Input dan Output#

Contoh

Package

Integer

56, -2, 0

Float

56.2, -2.0, 0., NaN, Inf

Notasi saintifik

1.5432e-10

Bilangan kompleks

2+3im, complex(2,3)

Konstanta

pi, 𝜋, exp(1)

String

"string", 'ini'

Lihat hasil

@show

Cetak ke screen

print, println

Format cetak

@sprintf, @printf

Printf

Interpolasi string

"1 + 2 = $(1 + 2)"

Table

pretty_table

PrettyTables

Operator#

Contoh

Aritmatik

+ - * / ^

Broadcast untuk seluruh array

prefix dengan dot, atau @. di depannya

Test equality

== !=

Perbandingan

< <= > >=

Logika AND/OR/NOT

&& || !

Error#

Pesan

Kemungkinan penyebabnya

BoundsError

Mengakses elemen array yang tidak ada

MethodError

Kemungkinan menggunakan tipe atau nilai yang salah pada argumen fungsi

InexactError

Ilegal dalam Konversi tipe, mungkin bisa terjadi ketika memberikan nilai pada array

“Cannot juxtapose string literal”

Konstruksi string yang salah

Perubahan array yang tidak diharapkan

Gunakan copy daripada array reference

Salah norm

menggunakan norm ketika opnorm dibutuhkan

Iterasi#

Contoh

Predetermined number

for i in 1:100

Berdasarkan kondisi

‘while abs(x) > 1’

Comprehensions

[i+j for i in 1:3, j in 1:3]

Generator

sum(k for k in 1:10)

Vektor, Matriks, dan Array#

Contoh

Package

ones, zeros

ones(4), zeros(2,5)

Bangkitkan elemen random

rand(100), randn(3,1)

Menggabungkan (concate)

[1;2;3] kolom, [1 2 3] baris

Menampilkan dimensi

length, size

Mengeluarkan elemen diagonal

diag(A), diag(A, -1)

LinearAlgebra

Membangun diagonal dengan posisi yg ditentukan

diagm([1,2,3]), diagm(1=>[-1,-1])

LinearAlgebra

Mengakses elemen

x[2], A[1,4]

Mengakses blok

x[1:end-1], A[1:4,2:3]

Mengakses baris/kolom

A[4,:], A[:, 2:2:end]

Range dengan stepsize

0:4, 1:2:9, 5:-1:1

Range dengan length

range(a, b, length=10)

Perintah kopi variabel array

copy

Grafik#

Contoh

Package

Satu variabel

plot, scatter, hline, vline

Plots

Dua variabel

surface, contour, contourf

Plots

Jaringan

graphplot

GraphRecipes

Nilai matriks

spy

Plots

Nilai matriks

spy

Plots

Memodifikasi plot yang sudah ada

plot!, xlabel!

Plots

Layout

layout=(2,1), subplot=2

Plots

Skala log

yscale=:log10

Plots

Warna dan image

RGB(1,0,1), Gray.(img)

Images