Anda di halaman 1dari 8

MODUL I

PENGENALAN PYTHON DAN SISTEM MATRIKS

A. Tujuan Praktikum
Tujuan praktikum adalah sebagai berikut:
1. Mahasiswa mengenal dan mampu memahami konsep dasar bahasa pemrograman
python.
2. Mahasiswa mampu menerapkan operasi matriks 2D menggunakan bahasa python.

B. Teori Dasar
1. Pengenalan Bahasa Python
Python merupakan bahasa pemrograman dinamis yang mendukung pemrograman berbasis
objek. Python didistribusikan dengan beberapa lisensi yang berbeda dari beberapa versi.
Namun pada prinsipnya Python dapat diperoleh dan dipergunakan secara bebas, bahkan
untuk kepentingan komersial. Karena lisensi Python tidak bertentangan baik menurut
definisi Open Source maupun General Public License (GPL).

Figure 1. Logo Python

Python dikembangkan oleh Guido van Rossum pada tahun 1990-an di CWI, Amsterdam
sebagai kelanjutan dari bahasa pemrograman ABC. Versi terakhir yang dikeluarkan CWI
adalah 1.2. Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan
Python. Versi terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para
pengembang inti Python pindah ke BeOpen.com yang merupakan sebuah perusahaan
komersial dan membentuk BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen.
Setelah mengeluarkan Python 2.0, Guido dan beberapa anggota tim PythonLabs pindah ke
DigitalCreations. Saat ini pengembangan Python terus dilakukan oleh sekumpulan
pemrogram yang dikoordinir Guido dan Python Software Foundation. Python Software
Foundation adalah sebuah organisasi non-profit yang dibentuk sebagai pemegang hak cipta
intelektual Python sejak versi 2.1 dan dengan demikian mencegah Python dimiliki oleh
perusahaan komersial.

Hal yang membedakan Python dengan bahasa lain adalah dalam hal aturan penulisan kode
program. Bahasa Python juga mendukung hampir di semua sistem operasi, bahkan untuk
sistem operasi Linux, hampir semua distronya sudah menyertakan Python di dalamnya.
Dengan kode yang simpel dan mudah diimplementasikan, seorang programmer dapat lebih
mengutamakan pengembangan aplikasi yang dibuat. Selain itu python merupakan salah
satu produk yang opensource juga multiplatform. Beberapa fitur yang dimiliki Python
adalah :
a. Memiliki library/package yang luas; dalam distribusi python telah disediakan
modul-modul siap pakai untuk berbagai keperluan.
b. Memiliki tata bahasa yang jernih dan mudah untuk dipelajari.
c. Memiliki aturan layout kode sumber yang memudahkan pengecekan, pembacaan
kembali dan penulisan ulang kode sumber serta berorientasi objek.
d. Memiliki sistem pengelolaan memori otomatis (garbage collection seperti java),
mudah dikembangkan dengan menciptakan modul-modul baru, dimana modul
tersebut dapat dibangun dengan bahasa python maupun C/C++.

2. Sistem dan Operasi Matriks


Matriks umum dikenal pada matematika sebagai kumpulan bilangan atau angka yang
disusun dalam baris dan kolom yang bentuknya berupa persegi panjang, biasanya dibatasi
dengan simbol “[ ]” atau “( )”. Bilangan yang terdapat dalam suatu matriks disebut elemen
matriks. Matriks biasa digunakan untuk menyelesaikan permasalahan matematika,
misalnya menemukan solusi persamaan linier karena matriks berupa variable biasa yang
bisa dioperasikan seperti dijumlahkan, dikurangkan dan dikalikan.
Matriks dinotasikan dengan huruf besar seperti A, X, Y, dan sebagainya. Misalkan sebuah
matriks A dengan ukuran m baris dan n kolom dituliskan sebagai,

(1)

atau A = [aij] dimana i =1,2,...,m ; j =1,2,...,n


Jadi ketika terdapat penulisan matriks B dengan ukuran 3x2 maka matriks B tersebut
mempunyai elemen matriks 3 baris dan 2 kolom.
Matriks memiliki banyak jenis, ada matriks kuadrat yang mana antara baris dan kolom
sama banyaknya, matriks diagonal yang diluar diagonal utama berupa nol, matriks simetris
jika elemen dibawah diagonal cerminan elemen atas diagonal, matriks identitas yang
diagonal utamanya bernilai 1 selainnya bernilai 0 dan lain-lain.
Matriks selalu digunakan dalam pengolahan data geofisika. Pengolahan data geofisika
selalu melibatkan data yang besar karena memang titik pengukurannya banyak, sehingga
untuk memproses data tersebut, maka disimpan dalam suatu matriks yang kemudian
dioperasikan lebih lanjut sesuai dengan kebutuhannya.
Operasi antar matriks dilakukan dengan menggunakan beberapa persyaratan. Penjumlahan
dan pengurangan matriks dapat dilakukan ketika kedua matriks tersebut berukuran sama.
Sehingga yang dijumlahkan atau dikurangkan adalah elemen dan posisi yang sama.
Perkalian matriks memiliki dua tipe yaitu skalar dan matriks. Perkalian skalar dilakukan
untuk satu angka yang dikalikan dengan sebuah matriks, sedangkan perkalian matriks
dilakukan ketika matriks dikalikan dengan matriks yang memiliki syarat berupa jumlah
baris matriks pertama sama dengan jumlah kolom matriks kedua.
Misalkan ada matriks V dengan ukuran 2x3, X dengan ukuran 3x3, matriks Y berukuran
3x2, matriks Z berukuran 3x3.

Perhitungan manual dari operasi-operasi matriks diatas untuk operasi penjumlahan dan
pengurangan antara matriks X (3x3) dengan Z (3x3) menghasilkan matriks dengan ukuran
3x3.

Operasi perkalian skalar mariks 3•Z akan menghasilkan matriks yang sama dengan ukuran
matriks pengalinya. Operasi perkalian matriks V (2x3) dengan matriks Z (3x3) maka
menghasilkan matriks 2x3.
Operasi transposisi matriks dimanfaatkan untuk berbagai keperluan. Misalkan untuk
mendeposisi data sehingga bisa dioparasikan lebih lanjut. Transposisi dari matriks Y:

Operasi invers matriks sangat penting dalam geofisika karena geofisika memanfaatkan
operasi ini untuk mengetahui model bawah permukaan bumi. Sebelum ke invers matriks,
terlebih dahulu harus dimengerti tentang determinan dan adjoin suatu matriks. Berikut ini
contoh determinan dengan metode Sarrus dan adjoinnya dari matriks X. Nilai determinan
dari matriks X adalah sebagai berikut:

Selanjutnya nilai Adjoint matriks X diketahui melalui kofaktor X:

Sedangkan invers dari matriks X adalah,

C. Tugas Pendahuluan
1. Mengapa geofisikawan perlu mempelajari tentang metode numerik atau komputasi?
2. Apa yang ada ketahui tentang bahasa pemrograman python dan apa saja keunggulan
dan kekurangannya dibandingkan dengan bahasa pemrograman yang lain!
3. Diketahui matriks berikut :

1 3 5 3 1 2 3 1
2 1 2
𝐴=[ ]; 𝐵 = [2 4 6]; 𝐶 = [2 2]; 𝐷 = [2 1 3];
1 2 1
3 5 2 1 3 3 5 2

Tentukan operasi matriks berikut:


a. B + D
b. B - D
c. A x C
d. 𝐴 ⨀ 𝐷
e. Det(B)
f. Inv(D)
D. Langkah Praktikum
1. Pengenalan Python
a. Package/Modul
Package atau modul merupakan library yang merupakan objek python dengan atribut
yang dapat di bind dan dijadikan sebagai referensi, secara sederhana modul adalah file
yang terdiri dari kode python. Modul dapat mendefenisikan fungsi, kelas dan variable.
Modul juga bisa menyertakan kode yang bisa dijalankan ‘runable’.

Contoh:
import numpy
import matplotlib.pyplot
import scipy

b. Type Data
Tipe data adalah suatu media atau memori pada computer yang digunakan untuk
menampung informasi. Python sendiri mempunyai tipe data yang cukup unik karena
kita tidak perlu mendefenisikan terlebih dahulu tipe data pada sebuah variable yang
akan digunakan.

Script:
Data = [1, 2, 3, 4, 5, 6, 7, 8, 9] # List
Data = (1, 2, 3, 4, 5, 6, 7, 8, 9) # Tuple
Data = {‘nama’:’putu’, ‘nim’:’12115017, ‘angkatan’:’2015’} # Dictonary

c. Aritmatika
Cobalah mengeksekusi script dibawah ini.

Script:
a = 5
b = 8
c = 10

#Penjumlahan
d = a + b

#Pengurangan
e = c – d

#Pembagian
f = c/a

#Perkalian
g = a * f

#Mod
h = a % 2

print(d, e, f, g, h)

d. Kondisi dan perulangan


Pengambilan keputusan (kondisi if else) tidak hanya digunakan untuk menentukan
tidakan apa yang diambil sesuai dengan kondisi, tetapi juga digunakan untuk
menentukan tindakan apa yang diambil/dijalankan jika kondisi tidak sesuai. Sedangkan
perulangan digunakan apabila harus menulis banyak kode dengan kondisi yang sangat
banyak, sehingga akan membuang-buang waktu, maka dapat memanfaatkan
perulangan di dalam bahasa pemrograman python.

Script:
data = [1, 2, 3, 4, 5, 3, 4, 10, 3]

#Kondisi

if (data[2] == 3):
print(‘Benar’)

#Contoh penggunaan While Loop


count = 0
while (count < 9):
print ('The count is:', count)
count = count + 1

print ("Good bye!")

#Contoh pengulangan for


buah = ["Duku", "Semangka", "Jeruk", “Markisa”]
for makanan in buah:
print("Saya suka makan", makanan)

#Contoh penggunaan Nested Loop


i = 2
while(i < 100):
j = 2
while(j <= (i/j)):
if not(i%j): break
j = j + 1
if (j > i/j) : print(i, " is prime")
i = i + 1

print "Good bye!"

e. Fungsi
Fungsi ada;ah blok kode terorganisir dan dapat digunakan kembali dan dapat digunakan
untuk melakukan sebuah tindakan/action.
Script:
import numpy as np

def luasLingkaran(r):
luas = np.pi()*r**2
return luas

def luasPersegi(lebar, panjang):


luas = lebar * panjang
return luas

print(‘Luas Lingkaran: ‘, luasLingkaran(7))


print(‘Luas Persegi: ‘, luasPersegi(8,10))

2. Operasi Matriks
a. Penjumlahan
Cobalah script berikut ini:
import numpy as np

a = np.array([[1, 2, 1], [2, 1, 2]])


b = np.array([[3, 3, 1], [1, 2, 3]])

print(a)
print(b)

c = a + b
print (‘hasil penjumlahan a + b : \n’, c)

b. Pengurangan
Cobalah script berikut ini:
import numpy as np

a = np.array([[1, 2, 1], [2, 1, 2]])


b = np.array([[3, 3, 1], [1, 2, 3]])

print(a)
print(b)

c = a + b
print (‘hasil penjumlahan a + b : \n’, c)

c. Perkalian
Cobalah script berikut ini:
import numpy as np

a = np.array([[1, 2, 1], [2, 1, 2]])


b = np.array([[3, 3], [1, 2], [2, 3]])

print(a)
print(b)

#Perkalian dot
c = np.dot(a,b)
print (‘hasil perkalian a x b : \n’, c)

d. Matriks Identitas
Cobalah script berikut ini:
import numpy as np

#Membuat matriks zero


a = np.zeros((4,4))
print(‘Matriks zero: \n’, a)

#Membuat matris satu


b = np.ones((4,4))
print(‘Matriks one: \n’, b)

#Membuat matriks identitas


c = np.identity((4,4))
print(‘Matriks Identitas: \n’, c)

E. Laporan dan Analisis


Tugas yang harus dilampirkan pada laporan berupa:
1. Screenshot hasil program dari hasil perhitungan soal no 3 pada bagian tugas
pendahuluan!
2. Apakah perbedaan antara perkalian scalar dan vector pada matriks yang anda
lakukan?
3. Apakah yang dimaksud dengan matrik singular dan non-singular? Apakah matriks B
dan D bisa di inversikan? Kaitkan dengan syarat matriks bisa diinversikan!

F. Referensi
[1] Chapra,S.C.,Canale,R.P.,1990, Numerical Method for Engineers.
[2] Abdullah, Agus, dkk. 2007. Modul Praktikum Komputasi Universitas Pertamina. UP:
Bandung
[3] Dahrin, Darharta, dkk. 2007. Modul Praktikum Komputasi ITB. ITB: Bandung.

Anda mungkin juga menyukai