Pengenalan Bahasa
Python
s = 0
for n in range(1, 1001):
s += n
python contoh.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.
print("Hello World!")
>>> 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
>>>
a = 3//2 # bernilai 1
b = 2**3 # 2^3 = 8
z = 5%2 # 5 mod 2 = 1
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.
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)
# 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
"""
Program sederhana hello.py
Program mencetak kata 'Saya Bisa'
pada layar
"""
print("Saya Bisa")
a = 6
b = 1.2345
c = 'I am string'
d = "saya string"
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.
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
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.
x = r*cos(theta)
y = r*sin(theta)
21 382
# hitung luas lingkaran
luas = pi*(r**2)
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
for i in range(5):
print("Saya bisa Python\n")
for i in range(3):
print("Perintah 1")
print("Perintah 2")
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")
Perintah 1
Perintah 1
Perintah 1
Perintah 2
for i in range(3):
print("Perintah 1")
print("Perintah 2")
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"
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"]
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")
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
for i in angka:
print(i)
1
2
3
4
5
# iterasi
for s in hari:
print(s)
Senin
Selasa
Rabu
Kamis
Jumat
Sabtu
Minggu
nama = "EINSTEIN"
for c in nama:
print(c)
28 382
I Wayan Sudiarta Metode Numerik
E
I
N
S
T
E
I
N
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)
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
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
nama = "Einstein"
print(len(nama))
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)
a = 2
b = 5
print(jarak(a,b))
34 382
I Wayan Sudiarta Metode Numerik
# Membaca file
f = open('input.txt', "r")
txt = f.read()
f.closed
# plot data
plt.plot(x, y)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
plt.plot(X, Y1)
plt.plot(X, Y2)
plt.show()
36 382
I Wayan Sudiarta Metode Numerik
atau
38 382
Bab 3
Pengenalan Jupyter
Notebook
atau
d:
cd python
jupyter notebook
[judul](https://alamat.com)
![teks](gambar.png)
46 382
I Wayan Sudiarta Metode Numerik
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