Anda di halaman 1dari 49

10/20/2012

PL/SQL
1

SITI MUKAROMAH,S.Kom

TIPE DATA
10/20/2012

Pada Oracle tipe data PL/SQL secara umum dibedakan menjadi lima, yaitu: numerik, karakter, date, boolean, dan rowid.
NAMA TIPE
Numerik Numerik Numerik Numerik

Keterangan
Untuk semua tipe numerik Di dalamnya meliputi tipe unsigned integer Untuk bilangan desimal Untuk bilangan riil dengan presisi yang tinggi

NUMBER BINARY_INTEGE R DEC DOUBLE PRECISION

INTEGER
INT NUMERIC REAL

Numerik
Numerik Numerik Numerik

Untuk bilangan bulat


Untuk bilangan bulat Sama dengan NUMBER Sama dengan NUMBER
2

10/20/2012

NAMA
SMALLINT

TIPE
Numerik

Keterangan Untuk bilangan bulat dengan rentang yang kecil

VARCHAR2
CHAR LONG DATE BOOLEAN ROWIND

Karakter
Karakter Karakter Tanggal Boolean Rowid

Untuk string dengan panjang yang dinamis sesuai dengan panjang maksimal yang ditentukan
Untuk string dengan panjang yang sudah pasti Untuk string dengan lebar di atas 32.767 byte Untuk tipe tanggal Bernilai TRUE (benar) dan FALSE (salah) Untuk tipe rowid

VARIABEL
10/20/2012

Variabel adalah sebuah peubah yang digunakan untuk menampung sebuah nilai di memori komputer. Nilai yang disimpan dalam variabel dapat diubah setiap saat jika diperlukan. Tipe data dari variabel harus sesuai dengan bilai yang akan ditampung (ex: saat membuat PL/SQL akan menyimpan nilai dengan tipe data INTEGER, maka sat deklarasi variabel juga harus dengan tipe data INTEGER)
4

Contoh:

10/20/2012

Baris 1: DECLARE, berarti memberitahu Anda akan mendeklarasikan sebuah/beberapa variabel atau konstanta. Baris2: memerintahkan Oracle untuk mendeklarasikan variabel dengan nama X yang bertipe INTEGER. Baris 3: memerintahkan Oracle untuk mendeklarasikan variabel dengan nama Alamat yang bertipe varchar2. (40) berfungsi memesan ruang (panjang string) di memori sebanyak 40 karakter. Karena variabel bertipe VARCHAR2, pemesanan ruang di memori bersifat dinamis sesuai dengan nilai yang disimpan ke dalam variabel tersebut. Baris 4: variabel No_induk dengan tipe data CHAR yang dalam pemesanan ruang memori bersifat statis.

10/20/2012

Baris 2: berfungsi untuk menyimpan nilai 12 ke dalam variabel X. Baris 3 & 4: menyimpan nilai-nilai ke dalam variabel Alamat dan No_induk.

KONSTANTA
10/20/2012

Nilai yang disimpan dalam konstanta bersifat tetap (konstan). Cara mendeklarasikan konstanta adalah dengan menambahkan kata CONSTANT setelah menuliskan nama konstanta dan mengisikan nilainya setelah tipe data ditentukan.

SOAL LATIHAN
10/20/2012

1.

2.

Buatlah sebuah blok PL/SQL sederhana sehingga pada layar SQL*Plus akan menampilkan teks berikut: /* Ini adalah komentar program*/ Jelaskan mengapa blok PL/SQL di bawah ini mengalami error pada saat dijalankan.

OPERATOR
10/20/2012

Z := 3 + 6;
Maka: Z disebut variabel := disebut operator assignment 3 dan 6 disebut operand 3+6 disebut ekspresi + disebut operator aritmatika Z := 3 + 6 disebut statemen aritmatika
9

CONTOH PENGGUNAAN OPERATOR

+
10/20/2012

10

CONTOH PENGGUNAAN OPERATOR


10/20/2012

11

CONTOH PENGGUNAAN OPERATOR


10/20/2012

12

CONTOH PENGGUNAAN OPERATOR


10/20/2012

13

CONTOH PENGGUNAAN OPERATOR MOD


10/20/2012

14

OPERATOR PERSAMAAN
10/20/2012

15

OPERATOR PENGGABUNGAN
10/20/2012

16

LATIHAN
10/20/2012

1.

Jika terdapat tiga buah variabel x, y, dan z dimana masing-masing dengan ketentuan sebagai berikut: x (diisi dengan nilai 13) y (diisi dengan nilai 12) z (sebagai penampung hasil operasi-operasi aritmatika antara x dan y) Buatlah sebuah blok PL/SQL yang dapat memberikan hasil sebagai berikut:

Gsdgdfgsdgdfgdfg dgsdgsdgsdfgsdgdsfg

17

PERCABANGAN (STRUKTUR DUA KONDISI)


10/20/2012

Syntax umum:

18

PERCABANGAN (STRUKTUR DUA KONDISI)


10/20/2012

Contoh 1 Buatlah sebuah blok PL/SQL yang dapat menentukan bilangan bulat apakah termasuk bilangan genap atau ganjil! Kemudian tampilkan bilangan genap tersebut dengan diikuti teks ADALAH BILANGAN GENAP jika bilangan tersebut habis dibagi 2 dan jika tidak teks yang akan ditampilkan ADALAH BILANGAN GANJIL!

19

20

10/20/2012

PERCABANGAN (STRUKTUR DUA KONDISI)


10/20/2012

Contoh 2: Buatlah sebuah blok PL/SQL yang dapat menentukan bilangan terbesar dari dua buah bilangan bulat!

21

22

10/20/2012

Bentuk penyelesaian yang lebih ringkas:


10/20/2012

23

PERCABANGAN (STRUKTUR TIGA KONDISI ATAU LEBIH)


10/20/2012

24

10/20/2012

Contoh 1 Buatlah sebuah blok PL/SQL yang dapat menentukan sebuah bilangan bulat apakah termasuk bilangan positif, negatif, atau nol!

25

26

10/20/2012

PENGULANGAN
10/20/2012

Struktur SIMPLE LOOP Digunakan untuk melakukan pengulangan statemen dalam blok PL/SQL dimana pada saat akan masuk ke badan pengulangan tidak perlu adanya kondisi awal yang harus diperiksa terlebih dahulu. Pengecekan kondisi baru akan dilakukan pada saat program selesai mengeksekusi statementstatement yang didefinisikan dalam badan pengulangan.

27

10/20/2012

Syntax Umum:

28

10/20/2012

Contoh 1: Buatlah sebuah blok PL/SQL yang dapat menampilkan teks Belajar PL/SQL sebanyak 10 kali!

29

30

10/20/2012

10/20/2012

Contoh 2: Hitung hasil dari penjumlahan bilangan-bilangan yang terdapat pada deret berikut: 2 + 4 + 6 + ... + 18

31

10/20/2012

Variabel K digunakan sebagai pencacah proses pengulangan (counter)


32

10/20/2012

Contoh 3: Dari jawaban no.2, modifikasi agar dapat menghitung rata2

33

34

10/20/2012

STRUKTUR WHILE - LOOP


10/20/2012

Pada struktur perulangan ini proses pengulangan atau program dapat memasuki badan pengulangan hanya jika kondisi yang diberikan bernilai benar. Pengecekan kondisi dilakukan pada saat memasuki badan perulangan. Jika bernilai FALSE, maka badan perulangan tidak pernah dimasuki

35

10/20/2012

Syntax Umum WHILE LOOP:

36

10/20/2012

Contoh 1: Buatlah sebuah blok PL/SQL yang dapat menampilkan Belajar PL/SQL sebanyak 10 kali, gunakan struktur perulangan WHILELOOP!

37

38

10/20/2012

10/20/2012

Contoh 2: Buatlah sebuah blok PL/SQL yang dapat menghitung nilai perpangkatan dari 26!

39

40

10/20/2012

STRUKTUR FOR LOOP


10/20/2012

Adalah struktur pengulangan yang tidak mengandung kondisi yang harus diperiksa di dalamnya sehingga badan pengulangan pasti akan dimasuki. Pada struktur FOR LOOP ini batas-batas nilai yang akan digunakan untuk menentukan banyaknya proses pengulangan harus didefinisikan terlebih dahulu, sehingga struktur pengulangan jenis ini lebih sering digunakan untuk melakukan proses pengulangan yang sudah dipastikan banyaknya.

41

10/20/2012

Syntak umum FOR LOOP

42

10/20/2012

Contoh 1: Buatlah sebuah nlok PL/SQL yang dapat menampilkan bilangan dari 1 sampai 10!

43

44

10/20/2012

10/20/2012

Contoh 2: Buatlah sebuah nlok PL/SQL yang dapat menampilkan bilangan dari 10 sampai 1 dengan pengurangan sebesar 1!

45

46

10/20/2012

LATIHAN
10/20/2012

1.

Tampilkan sepuluh buah bilangan positif pertama yang merupakan kelipatan 4 dan jumlah total dari penjumlahan bilangan-bilangan tersebut dengan menggunakan struktur perulangan Simple Loop, WHILE-LOOP, dan FOR-LOOP!

47

10/20/2012

2.

Buatlah sebuah blok PL/SQL untuk menentukan Nilai Huruf (A,B,C,D,E) dari nilai ujian mahasiswa (masih berbentuk angka) pada suatu perguruan tinggi di Surabaya. Untuk menghitung Nilai Akhir = (uts*0.35)+(uas*0.40)+(quiz*0.25). Ketentuannya sebagai berikut : NILAI HURUF A B C NILAI ANGKA Nilai 80 70 nilai < 80 55 nilai < 70

D 40 nilai < 55 Ket : inputan utkE nilai uts,uas dan quiz dari user Nilai < 40
48

10/20/2012

3.

Tampilkan urut angka 1-10. Dengan menggunakan : LOOP FOR LOOP WHILE LOOP

49