Senin, 13 Mei 2013

Array Dalam PL/SQL


Bagi teman-teman yang suka ngoding, tentu tahu donk tentang array, karena keberadaanya tidak asing lagi.  Hampir di setiap bahasa pemrograman pasti ada si array ini. Nah... Kali ini saya akan mencoba mengulas sedikit mengenai array pada PL/SQL. Silahkan disimak ^_^

Soal
1. Apa yang kalian ketahui tentang array??
Jawab:

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. 

2. Tulislah bentuk umum dan contoh sederhana dari array!!
Jawab:

Bentuk umum array:
TYPE nama_tipe IS
           TABLE OF tipe_data
           INDEX BY BINARY_INTEGER;

Keterangan :
nama_tipe = nama array yg didefinisikan
tipe_data   = berfungsi untuk mendeklarasikan tipe dari kumpulan
                      data yg akan disimpan di dalam array
INDEX BY BINARY_INTEGER = berfungsi untuk menunjukkan bahwa
                                                         array tsb akan di indeks

Contoh sederhana dari array:

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;
/

Contoh array dengan perulangan:

SET SERVEROUTPUT ON
DECLARE
    TYPE LARIK IS
         TABLE OF NUMBER
         INDEX BY BINARY_INTEGER;
       
       A LARIK;
       I integer;
  
BEGIN
     FOR i IN 1..5 LOOP
               A(i):=i*10;
           DBMS_OUTPUT.PUT_LINE('Nilai elemen larik ke-'
                          ||i||'='|| TO_CHAR(A(i)));
     END LOOP;   
END;
/

Tidak ada komentar :