Vektorisasi pada NumPy
Jika array (larik) adalah sekumpulan elemen, maka vektorisasi adalah operasi pada seluruh array tersebut, bukan operasi pada elemen individu dalam array tersebut. Ilustrasi sederhana bisa ditunjukkan pada gambar di bawah. Array di tengah beroperasi pada keseluruhan nilai pada array di sebelah kiri. Hasinya adalah array di sebelah kanan. Meski sederhana, konsep vektorisasi pada NumPy ini sangat berguna dan menjadi standar penting pemrograman array.

Ilustrasi vektorisasi pada NumPy. Setial elemen ditambahakan dengan elemen lain secara keseluruhan bersamaan (inilah yang disebut dengak vektorisasi, bandingkan dengan penggunaan 'loop'). [1]
Menghindari loop dan menggunakan vektor
Salah satu tujuan vektorisasi adalah untuk menghindari penggunaan loop. Penggunaan loop sangat mudah baik pada teori maupun implementasi. Namun loop rakus sumber daya. Sebaliknya, vektorisasi sangat menghemat sumberdaya komputasi.
c = [] for i in a: b = i ** 2 c.append(b) c = np.array(c)
Bandingkan dengan cara berikut:
d = a ** 2
Hasilnya sama, namun cara kedua sangat jauh lebih cepat dan fleksibel. Ini fungsi terpenting vektorisasi.
Penutup
Artikel sangat singkat ini mengenalkan konsep vektorisasi, salah satu hal terpenting pada pemrograman array dengan NumPy. Meski terkesan remeh, pemahaman konsep vektorisasi (operasi keseluruhan elemen array secara simultan) akan sangat bermanfaat. Pesan yang ingin disampaikan lewat tulisan ini adalah, hindari sebisa mungkin penggunaan loop pada pemrograman array dengan vektorisasi. Itu saja!
Bersambung ke artikel selanjutnya: broadcasting!
Referensi:
- C. R. Harris et al., “Array Programming with NumPy,” Nature, vol. 585, no. September, pp. 357–362, 2020.
- https://www.oreilly.com/library/view/python-for-data/9781449323592/ch04.html
- https://realpython.com/numpy-array-programming/