Broadcasting dan vectorization adalah dua konsep yang membuat kode NumPy terlihat ringkas namun tetap berjalan cepat. Section ini membedah aturan broadcasting langkah demi langkah, menunjukkan penerapannya pada array multidimensi, lalu membandingkan performa loop Python dengan operasi ter-vektorisasi. Pada bagian akhir, kita membahas kapan broadcasting justru boros memori dan bagaimana menghindarinya.
Mengenal broadcasting sebagai mekanisme NumPy mengoperasikan array dengan bentuk berbeda tanpa menyalin data.
Buka → # Aturan BroadcastingMembedah dua aturan resmi broadcasting: perataan bentuk dari belakang dan syarat dimensi kompatibel.
Buka → # Broadcasting pada Array MultidimensiMenerapkan aturan broadcasting pada array dua dan tiga dimensi dengan visualisasi perluasan dimensi.
Buka → # Broadcasting dengan ScalarMenghitung array dengan satu angka: scalar dianggap array berbentuk kosong yang kompatibel dengan semua bentuk.
Buka → # Broadcasting dengan Dimensi BaruMembentuk kolom vektor dan baris vektor dengan np.newaxis untuk pola broadcasting yang paling sering dipakai.
Buka → # Pengenalan VectorizationMemahami vectorization sebagai gaya penulisan operasi pada seluruh array tanpa loop eksplisit.
Buka → # Loop Python vs VectorizationMembandingkan waktu eksekusi loop Python dan operasi ter-vektorisasi untuk memahami sumber percepatannya.
Buka → # Conditional Ter-vektorisasiMenggantikan if-else per elemen dengan np.where dan np.select agar keputusan logika ikut ter-vektorisasi.
Buka → # Menghindari Broadcasting yang Tidak EfisienMengenali pola broadcasting yang membengkakkan memori dan menerapkan alternatif perhitungan yang lebih hemat.
Buka →