Anda di halaman 1dari 8

Pertemuan04_Matriks

September 23, 2020

1 Praktikum Komputasi Geofisika Pertemuan 04: Matriks


1.1 Numpy
Numpy (Numerical Python) adalah package/modul/library python yang menyediakan program-
ming array untuk mempermudah melakukan scientific computing. Numpy menyediakan syn-
tax/perintah yang powerful, kompak, dan mudah untuk mengakses, memanipulasi, dan meng-
operasikan data vektor, matriks, dan array berdimensi tinggi. Fungsi dari Numpy mirip dengan
list pada python. Keunggulan dari Numpy yaitu konsumsi memory yang lebih kecil dan waktu
run yang lebih cepat. Numpy sekarang sudah menjadi dasar dari scientific Python dimana banyak
libraries dan modul lainnya yang bergantung pada Numpy

Gambar 1. Posisi Numpy dan beberapa library yang membutuhkan Numpy untuk menangani array
dalam pemrogramannya (Harris et al., 2020)

1
Harris, C.R., Millman, K.J., van der Walt, S.J., Gommers, R., Virtanen, P., Cournapeau, D.,
Wieser, E., Taylor, J., Berg, S., Smith, N.J. and Kern, R., 2020. Array Programming with NumPy.
arXiv preprint arXiv:2006.10256.

1.2 1. Membuat Array dan Fungsi-fungsi Dasar


[ ]: import numpy as np # import modul numpy sebagai np

[ ]: #1.1 membuat array

import numpy as np # import modul numpy sebagai np


array1 = np.array([1,2,3,4,5]) # integer
array2 = np.array([6,7.8,9,10,11]) # float
listpython = [12,13,14.5,15,16] # menggunakan list python

print("Ini adalah Array NumPy : ", array1)


print("Ini adalah Array NumPy : ", array2)
print("Ini adalah List Python : ", listpython)

Variabel array1 berisi array NumPy yang seluruh datanya bertipe integer Variabel array2 berisi
array NumPy yang data-datanya ada yang bertipe float ataupun integer Variabel listpython berisi
list Python yang seluruh datanya bertipe integer
Data dalam list dapat berupa berbagai macam tipe data namum array hanya satu tipe data saja.
• untuk mengecek tipe data menggunakan fungsi type()

[ ]: # cara mengecek tipe data array


print(type (array1))
print(type (array2))
print(type (listpython))

# mengecek tipe data elemen pada array


print (array1.dtype)
print (array2.dtype)

tipe data dari array NumPy adalah ndarray atau singkatan dari n-dimensional array.

1.2.1 Fungsi-fungsi Dasar

[ ]: #1.2 Membuat vector menggunakan range


rangenp = np.arange(0,10,3) # membuat vektor dengan range dari 0-10 dengan␣
,→increment 2

print(rangenp)

Terdapat 3 argumen pada fungsi arange(a,b,c) di atas. Maksudnya adalah : a adalah awal dari
himpunan data pada variabel rangenp b adalah batas akhir/akhir dari himpunan data pada variabel
rangenp. Setiap nilai dari batas akhir akan dikurangi 1(sama seperti ketika mengakses indeks pada

2
list Python) jadi apabila kita masukkan 10 maka yang menjadi batas akhirnya adalah 9(10-1) c
adalah increment dari data
[ ]: #1.3 Membuat linspace
linsp = np.linspace(0,22,4)
print(linsp)

linspace () berfungsi untuk menampilkan angka di dalam suatu range dengan jarak yang sama.
Data yang keluar dapat bertipe float karena terdapat operasi pembagian di dalam linspace
[ ]: #1.4 Membuat array multidimensi/Matriks
array_multi=np.array([(1,2,3,4,5),(6,7,8,9,10)])
print(array_multi)

[ ]: #1.5 Membuat matriks zeros


matriksnol = np.zeros((5,5))
print(matriksnol)

[ ]: #1.6 Membuat matriks ones


matrikssatu = np.ones((5,5))
print(matrikssatu)

[ ]: #1.6 Membuat matriks identitas


identity1 = np.identity(5)
identity2 = np.eye(5)
print(identity1)
print(identity2)

Untuk membuat matriks identitas berukuran nxn fungsi identity() hanya menampilkan matriks
identitas saja sedangkan fungsi eye() lebih kompleks

1.3 2. Operasi Aritmatika


[ ]: a = [1,2,3,4,5]
b = [6,7,8,9,10]

a_np = np.array([1,2,3,4,5])
b_np = np.array([6,7,8,9,10])

1. Penjumlahan (+)

[ ]: print("Penjumlahan list Python : ",a+b)


print("Penjumlahan array NumPy : ",a_np+b_np)

Penjumlahan list hanya menambahkan arraynya Penjumlahan dengan Numpy seperti penjumlahan
dalam matrix
2. Pengurangan (-)

3
[ ]: print("Pengurangan array NumPy : ",a_np-b_np)

3. Perkalian (*)

[ ]: print("Perkalian array NumPy : ",a_np*b_np)

4. Pembagian (/)

[ ]: print("Pembagian array NumPy : ",a_np/b_np)

Tidak bisa melakukan operasi pengurangan, perkalian, pembagian pada sesama list Python con-
tohnya :
[ ]: print("Pembagian array NumPy : ",a/b)

1.4 3. Indexing, Slicing, & Iterasi


[ ]: #3 Membuat array baru
pangkat3= np.arange(5)**3
print (pangkat3)

Gunakan fungsi shape untuk mengetahui bentuk/dimensi dari suatu array/matriks yang telah
kalian buat.
[ ]: print(pangkat3.shape)

Menambahkan elemen baru pada akhir array/matriks dengan menggunakan append()

[ ]: pangkat3 = (np.append(pangkat3,125))
print(pangkat3)

Menambahkan elemen baru pada akhir array/matriks dengan menggunakan delete()

[ ]: print(np.delete(pangkat3, 1))

Indexing
[ ]: #3.1 Mengambil data dari array
print('Elemen data ke 1 dari pangkat3=',pangkat3[0])
print('Elemen data ke 3 dari pangkat3=',pangkat3[3])
print('Elemen data terakhir dari pangkat3=',pangkat3[-1])

slicing
[ ]: #3.2 Slicing
print('Elemen data ke 1-3 dari pangkat3=',pangkat3[0:3])
print('Elemen data ke 4 sampai akhir dari pangkat3=',pangkat3[3:])
print('Elemen data dari awal sampai 4 dari pangkat3=',pangkat3[:4])

4
[ ]: #mengubah urutan nilai berdasarkan index
print(pangkat3[ : :-1])

Iterasi
[ ]: for i in pangkat3:
print('angka =',i)

1.5 4. Matriks
[ ]: a = np.array([(1,2),(4,5)])
b = np.array([(7,8),(10,11)])

print(a+b) # Hasil penjumlahan


print(a*b) # Hasil perkalian
print(a-b) # Hasil pengurangan
print(a/b) # Hasil pembagian

Catatan: perkalian di atas bukanlah perkalian matriks, tapi perkalian elemen dalam matriks.
Indexing Matriks Untuk mengambil nilai/elemen dari sebuah matriks menggunakan format :
nama_array[index_baris, index_kolom]

[ ]: #Untuk mengambil nilai/elemen dari sebuah matriks


print(a[1,1])

[ ]: # ambil baris ke 2
print(a[1])

[ ]: #ambil kolom ke 2
print(a[:,1])

[ ]: for baris in a:
print(baris)

for elemen in a.flat:


print(elemen)

Isi elemen matriks NumPy adalah array-array sehingga apabila kita menggunakan looping untuk
menampilkan elemen dari suatu matriks maka hasilnya adalah seperti baris pertama. Fungsi flat
digunakan untuk mendapatkan nilai dari tiap elemen pada matriks.
Perkalian Matriks
[ ]: #perkalian elemen
kali_elm = a*b
print(kali_elm)

#perkalian matrix

5
kali_mtx = np.dot(a,b)
print(kali_mtx)

Manipulasi Matriks
Mengubah bentuk matriks dengan fungsi: nama_array.shape(jumlah_baris, jumlah_kolom) dan
nama_array.ravel()

[ ]: a = np.arange(40) # Buat numpy array


print(a)

a.shape = (8,5)
print(a)

print(a.ravel()) #flatten aray

[ ]: #mengubah bentuk dengan menggunakan resize dan reshape


a.resize(3,10)
print(a)

a = np.reshape(a, (10,3))
print(a)

[ ]: #Transpose Matriks
print(a.T)
trans = np.transpose(a)
print(trans)

Stacking
[ ]: b = np.array(([1,2],[3,4]))
print(b)

c = np.array(([5,6],[7,8]))
print(c)

[ ]: # vertical stack dengan menggunakan vstack()


print(np.vstack((b,c)))

#horizontal stack dengan menggunakan hstack()


print(np.hstack((b,c)))

Split digunakan untuk memisahkan array/matriks dengan syarat jumlah elemen dari tiap hasil
array/matriks yg telah terbagi harus sama.

[ ]: print(np.split(a, 2), "\n")


print(np.split(b, 2))

6
[ ]: #memisahkan array secara horizontal
print(np.hsplit(a,3))

[ ]: #memisahkan array secara vertikal


print(np.vsplit(a, 5))

2 Tugas Praktikum 4
1. Tuliskan perbedaan shape, reshape, dan resize!
2. Buatlah suatu matrix n x 4 dimana nilai n adalah penjumlahan dari 2 angka terakhir nim
anda ditambahkan 1. Isi dari matrix adalah bilangan fibonnaci seperti contoh di bawah ini.

3. Diketahui suatu array [0,1,2,3,15,16,32,64,128,n] dimana n adalah 3 angka paling be-


lakang dari nim anda. Buatlah matrix binernya seperti contoh di bawah ini.

a. Tunjukkan baris
ke 7 dari matrix b. Tunjukkan elemen ke [x1,x2] dari matrix dimana x1 adalah angka kedua
terakhir nim dan x2 adalah angka terakhir nim (e.g. nim 31 x1 =3 x2=1). Jika angka nim
melebihi size matrix, tuliskan elemen paling akhir dari matrix.
4. Diketahui terdapat 10 hiposenter gempa pada suatu daerah dengan batasan koordinat -XX-
25 hingga XX+25 dimana XX adalah 2 angka terakhir nim yang tersebar secara random.

7
Hitung jarak masing-masing hiposenter tersebut ke Kota Bandung yang berada di koordinat
n,m dimana n adalah XX+2 dan m adalah XX+5. Gunakan fungsi np.random.uniform()
untuk mendapatkan nilai hiposenternya.

Anda mungkin juga menyukai