[Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

33
BASIS DATA LANJUT : PRAKTIKUM 1 Yufi Eko Firmansyah ( 2103121049 ) Dosen Pembimbing : Rengga Asmara, S.Kom, OCA. B3 Informatics Brothers Sisters

description

presentasi tentang Deklarasi Variabel & Pemrograman dengan PL/SQL (Oracle) oleh Yufi Eko Firmansyah

Transcript of [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Page 1: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

BASIS DATA LANJUT : PRAKTIKUM 1Yufi Eko Firmansyah ( 2103121049 )

Dosen Pembimbing : Rengga Asmara, S.Kom, OCA. B3 Informatics Brothers & Sisters

Page 2: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

PembahasanPendahuluanDeklarasi VariabelPemrograman dengan PL/SQL

Page 3: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Pendahuluan

Page 4: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Jalur Sertifikasi Oracle

Oracle tracks :1. DBA Track

a. SQLb. Fundamental 1a & b Oracle Certificate Associate untuk DBA Trackc. Fundamental 2d. Performance Tuninga, b, c, & d Oracle Certificate Professional untuk DBA Track

2. Developer Tracka. SQLb. PL/SQL Program Unitsa & b Oracle Certificate Associate untuk Developer Trackc. Build Internet Application 1d. Build Internet Application 2a, b, c & d Oracle Certificate Professional untuk Developer Track

BASIS DATA LANJUTDay-01

P1. Pendahuluan

Page 5: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Tentang PL/SQL

PL/SQL singkatan dari Programming Language/SQL yaitu bahasa prosedural yang disediakan Oracle untuk Oracle sebagai perluasan dari SQL statement.

SQL merupakan singkatan dari Structured Query Language yaitu bahasa standar untuk mengakses data pada basis data relasional.

BASIS DATA LANJUTDay-01

P1. Pendahuluan

Page 6: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Keuntungan Penggunaan PL/SQL

• Terintegrasi• Pengembangan Program yang bersifat Modular• Portabel

BASIS DATA LANJUTDay-01

P1. Pendahuluan

Page 7: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Deklarasi Variabel

Page 8: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Tujuan Pembelajaran

• Mengenal blok PL/SQL beserta bagiannya• Memahami variabel dalam PL/SQL• Dapat mendeklarasikan dan menggunakan variabel pada PL/SQL

BASIS DATA LANJUTDay-01

P1. Deklarasi Variabel

Page 9: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Struktur Blok PL/SQL

• PL/SQL merupakan block-structured language, dalam arti : program yang ditulis dengan PL/SQL dapat dibagi-bagi ke dalam blok logika.• Blok dalam PL/SQL terdiri dari bagian-bagian sebagai berikut :

BASIS DATA LANJUTDay-01

P1. Deklarasi Variabel

DECLARE --optional

BEGIN --required

EXCEPTION --optional

END; --required

daftar variabel & cursor

awal blok yang dapat dieksekusi

penanganan kesalahan

akhir blok yang dapat dieksekusi

Page 10: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Tipe Blok PL/SQL

Ada 3 tipe blok dalam PL/SQL :

BASIS DATA LANJUTDay-01

P1. Deklarasi Variabel

Anonymous Procedure Function

[DECLARE]BEGIN -- Statements[EXCEPTION]END;

PROCEDURE nameISBEGIN -- Statements[EXCEPTION]END;

FUNCTION nameRETURN datatypeISBEGIN -- Statements RETURN value;[EXCEPTION]END;

Page 11: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Konstruksi Program

• PL/SQL dapat digunakan pada 2 lingkungan berikut :• Oracle Server (Database Server Constructs)• Oracle Development Tools (Tools Constructs)

• Berikut ini bagian-bagian PL/SQL yang dapat mengkonstruksi kedua lingkungan yang berbeda tersebut :• Database Server Constructs

Anonymous blocks, Application procedures or functions, Application packages, Application triggers.

• Tools ConstructsAnonymous blocks, Stored procedures or function, Stored packages, Database triggers, Object types.

BASIS DATA LANJUTDay-01

P1. Deklarasi Variabel

Page 12: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Penggunaan Variabel

Variabel dalam PL/SQL dapat digunakan dalam berbagai cara berikut :• Deklarasi dan inisialisasi variabel pada bagian deklarasi (DECLARE).• Menandai nilai i baru pada bagian yang dapat dijalankan (executable).• Suatu nilai dapat dilewatkan melalui variabel sebagai parameter dari suatu sub

program.• Hasil dari suatu proses dapat ditampilkan melalui variabel output.

BASIS DATA LANJUTDay-01

P1. Deklarasi Variabel

Page 13: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Tipe-Tipe Variabel

Tipe-tipe variabel dalam PL/SQL :• Scalar• Composite• Reference• LOB (large object)

BASIS DATA LANJUTDay-01

P1. Deklarasi Variabel

Tipe Data Contoh

BOOLEAN TRUE

DATE 25-JAN-01

BLOB Data foto

LONG Data percakapan

NUMBER 25610.08

BFILE Data film

VARCHAR2 Nama Kota

Page 14: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Latihan Soal

1. Evaluasi tiap-tiap deklarasi variabel berikut ini. Mana yang legal dan mana yang ilegal !

a. DECLAREv_id NUMBER(4);

b. DECLAREv_x, v_y, v_z VARCHAR2(10);

c. DECLAREv_birthdate DATE NOT NULL;

d. DECLARE v_in_stock BOOLEAN := 1;

BASIS DATA LANJUTDay-01

P1. Deklarasi Variabel

LEGAL

ILEGAL

ILEGAL

ILEGAL

Page 15: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Latihan Soal

2. Pada tiap assignment berikut, yang manakah statement yang valid dan mana yang tidak valid, kemudian nyatakan tipe datanya !

a. v_days_to_go := v_due_date – SYSDATE;b. v_sender := USER || ‘: ‘ || TO_CHAR(v_dept_no);c. v_sum := $100,000 + $250,000d. v_flag := TRUE;e. v_n1 := v_n2 > (2 * v_n3);f. v_value := NULL;

BASIS DATA LANJUTDay-01

P1. Deklarasi Variabel

VALID -> DATE

TIDAK VALID -> VARCHAR2VALID -> VARCHAR2

VALID -> BOOLEAN

VALID -> NUMBERVALID -> VARCHAR2

Page 16: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Latihan Soal

3. Buat anonymous block untuk menampilkan kata ‘I love Oracle’, buat dengan dua cara. Cara pertama menggunakan bind variable dan perintah PRINT untuk menampilkannya. Cara kedua menggunakan DBMS_OUTPUT.PUT_LINE

BASIS DATA LANJUTDay-01

P1. Deklarasi Variabel

Page 17: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Latihan Soal

4. Buat kode PL/SQL yang mendeklarasikan dua variable dan masing-masing nilainya berikut ini :

BASIS DATA LANJUTDay-01

P1. Deklarasi Variabel

Variabel Value

V_CHAR ‘42 adalah sebuah angka’

V_NUM Dua karakter pertama dari variabel V_CHAR yaitu 42

Page 18: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Pemrograman dengan PL/SQL

Page 19: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Tujuan Pembelajaran

• Memahami bagian executable dari PL/SQL block• Menggunakan identifier secara benar• Memahami aturan pada blok bersarang (nested block)

BASIS DATA LANJUTDay-01

P1. Pemrograman dengan PL/SQL

Page 20: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Sintaks PL/SQL

Baris-baris statement dalam PL/SQL merupakan kumpulan karakter yang dapat diklasifikasikan sebagai berikut :• Delimiter (simple dan compound symbol)• Identifiers, termasuk reserved words (keywords)• Literal• Komentar

BASIS DATA LANJUTDay-01

P1. Pemrograman dengan PL/SQL

Page 21: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Identifier

Identifier digunakan untuk memberi nama bagian Pl/SQL, meliputi konstanta, variabel, exception, cursor, cursor variable, subprogram dan packages.

Aturan penamaan identifier :• Maksimal 30 karakter• Harus dimulai dengan karakter alfabet• Dapat terdiri dari angka, simbol dollar, underscores (_) dan tanda bilangan (+ atau -)• Tidak boleh ada spasi, tanda slash (/), hypen (-), ampersand (&)• Tidak memiliki nama yang sama dengan kolom database• Bukan merupakan reserved word (keyword)

BASIS DATA LANJUTDay-01

P1. Pemrograman dengan PL/SQL

Page 22: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Literal dan Slash

• Literal terdiri dari karakter dan numerik• Karakter literal harus diapit oleh tanda petik. Contoh penggunaan literal :• v_name := ‘Yufi Eko Firmansyah’;

• Numerik literal dapat berupa suatu nilai atau notasi scientific• Slash (/) digunakan untuk menjalankan blok PL/SQL dalam file script atau

SQL*Plus prompt

BASIS DATA LANJUTDay-01

P1. Pemrograman dengan PL/SQL

Page 23: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Komentar

Komentar yang terdiri dari satu baris, menggunakan tanda minus dua kali (--). Sedangkan komentar yang terdiri dari lebih satu baris menggunakan simbol /* dan */ untuk mengawali dan mengakhiri komentar. Berikut contohnya :

-- komentar satu baris/* komentar lebih dari satu baris*/

BASIS DATA LANJUTDay-01

P1. Pemrograman dengan PL/SQL

Page 24: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Fungsi SQL dalam PL/SQL

Sebagian besar fungsi SQL juga valid pada PL/SQL. Sedangkan fungsi yang hanya valid pada SQL tapi tidak pada PL/SQL adalah fungsi :• DECODE• Fungsi group seperti AVG, MIN, MAX, COUNT, SUM dll.

Contoh fungsi SQL dalam PL/SQL :• v_mailing_address := v_name || CHR(10) || v_address || CHR(10) || v_zip;• v_ename := LOWER(v_ename);

BASIS DATA LANJUTDay-01

P1. Pemrograman dengan PL/SQL

Page 25: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Konversi Tipe Data

Fungsi untuk mengkonversi tipe data : TO_CHAR, TO_DATE dan TO_NUMBER. Contoh konversi tipe data :

BASIS DATA LANJUTDay-01

P1. Pemrograman dengan PL/SQL

Page 26: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Blok Bersarang dan Ruang Lingkup Variabel

Blok dalam PL/SQL ditandai dengan BEGIN ….. END; Yang disebut dengan blok bersarang atau nested block adalah Blok (BEGIN … END;) yang terletak di dalam blok yang lain. Yang perlu diperhatikan dalam nested block adalah ruang lingkup variabel. Contoh ruang lingkup variabel dalam nested block :

BASIS DATA LANJUTDay-01

P1. Pemrograman dengan PL/SQL

Page 27: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Penentuan Ruang Lingkup dengan <<...>>

Suatu blok dapat ditandai dengan menggunakan <<…>> untuk menentukan ruang lingkup dari suatu variabel. Seperti pada contoh berikut ini :

BASIS DATA LANJUTDay-01

P1. Pemrograman dengan PL/SQL

Page 28: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Operator dalam PL/SQL

Macam-macam operator dalam PL/SQL :• Logika• Aritmatika• Concatenation (penyambungan)• Parantheses (kurang buka, tutup) untuk mengatur urutan dari suatu operasi• Eksponensial (**)

Contoh penggunaan operator dalam PL/SQL :• Menaikkan nilai counter :

v_count := v_count + 1;• Mencari nilai Boolean

v_equal := (v_n1 = v_n2);• Melakukan validasi apakah variabel nomor employee (v_empno) memiliki suatu nliai

v_valid := (v_empno IS NOT NULL);

BASIS DATA LANJUTDay-01

P1. Pemrograman dengan PL/SQL

Page 29: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Ringkasan

• Telah dipelajari sintaks dari bagian-bagian PL/SQL• Memahami struktur blok PL/SQL dan blok bersarang (nested block)• Menggunakan identifier secara benar• Memahami aturan pada blok bersarang (nested block)• PL/SQL Programming :• Fungsi• Konversi tipe data• Operator

BASIS DATA LANJUTDay-01

P1. Pemrograman dengan PL/SQL

Page 30: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Latihan Soal

1. Perhatikan kode PL/SQL berikut :

BASIS DATA LANJUTDay-01

P1. Pemrograman dengan PL/SQL

kemudian tentukan nilai dan tipe data dari variabel berikut ini :a. v_weight pada posisi 1b. v_newlocn pada posisi 1c. v_weight pada posisi 2 d. v_message pada posisi 2e. v_newlocn pada posisi 2

2 -> number

Western Europe -> varchar2

601 -> number

Product 10012 is in stock -> varchar2

Error -> varchar2

Page 31: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Latihan Soal

2. Buat blok PL/SQL yang dapat menerima dua buah bilangan yang berasal dari dua variabel.

a. Gunakan perintah DEFINEb. Kemudian lewatkan dua nilai dari variabel yang didefinisikan dengan

perintah DEFINE tersebut ke blok PL/SQL yang menghitung nilai pembagian bilangan pertama dibagi bilangan kedua, hasilnya disimpan dalam suatu variabel yang akan ditampilkan dengan menggunakan DBMS_OUTPUT.PUT_LINE. Buat programnya !

BASIS DATA LANJUTDay-01

P1. Pemrograman dengan PL/SQL

Page 32: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Sekian & Terima Kasih

spirited away by bottlewonderland

Page 33: [Database Boy] Praktikum 1 - Deklarasi Variabel & Pemrograman dengan PL/SQL

Video yang lain.... Praktikum 2 Praktikum 3 Praktikum 4