Anda di halaman 1dari 17

LAPORAN AKHIR PRAKTIKUM

KOMPUTASI GEOFISIKA TG2204

MODUL KE –1
PENGENALAN PYTHON DAN SISTEM MATRIKS
Oleh:
RIKA SOFIANTI 120120153

Asisten :
1. Yudha Styawan, S.T.
2. Nugroho Prasetyo, S.T.
3. Dani Puspita Sari 119120030
4. Johannes Kevin Simanjuntak 119120045
5. Maher Adventri Pardede 119120069
6. Mu’amar Hafiz 119120084
7. Bernard Cavin Ronlei 119120087
8. Kiki Harfianza 119120111
9. Omega Delima Munthe 119120114
10. Andika Bonardo Sipahutar 119120122

PROGRAM STUDI TEKNIK GEOFISIKA


JURUSAN TEKNOLOGI PRODUKSI DAN INDUSTRI
INSTITUT TEKNOLOGI SUMATERA
2022
I. 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.

II. 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 pythontidak bertentangan baik menurut definsi open
source maupun General Publik 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 adlah 1.2. Tahun 1995, Guido Pindahkan ke
CNRI sambil terus melanjutkan pengembangan oython. Versi terakhir yang
dikeluarkan adalah 1.6 tahun 2000. Guido dan para pengembang inti python
pindah ke BeOpen.com yang merupakan aebuah perusahaan komersial dan
membentuk BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen.
Setelah terdapat pembaharuan versi Python hingga mencapai Versi 3 sampai
saat ini. Pemilihan nama Python sendiri diambil dari sebuah acara televisi
yang lumayan terkenal yang bernama Mothy Python Flying Circus yang
merupakan acara sirkus favorit dari Guido van Rossum. (Kominfo, 2019).
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. Perbedaan lain yaitu
Python syntaxnya tidak menggunakan titik koma diakhir kode dan juga tidak
menggunakan kurawal untuk block program melainkan menggunakan tab,
sedangkan pemrograman lain biasanya diakhiri titik koma dan kurung
kurawal untuk block program. Sedangkan bahasa pemrograman lain mengenal
istilah array sedangkan di python list. (Ubaid, 2019).
Beberapa kelebihan python antara lain:
1. Mudah dipelajari, sintaksnya cukup sederhana dan mudah dimengerti
2. Mudah diaplikasikan dalam mengembangkan produk
3. Mendukung IoT (Internet of Things)
4. Fleksibel, dapat diintegrasikan dengan aplikasi yang ditulis dalam bahasa
pemrograman lain
5. Meningkatkan produktivitas dikarenakan memiliki banyak library dan
desain berorientasi objek yang bersih
6. Bersifat open source dan free sehingga dapat diunduh secara gratis dan
tidak perlu membeli lisensi.
Python juga sama seperti bahasa pemrograman lainnya yaitu memiliki
beberapa fitur yang dimiliki Pythonadalah :
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,
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,

III. Langkah Pengerjaan


A. Script

 Penjumlahan Matriks B + D

import numpy as np
b = np.array ([[1,3,5], [2,4,6], [3,5,2]])
d = np.array ([[2,3,1], [2,1,3], [3,5,2]])

print (b)
print (d)
e=b+d
print ('hasil penjumlahan :\n', e)

 Pengurangan Matriks B – D

import numpy as np
b = np.array ([[1,3,5], [2,4,6], [3,5,2]])
d = np.array ([[2,3,1], [2,1,3], [3,5,2]])

print (b)
print (d)
f=b-d
print ('hasil pengurannga :\n', f)

 Perkalian Matriks A x C
import numpy as np
a = np.array ([[1,3,5], [2,4,6], [3,5,2]])
c = np.array ([[3,1], [2,2], [1,3]])

print (b)
print (d)
g = np.dot (a,c)
print ('hasil perkalian :\n', g)

 Perkalian Matriks A.C


import numpy as np
a = np.array ([[2,1,2], [1,2,1]])
d = np.array ([[2,3,1], [2,1,3], [3,5,2]])

print (b)
print (d)
h = np.dot (a,d)

print ('hasil perkalian :\n', h)

 Determinan Matriks B
import numpy as np
b = np.array ([[1,3,5], [2,4,6], [3,5,2]])
print (b)
b_det = np.linalg.det (b)
print ('hasil determinan matriks B:\n', b_det)

 Inversi Matriks D
import numpy as np
d = np.array ([[2,3,1], [2,1,3], [3,5,2]])

print (d)
d_inv = np.linalg.inv (d)
print ('hasil invers matriks d:\n', d_inv)

B. Langkah Kerja
a. Penjumlahan Matriks
 Pertama, buat matriks B dan D nya.
 Kemudian, karena matriks B merupakan matriks 3x3 dan matriks D
merupakan matriks 3x3 maka hasilnya berupa matriks 3x3 juga.
 Matriks 0, disini mewakili elemen dari matriks yang akan dihasilkan.

 Buat perulangan dari baris matriks B.


 Buat perulangan dari kolom matriks B.
 Kemudian tambahkan baris matriks B dengan baris matriks D.

b. Pengurangan Matriks
 Pertama, buat matriks B dan D nya.
 Kemudian, karena matriks B merupakan matriks 3x3 dan matriks D
merupakan matriks 3x3 maka hasilnya berupa matriks 3x3 juga.
 Matriks 0, disini mewakili elemen dari matriks yang akan dihasilkan.
 Buat perulangan dari kolom matriks B.
 Buat perulangan dari baris matriks B.
 Kemudian kurangkan baris matriks B dengan baris matriks D.

c. Perkalian Matriks AxC


 Pertama, buat matriks A dan C nya.

 Kemudian, karena matriks A merupakan matriks 3x2 dan matriks C


merupakan matriks 3x3 maka hasilnya berupa matriks 2x2.
 Matriks 0, disini mewakili elemen dari matriks yang akan dihasilkan.
 Buat perulangan dari baris matriks A.
 Buat perulangan dari kolom matriks C
 Ulangi untuk baris C.
 Kemudian kalikan baris matriks A dengan kolom matriks C.

d. Perkalian matriks A.C


 Pertama, buat matriks A dan C nya.
 Kemudian, karena matriks A merupakan matriks 2x3 dan matriks C
merupakan matriks 3x3 maka hasilnya berupa matriks 3x2.
 Matriks 0, disini mewakili elemen dari matriks yang akan dihasilkan.
 Buat perulangan dari baris matriks A.
 Buat perulangan dari kolom matriks C
 Ulangi untuk baris C
 Kemudian kalikan baris matriks A dengan kolom matriks C.

e. Determinan Matriks B
 Masukkan array sementara untuk menyimpan baris.
 Inisialisasi hasilnya.
 Kemudian buat perulangan untuk melintasi elemen diagonal.  Inisialisasi
indeksnya
 Temukan indeks yang memiliki nilai bukan nol.
 Jika ada elemen bukan nol maka matriks akan melanjutkan determinan dari
matriks sebagai nol.
 Buat perulangan untuk menukar baris elemen diagonal dan baris indeks.
 Tanda determinan berubah ketika kita menggeser baris.
 Kemudian simpan nilai elemen baris diagonal.
 Melintasi setiap baris di bawah elemen diagonal.
 Num 1=temp[i] untuk elemen diagonal.
 Num2 = B[j][i] untuk nilai elemen baris berikutnya.
 Melintasi setiap kolom baris dan mengalikan ke setiap baris
 Melintasi setiap kolom baris dan mengalikan ke setiap baris
 Kemudian kalikan elemen secara diagonal untuk mendapatkan
determinannya. f. Invers Matriks B
 Pertama cari determinan matriksnya
 Kemudian cari kofaktor dan adjoin untuk mendapatkan invers matriks B
C. Diagram Alir
Penjumlahan dan pengurangan matriks

Mulai

Input Matriks

Tambakan kedua Kuranngkan


elemen matriks kedua elemen
matriks

Run

Perkalian Matriks

Mulai

Input
matriks

Ulangi Baris dan


Kolom

Kalikan setiap diagonal


elemen matriksnya

Run
Determinan Matriks

Mulai

Input array
sementara

Insialisasi

Buat Perulangan

Insialisasi Indeks

Sampai Nilai Elemen Baris


Diogonal

Kalikan Matriks

Run
Invers Matriks
Mulai

Input
Baris

Print

Cari Determinan

Cari Kofaktor

Cari Adjoin

Kalikan Matriks

Run
IV. Hasil Dan Pembahasan
A. Hasil
Penjumalahan Matriks B dan D

Pengurangan Matriks B dan D


Perkalian Matriks A x C

Perkalian Matriks A.C


Determinan Matriks B

Invers Matrik D

Apakah Perbedaaan antara perkalian Scalar dan vektor pada matriks yang
anda lakukan?
Perbedaan antara perkalian scalar dan vector pada matriks pada perkalian
scalar operasi perkalian skalar mariks akan menghasilkan matriks yang sama
dengan ukuran matriks pengalinya sedangkan vector berbeda dengan ukuran
matriks pengalinya.
Apakah yang dimaksud dengan matriks singular dan non-singular?Apakah
matriks B adan D bisa diinversikan? Kaitkan dengan syarat matriks bisa
diinversikan!
Jika nilai determinan suatu matriks persegi = 0, maka matriks tersebut tidak
mempunyai matriks balikan/invers matriks.
 Matriks yang tidak mempunyai invers matriks disebut matriks
singular.
 Matriks yang nilai determinannya tidak sama dengan 0, maka matriks
tersebut mempunyai invers atau disebut matriks non singular. Matriks
B,D,E dapat di inverskan karena matriks tersebut memiliki nilai
determinan yang tidak sama dengan 0.

Jelaskan perbedaan dari while loop dan nested loop?


While Loop adalah perulangan uncountable atau perulangan yang jumlah
proses pengulangannya tidak ditentukan. Ia akan menjalankan baris kode di
dalam blok kodenya secara terus menerus selama masih memenuhi ekspresi
yang sudah ditentukan sebelumnya, yang berarti ia akan terus mengulang
selama kondisi bernilai True. Sedangkan nested loop adalah sebuah
perulangan yang berada atau terletak di dalam perulangan yang lain.
Jelaskan fungsi dari masing – masing script, contoh : import modul, if else,
array, dan print!
import berfungsi untuk multi file maksudnya yaitu kita dapat memanggil file
lain di dalam satu module yang berbeda
If, else Kondisi if digunakan untuk mengeksekusi kode jika kondisi bernilai
benar True . Jika kondisi bernilai salah False maka statement/kondisi if tidak
akan di-eksekusi.
Array yaitu berfungsi untuk menyimpan data maupun referensi objek dalam
jumlah banyak dan terindeks. Sehingga sejumlah variabel dapat
menggunakan nama yang sama.
Dan print digunakan untuk mencetak ouput program di layar.

V. Kesimpulan
Python merupakan bahasa pemrograman dinamis yang mendukung
pemrograman berbasis objek. Matriks memiliki banyak jenis, ada matriks
kuadrat yang mana antara baris dan kolom sama banyaknya, matriks
diagonal yang diluar diagonal utama berupa nol, matriks simetrisjika
elemen dibawah diagonal cerminan elemen atas diagonal, matriks
identitas yang diagonal utamanya bernilai 1 selainnya bernilai 0 dan lain-
lain. Mahasiswa mampu menerapkan operasi matriks 2D menggunakan
bahasa python.
Daftar Pustaka
M, L. (2022, Maret 22). Apa saja kegunaan python? Retrieved April 3, 2022, from
BitDegree: https://id.bitdegree.org/tutorial/kegunaan-python

Kominfo, B. (2019, September 2). BAHASA PEMROGRAMAN PYTHON :


PENGERTIAN, SEJARAH, KELEBIHAN DAN KEKURANGANNYA. Retrieved April
3, 2022, from baktikominfo.id:
https://www.baktikominfo.id/en/informasi/pengetahuan/bahasa_pemrograma
n_python_pengertian_sejarah_kelebihan_dan_kekurangannya-954

Khasanah, L. U. (2021, September 22). Kenali Kelebihan, Kekurangan, Penerapan Serta


Cara Mendownloadnya. Retrieved April 3, 2022, from dqlab.id:
https://www.dqlab.id/belajar-python-kenali-kelebihan-kekurangan-penerapan serta-cara-
mendownloadnya
LAMPIRAN
Bukti Kehadiran

Link Google Collab : https://colab.research.google.com/drive/1kXKTyIPq8-


e17AX6-rHKwKbVRpDMaUhe?usp=sharing

Anda mungkin juga menyukai