Array adalah tipe data
bentukan yang dapat menyimpan sekumpulan nilai dari tipe data yang sama dan
dikemas dalam bentuk larik. Nilai dari elemen-elemen array dapat diakses
melalui indeksnya.
·
Membuat Tipe Array.
TYPE nama_tipe IS
TABLE OF tipe_data INDEX BY BINARY_INTEGER; |
Keterangan :
nama_tipe=
Nama array yg didefinisikan.
tipe_data= Berfungsi utk
mendeklarasikan tipe dari kumpulan data yg akan disimpan didalam array.
INDEX BY BINARY_INTEGER
= Berfungsi untuk menunjukkan bahwa array tsb akan di indeks.
·
Mingisi Nilai Pada Elemen Array.
BEGIN
X(1) := ‘A’;
X(2) := ‘B’;
END;
X(1) := ‘A’;
X(2) := ‘B’;
END;
Contoh 1 a. :
SET SERVEROUTPUT ON
DECLARE
TYPE LARIK IS
TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
A LARIK;
BEGIN
-- Melakukan pengisian terhadap elemen-elemen array
A(1) := 10; A(2) := 20;
A(3) := 30; A(4) := 40;
-- Menampilkan elemen array ke layar
DBMS_OUTPUT.PUT_LINE('Nilai elemen larik ke-1' || '='
||TO_CHAR(A(1)));
DBMS_OUTPUT.PUT_LINE('Nilai elemen larik ke-2' || '='
||TO_CHAR(A(2)));
DBMS_OUTPUT.PUT_LINE('Nilai elemen larik ke-3' || '='
||TO_CHAR(A(3)));
END;
/
SET SERVEROUTPUT ON
DECLARE
TYPE LARIK IS
TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
A LARIK;
BEGIN
-- Melakukan pengisian terhadap elemen-elemen array
A(1) := 10; A(2) := 20;
A(3) := 30; A(4) := 40;
-- Menampilkan elemen array ke layar
DBMS_OUTPUT.PUT_LINE('Nilai elemen larik ke-1' || '='
||TO_CHAR(A(1)));
DBMS_OUTPUT.PUT_LINE('Nilai elemen larik ke-2' || '='
||TO_CHAR(A(2)));
DBMS_OUTPUT.PUT_LINE('Nilai elemen larik ke-3' || '='
||TO_CHAR(A(3)));
END;
/
·
Mengurutkan Data Pada Elemen
Array.
Anda diminta utk mengurutkan
data-data yg tersusun secara acak pada sebuah array dgn menggunakan blok
PL/SQL. Data yg dimaksud adalah : 544, 78, 565, 23, 4
SET SERVEROUTPUT ON
DECLARE
TYPE LARIK IS
TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
X LARIK;
Temp NUMBER;
idx_max NUMBER;
i BINARY_INTEGER;
y BINARY_INTEGER;
BEGIN
X(1) := 544; X(2) := 78;
X(3) := 565; X(4) := 23; X(5) := 4;
DBMS_OUTPUT.PUT_LINE('Sebelum di-urutkan : ');
----------------------------------------------
FOR i IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('X('||i||') = '||
TO_CHAR(X(i)));
END LOOP;
----------------------------------------------
y:=5;
WHILE (y>=2) LOOP
idx_max:=1;
i:=2;
WHILE(i<=y) LOOP
IF X(idx_max) < X(i) THEN
idx_max:=i;
END IF;
i:=i+1;
END LOOP;
temp:=x(idx_max);
X(idx_max):=X(y);
X(y):=temp;
y:=y-1;
END LOOP;
---------------------------------------------------------
DBMS_OUTPUT.PUT_LINE(' ');
DBMS_OUTPUT.PUT_LINE('Setelah di-urutkan : ');
FOR i IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('X('||i||') = ' || TO_CHAR(X(i)));
END LOOP;
---------------------------------------------------------
END;
/
DECLARE
TYPE LARIK IS
TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
X LARIK;
Temp NUMBER;
idx_max NUMBER;
i BINARY_INTEGER;
y BINARY_INTEGER;
BEGIN
X(1) := 544; X(2) := 78;
X(3) := 565; X(4) := 23; X(5) := 4;
DBMS_OUTPUT.PUT_LINE('Sebelum di-urutkan : ');
----------------------------------------------
FOR i IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('X('||i||') = '||
TO_CHAR(X(i)));
END LOOP;
----------------------------------------------
y:=5;
WHILE (y>=2) LOOP
idx_max:=1;
i:=2;
WHILE(i<=y) LOOP
IF X(idx_max) < X(i) THEN
idx_max:=i;
END IF;
i:=i+1;
END LOOP;
temp:=x(idx_max);
X(idx_max):=X(y);
X(y):=temp;
y:=y-1;
END LOOP;
---------------------------------------------------------
DBMS_OUTPUT.PUT_LINE(' ');
DBMS_OUTPUT.PUT_LINE('Setelah di-urutkan : ');
FOR i IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('X('||i||') = ' || TO_CHAR(X(i)));
END LOOP;
---------------------------------------------------------
END;
/
0 komentar:
Posting Komentar