Tugas
1
1. FUNCTION
? Ada berapa macam ? Jelaskan bedanya ?
2. Apa
package ? Jelaskan beri contoh ?
3. Dari
masing-masing kelompok cari warna merah di materi dan kerjakan ?
4. Dari
masing-masing kelompok buat topik / judul tentang suatu rencana sistem ?
5. Dari
masing-masing kelompok buat ERD tingkat lanjut dan transformasi ?
6. Dari
masing-masing kelompok buat table beserta relasi ?
7. Dari
masing-masing kelompok buat desain active database yang meliputi Procedure,
function, trigger dan tampilkan dalam bentuk Arsitektur PL metode PIPE dan FILTER
?
v
Kelebihan Sistem aplikasi rekam medis
:
§
Aplikasi terdapat tabel relasi turunan antar tabel
§
Dalam aplikasi terdapat data pegawai rumah sakit yang terintegrasi dengan
sitem diagnosa
§
Dapat meminimalisasi antrian
§
Mempermudah proses pengambilan data pasien
Alir Data CDM :
Alir Data PDM :
Relasi
tabel pada database rekam medis
Ø Relasi
inheritance pada database tarjadi antara tabel pegawai dengan table kepala_RS,
admin, Apoteker, Dokter. Dengan table pegawai sebagai induk.
Relasi antara table dokter dan rekam_medis many
to one
Ø Relasi
antara table pasien dengan admin many to one
Ø Relasi
antara tabel admin dengan rekam medis one to many
Ø Relasi
antara table resep dengan rekam_medis one to one
Ø Relasi
antara tabel resep dengan data_obat many to many
Ø Relasi
antara table apoteker dengan resep one to many
Jawaban
Tugas 1
1. Desain
active database yang meliputi Procedure, function, trigger dan tampilkan dalam
bentuk Arsitektur PL metode PIPE dan FILTER .
§ Procedure
ü Update_dokter
: procedure untuk mengupdate data dokter yang telah di inputkan
Input
:
id_pegawai, SIP_Dokter, spesialis
Proses
:
pada table dokter data di update kedalam data baru atau melakukan perubahan
Output
:
SIP_Dokter dan spesialis
ü Sp_insertpegawai
: procedure untuk memasukkan data pegawai baru
Input
:
id_pegawai, nama_pegawai, jenis_kelamin, alamat, telepon
Proses
:
pada table pegawai terjadi proses penginputan data
Output
:
nama_pegawai, jenis_kelamin, alamat, telepon
ü Delete_RM
: Procedure untuk mendelet data rekam medis pada table rekam medis
Input
:
nomer_RM
Proses
:
pada table rekam_medis terjadi proses delete data rekam medis
Output
:
hapus data
ü Sp_insertobat
: Procedure untuk memasukkan data obat ke dalam table data_obat
Input
:
kode_obat, nama_obat, jumlah, kemasan,harga,harga total
Proses
:
melakukan proses penginputan data pada table data_obat
Output
:
kode_obat, nama_obat, jumlah, kemasan,harga,harga total
ü Lihat Rekam_Medis
: Pada procedure lihat data Rekam_medis akan menunjukkan data rekam medis yang
telah di input
Input
: nomer_RM
Proses
: melakukan proses menampilkan data rekam medis
Output
: data Rekam_medis
§ Function
·
Function fceknama_pegawai berfungsi untuk mengecek keberadaan nama pegawai
dalam table pegawai
·
Function fcekno_registrasi berfungsi untuk mengecek keberadaan nomer
registrasi yang ada di dalam table pasien
·
Function
fcekdata_obat berfungsi untuk mengecek data obat pada table
data obat dengan field kode_obat
·
Function fcekrekam_medis berfungsi untuk mengecek data rekam medis pada
tabel rekam medis
·
Function fcekdata_dokter berfungsi untuk mengecek data dokter pada table
dokter
§ Trigger
·
Delete
: deletedata_pegawai
Berfungsi untuk
memberikan pesan telah berhasil di hapus sebuah data
Input
:
id_pegawai
Proses
: jika terjadi proses delete data pegawai maka akan mucul pesan delete data
yang di hapus.
Output
: menampilkan id_pegawai yang di hapus
·
Update
: his_updtpegawai
Berfungsi untuk membuat
hitory pengupdatetan data yang telah di lakukan.
Inputan
: id_pegawai
Proses
:
jika terjadi proses update pada table pegawai maka secara otomatis id_pegawai
yang telah di update akan masuk kedalam table history beserta tanggal update
terjadi.
Output
: pada table history akan muncul field keterangan id yang di update beserta tanggal
update.
·
Update
: his_deletepegawai
Berfungsi untuk
menampilkan data pegawai yang telah di delete kedalam table history_delete
Inputan
: id_pegawai
Proses
: jika terjadi proses pendeletan data pegawai maka akan secara otomatis
terupdate id_pegawai dan tanggal proses terjadinya delete pada table
history_delete.
Output
:
pada table history_delete akan terupdate secara otomatis id yang di hapus dan
tanggal proses penghapusan data.
Tugas
2 & 3
Backup dan Sinkronisasi SQL, ORACLE
§ Query SQL Server
create database rekam_medis
use
rekam_medis
------------------------------------------------------------------
tabel pegawai
------------------------------------------------------------------
create table pegawai(
id_pegawai varchar (5),
nama_pegawai varchar (15),
jenis_kelamin char (8),
alamat varchar (20),
telepon varchar (12),
constraint PK_pegawai
primary key (id_pegawai))
select *from pegawai
insert into pegawai values ('00001','ria','wanita','kebraon',12345678)
insert into pegawai values ('00002','tara','pria','gogor city',987654321)
insert into pegawai values ('00003','alif','pria','papua',333333333333)
insert into pegawai values ('00004','budi','pria','JL rajawali',999999999999)
insert into pegawai values ('00005','selly','wanita','JL. semarang',888888888888)
insert into pegawai values ('00006','ridho','pria','ahmad yani',65432189)
insert into pegawai values ('00007','jelita','wanita','gunung sari',098765)
insert into pegawai values ('00008','rifky','pria','rungkut',765432)
------------buat
procedure untuk insert pegawai
create proc sp_insertpegawai (
@id_pegawai varchar (5),
@nama_pegawai varchar (15),
@jenis_kelamin varchar (8),
@alamat varchar(20),
@telepon varchar (12))
as begin
insert into pegawai values(@id_pegawai,
@nama_pegawai,@jenis_kelamin, @alamat, @telepon)
end
insert into pegawai values ('00001','ria','wanita','kebraon',12345678)
exec
sp_insertpegawai '00010','danu','pria','karangpilang',12345678
select *from pegawai
-----------------------------------function
cek nama pegawai
create function fceknama_pegawai (@nama_pegawai varchar (15))
returns varchar (5)
as begin
declare @data varchar(15), @status varchar (5)
declare cStatus cursor for select nama_pegawai from
pegawai where nama_pegawai=@nama_pegawai
set @status=0
open cStatus
fetch next from cStatus into @nama_pegawai
while @@FETCH_STATUS=0
begin
set @data=(select nama_pegawai
from pegawai where
nama_pegawai=@nama_pegawai)
if(@data<>@nama_pegawai)
begin
set @status=0
end
else
begin
set @status=1
end
fetch next from cStatus into @nama_pegawai
end
close cStatus
deallocate cStatus
return @status
end
------Stored
Procedure cek nama pegawai
select * from pegawai
create proc sp_ceknama_pegawai (@nama_pegawai varchar(15))
as begin
declare @status varchar (5)
set @status = dbo.fceknama_pegawai(@nama_pegawai)
if(@status=0)
begin
print 'Nama pegawai TIDAK ADA DALAM DATABASE'
end
else
begin
print ' Nama pegawai anda tersedia dalam database '
end
end
exec
sp_ceknama_pegawai 'danu'
select * from pegawai
--- stored
procedure update pegawai
create proc sp_updatepegawai(
@id_pegawai varchar (5),
@nama_pegawai varchar (15),
@jenis_kelamin varchar (8),
@alamat varchar(20),
@telepon varchar (12))
as begin
update pegawai set
nama_pegawai=@nama_pegawai,
jenis_kelamin=@jenis_kelamin,
alamat=@alamat, telepon=@telepon
where id_pegawai=@id_pegawai
end
exec
sp_updatepegawai '00010','surti','wanita','jombang',12345678
select *from pegawai
select *from history
------------buat
triger untuk history update pegawai
create trigger his_updtpegawai on
pegawai
for update as
declare
@id_pegawai varchar (5)
select
@id_pegawai=id_pegawai
from pegawai
insert into history(keterangan,tgl)
values ('update
data pada tabel pegawai dengan id : ' +@id_pegawai,GETDATE())
select *from history_delete
------------buat
triger untuk history delete pegawai
create trigger his_deletepegawai on
pegawai
for delete as
declare
@id_pegawai varchar (5)
select
@id_pegawai=id_pegawai
from deleted
insert into history_delete(ket,tgl)
values ('penghapusan
data pada tabel pegawai dengan id : ' +@id_pegawai,GETDATE())
select *from history_delete
------------buat
trigger untuk delete data pegawai
select * from history_delete
create trigger deletedata_pegawai on
pegawai
after delete
as
declare
@id_pegawai varchar (5)
select
@id_pegawai=id_pegawai
from deleted
print 'pegawai yang di delete :' +@id_pegawai
create trigger delete_pegawai
after delete as
declare
@id_pegawai varchar (5)
select
@id_pegawai=id_pegawai
delete from pegawai where
id_pegawai=@id_pegawai
inner join delete from admin where id_pegawai=@id_pegawai
inner join delete from dokter where
id_pegawai=@id_pegawai
inner join delete from apoteker where
id_pegawai=@id_pegawai
inner join delete from rekam_medis where
id_pegawai=@id_pegawai
inner join delete from kepala_RS where
id_pegawai=@id_pegawai
end
delete ini masih
belum selesai
exec
delete_pegawai '00007'
select*from pegawai
-------------
Pemanggilan Trigger delete menggunakan Stored Procedure delete Data obat
create proc delete_pegawai(@id_pegawai
varchar (5))
as begin
delete from pegawai where
id_pegawai=@id_pegawai
end
exec
delete_pegawai '00010'
------------------------------------------------------------------
tabel kepala rumah sakit
------------------------------------------------------------------
create table kepala_RS(
id_pegawai varchar (5),
jabatan varchar (20),
constraint
FK_pegawai_kep foreign key(id_pegawai) references pegawai(id_pegawai))
insert into kepala_RS values ('00006','kepala_RS')
select *from kepala_RS
---------------
buat procedure insert kepala RS
create proc sp_insertkepalaRS (
@id_pegawai varchar (5),
@jabatan varchar (20))
as begin
insert into kepala_RS values(@id_pegawai,
@jabatan)
end
exec
sp_insertkepalaRS '',''
------------buat
procedure untuk update kepala_RS
create procedure update_kepalaRS
@id_pegawai varchar (5),
@jabatan varchar (20)
as begin
update kepala_RS set jabatan=@jabatan where id_pegawai=@id_pegawai
end
exec
update_kepalaRS '00008','kepala RS'
select *from kepala_RS
------------buat
triger untuk history update kepala RS
create trigger his_updtkepRS on
kepala_RS
for update as
declare
@id_pegawai varchar (5)
select
@id_pegawai=id_pegawai
from kepala_RS
insert into history(keterangan,tgl)
values ('update
data pada tabel kepala RS dengan id : ' +@id_pegawai,GETDATE())
select *from history_delete
------------buat
trigger untuk delete data kepala RS
select * from history_delete
create trigger deletedata_kepalaRS on
kepala_RS
after delete
as
declare
@id_pegawai varchar (5)
select
@id_pegawai=id_pegawai
from deleted
print 'data kepala RS yang di delete :' +@id_pegawai
-------------
Pemanggilan Trigger delete menggunakan Stored Procedure delete Data obat
create proc delete_kepalaRS(@id_pegawai
varchar (5))
as begin
delete from pegawai where
id_pegawai=@id_pegawai
end
exec
delete_pegawai '00010'
select *from kepala_RS
------------------------------------------------------------------
tabel admin
------------------------------------------------------------------
create table admin(
id_pegawai varchar (5),
constraint
FK_pegawai_adm foreign key(id_pegawai) references pegawai(id_pegawai))
insert into admin values ('00003')
select *from admin
---------------
buat procedure insert admin
create proc sp_insertadmin (
@id_pegawai varchar (5))
as begin
insert into admin values(@id_pegawai)
end
exec
sp_insertadmin '00005'
select*from pegawai
select *from admin
------------buat
triger untuk history delete admin
create trigger his_deleteadmin on
admin
for delete as
declare
@id_pegawai varchar (5)
select
@id_pegawai=id_pegawai
from deleted
insert into history_delete(ket,tgl)
values ('penghapusan
data pada tabel admin dengan no : ' +@id_pegawai,GETDATE())
select *from history_delete
-------------
Pemanggilan Trigger delete menggunakan Stored Procedure delete Data obat
create proc delete_admin(@id_admin
varchar (5))
as begin
delete from admin where id_pegawai=@id_admin
end
exec
delete_admin '00005'
select*from admin
select *from history_delete
------------------------------------------------------------------
tabel apoteker
------------------------------------------------------------------
create table apoteker (
no_apotik varchar (5) not null,
id_pegawai varchar (5),
constraint
PK_apoteker primary key
(no_apotik,id_pegawai),
constraint FK_pegawai
foreign key(id_pegawai) references pegawai(id_pegawai))
insert into apoteker values ('30001','00007')
insert into apoteker values ('30002','00008')
select *from apoteker
---------------
buat procedure insert apoteker
create proc sp_insertapoteker (
@no_apotik varchar (5),
@id_pegawai varchar (5))
as begin
insert into apoteker values(@no_apotik,@id_pegawai)
end
exec
sp_insertapoteker '',''
------------buat
procedure untuk update apoteker
create procedure update_apoteker(
@no_apotik varchar (5),
@id_pegawai varchar (5))
as begin
update apoteker set no_apotik=@no_apotik
where id_pegawai=@id_pegawai
end
exec
update_apoteker '00008','kepala RS'
select *from apoteker
------------buat
triger untuk history update apoteker
create trigger his_updtapoteker on
apoteker
for update as
declare @no_apotik
varchar (5)
select @no_apotik=no_apotik
from apoteker
insert into history(keterangan,tgl)
values ('update
data pada tabel apoteker dengan no : ' +@no_apotik,GETDATE())
select *from history
select *from apoteker
exec
update_apoteker '30003','00007'
------------buat
triger untuk history delete apoteker
create trigger his_deleteapoteker on
apoteker
for delete as
declare @no_apotik
varchar (5)
select @no_apotik=no_apotik
from deleted
insert into history_delete(ket,tgl)
values ('penghapusan
data pada tabel apoteker dengan no : ' +@no_apotik,GETDATE())
select *from history_delete
-------------
Pemanggilan Trigger delete menggunakan Stored Procedure delete Data obat
create proc delete_apoteker(@no_apotik
varchar (5))
as begin
delete from apoteker where
no_apotik=@no_apotik
end
exec
delete_apoteker '00010'
------------------------------------------------------------
tabel dokter
------------------------------------------------------------------create table dokter (
id_pegawai varchar (5),
SIP_Dokter varchar (16),
Spesialis varchar (15)
constraint
FK_pegawai_dok foreign key
(id_pegawai)
references pegawai (id_pegawai))
insert into dokter values ('00001','dok123456789anak','dokter anak')
insert into dokter values ('00002','dok234567890umum','umum')
insert into dokter values ('00008','dok777777777umum','umum')
select *from dokter
-----------------------------------function
cek data dokter
create function fcekdata_dokter (@id_pegawai varchar (5))
returns varchar (6)
as begin
declare @data varchar(20), @status varchar (6)
declare cStatus cursor for select id_pegawai from
dokter where id_pegawai=@id_pegawai
set @status=0
open cStatus
fetch next from cStatus into @id_pegawai
while @@FETCH_STATUS=0
begin
set @data=(select ID_PEGAWAI from dokter where
id_pegawai=@id_pegawai)
if(@data<>@id_pegawai)
begin
set @status=0
end
else
begin
set @status=1
end
fetch next from cStatus into @id_pegawai
end
close cStatus
deallocate cStatus
return @status
end
------Stored
Procedure cek id dokter
select * from pasien
create proc sp_cekdata_dokter (@id_pegawai varchar(5))
as begin
declare @status varchar (6)
set @status = dbo.fcekdata_dokter(@id_pegawai)
if(@status=0)
begin
print 'id dokter TIDAK ADA DALAM DATABASE'
end
else
begin
print ' id ' +@id_pegawai +' tersedia dalam database
dokter '
end
end
exec
sp_cekdata_dokter '00001'
select *from dokter
------------buat
trigger untuk delete dokter
create trigger deletedata_dokter on
dokter
after delete
as
declare
@id_pegawai varchar (5)
select
@id_pegawai=id_pegawai
from deleted
print 'dokter yang di delete :' +@id_pegawai
-------------
Pemanggilan Trigger delete menggunakan Stored Procedure delete Data obat
create proc delete_dokter(@id_pegawai
varchar (5))
as begin
delete from dokter where
id_pegawai=@id_pegawai
end
exec
delete_dokter '00008'
select*from dokter
select*from
history_delete
------------buat
procedure untuk melihat data dokter
create procedure d_dokter
as begin
select *from dokter
end
exec d_dokter
------------buat
procedure untuk update dokter
create procedure update_dokter
@id_pegawai varchar (5),
@SIP_Dokter varchar (16),
@Spesialis varchar (15)
as begin
update dokter set SIP_Dokter=@SIP_Dokter, Spesialis=@Spesialis
where id_pegawai=@id_pegawai
end
exec
update_dokter '00002','dok111111anak','anak'
select*from history
selec
select * from dokter
------------buat
triger untuk history update dokter
create trigger Tupdt_dokter on
dokter
for update as
insert into history_delete(kete,tgl)
values ('pengubahan
data pada tabel dokter',GETDATE())
select*from history
------------------------------------------------------------
tabel pasien
------------------------------------------------------------------create table pasien (
no_registrasi varchar (6) not null,
nama_pasien varchar (15),
usia varchar (7),
jenis_kelamin char (8),
alamat varchar (20)
constraint PK_pasien primary key (no_registrasi))
insert into pasien values ('100001','danny','16','wanita','kebraon')
insert into pasien values ('100002','sugeng','30','pria','gogor')
insert into pasien values ('100003','rio','12','pria','pondok indah')
insert into pasien values ('100004','tari','20','wanita','sepanjang')
select *from pasien
------------buat
procedure untuk update pasien
create procedure update_pasien
@no_registrasi varchar (6),
@nama_pasien varchar (15),
@usia varchar (7),
@jenis_kelamin char (8),
@alamat varchar (20)
as begin
update pasien set nama_pasien=@nama_pasien,
usia=@usia, jenis_kelamin=@jenis_kelamin,
alamat=@alamat where
no_registrasi=@no_registrasi
end
exec
update_pasien '100004','juki','22','pria','sepanjang'
select *from pasien
------------buat
procedure untuk melihat pasien
create procedure d_pasien
as begin
select *from pasien
end
exec d_pasien
-----------------------------------function
cek no.regitrasi pasien
create function fceknama_pasien (@nama_pasien varchar (15))
returns varchar (6)
as begin
declare @data varchar(20), @status varchar (6)
declare cStatus cursor for select nama_pasien from
pasien where nama_pasien=@nama_pasien
set @status=0
open cStatus
fetch next from cStatus into @nama_pasien
while @@FETCH_STATUS=0
begin
set @data=(select NAMA_PASIEN from pasien where
nama_pasien=@nama_pasien)
if(@data<>@nama_pasien)
begin
set @status=0
end
else
begin
set @status=1
end
fetch next from cStatus into @nama_pasien
end
close cStatus
deallocate cStatus
return @status
end
------Stored
Procedure cek no. registrasi pasien
select * from pasien
create proc sp_cekNO_REGISTRASI (@nama_pasien varchar(15))
as begin
declare @status varchar (6)
set @status = dbo.fcekno_registrasi(@nama_pasien)
if(@status=0)
begin
print 'nama pasien TIDAK ADA DALAM DATABASE'
end
else
begin
print ' nama pasien tersedia dalam database '
end
end
exec
sp_cekNo_registrasi 'aaa'
select * from pasien
------------------------------------------------------------
tabel resep
------------------------------------------------------------------create table resep(
id_pegawai varchar (5),
no_registrasi varchar (6),
nomer_RM varchar (6),
no_resep varchar (6) not null,
kode_obat varchar (5),
nama_obat varchar (15),
jumlah integer,
aturan_pemakaian varchar (20),
dosis varchar (10),
masa_pemakaian varchar (20),
keterangan varchar (50),
harga_obat numeric (9),
biaya_periksa numeric (9),
biaya_total numeric (9)
constraint PK_resep primary key (no_resep,id_pegawai,no_registrasi,kode_obat,nama_obat),
constraint
FK_pegawai_apotik foreign key (id_pegawai) references pegawai (id_pegawai),
constraint
FK_pasienresep foreign key
(no_registrasi)
references pasien (no_registrasi),
constraint FK_obat foreign key (kode_obat,nama_obat) references
data_obat (kode_obat,nama_obat))
insert into resep values ('00002','100001','200001','400001','40003','komix','3','3 kali sehari','1 gram','1 minggu','bila belum sembuh kembali','10000','50000','60000')
select *from resep
------------buat
procedure untuk insert resep
create proc sp_insertresep (
@id_pegawai varchar (5),
@no_registrasi varchar (6),
@nomer_RM varchar (6),
@no_resep varchar(6),
@kode_obat varchar (5),
@nama_obat varchar (15),
@jumlah integer,
@aturan_pemakaian varchar (20),
@dosis varchar (10),
@masa_pemakaian varchar (20),
@keterangan varchar (50),
@harga_obat numeric (9),
@biaya_periksa numeric (9),
@biaya_total numeric (9))
as begin
insert into resep values(@id_pegawai,
@no_registrasi,@nomer_RM,
@no_resep,
@kode_obat, @nama_obat,
@jumlah,@aturan_pemakaian,@dosis
,@masa_pemakaian,@keterangan,@harga_obat
,@biaya_periksa,@biaya_total)
end
insert into pegawai values ('00001','ria','wanita','kebraon',12345678)
exec
sp_insertpegawai '00010','danu','pria','karangpilang',12345678
select *from pegawai
------------buat
procedure untuk insert resep
create proc sp_insertresep (
@id_pegawai varchar (5),
@no_registrasi varchar (6),
@nomer_RM varchar (6),
@no_resep varchar(6),
@kode_obat varchar (5),
@nama_obat varchar (15),
@jumlah int,
@aturan_pemakaian varchar (20),
@dosis varchar (10),
@masa_pemakaian varchar(20),
@keterangan varchar (50),
@harga_obat numeric (9),
@biaya_periksa numeric (9),
@biaya_total numeric (9))
as begin
insert into resep values(
@id_pegawai, @no_registrasi,
@nomer_RM, @no_resep,
@kode_obat, @nama_obat,
@jumlah, @aturan_pemakaian,
@dosis, @masa_pemakaian,
@keterangan, @harga_obat,
@biaya_periksa, @biaya_total)
end
exec
sp_insertresep '','','','','','','','','','','','','',''
------------------------------------------------------------
tabel data obat
------------------------------------------------------------------
create table data_obat(
kode_obat varchar (5) not null,
nama_obat varchar (15) not null,
jumlah float,
kemasan varchar (9),
harga float,
harga_total float,
constraint
PK_data_obat primary key
(kode_obat,nama_obat))
-----------------------------------function
cek data obat
CREATE function fcekdata_obat (@nama_obat varchar (15))
returns varchar (6)
as begin
declare @data varchar(20), @status varchar (6)
declare cStatus cursor for select nama_obat from
data_obat where nama_obat=@nama_obat
set @status=0
open cStatus
fetch next from cStatus into @nama_obat
while @@FETCH_STATUS=0
begin
set @data=(select NAMA_OBAT from data_obat where
nama_obat=@nama_obat)
if(@data<>@nama_obat)
begin
set @status=0
end
else
begin
set @status=1
end
fetch next from cStatus into @nama_obat
end
close cStatus
deallocate cStatus
return @status
end
------Stored
Procedure cek data obat
select * from pegawai
create proc sp_ceknama_obat (@nama_obat varchar(15))
as begin
declare @status varchar (5)
set @status = dbo.fcekdata_obat(@nama_obat)
if(@status=0)
begin
print 'Nama Obat TIDAK ADA DALAM DATABASE'
end
else
begin
print ' Nama pegawai anda tersedia dalam database '
end
end
EXEC
sp_ceknama_obat 'mixagrip'
select *from data_obat
------------buat
procedure untuk insert data obat
create proc sp_insertobat(@kode_obat
varchar (5), @nama_obat varchar (15), @jumlah float, @kemasan varchar(9), @harga float,@harga_total float)
as begin
insert into data_obat values(@kode_obat,
@nama_obat,@jumlah,
@kemasan, @harga,@harga_total)
end
exec
sp_insertobat '40003','komix','10','tablet','4500','45000'
select *from data_obat
create function f_data_obat
(@kode_obat varchar (5))
as begin
@harga total=jumlah * harga
insert into data_obat values(@harga_total where
@kode_obat=kode_obat)
------------buat
procedure untuk melihat data obat
create procedure d_obat
as begin
select *from data_obat
end
exec d_obat
------------buat
procedure untuk delete data obat
create proc obat_delete
@kode_obat varchar (5)
as begin
delete data_obat where kode_obat=@kode_obat
end
exec
obat_delete '40006'
select *from data_obat
------------buat
trigger untuk delete data_obat
select * from data_obat
create trigger delete_kode_obat on
data_obat
instead of delete
as
begin
declare @kode_obat
varchar (5), @nama_obat varchar (15)
set @kode_obat=(select kode_obat from deleted)
delete from data_obat where
kode_obat=@kode_obat
end
select * from data_obat
create trigger deletedata_obat on
data_obat
after delete
as
declare @kode_obat
varchar (5)
select @kode_obat=kode_obat
from deleted
print 'data obat yang di delete :' +@kode_obat
-------------
Pemanggilan Trigger delete menggunakan Stored Procedure delete Data obat
create proc delete_data_obat(@kode_obat
varchar (5))
as begin
delete from data_obat where
kode_obat=@kode_obat
end
exec
delete_data_obat '40003'
select * from data_obat
insert into data_obat values ('40006','laserin','0','botol','8000','0')
insert into data_obat values ('40001','mixagrip','20','tablet','4500','90000')
insert into data_obat values ('40002','panadol','15','tablet','3500','52500')
insert into data_obat values ('40003','komix','12','sirup','9000','108000')
insert into data_obat values ('40004','antangin','14','tablet','5500','77000')
insert into data_obat values ('40005','paramex','18','tablet','6500','117000')
select *from data_obat
------------------------------------------------------------
tabel rekam medis
------------------------------------------------------------------
create table rekam_medis(
id_pegawai varchar (5),
nomer_RM varchar (6) not null,
no_registrasi varchar (6),
diagnosa varchar (15),
keterangan varchar (50),
biaya numeric (9)
constraint
PK_rekam_medis primary key
(nomer_RM,id_pegawai),
constraint
FK_pegawai_RM foreign key
(id_pegawai)
references pegawai (id_pegawai),
constraint
FK_pasienrm foreign key
(no_registrasi)
references pasien (no_registrasi))
insert into rekam_medis values ('00002','200001','100001','batuk','batuk berdahak','50000')
select *from rekam_medis
------------buat
procedure untuk update rekam medis
create procedure update_RM
@id_pegawai varchar (5),
@nomer_RM varchar (6),
@no_registrasi varchar (6),
@diagnosa varchar (15),
@keterangan varchar (50),
@biaya numeric (9)
as begin
update
rekam_medis set
id_pegawai=@id_pegawai,
no_registrasi=@no_registrasi,
diagnosa=@diagnosa,
keterangan=@keterangan,
biaya=@biaya
where nomer_RM=@nomer_RM
end
exec update_RM '00003','200001','100001','batuk','batuk berdahak','60000'
select *from history
CREATE function fcekrekam_medis (@nomer_RM varchar (6))
returns varchar (6)
as begin
declare @data varchar(20), @status varchar (6)
declare cStatus cursor for select nomer_RM from
rekam_medis where nomer_RM=@nomer_RM
set @status=0
open cStatus
fetch next from cStatus into @nomer_RM
while @@FETCH_STATUS=0
begin
set @data=(select NOMER_RM from rekam_medis where
nomer_RM=@nomer_RM)
if(@data<>@nomer_RM)
begin
set @status=0
end
else
begin
set @status=1
end
fetch next from cStatus into @nomer_RM
end
close cStatus
deallocate cStatus
return @status
end
------Stored
Procedure cek data obat
select * from pegawai
create proc sp_cekrekam_medis (@nomer_RM varchar(6))
as begin
declare @status varchar (5)
set @status = dbo.fcekrekam_medis(@nomer_RM)
if(@status=0)
begin
print 'Nomer Rekam Medis TIDAK ADA DALAM DATABASE'
end
else
begin
print ' Nomer Rekam Medis anda tersedia dalam database '
end
end
exec
sp_cekrekam_medis '200001'
select *from rekam_medis
------------buat
triger untuk history update rekam medis
create trigger trg_tambahRM on
rekam_medis
for update as
insert into history(keterangan,tgl)
values ('pengubahan
data pada tabel rekam medis',GETDATE())
create table history(
keterangan varchar (50),
tgl date)
------------buat
procedure untuk melihat rekam medis
create procedure lihat_data_RM1
as begin
select *from rekam_medis
end
exec
lihat_data_RM1
------------buat
procedure untuk insert rekam medis
create proc sp_insertRM(@id_pegawai
varchar (5), @nomer_RM varchar (6), @no_registrasi varchar (6), @diagnosa varchar(15), @keterangan varchar (50),@biaya numeric(9))
as begin
insert into rekam_medis values(@id_pegawai,
@nomer_RM,@no_registrasi, @diagnosa, @keterangan,@biaya)
end
exec
sp_insertRM '00001','200002','100002','demam','demam berdarah','100000'
select *from rekam_medis
select *from dokter
------------buat
triger untuk history delete RM
create trigger his_deleteRM on
rekam_medis
for delete as
declare @nomer_RM varchar (6)
select @nomer_RM = nomer_RM
from deleted
insert into history_delete(ket,tgl)
values ('penghapusan
data pada tabel rekam medis dengan no : ' +@nomer_RM,GETDATE())
select *from history_delete
-------------
Pemanggilan Trigger delete menggunakan Stored Procedure delete Data obat
create proc delete_RM(@nomer_RM
varchar (6))
as begin
delete from rekam_medis where
nomer_RM=@nomer_RM
end
exec delete_RM '00010'
select
insert into pasien values ('100001','danny','16','wanita','kebraon')
insert into pasien values ('100002','sugeng','30','pria','gogor')
insert into pasien values ('100003','rio','12','pria','pondok indah')
insert into pasien values ('100004','tari','20','wanita','sepanjang')
insert into pasien values ('100005','rafa','18',pria)
select *from pasien
select *from dokter
select *from data_obat
select *from admin
select *from apoteker
select *from rekam_medis
select *from resep
------------------------------------------------------------------
tabel history delete
------------------------------------------------------------------
create table history_delete(
ket varchar
(70),
tgl date)
§ Backup SQL Server
Gambar 1 : Di database
klik kanan pilih tasks-back up.
Gambar 2 : Pilih
recovery model FULL. Backup type full. Backup componen centang. Isi nama backup
file. Pada destination pilih lokasi yang diinginkan untuk backup file.
Gambar 3 : Pilih ok
biarkan proses berjalan sampai complete.
Gambar 4 : Backup successfuly.
Gambar 5 : Cek backup
pada folder backup yang ditentukan.
§ Singkronisasi database rekam_medis1
dengan rekam_medis
Ø
Buat new publicaton
Ø Setelah
muncul jendela new publication klik next
Ø Pilih
database yang akan dipublikasikan
Ø Pilih
marger publication
Ø Centang
Subscreeber type pilih sql server 2005 dan sql server 2008
Ø Centang table yang akan
di publis dalam database
Ø Pilih
article issues. uniqueidentifier columns will be added to tables
Ø Pada
jendela fillter table klik next
Ø Pilih snapshoot agen
Ø Pada
jendela agen security pilih security setting kemudian pilih Run under the SQL
Server agen services account
0 komentar:
Posting Komentar