Anda di halaman 1dari 18

KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2

2 MATRIKS, FUNGSI DAN MODULE

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

KONSEP DASAR MEMBENTUK MATRIKS

MEMBENTUK MATRIKS

Contoh: Terdapat matriks A2X3 dan B3X2


5 2 10
A23   
2 4 7 
2 3
B32  3 4
4 5

Terdapat tiga metode menulis matriks dalam Python,

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

Program Python : membuat_matriks_elemen.py

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:

Gambar 2.2 Pengujian program membuat_matriks_elemen.py

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:

Program Python : membuat_matriks.py

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:

Gambar 2.4 Pengujian program membuat_matriks.py

53
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2

MEMBENTUK MATRIKS KHUSUS

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

Gambar 2.5 Membuat matriks transpose

Setelah mengklik “Run”, kita dapat menguji file membuat_matriks_transpose.py pada


jendela Shell seperti berikut:

54
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2

Gambar 2.6 Pengujian program membuat_matriks_transpose.py

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

Gambar 2.7 Membuat matriks identitas

Setelah mengklik “Run”, kita dapat menguji file membuat_matriks_identitas.py pada jendela
Shell seperti berikut:

55
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2

Gambar 2.8 Pengujian program membuat_matriks_identitas.py

OPERASI ALJABAR MATRIKS

PENJUMLAHAN MATRIKS

Contoh: Terdapat matriks A2X3 dan B2X3


1 2 3
A23   
 4 5 6
 2 3 4
B23   
5 6 7 
Tentukan C = A + B !

Berikut adalah program Python untuk penjumlaahan matriks:

Gambar 2.9 Penjumlahan matriks

56
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2

Gambar 2.10 Output program pejumlahan_matriks.py

PERKALIAN MATRIKS

Contoh 1: Terdapat matriks A2X3 dan B3X2


1 2 3
A23   
 4 5 6
2 3
B32  3 4
4 5

Tentukan C = A * B !
Berikut adalah program Python untuk perkalian matriks:

Gambar 2.11 Perkalian matriks

57
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2

Gambar 2.12 Output program perkalian_matriks_1.py

Contoh 2: Terdapat matriks A2X3 dan B3X1


1 2 3
A23   
 4 5 6
 2
B31  3
4

Tentukan C = A * B !
Berikut adalah program Python untuk perkalian matriks:

Gambar 2.13 Perkalian matriks

58
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2

Gambar 2.14 Output program perkalian_matriks_2.py

MEMBUAT FUNCTION PYTHON

Function merupakan cara untuk mengekspresikan suatu formula atau persamaan matematika.
Berikut adalah format umum untuk menulis suatu function pada Python:

def nama_fungsi ( parameter1, parameter2,..)


Formulasi statemen
return nilai_output

Contoh 1. Membuat Fungsi Menghitung Luas dan Volume Bola

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:

Gambar 2.16 Pengujian fungsi rumus_bola.py

Dari gambar diatas terlihat, bahwa saat disubstitusikan nilai r = 4, maka muncul nilai (volume,
luas) dari bola.

MEMBUAT MODULE PYTHON

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:

def nama_fungsi_1 ( parameter1, parameter2,..)


Formulasi statemen
return nilai_output_1
def nama_fungsi _2( parameter1, parameter2,..)
Formulasi statemen
return nilai_output_2
...
dan seterusnya

Berikut adalah frmat untuk memanggil module Python:

From nama_module import nama_fungsi1, nama_fungsi2, ...

60
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2

Contoh 2. Membuat Module Persamaan Kuadrat dan Kubik

Berikut adalah contoh program Python module persamaan, yang didalamnya tersimpan fungsi
kuadrat dan kubik:

Gambar 2.17 File module python: persamaan.py

Untuk menguji module persamaan, kita harus membuat file program pengujian_persamaan.py
pada editor Python seperti contoh berikut:

Gambar 2.18 Program untuk menguji module persamaan

61
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2

Gambar 2.19 Output pengujian module persamaan

APLIKASI DALAM SAINS


DAN TEKNIK

CONTOH 3. HUKUM AMPERE

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:

Untuk r < R, maka besar medan magnetiknya adalah

62
KOMPUTASI NUMERIK BERBASIS PYTHON BAB 2

  I 
B   0 2 r
 2R  (2.1)

Gambar 2.20 Skema kawat lurus panjang

Untuk r  R , maka besar medan magnetiknya adalah

0 I
B (2.2)
2r

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).

Script Utama Python

from numpy import pi, e


def medan_magnet(r):
# input data
Mo=12.56e-7
I=3.0
R=5.0
if r < 5:
B=Mo*I*r/(2*pi*R**2)

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:

Gambar 2.21 Output pengujian program medan_magnet.py

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

Gambar 2.22 Skema bola padat isolator berada didalam


bola berongga konduktor

Sesuai dengan Hukum Gauss, maka medan listrik untuk setiap bagian bola tersebut adalah
sebagai berikut:

Untuk 0  r  a (didalam bola padat)

k e qin 2k e  r3  r
E  2  3Q 3   3k e Q 3 (2.3)
r2 r  a  a

Untuk a  r  b ( di antara bola padat dan bola berongga)

k e qin 3k e Q
E  2 (2.4)
r2 r

Untuk 𝑏 < 𝑟 < 𝑐 ( di dalam kulit bola berongga )

E0 (2.5)

Untuk r  c ( dikulit terluar dan diluar bola berongga )

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).

GAYA GRAVITASI BOLA PADAT

Gambar 2.23 Skema bola padat

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:

Untuk kondisi r > R (diluar bola padat), maka berlaku

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)

Tentukan kondisi benda yang tercelup dengan ketentuan:


ρb > ρf benda tenggelam
ρb = ρf benda melayang
ρb < ρf benda terapung

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.

Sesuai konsep gesekan, terdapat tiga kondisi yaitu:


Jika F > fsm, benda bergerak
Jika F = fsm, benda tepat akan bergerak,
Jika F < fsm, benda akan diam.

Perjalanan seribu mil selalu


dimulai dari langkah pertama

68

Anda mungkin juga menyukai