Modul 1 PDF
Modul 1 PDF
KOMPUTASI GEOFISIKA
TG2240R
Disusun oleh:
Cahli Suhendi, S.Si.,M.T dan Ruhul Firdaus, S.T.,M.T.
Penerjemah bahasa:
Asisten Praktikum 2019
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).
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++.
(1)
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:
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
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)
Script:
data = [1, 2, 3, 4, 5, 3, 4, 10, 3]
#Kondisi
if (data[2] == 3):
print(‘Benar’)
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
2. Operasi Matriks
a. Penjumlahan
Cobalah script berikut ini:
import numpy as np
print(a)
print(b)
c = a + b
print (‘hasil penjumlahan a + b : \n’, c)
b. Pengurangan
Cobalah script berikut ini:
import numpy as np
print(a)
print(b)
c = a + b
print (‘hasil penjumlahan a + b : \n’, c)
c. Perkalian
Cobalah script berikut ini:
import numpy as np
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
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.