You are on page 1of 7

Studi kasus

create table mahasiswa(

stb varchar(12) primary key,

namamhs varchar(30),

tgllahir date,

alamat varchar(50));

create table matakuliah(

kodemk varchar(7) primary key,

namamk varchar(50),

sks int (11));

create table dosen(

kodedosen varchar( 7) primary key,

namadosen varchar(40));

create table kuliah(

stb varchar(12),

kodemk varchar(7),

kodedosen varchar(7),

nilai char(1),

foreign key (stb) references mahasiswa (stb),

foreign key (kodemk) references matakuliah (kodemk),

foreign key (kodedosen) references dosen (kodedosen));

insert into mahasiswa values

('13020210171','WAHID','2001-07-23','MAKASSAR'),
('13020210163','KESYA','2003-08-08','BARRU'),

('13020210071','ANCA','2003-01-29','PINRANG'),

('13020210156','ARISMAN','1999-05-25','DAYA'),

('13020210158','SURADI','2002-06-29','ANTANG'),

('13020210161','RIFKI','2004-02-08','PANGKEP');

insert into matakuliah values

('MK11','ALGORITMA','3'),

('MK12','BASIS DATA','2'),

('MK13','KOMUNIKASI DATA','2'),

('MK14','STASTIKA','3'),

('MK15','METODE NUMERIK','2'),

('MK16','PANCASILA','2');

insert into dosen values

('C11','TASRIF'),

('C12','AMEL'),

('C13','LUTFI'),

('C14','RANDI');

insert into kuliah values

('13020210171','MK11','C11','A'),

('13020210163','MK12','C12','B'),

('13020210071','MK13','C13','D'),

('13020210156','MK14','C14','C'),

('13020210158','MK15','C12','E'),

('13020210161','MK16','C11','B'),

('13020210171','MK14','C12','A'),

('13020210163','MK15','C11','C'),
('13020210071','MK16','C13','D'),

('13020210156','MK11','C12','E'),

('13020210158','MK12','C14','B');

delimiter $$

create function TAMPILNAMA (stambuk varchar(12))

RETURNS VARCHAR(30)

BEGIN

DECLARE nama VARCHAR(30);

SELECT namamhs FROM mahasiswa where stb=stambuk into nama;

return nama;

end $$

select TAMPILNAMA ('13020210171');

select stb,TAMPILNAMA(stb)from mahasiswa;

delimeter $$

create function HITUNGBOBOT (NIL char(1),JSKS int)

returns int(11)

begin

IF NIL='A' THEN

RETURN 4*JSKS;

END IF;

IF NIL='B' THEN

RETURN 3*JSKS;

END IF;

IF NIL='C' THEN

RETURN 2*JSKS;

END IF;
IF NIL='D' THEN

RETURN 1*JSKS;

END IF;

IF NIL='E' THEN

RETURN 0*JSKS;

END IF;

END $$

SELECT HITUNGBOBOT('B','3');

SELECT mahasiswa.stb, kuliah.nilai, matakuliah.sks,

HITUNGBOBOT(kuliah.nilai, matakuliah.sks) as 'Total Nilai'

FROM kuliah, mahasiswa, matakuliah

WHERE mahasiswa.stb=kuliah. stb and kuliah.kodemk=matakuliah.kodemk;

Evaluasi praktikum
create table mahasiswa(

stb int not null primary key,

nama_mhs varchar (50),

ipk float,

alamat varchar(50));

create table dosen(

id_dosen int not null primary key,

nama_dosen varchar(50),

alamat varchar(50));

create table matakuliah(


id_matkul int not null primary key auto_increment,

stb int,

id_dosen int,

foreign key (stb) references mahasiswa(stb),

foreign key (id_dosen) references dosen(id_dosen),

nama_matkul varchar(50));

insert into mahasiswa values

('111','aqq','3.00','pampang'),

('122','ass','3.10','btp'),

('133','avv','3.20','takalar'),

('144','auu','3.90','pampang'),

('155','all','3.93','sudiang');

insert into dosen values

('999','ari','pampang'),

('911','suri','petarani'),

('922','walik','btp'),

('933','susi','perintis'),

('944','arya','sudiang');

insert into matakuliah values

('010','111','999','statistika'),

('020','122','911','pti'),

('030','133','922','fisika'),

('040','144','933','algoritma'),

('050','155','944','struktur data');
create view tb_view as select transaksi.id_transaksi, customer.nama_cust, obat.nama_obat,

transaksi.jumlah_pembalian, obat.harga from transaksi,obat,customer

where obat.nama_obat=transaksi.kd_obat and transaksi.kode_cust=customer.kode_cust;

select a.id_transaksi,a.jumlah_pembalian,b.nama_cust,c.kd_obat

from transaksi a join customer b on a.kode_cust=b.kode_cust

join obat c on a.kd_obat=c.kd_obat;

create procedure isi_mahasiswa(in id_dosen int,in nama_mhs varchar(50),

in ipk float,in alamat varchar(50))

insert into mahasiswa values (id_dosen,nama_mhs,ipk,alamat);

call isi_mahasiswa ('100','app','3.06','pampang');

select * from mahasiswa;

create procedure cek_matkul (out x varchar(200),out y varchar(50),

in z int)

select id_matkul,nama_matkul into x,y from matakuliah where id_matkul =z;

call cek_matkul(@id_matkul,@nama_matkul,'010');

select @id_matkul,@nama_matkul;

delimiter $$

create procedure ubahipk(

inout ipk float)

begin

if ipk <'3.10' then

set ipk ='3.90';

end if;

end $$
select ipk into @ipk

from mahasiswa

where stb ='155';

call ubahipk(@ipk);

select @ipk;

You might also like