Transcript PL/SQL
4/8/2015 PL/SQL 1 SITI MUKAROMAH,S.Kom TIPE DATA 4/8/2015 Pada Oracle tipe data PL/SQL secara umum dibedakan menjadi lima, yaitu: numerik, karakter, date, boolean, dan rowid. NAMA TIPE Keterangan NUMBER Numerik Untuk semua tipe numerik BINARY_INTEGE R Numerik Di dalamnya meliputi tipe unsigned integer DEC Numerik Untuk bilangan desimal DOUBLE PRECISION Numerik Untuk bilangan riil dengan presisi yang INTEGER Numerik Untuk bilangan bulat INT Numerik Untuk bilangan bulat NUMERIC Numerik Sama dengan NUMBER REAL Numerik Sama dengan NUMBER tinggi 2 SMALLINT TIPE 4/8/2015 NAMA Keterangan Numerik Untuk bilangan bulat dengan rentang yang kecil VARCHAR2 Karakter Untuk string dengan panjang yang dinamis sesuai dengan panjang maksimal yang ditentukan CHAR Karakter Untuk string dengan panjang yang sudah pasti LONG Karakter Untuk string dengan lebar di atas 32.767 byte DATE Tanggal Untuk tipe tanggal BOOLEAN Boolean Bernilai TRUE (benar) dan FALSE (salah) ROWIND Rowid Untuk tipe rowid 3 VARIABEL • • 4/8/2015 • 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 • • • • 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. 5 4/8/2015 • Contoh: 4/8/2015 Baris 2: berfungsi untuk menyimpan nilai 12 ke dalam variabel X. Baris 3 & 4: menyimpan nilai-nilai ke dalam variabel Alamat dan No_induk. 6 KONSTANTA 4/8/2015 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. 7 SOAL LATIHAN 2. 4/8/2015 1. 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. 8 OPERATOR 4/8/2015 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 “ 4/8/2015 10 - CONTOH PENGGUNAAN OPERATOR “ ” 4/8/2015 11 * CONTOH PENGGUNAAN OPERATOR “ ” 4/8/2015 12 / CONTOH PENGGUNAAN OPERATOR “ ” 4/8/2015 13 CONTOH PENGGUNAAN OPERATOR MOD 4/8/2015 14 OPERATOR PERSAMAAN 4/8/2015 15 OPERATOR PENGGABUNGAN 4/8/2015 16 LATIHAN 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 4/8/2015 1. 17 PERCABANGAN (STRUKTUR DUA KONDISI) Syntax umum: 4/8/2015 18 PERCABANGAN (STRUKTUR DUA KONDISI) 4/8/2015 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 4/8/2015 20 PERCABANGAN (STRUKTUR DUA KONDISI) 4/8/2015 Contoh 2: Buatlah sebuah blok PL/SQL yang dapat menentukan bilangan terbesar dari dua buah bilangan bulat! 21 4/8/2015 22 Bentuk penyelesaian yang lebih ringkas: 4/8/2015 23 PERCABANGAN (STRUKTUR TIGA KONDISI ATAU LEBIH) 4/8/2015 24 4/8/2015 Contoh 1 Buatlah sebuah blok PL/SQL yang dapat menentukan sebuah bilangan bulat apakah termasuk bilangan positif, negatif, atau nol! 25 4/8/2015 26 PENGULANGAN 4/8/2015 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 Syntax Umum: 4/8/2015 28 4/8/2015 Contoh 1: Buatlah sebuah blok PL/SQL yang dapat menampilkan teks ‘Belajar PL/SQL’ sebanyak 10 kali! 29 4/8/2015 30 4/8/2015 Contoh 2: Hitung hasil dari penjumlahan bilanganbilangan yang terdapat pada deret berikut: 2 + 4 + 6 + ... + 18 31 4/8/2015 Variabel K digunakan sebagai pencacah proses pengulangan (counter) 32 4/8/2015 Contoh 3: Dari jawaban no.2, modifikasi agar dapat menghitung rata2 33 4/8/2015 34 STRUKTUR WHILE - LOOP 4/8/2015 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 Syntax Umum WHILE – LOOP: 4/8/2015 36 4/8/2015 Contoh 1: Buatlah sebuah blok PL/SQL yang dapat menampilkan ‘Belajar PL/SQL’ sebanyak 10 kali, gunakan struktur perulangan WHILE–LOOP! 37 4/8/2015 38 4/8/2015 Contoh 2: Buatlah sebuah blok PL/SQL yang dapat menghitung nilai perpangkatan dari 26! 39 4/8/2015 40 STRUKTUR FOR – LOOP • 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. 4/8/2015 • 41 Syntak umum FOR – LOOP 4/8/2015 42 4/8/2015 Contoh 1: Buatlah sebuah nlok PL/SQL yang dapat menampilkan bilangan dari 1 sampai 10! 43 4/8/2015 44 4/8/2015 Contoh 2: Buatlah sebuah nlok PL/SQL yang dapat menampilkan bilangan dari 10 sampai 1 dengan pengurangan sebesar 1! 45 4/8/2015 46 LATIHAN Tampilkan sepuluh buah bilangan positif pertama yang merupakan kelipatan 4 dan jumlah total dari penjumlahan bilanganbilangan tersebut dengan menggunakan struktur perulangan Simple Loop, WHILELOOP, dan FOR-LOOP! 4/8/2015 1. 47 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 • 4/8/2015 2. NILAI ANGKA A Nilai ≥ 80 B 70 ≤ nilai < 80 C 55 ≤ nilai < 70 D 40 ≤ nilai < 55 E Nilai < 40 Ket : inputan utk nilai uts,uas dan quiz dari user 48 • • • Tampilkan urut angka 1-10. Dengan menggunakan : LOOP FOR – LOOP WHILE – LOOP 4/8/2015 3. 49