0% Selesai

Pengenalan & Operasi Array NumPy

20 Menit•Pembaruan: 8 Sep 2026
Asisten AI ModulTanyakan materi, ringkasan, atau penjelasan kode bab ini langsung ke AI

Pengenalan & Operasi Array NumPy

17 Sel • Python 3 (WebAssembly Kernel)

Pengenalan & Komputasi Array NumPy

Pernahkah Anda bertanya:

"Python kan sudah punya tipe data List untuk menyimpan banyak data sekaligus. Kenapa kita masih butuh NumPy?"

Jawabannya ada pada kecepatan komputasi dan efisiensi memori.

List bawaan Python dirancang sangat fleksibel—ia bisa menyimpan angka, teks, dan boolean dalam satu wadah. Namun karena terlalu fleksibel, komputer harus menyimpan setiap elemen di lokasi memori yang terpisah-pisah (pointer heap). Ketika data Anda berjumlah jutaan baris, melakukan perhitungan matematika dengan List akan terasa sangat lambat.

Di sinilah NumPy (Numerical Python) hadir. NumPy menyimpan data bertipe seragam (homogeneous) secara berurutan di dalam satu blok memori komputer yang padat (contiguous array). NumPy ditulis menggunakan bahasa C, sehingga kalkulasi matematikanya dijalankan langsung di tingkat perangkat keras (hardware level) dengan kecepatan hingga puluhan kali lebih cepat dibanding List biasa.

1. Memasang Pustaka NumPy

Sebelum menggunakan NumPy, pastikan pustaka ini sudah terpasang. Di Google Colab pustaka ini sudah tersedia, tetapi di laptop lokal Anda bisa memasangnya lewat perintah pip:

In [3]:python
Out [3]:
Requirement already satisfied: numpy in c:\laragon\bin\python\python-3.10\lib\site-packages (2.2.6)

[notice] A new release of pip available: 22.2.2 -> 26.2.1
[notice] To update, run: python.exe -m pip install --upgrade pip

2. Fungsi Pembuat Array Instan

Sering kali kita butuh membuat array berisi angka awal tanpa harus mengetik satu per satu secara manual:

  • np.zeros((baris, kolom)): Membuat array berisi angka 0 (biasa dipakai sebagai wadah penampung awal).
  • np.ones((baris, kolom)): Membuat array berisi angka 1.
  • np.arange(awal, akhir, langkah): Membuat deret angka urut (mirip fungsi range bawaan Python).
  • np.linspace(awal, akhir, jumlah_titik): Membuat titik-titik angka berjarak sama rata.
In [5]:python
Out [5]:
Array Nol (2x4):
 [[0. 0. 0. 0.]
 [0. 0. 0. 0.]]

Deret Genap: [ 0  2  4  6  8 10 12 14 16 18]

Linspace (0 s.d 1): [0.   0.25 0.5  0.75 1.  ]

3. Mengakses dan Memotong Data (Indexing & Slicing)

Bagaimana cara mengambil baris tertentu, kolom tertentu, atau angka spesifik di dalam matriks? Format standarnya adalah:

matriks[indeks_baris, indeks_kolom]

Gunakan tanda titik dua : untuk mengambil seluruh data pada baris atau kolom tersebut.

In [7]:python
Out [7]:
Nilai baris 1, kolom 2 : 85
Baris kedua penuh      : [75 70 88]
Kolom ketiga penuh     : [90 88 89]

4. Operasi Matematika Vektorisasi (Vectorization)

Kelebihan utama NumPy adalah operasi matematika langsung diterapkan ke setiap elemen secara serentak tanpa perlu membuat perulangan for (vectorization):

In [9]:python
Out [9]:
Harga awal            : [10000 25000 50000 75000]
Harga setelah diskon  : [ 9000. 22500. 45000. 67500.]
Total bayar (+ ongkir): [11000. 25500. 50000. 71500.]

5. Menyaring Data Berdasarkan Kondisi (Boolean Indexing)

Dalam analisis data, kita sangat sering menyaring angka yang memenuhi kriteria tertentu (misalnya nilai di atas batas kelulusan atau penjualan di atas target).

Di NumPy, Anda cukup memasukkan kondisi logika ke dalam kurung siku array[kondisi]. Ini jauh lebih cepat dan bersih daripada membuat percabangan if di dalam loop.

In [11]:python
Out [11]:
Status kelulusan (Boolean): [False  True False  True False  True  True False  True]
Daftar skor yang lulus (>= 75): [82 90 88 95 78]
Jumlah peserta yang lulus     : 5

6. Mengubah Dimensi Array (reshape)

Dalam analisis data dan machine learning, kita sering kali perlu mengubah susunan data dari 1 dimensi (deret angka) menjadi tabel 2 dimensi (baris x kolom), misalnya mengubah 12 data bulanan menjadi matriks 3 kuartal x 4 bulan.

Gunakan method .reshape(baris, kolom). Syaratnya: total jumlah elemen awal dan akhir harus sama persis.

In [13]:python
Out [13]:
Array 1D awal: [ 1  2  3  4  5  6  7  8  9 10 11 12]

Matriks 3 baris x 4 kolom:
 [[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]

Matriks 4 baris x 3 kolom:
 [[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]

7. Menghitung Statistik Cepat dengan NumPy

NumPy menyediakan fungsi statistik bawaan berkinerja tinggi untuk meringkas data angka numerik:

In [15]:python
Out [15]:
Total Keseluruhan (Sum) : 755
Rata-rata (Mean)        : 75.5
Nilai Tengah (Median)   : 80.0
Standar Deviasi (Std)   : 15.31
Penjualan Terendah (Min): 45
Penjualan Tertinggi(Max): 95

8. Studi Kasus: Analisis Penjualan Mingguan 3 Cabang Toko

Mari kita terapkan seluruh konsep yang telah dipelajari ke dalam studi kasus nyata.

Sebuah jaringan toko ritel memiliki 3 cabang (Cabang Jakarta, Surabaya, dan Bandung). Data penjualan produk selama 7 hari (Senin s.d. Minggu) dicatat ke dalam satu matriks 2 dimensi ukuran 3 baris x 7 kolom.

Tugas kita:

  1. Menghitung total penjualan masing-masing cabang dalam seminggu (axis=1).
  2. Menghitung rata-rata penjualan harian seluruh cabang gabungan (axis=0).
  3. Menentukan cabang mana yang memiliki penjualan tertinggi.
In [17]:python
Out [17]:
=== Laporan Performa Mingguan Toko Ritel ===
Cabang Jakarta  : Total = 158 unit | Rata-rata = 22.6 unit/hari
Cabang Surabaya : Total = 101 unit | Rata-rata = 14.4 unit/hari
Cabang Bandung  : Total = 200 unit | Rata-rata = 28.6 unit/hari

Cabang dengan performa terbaik: Cabang Bandung (200 unit)

Rata-rata penjualan gabungan per hari:
Sen: 15.0 unit | Sel: 18.0 unit | Rab: 19.0 unit | Kam: 20.3 unit | Jum: 24.3 unit | Sab: 29.3 unit | Min: 27.0 unit |
Progres PembelajaranTandai modul ini selesai setelah Anda memahami teori dan mempraktikkan kode.