Ad (728x90)

Minggu, 04 November 2012

Filled Under:

Jawaban Tugas Prak (5)


-- No. 1
--function fCekMhs untuk mengecek nama
alter function fCekMhs (@nama as varchar(100))
returns numeric
as
begin
--set nilai @jumlah
return (select count(*)
from mahasiswa
where nama = @nama)
end

--hapus function fCekMhs
drop function fCekMhs

create proc sp_GetNilaiMhs @nama as varchar(100)
as
begin
--deklarasi variabel untuk menampung jumlah mahasiswa yang terdaftar
declare @jumlah as numeric

--set nilai pada variabel jumlah dengan memanggil function fCekMhs
set @jumlah = dbo.fCekMhs(@nama)

--cek jika jumlah = 0 => data tidak ada, maka akan mengembalikan nilai -1
if @jumlah = 0
begin
return -1
end
else
begin
select m.nama, n.tugas, n.uts, n.uas
from mahasiswa m, nilai n
where m.nim = n.nim and
nama = @nama;
end
end

--hapus procedure sp_GetNilaiMhs
drop proc sp_GetNilaiMhs

--deklarasi variabel untuk menampung hasil return dan non return
declare @jumlahData INT;

--eksekusi procedure sp_GetNilaiMhs
exec @jumlahData = sp_GetNilaiMhs 'Cinta';
print @jumlahData;



--No. 2
begin transaction

--function fBuatNIM untuk format NIM
create function fBuatNIM (@nim as varchar(11))
returns varchar(11)
as
begin
return right(year(getdate()),2)+'41010'+right('0000'+@nim,4);
end

--hapus function fBuatNIM
drop function fBuatNIM

--procedure sp_InsertMhs untuk menghitung seluruh data MK
create proc sp_InsertMhs @nim_urut as varchar(11),@nama as varchar(100),@alamat as varchar(100),
@kota as varchar(50),@jns_kelamin as char(1),@sts_nikah as char(1)
as
begin
--deklarasi variabel untuk menampilkan jumlah mahasiswa
declare @jumlah as numeric;


--set nilai jumlah mahasiswa sebelum ditambahkan
set @jumlah = (select count(*) from mahasiswa);

--cetak jumlah mahasiswa sebelum ditambahkan
print 'jumlah data mahasiswa (sebelum)' + convert(char,@jumlah);

--query memasukkan data mahasiswa
insert into mahasiswa
values (dbo.fBuatNIM(@nim_urut), @nama, @alamat, @kota, @jns_kelamin, @sts_nikah)

--set nilai jumlah mahasiswa sesudah ditambahkan
set @jumlah = (select count(*) from mahasiswa);

--cetak jumlah mahasiswa sesudah ditambahkan
print 'jumlah data mahasiswa (sesudah)' + convert(char,@jumlah);
end

--eksekusi procedure sp_InsertMhs
sp_InsertMhs '58','Edo Yonatan K.','Gunung Sari Indah L. 39','Surabaya','P','B'

--hapus procedure sp_InsertMhs
drop proc sp_InsertMhs

--hasilnya ditampilkan dalam bentuk tabel
select * from mahasiswa

rollback transaction

Antonius Jefry

Author & Editor

Has laoreet percipitur ad. Vide interesset in mei, no his legimus verterem. Et nostrum imperdiet appellantur usu, mnesarchum referrentur id vim.

0 komentar:

Posting Komentar

 

We are featured contributor on entrepreneurship for many trusted business sites:

  • Copyright © JSC BOJONEGORO™ is a registered trademark.
    Designed by Templateism. Hosted on Blogger Platform.