SET serveroutput ON
DECLARE
-- variable
vnik NUMBER(3);
vnama VARCHAR2(10);
vpinjaman NUMBER(20);
vbunga NUMBER(20);
vtotal NUMBER(20);
vangsuran NUMBER(20);
-- konstanta
kgaris CONSTANT VARCHAR2(90) :=LPAD (\'-\',90,\'-\');
klpinjaman CONSTANT REAL :=60;
kbunga CONSTANT REAL:=0.2;
BEGIN
-- Field
dbms_output.put_line(\'Daftar Pinjaman Karyawan\');
dbms_output.put_line(kgaris);
dbms_output.put_line(RPAD(\'NIK\',5,\' \' )|| RPAD (\'NAMA\',15,\' \') || RPAD(\'PINJAMAN\',15,\' \') || RPAD(\'L.PINJAMAN\',15,\' \')
|| RPAD(\'BUNGA\',15,\' \') || RPAD(\'TOTAL\',15,\' \') || RPAD(\'ANGSURAN\',15,\' \')) ;
dbms_output.put_line(kgaris);
-- record
vnik := 100;
LOOP
SELECT Employee_id, Last_name, Salary
INTO vnik, vnama, vpinjaman
FROM Employees
WHERE employee_id = vnik;
vbunga:= (kbunga * vpinjaman);
vtotal:= (vpinjaman + vbunga);
vangsuran:= (vtotal / klpinjaman);
dbms_output.put_line(RPAD(vnik,5,\' \') || RPAD (vnama,15,\' \') || RPAD(TO_CHAR(vpinjaman,\'99,999\'),15,\' \')
|| RPAD(klpinjaman,15,\' \') || RPAD(TO_CHAR(vbunga,\'99,999\'),15,\' \') || RPAD(TO_CHAR(vtotal,\'99,999\'),15,\' \') || RPAD(TO_CHAR(vangsuran,\'99,999\'),15,\' \')) ;
vnik := vnik + 1; --nomor induk selanjutnya
EXIT WHEN vnik > 120; -- proses akhir perulangan
END LOOP;
-- Data Mahasiswa
dbms_output.put_line(kgaris);
dbms_output.put_line (\'NIM : 8040170092\');
dbms_output.put_line (\'NAMA : PRASETIYO\');
dbms_output.put_line (\'KELAS : 04PS5\');
dbms_output.put_line(kgaris);
END;