Selasa, 27 November 2012

coctail drink

bahan2nya :
1 ounces vodka
1 ounces gin
1 ounces light rum
1 ounces tequila
1 ounces lemon juice
1 sendok teh gula ( tapi jangan gula yang kasar yach)
4 ounces cola

cara buatnya :
didalam "shaker"- an yang didalamnya terisi setengahnya ice cube,kombinasikan/campurkan vodka,gin,rum,tequila,lemon juice, dan gula.. lalu shake(kocok)..lalu saring kedalam mixing glass( gelas yang didalamnya terdapat ice cube(es batu) yang terisi penuh... siap saji deh.........

tapi ini minuman mahal aja.......hehehe..

Jumat, 23 November 2012

LATIHAN CONSTRAINT


PERANCANGAN BASIS DATA

  •   CONSTRAINT
CONSTRAINT adalah untuk membuat suatu aturan atau batasan yang berlaku pada tabel tersebut, sehingga dapat mencegah kesalahan operasi DML yang dikenakan pada tabel tersebut.

  •  Tipe-tipe COntraint
  • Not null
Contraint ini digunakan untuk mencegah adanya kolom yang bernilai null, salah satu efek yang ditimpulkan nilai null adalah jika kolom tsb dikenakan hokum aritmatika akan memberikan hasil yang tidak sesuai.
Contoh:
Tambahkan kolom baru pada tabel barang;

Alter table barang add ( harga number);

Select kd_brg,nm_brg, harga,stok, (harga * stok) as jum_harga from barang
           
            Kemudian ubah harga barang menjadi 10.000
Update barang set harga=10000;
           
Select kd_brg,nm_brg, harga,stok, (harga * stok) as jum_harga from barang

Dari kasus query diatas akan memberikan kondisi nilai yang berbeda pada perhitungan (stok * harga)

  • Unique
Bertujuan untuk membuat sebuah kolom atau kombinasi dari beberapa komlom pada sebuah table nebjadi bersifat unik.
Contoh:
Ceate table karyawan (
nip varchar(5) constraint pk_kry primary key,
nama varchar(50) not null,
kd_jabatan varchar(1) unique,
nm_jabatan varchar(20)
);
Kemudian jalakan sql sbb:
Insert into (nip,nama,kd_jabatan,nm_jabatan)
values (‘09001’,’AGUS’,’A’,’KA. BAAK’)

Insert into (nip,nama,kd_jabatan,nm_jabatan)
values (‘09002’,’BUDI’,’A’,’KA. BAAK’)

pada saat baris kedua dimasukan akan terjadi kesalahan sbb:
ERROR at line 1:
ORA-00001: unique constraint (.....SYS_C00879) violated
Kesalahan tersebut muncul karena ada baris yang sapa pada kolom kd_jabatan “A”.

  •  Primary key  -> Jelas
  • Foreign key
Untuk menetapkan suatu kolom atau kombinasi dari beberapa kolom menjadi foreign key dari sebuah table. Foreign key seriang di sebut referential integrity constraint. Kegunaanya untuk membentuk relasi dari satu table ke table yang lainya.
Contoh:
Kolom kd_dev yang ada pada table dkb merupakan foreign key.

Coba untuk membuktikan integrity nya terbentuk atau tidak:
Tambah record baru pada table dkb.

Insert into  dkb(no_dkb,bulan,tahun,kd_dev)values(‘T0005’,’01’,’2008’,’D5’);
Baris tersebut dapat masuk.

Delete from devisi where kd_del=’D1’;
Baris tersebut dapat dihapus;

Kemudian jalankan perintah sbb:
Alter table dkb add constraint fk_dkb foreign key (kd_dev)
References devisi(kd_dev);


Kemudian jalankan lagi sql sbb:

Insert into dkb(no_dkb,bulan,tahun,kd_dev)values(‘T0005’,’01’,’2008’,’D6’;

Baris tersebut tidak dapat dimasukan, baca pesan kesalahan.

Delete from devisi where kd_del=’D1’;
Baris tersebut tidak dapat dihapus, baca pesan kesalahan.

  •   Check
Constraint check berguna untuk membuat suatu kondisi yang harus dipenuhi setiap record dalam table.
Kondisi tersebut dapat berupa kodisi sbb:
.  Kondisi PERBANDINGAN
. Kondisi RANGE
. Kondisi NULL
. Kondisi LIKE
. Kondisi EXIST

  • Kondisi PERBANDINGAN
Contoh:
Untuk memasukan data nama devisi harus berawalan huruf besar dan diikuti huruf kecil.

Alter table devisi add constraint chk_namadevisi
check (nm_dev=initcape(nm_dev));

conba insert data baru pada devisi
Insert into devisi(kd_dev,nm_dev)values(‘D5’,’kebersihan’);

Akan terjadi error message, baca pesan error nya.

  • Kondisi RANGE
Contoh:
Alter table barang constraint chk_stok check(stok between 0 and 999);
Insert into barang(kd_brg,nm_brg,satuan,stok)
values(‘B0003’,’KACANG’,’Kg’,1000);

Akan terjadi error message, baca pesan error nya.





--------selamat mencoba--------

LATIHAN SQL


PERANCANGAN BASIS DATA

  • SELECT
  •        Menampilkan sebagian atau seluruh isi dari suatu tabel 
  •               Menampilkan kombinasi isi dari beberapa tabel

Bentuk umum perintah SELECT

      SELECT [DISTINCT] field(s)
      FROM table(s)
      [WHERE predicate]
      [GROUP BY field(s) [HAVING predicate]]
      [ORDER BY field(s)];

Contoh:
Tampilkan kode barang yang ada di table detildkb
Select kd_brg from detildkb
     
Untuk menghilangkan kemungkinan duplikasi pada hasil, maka query diatas menjadi:
Select distinct kd_brg from detildkb

Tampilkan detil informasi mengenai seluruh barang
select * from barang;

select dengan kondisi
Tampilkan nama-nama barang untuk barang yang stoknya 0 (nol)
Select nm_brg from barang
Where stok=0;

select dengan pengurutab
Tampilkan nama-nama barang untuk barang yang stoknya 0 (nol), dan diurutkan menurut Status nm_brg from barang
Where stok=0
Order by nm_brg desc;

Query dengan melibatkan lebih dari satu tabel (relasi)
Simple Equijoin
Tampilkan semua kombinasi dkb dan devisi, untuk devisi yang melakukan permintaan barang.
Select dkb.*, devisi.* from dkb, devisi
Where dkb.kd_dev = dkb.kd_dev;

Join Query dengan Kondisi Majemuk
Tampilkan semua kombinasi dkb dan devisi, untuk devisi yang melakukan permintaan barang. namun tampikan yang transaksinya yang pada bulan 02 dan tahun 2008
Select dkb.*, devisi.* from dkb, devisi
Where dkb.kd_dev = dkb.kd_dev and bulan=’02’ and tahun=’2008’;

Join antara tiga tabel
Tampilkan kd_dev,nm_dev,no_dkb,bulan, tahun, kd_brg, qty
SELECT devisi.kd_dev, devisi.nm_dev,dkb.no_dkb, dkb.bulan, dkb.tahun,
detildkb.kd_brg, detildkb.qty
from devisi, dkb, detildkb
where devisi.kd_dev=dkb.kd_dev and dkb.no_dkb=detildkb.no_dkb;

  •  COUNT
Banyaknya nilai-nilai pada satu kolom.
         Contoh: 
Tampilkan banyaknya devisi yang ada
select count (*) from devisi;

Tampilkan banyaknya barang yang stoknya=0
Select count(*) from barang where stok=0;

  •  SUM
Jumlah nilai dari satu kolom
Contoh:
Tampilkan jumlah kuantitas pengiriman barang B0001
   Select sum(qty) from detildkb
   Where kd_brg=’B0001’;

Tampilkan kode barang dan jumlah permintaanya untuk setiap kode barangmya.
   Select kd_brg,sum(qty)
from detildkb
group by kd_brg;
  
Tampilkan kode barang, nama barang  dan jumlah permintaanya untuk setiap kode barangmya.
   Select detildkb.kd_brg,barang.nm_brg,sum(detildkb.qty)
from detildkb, barang
where detildkb.kd_brg=barang.kd_brg
group by detildkb.kd_brg,barang.nm_brg;
  
 
  • UPDATE
    1. Mengubah isi satu atau beberapa atribut dari suatu tabel

Mengupdate nama barang menjadi “JAGUNG SUPER” untuk kode barang B0001
Update barang set nm_brg=’JAGUNG SUPER’ where kd_brg=’B0001’

Mengupdate nama barang menjadi “KACANG SUPER” dan stok menjadi 10 untuk kode barang B0001
Update barang set nm_brg=’KACANG SUPER’, stok=10 where kd_brg=’B0003’

  • DELETE
    1.  Menghapus sebagian atau seluruh isi dari suatu tabel

Menghapus data devisi yang kode devisinya d2
Delete from devisi where kd_dev=’D2’





--------selamat mencoba--------

LATIHAN SQL

PERANCANGAN BASIS DATA

Jalankan setiap statement satu persatu!

Membuat tabel, tuliskan perintah dibawah

ini:

Buat table devisi
Create table devisi
( kd_dev  varchar(2) not null,
  Nm_dev  varchar(50),
  constraint pk_devisi primary key(kd_dev)
); 


Buat table barang
Create table barang
( kd_brg  varchar(5) not null,
  Nm_brg  varchar(50),
  Satuan  varchar(10),
  Stok    number,
  constraint pk_barang primary   key(kd_brg)
);


Buat table DKB
Create table dkb
( no_dkb    varchar(5) not null,
  bulan     varchar(2),
  tahun     varchar(4),
  kd_dev    varchar(2),    ,
  constraint pk_dkb primary key(no_dkb)
);


Buat table detildkb
Create table detildkb
( no_dkb     varchar(5) not null,
  Kd_brg    varchar(5) not null,
  qty        number,
  kondisi   varchar(1),
  pakai     varchar(1),   
  keterangan varchar(50),   
  constraint pk_detildkb primary key(no_dkb,kd_brg)
);


Isikan data ke setiap table, contoh:

Insert into devisi(kd_dev,nm_dev)values(‘D1’,’KEUANGAN’);
Insert into devisi(kd_dev,nm_dev)values(‘D2’,’KEPEGAWAIAN’);

Insert into barang(kd_brg,nm_brg,satuan,stok)values(‘B0001’,’JAGUNG’,’Kg’,0);
Insert into barang(kd_brg,nm_brg,satuan,stok)values(‘B0002’,’UBI’,’Kg’,0);
Insert into barang(kd_brg,nm_brg,satuan,stok)values(‘B0003’,’KACANG’,’Kg’,0);


Insert into dkb(no_dkb,bulan,tahun,kd_dev)values(‘T0001’,’01’,’2008’,’D1’);
Insert into detildkb(no_dkb,kd_brg,qty,kondisi,pakai,keterangan) values(‘T0001’,’B0001’,10,’2’,’1’,’Segera’);
Insert into detildkb(no_dkb,kd_brg,qty,kondisi,pakai,keterangan) values(‘T0001’,’B0002’,2,’2’,’3’,’-’);

Insert into dkb(no_dkb,bulan,tahun,kd_dev)values(‘T0002’,’02’,’2008’,’D2’);
Insert into detildkb(no_dkb,kd_brg,qty,kondisi,pakai,keterangan) values(‘T0002’,’B0003’,50,’2’,’1’,’Segera’);


Pencarian data yang telah diInsert:
Mencari data devisi
Select * from devisi; atau select kd_dev,nm_dev from devisi;

Mencari data barang
Select * from barang;

Mencari data dkb pada bulan 01 dan tahun 2008
Select * from dkb where bulan=’01’ and tahun=’2008’

Mencari data no_dkb,bulan,tahun, dan nm_dev dari table dkb dan devisi
Select no_dkb,bulan,tahun, nm_dev from dkb, devisi where dkb.kd_dev = devisi.kd_dev;