# Nakafa Framework: LLM URL: /id/subject/university/bachelor/ai-ds/ai-programming/array-operation-numpy Source: https://raw.githubusercontent.com/nakafaai/nakafa.com/refs/heads/main/packages/contents/subject/university/bachelor/ai-ds/ai-programming/array-operation-numpy/id.mdx Output docs content for large language models. --- export const metadata = { title: "Operasi pada Array dengan NumPy", description: "Pelajari operasi matematika pada array dengan NumPy: broadcasting, vektorisasi, aritmetika, statistik, dan manipulasi bentuk. Panduan lengkap dengan contoh kode teruji untuk pemrograman AI dan data science.", authors: [{ name: "Nabil Akbarazzima Fatih" }], date: "09/20/2025", subject: "Pemrograman AI", }; ## Broadcasting dalam NumPy Broadcasting adalah cara cerdas NumPy menangani operasi antara array dengan ukuran berbeda. Bayangkan seperti penerjemah universal yang otomatis mencari cara agar array yang tidak cocok bisa bekerja sama dalam perhitungan. Kamu bisa menjelajahi teknik broadcasting lanjutan di [panduan broadcasting NumPy](https://numpy.org/doc/stable/user/basics.broadcasting.html) ketika siap untuk skenario yang lebih kompleks. Vektorisasi memungkinkan operasi pada seluruh array tanpa menulis loop, membuat perhitungan sangat cepat dengan memproses elemen secara bersamaan di level hardware. Dalam contoh di atas, NumPy secara otomatis menjumlahkan setiap elemen pada posisi yang sama dari kedua array. Tidak perlu menulis loop untuk mengakses setiap elemen satu per satu. ### Aturan Broadcasting Broadcasting adalah sistem aturan yang memungkinkan NumPy melakukan operasi pada array dengan bentuk yang berbeda. Seperti saat kamu ingin menambahkan angka yang sama ke semua elemen dalam daftar, NumPy bisa melakukannya secara otomatis. Terdapat tiga aturan utama dalam broadcasting: 1. **Aturan 1**: Jika dimensi berbeda, tambahkan dimensi dengan ukuran 1 dari sebelah kiri pada array yang dimensinya lebih kecil 2. **Aturan 2**: Regangkan dimensi berukuran 1 agar sesuai dengan nilai dimensi yang bersesuaian pada array lain 3. **Aturan 3**: Jika bentuk tidak kompatibel, akan muncul error ### Array dengan Skalar ### Array 2D dengan 1D Ketika kamu bekerja dengan array yang memiliki dimensi berbeda, NumPy akan mencoba menyesuaikan bentuknya secara otomatis. Proses ini sangat berguna saat kamu ingin menerapkan operasi yang sama pada setiap baris atau kolom dari matriks. diperluas menjadi (1, 3) -> (3, 3) # b ditambahkan ke setiap baris dari a` } ]} /> ### Kasus Broadcasting Gagal ## Operasi Aritmetika Array NumPy menyediakan berbagai operasi aritmetika yang dapat diterapkan pada array. Operasi ini bekerja secara elemen per elemen, mirip seperti kalkulator yang bisa menghitung banyak angka sekaligus. Ketika kamu melakukan operasi aritmetika dengan skalar, NumPy akan menerapkan operasi tersebut pada setiap elemen dalam array. Ini sangat efisien karena tidak perlu menulis loop manual. ### Operasi Antar Array Penting untuk memahami perbedaan antara perkalian elemen per elemen (`*`) dan perkalian matriks (`@` atau `np.dot()`). Perkalian elemen per elemen mengalikan elemen pada posisi yang sama, sedangkan perkalian matriks mengikuti aturan aljabar linear. ### Perbandingan dan Logika NumPy juga mendukung operasi perbandingan yang menghasilkan array boolean. Operasi ini sangat berguna untuk filtering data atau membuat kondisi kompleks. 2: {a > 2}") # Output: [False False False True True] print("Perbandingan sama dengan:") print(f"a == b: {a == b}") # Output: [ True False True False True] # Operasi logika print("Operasi logika OR:") print(f"(a > 2) | (a == b): {(a > 2) | (a == b)}") # Output: [ True False True True True]` } ]} /> Operator logika dalam NumPy menggunakan simbol khusus. Gunakan `~` untuk NOT, `&` untuk AND, dan `|` untuk OR, bukan operator Python biasa seperti `not`, `and`, `or`. ## Fungsi Statistik dan Reduksi Fungsi reduksi memungkinkan kamu menghitung nilai tunggal dari seluruh array atau sepanjang sumbu tertentu. Bayangkan kamu punya tabel nilai ujian dan ingin menghitung rata-rata untuk setiap mata pelajaran atau untuk setiap siswa. NumPy menyediakan berbagai fungsi statistik yang sangat berguna untuk analisis data. Fungsi ini dapat diterapkan pada seluruh array atau hanya pada sumbu tertentu. ### Operasi dengan Sumbu Konsep sumbu (axis) dalam NumPy sangat penting. Untuk array 2D, `axis=0` berarti operasi dilakukan sepanjang baris (menghasilkan nilai untuk setiap kolom), sedangkan `axis=1` berarti operasi dilakukan sepanjang kolom (menghasilkan nilai untuk setiap baris). Pemahaman tentang sumbu ini membantu kamu mengontrol bagaimana fungsi statistik bekerja pada data multidimensi. Misalnya, jika kamu punya data penjualan per bulan untuk berbagai produk, kamu bisa menghitung total penjualan per produk atau per bulan. ## Manipulasi Bentuk Array Manipulasi bentuk array memungkinkan kamu mengubah dimensi dan struktur data tanpa mengubah isi datanya. Seperti mengatur ulang buku di rak, kamu bisa menyusunnya dalam baris yang berbeda tanpa menambah atau mengurangi jumlah buku. NumPy menyimpan array multidimensi secara internal sebagai array satu dimensi dengan urutan row-major (elemen pada indeks terakhir disimpan secara berurutan). Pemahaman ini penting untuk operasi reshape dan flatten. ### Flatten dan Ravel Fungsi `flatten()` dan `ravel()` keduanya mengubah array multidimensi menjadi array 1D, tetapi dengan cara yang berbeda. Flatten membuat salinan baru dari data, sedangkan ravel mencoba membuat view yang lebih efisien dari segi memori. ### Reshape dan Resize Operasi reshape memungkinkan kamu mengubah bentuk array tanpa mengubah datanya, asalkan jumlah total elemen tetap sama. Sedangkan resize mengubah array secara langsung (in-place). ### Transpose Transpose adalah operasi yang membalik sumbu array, sangat berguna dalam operasi aljabar linear. NumPy menyediakan dua cara untuk melakukan transpose: menggunakan method `transpose()` atau atribut `.T` yang lebih singkat. ## Standardisasi Data dengan Z-Transform Z-Transform adalah teknik standardisasi yang mengubah data agar memiliki rata-rata 0 dan standar deviasi 1. Teknik ini sangat berguna dalam machine learning untuk memastikan semua fitur memiliki skala yang sama. Formula Z-Transform adalah , dimana: - adalah matriks fitur berukuran - adalah jumlah observasi (baris) - adalah jumlah fitur (kolom) - adalah vektor rata-rata untuk setiap kolom - adalah vektor standar deviasi untuk setiap kolom Proses standardisasi ini memastikan bahwa setiap fitur berkontribusi secara setara dalam algoritma machine learning, terlepas dari skala asli datanya. Misalnya, jika kamu memiliki data tinggi badan dalam sentimeter dan berat badan dalam kilogram, standardisasi akan membuat keduanya memiliki pengaruh yang sama dalam model. Untuk dokumentasi lengkap dan informasi lebih lanjut tentang operasi array NumPy, kamu dapat mengunjungi [dokumentasi resmi NumPy](https://numpy.org/doc/stable/user/basics.html) yang menyediakan panduan komprehensif dan contoh-contoh praktis.