Saturday, August 19, 2017

Basis Data Terapan - Coding Database Perpustakaan pada SQL Server


create database PERPUSTAKAAN
use PERPUSTAKAAN

create table TbPINJAM (
nomor int primary key,
nama varchar(26),
jurusan varchar(4),
BukuPinjam varchar(30)
)
insert into TbPINJAM values(1,'Chyntia','TI1A','Strukdat')
insert into TbPINJAM values(2,'Chyntia2','SI2B','Oracle')
insert into TbPINJAM values(3,'Chyntia3','MI23','Statistik')
insert into TbPINJAM values(4,'Chyntia4','SA4A','Aljabar')
insert into TbPINJAM values(5,'Chyntia5','TK21','Bisnis')
insert into TbPINJAM values(6,'Chyntia6','SA31','Management')
insert into TbPINJAM values(7,'Chyntia7','KA42','Sistem Komputerisasi Akuntansi')
select * from TbPINJAM

--mencari dan menampilkan buku pinjaman berawalan S
select * from TbPINJAM where BukuPinjam like 'S%'
--mencari dan menampilkan buku pinjaman berakhiran T
select * from TbPINJAM where BukuPinjam like '%t'
--mencari dan menampilkan jurusan yang terdapat huruf i
select * from TbPINJAM where jurusan  like '&i%'
--mencari dan menampilkan jurusan berawalan S dan berakhiran angka 1
select * from TbPINJAM where jurusan  like 'S%1'
--menampilkan nama peminjam dan jurusan yang namanya berakhiran 2 dan 4
select nama as [Nama Peminjam], jurusan  from TbPINJAM where nama like '%2' or nama like '%4'
--tampilkan nama peminjam yang jurusannya berawalan T dan yang meminjam buku berawalan B
select nama as [Nama Peminjam] from TbPINJAM where jurusan  like 'T%' or BukuPinjam  like 'B%'

--fumgsi-fungsi agregat
select AVG (nomor) as "Nilai Rata-rata" from TbPINJAM
select MAX (nomor) as "Nilai Tertinggi" from TbPINJAM
select MIN (nomor) as "Nilai Terendah" from TbPINJAM
select SUM (nomor) as "Nilai Total" from TbPINJAM
select COUNT (nomor) as "Banyak Data" from TbPINJAM

insert into TbPINJAM values(8,'Chyntia8','SA4A','B.Inggris')
insert into TbPINJAM values(9,'Chyntia9','MI23','B.Indonesia')

--menampilkan banyak data sesuai kelompok (Group, contoh: jurusan)
select jurusan, COUNT(jurusan) as kelas from TbPINJAM group by jurusan
--compute - membuat subtotal berdasarkan jurusan dan diurutkan secara descending
select nomor,nama , jurusan from TbPINJAM order by jurusan desc compute count(jurusan) by jurusan
--ascending
select nomor,nama , jurusan from TbPINJAM order by jurusan compute count(jurusan) by jurusan

alter table TbPINJAM add lama int
update TbPINJAM set lama =SUBSTRING (jurusan,3,1)
select * from TbPINJAM
--Having - menentukan batasan kondisi hasil proses
--mencari lama pinjam yang lebih dari 2 hari
select jurusan, SUM (lama) as [Lama Pinjam] from TbPINJAM group by jurusan having SUM (lama) > 2
--tampilkan rata lama peminjam buku
select AVG (lama) As [Rata Lama Pinjam] from TbPINJAM

Wednesday, August 9, 2017

Basis Data Terapan - Coding Stored Procedure pada SQL Server


create database ContohProsedur
use ContohProsedur

create table TblPaket(
Kode char(12) primary key,
Paket char(15),
Biaya BigInt
)
insert into TblPaket values('01','Mic. SQL Server', 100000)
insert into TblPaket values('02','Mic. Visual.Net', 250000)
insert into TblPaket values('03','Perc. Web', 375000)

--contoh pembuatan procedure untuk lihat data
--tanpa parameter

create procedure LihatTabel
as
select * from TblPaket

--menjalankan procedure LihatTabel
LihatTabel

--membuat procedure dengan 1 parameter input
create procedure CariTabel @kode varchar(2)
as
select * from TblPaket
where Kode = @kode

--menjalankan procedure
CariTabel'01'

--pembuatan procedure untuk proses tambah record
create procedure TambahData @Kode char(2),
@Paket char(15),@Biaya BigInt
as
insert into TblPaket values(@Kode,@Paket,@Biaya)

--menjalankan procedure TambahData
TambahData '04','WEB Programming',350000
TambahData '05','PBO1',350000
LihatTabel

--Hapus procedure TambahData
drop procedure Tambahdata

/* 1. Buatkan procedure untuk menghapus Record berdasarkan Kode Paket yang diinginkan
   2. Buatkan procedure untuk memperbaiki Record berdasarkan
      Kode 04 dengan Paket Multimedia dan biaya 300000 */
 
create procedure HapusData @Kode char(2)
as delete from TblPaket where Kode=@Kode

--Jalankan procedure HapusData
HapusData '02'
LihatTabel

--------------------------------------------------------------------------------
create procedure PerbaikiData @Kode char(2), @paket char(15), @Biaya bigInt
as update TblPaket set Paket = @paket, Biaya = @Biaya where Kode = @Kode

PerbaikiData '04','Multimedia',350000
LihatTabel
--------------------------------------------------------------------------------
create table TblBagian(
KodeBag char(2) primary key,
bagian char(15)
)

create table tblpegawai (
nip char(5)  primary key,
nama char(25),
jabatan char(15),
gaji int,
KodeBag char(2) references TblBagian(KodeBag)
)


insert into TblBagian values('KU','Keuangan')
insert into TblBagian values('AM','Administ')
insert into TblBagian values('SM','Personalia')

select * from TblBagian

insert into tblpegawai values ('09101','Budi','Direktur',5000000,'KU')
insert into tblpegawai values ('09102','Iwan','Kabag',3000000,'AM')
insert into tblpegawai values ('09103','Dian','Staff',1000000,'KS')
insert into tblpegawai values ('09104','Waty','Staff',1000000,'SM')
select * from tblpegawai

insert into TblBagian values ('KS','Bendahara')

Super Kawaii Cute Cat Kaoani