:: studi kasus inventori :: - adekyanna's blog | … · web viewtampilkan jumlah minimum...

42
Database Management Using SQL A. Rancangan Database Database Name : JAYANUSA Tabel : Tabel Barang Kode_barang char(6) Nama_barang varchar2(25) Satuan_barang varchar2(20) Stok_barang number(4) ---------------------------------------- Primary key (PK) adalah field kode_barang Tabel Suplier Kode_suplier char(5) Nama_suplier varchar2(30) Alamat_suplier varchar2(30) Kota_suplier varchar2(15) Telepon_suplier varchar2(15) ---------------------------------------- Primary key (PK) adalah field kode_suplier Tabel Customer Kode_customer char(6) Nama_customer varchar2(30) Alamat_customer varchar2(30) Kota_customer varchar2(15) Telepon_customer varchar2(15) ---------------------------------------- Primary key (PK) adalah field kode_customer Tabel Pemasok Kode_pasok char(10) Kode_barang char(6)

Upload: dinhhanh

Post on 19-May-2019

233 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Database Management Using SQL

A. Rancangan Database

Database Name : JAYANUSA Tabel :

Tabel BarangKode_barang char(6)Nama_barang varchar2(25)Satuan_barang varchar2(20)Stok_barang number(4)----------------------------------------Primary key (PK) adalah field kode_barang

Tabel Suplier

Kode_suplier char(5)Nama_suplier varchar2(30)Alamat_suplier varchar2(30)Kota_suplier varchar2(15)Telepon_suplier varchar2(15)----------------------------------------Primary key (PK) adalah field kode_suplier

Tabel Customer

Kode_customer char(6)Nama_customer varchar2(30)Alamat_customer varchar2(30)Kota_customer varchar2(15)Telepon_customer varchar2(15)----------------------------------------Primary key (PK) adalah field kode_customer

Tabel PemasokKode_pasok char(10)Kode_barang char(6)Kode_suplier char(6)Tanggal_pasok dateJumlah_pasok number(4)----------------------------------------Primary key (PK) adalah field kode_pasok, kode_barang dan kode_suplier.Foreign Key (FK) adalah field kode_barang dan kode_suplier

Page 2: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Tabel Pembelian

Kode_pembelian char(10)Kode_barang char(6)Kode_customer char(6)Tanggal_pembelian dateJumlah_pembelian number(4)----------------------------------------Primary key (PK) adalah field kode_pembelian, kode_barang dan kode_customerrForeign Key (FK) adalah field kode_barang dan kode_customer

B. Entity Relationship Diagram (ERD)

Keterangan : Tabel barang dengan tabel suplier berelasi melalui tabel pasok. Relasi tabel barang dengan tabel pasok adalah 1 ke banyak (1 kode barang bisa terdiri atas

beberapa kode suplier) Rrelasi tabel suplier dengan tabel pasok addalah 1 ke banyak ( 1 kode suplier bisa terdiri atas

beberapa kode_barang)

BARANG

KODE_BARANGNAMA_BARANGSATUAN_BARANGSTOK_BARANG

PEMASOK

KODE_PASOKKODE_BARANGKODE_SUPLIERTANGGAL_PASOKJUMLAH_PASOK

SUPLIER

KODE_SUPLIERNAMA_SUPLIERALAMAT_SUPLIERKOTA_SUPLIERTELEPON_SUPLIER

PEMBELIAN

KODE_PEMBELIANKODE_BARANGKODE_CUSTOMERTANGGAL_PEMBELIANJUMLAH_PEMBELIAN

CUSTOMER

KODE_CUSTOMERNAMA_CUSTOMERALAMAT_SUPLIERKOTA_CUTOMERTELEPON_CUSTOMER

Page 3: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

:: SQL *Plus ::

Memulai SQL *Plus Aktifkan Oracle. Anda bisa mengguankan Aracle DBA, Oracle Developer atau

Personal Oracle. Aktifkan SQL *Plus Login dengan Nama User Anda masing-masing

Tampilan jendela Oracle SQL *Plus.

Pada kasus ini Penulis mengguankan Oracle 9i:Mengaktifkan SQL *Plus:Start > Program > Oracle–OraHome90 >

Application Development > SQL Plus

Page 4: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Kode_barang char(6)Nama_barang varchar2(25)Satuan_barang varchar2(20)Stok_barang number(4)-----------------------------------------------------------Primary key (PK) adalah field kode_barang

Catatan :

1. Membuat Tabel (Create Table)Bentuk umum:

Praktek :

Buatlah tabel Barang dengan stuktur sebagai berikut:

Tipe data di dalam OracleCHAR(n)

Mendefinisikan string sepanjang n karakter. Bila n tidak disertakan, panjang karakter adalah 1.

VARCHAR(n)Mendefinisikan string yang panjangnya bisa berubah-ubah sesuai dengan kebutuhan, namun string tersebut dibatasi sebanyak n karakter. Oracle merekomendasikan VARCHAR2

VARCHAR2(n)Mendefinisikan string yang panjangnya bisa berubah-ubah sesuai dengan kebutuhan, namun string tersebut dibatasi sebanyak n karakter. Mksimal karakter pada variabel adalah 2000 karakter

LONGMendefinisikan tipe data binary, maksimum 2 Gigabyte, disimpan dalam foramt internal Oracle

LONG RAWSama dengan Long yaitu medefinisikan tipe data binary, maksimum 2 Gigabyte, tidak dikonversi oleh Oracle (data mentah apa adanya)

DATEMendefinisikan tanggal, menyimpan tahun, bulan, hari, jam, menit, dan detik.

NUMBER(n)Mendefinisikan angka pecahan, fixed decimal atau floating point. Nilai n adalah jumlah bytes total dan p adalah presisi angka di belakang koma.

CERATE TABLE nama_tabel (nama field ke-1 tipe data (lebar_field),. . .. . .nama field ke-n tipe data (lebar_field),);

Keterangan: Untuk membuat table acuan (reference) sebelum tanda ‘)’ tambahkan sintak:

Constraint nama_constrains primary Key (nama)field_primarykey) not nul);

Untuk membuat tabel yang mengacu pada tabel lain (tabel relasi) sebelum tanda ‘)’ tambahkan sintak:Constraints nama_constraint primary key (

nama_filed_prmarykey-1, . . ,nama_field_primarykey-n),

Constaints nama_constraints foreign key(nama_field_foreignkey-1) referencesnama_tabel_acuan-1(nama_filed_primarykey-1),..

Constaints nama_constraints foreign key(nama_field_foreignkey-n) referencesnama_tabel_acuan-n((ama_filed_primarykey-n));

Page 5: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Kode_suplier char(5)Nama_suplier varchar2(30)Alamat_suplier varchar2(30)Kota_suplier varchar2(15)Telepon_suplier varchar2(15)---------------------------------------------------------Primary key (PK) adalah field kode_suplier

Kode_customer char(6)Nama_customer varchar2(30)Alamat_customer varchar2(30)Kota_customer varchar2(15)Telepon_customer varchar2(15)-------------------------------------------------------------Primary key (PK) adalah field kode_customer

Kode_pasok char(10)Kode_barang char(6)Kode_suplier char(6)Tanggal_pasok dateJumlah_pasok number(4)---------------------------------------------------------------------------------------------------Primary key (PK) adalah field kode_pasok, kode_barang dan kode_suplier.Foreign Key (FK) adalah field kode_barang dan kode_suplier

Caranya:

Tugas :

Berdasarkan contoh diatas buatlah tabel berikut:Tabel Sublier : Tabel Customer :

Praktek : Buatlah tabel Pasok dengan struktur sebagai berikut

Perhatikan Caranya:

Page 6: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Kode_pembelian char(10)Kode_barang char(6)Kode_customer char(6)Tanggal_pembelian dateJumlah_pembelian number(4)------------------------------------------------------------------------------------------------------------Primary key (PK) adalah field kode_pembelian, kode_barang dan kode_customerForeign Key (FK) adalah field kode_barang dan kode_customer

- fk_pasok_barang: foreign key tabel pasok yang mengacu pada tabel barang.

- fk_pasok_suplier: foreign key tabel pasok yang mengacu pada tabel suplier

- fk_pembelian_barang: foreign key tabel pembelian yang mengacu pada tabel barang.

- fk_pembelian_customer: foregin key tabel pembelian yang mengacu pada tabel customer.

Tugas :Berdasarkan contoh diatas buatlah tabel Pembelian dengan stuktur sebagai berikut: Tabel Pembelian

Keterangan:

Catatan:

Untuk menampilkan struktur tabel gunakan perintah : describe/desc nama_tabel.

Praktek :

Perintah untuk menampilkan daftar tabel:

Select * from tab :

Page 7: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Stuktur tabel Pasok dan tabel Pembelian

Catatan:

2. Mengubah Tabel (Alter Table)Bentuk Umum:

Praktek :

a. Ubahlah tipe data dari field satuan_barang dari varchar2(20) menjadi char(5).

ALTER TABLE nama_tabel ADD|MODIFY nama field tipe_data(lebar_field);

Pada pengubahan stuktur tabel ini ada bebrapa kemungkinan, diantaranya mengubah dalam arti menghapus salah satu atau beberapa field apda tabel tersebut atau dalam arti menambah satu atau beberapa field pada tabel tersebut.

Page 8: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Perhatikan Caranya:

b. Tambahkan satu field pada tabel barang dengan ketentuan:- nama field : keterangan- tipe data : varchar2- lebar data : 15

Perhatikan Caranya:

Tugas : Ubahlah tipe data untuk field stok_barang dari number(4) menjadi number(2) Tambahkan satu field pada tabel barang dengan ketentuan:

- nama field : stok_minimum- tipe data : number(4)

Page 9: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Catatan:

2. Menghapus Tabel (Drop Table)Bentuk Umum:

Praktek :

Hapuslah tabel barang (tabel barang disini adalah tabel reference/acuan). Perhatikan pesan yang muncul:

Perhatikan Caranya:

Hapuslah tabel pasok dan tabel pembelian (tabel yang mengacu pada tabel barang). Tabel pasok dan tabel Pembelian ini berjenis tabel relasi.

Perhatikan caranya :

DROP TABLE nama_tabel

Perintah DROP ini akan berhasil jika tabel yang dihapus adalah tabel yang tidak ada relasinya (tabel yang berdiri sendiri). Juga akan berhasil jika yang dihapus adalah tabel relasi (tabel yang mengacu pada tabel yang lain). Dalam kasus ini tabel, relasi adalah tabel pasok dan tabel reference, maka perintah DROP table ini tidak akan berhasil.Lihat Contoh dibawah ini:

Page 10: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Daftar tabel setelah penghapusan:

Sekarang coba hapus tabel barang, tabel customer dan tabel supplier

Tugas: Buat kembali :

- Tabel Barang- Tabel Suplier- Tabel Customer- Tabel Pasok- Tabel PembelianDengan stuktur tabel sama dengan sebelumnya.

Yaaaa… begitulah kalau Anda ingin cepat pandai.

Page 11: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Catatan:

3. Memasukkan Data (Insert)Bentuk Umum:

Praktek :

Isikanlah sebuah record kedalam tabel barang seperti tabel berikut:

KODE_BARANG NAMA_BARANG SATUAN_BARANG STOK_BARANGELK-01 RICE COOKER BUAH 20

Perhatikan caranya:

Tugas :

Tambahkan record kedalam tabel Barang seperti tabel berikut:

KODE_BARANG NAMA_BARANG SATUAN_BARANG STOK_BARANGELK-02 LEMARI ES UNIT 8ELK-03 TELEVISI UNIT 30ELK-04 RADIO/TAPE BUAH 35

Masukkan record kedalam tabel Suplier seperti tampilan berikut:

KODE_SUPLIER

NAMA_SUPLIER ALAMAT_SUPLIER KOTA_SUPLIER TELEPON_SUPLIER

EJ-01 PT.ACTRON JL.THAMRIN 12 JAKARTA 021-855-2301EJ-02 PT.MULYA

ELEKTRONJL.SUDIRMAN 45 JAKARTA 021-855-4262

EB-01 PT.ULTRASOUND JL.SUKARNO-HATTA BANDUNG 022-522-3305

INSERT INTO nama_tabel (nama field ke-1, . . ., nama field ke-n

VALUES (nilai_field ke-1,. . ., nilai_field ke-n);

Pada prinsipnya INSERT bertujuan mengisikan data/record ke dalam suatu tabel. Pengisian data ini bisa satu record penuh atau hanya sebagian saja.

Keterangan:(nama field ke-1, . .,nama field ke-n) adalah nama field yang ada pada tabel dan sifatnya opsional.(nama field ke-1,. . ,nilai_field ke-n) adalah isi dari field pada tabel dan harus diisi.

Select * from barang;Untuk melihat semua data pada tabel barang

Page 12: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

EB-02 PT.SUPERTRON JL.INDUSTRI 37 BANDUNG 022-660-4091

Masukkan record kedalam tabel Customer seperti tabel berikut:

KODE_CUSTOMER

NAMA_CUSTOMER

ALAMAT_CUSTOMER

KOTA_CUSTOMER TELEPON_CUSTOMER

J-0001 TOKO KARISMA JL.CIMANGGIS 34 JAKARTA 021-856-4209J-0002 TOKO AYU JL.DIMANGGIS 12 JAKARTA 021-856-1321B-0001 TOKO SURYA JL.ABC 234 BANDUNG 022-432-6635B-0002 TOKO WARNA JL.ABC 309 BANDUNG 022-432-6024

Masukkan record kedalam tabel Pasok seperti tabel berikut:

KODE_PASOK

KODE_BARANG

KODE_SUPLIER TANGGAL_PASOK JUMLAH_PASOK

PAS-E001 ELK-01 EJ-01 01-JAN-02 8PAS-E002 ELK-01 EJ-02 01-JAN-02 5PAS-E003 ELK-02 EJ-01 01-FEB-02 2PAS-E004 ELK-02 EJ-02 02-FEB-02 3PAS-E005 ELK-02 EB-02 01-JAN-02 2PAS-E006 ELK-03 EJ-01 03-MAR-02 5PAS-E007 ELK-03 EJ-01 04-MAR-02 2PAS-E008 ELK-03 EJ-02 03-MAR-02 3PAS-E009 ELK-03 EB-01 13-MAR-02 4PAS-E010 ELK-03 EB-02 13-MAR-02 3PAS-E011 ELK-04 EB-01 22-APR-02 12PAS-E012 ELK-04 EB-02 30-APR-02 9

Masukkan record kedalam tabel Pembelian seperti tabel berikut:

KODE_PEMBELIAN

KODE_BARANG

KODE_CUSTOMER TANGGAL_PEMBELIAN

JUMLAH_PEMBELIAN

BEL-E001 ELK-01 J-001 20-MAY-02 3BEL-E002 ELK-01 J-001 21-MAY-02 4BEL-E003 ELK-01 J-002 20-MAY-02 2BEL-E004 ELK-01 B-001 20-MAY-02 2BEL-E005 ELK-01 B-002 22-MAY-02 3BEL-E006 ELK-02 J-001 24-MAY-02 1BEL-E007 ELK-02 J-002 24-JUN-02 1BEL-E008 ELK-02 B-001 25-JUN-02 2BEL-E009 ELK-02 B-002 25-JUN-02 2BEL-E010 ELK-02 J-001 20-JUM-02 5BEL-E011 ELK-03 J-002 02-JUL-02 4BEL-E012 ELK-03 B-001 04-JUL-02 6BEL-E013 ELK-03 B-002 10-JUL-02 5BEL-E014 ELK-03 J-001 15-JUL-02 12BEL-E015 ELK-03 B-002 17-JUL-02 15

Page 13: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Catatan:

4. Memperbaiki Data (Update)Bentuk Umum:

Praktek :

Perhatikan data tabel barang berikut ini:

Perbaikilah data pada :Kode_barang ELK-01 pada field STOK_BARANG menjadi 18

Perhatikan caranya:

Tugas: Lakukan perbaikan data

- Tabel Barang: Kode_Barang ELK-04 pada field SATUAN_BARANG menjadi UNIT

UPDATE nama_tabelSET nama_field = data_baruWHERE nama_field = data_lama

Pada prinsipnya UPDATE adAlah memperbaharui data lama dengan data

Page 14: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

- Tabel Suplier:Kode_Suplier EJ-01 pada field NAMA_SUPLIER menjadi JAYANUSA , field ALAMAT_SUPLIER menjadi Jl.DAMAR 69, field KOTA_SUPLIER menjadi PADANG dan TELEPON_SUPLIER menjadi 0751-28984.

- Tabel Customer:Kode_Customer J-0002 pada field NAMA_CUSTOMER menjadi TOKO AWAK , field ALAMAT_CUSTOMER menjadi Jl.KITO 21, field KOTA_CUSTOMER menjadi PADANG dan TELEPON_SCUSTOMER menjadi 0751-33057.

Catatan:

5. Menghapus Data (Delete)Bentuk Umum:

Praktek :

Hapuslah semua recortd yang ada pada tabel barang :

Perhatikan tampilan berikut:

Kita tidak bisa menghapus isi tabel references (tabel abrang, tabel suplier dan tabel customer) tanpa lebih dahulu menghapus isi tabel yang mengacu pada taber tersebut.

Apabila kita ingin menghapus tabel barang, tabel suplier dan tabel customer, tanpa menghapus terlebih dahulu isi tabel pasok dan tabel pembelian, tambahkan sintak on delete cascade pada tabel pasok dan tabel pembelian pada saat pembuatan tabel..

Ctt:Untuk mempraktekkan penghapusan record, agar data pada tabel yang telah anda isi sebelumnya tidak hilang karena masih dibutuhkan lagi untuk kasus selanjutnya, maka

DELETE FROM nama_tabel[ WHERE kondisi ]

Pada Prinsipnya DELETE adalah untuk menghapus data atau record. Penghapusan record ini bisa dilakukan secara keseluruhan. Artinya, seluruh record dalam tabel tersebut akan dihapus. Penghapusan data atu deletion juga bisa untuk sebagian saja. Pada penghapusan data tipe ini digunakan kondisi where sebagai suatu kondisi untuk memilih record mana yang akan di hapus.

Page 15: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

saya sarankan anda untuk membuat sebuah tabel lagi dan isi beberapa data, setelah itu lakukan penghapusan terhadap isi dari tebel tersebut.

Contoh: buatlah sebuah tabel yang bermana mhs seperti berikut:

di beberapa data, tampilkan dan lakukan penghapusan. Lihat contoh tampilan berikut:

Catatan:

6. Memilih Data/Seleksi Data (Select)Bentuk Umum:

DELETE nama_fieldFROM nama_tabel[ WHERE kondisi ]

Pada Prinsipnya SELECT bertujuan untuk menampilkan/menyeleksi data, yang diinginkan dari sekumpulan data yang ada. Select sering disebut dengan istilah query.

Page 16: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Praktek :

Buatlah perintah untuk menampilkan semua data pada tebel BarangPerhatikan tampilan berikut:

Buatlah perintah untuk menampilkan nama_barang dan stok_barang pada tebel Barang. Perhatikan tampilan berikut:

Tugas : Buatlah perintah untuk menampilkan nama_customer dan alamat_customer pada

tebel customer. Buatlah perintah untuk menampilkan kode_suplier dan nama_suplier pada tebel

suplier.

Page 17: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Membuat View (Create View)Buatlah view dengan nama v_customer yang menampilkan isi tabel customer:Perhatikan tampilan berikut:

Buatlah view dengan nama v_barang untuk menampilkan nama_barang dan stok_barang ari tabel barang. Perhatikan tampilan berikut:

Tugas:

Buatlah view dengan nama v_suplier untuk manampilkan kode_suplier, nama_suplier pada tabel suplier.

Buatlah view dengan nama v_pasok untuk menampilkamn kode_pasok, tanggal_pasok pada tabel pasok.

Page 18: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Catatan:

6. Pengelompokan Data (Group By) dan Aggregate Function

A. Min( )Bentuk Umum:

Praktek : Tampilkan minimum pemasok per kode barang

Perhatikan tampilan berikut:

Tampilkan jumlah minimum pemasokan dari seluruh pemasokan yang ada.Perhatikan tampilan berikut:

SELECT nama_field-1, . . , nama_field-n, MIN(nama_field)FROM nama_tabel

GROUP BY nama_field-1, . . , nama_field-n

Fungsi ini digunakan untuk mencari harga minimum dari sekumpulan data yang ada.

Pada kasus seleksi data seringkali diminta untuk menampilkan atau memilih sekumpulan data berdasarkan kelompok data tertentu. Untuk menyelesaikan permasalahan tersebut, SQL menyediakan perintah atau sintak group by. Pada pengelompokan data biasanya disertakan bnersama Aggregate Function. Dalam implementasinya, Aggregate Function harus diikuti group by bila terdapat field lain yang dijadikan sebagai kriteria pengelompokan. Aggregate function yang dimaksud adalah fungsi matematik yaitu: min(), max(), avg(), sum(), dan count().

Jika ingin menampilkan funsi aggregate(min, max, avg, count) berdasarkan kelompok data tertentu, yang harus dilakukan adalah membuat group by berdasarkan kelompok data tersebut.

Jika menentukan aggregate function tanpa melibatkan field yang lain (tidak ada field lain selain field eggregate function), maka tidak perlu menambahkan group by karena data yang ditampilkan tidak dikelompokkan berdasarkan field tertentu, jadi tidak perlu digroupkan/tidak perlu membuat grop by.

Page 19: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Tugas : Cari minimum pembelian per customer. Tampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang

ada.

B. Max( )Bentuk Umum:

Praktek : Tampilkan maksimum pemasokan per koe barang.

Perhatikan tampilan berikut:

Tampilkan maksimum pemasokan dari semua pemasokan yang ada.Perhatikan tampilan berikut:

SELECT nama_field-1, . . , nama_field-n, MAX(nama_field)FROM nama_tabel

GROUP BY nama_field-1, . . , nama_field-n

Fungsi ini digunakan untuk mencari harga maksimum dari sekumpulan data yang ada. .

Page 20: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

C. Avg( )Bentuk Umum:

Praktek :

Tampilkan data-rata pemasokan (rata-rata jumlah pasok)Perhatikan tampilan berikut:

Tampilkan rata-rata pemasokan (rata-rata jumlah pasok) untuk semua kode_barang dan suplier.Perhatikan tampilan berikut:

D. Sum( )Bentuk Umum:

SELECT nama_field-1, . . , nama_field-n, AVG(nama_field)FROM nama_tabel

GROUP BY nama_field-1, . . , nama_field-n

Fungsi ini digunakan untuk mencari harga rata-rata dari semuplulan data yang ada.

SELECT nama_field-1, . . , nama_field-n, SUM(nama_field)FROM nama_tabel

GROUP BY nama_field-1, . . , nama_field-n

Fungsi ini digunakan untuk mencari jumlah data.

Page 21: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Praktek : Tampilkan total jumlah pembelian per kode barang.

Perhatikan tampilan berikut:

Tampilkan total jumlah pembelian per-kode barangPerhatikan tampilan berikut:

Tampilkan total jumlah pembelian per kode barang per kode customer.

Page 22: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

E. Count( )Bentuk Umum:

Praktek : Tampilkan berapa kali pemasokan (cacah pasok) tiap kode_bnarang, atau

berdasarkan kode barang, ada berapa kali pemasokan.Perhatikan tampilan berikut:

Tampilkan berapa kali pemasokan (cacah pasok) tiap kode barang dan kode suplier. Atau dengan kata lainm, berdasarkan kode barang dan kode suplier, ada berapa kali.Perhatikan tampilan berikut:

SELECT nama_field-1, . . , nama_field-n, COUNT(nama_field)FROM nama_tabel

GROUP BY nama_field-1, . . , nama_field-n

Fungsi ini digunakan untuk mencari cacah atau banyaknya data

Page 23: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Tampilkan berapa kali terjadi pemasokan berdasarkan kode barang dan tanggal tertentu.Perhatikan tampilan berikut

Tampilkan minimum,maksimum,rata-rata dan jumlah barang serta berapa kali terjadi pemasokan untuk setiap kode barang.Perhatikan tampilan berikut:

Page 24: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Catatan:

7. Pengurutan Data (Order By)

Bentuk Umum:

Praktek : Tampilkan semua data barang berdasarkan urutan nama barang.

Perhatikan tampilan berikut:

Tampilkan semua data barang berdasarkan urutan yang terbalik dari nama Barang.Perhatikan tampilan berikut:

SELECT nama_field-1, . . , nama_field-nFROM nama_tabel

ORDER BY nama_field

Page 25: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Catatan:

8. Kriteria Data

A. Kriteria dengan Having

Bentuk Umum:

Praktek :

Tampilkan supplier yang memasok barang sebanyak 2 kali.Perhatikan tampilan berikut:

Tampilkan kode customer yang total jumlah pembeliannya lebih besar dari 15.Perhatikan tampilan berikut

SELECT nama_field-1, . . , nama_field-n, aggregate_functionFROM nama_tabel

ORDER BY

Kriteria data adalah data yang akan ditampilan, yaitu data memenuhi kriteria yang ditentukan (kriteria yang ada). Diabagi dalam dua kategori, kriteria dengan having dan kriteria where.

Kriteria dengan having adalah kriteria pemilihan atau seleksi data dengan menggunakan kata having. Kata having ini bisa berupa having count(nama_filed) having sum(nama_field), atau having dengan diikuti fungsi aggregate yang lain. Namun pada intinya adalah ingin menyeleksi data berdasarkan kriteria tertentu, dimana kriteria ini biasanya berupa fungsi aggregate (min, max, avg, sum dan count).

Page 26: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

B. Kriteria dengan Where

(a). Comparison (=, <>, <, >, <= atau >=)

Bentuk Umum:

Praktek : Tampilkan kode barang dan kode suplier yang mempunyai jumlah pasok 2.

Perhatikan tampilan berikut:

Tampilkan barang yang memiliki jumlah atau stok abrang lebih besar atau sama dengan 20.Perhatikan tampilan berikut:

SELECT nama_field-1, . . , nama_field-nFROM nama_tabel

Pada kriteria dengan where pemilihan atau seleksi data dilakukan setelah kata where. Setelah kata where bisa diikuti oleh comparison (=, <>, <, >, >= atau <=), between, in, like/not like atau is null/is not null.

Comparison berfungsi untuk membandingkan dua nilai. Tipe data yang harus dibandingkan harus sesuai. Hasil yang diperolah dari operasi perbandingan atau comparison ini adlah berupa nilai logik.

Page 27: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

(b). Between

Bentuk Umum:

Praktek : Tampilkan kode barang dan kode suplier yang jumlah pasoknya antara 5 dan 12.

(5 dan 12 termasuk dalam kategori)Perhatikan tampilan berikut:

(c). In

Bentuk Umum:

Praktek : Tampilkan kode barang dan kode suplier yang jumlah pasoknya 2,8, atau 12.

Perhatikan tampilan berikut:

SELECT nama_field-1, . . , betweenFROM nama_tabel

Pada prinsipnya between digunakan untuk membandingkan atau untuk mengecek apakah suatu nilai berada dalam range atau selang nilai tertentu.

SELECT nama_field-1, . . , betweenFROM nama_tabel

WHERE nama_field IN(. . ., . . ., . .

In digunakan untuk melakukan pengecekan apakah suatu nilai terdapat pada suatu himpunan tertentu

Page 28: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Tampilkan customer yang mempunyau ‘J-0001’ atau ‘B-0002’Perhatikan tampilan berikut:

(c). Like/Not Like

Bentuk Umum:

Praktek :

Tampilkan customer yang mempunyai kata ‘JAK’ pada kotanya.Perhatikan tampilan berikut:

Tampilkan data abrang yang memiliki nama abrang diawali dengan huruf R.Perhatikan tampilan berikut:

SELECT nama_field-1, . . , betweenFROM nama_tabel

WHERE nama_field LIKE ‘. . ‘

Like atau Not Like digunakan untuk membandingkan data dengan pola tertentu. Untuk membandingkan satu karakter digunakan karakter underscore (_), sedangkan untuk membandingkan string digunakan karakter porsen (%).

Page 29: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Catatan:

8. Query dan View

A. Seleksi Satu Tabel

Bentuk Umum:

Praktek : Tampilkan berapa kali pembelian (cacah pembelian) dan jumlah pembelian per

kode abrang per kode customer. Tampilkan diurutkan berdasarkan jumlah pembelianPerhatikan tampilan berikut:

SELECT nama_field-1, . . , nama_field-n, aggregate_functionFROM nama_tabelWHERE kriteriaGROUP BY nama_field-1, . . , nama_field-n HAVING kriteria_aggregate_functionORDER BY nama_field

Query adalah sebutan atau nama lain dari seleksi yang merupakan bagian danri DML (Data Manipulation Language)

Sleksi ini hanya berkisar pada field yang ada pada satu tabel.

Page 30: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Tampilkan berapa kali pembelian (Cacah pembelian) dan jumlah pembelian per kode barang per kode customer. Cacah pembelian yang ditampilkan adalah yang lebih besar dati 1. Tampilan diurutakan berdasarkan jumlah pembelian.Perhatikan tampilan berikut:

Tampilkan berapa kali pembelian (cacah pembelian) dan jumlah pembelian per kode barang per kode customer. Kode customer yang ditampilkan adlaah J-001 dan B-0001, tampilan diurutakn dari yang terbesar ke yang terkecil, urutan berdasarkan jumlah pembelian.Perhatikan tampilan berikut:

B. Seleksi Lebih dari Satu Tabel

Sleksi ini memungkinkan untuk memilih field mana saja yang ingin ditampilkan, asalkan antara field yang satu dan field yang lain masih berada pada tabel yang saling berelasi.

Page 31: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Bentuk Umum:

Praktek : Tampilkan nama supplier, tanggal pasokan dan berapa jumlah pasokannya.

Perhatikan tampilan berikut:

Tampilkan nama barang, nama suplier tanggal pasokan dan jumlah pasokan barang tersebut. Barang yang ditampilkan adalah televisi, radio/tape, lemari es.

SELECT nama_field-1, . . , nama_field-n, aggregate_functionFROM nama_tabel-1,. . .,nama_tabel-nWHERE kriteriaGROUP BY nama_field-1, . . , nama_field-n HAVING kriteria_aggregate_functionORDER BY nama_field

Page 32: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

Tampilkan nama barang, nama suplier, tanggal p[asokan dan jumlah Pasokan barang. Barang yang ditampilkan adalah televisi, radio/tape, lemari as. Suplier yang ditampilkan adalah yang memiliki nama berakhiran tron. Jumlah pasokan yang ditampilkan dalam selang 3 sampai 9.Perhatikan tampilan berikut:

Hitunglah, maksimum, dan rata-rata pemasokan per nama suplier.Perhatikan tampilan berikut:

B. Seleksi dengan Subquery

Subquery adalah query di dalam query,. Artinya, seleksi data berdasarkan hasil seleksi data yang telah ada. Sintaknya SQL-nya sama dengan sitnak SQL pada umumnya, tetapi kondisi setelah where diikuti dengan query baru atau subquery.

Page 33: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan

HKode_barang char(6)HNama_barang varchar2(25)HSatuan_barang varchar2(20)HStok_barang number(4)Htanggal_hapus Datetime-----------------------------------------------------------Primary key (PK) adalah field kode_barang

CREATE OR REPLACE TRIGGER thapusbarang AFTER DELETE ON barang FOR EACH ROWBEGIN INSERT INTO HisBarang Values (:Old.Kode_barang,:Old.Nama_barang,:Old.Satuan_barang,:old.stok_barang,date());END;

Bentuk Umum:

9. Trigger

Bentuk Umum:

Praktek : Buatlah tabel HisBarang dengan stuktur sebagai berikut:

Buatlah trigger thapusbarang yang berfungsi untuk memasukkan data secara otomatis kedalam table hisbarang ketika ada query delete pada table barang

Hapus salah satu data pada table barang Lihat data pada table HisBarang

SELECT nama_field-1, . . , nama_field-n, aggregate_functionFROM nama_tabel-1WHERE kriteria ( SELECT nama_fioeld-1,. . .nama_field-n

FROM nama_tabel WHERE kriteria )

Trigger adalah suatu objek dalam database yang digunakan untuk membuat suatu keperluan manipulasi data secara otomatis, dimana suatu query akan dilakukan secara otomatis saat suatu query dieksekusi

CREATE OR REPLACE TRIGGER namatrigger AFTER/BEFORE INSERT/UPDATE/DELETE ON namatable FOR EACH ROWBEGIN Perintah/query yang dikerjakan;END;

Page 34: :: Studi Kasus Inventori :: - Adekyanna's Blog | … · Web viewTampilkan jumlah minimum pembelian dari seluruh transaksi pembelian yang ada. B. Max( ) Bentuk Umum: Praktek : Tampilkan