miensters.files.wordpress.com · web viewbab i. pendahuluan. latar belakang. di tahun -90an telah...
TRANSCRIPT
BAB I
PENDAHULUAN
1.1 Latar Belakang
Di tahun -90an telah melahirkan berbagai macam data dibidang ilmu
pengetahuan, bisnis dan pemerintah. Kemampuan teknologi informasi belakangan
ini semakin populer penggunaan Data Mining untuk mengumpulakn dan
menyimpan berbagai tipe data jauh meninggalkan kemampuan untuk
menganalisis data yang ada, tidak dapat menangani data dalam jumlah besar.
Sementara para pelaku bisnis memiliki kebutuhan untuk memnfaatkan data yang
sudah dimiliki, hingga akhirnya para peneliti melihat peluang untuk melahirkan
sebuah teknologi yang menjawab kebutuhan ini yaitu data mining.
Data mining dikenal di dunia sains dan matematis, namun juga digunakan
secara luas oleh para pemasar untuk merangkum data konsumen dari berbagai
website.
Dari tinjauan keamanan sistem informasi, data mining memang bagai pisau
bermata ganda. Di satu sisi bisa berguna bagi pihak pemilik data, namun bisa jadi
illegal jika data-data tersebut disalahgunakan untuk hal-hal yang bersifat
melanggar privasi orang lain atau bahkan jika pengumpulan data tersebut
dilakukan secara tidak etis dan tanpa sepengetahuan pihak yang memiliki
informasi.
Aplikasi data mining sendiri bukanlah suatu aplikasi sederhana. Ia melibatkan
algorithma machine learning yang membutuhkan algoritma kecerdasan buatan
yang cukup kompleks.
1
1.2 Tujuan Praktikum
a. Dengan adanya praktikum akan dapat mengembangkan teori yang sudah
disampaikan oleh dosen.
b. Untuk mengenalkan blok PL/SQL beserta bagiannya.
c. Agar dapat mendeklarasikan dan menggunakan variable pada PL/SQL.
1.3 Manfaat Praktikum
a. Mahasiswa mampu mempraktekkan apa yang sudah ada pada modul
praktikum.
b. Dapat memberikan pemahaman bagi mahasiswa tentang konsep penggunaan
PL/SQL ORACLE.
c. Untuk memberikan pemahaman pada mahasiswa agar mengerti tentang esensi
penggunaan percabangan (pemilihan/kondisial) dan pengulangan
(Looping/iterasi) dalam PL/SQL.
2
BAB II
TINJAUAN PUSTAKA
2.1 Data Mining
2.1.1 Pengertian Data Mining
Data mining adalah proses yang menggunakan berbagai perangkat analisis
data untuk menemukan pola dan hubungan dalam data yang mungkin dapat
digunakan untuk membuat prediksi yang valid.
Secara definisi data mining adalah ekstraksi informasi potensial yang
sebelumnya tak diketahui atau implisit atau suatu kelas dari aplikasi database
yang mencari pola tersembunyi dalam suatu kelompok data. Atau data mining
bisa juga didefinisikan sebagai suatu proses yang menggunakan berbagai
perangkat analisis data untuk menemukan pola dan relasi data agar dapat
digunakan untuk membuat prediksi dengan tepat.
Pada dasarnya ada empat langkah utama dalam melakukan data mining:
1. Mendeskripsikan data, yakni menyimpulkan atribut statistik (seperti rata-rata
dan standard deviasi), mereview secara visual menggunakan grafik dan
diagram, serta mencari hubungan-hubungan potensial antar variabel (seperti
misalnya, nilai-nilai yang seringkali keluar bersamaan).
2. Membangun model perkiraan (predictive model) berdasarkan pada pola-pola
yang ditemukan pada langkah sebelumnya.
3. Menguji model di luar sampel asli. Sebuah model yang baik tidak harus sama
persis dengan kenyataan sebenarnya (seperti peta bukanlah representasi
sempurna dari jalan yang sebenarnya), akan tetapi bisa menjadi panduan yang
berguna untuk mengerti bisnis kita.
4. Memverifikasi/menguji model. Misalnya, dari suatu database pelanggan yang
telah merespon tawaran yang pernah diiklankan kepada mereka, kita
membangun sebuah model perkiraan yang memiliki prospek akan mendapat
respon yang sama dari pelanggan dengan tipikal tersebut tersebut. Tapi
3
bisakah kita benar-benar bergantung pada perkiraan kita tersebut? Kita perlu
membuktikan model perkiraan kita tersebut ke sample pelanggan yang lain
dan melihat hasil yang kita dapatkan.
Untuk melakukan hal tersebut diatas maka setidaknya dibutuhkan suatu
program yang dapat menampilkan (kalau tidak mendeteksi) pola dan keteraturan
dalam data sehingga pola-pola yang kuat atau sangat jelas terlihat dapat
digunakan untuk melakukan prediksi.
2.2 DATA WAREHOUSE
2.2.1 Definisi Data Warehouse
Data warehouse merupakan tempat penyimpanan untuk ringkasan dari data
historis yang diambil dari basis data-basis data yang tersebar di suatu organisasi.
Data warehouse mengumpulkan semua data perusahaan dalam satu tempat agar
dapat diperoleh pandangan yang lebih baik dari suatu proses bisnis/kerja dan
meningkatkan kinerja organisasi. Data warehouse mendukung proses pembuatan
keputusan manajemen.
2.2.2 Tujuan Data Warehouse
Tujuan utama dari pembuatan data warehouse adalah untuk menyatukan
data yang beragam ke dalam sebuah tempat penyimpanan dimana pengguna dapat
dengan mudah menjalankan query (pencarian data), menghasilkan laporan, dan
melakukan analisis. Salah satu keuntungan yang diperoleh dari keberadaan data
warehouse adalah dapat meningkatkan efektifitas pembuatan keputusan.
2.2.3 Karakteristik Data Warehouse
a. Subject Oriented atau berorientasi pada subyek. Sebuah data warehouse
dikatakan berorientasi pada subyek karena data disusun sedemikian rupa
sehingga semua elemen data yang terkait dengan event/objek yang sama
dihubungkan
b. Time-variant, artinya bahwa perubahan data ditelusuri dan dicatat sehingga
laporan dapat dibuat dengan menunjukkan waktu perubahannya.
4
c. Non Volatile berarti bahwa data yang telah disimpan tidak dapat berubah.
Sekali committed, data tidak pernah ditimpa/dihapus. Data akan bersifat static,
hanya dapat dibaca dan disimpan untuk kebutuhan pelaporan
d. Integrated, artinya data warehouse akan mencakup semua data operasional
organisasi yang disimpan secara konsisten.
5
BAB III
PENGENALAN PL/SQL DAN TIPE DATA
Definisi mengenai PL/SQL, PL/SQL (procedural language/struktured
language) adalah sebuah penggabungan antara bahasa pemrograman prosedural
(PL) dan SQL merupakan syntax. Jadi PL/SQL merupakan bahasa pemrograman
yang menggabungkan bahasa procedural, seperti pernyataan percabangan (IF-
THEN-ELSE), pengulangan (LOOP) dan deklarasi variable dan fasilitas yang
disediakan Oracle sehingga pengguna dapat memanfaatkan konsep
pemrograman. Beberapa kelebihan PL/SQL dalam database Oracle :
1. PL/SQL dapat digunakan di server sehingga client hanya dapat mengakses
didalam server.
2. Penggunaan PL/SQL mudah dimengerti oleh setiap pengguna.
3. PL/SQL dapat didesain khusus untuk database Oracle dalam menggunakan
program aplikasi.
Tipe data pada PL/SQL
Tipe Data dasar :
1. Numerik
- Number - Int
- Binary_Integer - Numeric
- Integer - Real
- Desimal - Smallint
- Double Precision
2. Karakter
- Varchar - Date
- Char - Boolean
- Long - Rowid
6
Tipe Data tambahan :
- Record
- Array
3.1 Langkah-langkah untuk memanggil iSQL*PLUS
Sebelum melakukan percobaan, langkah-langkah yang harus dilakukan
terlebih dahulu adalah sebagai berikut:
1. Klik start pada layar komputer, kemudian pilih My Computer
Gambar 3.1 Tampilan awal pemanggilan Isql*plus
2. Kemudian akan muncul seperti dibawah ini, pilih pada System C:\
Gambar 3.2 Tampilan kedua pemanggilan Isql*plus
7
3. Setelah system C: di klik kemudian pilih pada Oracle
Gambar 3.3 Tampilan ketiga pada pemanggilan Isql*plus
4. Setelah Oracle di klik, maka akan muncul folder Product lalu di klik
Gambar 3.4 Tampilan keempat pada pemanggilan Isql*plus
8
5. Setelah folder product di klik kemudian klik pada 10.2.0
Gambar 3.5 Tampilan kelima pada pemanggilan Isql*plus
6. Maka akan keluar berbagai folder kemudian pilih db 1
Gambar 3.6 Tampilan keenam pada pemanggilan Isql*plus
9
7. Kemudikan pilih pada folder instal
Gambar 3.7 Tampilan ketujuh pada pemanggilan Isql*plus
8. Lalu pilih dan klik readme
Gambar 3.8 Tampilan kedelapan pemanggilan Isql*plus
10
9. Kemudian copy alamat iSQL*PLUS pada ORACLE 10g, dibawah ini
Gambar 3.9. Tampilan C:\oracle\product\10.2.0\db_1\install\readme.txt
10. Alamat yang berada di bawah : “ The iSQL*Plus URL is : “. Di ketik ulang
alamat tersebut pada WEB BROWSER
Gambar 3.10 Tampilan web browser untuk pemanggilan Isql*plus
11. Maka akan muncul tampilan seperti dibawah ini,
Gambar 3.11. Tampilan web browser iSQL*Plus
11
12. Setelah ORACLE 10g diinstall lengkap dengan SAMPLE SCHEMA, selanjutnya mengisi Username : scott, Password : password yang telah ditentukan , Connect Identifier : orcl lalu klik Login.
Gambar 3.12. Tampilan login di iSQL*Plus
13. Berikut tampilan iSQL*Plus
Gambar 3.13 Tampilan iSQL*Plus
12
3.2 Membuat tampilan seperti ini pada SQLPLUS :
1
3
5
7
9
11
SQL :SET SERVEROUTPUT ON;
DECLARE
X number;
BEGIN
X:=1
While x<=12
Loop
If mod(x,2)=1 then
Dbms_output.pul_line(x||’’);
End if;
X:=x+1;
End loop;
Dbms_output.put_line(‘’);
END;
/
Penjabaran : Menyeting menyalakan SERVEROUTPUT, mendeklarasikan
batas_b bertipe data NUMBER, batas_a bertipe data NUMBER,
dimulai, batas_b menugaskan variabel batas_bawah, batas_a
menugaskan variabel batas_atas, ketika batas_b kurang dari sama
dengan batas_a lakukan perulangan, jika sisa hasil bagi (batas_b,2)
sama dengan 1 maka keluaran DBMS ambil baris data (batas_b),
jika selesai, batas_b menugaskan batas_b ditambahkan 1, selesai
perulangan, keluaran DBMS ambil baris data hasil, selesai.
13
Hasil percobaan :
Gambar 3.13 Tampilan pendeklarasian number batas atas dan batas bawah.
3.3 Membuat tampilan seperti ini pada SQL Plus :
1 3 5 7 9 11
SQL : set serveroutput on;
declare
x number;
begin
x:=1;
while x<=12
loop
if mod(x,2)=1 then
dbms_output.put (x||' ');
end if;
x:=x+1;
end loop;
14
dbms_output.put_line('');
end;
Penjabaran : Menyeting menyalakan SERVEROUTPUT, mendeklarasikan x
bertipe data NUMBER, , dimulai, x menugaskan 1, ketika x kurang
dari sama dengan 12 lakukan perulangan, jika sisa hasil bagi (x,2)
sama dengan 1 maka keluaran DBMS ambil data (x), jika selesai, x
menugaskan x ditambahkan 1, selesai perulangan, keluaran DBMS
ambil data hasil, selesai.
Hasil percobaan :
Gambar 3.14 Tampilan proses pendeklarasian perulangan
15
BAB IV
CURSOR
Kursor adalah wilayah kerja sementara yang dibuat dalam memori sistem
ketika sebuah pernyataan SQL dijalankan. kursor berisi informasi tentang
pernyataan pilih dan baris data yang diakses olehnya. Area kerja ini sementara
digunakan untuk menyimpan data yang diambil dari database dan memanipulasi
data ini. kursor dapat menyimpan lebih dari satu baris, tapi dapat memproses
hanya satu baris pada suatu waktu. Himpunan baris kursor memegang disebut set
aktif.
4.1 Membuat database baru menggunakan nomor NPM dengan SQL Plus
1. Langkah pertama, kita login terlebih dahulu ke SQL Plus pada command
prompt, kemudian ketikkan SQL PLUS lalu enter, akan muncul pertanyaan
untuk memasukkan username dan password, kemudian kita masukkan
username scott dan passwordnya praktikum.
2. Langkah kedua, setelah connect ke SQL Plus kemudian ketikkan syntax
dibawah ini :
SQL : connect system/praktikum
Penjabaran : menghubungkan ske sistem praktikum
SQL : create user “1412070091” identified by ika;
Penjabaran : buat user “1412070091” terkenali dari ika
SQL : grant connect, resource to “1412070091”;
Penjabaran : memberi hubungan, sumber kepada “1412070091”
SQL : disconnect
Penjabaran : memutus hubungan
SQL : exit
Penjabaran : keluar
16
Hasil percobaan :
Gambar 4.1 Tampilan pembuatan Data Base dengan menggunakan nomor NPM pada sql plus.
4.1.1 membuat user grant pada sql plus
SQL : grant connect, resource to “1412070091”;
Penjabaran : memberi hubungan, sumber kepada “1412070091”
Hasil percobaan :
Gambar 4.2 Tampilan pemberian hubungan dengan sumber NPM
4.2 Membuat database baru menggunakan nomor NPM dengan iSQL*Plus
1. Langkah pertama, Login ke admin oracle kemudian masukkan username: sys,
pasword:praktikum, connect as:sys dba lalu Klik login.
17
Gambar 4.3 Tampilan login ke admin dengan menggunakan Oracle
3. Setelah keluar tampilan seperti ini, kemudian pilih pada administration
Gambar 4.4 Tampilan Oracle administration
18
4. Kemudian pilih user
Gambar 4.5 Tampilan Enterprise Manager Administration
5. Pilih create untuk membuat user menggunakan Oracle
Gambar 4.6 Tampilan user create
19
6. Kemudian mengisikan kolom user yang tersedia pada Oracle, lalu oke
Gambar 4.7 Tampilan kolom user pada Oracle
7. Maka akan keluar tampilan seperti dibawah ini
Gambar 4.8 Tampilan update message setelah mengisikan kolom user
20
8. Me Role – kan User yang Telah Dibuat
Gambar 4.9 Tampilan awal proses role
9. Kemudian Pilih Connect dan Resource pada Available Role
Gambar 4.10 Tampilan kedua proses Role
21
10. Membuat User Previlege
Gambar 4.11 Tampilan proses System Previllege
11. Pilih Unlimited Tablespace pada Available System Previllege
Gambar 4.12 Tampilan kdua proses System Previllege
22
12. Akan keluar User NPM pada Kolom User
Gamabar 4.13 Tampilan User NPM kolom user
13. Maka User Baru Telah Berhasil Dibuat, Kemudian Memanggil melelui ISQL
PLUS
Gambar 4.14 Tampilan User Baru
23
Gambar 4.15 Tampilan isql plus
4.3 Membuat Tabel Baru dengan Menggunakan ISQL PLUS dan SQL
PLUS
4.3.1 Membuat Tabel Supplier Menggunakan ISQL PLUS
SQL : CREATE TABLE supplier(
id_supplier VARCHAR2(10),
nama VARCHAR2(100),
no_telp VARCHAR2(15),
alamat VARCHAR2(200),
CONSTRAINT id_supplier_pk PRIMARY KEY(id_supplier));
Penjabaran : Buat tabel supplier, id supplier bertipe data varchar2(10), nama
bertipe data varchar2(100), no_telp bertipe data varchar2(15), alamat
bertipe data varchar2(200), constraint tabel supplier kolom
id_supplier menjadi primary key.
24
Hasil percobaan :
Gambar 4.16 Tampilan pembuatan Tabel Supplier
4.3.2 Memasukkan Data-data Buku pada Tabel Supplier yang telah Dbuat
SQL : INSERT INTO supplier VALUES(
'SP-001','PT.Sidogiri','022-8768509','Jl. Ruwet Gg. Buntet No. 34
Bandung');
INSERT INTO supplier VALUES(
'SP-002','PT.Moroseneng','021-8695465','Jl. Badak Jawa No. 6 Jakarta');
INSERT INTO supplier VALUES(
'SP-003','PT.Suka-suka','031-4568698','Jl. Darmo No. 7 Surabaya');
INSERT INTO supplier VALUES(
'SP-004','PT.Sukabaca','022-9797966','Jl. Sukabirus No. 9 Bandung');
Penjabaran : Memasukkan nilai supplier 'SP-001','PT.Sidogiri','022-8768509','Jl.
25
Ruwet Gg. Buntet No. 34 Bandung'
Memasukkan nilai supplier 'SP-002','PT.Moroseneng','021-
8695465','Jl. Badak Jawa No. 6 Jakarta'
Memasukkan nilai supplier -003','PT.Suka-suka','031-4568698','Jl.
Darmo No. 7 Surabaya'
Memasukkan nilai supplier 'SP-004','PT.Sukabaca','022-
9797966','Jl. Sukabirus No. 9 Bandung'
Hasil percobaan :
Gambar 4.17 Tampilan data buku pada tabel suppliernya
26
4.3.3 Menampilkanl Tabel Supplier yang telah Dibuat
SQL : Select * from buku;
Penjabaran : Ambil data dari buku
Hasil percobaan :
Gambar 4.18 Tampilan data buku pada pada tabel supplier di isql plus
27
Gambar 4.19 Tampilan data buku pada pada tabel supplier disql plus
4.3.4 Membuat Tabel Jenis Buku Menggunakan ISQL PLUS
SQL : CREATE TABLE buku(
id_buku VARCHAR2(10),
id_jenis VARCHAR2(5),
id_supplier VARCHAR2(10),
judul VARCHAR2(200),
pengarang VARCHAR2(100),
harga VARCHAR2(15),
stock NUMBER(5,2),
CONSTRAINT id_buku_pk PRIMARY KEY(id_buku),
CONSTRAINT id_suppier_fk FOREIGN KEY(id_supplier)
REFERENCES supplier(id_supplier));
Penjelasan : Buat tabel buku, id_buku bertipe data varchar2(10), id_jenis bertipe
data varchar2(5), id_supplier bertipe data varchar2(10), judul data
varchar2(200), pengarang bertipe data varchar2(100),hargabertipe
data varchar2(15), stock bertipe data number(5,2), constraint tabel
buku kolom id_buku menjadi primary key, constraint tabel supplier
kolom id_supplier menjadi foreign key dan mereferensi tabel
supplier kolom id_supplier.
28
Hasil percobaan :
Gambar 4.20 Tampilan proses pembuatan tabel buku
4.3.5 Memasukkan Data Buku pada Tabel Buku
SQL : INSERT INTO jenis VALUES('AK' , 'Akuntansi' );
INSERT INTO jenis VALUES('BH' , 'Bahasa' );
INSERT INTO jenis VALUES('BI' , 'Biologi' );
INSERT INTO jenis VALUES('EK' , 'ekonomi' );
INSERT INTO jenis VALUES('FL' , 'Filsafat' );
INSERT INTO jenis VALUES('FI' , 'Fisika' );
INSERT INTO jenis VALUES('IT' , 'Komputer dan
Internet');
INSERT INTO jenis VALUES('MN' , 'Manajemen' );
INSERT INTO jenis VALUES('UM' , 'Umum' );
29
Penjabaran : Memasukkan jenis buku 'AK' , 'Akuntansi', Memasukkan jenis buku
'BH' , 'Bahasa',Memasukkan jenis buku 'BI' , 'Biologi',Memasukkan
jenis buku 'EK' , 'ekonomi',Memasukkan jenis buku 'FL' ,
'Filsafat',Memasukkan jenis buku 'FI' , 'Fisika',Memasukkan jenis
buku 'IT' , 'Komputer dan Internet', Memasukkan jenis buku 'MN' ,
'Manajemen',Memasukkan jenis buku 'UM' , 'Umum'
Hasil percobaan :
Gambar 4.21 Tampilan tabel jenis buku
4.3.6 Menampilkan Tabel Buku pada ISQL PLUS
SQL : Select * from buku;
Penjabaran : Ambil data dari buku
30
Hasil percobaan :
Gambar 4.22 Tampilan data buku pada tabel jenis
31
Gambar 4.23 Tampilan data buku pada tabel jenis dengan SQL PLUS
32
4.3.7 Proses Export database dari file Hasil Proses Pembuatan Tabel
Gambar 4.24 Tampilan proses Export
33
4.3.8 Hasil Export Disimpan ke dalam Drive C:\
Gambar 4.25 Tampilan data hasil export yang telah disimpan
4.4 Proses Pembuatan Cursor Implisit dan Explisit
4.4.1 Membuat Cursor Implisit pada database dari file yang telah dibuat
SQL : DECLARE
v_nama buku.judul%type;
v_id buku.id_buku%type;
CURSOR cur1 IS SELECT id_buku,judul FROM buku where
id_buku='BK-001';
BEGIN
OPEN cur1;
FETCH cur1 INTO v_id, v_nama;
WHILE cur1%FOUND LOOP
DBMS_OUTPUT.PUT_LINE(v_nama);
DBMS_OUTPUT.PUT_LINE(v_id);
FETCH cur1 INTO v_nama, v_id;
END LOOP;
CLOSE CUR1;
END;
34
Penjabaran : Mendeklarasikan id_jenis nama buku yang diambil dari id_buku
adalah judul dari buku dimana buku bernomer BK-001, dimulai
dengan membuka cursor 1 yang terdapat v_id, v_nama dimana
cursor 1 ditemukan perulangan DBMS output.put_line pada kolom
nama, kolom id. Cursor 1 terdapat nama dan id dan perulangan
selesai, cursor 1 tutup, selesai.
Hasil percobaan :
Gambar 4.26 Tampilan Proses Cursor Implisit
35
4.4.2 Membuat Cursor Eksplisit pada Database dari File yang Telah Dibuat
SQL : DECLARE
vid_buku buku.id_buku%TYPE;
vnama buku.judul%TYPE;
CURSOR c1 IS
SELECT id_buku, judul FROM buku;
x number;
BEGIN
DBMS_OUTPUT.PUT_LINE('Data Buku');
DBMS_OUTPUT.PUT_LINE('No id_buku nama');
OPEN c1;
FETCH c1 INTO vid_buku,vnama;
WHILE c1%FOUND LOOP
DBMS_OUTPUT.PUT_LINE(c1%rowcount||','||vid_buku||''||
vnama);
FETCH c1 INTO vid_buku,vnama;
END LOOP;
x := c1%ROWCOUNT;
DBMS_OUTPUT.PUT_LINE('Jumlah data =' ||x);
CLOSE c1;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Tidak ada data buku');
END;
Penjabaran : Mendeklarasikan id_buku, nama_buku, judul_buku pada cursor 1
adalah diambil id_buku, judul dari buku yang bertipe data number,
dimulai DBMS_OUTPUT.PUT_LINE pada kolom data buku dan
no_id buku. Buka cursor 1yang memenipulasi variabel id buku dan
variabel nama dimana cursor 1 ditemukan perulangan pada kolom id
buku dan nama buku, perulangan selesai. Cursor1 pada kolom
jumlah data ditutup, pengecualian ketika tidak ditemukan data maka
dbms akan muncul kolom”tidak ada data buku”, selesai.
36
Hasil percobaan :
Gambar 4.27 Tampilan proses cursor Eksplisit
4.5 Menjalankan Blok PL/SQL pada ISQL PLUS
SQL : DECLARE
v_idsuplier supplier.id_supplier%TYPE;
v_nama supplier.nama%TYPE;
v_no_telepon supplier.no_telp%TYPE;
37
v_alamat supplier.alamat%TYPE;
x number;
BEGIN
SELECT id_supplier,nama,no_telp,alamat INTO
v_idsuplier,v_nama,v_no_telepon,v_alamat FROM supplier
ORDER BY id_supplier;
x :=SQL%ROWCOUNT;
IF SQL%NOTFOUND THEN
DBMS_OUTPUT.PUT_LINE('Nama Pemesan Tidak Ditemukan');
ELSE
DBMS_OUTPUT.PUT_LINE('Daftar Nama Pemesan yang Total
Banquetnya <= 500000 :');
DBMS_OUTPUT.PUT_LINE('ID SUPLIER NAMA NO TELP
ALAMAT');
DBMS_OUTPUT.PUT_LINE(v_idsuplier ||' '|| v_nama ||'
'|| v_no_telepon||' '|| v_alamat );
END IF;
exception when too_many_rows then
DBMS_OUTPUT.PUT_LINE('Terlalu Banyak Data');
END;
Penjabaran :Mendeklarasikan id_supplier, nama, no_telp, alamat yang dimulai
ambil id_supplier, nama, no_telp, alamat kedalam variabel
id_supplier, variabel nama, variabel no_telp, variabel alamat dari
tabel supplier yang diminta oleh id-supplier, jika SQL tidak
ditemukan pada kolom ‘nama pemesan tidak ditemukan’ yang lain
pada kolom yang diisi ‘daftar nama pemean yanng total banquetnya
<=500.000’ adalah muncul kolom NPM, selesai
38
Hasil percobaan :
Gambar 4.28 Tampilan dijalankannya blok PL/SQL pada SQL PLUS
39
BAB V
ERROR HANDLING
PL/SQL membuatnya mudah untuk mendeteksi dan memproses kondisi-
kondisi yang telah didefinisikan terlebih dahulu atau yang didefinisikan oleh user,
yang dinamakan dengan exceptions. Ketika error muncul, exception akan
ditampilkan. Sehingga, eksekusi normal akan menghentikan dan mengontrol
transfer ke bagian exception-handling (penanganan kesalahan) dari blok atau
subprogram PL/SQL kita. Untuk menangani exception yang muncul, kita menulis
rutin terpisah yang dinamakan dengan exception handlers.
5.1 Proses import database dari file hasil export
Gambar 5.1 Tampilan proses import.
40
No 2
MASIH ERROR
5.3 Proses Pembuatan Cursor untuk Pengambilan Nilai Stock Buku pada
Tabel.
SQL : set serveroutput on;
DECLARE
pe_ratio varchar(6);
jangan exception;
BEGIN
SELECT STOCK INTO pe_ratio from buku where id_buku='BK-
001';
if pe_ratio<1 then
raise jangan;
else
DBMS_OUTPUT.PUT_LINE(pe_ratio);
COMMIT;
end if;
EXCEPTION
WHEN no_data_found THEN
DBMS_OUTPUT.PUT_LINE('tidak ada');
WHEN jangan THEN
DBMS_OUTPUT.PUT_LINE('Stok habis');
END;
Penjabaran : Menyeting menyalakan SERVEROUTPUT, mendeklarasikan rasio
bertipe data VARCHAR, dimulai, ambil stock ke ratio dari buku
dimana id-buku = 001,jika rasio kurang dari 1 x menugaskan 1,
ketika x kurang dari sama dengan 12 lakukan perulangan, jika sisa
hasil bagi (x,2) sama dengan 1 maka keluaran DBMS ambil data (x),
jika selesai, x menugaskan x ditambahkan 1, selesai perulangan,
keluaran DBMS ambil data hasil, selesai.
41
Hasil percobaan :
Gambar 5.3Tampilan Proses Pembuatan Cursor untuk Pengambilan Nilai Stock Buku pada Tabel.
42
BAB VI
STORED PROGRAM
Yaitu program (kumpulan instruksi) disimpan di suatu tempat (memori)
kemudian instruksi-instruksi tersebut dieksekusi. Sasaran yang akan dicapai
komputer sesuai atau bergantung program yang disimpan untuk dieksekusi.
Penggunaan komputer dapat disesuaikan hanya dengan mengganti program yang
disimpan di memori untuk dieksekusi. Konsep ini menghasilkan keluwesan
(flesibilitas).
6.1 Membuat Prosedure dengan Enkripsi
SQL :CREATE OR REPLACE FUNCTION desimal_biner (kode IN NUMBER) RETURN VARCHAR2 IS
V_IN NUMBER;
V_NEXT NUMBER;
V_HASIL VARCHAR (1000);
BEGIN
V_IN := kode;
WHILE V_IN > 0 LOOP
V_NEXT := MOD(V_IN, 2);
V_HASIL := TO_CHAR (V_NEXT) || V_HASIL;
V_IN := FLOOR (V_IN/ 2);
END LOOP;
RETURN V_HASIL;
END;
Penjabaran : Buat atau ubah fungsi desimal ke binner dengan kode bertipe data
number diubah menjadi bertipe data varchar2 adalah variabel IN
bertipe data number, variabel next bertipe data number, variabel
hasil bertipe data varchar (1000) mulai variabel in = kode, di while
variabel in melakukan perulangan, variabel next di modif pada
variabel in 2, hasil bertipe data char, perulangan selesai, diubah
menjadi hasil, selesai.
43
Hasil percobaan :
Gambar 6.1 Tampilan proses pembuatan prosedure dengan enkripsi
6.2 Membuat Fungsi Nilai Biner dari Angka Desimal
SQL : SELECT desimal_biner (10) from dual;
Penjabaran : ambil fungsi nilai binner dari angka desimal dari dual
44
Hasil percobaan :
Gambar 6.2 Tampilan proses pembuatan fungsi nilai biner ke desimal
45
BAB VII
TRIGGER
Trigger adalah bentuk lain dari stored procedure, karena trigger juga berisi
suatu subrutin sebagaimana sebuah procedure, trigger terhubung ke dalam suatu
tabel. Definisi trigger menspesifikasi sebuah action untuk melakukan suatu
spesifikasi event, seperti update, insert, atau delete bila terjadi pada suatu tabel.
Trigger tidak pernah dipanggil secara langsung oleh aplikasi atau user. Ketika
aplikasi atau user mencoba untuk melakukan sebuah action pada definisi trigger,
maka trigger secara otomatis akan tereksekusi.
Ada 5 Tipe Trigger, yaitu UPDATE, INSERT, DELETE, INSTEAD OF,
dan AFTER
46
BAB VIII
INDEX, VIEW, DAN SEQUENCE
Index adalah objek schema yang berisi catatan dari nilai-nilai yang
muncul pada satu kolom atau kombinasi kolom di index dari sebuah tabel. Index
dibuat untuk mempercepat pengaksesan data pada suatu tabel. Index ini dibuat
berdasarkan pada field – field dari sebuah tabel. Index bisa dibuat secara otomatis
untuk constraint primary key atau unique key dan secara manual melalui
CREATE INDEX statement.
View adalah sebuah virtual tabel yang dibangun dari satu atau beberapa
tabel yang sudah ada, baik berdasarkan kondisi tertentu ataupun tidak. Secara
fisik view tidak menyimpan record seperti pada tabel, tetapi ia menyimpan data
berupa pointer yang menunjukkan ke record yang bersangkutan di dalam tabel.
Sequence digunakan untuk membangkitkan serangkaian nilai serial yang
unik.
8.1 Melakuka Proses Analis Terhadap Tabel untuk Menentukan Index
SQL : CREATE INDEX BUKU_ID_JENIS_IDX ON BUKU (id_buku,
id_jenis, id_supplier, judul, pengarang, harga,
stock);
Penjabaran : Buat indeks buku yang terdiri dari id_jenis, idx pada buku dengan
kolom id_buku, id_jenis, id_supplier, judul, pengarang, harga,
stock.
47
Hasil percobaan :
Gambar 8.1 Tampilan proses pembuatan tabel index
8.2 Pembuatan View Yang Merupakan Hasil Outer Join dari Tabel Buku
SQL : SELECT INDEX_NAME FROM USER_INDEXES WHERE TABLE_NAME='BUKU';
48
Penjabaran :Ambil index name dari index user dimana tabel nama berisikan
‘Buku’
Hasil percobaan :
Gambar 8.2 Tampilan Pembuatan view hasil outer join tabel
49
Gambar 8.3 Tampilan pembuatan view hasil outer join tabel dLm SQL PLUS
BAB IX
SIMPLE REPORTSET PAGESIZE 60
SET LINESIZE 60
SET HEADSEP ON
SET RECSEP OFF
SET FEEDBACK OFF
CLEAR BREAKS;
CLEAR COMPUTES;
CLEAR COLUMNS;
COLUMN id_buku FORMAT A10 WORD_WRAPPED
COLUMN id_jenis FORMAT A20 WORD_WRAPPED
COLUMN id_supplier FORMAT A10 WORD_WRAPPED
COLUMN judul FORMAT A10 WORD_WRAPPED
COLUMN pengarang FORMAT A10 WORD_WRAPPED
COLUMN harga FORMAT A10 WORD_WRAPPED
COLUMN stock FORMAT 999G999
REPHEADER "--START OF REPORT--"
REPFOOTER "--END OF REPORT--"
TTITLE CENTER "LAPORAN DATA BUKU" SKIP 2
50
SET DEFINE ON
ACCEPT file_name PROMPT "File penampung hasil report:"
spool &file_name
SELECT
id_buku,id_jenis,id_supplier,judul,pengarang,harga,stock
from buku;
spool off
SET FEEDBACK ON
SET RECSEP WRAPPED
51
52
53
@ C:\report.sql
C:\report.txt
C:\report.htnl
SET MARKUP HTML ON SPOOL ON
SET PAGESIZE 60
SET LINESIZE 60
SET HEADSEP ON
SET RECSEP OFF
SET FEEDBACK OFF
CLEAR BREAKS;
CLEAR COMPUTES;
CLEAR COLUMNS;
54
COLUMN id_buku FORMAT A10 WORD_WRAPPED
COLUMN id_jenis FORMAT A20 WORD_WRAPPED
COLUMN id_supplier FORMAT A10 WORD_WRAPPED
COLUMN judul FORMAT A10 WORD_WRAPPED
COLUMN pengarang FORMAT A10 WORD_WRAPPED
COLUMN harga FORMAT A10 WORD_WRAPPED
COLUMN stock FORMAT 999G999
REPHEADER "--START OF REPORT--"
REPFOOTER "--END OF REPORT--"
TTITLE CENTER "LAPORAN DATA BUKU" SKIP 2
SET DEFINE ON
ACCEPT file_name PROMPT "File penampung hasil report:"
spool &file_name
SELECT
id_buku,id_jenis,id_supplier,judul,pengarang,harga,stock
from buku;
spool off
SET FEEDBACK ON
SET RECSEP WRAPPED
SET MARKUP HTML OFF SPOOL OFF
55
56
57
BAB X
USER, PRIVILEGE, DAN ROLE
58
BAB XI
PENUTUP
DAFTAR PUSTAKA
LAMPIRAN
59
60