Anda di halaman 1dari 32

Modul Praktikum

ModulDasar Pemrograman
Praktikum / STMIK Global
Dasar Pemrograman / STMIK Global
Informatika
Informatika MDP AgustusMDP
2016

INVERS MATRIKS MENGGUNAKAN


PEMROGRAMAN PYTHON
PADA

OLEH :

YONGKY TOGELANG
NIM: 19202109015

PASCA SARJANA TEKNIK SIPIL


UNIVERSITAS SAM RATULANGI
MANADO
SEPTEMBER 2019

21
M.
M.Haviz
HavizIrfani, S.Si.,&M.T.I.
Irfani Dafid & Dafid, S.Si.,M.T.I.
Modul Praktikum Dasar Pemrograman / STMIK Global
Informatika MDP Agustus 2016

INVERS MATRIKS MENGGUNAKAN


PEMROGRAMAN PYTHON
PADA

OLEH :
YONGKY TOGELANG
NIM: 19202109015

PASCA SARJANA TEKNIK SIPIL


UNIVERSITAS SAM RATULANGI
MANADO
SEPTEMBER 2019

2
M. Haviz Irfani, S.Si., M.T.I. & Dafid, S.Si.,M.T.I.
i
Modul Praktikum Dasar Pemrograman / STMIK Global
Informatika MDP Agustus 2016

DAFTAR ISI

HALAMAN JUDUL............................................................................................................. i

DAFTAR ISI........................................................................................................................ ii

BAB 1. PENDAHULUAN……………………………………

............................. ...........1

BAB 2. INVERS MATRIKS


…………………............................................................... ...9

BAB 3. MENCARI INVERS MATRIKS MENGGUNAKAN PYTHON 3.7 ..........


19

BAB 4. PENUTUP……………................................................................................. .
24

DAFTAR
PUSTAKA ......................................................................................................... ..25

LAMPIRAN-LAMPIRAN

3
M. Haviz Irfani, S.Si., M.T.I. & Dafid, S.Si.,M.T.I.
ii
Invers Matriks Menggunakan Pemrograman Python /

I. PENDAHULUAN

I.1. Ragam Bahasa Pemrograman.

Gambar 1.1 Beberapa bahasa pemrograman

Sebuah program dapat diartikan kumpulan instruksi-instruksi yang dibuat secara

terstruktur dan logis untuk menyelesaikan permasalahan. Sebuah masalah memiliki

makna keadaan yang tidak sesuai dengan kenyataan. Tanpa permasalahan maka tidak

akan ada program.

Seorang pembuat program disebut dengan programmer harus memiliki

kemampuan membuat program berdasarkan ketentuan masing-masing bahasa

pemrograman yang digunakan. Gambar 1.1 memperlihatkan beberapa jenis bahasa

pemrograman seperti C, php, java, dan python, selain itu bahasa lainnya seperti basic,

pascal, cobol, dan lain-lainnya.

I.2. Pemrograman Visual dan Console

Gambar 1.2. Tampilan Visual (sebelah kanan)


dan Console (sebelah kiri)

YONGKY 1
TOGELANG
Pada tampilan visual pada contoh dengan menampilkan textbox dan tombol yang

dapat di isi dan di klik, tampilannya lebih menarik dan nyaman digunakan. Sementara

tampilan Console lebih sederhana, terlihat kurang begitu menarik dan monoton.

Python shell

Gambar 1.3. Tools Python Shell 32 bit dan 64 bit.

Gambar 1.3 memperlihatkan tampilan IDLE (Integrated Development and Learning

Environment) yaitu Python sebagai lingkungan belajar berisi tampilan GUI yang

menarik, bekerja pada OS (Windows, Linux dan Mac OS X), interaktif interpreter

(penterjemah) berupa kode input/output dan error messages, multi windows, multiple

file (grep) berupa

search within any windows, fiture debugger (pencari kesalahan), konfigurasi/browsers

dan dialog.

Invers Matriks Menggunakan Pemrograman Python /


I.3. Interpreter dan Compiler

Penterjemah bahasa python menggunakan interpreter (satu per-satu pernyataan),

berbeda dengan penterjemah compiler yang menterjemahkan kode program sekaligus

(blok pernyataan). Interpreter: Interpreter tidak menghasilkan bentuk object code, tetapi

hasil translasinya hanya dalam bentuk internal, dimana program induk harus selalu ada-

berbeda

dengan compiler.

Source code
Translator Hasil
Data

Gambar 1.4 Skema proses interpreter

Compiler : Source code adalah bahasa tingkat tinggi, object code adalah bahasa mesin atau

bahasa assembly. Source code dan data diproses secara berbeda.

Data

Execution Hasil
Source Compile
Code r

Object Code

Gambar 1.5 Skema proses Compiler

I.4.Terminologi Python
Bahasa Python memiliki beberapa sintaks yang umum ada pada bahasa

pemrograman lainnya seperti input/output proses, struktur seleksi, struktur

pengulangan, pernyataan fungsi (sub program), dan lain sebagainya.


A. Halaman Pengetikan Kode Program.

Halaman
interpreter

Halaman
Editor, seperti
pada compiler.

Gambar 1.6 Halaman Pengetikan Kode Program.

Gambar 1.6 menunjukkan halaman pengetikan kode program dengan satu

persatu argumen/ pernyataan, atau dengan editor seperti layaknya kode pada compiler

yang ditulis sekaligus tetapi tetap dieksekusi argumen per argumen.

B. Nilai (value) dan Tipe data

Nilai (value) adalah hal yang paling mendasar seperti sebuah huruf, karakter

khusus, atau sebuah angka yang akan dimanipulasi oleh program.

Himpunan
Identifikas Solusi
Input Proses Output
i Masalah masalah
(Masukkan) (Hasil
(Problem) ) (Problem)

Gambar 1.7 Sistematis Pemecahan Masalah


Nilai angka seperti : angka 10, 100,1000 jika dijumlah dengan angka 5

menghasilkan angka 15,105, dan 1005. Jika di kali dengan 5 maka memberikan hasil

angka 50, 500, dan 5000. Bagaimana jika angka tersebut berubah menjadi ‘10’, ‘100’,

dan ‘1000’. Bagaimana jika dijumlah dengan angka 5? Bagaimana jika dikali dengan

angka 5?. Perhatikan Gambar 1.8 berikut ini.

Gambar 1.8 Tampilan contoh operasi angka dan bukan angka

Selanjutnya, jika bukan angka dioperasikan sesamanya bagaimana?


Gambar 1.9 Tampilan contoh operasi bukan angka.

Pada Gambar 1.9 menampilkan tipe data yang bukan angka jika dioperasikan

sesamanya akan membuat value yang baru. Sehingga dalam membuat program data

(value) selalu tergantung pada tipe data yang digunakan. Tipe data yang cocok akan

membuat data tersimpan dalam memori komputer secara realtime sesaat sebelum

proses selanjutnya. Tipe data yang digunakan dalam bahasa Python yaitu : tipe data

sederhana seperti integer (bilangan bulat), float (bilangan berkoma), string (abjad bisa

huruf, angka, atau karakter khusus). Tipe data majemuk seperti list.

C. Mengaktifkan Halaman Bahasa Python

Berikut ini langkah-langkah untuk menjalankan dan membuka halaman bahasa

Python.

Langkah 1: Pilih IDLE.

Langkah 2: Tampilan Halaman setelah IDLE dipilih.


Langkah 3: Tampilan menu utama pada File.

Langkah 3: Tampilan Editor kode program yang bukan perbaris peng-

eksekusian.
D. Input dan Output Bahasa Python.

Running :

Gambar 1.10 Tampilan Error Contoh Operasi 2 Bilangan.

Gambar 1.8 menunjukkan input bilangan pada variabel X dan Y, tetapi hasil

yang diperoleh dalam bentuk tipe data string (Var = Input(“….”)), sehingga tidak

dapat dihitung hasil perkaliannya. Untuk mengatasi persoalan tersebut gunakan eval( )

seperti

pada Gambar 1.9 berikut.

Running :

Gambar 1.11 Tampilan Operasi 2 Bilangan.


II. INVERS MATRIKS
II. 1. Pengertian

II. 2. Rumus Invers Matriks


Rumus invers matriks, kita akan jabarkan secara detail dan lengkap dari pengertian invers
matriks 3×3, 2×2, 4×4, jenis – jenis, dan sifat – sifatnya beserta rumus dan contoh soalnya.

Invers Matriks 2×2


Untuk menentukan rumus invers suatu matriks berordo 2×2 sebagai berikut ini :

Contoh :

 Diketahui suatu matriks A seperti diatas dengan ad-bc ≠ 0, maka invers dari matriks A yaitu :

 Jika ad – bc = 0 sehingga matriks tersebut tidak  memiliki invers atau dikenal juga dengan
matriks sigular

Berikut terdapat beberapa sifat – sifat dari matriks persegi yang mempunyai invers ;
 (A.B)-1 = B-1. A-1
 (B.A)-1= A-1 . B-1
 (A-1)t= (At)-1

Invers Matriks 3×3


Ada beberapa cara untuk mecari invers dari matriks berordo 3×3, dan kali ini yang akan kita
bahas yaitu cara adjoin dan juga transformasi baris elementer :

 Memakai Adjoin

Adjoin A dinotasikann sebagai adj (A) yaitu transpose dari matriks yang elemen - elemennya
merupakan faktor  -faktor dari elemen-elemen matriks A yaitu ;

Adj (A) = (kof(A))T

Adj (A) dirumuskan sebagai berikut ;

Rumus invers matriks persegi berordo 3×3 dirumuskan sebagai  berikut ini :

Keterangan :

– A-1 : Invers Matriks (A)


– Det (A) : Determinan Matriks (A)
– Adj (A) : Adjoin Matriks (A)
Sebenarnya dengan menggunakan rumus ini sudah cepat, tetapi untuk mencari adjoinnya itu
yang cukup lama, tetapi hanya berlaku untuk matriks yang berordo 2×2 saja.

 Menggunakan Transformasi Baris Elementer

Dalam menentukan invers matriks An dengan cara transformasi baris elementer, bisa
menggunakan langkah-langkah berikut ini ;

1. Bentuk matriks ini (An|ln), dengan lm merupakan matriks identitas berordo n.


2. Transformasikan matriks (An|ln) ke dalam bentuk (ln|Bn) dengan transformasi elemen
baris.
3. Hasil dari langkah 2, didapat invers dari matriks An yaitu Bn

Notasi yang sering di gunakan dalam transformasi baris elementer yaitu;

1. Bi ↔ Bj : Menukarkan elemen-elemen baris ke-I dengan elemen-elemen baris ke-j


2. Bi : mengalihkan setiap elemen-elemen baris ke-I dengan skalar k
3. Bi + kBj : jumlah elemen-elemen pada baris ke-I dengan k kali elemen-elemen garis ke-j

Contoh Soal
Tentukanlah Invers dari data dibawah ini :

Jawaban :

Pertama, Kita harus cari adjoinnya dengan menggunakan cara cepat.

Kedua, Melalui cara yang singkat ini kita hanya tinggal memindakan atau menukar posisi
elemen yang berada dalam baris pertama kolom pertama dengan baris ke-2 kolom ke-2.
Kemudian elemen baris pertama kolom ke-2 dan elemen baris kedua kolom pertama dikali
dengan (-1)

Maka menjadi adjoin matriks di atas menjadi :


Ketiga, Langkah ketiga ialah kita tinggal mencari determinan matriks yakni :

Determinan =  (1 x 4) – (2 x 3) = 4 – 6 = -2

Sehingga invers dari matriks di atas yaitu :

Menghitung Determinan Matriks Menggunakan Kofaktor

Bagaimana cara menghitung determinan matriks. Metode yang digunakan adalah


menggunakanEkspansi Kofaktor. Metode ini tidak hanya digunakan untuk menghitung

determinan matriks   atau   tapi digunakan untuk matriks yang berordo lebih besar lagi
seperti,   dan seterusnya. Untuk menghitung determinan menggunakan metode ini,
rumusnya dijamin oleh Teorema berikut.

Teorema 1.

Determinan matriks    yang berukuran   dapat dihitung dengan mengalikan entri-


entri dalam suatu baris (atau kolom) dengan kofaktor-kofaktornya dan menambahkan
hasil-hasil kali yang dihasilkan yakni untuk setiap   dan  , maka

det(A) = a1jC1j + a2jC2j + … + anjCnj

(ekspansi kofaktor sepanjang kolom ke-j)

atau

det(A) = ai1Ci1 + ai2Ci2 + … + ainCin

(ekspansi kofaktor sepanjang baris ke-i)


Untuk lebih memperjelas apa itu kofaktor, perhatikan Definisi dibawah ini.

Definisi 2.

Jika A adalah matriks kuadrat, maka minor entri aij dinyatakan oleh Mij dan


didefinisikan menjadi determinan submatriks yang tetap setelah baris ke-i dan kolom
ke-j dicoret dari A. Bilangan (-1)i+jMij dinyatakan oleh Cij dan dinamakan kofaktor
entri aij.

Contoh 3.

Misalkan kita punya matriks A =  . Tentukan minor entri a11, a12, dan a13. Tentukan
juga kofaktor entri M11, M12 dan M13 !

Penyelesaian.

minor entri a11 adalah M11 =   =   = 5(8) – 4(6) = 16

kofaktor a11 adalah C11 = (-1)1+1M11 = (-1)2(16) = 16

minor entri a12 adalah M12 =   =   = 2(8) – 1(6) = 10

kofaktor a12 adalah C12 = (-1)1+2M12 = (-1)3(10) = -10

minor entri a13 adalah M13 =   =   = 2(4) – 1(5) = 3

kofaktor a13 adalah C13 = (-1)1+3M13 = (-1)4(3) = 3


Contoh 4.

Dari Contoh 1 diatas, tentukan determinan matriks A

Penyelesaian.

Menggunakan yang diberikan pada Teorema diatas dengan mengambil i = 1 dan j = 1, 2, dan 3,


maka diperoleh.

det(A) = a11C11 + a12C12 + a13C13

= 3(16) + 1(-10) + (-4)(3)

= 48 – 10 – 12

= 26

Contoh 5.

Tentukan determinan matriks A = 

Penyelesaian.

Menggunakan yang diberikan pada Teorema diatas dengan mengambil i = 3 dan j = 1, 2, dan 3,


maka diperoleh.

det(A) = 

= a31C31 + a32C32 + a33C33

= a31(-1)3+1M31 + a32(-1)3+2M31 + a33(-1)3+3M31

= a31M31 – a32M31 + a33M31


=3  – 2  + 2

= 3[6(8)-0(6)] – 2[0(8)-8(0)] + 2[0(6)-8(6)]

= 144 – 0 – 96

= 48

atau jika ingin lebih cepat, kita bisa melihat entri yang mengandung nol agar lebih
mempersingkat waktu mengerjakan. Karena dalam baris pertama terdapat dua entri nol, maka i
= 1 dan j = 1, 2, 3 kemudian gunakan rumus.

det(A) = a11C11 + a12C12 + a13C13

= a11(-1)1+1M11 + a12(-1)1+2M12 + a13(-1)1+3M13

= a11M11 – a12M12 + a13M13

=0  – 6  + 0

= 0 – 6[8(2)-8(3)] + 0

= 48

Contoh 6.

Tentukan determinan matriks B = 

Penyelesaian.

dengan menggunakan kolom pertama pada matriks B sebagai kofaktor dan


berdasarkan Teorema diatas dengan mengambil i = 1, 2, 3, 4 dan j = 1 maka diperoleh.
det(B) = 

= a11C11 + a21C21 + a31C31 + a41C41

= a11(-1)1+1M11 + a21(-1)2+1M21 + a31(-1)3+1M31 + a41(-1)4+1M41

= a11M11 – a21M21 + a31M31 – a41M41

=2  – 1  + 0  – 0

hitung lagi determinan untuk matriks 3×3 nya

= 2[ambil i = 1 dan j = 1, 2, 3] – 1[ambil i = 1, 2, 3 dan j = 3] {untuk matriks ketiga dan


keempat tidak perlu dihitung karena koefesiennya 0, sehingga apabila dikali, hasilnya
akan tetap = 0}

= 2[a11C11 + a12C12 + a13C13] – 1[a13C13 + a23C23 + a33C33] + 0 – 0

= 2[a11(-1)1+1M11 + a12(-1)1+2M12 + a13(-1)1+3M13] –  1[a13(-1)1+3M13 + a23(-1)2+3M23 + a33(-


1)3+3M33]

= 2[a11M11 – a12M12 + a13M13] – 1[a13M13 + a23M23 + a33M33]

= 2(0  – 1  + 1 ) – 1(1  – 0  + 3 )

= 2(0[1(3)-2(0)] – 1[2(3)-1(0)] + 1[2(2)-1(1)]) – 1(1[2(2)-1(1)] – 0[1(2)-1(3)] + 3[1(1)-


2(3)])

= 2(0 – 6 + 3) – 1(3 – 0 + 3(-5))

= -6 + 12

=6

Contoh 7.
Tentukan determinan matriks 

Penyelesaian.

Selanjutnya, Karena   dan   merupakan determinan  , maka kita


uraikan lagi dengan menggunakan kofaktor. Ambil   dan  .

Dengan menggunkaan Metode Sarrus, diperoleh

Dengan menggunkaan Metode Sarrus, diperoleh


Dengan menggunkaan Metode Sarrus, diperoleh

Dengan menggunkaan Metode Sarrus, diperoleh

Dengan menggunkaan Metode Sarrus, diperoleh

Jadi, diperoleh
III. MENCARI INVERS MATRIKS MENGGUNAKAN PYTHON 3.7

Mencari invers matriks dengan metode Adj. (adjoint) dengan menggunakan bahasa
pemrograman Python 3.7
Berikut source code/codingan dalam python 3.7

#disini saya menjadikan variabel tiap element / angka di matriks


1 b11=8
2 b12=2
3 b13=8
4 b21=-1
5 b22=-1
6 b23=8
7 b31=1
8 b32=8
9 b33=6
10 print()
11 #Mengecek bentuk Matriks
12 print(b11,b12,b13)
13 print(b21,b22,b23)
14 print(b31,b32,b33)
15 print()
16 #Masukkan Variabel diatas dalam bentuk Determinan Sarrus
17 print("metode Det. sarrus :")
18 print(b11,b12,b13,"|",b11,b12)
19 print(b21,b22,b23,"|",b21,b22)
20 print(b31,b32,b33,"|",b31,b32)
21 #lalu hitunglah sesuai dengan rumus Det. Sarrus
22 H1=(int(b11)*int(b22)*int(b33))
23 H2=(int(b12)*int(b23)*int(b31))
24 H3=(int(b13)*int(b21)*int(b32))
25 H4=(int(b31)*int(b22)*int(b13))
26 H5=(int(b32)*int(b23)*int(b11))
27 H6=(int(b33)*int(b21)*int(b12))
28 HA=int(H1)+int(H2)+int(H3)
29 HB=int(H4)+int(H5)+int(H6)
30 HX=int(HA)-int(HB)
31 print()
32 print("Hasil metode Det. Sarrus :", HX)

33 print()
34 #sekarang menggunakan metode minor untuk menemukan Kofaktor dan Adjoint nya
35 print("metode Minor :")
36 print(b11,b12,b13)
37 print(b21,b22,b23)
38 print(b31,b32,b33)
39 print()
40 print("A.D-B.C")
41 A11=(int(b22)*int(b33))-(int(b23)*int(b32))
42 print(A11=",b22,"x",b33,"-",b23,"x",b32,"=",A11)
43 A12=(int(b21)*int(b33))-(int(b23)*int(b31))
44 print(A12=",b21,"x",b33,"-",b23,"x",b31,"=",A12)
45 A13=(int(b21)*int(b32))-(int(b22)*int(b31))
46 print(A13=",b21,"x",b32,"-",b22,"x",b31,"=",A13)
47 A21=(int(b12)*int(b33))-(int(b13)*int(b32))
48 print(A21=",b12,"x",b33,"-",b13,"x",b32,"=",A21)
49 A22=(int(b11)*int(b33))-(int(b13)*int(b31))
50 print(A22=",b11,"x",b33,"-",b13,"x",b31,"=",A22)
51 A23=(int(b11)*int(b32))-(int(b12)*int(b31))
52 print(A23=",b11,"x",b32,"-",b12,"x",b31,"=",A23)
53 A31=(int(b12)*int(b23))-(int(b13)*int(b22))
54 print(A31=",b12,"x",b23,"-",b13,"x",b22,"=",A31)
55 A32=(int(b11)*int(b23))-(int(b13)*int(b21))
56 print(A32=",b11,"x",b23,"-",b13,"x",b21,"=",A32)
57 A33=(int(b11)*int(b22))-(int(b12)*int(b21))
58 print(A33=",b11,"x",b22,"-",b12,"x",b21,"=",A33)
59 print()
60 #Lalu didapatkan lah matriks baru yang akan di kofaktor kan
61 print(A11,A12,A13)
62 print(A21,A22,A23)
63 print(A31,A32,A33)
64 print()
65 print("Metode Kofaktor :")
66 print()
67 print(A11,A12*(-1),A13)
68 print(A21*(-1),A22,A23*(-1))
69 print(A31,A32*(-1),A33)
70 print()
#lalu Adjoint nya
print("Adj.=")
71
print(A11,A21*(-1),A31)
72
print(A12*(-1),A22,A32*(-1))
73
print(A13,A23*(-1),A33)
74
75
print()
#Sekarang bisa mulai mencari Invers Matriks tersebut
76
print("invers A**-1 = 1/Det. Sarrus X Adj. atau Adj./Det. Sarrus")
77
print(A11,A21*(-1),A31,"|")
78
print(A12*(-1),A22,A32*(-1),"|","/", HX)
79
print(A13,A23*(-1),A33,"|")
80
print()
81
print(A11,"/",int(HX),"|",A21*(-1),"/",int(HX),"|",A31,"/",int(HX))
82
print(A12*(-1),"/",int(HX),"|",A22,"/",int(HX),"|",A32*(-1),"/",int(HX))
83
print(A13,"/",int(HX),"|",A23*(-1),"/",int(HX),"|",A33,"/",int(HX))
84
print()
85
print(A11/int(HX),A21*(-1)/int(HX),A31/int(HX))
86
print(A12*(-1)/int(HX),A22/int(HX),A32*(-1)/int(HX))
87
print(A13/int(HX),A23*(-1)/int(HX),A33/int(HX))
88
89

HASIL RUN MODULE :

Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]
on win32

Type "help", "copyright", "credits" or "license()" for more information.

>>>

RESTART: D:\YONGKY TOGELANG\METODE NUMERIK LANJUTAN\INVERS


MATRIKS\INVERS MATRIX 3X3 program phiton1 OK.py

828

-1 -1 8

186

metode det.sarrus:
828|82

-1 -1 8 | -1 -1

186|18

Hasil metode Det.Sarrus: -588

metode minor:

828

-1 -1 8

186

A.D-B.C

A11= -1 x 6 - 8 x 8 = -70

A12= -1 x 6 - 8 x 1 = -14

A13= -1 x 8 - -1 x 1 = -7

A21= 2 x 6 - 8 x 8 = -52

A22= 8 x 6 - 8 x 1 = 40

A23= 8 x 8 - 2 x 1 = 62

A31= 2 x 8 - 8 x -1 = 24

A32= 8 x 8 - 8 x -1 = 72

A33= 8 x -1 - 2 x -1 = -6

-70 -14 -7

-52 40 62

24 72 -6

Metode kofaktor:
-70 14 -7

-52 -40 -72

24 -72 -6

Adj.=

-70 52 24

14 40 -72

-7 -62 -6

invers A**-1=1/Det.Sarrus x Adj. atau Adj./Det.Sarrus

-70 52 24 |

14 40 -72 | / -588

-7 -62 -6 |

-70 / -588 | 52 / -588 | 24 / -588

14 / -588 | 40 / -588 | -72 / -588

-7 / -588 | -62 / -588 | -6 / -588

0.11904761904761904 -0.08843537414965986 -0.04081632653061224

-0.023809523809523808 -0.06802721088435375 0.12244897959183673

0.011904761904761904 0.1054421768707483 0.01020408163265306

>>>
IV. PENUTUP

1. Python termasuk dari jajaran bahasa pemograman tingkat tinggi memiliki kelebihan lebih
mudah, cepat menulis dan memprogram sebuah aplikasi.
2. Matriks merupakan "bahan dasar" untuk mendalami bidang ilmu komputer seperti
pengolahan citra, computer vision, sistem pendukung keputusan, teknik riset operasi, dan
berbagai bidang lainnya. Tentunya alangkah lebih baiknya bila kita mempelajari tentang
matriks/invers matriks dengan mengkonversinya ke program - program computer misalnya
dengan menggunkana pemograman Python.
Daftar Pustaka

Mada Sanjaya WS, Ph.D. ,Metode Numerik Berbasis Python, Gava Media, Yogyakarta, 2015

Abdul Kadir Ir., Dasar Pemrograman Python, Andi Offset, Yogyakarta, 2005