stdsquare²
🎓 Kelas
stdsquare / materi / slides / pertemuan-09
Tema
Japan
Arcade
Dark Retro
Font
‹ Daftar slide Pertemuan 9: Array dalam Pemrograman
Program Studi Bisnis Digital • FEB

Algoritma dan Pemrograman

Pertemuan 9 — Array dalam Pemrograman

Mengenal array sebagai struktur data numerik lewat pustaka NumPy, dan mengapa ia lebih efisien dari list untuk mengolah data bisnis dalam jumlah besar.

RPS MINGGU 10 • 2X50 MENIT

Tujuan Pembelajaran

Setelah pertemuan ini, Anda diharapkan mampu:

SUB-CPMK 9.1
MEMAHAMI KONSEP ARRAY
Menjelaskan perbedaan array dan list Python, serta kapan array lebih tepat dipakai.
SUB-CPMK 9.2
MEMBUAT & MENGAKSES ARRAY
Membuat array dengan NumPy, serta melakukan indexing dan slicing.
SUB-CPMK 9.3
OPERASI & FUNGSI ARRAY
Menerapkan operasi elemen-wise dan fungsi statistik dasar (sum, mean, max).
SUB-CPMK 9.4
STUDI KASUS BISNIS
Menerapkan array 1D & 2D untuk mengolah data toko online dan gudang UMKM sederhana.
Bagian 1 dari 3
Konsep Array & Perbedaannya dengan List
Mengapa dunia data science dan bisnis digital lebih memilih array dibanding list biasa untuk data numerik.
Definisi Array Array vs List NumPy

Apa itu Array?

Array adalah struktur data yang menyimpan elemen sejenis (misalnya semua angka) secara berurutan di memori, sehingga komputer bisa mengaksesnya dengan sangat cepat.

array = [12, 45, 7, 88, 23]124578823indeks 0indeks 1indeks 2indeks 3indeks 4Slot memori berurutan & berukuran sama → akses jadi sangat cepat.
CIRI KHAS ARRAY
  • Semua elemen harus bertipe data sama (semua angka, semua teks, dsb).
  • Ukuran (jumlah elemen) umumnya tetap setelah dibuat.
  • Disimpan berurutan di memori → komputasi matematis jadi cepat.
  • Di Python, array "asli" datang dari pustaka NumPy.

Array (NumPy) vs List Python

List itu fleksibel, array itu cepat dan fokus untuk angka. Keduanya punya tempatnya masing-masing.

AspekList PythonArray (NumPy)
Tipe elemenBoleh campur (angka, teks, dll.)Harus sejenis, biasanya angka
Operasi matematisButuh perulangan manualLangsung, contoh: arr * 2
Kecepatan (data besar)Lebih lambatJauh lebih cepat
Dimensi1 dimensi (list dalam list untuk 2D)Native 1D, 2D, hingga n-D
Cara membuatBawaan Python: [1, 2, 3]Perlu import numpy
Aturan praktis: pakai list untuk data campur/umum, pakai array saat data murni angka dan akan dihitung banyak.

Mengaktifkan NumPy

NumPy (Numerical Python) adalah pustaka pihak ketiga paling populer untuk komputasi numerik. Perlu dipasang sekali, lalu diimpor di setiap program.

LANGKAH 1 — INSTALASI (SEKALI SAJA)
pip install numpy

Di Google Colab, NumPy biasanya sudah terpasang — langkah ini boleh dilewati.

LANGKAH 2 — IMPOR DI PROGRAM
import numpy as np

np adalah alias (nama singkat) yang jadi konvensi hampir seluruh komunitas Python.

Glosarium: pustaka (library) = kumpulan kode siap pakai yang ditulis orang lain, agar Anda tidak perlu menulis ulang fungsi dasar dari nol.

Membuat Array dengan NumPy

Ada beberapa cara umum membuat array, tergantung apakah datanya sudah ada atau perlu dibangkitkan otomatis.

FungsiContoh KodeHasil
Dari list biasanp.array([10, 20, 30])array([10, 20, 30])
Semua nolnp.zeros(4)array([0., 0., 0., 0.])
Semua satunp.ones(3)array([1., 1., 1.])
Rentang angkanp.arange(0, 10, 2)array([0, 2, 4, 6, 8])
Glosarium: np.arange(mulai, batas, langkah) membangkitkan deret angka otomatis, mirip range() pada perulangan for yang sudah Anda kenal di pertemuan 3.

Mengakses Elemen: Indexing & Slicing

Cara mengakses array sama persis dengan list: indeks dimulai dari 0, dan slicing pakai tanda :.

harga = np.array([15000, 22000, 8000, 30000, 12000])
KodeMaknaHasil
harga[0]Elemen indeks ke-015000
harga[-1]Elemen terakhir12000
harga[1:4]Indeks 1 sampai sebelum 4[22000, 8000, 30000]
harga[harga > 15000]Boolean indexing (khas array)[22000, 30000]
Glosarium: boolean indexing = menyaring elemen berdasarkan syarat logika (benar/salah) — kemampuan ini tidak ada pada list biasa tanpa perulangan manual.

Hitung dari Nol — Statistik Dasar dengan NumPy

Data penjualan harian toko online (unit terjual) selama 7 hari: [120, 135, 98, 142, 110, 160, 175].

LANGKAH PERHITUNGAN
LangkahPerhitunganNilai
1. Total (np.sum)120+135+98+142+110+160+175940 unit
2. Rata-rata (np.mean)940 ÷ 7≈ 134,29 unit
3. Maksimum (np.max)terbesar dari 7 nilai175 unit
4. Minimum (np.min)terkecil dari 7 nilai98 unit
MENGAPA INI PENTING
1 BARIS KODE
Tanpa array, keempat nilai ini butuh perulangan manual berbaris-baris. Dengan array: np.sum(data), np.mean(data), np.max(data), np.min(data) — masing-masing cukup satu baris.
Bagian 2 dari 3
Operasi Array & Array Multi-Dimensi
Dari operasi elemen-wise yang efisien hingga array dua dimensi layaknya tabel Excel.
Operasi Elemen-wise Array 2D Fungsi Statistik

Operasi Elemen-wise (Vektorisasi)

Operasi matematis pada array berlaku untuk semua elemen sekaligus — tanpa perulangan for.

CARA LIST (PERLU PERULANGAN)
harga = [15000, 22000, 8000] hasil = [] for h in harga: hasil.append(h * 1.11)
CARA ARRAY (LANGSUNG)
harga = np.array([15000, 22000, 8000]) hasil = harga * 1.11
Kedua kode di atas menghasilkan nilai yang sama (harga setelah PPN efektif 11%, PMK 131/2024) — tapi cara array jauh lebih ringkas dan lebih cepat dieksekusi.

Hitung dari Nol — Diskon dengan Operasi Array

Toko online memberi diskon 15% untuk 4 produk. Harga asli: [50000, 75000, 120000, 45000].

LANGKAH PERHITUNGAN
LangkahPerhitunganNilai (array)
1. Nilai diskonharga_asli × 15%[7500, 11250, 18000, 6750]
2. Harga akhirharga_asli − diskon[42500, 63750, 102000, 38250]
3. Total pendapatan42500+63750+102000+38250Rp 246.500
KODE LENGKAP
harga = np.array([50000,75000,120000,45000])
diskon = harga * 0.15
akhir = harga - diskon
total = np.sum(akhir)


Empat baris ini menggantikan puluhan baris perulangan manual bila memakai list.

Array Multi-Dimensi (2D)

Array 2D menyimpan data dalam baris dan kolom, persis seperti tabel spreadsheet — cocok untuk data tabular bisnis.

stok.shape = (3, 3)3215408502260518baris 0baris 1baris 2kol 0kol 1kol 2Akses elemen: stok[baris, kolom] → stok[1, 2] = 22
CARA MEMBUAT & MENGAKSES
stok = np.array([ [32, 15, 40], [8, 50, 22], [60, 5, 18]]) stok.shape # (3, 3) stok[1, 2] # 22

Fungsi NumPy yang Sering Dipakai

Beberapa fungsi bawaan NumPy yang paling relevan untuk analisis data bisnis sehari-hari.

FungsiKegunaanContoh
np.sum(arr)Total seluruh elemenTotal omzet mingguan
np.mean(arr)Rata-rata elemenRata-rata transaksi harian
np.max(arr) / np.min(arr)Nilai tertinggi/terendahProduk terlaris/tersepi
arr.shapeUkuran (baris, kolom)Cek dimensi data sebelum diolah
np.sort(arr)Mengurutkan elemenRanking produk terlaris
Fungsi-fungsi ini akan sering Anda pakai lagi di Pertemuan 10 (sorting) dan Pertemuan 11 (pencarian data) — array adalah fondasinya.

Studi Kasus: Rata-rata Penjualan Toko Online

Kasus lengkap: dari data mentah, menghitung rata-rata, hingga menandai hari di atas rata-rata.

penjualan = np.array([120, 135, 98, 142, 110, 160, 175]) rata2 = np.mean(penjualan) # 134.29 hari_laris = penjualan[penjualan > rata2] print(hari_laris) # [135 142 160 175]
Empat hari (indeks 1, 3, 5, 6) memiliki penjualan di atas rata-rata — informasi ini bisa jadi dasar keputusan restock atau promosi tambahan di hari serupa minggu depan.
Bagian 3 dari 3
Array dalam Konteks Bisnis Digital
Studi kasus gudang UMKM, kesalahan umum pemula, dan latihan mandiri untuk mengasah kemampuan Anda.
Studi Kasus Gudang Kesalahan Umum Latihan

Studi Kasus: Stok Gudang UMKM dengan Array 2D

Tiga produk (baris), stok di tiga cabang (kolom). Berapa total stok per produk di seluruh cabang?

DATA STOK (BARIS = PRODUK, KOLOM = CABANG)
Cabang ACabang BCabang C
Kaos321540
Celana85022
Jaket60518
KODE & HASIL
stok = np.array([[32,15,40], [8,50,22],[60,5,18]]) total_per_produk = np.sum(stok, axis=1) # [87, 80, 83]

Glosarium: axis=1 berarti "jumlahkan menyamping per baris" (per produk).

Coba Sendiri: Menjelajahi Array NumPy 1D/2D

Ubah nilai array, coba operasi elemen-wise, saring dengan boolean indexing, dan bandingkan hasil axis=0 vs axis=1 pada array 2D.

Kesalahan Umum Pemula saat Memakai Array

Empat jebakan paling sering ditemui mahasiswa baru — kenali gejalanya sebelum Anda mengalaminya sendiri.

KESALAHAN 1
INDEX OUT OF RANGE
Mengakses arr[10] pada array berisi 5 elemen (indeks maksimum hanya 4). Selalu cek len(arr) dulu.
KESALAHAN 2
SHAPE MISMATCH
Menjumlahkan dua array berukuran berbeda, misalnya (3,) dengan (4,) → muncul ValueError.
KESALAHAN 3
LUPA IMPORT NUMPY
Memanggil np.array() tanpa import numpy as np di baris paling atas → NameError.
KESALAHAN 4
CAMPUR TIPE DATA
Memasukkan teks ke array angka membuat NumPy mengubah semua elemen jadi teks — hasil hitung jadi salah.

Latihan Praktik Mandiri

Kerjakan di Google Colab atau IDE Anda. Kumpulkan file .py atau tautan Colab sebelum pertemuan berikutnya.

INSTRUKSI TUGAS
  • 1. Buat array 1D berisi harga 6 produk toko online pilihan Anda sendiri (dalam Rupiah).
  • 2. Hitung total, rata-rata, harga tertinggi, dan harga terendah memakai fungsi NumPy.
  • 3. Terapkan diskon 20% ke seluruh array memakai operasi elemen-wise (bukan perulangan for).
  • 4. Buat array 2D 3×2 berisi stok 3 produk di 2 cabang, lalu hitung total stok per produk dengan np.sum(..., axis=1).
Perhatikan: gunakan NumPy untuk seluruh perhitungan (bukan perulangan manual) — inilah yang dinilai dalam tugas ini.

Ringkasan & Jembatan ke Pertemuan 10

YANG SUDAH ANDA KUASAI
  • Konsep array dan bedanya dengan list Python.
  • Membuat, mengakses (indexing/slicing), dan mengolah array dengan NumPy.
  • Operasi elemen-wise dan fungsi statistik (sum, mean, max, min).
  • Array multi-dimensi (2D) untuk data tabular bisnis.
MINGGU DEPAN — PERTEMUAN 10
REKURSI & SORTING
Array yang sudah Anda kuasai hari ini akan menjadi bahan baku utama untuk algoritma pengurutan (bubble, selection, quick sort) minggu depan.
Pastikan latihan mandiri hari ini selesai — kemampuan mengolah array adalah syarat untuk mengikuti topik sorting dengan lancar.