├── 01-instalasi package numpy └── Main.py ├── 02-membuat numpy array └── Main.py ├── 03-operasi aritmatika └── Main.py ├── 04-indexing,slicing,iterasi └── Main.py ├── 05-Perkalian Matrix └── Main.py ├── 06-shape manipulation └── Main.py ├── 07-stacking matrix └── Main.py ├── 08-Advanced Array creation └── Main.py ├── 09-ordering ├── Main.py ├── Main2.py └── Main3.py ├── 10-perkalian dot dan cross └── main.py ├── 11-invers matrix └── main.py ├── 12-menyelesaikan persamaan linear └── main.py ├── 13-visualisasi data dengan matplotlib └── main.py └── README.md /01-instalasi package numpy/Main.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | a = np.array([1,2,3,4,5]) 4 | b = [1,2,3,4,5] 5 | 6 | print(a) 7 | print(b) 8 | 9 | a = a + 1 10 | b = b + [1] 11 | 12 | print(a) 13 | print(b) -------------------------------------------------------------------------------- /02-membuat numpy array/Main.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | # membuat vector 4 | a = np.array([1,2,3,4,5]) 5 | b = np.array([1.5 , 2.5, 5, 6, 7]) 6 | 7 | # membuat vector dengan range 8 | c = np.arange(1,10,2) 9 | 10 | # membuat linspace 11 | d = np.linspace(1,10,4) 12 | 13 | # array multidimensi / matrix 14 | e = np.array( [ (1,2,3) , (4,5,6)] ) 15 | 16 | # matrix dengan nilai nol 17 | f = np.zeros((5,5)) 18 | 19 | # matrix dengan nilai satu 20 | g = np.ones((5,5)) 21 | 22 | # matrix identitas 23 | h1 = np.identity(5) 24 | h2 = np.eye(5) 25 | 26 | # display 27 | 28 | print(h2) -------------------------------------------------------------------------------- /03-operasi aritmatika/Main.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | # list python 4 | a = [1,2,3,4,5] 5 | b = [6,7,8,9,10] 6 | 7 | # array numpy 8 | anp = np.array([1,2,3,4,5]) 9 | bnp = np.array([6,7,8,9,10]) 10 | 11 | # ELEMENTWISE operation 12 | # penjumlahan 13 | hasil = anp + bnp 14 | 15 | # pengurangan 16 | hasil = anp - bnp 17 | 18 | # perkalian 19 | hasil = anp * bnp 20 | 21 | # pembagian 22 | hasil = anp / bnp 23 | 24 | # kuadrat 25 | hasil = anp**2 26 | 27 | # multidimensi array numpy 28 | 29 | c = np.array(([1,2,3],[4,5,6])) 30 | d = np.array(([7,8,9],[-1,-2,-3])) 31 | 32 | hasil = c + d 33 | hasil = c * d 34 | print(hasil) 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /04-indexing,slicing,iterasi/Main.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | a = np.arange(10)**2 4 | 5 | print(a) 6 | 7 | # mengambil nilai 8 | print('elemen ke 1 dari a adalah', a[0]) 9 | print('elemen ke 7 dari a adalah', a[6]) 10 | print('elemen ke akhir dari a adalah', a[-1]) 11 | 12 | # slicing 13 | print('elemen dari 1-6 adalah',a[0:6]) #[start,end) 14 | print('elemen dari 4 sampai akhir', a[3:]) 15 | print('elemen dari awal sampai 5', a[:5]) 16 | 17 | #iterasi 18 | for i in a: 19 | print('value =',i) -------------------------------------------------------------------------------- /05-Perkalian Matrix/Main.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | a = np.array(([1,2], 4 | [3,4])) 5 | b = np.ones([2,2]) 6 | 7 | print("matrix a:") 8 | print(a) 9 | 10 | print("matrix b:") 11 | print(b) 12 | 13 | # perkalian matrix 14 | c1 = np.dot(a,b) 15 | c2 = a.dot(b) 16 | 17 | print("matrix c1:") 18 | print(c1) 19 | 20 | print("matrix c2:") 21 | print(c2) -------------------------------------------------------------------------------- /06-shape manipulation/Main.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | a = np.array(( 4 | [1,2,3], 5 | [4,5,6] 6 | )) 7 | 8 | print('matrix a dengan ukuran:',a.shape) 9 | print(a) 10 | 11 | # transpose matrix 12 | print('transpose matrix dari a:') 13 | print(a.transpose()) 14 | #print(np.transpose(a)) 15 | #print(a.T) 16 | print('matrix a dengan ukuran:',a.shape) 17 | 18 | # flatten array, vector baris 19 | print('flatten matrix a:') 20 | print(a.ravel()) 21 | #print(np.ravel(a)) 22 | print('matrix a dengan ukuran:',a.shape) 23 | 24 | # reshape matrix 25 | print("reshape matrix a:") 26 | print(a.reshape(3,2)) 27 | print('matrix a dengan ukuran:',a.shape) 28 | 29 | # resize matrix 30 | print("resize matrix a:") 31 | a.resize(3,2) 32 | print(a) 33 | print('matrix a dengan ukuran:',a.shape) -------------------------------------------------------------------------------- /07-stacking matrix/Main.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | 4 | a = np.array([1,2,3]) 5 | b = np.array([4,5,6]) 6 | 7 | aMat = np.zeros((2,3)) 8 | bMat = np.ones((2,3)) 9 | 10 | # stacking matrix, menumpuk matrix 11 | 12 | c = np.hstack((a,b)) 13 | d = np.vstack((a,b)) 14 | 15 | cMat = np.hstack((aMat,bMat)) 16 | dMat = np.vstack((aMat,bMat)) 17 | 18 | print(dMat) -------------------------------------------------------------------------------- /08-Advanced Array creation/Main.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | # membuat matrix dengan tipe data tertentu 4 | a = np.array(([1,2,3],[3,4,5]), dtype = float) 5 | 6 | # membuat array dengan menggunakan function 7 | 8 | def kuadrat(baris,kolom): 9 | return kolom**2 10 | 11 | def jumlah(baris,kolom): 12 | return (kolom + baris) 13 | 14 | b = np.fromfunction(kuadrat, (1,10), dtype = int) 15 | c = np.fromfunction(jumlah, (4,4), dtype = float) 16 | 17 | # membuat array atau matrix dengan menggunakan iterable 18 | 19 | iterable = (x*2 for x in range(5)) 20 | 21 | d = np.fromiter(iterable, dtype = int) 22 | 23 | # multitype array 24 | 25 | dtipe = [('nama','S255'), ('tinggi', int)] 26 | 27 | data = [ 28 | ('ucup', 150), 29 | ('otong', 160), 30 | ('mario', 180) 31 | ] 32 | 33 | e = np.array(data, dtype = dtipe) 34 | 35 | print(e[0]) 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /09-ordering/Main.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | a = np.floor(np.random.randn(1,6)*10) 4 | 5 | print(a) 6 | 7 | print('nilai max dari a = ',a.max()) 8 | print('posisi max dari a = ',a.argmax()) 9 | print('nilai min dari a = ',a.min()) 10 | print('posisi min dari a = ',a.argmin()) 11 | 12 | print('mengurutkan nilai a:') 13 | print(np.sort(a)) 14 | print(np.argsort(a)) -------------------------------------------------------------------------------- /09-ordering/Main2.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | a = np.floor(np.random.randn(2,2)*10) 4 | 5 | print(a) 6 | 7 | print('nilai max dari a = ',a.max()) 8 | print('posisi max dari a = ',a.argmax()) 9 | print('nilai min dari a = ',a.min()) 10 | print('posisi min dari a = ',a.argmin()) 11 | 12 | print('mengurutkan nilai a:') 13 | print(np.sort(a)) 14 | print(np.argsort(a)) -------------------------------------------------------------------------------- /09-ordering/Main3.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | dtipe = [('nama','S10'),('tinggi',int)] 4 | data = [ 5 | ('Ucup',170), 6 | ('Otong', 150), 7 | ('Mario',160) 8 | ] 9 | 10 | a = np.array(data, dtype = dtipe) 11 | print(a) 12 | 13 | print(np.sort(a, order='tinggi')) 14 | print(np.sort(a, order='nama')) -------------------------------------------------------------------------------- /10-perkalian dot dan cross /main.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | a1 = np.array([1,3]) 4 | b1 = np.array([3,0]) 5 | 6 | # perkalian dot 7 | c1 = np.dot(a1,b1) 8 | 9 | # perkalian cross 10 | a2 = np.array([1,2,0]) 11 | b2 = np.array([2,1,0]) 12 | 13 | c2 = np.cross(a2,b2) 14 | c3 = np.cross(b2,a2) 15 | 16 | print(c3) -------------------------------------------------------------------------------- /11-invers matrix/main.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | a = np.array([(1,-1),(1,1)]) 4 | 5 | print(a) 6 | 7 | # inverse matrix 8 | a_inv = np.linalg.inv(a) 9 | 10 | print(a_inv) 11 | 12 | # determinan matrix 13 | det_a = np.linalg.det(a) 14 | det_a_inv = np.linalg.det(a_inv) 15 | print(det_a) 16 | print(det_a_inv) 17 | 18 | -------------------------------------------------------------------------------- /12-menyelesaikan persamaan linear/main.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | A = np.array([(2,3),(1,2)]) 4 | Y = np.array([23,14]) 5 | print(A) 6 | print(Y) 7 | 8 | A_inv = np.linalg.inv(A) 9 | 10 | # menyelesaikan persamaan linear 11 | X1 = np.dot(A_inv,Y) 12 | print(X1) 13 | 14 | # cara lain 15 | X2 = np.linalg.solve(A,Y) 16 | print(X2) 17 | 18 | -------------------------------------------------------------------------------- /13-visualisasi data dengan matplotlib/main.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import matplotlib.pyplot as plt 3 | 4 | # persamaan garis 5 | # y = 2x + 3 6 | 7 | x = np.arange(0,11,1) 8 | y = 2*x + 3 9 | print(x) 10 | print(y) 11 | 12 | plt.figure(1) 13 | plt.plot(x,y) 14 | 15 | # lingkaran 16 | 17 | jari2 = 5 18 | 19 | sudut = np.linspace(0,2*np.pi,100) 20 | x2 = jari2*np.cos(sudut) 21 | y2 = jari2*np.sin(sudut) 22 | 23 | plt.figure(2) 24 | plt.plot(x2,y2) 25 | plt.show() 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Numpy tutorial 2 | --------------------------------------------------------------------------------