Array satu dimensi adalah bentuk paling sederhana dari ndarray: satu baris nilai yang berjejer rapi. Dalam matematika, struktur ini dikenal sebagai vector — misalnya vector harga semua produk di sebuah toko, atau vector pengukuran suhu dari jam ke jam. Bab ini membangun fondasi terpenting dalam course ini: mengoperasikan seluruh koleksi angka sekaligus tanpa menulis loop.

Cakupan bab ini:

  • Membuat array 1-D dari list dan dengan np.arange().
  • Mengambil satu elemen lewat indexing.
  • Melakukan aritmetika antar array (perkalian vector) dan agregasi dengan sum().

Membuat array satu dimensi #

Ada dua cara pembuatan yang paling sering dipakai. Cara pertama, data berupa list yang eksplisit — cocok ketika nilainya telah ada di tangan kita, misalnya daftar harga yang diketik manual. Cara kedua, data berupa deret teratur yang dihasilkan np.arange() — cocok ketika pola nilainya berulang dan panjangnya bisa panjang:

python
import numpy as np

harga = np.array([15000, 20000, 12500])
suhu = np.arange(24, 31)
print(harga, harga.size)
print(suhu, suhu.size)

Output yang Dihasilkan:

text
[15000 20000 12500] 3
[24 25 26 27 28 29 30] 7
  1. Baris 3 (np.array([...])): nilai harga ditulis langsung sebagai list, lalu disalin menjadi array 1-D.
  2. Baris 4 (np.arange(24, 31)): menghasilkan deret integer mulai dari 24 sampai batas atas 30; angka 31 tidak termasuk karena argumen stop bersifat eksklusif.
  3. Baris 5-6 (harga.size): atribut size menghitung jumlah elemen (3 dan 7).

Mengambil elemen dengan indexing #

Elemen array 1-D diakses dengan tanda kurung siku dan indeks berbasis nol, persis seperti list. Indeks negatif menghitung dari belakang, dan elemen tunggal dapat ditimpa nilainya:

python
import numpy as np

suhu = np.arange(24, 31)
print("elemen pertama :", suhu[0])
print("elemen keempat :", suhu[3])
print("elemen terakhir:", suhu[-1])
suhu[0] = 25
print(suhu)

Output yang Dihasilkan:

text
elemen pertama : 24
elemen keempat : 27
elemen terakhir: 30
[25 25 26 27 28 29 30]
  1. Baris 4-6 (suhu[0], suhu[3], suhu[-1]): indeks 0 menunjuk elemen pertama, 3 elemen keempat, dan -1 elemen terakhir.
  2. Baris 7 (suhu[0] = 25): penugasan mengubah satu nilai di dalam buffer; baris 8 membuktikan elemen pertama kini bernilai 25.

Aritmetika vector: contoh total belanja #

Keunggulan utama array 1-D terlihat saat kita menghitung. Contoh klasik: menghitung total belanja dari daftar harga dan daftar jumlah. Dengan list, kita harus menulis loop dan mengalikan pasangan elemen satu per satu. Dengan NumPy, satu operator cukup:

python
import numpy as np

harga = np.array([15000, 20000, 12500])
jumlah = np.array([2, 1, 3])
total_per_item = harga * jumlah
print(total_per_item)
print("total belanja:", total_per_item.sum())

Output yang Dihasilkan:

text
[30000 20000 37500]
total belanja: 87500
  1. Baris 4 (harga * jumlah): operator * bekerja element-wise — elemen ke-0 dikalikan elemen ke-0, elemen ke-1 dikalikan elemen ke-1, dan seterusnya, tanpa loop yang kita tulis sendiri.
  2. Baris 5 (print(total_per_item)): hasilnya array baru [30000 20000 37500]; array asli tidak berubah.
  3. Baris 6 (total_per_item.sum()): method sum() mengagregasi seluruh elemen menjadi satu angka, yaitu 87500.

Pola element-wise yang sama berlaku untuk operator lain tanpa pengecualian:

  • harga + jumlah menjumlahkan pasangan elemen (misalnya menambah biaya pengiriman per item).
  • harga - diskon mengurangkan pasangan elemen (misalnya memotong diskon per item).
  • total_per_item / jumlah membagi pasangan elemen (misalnya menghitung harga rata-rata per unit).
  • jumlah > 1 membandingkan pasangan elemen dan menghasilkan array True/False.

Setelah terbiasa dengan satu operator, operator lainnya terasa identik: seluruhnya membaca dua array sejajar dan menghasilkan array baru dengan panjang yang sama.

Bab-bab berikutnya memperluas pola ini ke struktur dengan banyak axis, tetapi mekanisme element-wise di atas tetap menjadi intinya.