Belajar Menulis dan Membaca Part 2 [IF Conditional]

Diposting oleh about my life ^_^

Perintah IF terdiri atas 3 bentuk, yaitu IF THEN, IF THEN ELSE, serta IF THEN ELSEIF. struktur dari ketiganya ditampilkan dalam satu rumusan umum sebagai berikut:

     IF kondisi 1 THEN
        baris perintah....
    [ELSEIF kondisi 2 THEN
        baris perintah....]
    ....
    [ELSE
       baris perintah...]
    END IF;


-  IF THEN
pada struktur IF THEN, PL/SQL hanya mengecek sebuah kondisi. apabila kondisi tersebut  terpenuhi, maka statment-statment dalam blok pemilihan tersebut akan dieksekusikan terlebih dahulu sebelum dilanjutkan ke statment dibawah blok pemilihan.

- IF THEN ELSE
pada struktur ini, perlu di definisikan kondisi khusus untuk mengatasi apabila kondisi yang di definisikan pada blok IF tidak terpenuhi. kondisi khusus tersebut diletakkan pada bagian ELSE. apabila kondisi IF (bernilai TRUE) maka statement-statement A akan dieksekusi terlebih dahulu sebelum dilanjutkan ke statment yang berada di bawah blok pemilihan. bila kondisi IF tidak terpenuhi maka statment-statmen B yang akan di eksekusi terlebih dahulu sebelum dilanjutkan ke statment-statment yang berada di bawah blok pemilihan.

- IF THEN ELSEIF
pada struktur ini, minimal terdapat dua kondisi yang harus diperiksa dan satu tambahan kondisi khusus yang akan mengatasi kejadian dimana semua kondisi yang didefinisikan tidak terpenuhi (bernilai FALSE)

Contoh-contoh about IF

contoh 1:
    declare
    x varchar(10);
    y number(5);

    begin
    x:= ‘tes';
    Y:= 15;
    dbms_output.put_line('Selamat Datang '||x);

    if y < 25 then
    dbms_output.put_line(‘tes lagi ah’);
    end if;

    end;
    /

Contoh 2:
    declare
    nama varchar(10);
    harga number(5);
    diskon number(3);
    bayar number(5);

    begin
    nama:= '&nama';
    harga:= &harga_buku;
    diskon := &diskon;
   dbms_output.put_line('Selamat Datang '||nama);
   bayar:= harga*((100-diskon)/100);
   dbms_output.put_line('Harga yang harus dibayar adalah    rp.'||bayar);
   if diskon < 25 then
   dbms_output.put_line('pelit');
   end if;

   end;
   /
 

Contoh 3:
   declare
   jk varchar(10);
   umur number(5);

   begin
   jk := '&jenis_kelamin';
   umur := &umur;
   if (umur > 60) then
   dbms_output.put_line('inget mati...');
   elsif (jk = 'L' and umur >= 25) or (jk='P' and umur >= 20) then
   dbms_output.put_line('buruan nikah bisi expired');
   elsif (jk = 'L' and umur < 25) or (jk='P' and umur < 20) then
   dbms_output.put_line('belajar dulu yg bener');
   end if;

   end;
   /


 ** Pengen tambah pinter ga DBMS nya??? Ayoo, buka CMD nya and let's go to Work an this example.. :))

 
 

ANONYMOUS PL/SQL

Diposting oleh about my life ^_^

urutan penulisan koding anonymous PL: 

declare
.................
.................

begin
.................
.................

end;
/

1. Declaration Section
    Digunakan untuk mendefinisikan variabel, konstanta, dan seluruh exception yang di definisikan oleh user yang akan digunakan pada bagian eksekusi. penulisan blok ini dimulai dengan menulis DECLARE.
contoh:
                  declare
        v_nama   mahasiswa.nama%type;
        v_nim    mahasiswa.nim%type;

2. Executable section
    Digunakan untuk mengeksekusi/menjalankan blok perintah PL/SQL seperti pengulangan, percabangan, berisi statment SQL untuk memanipulasi data pada basis data dan statement PL/SQL untuk memanipulasi data dalam blok.
contoh:
                 declare
        v_nama   mahasiswa.nama%type;
        v_nim    mahasiswa.nim%type;

        begin

        select nim,nama into v_nim, v_nama
        from pegawai
        where nim=30109229
        dbms_output.put_line(v_nama);

        end;
        \
           

- Contoh 1: menampilkan tanggal, bulan, dan tahun
               declare

       begin
       dbms_output.put_line('now is '||to_char(SYSDATE,'DAY'));
       dbms_output.put_line('date '||to_char(SYSDATE,'DD'));
       dbms_output.put_line('month '||to_char(SYSDATE,'MONTH'));
       dbms_output.put_line('year '||to_char(SYSDATE,'YYYY'));

       end;

       /

- Contoh 2: menginputkan angka untuk mengetahui luas dan keliling suatu persegi              

      declare
      x number(3);
      y number(3);
      keliling number(3);
      luas number(3);

      begin
      x:=&nilai_x ;
      y:=&nilai_y ;
      keliling:= 2*(x+y);
     luas:= x*y;

     dbms_output.put_line('persegi panjanga ini kelilingnya '||  keliling|| 'cm');
     dbms_output.put_line('Luasnya adalah '|| luas || 'cm');

     end;
     /


- Contoh 3:Membuat Kalkulator
         declare
     x number(3);
     y number(3);
     z number(3);
     a number(3);
     b number(3);

     begin
     dbms_output.put_line('selamat datang di kalkulator cupu');
     x:=&nilai_x;
     y:=&nilai_y;
     z:=x+y;
     a:=x-y;
     b:=x*y;
     dbms_output.put_line(x||'ditambah'||y||'samadengan'||z);
     dbms_output.put_line(x||'dikurang'||y||'samadengan'||a);
     dbms_output.put_line(x||'dikali'||y||'samadengan'||b);

     end;
     / 


** Pengen tau Outputan dari contoh2 di atas???
biar DBMS nya pintar, ayooo coba sendiri okeh!!! :)

DDL & DML

Diposting oleh about my life ^_^


INSERT
·         Format MENAMBAH DATA JIKA SEMUA KOLOM AKAN DIISI:
INSERT INTO      Nama_Tabel      VALUES (
Data_kolom1,
Data_kolom2,
Data_kolom3
);

·         Contoh penggunaan Insert jika semua kolom ingin diisi:
insert into anggota values(               
30109229,           
‘Megawati Dini A,   
‘Tasikmalaya’
);

·         FORMAT MENAMBAH DATA JIKA HANYA KOLOM TERTENTU YANG DIISI:
INSERT INTO      Nama_Tabel      (Nama_Kolom1, Nama_Kolom2)
VALUES (
Data_kolom1,
Data_kolom2
);

·         Contoh Menambah data pada tabel anggota hanya pada kolom-kolom tertentu saja:
insert into registrasi (id_anggota, jenis_kelamin, tanggal_lahir)
values(             
‘BA6369’,           
Perempuan,
’14-MAY-1991’
);

** Note:
-          Insert untuk semua kolom memperhatikan urutan kolom sesuai perintah DESC Nama_Tabel
-          Untuk tipe data selain number penulisan data diapit dengan petik tunggal (‘)
-          Format Penulisan Date : DD-MON-YYYY (2 digit tanggal, 3 digit awal bulan dalam bhs inggris, 4 digit tahun)


 UPDATE

·         FORMAT MENGUBAH DATA
UPDATE  Nama_Tabel
SET           Nama_Kolom = data_baru
WHERE syarat_perubahan_data;
·         Contoh 1:Mengubah semua alamat anggota menjadi ‘Tasikmalaya ’
update anggota set alamat_anggota = ‘Tasikmalaya’;

·         Contoh 2: Mengubah no_anggota dari 100 menjadi 105
update anggota set no_anggota = 105
where no_anggota = 100;

·         Contoh 3: Mengubah semua alamat anggota menjadi Tasikmalaya’ jika nomor anggota antara 200 dan 300
update anggota set alamat_anggota = ‘Tasikmalaya’
where (no_anggota >= 200) and (no_anggota <= 300);


DELETE

·         FORMAT MENGHAPUS DATA:
DELETE FROM    Nama_Tabel
WHERE                                 syarat_perubahan_data ;

·         Contoh1:  Menghapus seluruh isi tabel anggota
delete from anggota ;

·         Contoh2: Meghapus data anggota yang nomor anggotanya 100
Delete from anggota
where no_anggota = 100;

·         Contoh3: Menghapus semua data anggota yang nomor anggotanya mulai 200 sampai 300
delete from anggota
where (no_anggota >= 200) and (no_anggota <= 300);


             SELECT … FROM … WHERE
·         Format Query Data:
SELECT daftar_kolom
FROM   daftar_tabel
WHERE                 syarat_dan_atau_foreign_key

·         Fungsi Agregat: MIN(), MAX(), AVG(), SUM(), COUNT()
SELECT    daftar_kolom_non_fungsi_ag, fungsi_ag(nama_kolom1),  fungsi_ag(nama_kolom2)
FROM                   daftar_tabel
WHERE                syarat_dan_atau_foreign_key
GROUP BY           daftar_kolom_non_fungsi_ag

(*) Fungsi agregat dapat digunakan sebagai pengganti daftar kolom, digunakan setelah SELECT...
(*) Jika setelah SELECT digunakan fungsi agregat bersama kolom yang lain yang bukan fungsi agregat maka HARUS menggunakan klausa GROUP BY. Perhatikan contoh 3,4,5 dan 6

·         Contoh1: Menampilkan nama dan alamat anggota yang diawali huruf A dan terdiri dari 5 huruf
select nama_anggota, alamat_anggota
from anggota
where nama_anggota like 'A____';

·         Contoh2: Menampilkan nama anggota dan judul buku yang diawail huruf W dan terdiri dari MINIMAL 8 huruf:
select nama_anggota, judul_buku
from anggota, buku, peminjaman
where anggota.no_anggota = peminjaman.no_anggota
and buku.id_buku = peminjaman.id_buku
and judul_buku like 'W_______%';

·         Contoh3: Menampilkan jumlah buku yang pernah dipinjam oleh Ngatiyem (dengan menampilkan nama Ngatiyem)
select nama_anggota, count(id_buku) as jmlbuku
from peminjaman, anggota
where anggota.no_anggota = peminjaman.no_anggota
and nama_anggota = 'Ngatiyem'
group by nama_anggota;

·        Contoh 4: Menampilkan judul buku dan tanggal peminjaman buku oleh Ngatimin yg tidak dikembalikan
select judul_buku, tanggal_pinjam
from peminjaman, anggota, buku
where anggota.no_anggota = peminjaman.no_anggota
and buku.id_buku = peminjaman.id_buku
and nama_anggota = 'Ngatimin'
and tanggal_kembali is null;