PERCOBAAN 5
PYTHON NUMPY
6.1 Tujuan
1. Praktikan dapat mengetahui dan juga memahami library numpy dalam
python
2. Praktikan dapat menggunakan library numpy dalam python
3. Praktikan dapat mengetahui perbedaan dimensi array dalam
penggunaan numpy array
4. Praktikan dapat memahami dan juga menggunakan indexing dan slicing
dalam numpy array
5. Praktikan dapat memahami karakteristik dari setiap tipe data dalam
numpy array
2. Array 1-D
Array yang memiliki array 0-D sebagai elemen-elemennya disebut
array uni-dimensional atau 1-D. Ini adalah array yang paling umum
dan dasar. Contoh membuat larik 1-D yang berisi nilai
‘a’,’b’,’c’,’d’,’e’.
3. Array 2-D
Array yang memiliki array 1-D sebagai elemen-elemennya disebut
array 2-D. Ini sering digunakan untuk merepresentasikan matriks atau
tensor orde 2. Numpy memiliki seluruh sub modul yang didedikasikan
untuk operasi matriks yang disebut numpy.mat. Contoh array 2-D
yang berisi dua array dengan nilai 1,2,3 dan 4,5,6
Berdasarkan gambar 6.8 array ini dimensi paling dalam (dim ke-5)
memiliki 4 elemen, dim ke-4 memiliki 1 elemen yaitu vektor, dim ke-3
memiliki 1 elemen yaitu matriks dengan vektor, dim ke-2 memiliki 1
elemen yaitu array 3D dan dim 1 memiliki 1 elemen yang merupakan
array 4D.
Pada gambar 6.9 terdapat kode untuk mengakses array 1-D dan
menjumlahkan elemen pada array. Pengindeksan array sama dengan
mengakses elemen array. Kita dapat mengakses elemen array dengan
merujuk ke nomor indeksnya. Indeks dalam array numpy dimulai dengan 0,
yang berarti bahwa elemen pertama memiliki indeks 0, dan yang kedua
memiliki indeks 1 dan seterusnya.
2. Akses Array 2-D
i Integer
b Boolean
f Mengapung
c Pelampung kompleks
m Timedata
M Datatime
O Objek
S String
U Unicode string
Gambar 6.16 Contoh membuat array dengan tipe data string dan integer
3. Memunculkan ValueError
Jika tipe data yang diberikan dimana elemen tidak dapat disesuaikan
maka numpy akan memunculkan ValueError. Dalam python ValueError
dimunculkan ketika jenis argumen yang dikirimkan ke suatu fungsi tidak
terduga/salah. Contoh string bukan integer seperti 'a' tidak dapat dikonversi
ke integer (akan memunculkan kesalahan).
NumPy adalah pustaka python yang digunakan untuk bekerja dengan array.
NumPy juga memiliki fungsi untuk bekerja dalam domain aljabar linier,
transformasi fourier, dan matriks. Pada gambar di atas, fungsi “import numpy”
digunakan untuk membuat array dengan nama variabel “kode” dengan memebuat
kode = numpy.array([10, 11,12, 13, 14, 15, 16, 17 ,18]) seperti pada gambar 6.21.
● Array 0-D
Dimensi dalam array adalah satu tingkat kedalaman array (array bersarang,
yaitu array yang memiliki array sebagai penyusunnya) Jika ingin membuat array
0-D atau yang biasa disebut sebagai scalar maka dapat dilakukan dengan perintah
“import numpy as np” untuk mengimport library numpy yang sudah disediakan
oleh python dan mengaliaskan sebagai np, berikutnya “kode = np.array(21)”
kemudian “print(kode)” dan akan menghasilkan output “21” seperti pada gambar
6.23, yaitu elemen dengan dimensi nol atau bisa dikatakan sebagai scalar.
● Array 1-D
Array 3-D merupakan array yang memiliki array 2-D sebagai elemen-
elemen penyusunnya, artinya Array 3-D memiliki dua array 2-D yang setiap
arraynya memiliki dua array, sering digunakan untuk mewakili tensor orde 3.
Jika ingin membuat array 3-D maka dapat dilakukan dengan perintah
“import numpy as np” untuk mengimport library numpy yang sudah disediakan oleh
python dan mengaliaskan sebagai np, berikutnya “kode =
np.array([[2,4,6],[8,10,12]],[[2,4,6],[8,10,12]])” kemudian “print(kode)” dan akan
menghasilkan output seperti pada gambar 6.26.
6.3.3 Atribut Ndim
Jika ingin mengakses elemen pada array 2-D menggunakan indeks positif
maka dapat dilakukan dengan perintah “import numpy as np” untuk meng-import
library numpy yang sudah disediakan oleh python dan mengaliaskan sebagai np,
berikutnya “kode = np.array([["2","4","6",], ["8","10","12"]])” kemudian
“print(kode)” lalu “print("elemen ke 1 pada dimensi kedua: ", kode[1, 0])” 1 untuk
berfokus pada array kedua dan 1 untuk berfokus pada elemen dengan indeks 1, juga
“print("elemen ke-2 pada dimensi ketiga: ", kode[1, 0])” 2 untuk berfokus pada
array ketiga dan 1 untuk berfokus pada elemen dengan indeks 1 akan menghasilkan
output “elemen ke 2 pada dimensi pertama: 4” dan “elemen ke 3 pada dimensi ke
kedua: 12” seperti pada gambar 6.30.
● 3-D
Jika ingin mengakses elemen pada array 3-D menggunakan indeks positif
maka dapat dilakukan dengan perintah “import numpy as np” untuk mengimport
library numpy yang sudah disediakan oleh python dan mengaliaskan sebagai np,
berikutnya“kode=np.array([[[2,4,6],[8,10,12]],[[14,16,18],[20,22,24]]])”
kemudian “print(kode)” lalu “print("elemen pertama dari dim ke -2 : ", kode[1,-
1])” 0 pertama akan berfokus pada array 2-D pertama, 1 akan berfokus pada array
1-D kedua, dan 0 akan berfokus pada elemen pertama atau elemen dengan indeks
nol, akan menghasilkan output 12 dan “elemen pertama dari dim ke -2 : 12” seperti
pada gambar 6.31.
6.3.6 Pengindeksan Negatif
Indeks negatif dimulai dari -1 untuk elemen terakhir pada array dan terus
berkurang satu menjadi -2,-3,… sampai elemen pertama.
Jika ingin mengakses elemen pada array menggunakan indeks negatif maka
dapat dilakukan dengan perintah “import numpy as np” untuk mengimport library
numpy yang sudah disediakan oleh python dan meng-aliaskan sebagai np, kode[1,-
1] memiliki arti elemen terakhir dari dimensi kedua menghasilkan angka 12. seperti
pada gambar 6.32.
6.3.7 Numpy Array Slicing
Jika ingin melakukan numpy array slicing pada array 2-D menggunakan
indeks positif dan negatif maka dapat dilakukan dengan perintah “kode =
np.array([[2,4,6,8,10], [12,14,16,18,20]])”kemudian“print(kode[1, 1:4])” slicing
yang berfokus pada array kedua dimulai dari indeks kesatu sampai indeks keempat,
“print(kode[0:2, 2])” slicing yang berfokus pada array pertama dan kedua lalu
berfokus indeks kedua pada setiap arraynya, “print(kode[0:2, 1:4])” slicing yang
berfokus pada array pertama dan kedua lalu berfokus dari indeks kesatu sampai
indeks keempat pada setiap arraynya, akan menghasilkan output “[14 16 18]”, ”[ 6
16]”, “[[4 6 8]”, dan “[14 16 18]]” seperti pada gambar 6.34.
Beberapa contoh tipe data dalam numpy adalah i untuk bilangan bulat, dan
u untuk bilangan bulat tak bertanda atau unsigned, dtype dalam numpy dapat
digunakan untuk memeriksa tipe data dari sebuah array.
Jika ingin mengecek tipe data dari sebuah array menggunakan dtype maka
dapat dilakukan dengan perintah “import numpy as np” untuk mengimport library
numpy yang sudah disediakan oleh python dan mengaliaskan sebagai np, berikutnya
“kode=np.array([2,4,6,8])” kemudian “print(angka.dtype)” akan menghasilkan
output “int32” seperti pada gambar 6.35 artinya tipe data dari array tersebut adalah
integer atau bilangan bulat.
Contoh lainnya dapat dilakukan dengan perintah “import numpy as np”
untuk mengimport library numpy yang sudah disediakan oleh python dan
mengaliaskan sebagai np, berikutnya “kodemobil=np.array (['pajero', 'avanza',
'brio'])” kemudian “print(kodemobil.dtype)” akan menghasilkan output “<U5”
seperti pada Gambar 6.35 artinya tipe data dari array tersebut adalah unsigned.
6.3.10 Menentukan Tipe Data Array
Jika ingin menentukan tipe data sebuah array menjadi string maka dapat
dilakukan dengan perintah “import numpy as np” untuk mengimport library numpy
yang sudah disediakan oleh python dan mengaliaskan sebagai np, berikutnya
“angka = np.array([2, 4 ,6, 8],dtype='S')” menentukan tipe data array menjadi
string, kemudian “print(angka)” dan “print(angka.dtype)” untuk mengecek tipe
data dari array yang sudah ditentukan, akan menghasilkan output “[b'2' b'4' b'6'
b'8']” dan”|S1” seperti pada gambar 6.36, artinya tipe data dari array sudah menjadi
string.
Contoh lain dapat dilakukan dengan perintah ”import numpy as np” untuk
mengimport library numpy yang sudah disediakan oleh python dan mengaliaskan
sebagai np, berikutnya “kode = np.array([2,4,5,6,8],dtype='i4')” menentukan tipe
data array menjadi integer, kemudian “print(kode)” dan “print(angka.dtype)”
untuk mengecek tipe data dari array yang sudah ditentukan, akan menghasilkan
output “[2 4 5 6 7 8]” dan”int32” seperti pada gambar 6.36, artinya tipe data dari
array sudah menjadi integer.
Ketika ada elemen yang dari array yang tidak sesuai dengan tipe data yang
akan ditentukan maka akan menghasilkan output error, contohnya “import numpy
as np” untuk mengimport library numpy yang sudah disediakan oleh python dan
mengaliaskan sebagai np, berikutnya “angka = np.array([‘p’, 0, 1],dtype='i')”
kemudian “print(kode)” dan “print(kode. dtype=’1’)” karena terdapat elemen tidak
sesuai dengan integer yaitu tipe data yang diinginkan maka program akan error
seperti pada gambar 6.37.
Perbedaan utama antara copy dan view array adalah bahwa copy
merupakan array baru, dan view hanya berupa tampilan array asli. Copy memiliki
data dan setiap perubahan yang dilakukan pada copy (salinan) tidak akan
memengaruhi array asli, dan perubahan apa pun yang dilakukan pada array asli
tidak akan memengaruhi salinan.View (Tampilan) tidak memiliki data dan
perubahan apa pun yang dilakukan pada tampilan akan memengaruhi array asli, dan
perubahan apapun yang dilakukan pada array asli akan memengaruhi tampilan.
Untuk menerapkannya dapa dengan membuat salinan, ubah array asli, dan
tampilkan kedua array, hal tersebut dapat dilihat pada gambar 6.39
Gambar 6.40 Base
Base akan menghasilkan output None apabila suatu array memiliki data.
Pada Gambar di atas terdapat cara untuk memeriksa aapakah suatu array memiliki
datanya atau tidak. Setiap array memiliki basis atrubut yang mengembalikan ‘none’
jika array memiliki data seperti array n diatas. Dan sebaliknya pada array m, atribut
dasar merujuk ke objek asli yang artinya tidak memiliki data. Hal tersebut dapat
dilihat pada Gambar 6.40.
6.4 Kesimpulan
1. Numpy (Numerical Python) adalah pustaka python yang digunakan
untuk bekerja dengan array. Numpy juga memiliki fungsi untuk bekerja
dalam domain aljabar linier, transformasi fourier, dan matriks
2. Python memiliki lists yang digunakan untuk melayani fungsi
array/larik, tetapi lists memiliki karakteristik yang lambat untuk
diproses. Numpy bertujuan untuk menyediakan objek array yang
hingga 50 kali lebih cepat dari list python tradisional
3. Numpy memiliki dimensi dalam array. Dimensi dalam array adalah
satu tingkat kedalaman array (array bersarang/nested). Nested array
adalah array yang memiliki array sebagai elemennya. Ada beberapa
jenis dimensi array yaitu: array 0-D, array 1-D, array 2-D, array 3-D
4. Pengindeksan array sama dengan mengakses elemen array. Kita dapat
mengakses elemen array dengan merujuk ke nomor indeksnya. Indeks
dalam array numpy dimulai dengan 0, yang berarti bahwa elemen
pertama memiliki indeks 0, dan yang kedua memiliki indeks 1 dan
seterusnya
5. Slicing/mengiris dalam python berarti mengambil elemen dari satu
indeks yang diberikan ke indeks yang diberikan lainnya. Untuk
menggunakan slice dengan bentuk umum indeks seperti ini: [start:
end]. Kita juga bisa mendefinisikan langkahnya, seperti ini: [start: end:
step]
6. Pada gambar 6.21 dapat terlihat bahwa cara untuk mengimport numpy
dalam python “import numpy” atau dapat juga menggunakan “import
numpy as np”
7. Pada gambar 6.22 dapat terlihat bahwa jika ingin membuat array untuk
bekerja dengan numpy dapat menggunakan fungsi array() maka
dilakukan dengan perintah “import numpy as np” untuk mengimport
library numpy yang sudah disediakan oleh python dan mengaliaskan
sebagai np, berikutnya “ituarray = np.array([1,2,3,4,5,6,7,40,100])”
kemudian “print(ituarray)”
8. Dimensi dalam array adalah satu tingkat kedalaman array, pada
gambar 6.24 dapat terlihat bahwa Jika ingin membuat array 1-D maka
dapat dilakukan dengan perintah “import numpy as np” untuk
mengimport library numpy yang sudah disediakan oleh python dan
mengaliaskan sebagai np, berikutnya “Dsatu = np.array([‘a’, ’b’, ‘d’,
‘i’, ‘l’, ‘f’, ‘r’, ‘s’])” kemudian “print(Dsatu)”
9. Pada gambar 6.39 dapat terlihat bahwa perbedaan antara copy dan view
adalah pada copy apabila array asal dirubah nilai elemen di dalamnya.
Sedangkan pada view apabila array asal dirubah nilai elemen di
dalamnya
10. Pada gambar 6.40 dapat terlihat bahwa jika menggunakan base akan
menghasilkan output None apabila suatu array memiliki data
contohnya array “cpy” memiliki data hasil copy dari array “bulan”
maka base menghasilkan output “None”. Selain itu base akan
menghasilkan output data pada objek asli apabila suatu array tidak
memiliki data