Objektif:
1. Mengetahui cara membuat array dan matriks dalam Python
2. Mengetahui operasi matematika matriks dalam Python
3. Mengetahui konsep dasar fungsi dan module dalam Python
4. Mampu membuat fungsi dan module program untuk sains dan teknik
MEMBENTUK MATRIKS
Metode 1
Untuk metode umum yang digunakan oleh semua bahasa pemrograman matriks dapat dibuat
dalam Editor Python dengan menginisialisai tiap elemen matrik membentuk matriks berukuran
tertentu, contoh penerapannya adalah sebagai berikut:
51
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
Gambar 2.1 Membuat matriks menggunakan module numpy dengan fungsi zeros
Setelah mengklik “Run”, kita dapat menguji file membuat_matriks_elemen.py pada jendela
Shell seperti berikut:
52
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
Metode 2
Selain dengan menuliskan tiap elemen matriks, kita dapat membuat matriks menggunakan fungsi
array yang terdapat dalam module numpy seperti contoh berikut:
Gambar 2.3 Membuat matriks menggunakan module numpy dengan fungsi array
Setelah mengklik “Run”, kita dapat menguji file membuat_matriks.py pada jendela Shell
seperti berikut:
53
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
Beberapa fungsi dapat digunakan untuk membentuk matriks dengan ukuran dan nilai tertentu.
Berikut beberapa contoh fungsi pembentuk matriks
Matriks Transpose
Operasi transpose terhadap suatu matrik akan menukar elemen-elemen dalam satu kolom
menjadi elemen-elemen dalam satu baris; demikian pula sebaliknya. Notasi matrik transpose
adalah AT atau At. Berikut adalah contoh matriks transpose:
5 2 10
A
2 4 7
5 2
A 2 4
T
10 7
Dalam pemrograman Python, transpose matriks dapat dibuat dengan cara sebagai berikut:
Program Python: membuat_matriks_transpose.py
54
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
Matriks Identitas
Matrik identitas adalah matrik bujursangkar yang semua elemen-nya bernilai 0 (nol), kecuali
elemen-elemen diagonal yang seluruhnya bernilai 1. Berikut adalah contoh matriks identitas orde
tiga:
1 0 0
I 0 1 0
0 0 1
Dalam pemrograman Python, matriks identitas dapat dibuat dengan cara yang sama seperti
membuat matriks biasa atau menggunakan module numpy dengan fungsi identity sebagai
berikut:
Program Python: membuat_matriks_identitas.py
Setelah mengklik “Run”, kita dapat menguji file membuat_matriks_identitas.py pada jendela
Shell seperti berikut:
55
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
PENJUMLAHAN MATRIKS
56
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
PERKALIAN MATRIKS
Tentukan C = A * B !
Berikut adalah program Python untuk perkalian matriks:
57
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
Tentukan C = A * B !
Berikut adalah program Python untuk perkalian matriks:
58
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
Function merupakan cara untuk mengekspresikan suatu formula atau persamaan matematika.
Berikut adalah format umum untuk menulis suatu function pada Python:
Menghitung luas permukaan dan volume sebuah bangun berbentuk bola, jika jari-jari bola
tersebut diketahui.
Gambar 2.15 Contoh fungsi menghitung luas dan volume bola rumus_bola.py
59
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
Simpan file tersebut dengan nama rumus_bola.py, kemudian run, maka akan muncul jendela
Shell, lakukan pengujian dengan memasukan nilai r = 4, seperti berikut:
Dari gambar diatas terlihat, bahwa saat disubstitusikan nilai r = 4, maka muncul nilai (volume,
luas) dari bola.
Module adalah file Python yang dapat berisi banyak fungsi. Kita dapat memanggil seluruh fungsi
sekaligus ataupun hanya fungsi yang diperlukan. Berikut adalah format module dalam Python:
60
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
Berikut adalah contoh program Python module persamaan, yang didalamnya tersimpan fungsi
kuadrat dan kubik:
Untuk menguji module persamaan, kita harus membuat file program pengujian_persamaan.py
pada editor Python seperti contoh berikut:
61
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
Sebuah kawat lurus panjang dengan jari-jari R, membawa arus tetap I yang terdistribusi secara
homogen melewati luas penampang kawat, sebagaimana ditunjukkan pada Gambar 2.20.
Sesuai Hukum Ampere, maka medan magnetik di dalam dan di luar kawat tersebut adalah
sebagai berikut:
62
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
I
B 0 2 r
2R (2.1)
0 I
B (2.2)
2r
Buatlah fungsi dari persamaan (2.1) dan (2.2) menggunakan statement if dengan input variasi
posisi titik uji r. Output program adalah untuk mengetahui medan magnet pada titik uji r tersebut
serta informasi karakter (titik uji ada di dalam kawat, di permukaan kawat atau di luar kawat
panjang).
63
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
sign = 'didalam'
elif r > 5:
B=Mo*I/(2*pi*r)
sign = 'diluar'
else:
B=Mo*I/(2*pi*r)
sign = 'dipermukaan'
return B,sign
Simpan program tersebut dengan medan_magnet.py, setelah dirunning input nilai r yang ingin
diketahui nilai medan magnetnya seperti berikut:
LATIHAN 2
HUKUM GAUSS
Pada gambar dibawah ini memperlihatkan sebuah bola pejal yang bersifat menginsulasi dengan
jari-jari a membawa muatan positif 3Q yang di distribusikan keseluruh volumenya. Konsentris
dengan bola ini adalah sebuah konduktor dengan jari-jari dalam b dan jari-jari luar c, serta
memiliki muatan netto –Q.
64
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
Sesuai dengan Hukum Gauss, maka medan listrik untuk setiap bagian bola tersebut adalah
sebagai berikut:
k e qin 2k e r3 r
E 2 3Q 3 3k e Q 3 (2.3)
r2 r a a
k e qin 3k e Q
E 2 (2.4)
r2 r
E0 (2.5)
65
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
k e qin 2k e Q
E 2 (2.6)
r2 r
Buatlah fungsi dari persamaan (2.3) sampai (2.6) menggunakan statement if dengan input variasi
posisi titik uji r. Output program adalah untuk mengetahui medan listrik pada titik uji r tersebut
serta informasi karakter (titik uji ada di dalam bola padat, diantara bola padat dan bola berongga,
di kulit bola berongga atau diluar bola berongga).
Sesuai konsep gravitasi, gaya gravitasi yang dialami benda bermassa m akibat bola padat
bermassa M akan berbeda kriteria ketika berada dialam bola padat ataupun ketika berada didalam
bola padat. Sesuai konsep mekanika diperoleh:
GmM
Fg rˆ (2.7)
r2
Untuk kondisi r < R (didalam bola padat), maka berlaku
GmM '
Fg rˆ (2.8)
r2
atau
66
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
GmM
Fg rrˆ (2.9)
R3
Buatlah fungsi dari persamaan (2.7) dan (2.9) menggunakan statement if dengan input variasi
posisi anda berada di dalam, di permukaan atau di luar bumi. Output program adalah untuk
mengetahui anda posisi anda berada (Hint: gunakan disp dengan karakter didalam, diluar atau
dipermukaan bumi) dan besar gaya gravitasi yang akan anda alami.
HUKUM ARCHIMEDES
Sebuah balok bermassa 2 kg tercelup kedalam fluida yang memiliki massa jenis 100 kg/m3, jika
diketahui konstanta gravitasi 9.8 m/s2. Benda tersebut akan mengalami gaya ke atas yang
besarnya :
FA VBendatercelup f .g
(2.10)
Dalam kondisi benda tercelup sebagian maka Vbendatercelup bukanlah volume benda seluruhnya.
Dengan memvariasikan volume benda, buatlah algoritma untuk menggambarkan kondisi benda
yang tercelup dengan menggunakan statement if.
GAYA GESEKAN
Sebuah kotak bermassa 2,5 kg diam diatas lantai horizontal. Koefisien gesekan kotak dan
permukaan lantai adalah 0,2 dan 0,5 serta percepatan gravitasi sebesar 9,8 m/s2. Tentukan
apakah kondisi benda bergerak atau diam, besarnya gaya gesekan, serta percepatan kotak bila
67
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2
pada kotak tersebut diberikan gaya luar horizontal yang besarnya kurang dari gaya gesek dan
lebih dari gaya gesek.
68