Anda di halaman 1dari 23

In [33]:

# Dewi Rizki Fitriani


# 11180940000046
# Matematika -4A
# Algoritma dan Pemrograman
In [34]:

#Video 1
#NumPy 02
#Membuat NumPy Array
#Membuat Vektor
import numpy as np
print("Membuat Vektor")
a = np.array([1,2,3,4,5])
b = np.array ([1.5, 2.5, 5, 6, 7])
print(a)
print("\n")

#Membuat vektor dengan range


print("Membuat Vektor dengan range")
c = np.arange(1,10,1)
#kita menggunakan np karena untuk membedakan yang mana fungsi dari python dan fungs
i dari NumPy
#Dimana 1 sebagai batas bawah dan 10 sebagai batas atas, kemudan stepnya 1
#Stepnya bisa kita ganti dengan 2, atau dalam bentuk float
print(c)
print("\n")

#Membuat linspace
print("Membuat Linspace")
d = np.linspace(1,10,4)
print(d)
#Disini 1 - 10 dibagi menjadi 4 bagian")
#Kita menampilkan 4 angka 1 - 10 dengan jarak yang sama")
print("\n")

#Membuat array multidimensi/matrix


print("Membuat Array Multidimensi/Matrix")
e = np.array( [ (1,2,3) , (4,5,6) ])
#misalkan (1, 2, 3) baris pertama dan (4, 5, 6) baris ke 2")
print(e)
print("\n")

#Membuat matriks dengan nilai 0


print("Membuat Matriks dengan Nilai 0")
f1 = np.zeros((5)) #ini merupakan bentuk vektor
print(f1)
f2 = np.zeros((5,5)) #ini merupakan matrix karna membuat matrix 5x5
print(f2)
print("\n")

#Membuat matriks dengan nilai 1


print("Membuat Matriks dengan Nilai 1")
g = np.ones((5,5))
print(g)
print("\n")

#Membuat matriks identitas


#Dimana diagonal dari matriks itu bernilai 1
print("Membuat Matriks identitas")
h = np.identity(5)
print(h)
h1 = np.eye(5)
print(h1)
Membuat Vektor
[1 2 3 4 5]

Membuat Vektor dengan range


[1 2 3 4 5 6 7 8 9]

Membuat Linspace
[ 1. 4. 7. 10.]

Membuat Array Multidimensi/Matrix


[[1 2 3]
[4 5 6]]

Membuat Matriks dengan Nilai 0


[0. 0. 0. 0. 0.]
[[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]]

Membuat Matriks dengan Nilai 1


[[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]]

Membuat Matriks identitas


[[1. 0. 0. 0. 0.]
[0. 1. 0. 0. 0.]
[0. 0. 1. 0. 0.]
[0. 0. 0. 1. 0.]
[0. 0. 0. 0. 1.]]
[[1. 0. 0. 0. 0.]
[0. 1. 0. 0. 0.]
[0. 0. 1. 0. 0.]
[0. 0. 0. 1. 0.]
[0. 0. 0. 0. 1.]]
In [2]:

#Video 2
#NumPy 03 Operasi Aritmatika

import numpy as py
# List python
print("- List Python")
a = [1,2,3,4,5]
b = [6,7,8,9,10]
print('a = ',a)
print('b = ',b)
print("\n")

# Penjumlahan
print("Penjumlahan List Python")
hasil1 = a + b
print(hasil1)
print("\n")

#ELEMENTWISE OPERATION (operasinya dilakukan secara perelemen)

# Array numpy
print("- Array numpy")
anp = np.array([1,2,3,4,5])
bnp = np.array([6,7,8,9,10])
print('anp = ',anp)
print('bnp = ',bnp)
print("\n")

# Berikut merupakan operasi-operasi yang dilakukan secara elementwise

print("Elementwise Operation")
# Penjumlahan
print('1. Penjumlahan anp dan bnp')
hasil2 = anp + bnp
print(hasil2)
print("\n")

# Pengurangan
print('2. Pengurangan anp dan bnp')
hasil3 = anp - bnp
print(hasil3)
print("\n")

# Perkalian
print('3. Perkalian anp dan bnp')
hasil4 = anp * bnp
print(hasil4)
print("\n")

# Pembagian
print('4. Pembagian anp dan bnp')
hasil5 = anp / bnp
print(hasil5)
print("\n")

# Kuadrat
print('5. Kuadrat anp')
hasil6 = anp**2
print(hasil6)
print("\n")

# Multidimensi array numpy


print('- Multidimensi Array NumPy')
c = np.array(([1,2,3],[4,5,6]))
d = np.array(([7,8,9],[-1,-2,-3]))
print('c = ')
print(c)
print('d = ')
print(d)
print("\n")

# Penjumlahan Matriks
hasil7 = c + d
print('1. Penjumlahan Matriks c dan d')
print(hasil7)
print("\n")

# Perkalian Matriks
hasil8 = c * d # Bukan perkalian matriks biasa, tapi perkalian NumPy yang elementwise o
peration (operasi per-elemen)
print('2. Perkalian Matriks c dan d')
print(hasil8)
- List Python
a = [1, 2, 3, 4, 5]
b = [6, 7, 8, 9, 10]

Penjumlahan List Python


[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

- Array numpy
anp = [1 2 3 4 5]
bnp = [ 6 7 8 9 10]

Elementwise Operation
1. Penjumlahan anp dan bnp
[ 7 9 11 13 15]

2. Pengurangan anp dan bnp


[-5 -5 -5 -5 -5]

3. Perkalian anp dan bnp


[ 6 14 24 36 50]

4. Pembagian anp dan bnp


[0.16666667 0.28571429 0.375 0.44444444 0.5 ]

5. Kuadrat anp
[ 1 4 9 16 25]

- Multidimensi Array NumPy


c =
[[1 2 3]
[4 5 6]]
d =
[[ 7 8 9]
[-1 -2 -3]]

1. Penjumlahan Matriks c dan d


[[ 8 10 12]
[ 3 3 3]]

2. Perkalian Matriks c dan d


[[ 7 16 27]
[ -4 -10 -18]]
In [3]:

#Video 3
#NumPy 04 Indexing, Slicing, dan Iterasi

import numpy as np
a = np.arange(10)**2
print(a)
#Mengambil nilai( indexing)
print("Elemen ke 1 dari a adalah ", a[0])
print("Elemen ke 7 dari a adalah ", a[6])
print("Elemen terakhir dari a adalah ", a[-1]) #sama seperti list untuk mengambil eleme
n terakhir kita gunakan -1, - itu mulainya dari belakang
print("\n")

#Slicing
print("Elemen dari 1-5 adalah ", a[0:5]) #(start,end)
print("Elemen dari 4 sampai akhir ", a[3:])
print("Elemen dari awal sampai 5 " ,a[:5])
print("\n")

#Iterasi ( Pengulangan )
for i in a:
print("value = ", i) #Output value i di a

[ 0 1 4 9 16 25 36 49 64 81]
Elemen ke 1 dari a adalah 0
Elemen ke 7 dari a adalah 36
Elemen terakhir dari a adalah 81

Elemen dari 1-5 adalah [ 0 1 4 9 16]


Elemen dari 4 sampai akhir [ 9 16 25 36 49 64 81]
Elemen dari awal sampai 5 [ 0 1 4 9 16]

value = 0
value = 1
value = 4
value = 9
value = 16
value = 25
value = 36
value = 49
value = 64
value = 81
In [4]:

#Video 4
#NumPy 05 Perkalian Matriks

#Misalkan kita mempunyai 2 Matriks 2x2, anggap matriks A dan Matriks B


#Perkalian matriks itu dengan cara mengalikan dan menjumlahkan antara jumlah kolom
dan baris
import numpy as np

#Kita buat Matriks 2x2


a = np.array(([1,2],
[3,4]))
print("matriks a: ")
print(a)
print("\n")

b = np.ones([2,2])
print("matriks b: ")
print(b)

#perkalian matriks
c1 = a*b #merupakan perkalian biasa
print(c1)
print("\n")

#Menggunakan NumPy
print("1. Menggunakan numpy")
c2 = np.dot(a,b) #merupakan perkalian matriks
print("matriks c2: ")
print(c2)
print("\n")

#Menggunakan Object Oriented Programming


print("2. Menggunakan Object Oriented Programming")
c3 = a.dot(b) #objek b di masukkan kedalam fungsi dot pada objek a
print("matriks c3: ")
print(c3)
matriks a:
[[1 2]
[3 4]]

matriks b:
[[1. 1.]
[1. 1.]]
[[1. 2.]
[3. 4.]]

1. Menggunakan numpy
matriks c2:
[[3. 3.]
[7. 7.]]

2. Menggunakan Object Oriented Programming


matriks c3:
[[3. 3.]
[7. 7.]]
In [5]:

#Video 5
#NumPy 06 Manipulasi Matriks

#Akan memanipulasi bentuk matriks


#Misalkan kita ingin mentranpose atau mengubah menjadi vektor
import numpy as np
a = np.array((
[1,2,3],
[4,5,6]
)) #Matriks dengan ukuran (2x3)
print("Matriks a dengan ukuran: ", a.shape)
print(a)
print("\n")

#Membuat Transpose Matriks


print("Transpose matriks dari a: ")
print(a.transpose())
print("Matriks a dengan ukuran: ", a.shape)
print("\n")
print("Membuat transpose dengan menggunakan NumPy")
print(np.transpose(a)) #Kita menggunakan NumPy
#print(a.T)
print("\n")

#Flatten array, vektor baris


print("Flatten Matriks a: " )
print(a.ravel())
print("Matriks a dengan ukuran: ", a.shape)
print("\n")

#Reshape matriks
print("Reshape matriks a: ") #mengubah urutannya, akan tetapi tidak merubah ukuran asli
dari matriks 2x3
print(a.reshape(3,2))
print("Matriks a dengan ukuran: ", a.shape)
print("\n")

#Resize matriks
print("Reshape matriks a: ")
a.resize(3,2)
print(a)
print("Matriks a dengan ukuran: ", a.shape)
Matriks a dengan ukuran: (2, 3)
[[1 2 3]
[4 5 6]]

Transpose matriks dari a:


[[1 4]
[2 5]
[3 6]]
Matriks a dengan ukuran: (2, 3)

Membuat transpose dengan menggunakan NumPy


[[1 4]
[2 5]
[3 6]]

Flatten Matriks a:
[1 2 3 4 5 6]
Matriks a dengan ukuran: (2, 3)

Reshape matriks a:
[[1 2]
[3 4]
[5 6]]
Matriks a dengan ukuran: (2, 3)

Reshape matriks a:
[[1 2]
[3 4]
[5 6]]
Matriks a dengan ukuran: (3, 2)
In [6]:

#Video 6
#Numpy 07 Stacking Matriks ( Menggabungkan atau menumpukkan matriks)

import numpy as np

a = np.array([1,2,3])
b = np.array([4,5,6])
print('a = ',a)
print('b = ',b)
print("\n")

aMat = np.zeros((2,2)) #matriks


bMat = np.ones((2,2)) #matriks
print('aMat = ')
print(aMat)
print('bMat = ')
print(bMat)
print("\n")

#stacking matriks, menumpuk matriks


print("Menggabukan Vektor a dan b secara horizontal: ")
c = np.hstack((a,b)) #h untuk horizontal
print(c)
print("\n")
print("Menggabukan Vektor a dan b secara vertikal: ")
d = np.vstack((a,b)) #v untuk vertikal
print(d)
print("\n")

print("Menggabungkan matriks aMat dan bMat secara horizontal")


cMat = np.hstack((aMat,bMat)) #gabungan horizontal matriks aMat dan bMat
print(cMat) #bisa dirun jika jumlah barisnya sama
print("\n")
print("Menggabungkan matriks aMat dan bMat secara vertikal")
dMat = np.vstack((aMat,bMat)) #gabungan vertikal matriks aMat dan bMat
print(dMat) #bisa dirun jika jumlah kolomnya sama
a = [1 2 3]
b = [4 5 6]

aMat =
[[0. 0.]
[0. 0.]]
bMat =
[[1. 1.]
[1. 1.]]

Menggabukan Vektor a dan b secara horizontal:


[1 2 3 4 5 6]

Menggabukan Vektor a dan b secara vertikal:


[[1 2 3]
[4 5 6]]

Menggabungkan matriks aMat dan bMat secara horizontal


[[0. 0. 1. 1.]
[0. 0. 1. 1.]]

Menggabungkan matriks aMat dan bMat secara vertikal


[[0. 0.]
[0. 0.]
[1. 1.]
[1. 1.]]
In [7]:

#Video 7
#NumPy 08 Cara Advance Membuat Array

import numpy as np

# Membuat matriks dengan tipe data tertentu


a = np.array(([1,2,3],
[3,4,5]), dtype = float) # karena bertipe float, maka pada outputnya meng
hasilkan titik
print("Membuat matriks dengan tipe data tertentu, (contoh bertipe float)")
print(a)
print("\n")

# Membuat matriks dengan menggunakan function

def kuadrat(baris,kolom) :
return kolom**2

def jumlah(baris,kolom) :
return (kolom+baris)

b = np.array([1,2,3,4,5,6,7,8,9])
print("b = ",b)
print("Hasil kuadrat elemen baris 1 kolom 5")
print(kuadrat(1,5))
print("\n")

print("Membuat matriks dengan fungsi kuadrat")


c = np.fromfunction(kuadrat, (1,10), dtype = int) #(fungsi, ukuran matriks, tipe)
print(c)
print("\n")
print("Membuat matriks dengan fungsi jumlah")
d = np.fromfunction(jumlah, (4,4), dtype = float)
print(d)
print("\n")

# Membuat array atau matriks dengan menggunakan iterasi (iterable)

print("Membuat array atau matriks dengan menggunakan iterasi (iterable)")


iterable = (x*x for x in range(5)) # x yang dikuadratkan untuk setiap x yang ada di ran
ge 0 sampai 5
e = np.fromiter(iterable, dtype = int)
print(e)
print("\n")

# multitype array

dtipe = [('nama','S255'),('tinggi',int)] # S255 : tipe string maksimal 255


data = [
('ucup', 150),
('otong', 160),
('mario', 180)
]
print("data = ",data)
print("\n")
print("Menunjukkan array 'data' dengan tipe 'dtipe'")
f = np.array(data, dtype = dtipe)
print(f)
print(f[0])
Membuat matriks dengan tipe data tertentu, (contoh bertipe float)
[[1. 2. 3.]
[3. 4. 5.]]

b = [1 2 3 4 5 6 7 8 9]
Hasil kuadrat elemen baris 1 kolom 5
25

Membuat matriks dengan fungsi kuadrat


[[ 0 1 4 9 16 25 36 49 64 81]]

Membuat matriks dengan fungsi jumlah


[[0. 1. 2. 3.]
[1. 2. 3. 4.]
[2. 3. 4. 5.]
[3. 4. 5. 6.]]

Membuat array atau matriks dengan menggunakan iterasi (iterable)


[ 0 1 4 9 16]

data = [('ucup', 150), ('otong', 160), ('mario', 180)]

Menunjukkan array 'data' dengan tipe 'dtipe'


[(b'ucup', 150) (b'otong', 160) (b'mario', 180)]
(b'ucup', 150)
In [11]:

#Video 8
#NumPy 09 Sorting NumPy Array

#Ingin mengurutkan atau ordering dari array yang kita punya dengan NumPy

import numpy as np

#1 dimensi
print("1. Satu Dimensi")
a = np.random.randn(1,6) #syntax untuk mengenerate array agar random( acak )
print(a)
a1 = np.random.randn(1,6)*10 #array yang random dikalikan dengan 10
print(a1)
a2 = np.floor(np.random.randn(1,6)*10) #akan dibulatkan kebawah angkanya agar membentuk
bilangan bulat
print(a2)
print("\n")

#Maksimum
print("Nilai maksimum dari a2 = ", a2.max()) #
print("Posisi maximum dari a2 = ", a2.argmax()) #argumen dari maksimum untuk mengetahui
posisinya
print("\n")

#minumum
print("Nilai minimum dari a2 = ", a2.min())
print("Posisi minimum dari a2 = ", a2.argmin()) #argumen dari maksimum untuk mengetahui
posisinya
print("\n")

print("Mengurutkan nilai a2: ")


print(np.sort(a2))
print(np.argsort(a2)) #Mengurutkan berdasarkan argumen
print("\n")

#2. Dua Dimensi


print("2. Dua Dimensi")
b = np.floor(np.random.randn(2,2)*10) #Disini membentuk matriks 2x2
print(b)
print("\n")

#Maksimum
print("Nilai maksimum dari b = ", b.max()) #
print("Posisi maximum dari b = ", b.argmax()) #argumen dari maksimum untuk mengetahui p
osisinya
print("\n")

#minumum
print("Nilai minimum dari b = ", b.min())
print("Posisi minimum dari b = ", b.argmin()) #argumen dari maksimum untuk mengetahui p
osisinya
print("\n")

print("Mengurutkan nilai b: ")


print(np.sort(b))
print("Mengurutkan berdasarkan posisi d barisnya, sebagai 0 dan 1 : ")
print(np.argsort(b)) #Mengurutkan berdasarkan argumen, diururtkannya sesuai baris 0 1
print("\n")
#Mengurutkan berdasarkan data yang ada (Multitype array)
dtipe = [("Nama","S10"),("tinggi",int)]
data = [
("Ucup", 170),
("Otong", 150),
("Mario", 160)
]

c = np.array(data, dtype = dtipe)


print(c)
print("\n")
print("Diurutkan berdasarkan tinggi: ")
print(np.sort(c, order = "tinggi"))
print("\n")
print("Diurutkan berdasarkan nama: ")
print(np.sort(c, order = "Nama"))
1. Satu Dimensi
[[ 0.90472479 1.01009632 0.61545379 -0.68455882 -0.27795653 -0.6671108
4]]
[[ -9.17010886 2.94406585 1.5854796 7.7760714 -7.06160826
-17.14119081]]
[[-12. -17. 6. 7. 6. 8.]]

Nilai maksimum dari a2 = 8.0


Posisi maximum dari a2 = 5

Nilai minimum dari a2 = -17.0


Posisi minimum dari a2 = 1

Mengurutkan nilai a2:


[[-17. -12. 6. 6. 7. 8.]]
[[1 0 2 4 3 5]]

2. Dua Dimensi
[[ 31. 9.]
[ 0. -13.]]

Nilai maksimum dari b = 31.0


Posisi maximum dari b = 0

Nilai minimum dari b = -13.0


Posisi minimum dari b = 3

Mengurutkan nilai b:
[[ 9. 31.]
[-13. 0.]]
Mengurutkan berdasarkan posisi d barisnya, sebagai 0 dan 1 :
[[1 0]
[1 0]]

[(b'Ucup', 170) (b'Otong', 150) (b'Mario', 160)]

Diurutkan berdasarkan tinggi:


[(b'Otong', 150) (b'Mario', 160) (b'Ucup', 170)]

Diurutkan berdasarkan nama:


[(b'Mario', 160) (b'Otong', 150) (b'Ucup', 170)]
In [22]:

#Video 9
#NumPy 10 Perkalian Vektor ( dot dan cross )

import numpy as np

# 2- dimensi
print("1. 2 Dimensi")
a = np.array([1,3])
b = np.array([2,1])
print("Perkalian dot")
c = np.dot(a,b)
print(c, "\n")

#3-Dimensi
print("2. 3 Dimensi")
a1 = np.array([1,3,2])
b1 = np.array([3,0,2])
print("Perkalian dot")
c1 = np.dot(a1,b1)
print(c1, "\n")

#Perkalian Cross
print("Perkalian Cross")
d = np.array([1,2,0])
e = np.array([2,1,0])
f = np.cross(d,e)
f1 = np.cross(e,d)
print("Perkalian cross d dengan e : ")
print("kearah negatif ", f ,"\n")
print("Perkalian cross e dengan d : ")
print("ke arah positif ", f1,"\n")

1. 2 Dimensi
Perkalian dot
5

2. 3 Dimensi
Perkalian dot
7

Perkalian Cross
Perkalian cross d dengan e :
kearah negatif [ 0 0 -3]

Perkalian cross e dengan d :


ke arah positif [0 0 3]
In [24]:

#Video 10
#NumPy 11 Invers dan Determinan

import numpy as np
a = np.array([(1,-1),(1,1)])
print('a: ')
print(a)
print("\n")

#Invers matriks
a_inv = np.linalg.inv(a)
print("Invers dari a")
print(a_inv)
print("\n")
print("Memastikan apakah invers a sudah benar (perkalian suatu matriks dengan inversnya
akan menghasilkan matriks identitas)")
print(np.dot(a,a_inv)) # hasilnya akan menjadi matriks identitas
print("\n")

#Determinan matriks
print("Determinan matriks a")
det_a = np.linalg.det(a)
print(det_a)
print("\n")
print("Determinan invers a")
det_a_inv = np.linalg.det(a_inv)
print(det_a_inv)

a:
[[ 1 -1]
[ 1 1]]

Invers dari a
[[ 0.5 0.5]
[-0.5 0.5]]

Memastikan apakah invers a sudah benar (perkalian suatu matriks dengan inv
ersnya akan menghasilkan matriks identitas)
[[1. 0.]
[0. 1.]]

Determinan matriks a
2.0

Determinan invers a
0.5
In [26]:

#Video 11
#NumPy 12 SOlusi Persamaan Linear

import numpy as np
print("Menyelesaikan persamaan linear Y = A*X ")

A = np.array([(2,3),(1,2)])
Y = np.array([(23),(14)])
print("A: ")
print(A)
print("Y: ")
print(Y)
print("\n")
A_inv = np.linalg.inv(A)

# Menyelesaikan persamaan linear


print('Mencari X')
print('1. Cara 1')
X1 = np.dot(A_inv, Y)
print(X1)
print('2. Cara 2')
X2 = np.linalg.solve(A,Y)
print(X2)

Menyelesaikan persamaan linear Y = A*X


A:
[[2 3]
[1 2]]
Y:
[23 14]

Mencari X
1. Cara 1
[4. 5.]
2. Cara 2
[4. 5.]
In [31]:

#Video 12
#NumPy 13 Plot Data dengan Matplotlib

import numpy as np
import matplotlib.pyplot as plt

#Membuat Persamaan garis


# y = 2x + 3

print('Persamaan garis y = 2x+3')


x = np.arange(0,11,1)
y = 2*x + 3
print('x = ',x)
print('y = ',y)

plt.figure(1) # gambar
plt.plot(x,y) # titik (x,y)
plt.show() # menampilkan grafik

# lingkaran
print ('Lingkaran dengan jari-jari 5')
jari2 = 5
sudut = np.linspace(0,2*np.pi,100)
x1 = jari2*np.cos(sudut)
y1 = jari2*np.sin(sudut)

plt.figure(2)
plt.plot(x1,y1)
plt.show()
Persamaan garis y = 2x+3
x = [ 0 1 2 3 4 5 6 7 8 9 10]
y = [ 3 5 7 9 11 13 15 17 19 21 23]

Lingkaran dengan jari-jari 5

In [ ]:

Anda mungkin juga menyukai