Apa Itu Array?
Array adalah tipe data collection yang berisi kumpulan data yang mempunyai tipe data yang sama. Pada Oracle PL/SQL, Array dimulai dari index ke-1.Ukuran dari Array adalah tetap.
Membuat Array
Di bawah ini adalah sintak dasar untuk membuat Array di PL/SQL:Sintak Dasar:
CREATE OR REPLACE TYPE varray_type_name IS VARRAY(n) of;
Contoh:
CREATE Or REPLACE TYPE arrayMHS AS VARRAY(5) OF VARCHAR2(10); / Type created.
Contoh Program #1
Pada Contoh Program#1 ini kita akan membuat program PL/SQL untuk menyimpan data di Array.DECLARE
type arraynama IS VARRAY(5) OF VARCHAR2(50);
type arraynilai IS VARRAY(5) OF INTEGER;
names arraynama;
grades arraynilai;
total integer;
BEGIN
names := arraynama('Nursalim', 'Nani Indriyani', 'Iskiyati', 'Nurul Hikmah', 'Sri Rahayu');
grades:= arraynilai(98, 97, 78, 87, 92);
total := names.count;
DBMS_OUTPUT.PUT_LINE('Total '|| total || ' Mahasiswa');
FOR i in 1 .. total LOOP
DBMS_OUTPUT.PUT_LINE('Nama Mahasiswa : ' || names(i) || ' Nilai: ' || grades(i));
END LOOP;
END;
/
Output
Total 5 Mahasiswa Nama Mahasiswa : Nursalim Nilai: 98 Nama Mahasiswa : Nani Indriyani Nilai: 97 Nama Mahasiswa : Iskiyati Nilai: 78 Nama Mahasiswa : Nurul Hikmah Nilai: 87 Nama Mahasiswa : Sri Rahayu Nilai: 92 PL/SQL procedure successfully completed.
Contoh Program #2
Pada Contoh Program #2 ini, kita akan membuat Array yang datanya berasal dari sebuah tabel di Oracle database. Prosesnya adalah Anda query terlebih dahulu dengan menggunakan Cursor dan datanya di simpan dalam Array.Langkah-langkahnya adalah:
1. Buat tabel Mahasiswa
CREATE TABLE MAHASISWA ( NPM VARCHAR2(10 BYTE), NAMA VARCHAR2(50 BYTE), JURUSAN VARCHAR2(50 BYTE) );
2. Insert data ke tabel Mahasiswa
SET DEFINE OFF;
Insert into MAHASISWA
(NPM, NAMA, JURUSAN)
Values
('2015001', 'Nursalim', 'Teknik Informatika');
Insert into MAHASISWA
(NPM, NAMA, JURUSAN)
Values
('2015002', 'Nani Indriyani', 'Bahasa Inggris');
Insert into MAHASISWA
(NPM, NAMA, JURUSAN)
Values
('2015003', 'Desi Lisnawati', 'Biologi');
COMMIT;
3. Buat program PL/SQL untuk menyimpan data mahasiswa dalam bentuk Array.
DECLARE
CURSOR c_mahasiswa
IS SELECT nama FROM mahasiswa;
TYPE c_list IS VARRAY (6) OF mahasiswa.nama%TYPE;
daftar_nama c_list := c_list ();
counter INTEGER := 0;
BEGIN
FOR n IN c_mahasiswa
LOOP
counter := counter + 1;
daftar_nama.EXTEND;
daftar_nama (counter) := n.nama;
DBMS_OUTPUT.put_line (
'Nama Mahasiswa (' || counter || '):' || daftar_nama (counter));
END LOOP;
END;
4. Output
Nama Mahasiswa (1):Nursalim Nama Mahasiswa (2):Nani Indriyani Nama Mahasiswa (3):Desi Lisnawati PL/SQL procedure successfully completed.
0 comments:
Post a Comment