Anda di halaman 1dari 42

Bab 2

Pengenalan Bahasa
Python

I have this hope that there is a better way. Higher-


level tools that actually let you see the structure of
the software more clearly will be of tremendous va-
lue.
– Python’s creator, Guido van Rossum

Bahasa pemrograman komputer sudah banyak di-


ciptakan dan dikembangkan. Sudah pasti setiap ba-
hasa pemrograman memiliki kelebihan serta kekura-
ngannya. Menguasai salah satu bahasa permrograman
telah menjadi salah satu syarat keahlian bagi mahasis-
wa, khususnya pada bidang sains dan teknik.
Kode program dengan bahasa pemrograman terten-
tu diterjemahkan ke bentuk bahasa mesin yang bisa
dimengerti oleh komputer. Cara menerjemahkan kode
7 382
program ini dibagi dua jenis atau cara: (1) kode pro-
gram dikompilasi atau diubah semua ke bentuk bahasa
mesin seperti bahasa C dan C++, dan (2) kode pro-
gram diterjemahkan langsung atau diinterpretasikan
langsung tanpa harus diubah bentuknya seperti baha-
sa Javascript, Bash, Mathematica, R, Matlab, Maxima
dan Python.
Bahasa Python merupakan bahasa pemrograman
tingkat tinggi yang mudah digunakan dan memili-
ki cara penulisan atau syntax yang sederhana, mu-
dah ditulis dan dibaca (dalam bahasa Inggris). Kode
bahasa Python berupa script, perintah-perintah atau
pernyataan-pernyataan, yang tidak memerlukan kom-
pilasi sehingga bisa langsung dijalankan. Hal ini mem-
buat penulisan kode program dapat lebih cepat.
Program Python merupakan sebuah interpreter, se-
perti program Matlab atau Octave, R, Mathemati-
ca dan Maxima, dapat menerjemahkan kode Python.
Program Python juga menyediakan fasilitas develo-
pment environment IDLE. Pada environment ini ki-
ta dapat menjalankan atau mengevaluasi perintah-
perintah atau kode python secara langsung atau di-
sebut REPL (Read-Evaluate-Print-Loop).
Pada saat ini ada tersedia dua versi Python: Python
2 dan Python 3. Versi terbaru adalah 2.7.18 dan 3.8.5.
Python 3 direkomendasikan untuk digunakan. Python
2 tersedia sehingga program-program lama tetap da-
8 382
I Wayan Sudiarta Metode Numerik

pat dijalankan. Kode program untuk Python 2 tidak


didukung oleh Python 3. Pada buku ini semua kode
program ditulis dengan Python 3.
Dokumentasi lengkap beserta tutorial dan contoh-
contoh untuk bahasa Python 3 dapat dibaca di https:
//docs.python.org/3/

2.1 Instalasi dan Penggunaan Python


Kita dapat mengunduh python di https://www.
python.org/ dan kemudian instalasi dilakukan seperti
program biasanya. Versi terbaru pada saat penulisan
buku ini adalah Python 3.8.5 https://www.python.
org/downloads/release/python-385/.
Terdapat empat cara untuk menjalankan kode pro-
gram Python:

1. Menggunakan Python Interpreter

2. Menggunakan aplikasi Python IDLE

3. Menggunakan Python pada Command Prompt.

4. Menggunakan Jupyter Notebook

Cara 1: Python Interpreter


Setelah kita menjalankan program Python, kita men-
jalankan Python Interpreter yang akan menerjemahk-
an kode program sehingga dapat dijalankan. Python
menyediakan jendela (command prompt) tempat kita
9 382
menuliskan perintah-perintah. Pada jendela ini akan
muncul tanda >>> yang menandakan bahwa Python
Intepreter sudah siap menerima input. Perhatikan
Gambar 2.1 . Untuk keluar dari program Python de-
ngan tekan Ctrl D+ atau dengan perintah quit()
atau exit().

Gambar 2.1: Sebuah tampilan program Python yang


sudah siap menerima perintah.

Cara 2: Aplikasi IDLE


Kita dapat membuat program Python dengan apli-
kasi IDLE (lihat Gambar 2.2). Untuk membuat ko-
de program baru kita klik File > New File (atau
Ctrl + N) dan akan muncul jendela editor tempat me-
nulis kode program (lihat contoh Gambar 2.3). Sete-
lah menulis kode, kita menyimpan file kode dengan
klik File > Save atau Ctrl + S. Kita menggunakan
10 382
I Wayan Sudiarta Metode Numerik

tambahan ekstensi .py untuk kode Python. Kita ke-


mudian dapat menjalankan kode python dengan klik
Run > Run Module atau tekan F5.
Sebagai latihan, kita dapat mencoba kode berikut
ini.

s = 0
for n in range(1, 1001):
s += n

print("Jumlah angka dari 1 sampai 1000 = ", s)

IDLE memiliki kelebihan dibandingkan dengan


Python command line yaitu kode highlighting yang
berarti kode diberi warna sesuai tipe seperti ditun-
jukkan pada Gambar 2.3 dan autocompletion sehingga
penulisan kode bisa lebih cepat.

Cara 3: Windows Command Prompt


Kita terlebih dahulu menjalankan pada Windows
Command Line dengan mengetik perintah cmd pada
kotak search setelah klik tombol start Windows. Ki-
ta dapat menulis kode program dengan Notepad++
atau editor teks yang lain. Sebagai contoh kita me-
nyimpan kode program di folder D:\BelajarPython
dengan nama contoh.py. Kita klik tombol Start Win-
dows, kemudian ketik cmd pada search form. Akan
muncul jendela command prompt. Pertama kita pin-
11 382
Gambar 2.2: Sebuah tampilan program Python IDLE.

Gambar 2.3: Sebuah tampilan program editor IDLE .

dah terlebih dahulu ke drive D: dengan ketik d:, ke-


mudian pindah direktori atau folder dengan menulis
cd BelajarPython. Kemudian kita menjalankan ko-
de Python dengan perintah
12 382
I Wayan Sudiarta Metode Numerik

python contoh.py

atau pada sistem operasi Windows dapat juga meng-


unakan perintah py.

py contoh.py

Cara 4
Perintah-perintah atau pernyataan-pernyataan de-
ngan bahasa Python dapat langsung dieksekusi di sel
pada sebuah dokumen interaktif Jupyter Notebook.
Kode dan hasilnya dapat langsung ditampilkan dalam
satu dokumen membuat Jupyter Notebook menjadi pi-
lihan dalam penerapan metode numerik pada buku ini.
Penjelasan lebih detil tentang penggunaan Jupyter No-
tebook diberikan pada Bab 3.

2.2 Program Sederhana Hello World


Penggunaan bahasa Python yang paling sederhana
adalah pada contoh program hello world berikut ini.

print("Hello World!")

Untuk menampilkan kalimat atau string "Hello Wor-


ld!", kita hanya menggunakan satu perintah saja seper-
ti kode di atas. Pustaka umum yang dibutuhkan untuk
menjalankan kode program sudah disediakan secara
automatis tanpa perlu menambahkan secara eksplisit.
13 382
2.3 Python Sebagai Kalkulator
Karena program Python merupakan interpreter, maka
program Python dapat digunakan sebagai kalkulator.
Sebagai contoh berikut ini. Ingat bahwa tanda >>>
tidak diketik hanya menandakan Python Interpreter.

>>> 3*2 + 5
11
>>> a = 10.0
>>> 2*a + 1/4
20.25
>>> from math import *
>>> pi
3.141592653589793
>>> sin(pi/3)
0.8660254037844386
>>> log(10)
2.302585092994046
>>>

>>> 5 ** 3 # Pangkat 5^3


125
>>> 15 / 4 # Pembagian returns a float
3.75
>>> 15 // 4 # Pembagian dengan pemotongan
3
14 382
I Wayan Sudiarta Metode Numerik

Operasi matematis yang biasa digunakan adalah


+ - * / // dan **. Operasi// merupakan pembagi-
an bilangan bulat, dan operasi ** adalah operasi pang-
kat.

a = 3//2 # bernilai 1
b = 2**3 # 2^3 = 8

Simbol % digunakan untuk operasi modulo mod. Se-


bagai contoh m%n bernilai sisa dari m dibagi dengan n.
Perhatikan contoh berikut ini.

z = 5%2 # 5 mod 2 = 1

Selain itu, seperti bahasa pemrograman C, Python


juga memberikan penulisan pendek untuk beberapa
operasi matematika seperti berikut ini.

a += b # artinya x = x + y
a -= b # artinya x = x - y
a *= b # artinya x = x * y
a /= b # artinya x = x / y

Bilangan Kompleks
Python menyediakan pula fasilitas operasi bi-
langan kompleks. Kita menggunakan fungsi
complex(...,...) atau complex('...' untuk me-
nyatakan bilangan kompleks. Sebagai contoh
15 382
z = complex(4,9) atau z = complex('4 + 9j') un-
tuk z = 4 + 9i atau z = 4 + 9j yang bergantung pada
notasi untuk bilangan imajiner. Jika input fungsi di-
kosongkan berarti input bernilai nol. Python membe-
rikan fasilitas untuk bilangan imajiner dengan simbol
j atau J. Selain menggunakan fungsi complex, kita
juga bisa langsung membuat bilangan kompleks de-
ngan z = 5 + 2j atau z = 5 + 2J. Bilangan kom-
pleks pada Python memiliki presisi double precision
floating point.

>>> 1j # bilangan imajiner


1j
>>> 1J # bilangan imajiner dengan huruf J.
1j
>>> 1j * 1j # Operasi perkalian bilangan kompleks
(-1+0j)
z1 = complex(1, 6) # 1 + 6j
z2 = complex(1) # 1 + 0j
z3 = complex() # 0j
z4 = complex('1+6j') # 1 + 6j
z5 = 1 + 6j

Bagian riil (real), imajiner (imag), absolut, serta


konjugat dapat diperoleh dengan cara berikut ini.

z = complex(5,1)
# bagian riil dan imajiner
x = z.real
16 382
I Wayan Sudiarta Metode Numerik

y = z.imag

# konjugat z
z2 = z.conjugate()

# absolute
r = abs(z)

Fungsi-fungsi matematis untuk bilangan kompleks


tersedia pada modul cmath. Perhatikan contoh beri-
kut ini untuk fungsi exp.

# module cmath
import cmath

z = 3 + 7j
z2 = cmath.exp(z)

2.4 Komentar
Komentar di dalam kode program tidak dijalankan dan
diabaikan oleh Python. Untuk menandakan sebuah
baris adalah komentar tanda pagar (hash) # digunak-
an. Apa saja setelah tanda # dianggap komentar.

# Nilai diskriminan
d = b*b - 4*a*c

17 382
f = 15.0 # gaya yang bekerja
m = 2.0 # massa benda
a = f/m # percepatan benda

Untuk komentar yang terdiri dari banyak baris tan-


da """ (triple quotes)

"""
Program sederhana hello.py
Program mencetak kata 'Saya Bisa'
pada layar
"""
print("Saya Bisa")

2.5 Tipe Data


Tipe data utama yang tersedia pada Python adalah
integer, float dan string. Tipe data dari variabel dise-
suaikan dengan nilai yang diberikan.

a = 6
b = 1.2345
c = 'I am string'
d = "saya string"

2.6 Penggunaan Modul, Fungsi import


Terdapat beberapa cara untuk menggunakan modul
pada Python. Modul adalah tambahan fungsi-fungsi
18 382
I Wayan Sudiarta Metode Numerik

atau seperti pustaka atau library pada pemrograman


C atau lainnya.

Cara Pertama
Kita dapat secara langsung memasukkan modul de-
ngan perintah import NamaModul. Sebagai contoh
import math . Fungsi-fungsi atau variabel-variabel
dalam modul dapat diakses dengan penggunaan tanda
titik seperti pada bahasa C, C++ atau Java. Perha-
tikan contoh berikut ini.

# import modul math (matematika)


import math

# menggunakan modul math


r = 2.0
theta = math.pi/5
x = r*math.cos(theta)
y = r*math.sin(theta)

Cara Kedua
Ada kemungkinan nama modul agak panjang, sehing-
ga akan lebih memudahkan menggunakan singkatan
dari nama modul tersebut. Python memberikan cara
menyingkat atau mengganti dengan nama lain dengan
tambahan perintah as NamaSingkat. Sebagai con-
tohnya import math as m.
19 382
# import modul math dengan alias m
import math as m

# menggunakan modul math dengan m


r = 2.0
theta = m.pi/5
x = r*m.cos(theta)
y = r*m.sin(theta)

Cara Ketiga
Memasukan satu modul mungkin sangat berguna,
tetapi akankah lebih efisien jika kita memasukk-
an fungsi-fungsi yang dibutuhkan saja. Selain
itu, kita ingin menggunakan secara langsung fung-
si yang ada pada modul tanpa menggunakan refe-
rensi objek atau modul. Format perintahnya ada-
lah from modul import fungsi1, fungsi 2. Con-
toh cara memasukkan fungsi dari modul tertentu da-
pat dilihat pada penggunaannya berikut ini.

# import modul math untuk pi, sin, cos


from math import pi, sin, cos

# menggunakan fungsi dan variabel


r = 2.0
theta = pi/5
20 382
I Wayan Sudiarta Metode Numerik

x = r*cos(theta)
y = r*sin(theta)

Jika ingin menambahkan seluruh fungsi yang ada


pada modul, kita menggunakan tanda bintang "*" se-
perti contoh berikut ini. Tanda "*" berarti semua.

# import modul math semua


from math import *

# menggunakan fungsi2 math


r = 2.0
theta = pi/5
x = r*cos(theta)
y = r*sin(theta)

2.7 Fungsi input


Pada saat perhitungan atau jalannya program, kita
dapat meminta input dari keyboard dengan menggu-
nakan perintah input.

from math import pi

# input dari keyboard nilai r


r = float(input("Masukkan nilai r:"))

21 382
# hitung luas lingkaran
luas = pi*(r**2)

print("Luas lingkaran adalah ", luas)

2.8 Fungsi print


Perintah untuk menampilkan output pada layar ada-
lah fungsi print. Perhatikan penggunaannya pada
contoh berikut ini.

print(<ekpresi>, <ekspresi>, ...)

person = input('Enter your name: ')


print('Hello ', person, '!', sep='')
print('Hello ', person, '!', end='\n')

2.9 Indentasi
Pada bahasa C, C++ dan Java, tanda kurung kurawal
{ ... } digunakan untuk menggabungkan banyak ba-
ris perintah menjadi satu kesatuan. Dalam penulisan-
nya untuk mempermudah membaca program kita bia-
sanya menambahkan indentasi tab atau spasi. Bahasa
C, C++ dan Java tidak mengharuskan hal ini. Su-
paya memaksa programer menulis kode dengan baik,
bahasa Python tidak menggunakan tanda kurung ku-
rawal dan menggunakan indentasi untuk menyatukan
22 382
I Wayan Sudiarta Metode Numerik

perintah-perintah. Perlu diingat bahwa indentasi yang


digunakan adalah berupa spasi. Indentasi dengan Tab
tidak bisa digunakan. Banyaknya spasi yang digunak-
an tidak menjadi masalah asalkan semua perintah me-
miliki indentasi yang sama dalam satu kesatuan. Su-
paya mudah membaca kode program, jumlah spasi un-
tuk indentasi disarankan menggunakan 4 spasi seperti
contoh berikut ini.

for i in range(5):
print("Saya bisa Python\n")

Mari kita perhatikan contoh lain berikut ini

for i in range(3):
print("Perintah 1")
print("Perintah 2")

Kode ini akan menghasilkan

Perintah 1
Perintah 2
Perintah 1
Perintah 2
Perintah 1
Perintah 2
23 382
Jika kita ubah indentasinya, dengan menghilangkan
indentasi pada baris kedua setelah for seperti berikut
ini.

for i in range(3):
print("Perintah 1")
print("Perintah 2")

Kode ini menampilkan

Perintah 1
Perintah 1
Perintah 1
Perintah 2

Jika beda jumlah spasi untuk indentasi akan


menghasilkan kesalahan "Indentation Error". Cobalah
contoh berikut ini.

for i in range(3):
print("Perintah 1")
print("Perintah 2")

Kode ini akan menghasilkan kesalahan indentasi.

IndentationError: unindent does not match


any outer indentation level
24 382
I Wayan Sudiarta Metode Numerik

2.10 Variabel
Dalam bahasa Python, kita tidak perlu mendeklara-
si variabel terlebih dahulu sebelum variabel tersebut
digunakan. Kita bisa langsung membuat variabel de-
ngan cara memberikan nilai seperti berikut ini.

x = 1
y = 2.5
z = x*y
nama = "Schrodinger"

Tipe data pada variabel tidak ditentukan tetapi di-


mengerti melalui nilai yang diberikan.

2.11 List
Dalam bahasa Python, list atau daftar merupakan ar-
ray dalam bahasa C atau C++. List dapat mengan-
dung tipe data apa saja. Tanda [ ] digunakan untuk
menandakan list. Setiap elemen dalam list dipisahkan
dengan tanda koma. Mari perhatikan contoh berikut
ini.

angka = [1, 2, 3, 4, 5]
hari = ["Senin", "Selasa", "Rabu", "Kamis",
"Jumat", "Sabtu", "Minggu"]

Untuk mengakses elemen pada list seperti bahasa C


dengan menggunakan indeks dimulai indeks nol dan
tanda kurung [\ ].
25 382
angka[0] # elemen pertama di list angka
angka[2] # elemen ketiga di list angka

Pada bahasa Python, indeks dapat bernilai negatif


yang berarti indeks dari akhir list seperti contoh beri-
kut ini.

angka[-1] # elemen terakhir pada list angka


angka[-2] # elemen kedua dari akhir list angka

2.12 Tuple
Sebuah tuple merupakan sebuah List atau himpunan
elemen-elemen yang tidak dapat diubah (unchangea-
ble). Untuk Tuple digunakan tanda kurang ( ) untuk
membuat suatu Tuple seperti contoh beriku ini.

angka = (1, 2, 3)
bulan = ("Januari", "Februari", "Maret")

Untuk mengakses elemen pada tuple dilakukan de-


ngan cara yang sama dengan list yaitu dengan indeks
dan tanda kurung [\ ].

2.13 Perulangan
for
Tipe data yang memiliki elemen didalamnya seperti
list atau array merupakan tipe data yang dapat diite-
rasikan atau iterable. Ini berarti juga bahwa kita bisa
26 382
I Wayan Sudiarta Metode Numerik

melakukan iterasi dengan elemen pada list atau array.


Perhatikan contoh berikut ini. Angka merupakan ar-
ray yang berisi angka 1...5. Kita dapat melakukan
iterasi dengan mengunakan elemen pada array. Pada
contoh ini kita menggunakan variabel i sebagai ele-
men pada array, kemudian diiterasi untuk semua ele-
men pada list. Perlu diingat juga tanda ":" dalam loop
for.

# list angka 1 ... 5


angka = [1, 2, 3, 4, 5]

for i in angka:
print(i)

Kode ini menghasilkan luaran berikut ini.

1
2
3
4
5

Iterasi juga tidak harus pada elemen yang berupa


bilangan. Tipe data elemen juga dapat berupa apa
saja seperti contoh berikut ini. Kita menggunakan
variabel s sebagai elemen pada list hari.
27 382
# list kata hari dalam seminggu
hari = ["Senin", "Selasa", "Rabu", "Kamis",
"Jumat", "Sabtu", "Minggu"]

# iterasi
for s in hari:
print(s)

Proses yang terjadi hampir sama seperti kode sebe-


lumnya, kode ini menghasilkan luaran:

Senin
Selasa
Rabu
Kamis
Jumat
Sabtu
Minggu

Sebuah string adalah sebuah array atau list huruf-


huruf. Jadi tipe string juga merupakan tipe data yang
dapat diiterasikan. Perhatikan contoh ini berikut ini.

nama = "EINSTEIN"

for c in nama:
print(c)

28 382
I Wayan Sudiarta Metode Numerik

Kode ini menghasilkan luaran:

E
I
N
S
T
E
I
N

Perhatikan apa yang dihasilkan kode berikut ini.

angka = [2, 4, 6, 8]
pengali = 1
for n in angka:
p = pengali * n
print('Hasilnya :', p)

Fungsi range()
Sebuah bilangan bulat, sebut saja dengan variabel M,
karena terdiri dari satu elemen saja, bukan merupak-
an tipe data yang iterable atau dapat diiterasikan. Un-
tuk membuat tipe data yang iterable, kita menggunak-
an fungsi range(M). Perhatikan kode berikut ini.

M = 5
for i in range(M):
print(i)
29 382
Fungsi range(M) mengandung bilangan dari 0 sam-
pai M-1. Sehingga ada sebanyak M iterasi. Per-
lu diingat bahwa bilangan bulat M tidak ada dalam
range(M). Pada kasus ini M = 5, fungsi range(M)
mengandung bilangan 0, 1, 2, 3 and 4 (ada 5 jum-
lah bilangannya). Untuk mendapatkan iterasi bilanga
1 sampai 5 menggunakan range(1, 6).
Sebagai contoh, cobalah kode berikut ini.

for i in 3:
print(i)

Kode ini akan menghasilkan output "’int’ object is


not iterable".
Untuk mendapatkan iterasi dengan penambahan
yang berbeda, kita menggunakan range(a,b,d) de-
ngan a sebagai batas awal, b sebagai batas akhir dan
d sebagai penambahan. Cobalah kode Python di ba-
wah ini.

x = list(range(4))
# berarti list [0, 1, 2, 3]

x = list(range(4,10))
# berarti list [4, 5, 6, 7, 8, 9]

x = list(range(2,10,2))
30 382
I Wayan Sudiarta Metode Numerik

# berarti list [2, 4, 6, 8]

2.14 Array Dimensi Dua


Pemrograman python tidak secara eksplisit membe-
rikan fasilitas untuk pembuatan array. Tetapi Python
memberikan fasilitas list yang dapat memberikan du-
kungan untuk array. Cobalah dua cara membuat array
dimensi dua berikut ini.

n = 3
m = 4
# Membuat array nol 3x4
# Cara 1
a = [[0] * m for i in range(n)]

# Cara 2
b = [[0 for j in range(m)] for i in range(n)]

# Penggunaan array
a[2][2] = 100

print(a)
print(b)
31 382
2.15 Modul NumPy
Modul NumPy merupakan modul untuk komputasi
yang menyediakan fasilitas array N-dimension, aljabar
linier, transformasi Fourier, bilangan acak dan banyak
lagi yang lain. Contoh penggunaan NumPy sebagai
berikut.

import numpy as np
a = np.array([1,3,5,7,9,11,13,15]) # array 1D
b = np.array([(1,2), (3,4)]) # array 2D
c = np.array( [ [1,2,3], [4,5,6] ], dtype=complex )
d = np.zeros( (3,4) ) # array 2D zeros
f = np.ones( (3,4) ) # array 2D ones
g = np.zeros( (3,4,5) ) # array 3D zeros

# Cetak array
print(a)
print(b)
print(f)

# Akses array
a[2:5]
b[1,2]
f[1:2,3]
g[2,2,3]
d[:,2]

32 382
I Wayan Sudiarta Metode Numerik

Perhatikan bahwa modul NumPy memberikan fitur


akses array yang berbeda dengan menggunakan tanda
koma untuk memisahkan antar indeks antar dimensi.
Seperti pada bahasa Matlab tanda ":" menyatakan se-
mua dan "a:b" berarti indeks dari a sampai b.

Fungsi Length (len)


Kita dapat mengetahui panjang sebuah string atau ar-
ray dengan menggunakan perintah len.

nama = "Einstein"
print(len(nama))

nama2 = ["Budi", "Indah", "Mega", "Agus"]


print(len(nama2))

2.16 Percabangan if
Contoh penggunakan perintah if diberikan di bawah
ini.

nama = "Joe"

if len(nama) > 3:
print("Nama Bagus,")
print(nama)
else:
print("Nama Pendek,")
print(nama)
33 382
x = 5
if x > 0:
print("x lebih besar dari nol")
elif x == 0:
print("x sama dengan nol")
else:
print("x lebih kecil dari nol)

2.17 Membuat Fungsi


Selain fungsi-fungsi yang tersedia pada Python dan
modul-modulnya, kita dapat membuat juga dapat
membuat fungsi. Contoh penggunaan dapat dilihat
pada kode berikut ini.

from math import *

# membuat fungsi jarak(x,y)


def jarak(x, y):
return sqrt(x**2 + y**2)

a = 2
b = 5
print(jarak(a,b))

34 382
I Wayan Sudiarta Metode Numerik

2.18 Input dan Output File


Python juga memberikan cara untuk menulis, mem-
baca dan menambahkan file teks. Kita menggunakan
perintah open untuk membuka file. Tambahan tipe
atau mode buka file yaitu "r" untuk membaca, "w" un-
tuk menulis dan "a" untuk menambahkan teks pada
file.

# Membaca file
f = open('input.txt', "r")
txt = f.read()
f.closed

# Menulis pada File


f = open("output.txt", "w")
f.write("This is my file!")
f.close()

# Append pada File


f = open("append.txt", "a")
f.write("Tambahkan teks pada file!")
f.close()

2.19 Modul MatPlotLib


Pada bagian ini, diberikan sebuah contoh membuat
grafik sederhana dengan modul mathplotlib. Contoh-
35 382
contoh lain akan diberikan pada bab-bab selanjutnya.

# import modul matplotlib


import matplotlib.pyplot as plt
from math import cos, pi

# Membuat data x dan y


x = [(2 * pi * t) / 40 for t in range(80)]
y = [cos(theta) for theta in x]

# plot data
plt.plot(x, y)
plt.show()

Dengan menggunakan modul NumPy dapat mem-


permudah membuat data atau array:

import numpy as np
import matplotlib.pyplot as plt

X = np.linspace(0, 4 * np.pi, 100)


Y1 = np.sin(X)
Y2 = np.cos(X)

plt.plot(X, Y1)
plt.plot(X, Y2)
plt.show()
36 382
I Wayan Sudiarta Metode Numerik

2.20 Instalasi Modul


Python menyediakan fasilitas PIP yang merupakan se-
buah package management system untuk memudahkan
instalasi modul atau pustaka melalui internet dari re-
positori PyPI. Sebelum proses instalasi, sebaiknya PIP
diperbaharui terlebih dahulu dengan cara:

python -m pip install --upgrade pip

Instalasi modul-modul dengan cara PIP sebagai ber-


ikut:

python -m pip install nama_modul

atau

python -m pip install nama_modul --user

Tambahan opsi --user menginstruksikan supaya


modul ditempatkan di direktori user bukan di sistem.
Sebaiknya menggunakan opsi ini untuk semua instalasi
modul python.

2.21 Modul Numpy, Scipy, Sympy, dan


Matplotlib
Banyaknya modul yang tersedia merupakan salah satu
daya tarik penggunaan pemrograman Python di ber-
bagai bidang. Untuk komputasi numerik, kita akan se-
37 382
ring menggunakan modul NumPy, SymPy, SciPy dan
MatPlotLib.
NumPy merupakan modul Python untuk komputasi
sains yang menyediakan fasilitas array multi dimensi,
operasi aljabar linier, transformasi Fourier dan bilang-
an acak. https://numpy.org/
Modul SymPy menyediakan fasilitas operasi mate-
matika simbolis (symbolic mathematics) atau seba-
gai computer algebra system (CAS). https://www.
sympy.org
Modul SciPy menyediakan fasilitas untuk komputasi
saintifik. https://www.scipy.org/
Modul MatPlotLib memberikan kemudahan dalam
pembuatan grafik (atau plot) dimensi dua (2D) yang
dapat berupa plots, scatterplots, dan sebagainya.
https://matplotlib.org/
Instalasi modul Python satu per satu dengan seba-
gai berikut:

python -m pip install --user numpy


python -m pip install --user scipy
python -m pip install --user matplotlib
python -m pip install --user sympy

Atau sekaligus dalam satu baris seperti di bawah ini.

python -m pip install numpy scipy matplotlib sympy

38 382
Bab 3
Pengenalan Jupyter
Notebook

"Learning never exhausts the mind."


–Leonardo da Vinci

"Tell me and I forget. Teach me and I remember.


Involve me and I learn."
– Benjamin Franklin

Pada bagian ini kita akan belajar pemrograman


komputer dengan bahasa Python menggunakan Ju-
pyter Notebook yang menyatukan dokumentasi dan
komputasi untuk metode numerik.
Jupyter Notebook memberikan fasilitas input dan
output dari kode Python dalam sebuah notebook.
Pembaca yang sudah pernah menggunakan Mathema-
tica atau Maple tidak akan merasa asing dengan tam-
39 382
pilan Jupyter Notebook. Kelebihan dari Jupyter No-
tebook adalah komputasi dan visualisasi menjadi satu
bagian tidak terpisah. Dalam satu dokumen kita da-
pat dengan mudah menulis kode program, keterang-
an atau dokumentasinya dan kemudian meninjau ha-
sil program dalam berbagai bentuk output. Selain itu
Jupyter Notebook juga memberikan fasilitas-fasilitas
lain seperti output dokumen berupa latex dan pdf.

3.1 Instalasi Jupyter Notebook


Pada buku ini Jupyter Notebook ditambahkan dengan
menggunakan fasilitas PIP. Langkah-langkah instalasi
Jupyter Notebook adalah sebagai berikut:

1. Jalankan command prompt dengan klik cmd di


Start Windows.

2. ketik perintah berikut ini:

python -m pip install jupyter

atau

python -m pip install --user jupyter

Setelah proses instalasi selesai, Jupyter Notebook


dapat dijalankan sebagai berikut:
40 382
I Wayan Sudiarta Metode Numerik

1. Agar mempermudah menempatkan file atau do-


kumen yang dikerjakan atau dibutuhkan, kita
terlebih dahulu membuat folder atau direkto-
ri (jika belum ada) dengan menggunakan File
Explorer. Sebagai contoh, kita membuat folder
d:\python.

2. Jalankan command prompt dengan klik cmd di


Start Windows.

3. ketik perintah berikut ini:

d:
cd python
jupyter notebook

4. Kemudian akan dijalankan peramban (web bro-


wser) yang menampilkan daftar isi folder serta
menu Jupyter Notebook seperti pada Gambar
3.1.

Mari kita memulai dengan membuat sebuah catat-


an (Notebook) Jupyter untuk Python 3 dengan cara
klik tombol New dan kemudian pilih Python 3 (lihat
Gambar 3.2). Tampilan Notebook diperlihatkan pada
Gambar 3.3.
Selanjutnya kita perlu mengganti nama notebo-
ok (rename) dengan klik teks Untitled dan kemu-
dian mengisinya dengan nama yang diinginkan, se-
41 382
Gambar 3.1: Tampilan Jupyter Notebook

bagai contoh kita beri nama Belajar Python, ke-


mudian klik tombol rename. Perhatikan folder
d:\python terisi dengan file Notebook dengan nama
file Belajar Python.ipynb.
Perhatikan bahwa Jupyter Notebook menampilkan
baris yang berisi kotak (cell) tempat kita memberikan
perintah-perintah. Perlu diingat bahwa setelah menu-
lis perintah, kita dapat menjalankannya dengan me-
nekan tombol keyboard Shift (sambil ditahan) dan
kemudian tekan Enter. Jika perintah selesai dija-
lankan, program akan menampilkan output. Sebagai
contoh mari kita beri input 1+2+3 Kemudian tekan
42 382
I Wayan Sudiarta Metode Numerik

Gambar 3.2: Tampilan Menu New File pada Jupyter


Notebook

Shift+Enter untuk menjalankan dan menghasilkan


output bilangan 6 seperti tampilan pada Gambar 3.4.

3.2 Penulisan Format Markdown


Selain menyediakan cell untuk input kode Python, Ju-
pyter Notebook juga menyediakan cell untuk penu-
lisan dokumen dengan mode format Markdown. For-
mat ini merupakan cara penulisan untuk laman web
yang sederhana tanpa ada kode HTML. Pada cell mo-
de Markdown kita dapat menambahkan dokumen ber-
upa teks dengan format Markdown, kode HTML dan
Latex sehingga Jupyter Notebook menampilkan doku-
43 382
Gambar 3.3: Tampilan sebuah halaman Jupyter No-
tebook

men yang lengkap beserta hasil komputasinya. Untuk


mengganti mode cell, perhatikan pada menu Jupyter
Notebook terdapat menu dropdown dengan label Co-
de (sesuai dengan pilihan mode) seperti diperlihatkan
pada Gambar 3.5. Klik menu dropdown dan kemudi-
an pilih Markdown untuk memulai menulis dokumen
Markdown. Tampilan cell akan berubah sesuai mode.
Penjelasan lebih lengkap tentang penulisan de-
ngan format Markdown dapat dibaca pada laman
https://www.markdownguide.org/basic-syntax/
atau https://daringfireball.net/projects/
markdown/syntax.
44 382
I Wayan Sudiarta Metode Numerik

Gambar 3.4: Sebuah tampilan Jupyter Notebook.

Mari kita menulis beberapa contoh format Markdo-


wn yang diberikan pada Tabel 3.1. Perlu diingat
bahwa untuk menaktifkan atau mengonversi dokumen
Markdown pada cell dengan tekan Shift + Enter.
Untuk menambahkan link situs dengan

[judul](https://alamat.com)

dan menambah sebuah gambar dengan cara

![teks](gambar.png)

Perlu diingat bahwa file gambar harus berada pada


folder yang sama dengan file Jupyter Notebooknya.
45 382
Gambar 3.5: Sebuah tampilan Menu Jupyter Notebo-
ok.

Penulisan persamaan matematis dengan format La-


TeX dapat dilakukan dengan batas satu tanda dollar
$...$ untuk menyisipkan pada teks dan dua tanda do-
llar $$ . . . $$ untuk persamaan dalam satu baris.
Cobalah contoh-contoh dasar penulisan LaTeX pada
Tabel 3.2.

46 382
I Wayan Sudiarta Metode Numerik

Tabel 3.1: Contoh format penulisan Markdown.

Markdown Hasil
# Heading 1 Heading 1
## Heading 2 Heading 2
### Heading 3 Heading 2
*italic* italic
**bold** bold
`kode` kode
--- garis horisontal
> block code baris 1 Kode blok
> code baris 2
1. item satu
2. item dua Daftar dengan urutan
3. item tiga
- item satu
- item dua Daftar tanpa urutan
- item tiga

47 382
Tabel 3.2: Contoh format penulisan LaTeX.

LaTeX Hasil

A^B AB

A_B AB

A^{B+C} AB+C

\frac{A}{B} A
B

\sum_{n=1}^N n^2
PN
n=1 n2

\int_a^b f(x) dx
Rb
a f (x)dx

\frac{\partial A}{\partial B} ∂A
∂B

48 382

Anda mungkin juga menyukai