Modul 4 : Array Multidimensi - fzl-22/modul-alstrukdat-sainsdata GitHub Wiki

1. Array

Array merupakan struktur data yang berguna untuk menyimpan sekumpulan data dengan tipe yang sama dalam satu variabel tunggal. Array dapat disusun secara berurutan, sehingga memungkinkan akses ke elemen-elemennya dilakukan dengan cepat dan mudah. Selain itu, terdapat pula array multidimensi yang terdiri dari dua atau lebih dimensi. Array multidimensi ini memungkinkan kita untuk menyimpan sekelompok nilai terkait dalam bentuk matriks

import numpy as np # import modul numpy dengan alias sebagai np

1.1 Deklarasi Array

1.1.1 numpy.array

Digunakan untuk mendeklarasikan array dan sekaligus menginisialisasi nilainya secara manual.

arr = np.array(<iterable>, <datatype>)

Sebagai contoh,

arrFloat = np.array([1, 4, 3, 20, 11], float) # array dengan tipe data integer
arrStr = np.array(['Cristiano', 'Mbappe', 'Modric', 'Griezmann'])
arr2D = np.array([[1, 2, 3],
		  [4, 5, 6],
		  [7, 8, 9]])

print(arrFloat)
print(arrStr)
print(arr2D)

Apabila ingin membuat array multidimensi secara manual, maka penulisan tanda kurung siku '[' dan ']' perlu diperhatikan. Perhatikan konsep berikut:

  • Array 1 dimensi terdiri dari beberapa elemen data.
  • Array 2 dimensi terdiri dari beberapa array 1 dimensi.
  • Array 3 dimensi terdiri dari beberapa array 2 dimensi.
  • Array N dimensi terdiri dari beberapa array N - 1 dimensi.

Maka dari itu, tanda kurung siku dalam np.array( ) digunakan untuk mengapit dimensi di bawahnya.

Array 1 Dimensi:
[1, 2, 3, 4, 5] <- tanda [ ] mengapit elemen-elemen data array

Array 2 Dimensi
[ <- mengapit beberapa array 1 dimensi 
	[1, 2, 3], <- mengapit elemen-elemen dalam array 1 dimensi pertama
	[4, 5, 6], <- mengapit elemen-elemen dalam array 1 dimensi kedua
	[7, 8, 9]  <- mengapit elemen-elemen dalam array 1 dimensi ketiga
] <- mengapit beberapa array 1 dimensi

Array 3 Dimensi
[ <- mengapit beberapa array 2 dimensi
	[  <- mengapit beberapa array 1 dimensi dalam array 2 dimensi pertama
		[1, 2, 3], <- mengapit elemen-elemen dalam array 1 dimensi pertama
		[4, 5, 6], <- mengapit elemen-elemen dalam array 1 dimensi kedua
		[7, 8, 9]  <- mengapit elemen-elemen dalam array 1 dimensi ketiga
	], <- mengapit beberapa array 1 dimensi dalam array 2 dimensi pertama
	[  <- mengapit beberapa array 1 dimensi dalam array 2 dimensi kedua
		[10, 11, 12], <- mengapit elemen-elemen dalam array 1 dimensi keempat
		[13, 14, 15], <- mengapit elemen-elemen dalam array 1 dimensi kelima
		[16, 17, 18]  <- mengapit elemen-elemen dalam array 1 dimensi keenam
	] <- mengapit beberapa array 1 dimensi dalam array 2 dimensi kedua
] <- mengapit beberapa array 2 dimensi

1.1.2 numpy.arange

> np.arange Method np.arange digunakan untuk mendeklarasikan dan menginisialisasi nilai array dengan nilai yang memiliki jarak yang sama dalam interval tertentu. Berikut adalah format penulisannya:

arrArange = np.arange(<start>, <stop>, <step>, <dtype>)

# start memiliki nilai default 0
# stop wajib dituliskan
# step memiliki nilai default 1
# dtype memiliki nilai default int

Sebagai contoh,

arrArange1 = np.arange(2, 12, 3)
arrArange2 = np.arange(1, 10, 2, float)

print(arrArange1)
print(arrArange2)

1.1.3 numpy.linspace

> np.linspace Digunakan untuk membuat array yang berisi deret bilangan dengan nilai yang sama-sama terdistribusi dalam rentang tertentu.

arrLins = np.linspace(<start>, <stop>, <num>, <retstep>, <dtype>)

# num memiliki nilai default 50

Sebagai contoh,

import numpy as np

# Membuat array 1D dengan linspace
my_array = np.linspace(1, 9, 9)

# Mengubah array 1D menjadi array 3x3
my_2d_array = my_array.reshape(3, 3)

# Menampilkan array multidimensi
print(my_2d_array)

1.1.4 numpy.zeros dan numpy.ones

Method np.zeros akan menginisialisasikan nilai 0 pada kesuluruhan elemen array dengan ukuran tertentu, sedangkan np.ones akan menginisialisasikan nilai 1 dengan cara yang sama. Berikut adalah format syntaxnya:

arrZero = np.zeros(<shape>, <dtype>)

# shape wajib dituliskan
# dtype memiliki nilai default float

Sebagai contohnya,

arrZero1 = np.zeros(5)
arrZero2 = np.zeros(5, dtype=int)
arrZero3 = np.zeros((3, 4))
arrZero4 = np.zeros((3, 4, 5), dtype=int)

print(arrZero1) 
print(arrZero2) 
print(arrZero3)
print(arrZero4)

Method np.ones juga digunakan dengan cara yang sama, hanya berbeda nama method dan nilai yang diinisialisasikan ke dalam array (yaitu 1).

1.1.5 numpy.empty

Kedua method di atas tidaklah kosong mengingat setiap elemen dalam array memiliki nilai 0 atau 1. Apabila kita ingin mendeklarasikan array yang 'kosong' (walaupun tidaklah kosong secara literal), maka gunakan np.empty yangmana memiliki format berikut:

arrEmpty = np.empty(<shape>, <dtype>)

# shape wajib dituliskan
# dtype memiliki nilai default float

Contoh:

arrEmpty1 = np.empty(5, int)
arrEmpty2 = np.empty((3, 4))

print(arrEmpty1) # Apakah arraynya memiliki isi?
print(arrEmpty2) # Apakah arraynya memiliki isi?

for i in range(len(arrEmpty1)):
	arrEmpty1[i] = int(input()) 

for i in range(len(arrEmpty2)):
	for j in range(len(arrEmpty2[i])):
		arrEmpty2[i][j] = float(input())

1.2 Method dan Fungsi pada NumPy

Keunggulan dari NumPy adalah memiliki banyak atribut dan method sendiri (bukan Built-In Python) yang lebih cepat komputasinya dan siap digunakan. Berikut adalah beberapa contoh yang umum digunakan:

arr1 = np.array([10, 21, 19, 23, 46, 80, -1, 0, 13])
arr2 = np.array([1, 30, 8, 7, 9, 12, 77, -92, 11])

# Atribut
arr1.ndim # Untuk mengetahui N dimensi dari array
arr1.shape # Untuk mengetahui ukuran array
arr1.size # Untuk mengetahui banyaknya data dalam array
arr1.dtype # Untuk mengetahui tipe data elemen array

# Method
arr1.min() # Mencari nilai minimum dari elemen-elemen pada array
arr1.max() # Mencari nilai maximum dari alemen-elemen pada array
arr1.mean() # Mencari rata-rata dari elemen-elemen pada array
arr1.std() # Mencari standar deviasi dari elemen-elemen pada array
arr1.var() # Mencari varian dari elemen-elemen pada array

# Fungsi (secara element-wise)
result = np.add(arr1, arr2) # array baru dari hasil penjumlahan setiap elemen yang berkorespondensi dari beberapa array
result = np.substract(arr1, arr2) # array baru dari hasil pegurangan setiap elemen yang berkorespondensi dari beberapa array
result = np.multiply(arr1, arr2) # array baru dari hasil perkalian setiap elemen yang berkorespondensi dari beberapa array
result = np.divide(arr1, arr2) # array baru dari hasil pembagian setiap elemen yang berkorespondensi dari beberapa array
result = np.mod(arr1, arr2) # array baru dari hasil modulo setiap elemen yang berkorespondensi dari beberapa array

Note: Fungsi-fungsi di atas juga berlaku untuk array multidimensi.

1.3 Cara Mengakses Elemen pada Array

1.3.1 Mengakses elemen berdasarkan indeks:

Mengakses elemen pada array berdasarkan indeks berarti mengambil nilai atau data pada posisi atau indeks tertentu dalam array. Indeks pada array dimulai dari 0 dan cara mengaksesnya menggunakan tanda kurung siku [] dengan menuliskan indeks elemen yang ingin diambil.

# membuat array multidimensi
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

print(matrix[1][2])
print(matrix[2][2])
print(matrix[0][1])

1.3.2 Mengakses menggunakan looping

Array dapat diakses dengan looping untuk mengakses setiap elemennya atau menggunakan looping dengan range untuk mengakses elemen dalam array berdasarkan indeksnya.

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

# Mengakses elemen array dengan perulangan for
for row in array:
    for col in row:
        print(col)

# Mengakses elemen array berdasarkan indeks dengan perulangan for dan range
for i in range(len(array)):
    for j in range(len(array[i])):
        print(array[i][j])

Post Test Praktikum

⚠️ **GitHub.com Fallback** ⚠️