Kamis, 22 Maret 2012

studi kasus design basisdata

Rumah sakit adalah tempat yang digunakan untuk memeriksa maupun merawat orang- orang yang sedang sakit. Dalam rumah sakit ini pasti terdapat banyak sekali orang yang memeriksakan kesehatannya setiap hari. Tentunya rumah sakit ini butuh sebuah pengelolaan untuk semua data- data tersebut. Data data tersebut antara lain data pasien, data dokter , data petugas jaga, data ruang, data pembayaran maupun data pasien yang menjalani rawat inap.

Maka, dibuatlah sistem informasi rumah sakit. Sistem informasi rumah sakit digunakan untuk mempermudah dalam pengelolaan data pada rumah sakit. Sistem ini tentunya sudah menggunakan metode komputerisasi. Karena dengan penggunakan metode komputerisasi, proses penginputkan data, proses pengambilan data maupun proses pengupdate data sangat mudah, cepat dan akurat.


Objek yang dipakai

1. Petugas
2. Pasien
3. Dokter
4. Ruang


Penentuan entitas

1. Petugas         : Menyimpan informasi identitas dari petugas jaga
2. Pasien           : Menyimpan informasi identitas dari pasien
3. Dokter          : Menyimpan informasi identitas dari dokter
4. Ruang           : Menyimpan informasi identitas dari ruang
5. Rawat inap    : Menyimpan informasi apabila terdapat pasien yang perlu rawat inap
6. Pembayaran  : Menyimpan informasi dari administrasi pembayaran pasien

Penentuan atribut

1. Petugas : kd_petugas char(10) primary key, nama_petugas varchar(30), alamat_petugas varchar(50),
    jam_jaga char(15)

2. Pasien : kd_pasien char(10) primary key, kd_dokte char(10) foreign key, nama_pasien varchar(30),
    alamat_pasien varchar(50), tanggal_datang char(15), keluhan varchar(50)

3. Dokter : kd_dokter char(10) primary key, nama_dokter varchar (30),alamat_dokter varchar(50),
    spesialisasi_dokter varchar(20)

4. Ruang : kd_ruang char(10) primary key, nama_ruang varchar(30), nama_gedung varchar(30)

5. Rawat inap : kd_rawat_inap char(10) primary key , nama_pasien varchar(30) foreign key, kd_ruang
    varchar(30) foreign key

6. Pembayaran : kode_pembayaran char(10) primary key, kd_pasien char(10), kd_petugas char(10),
    jumlah_harga varchar(30)


Hubungan atau Relasi

Petugas melayani pembayaran pasien
Tabel utama: petugas
Tabel kedua: pembayaran
Relationship: One-to-many (1:M)
Attribute penghubung: kd_petugas (FK kd_petugas di pembayaran )

Pasien membayar pada tabel pembayaran
Tabel utama: pasien
Tabel kedua: pembayaran
Relationship: One-to-one (1:1)
Attribute penghubung: kd_pasien (FK kd_pasien di pembayaran )

Dokter digunakan untuk pasien
Tabel utama: dokter
Tabel kedua: pasien
Relationship: One-to-many (1:M)
Attribute penghubung: kd_dokter (FK nama_dokter di pasien )

Pasien melakukan rawat inap
Tabel utama: pasien
Tabel kedua: rawat_inap
Relationship: One-to-one (1:1)
Attribute penghubung: kd_pasien (FK kd_pasien di rawat_inap )

Ruang digunakan untuk rawat_inap
Tabel utama: ruang
Tabel kedua: rawat_inap
Relationship: One-to-one (1:1)
Attribute penghubung: kd_ruang (FK kd_ruang di rawat_inap)


































create database rumahsakit
create table petugas
(
kd_petugas char(10)constraint
pk_petugas_kd_petugas primary key not null,
nama_petugas varchar(30),
alamat_petugas varchar(50),
jam_jaga varchar(30)
);
create table dokter
(
kd_dokter char(10)constraint
pk_dokter_kd_dokter primary key not null,
nama_dokter varchar(30),
alamat_dokter varchar(50),
spesialisasi_dokter varchar(30),
);
create table pasien
(
kd_pasien char(10)constraint
pk_pasien_kd_pasien primary key not null,
kd_dokter char(10) constraint
fk_pasien_kd_dokter foreign key
references dokter(kd_dokter) on delete cascade on update cascade,
nama_pasien varchar(30) not null,
alamat_pasien varchar(50),
tgl_datang varchar(30) not null,
keluhan varchar(50)
);
create table ruang
(
kd_ruang char(10)constraint
pk_ruang_kd_ruang primary key not null,
nama_ruang varchar(30),
nama_gedung varchar(50),
);
create table pembayaran
(
kd_pembayaran char(10)constraint
      pk_pembayaran_kd_pembayaran primary key not null,
kd_petugas char(10) constraint
      fk_pembayaran_kd_petugas foreign key
      references petugas(kd_petugas) on delete cascade on update cascade,
kd_pasien char(10) constraint
      fk_pembayaran_kd_pasien foreign key
      references pasien(kd_pasien)on delete cascade on update cascade,
jumlah_harga varchar(30)
);
create table rawat_inap
(
kd_rawatinap char(10)constraint
      pk_rawat_inap_kd_rawatinap primary key not null,
kd_ruang char(10) constraint
      fk_rawat_inap_kd_ruang foreign key
      references ruang(kd_ruang) on delete cascade on update cascade,
kd_pasien char(10) constraint
      fk_rawat_inap_kd_pasien foreign key
      references pasien(kd_pasien)on delete cascade on update cascade
);



















VARIABEL

Variabel adalah komponen penting pada sebuah program komputer. Variabel mempunyai fungsi untuk menyimpan nilai atau dapat disebut sebagai konstanta. Pada bahasa C dan C++, variabel memiliki tipe yang menentukan jenis konstanta apa yang dapat ditampung oleh variabel itu. Tipe-tipe variabel pada C :
  • int
  • float
  • double
  • char

int

Variabel bertipe int bertujuan untuk menampung konstanta berupa bilangan bulat.

float

Tipe data ini dipergunakan untuk menampung data bertipe bilangan pecahan dengan tingkat ketelitian tunggal.

double

Sama halnya dengan tipe float, tipe data ini juga untuk menampung bilangan pecahan, tetapi dengan tingkat ketelitian ganda.

char

Tipe data ini digunakan untuk menampung konstanta berupa sebuah karakter tunggal.
Selain tipe dasar ini, terdapat tambahan untuk tipe yang mengubah batas atas maupun batas bawah dari rentang konstanta yang dapat ditampung oleh tipe tersebut. Tambahan yang dapat dipergunakan adalah:
  • signed dan unsigned
  • short dan long

signed dan unsigned

Dengan memberikan tambahan signed pada sebuah tipe, maka tipe tersebut akan dapat menampung konstanta dari rentang nilai negatif terkecil hingga nilai positif terbesar yang dapat ditampungnya. Jika yang ditambahkan adalah unsigned, maka variabel hanya akan dapat menampung nilai dari rentang 0 sampai dengan nilai positif terbesar.

short dan long

Tambahan ini dapat ditambahkan pada tipe int, float, dan double. Tipe ini akan mengubah rentang nilai terbesar dan terkecil yang dapat ditampung, tetapi hal ini tergantung kepada batasan yang dimiliki oleh kompiler yang digunakan.