PL/SQL - Array
Hai, para pemrogram yang sedang belajar! Hari ini, kita akan mendalam ke dunia yang menarik dari array PL/SQL. Seperti guru ilmu komputer tetangga Anda, saya disini untuk membimbing Anda dalam perjalanan ini secara langkah demi langkah. Jangan khawatir jika Anda baru dalam pemrograman - kita akan mulai dari dasar dan naik tingkatnya. Jadi, ambil notepad virtual Anda, dan mari kita mulai!
Apa Itu Array dalam PL/SQL?
Sebelum kita melompat ke lubuk dalam, mari kita mengerti apa itu array. Bayangkan Anda memiliki banyak cokelat, dan bukannya menyebarkannya di atas meja Anda, Anda memutuskan untuk memasukkannya dalam sebuah kotak kecil yang rapi. Kotak itu seperti array - itu adalah wadah yang menyimpan banyak item dari jenis yang sama.
Dalam PL/SQL, array adalah kumpulan elemen yang memiliki jenis data yang sama. Itu memungkinkan Anda menyimpan dan memanipulasi nilai ganda di bawah nama variabel tunggal. Sangat praktis, kan?
Jenis Array dalam PL/SQL
PL/SQL menyediakan tiga jenis array:
- Array Asosiatif (Index-By Tables)
- Tabel Tertanam
- Array Ukuran Variabel (VARRAYs)
Mari fokus pada VARRAYs untuk saat ini, karena itu adalah titik awal yang bagus bagi pemula.
Membuat Tipe Varray
Sebuah VARRAY (Array Ukuran Variabel) adalah jenis array dalam PL/SQL yang memiliki batas ukuran maksimal. Itu seperti membeli kotak cokelat dengan jumlah kompartemen tetap - Anda tidak bisa menambahkan lebih banyak cokelat daripada yang kotak itu bisa menahan!
Berikut cara Anda membuat tipe VARRAY:
CREATE OR REPLACE TYPE number_array AS VARRAY(5) OF NUMBER;
mari kitauraikan ini:
-
CREATE OR REPLACE TYPE
: Ini memberitahu Oracle untuk membuat tipe baru atau mengganti yang sudah ada. -
number_array
: Ini adalah nama yang kita berikan kepada tipe baru kami. -
AS VARRAY(5)
: Kita mendefinisikan ini sebagai VARRAY dengan maksimum 5 elemen. -
OF NUMBER
: Setiap elemen dalam array ini akan berjenis data NUMBER.
Sekarang, mari kita lihat bagaimana kita bisa menggunakan VARRAY ini dalam blok PL/SQL:
DECLARE
my_numbers number_array := number_array(10, 20, 30, 40, 50);
BEGIN
FOR i IN 1..my_numbers.COUNT LOOP
DBMS_OUTPUT.PUT_LINE('Element ' || i || ': ' || my_numbers(i));
END LOOP;
END;
/
Output:
Element 1: 10
Element 2: 20
Element 3: 30
Element 4: 40
Element 5: 50
mari kitauraikan kode ini:
- Kita deklarasikan
my_numbers
sebagai VARRAY dan inisialisasikan dengan 5 angka. - Kita gunakan loop FOR untuk mengulang array.
-
my_numbers.COUNT
memberikan kita jumlah elemen dalam array. - Kita gunakan
my_numbers(i)
untuk mengakses setiap elemen dan mencetaknya.
Bekerja dengan VARRAYs
Sekarang kita telah membuat dan menginisialisasi VARRAY, mari kita jelajahi beberapa operasi yang kita bisa lakukan di atasnya.
Menambahkan Elemen
Ingat, kita tidak bisa menambahkan lebih banyak elemen daripada ukuran maksimum yang kita tentukan. Mari kita coba menambahkan elemen:
DECLARE
my_numbers number_array := number_array(10, 20, 30);
BEGIN
my_numbers.EXTEND;
my_numbers(4) := 40;
FOR i IN 1..my_numbers.COUNT LOOP
DBMS_OUTPUT.PUT_LINE('Element ' || i || ': ' || my_numbers(i));
END LOOP;
END;
/
Output:
Element 1: 10
Element 2: 20
Element 3: 30
Element 4: 40
Di sini, kita menggunakan EXTEND
untuk meningkatkan ukuran array sebanyak 1, kemudian memberikan nilai ke elemen baru.
Menghapus Elemen
Kita juga bisa menghapus elemen dari ujung array:
DECLARE
my_numbers number_array := number_array(10, 20, 30, 40, 50);
BEGIN
my_numbers.TRIM(2); -- Hapus 2 elemen terakhir
FOR i IN 1..my_numbers.COUNT LOOP
DBMS_OUTPUT.PUT_LINE('Element ' || i || ': ' || my_numbers(i));
END LOOP;
END;
/
Output:
Element 1: 10
Element 2: 20
Element 3: 30
Metode TRIM
menghapus elemen dari ujung array.
Metode Umum untuk VARRAYs
Berikut adalah tabel metode umum yang Anda bisa gunakan dengan VARRAYs:
Metode | Deskripsi |
---|---|
COUNT | Mengembalikan jumlah elemen dalam array |
FIRST | Mengembalikan indeks elemen pertama |
LAST | Mengembalikan indeks elemen terakhir |
LIMIT | Mengembalikan ukuran maksimum array |
EXTEND | Menambahkan ukuran array |
TRIM | Mengurangi ukuran array |
EXISTS | Memeriksa apakah elemen ada di indeks tertentu |
Contoh Praktis: Nilai Siswa
Mari kita aplikasikan pengetahuan kita dengan contoh praktis. Bayangkan Anda adalah seorang guru (seperti saya!) dan Anda ingin menyimpan dan menghitung nilai rata-rata untuk seorang siswa:
CREATE OR REPLACE TYPE grade_array AS VARRAY(5) OF NUMBER;
DECLARE
student_grades grade_array := grade_array(85, 90, 78, 92, 88);
total_score NUMBER := 0;
average_score NUMBER;
BEGIN
-- Hitung skor total
FOR i IN 1..student_grades.COUNT LOOP
total_score := total_score + student_grades(i);
END LOOP;
-- Hitung rata-rata
average_score := total_score / student_grades.COUNT;
DBMS_OUTPUT.PUT_LINE('Nilai Rata-Rata: ' || ROUND(average_score, 2));
END;
/
Output:
Nilai Rata-Rata: 86.6
Contoh ini menunjukkan bagaimana Anda bisa menggunakan VARRAY untuk menyimpan nilai siswa, kemudian menghitung dan menampilkan skor rata-rata mereka.
Kesimpulan
Selamat! Anda telah mengambil langkah pertama ke dunia array PL/SQL. Kita telah melihat dasar-dasar VARRAYs, cara membuat dan memanipulasinya, dan bahkan mengaplikasikannya secara praktis. Ingat, array adalah seperti kotak cokelat - mereka menjaga data Anda teratur dan mudah diakses. Seperti yang Anda lihat, array adalah alat yang sangat berguna dalam set alat pemrograman Anda.
Tetap berlatih, stay curious, dan jangan takut untuk mencoba. Sebelum Anda tahu, Anda akan membuat semua orang terpesona dengan keterampilan PL/SQL Anda! (Maaf, saya tidak bisa menahan untuk sedikit humor guru di sana.)
Happy coding, para ahli basis data masa depan!
Credits: Image by storyset