DATABASE RUMAH SAKIT 1. Objek yang dipakai a. Pasien b. Dokter c. Ruang d. Petugas e. Rawat_inap f. Pembayaran

dokumen-dokumen yang mirip
Modul 3 : Query Penggabungan Tabel

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

PERTEMUAN 6 SUBQUERY

Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

M0564-Pengantar Sistem Basisdata 12/ 1

LAPORAN TUGAS Pemrograman Berbasis Java

Praktikum Sistem Basis Data

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

SQL (STRUCTURED QUERY LANGUAGE)

Oracle Academic Initiative

DATABASE RUMAH SAKIT MENGGUNAKAN MY SQL

RENCANA PEMBELAJARAN

Basis Data II. Pertemuan Ke-9 dan ke-10 (Stored Procedure dan Trigger) Noor Ifada S1 T. Informatika - UTM (2012) 1

LAPORAN PRAKTIKUM BASIS DATA LANJUT I

RENCANA PEMBELAJARAN SEMESTER (RPS) DAN RENCANA PELAKSANAAN PEMBELAJARAN (RPP)

MODUL 1 DATABASE MYSQL

MODUL 8. Sub Query Pada baris dan Kolom PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

SUBQUERY VIEW JOIN PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

Rencana Pelaksanaan Pembelajaran

Macam - Macam Perintah Pada SQL

Bab 3. Query Lanjutan POKOK BAHASAN: TUJUAN BELAJAR:

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Stored Procedure. M. Saefudin SKom, MMSI

TRIGGER TRIGGER 5/29/2017 HANI IRMAYANTI, S.KOM

PRAKTIKUM PL/SQL (Trigger) OLEH : WIRATMOKO YUWONO, ST

Riyanto

Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

Statement DDL Create database drop database Create table drop table alter table

Pertemuan VI F U N C T I O N

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN


Praktikum Basis Data 2017 TE UM MODUL 6 SUB QUERY

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL

BAB V. Basis Data Darmawan Satyananda 74

Modul Pembangunan Aplikasi Basis Data Lanjut 2014

BAB V CURSOR AND RESULT SETS

MODUL V SUB QUERY & VIEW

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Modul 6 Function dan Trigger

Kunci komposit adalah kunci yang melibatkan lebih dari satu field Contoh tabel Tanggungan: Apa yang terjadi kalau kunci primer hanya berupa NIP?

LAMPIRAN VARCHAR (6) NOT NULL, NUMERIC (10,2) NOT NULL, CONSTRAINT CK_harga CHECK (harga>= and harga<= ),

_basis_data. 10 rows in set (0.24 sec)

Pengertian. Mengapa SP? Mengapa SP? 07/05/2012 STORED PROCEDURE

STORE PROCEDURE. Pemrograman Client Server Sarji, S.Kom Studi kasus pada

STRUCTURE QUERY LANGUAGE ( S Q L ) Jenis SQL 1. Interactive langsung dapat dioperasikan 2. Embedded disisipkan ke dalam sebuah program

LAPORAN PRAKTIKUM BASIS DATA LANJUT I

Sub Query. Rosa Ariani Sukamto Blog: Website:

SUBQUERY VIEW JOIN PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

CONTOH SQL. ERD untuk entitas Mahasiswa mengambil/mengikuti Kuliah. N mengikuti. N Kuliah. Mahasiswa MEMBUAT (CREATE) TABEL. Buat tabel mahasiswa:

STRUCTURE QUERY LANGUAGE ( S Q L )

STRUCTURE QUERY LANGUAGE (SQL)

SISTEM BASIS DATA STMIK - AUB SURAKARTA

PRAKTIKUM BASIS DATA

TABLE JOIN SQL SERVER 2005

Pertemuan VII TRIGGERS

Oracle Academic Initiative

CARA MENGGUNAKAN SELECT QUERY PADA MYSQL

TRIGGER. Tujuan Mata Kuliah. Tools yang digunakan. Sesi7 : TRIGGER. Praktikum Pemrograman Client Server Database Hadi Kusumah, S.T.

Data Manipulation Language (DML)


MODUL 2 DDL, DML, OPERATOR DAN FUNCTION

JobsheetTEUM MODUL VI TRIGGER

Kegiatan Praktikum Sistem Basis Data Kelompok B

1. Memulai pengelolaan database Menampilkan daftar database Sintaks : show databases;

BAHASA QUERY KOMERSIAL

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

BAHASA QUERY KOMERSIAL

1. Kompetensi Memahami berbagai cara (perintah SQL) yang digunakan untuk mengakses data dari banyak tabel.

LAMPIRAN. 1) Membuat database baru untuk menampung data warehouse, yang bernama

BAHASA QUERY KOMPLEKS

BAHASA QUERY KOMERSIAL

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) PROGRAM STUDI : DIII MANAJEMEN INFORMATIKA Semester : 4

STRUCTURE QUERY LANGUAGE ( S Q L ) Pengelompokan Statement SQL 1. Data Definition Language ( DDL )

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA

PERTEMUAN 11 SQL(lanjutan): Queries, Constraints & Triggers. (Chap. 5 Ramakrishnan)

Pemrograman Basis Data Berbasis Web

1. Buat planing view sesuai kebutuhan topik anda (jelaskan dengan detail masing-masing view yang anda buat)

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom. Trigger. Basis Data 2

BAB III STRUCTURED QUERY LANGUAGE (SQL)

Stored Procedure (create, calling SP dari Oracle dan dari JAVA)

MODUL 2 PRAKTIKUM SQL TINGAT LANJUT JOIN

Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN

Berikut ini akan diberikan contoh-contoh penggunaan fungsi agregasi dalam klausa SQL: Contoh 1 Menampilkan banyaknya record dosen select count ( * )

B. PETUNJUK. 2. Join. Praktikum Basis Data 2017 TE UM

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

MODUL 9 VIEW A. TUJUAN B. PETUNJUK C. DASAR TEORI. Praktikum Basis Data 2017 TE UM

MODUL 3 JOIN TABLE. Gambar Model Relasi Basis Data db_mutiara SMK NEGERI 1 CIMAHI REKAYASA PERANGKAT LUNAK

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

SUBQUERY-2. MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA

Structured Query Language

DAFTAR ISI. DAFTAR ISI... 1 PRAKATA Pengenalan dan Lingkungan Kerja MySQL Tujuan... 4 Dasar Teori... 4 Praktik... 5

STRUCTURE QUERY LANGUAGE DDL & DML

BAB II PEMBUATAN DAN MANAJEMEN TABLE

Transkripsi:

DATABASE RUMAH SAKIT 1. Objek yang dipakai a. Pien b. Dokter c. Ruang d. Petug e. Rawat_inap f. Pembayaran 2. Penentuan Entit a) Petug : Menyimpan informi identit dari petug jaga b) Pien : Menyimpan informi identit dari pien c) Dokter : Menyimpan informi identit dari dokter d) Ruang : Menyimpan informi identit dari ruang e) Rawat inap : Menyimpan informi apabila terdapat pien yang perlu rawat ina p f) Pembayaran : Menyimpan informi dari administri pembayaran pien 3. Script Tabel-tabel a. Pien CREATE TABLE pien ( kode_pien CHAR(12) NOT NULL, kode_dokter CHAR(12) NOT NULL, nama_pien VARCHAR(60) NOT NULL, jenis_kelamin CHAR(1) NOT NULL, keluhan VARCHAR(30), PRIMARY KEY(kode_pien) b) Dokter CREATE TABLE dokter( kode_dokter CHAR(12) NOT NULL, nama_dokter VARCHAR(30) NOT NULL, spesialisi VARCHAR (20) NOT NULL, PRIMARY KEY(kode_dokter) c) Ruang CREATE TABLE ruang( kode_ruang CHAR(12) NOT NULL, nama_ruang VARCHAR(60) NOT NULL, kel VARCHAR(12) NOT NULL, PRIMARY KEY(kode_ruang) d) Petug CREATE TABLE petug( kode_petug CHAR(12) NOT NULL, nama_petug VARCHAR(30) NOT NULL, jam_jaga CHAR(20) NOT NULL, PRIMARY KEY(kode_petug) e) Rawat_inap CREATE TABLE rawat_inap( kode_rawat_inap CHAR(12) NOT NULL, nama_pien VARCHAR(30) NOT NULL, kode_ruang VARCHAR(12) NOT NULL, PRIMARY KEY(kode_rawat_inap)

f) Pembayaran CREATE TABLE pembayaran( kode_pembayaran CHAR(12) NOT NULL, kode_pien CHAR(12) NOT NULL, kode_petug CHAR(12) NOT NULL, jumlah_harga INT(30) NOT NULL, kode_rawat_inap VARCHAR(5) NOT NULL, PRIMARY KEY(kode_pembayaran) 4. Relationship antar tabel 1. Sub Query Scalar subquery select * from pien where keluhan = (select keluhan from pien where kode_pien = 1004 Multiple Row Subquery Operator IN select p.kode_pien, p.nama_pien from pien p where p.kode_pien IN (select kode_pien from pembayaran Operator ANY / SOME select * from pembayaran where jumlah_harga < any (select jumlah_harga from pembayaran where jumlah_harga = 4000000 Operator ALL select * from pembayaran where jumlah_harga < all (select jumlah_harga from pembayaran where jumlah_harga = 5000000 Multiple Column Subquery select * from pembayaran where (kode_pien,jumlah_harga) IN (select kode_pien,jumlah_harga from pembayaran where kode_petug = '22' Operator EXISTS dan NONEXISTS select * from pien p where exists (select * from dokter d where p.keluhan = d.spesialisi Subquery dan Fungsi agregat

select * from pembayaran where jumlah_harga = (select max(jumlah_harga) from pembayaran Subquery dan join select d.nama_dokter,d.spesialisi from dokter d where d.kode_dokter in (select kode_dokter from pien CONTOH APLIKASI 1. Dapatkan data pien yang jenis kelaminnya sama dengan adi SELECT*from pien WHERE jenis_kelamin = (SELECT jenis_kelamin from pien WHERE nama_pien="adi" 2. Mengambil nama pien yansg spesialisi dokter sama dengan keluhan pien SELECT DISTINCT dokter.nama_dokter, pien.nama_pien FROM dokter INNER JOIN pien ON dokter.kode_dokter=pien.kode_dokter ORDER BY nama_dokter; 2. Reli dan Join Inner join select * from rawat_inap inner join ruang on rawat_inap.kode_ruang = ruang.kode_ruang; select rawat_inap.nama_pien, ruang.nama_ruang from rawat_inap inner join ruang on rawat_inap.kode_ruang = ruang.kode_ruang; Left Outer Join select * from rawat_inap ri left outer join ruang r on ri.kode_ruang = r.kode_ruang; Full outer join select * from rawat_inap ri left outer join ruang r on ri.kode_ruang = r.kode_ruang union select * from rawat_inap ri right outer join ruang r on ri.kode_ruang = r.kode_ruang; Cross join select * from rawat_inap cross join ruang; SELECT DISTINCT dokter.nama_dokter, dokter.spesialisi, pien.nama_pien, p ien.keluhan FROM dokter

INNER JOIN pien ON dokter.kode_dokter=pien.kode_dokter ORDER BY nama_dokter; SELECT * FROM pien WHERE keluhan = (SELECT keluhan FROM pien WHERE nama_pien="lily" HAVING (nama_pien NOT LIKE 'Lily') CONTOH APLIKASI 1. Menampilkan semua nama pien yang dirawat oleh dokter tertentu select dokter.nama_dokter,dokter.kode_dokter,pien.nama_pien from pien,dokter where pien.kode_dokter = dokter.kode_dokter; 2. Menampilkan nama pien yang dirawat oleh dokter dengan kode 115 select dokter.nama_dokter,dokter.kode_dokter,pien.nama_pien from pien,dokter where pien.kode_dokter = '115' and dokter.kode_dokter='115'; 3. Menghitung jumlah pien yang dirawat oleh ming ming dokter Scrip : select kode_dokter,count(*) jumlah_pien from pien group by kode_dokter; 3. Stored Procedure CREATE PROCEDURE getpien() SELECT * FROM pien; DELIMITER; CREATE PROCEDURE ruangpien(in ruang INT(2)) SELECT * FROM rawat_inap WHERE kode_ruang = ruang; CREATE PROCEDURE ruangdanrawat(in ru VARCHAR(2), IN RA VARCHAR(5))

SELECT * FROM rawat_inap WHERE kode_ruang = ru AND kode_rawat_inap = ra; PARAMETER IN OUT CREATE PROCEDURE jkp (INOUT jumlah VARCHAR(5)) SELECT COUNT(kode_pien) INTO jumlah FROM pien WHERE jenis_kelamin = jumlah; END// DELIMITER; CREATE PROCEDURE peringatan ( IN kode INT(5), IN nama VARCHAR(30), keluhan_p VARCHAR(30) ) DECLARE peringatan VARCHAR(30 IF ((SELECT COUNT(kode_pien) FROM pien WHERE kode = kode_pien)=0) THEN SET peringatan = 'Data ditambah'; INSERT INTO pien VALUES (kode, nama, keluhan_p ELSE SET peringatan = 'Data diubah'; UPDATE pien SET nama_pien=nama, keluhan=keluhan_p WHERE kode_pien = kode; END IF; SELECT peringatan; 4. TRIGGER CREATE TRIGGER kenaikantarif BEFORE INSERT ON pembayaran FOR EACH ROW SET NEW.jumlah_harga = NEW.jumlah_harga + 50000;

5. VIEW create view vgetpsn select * from pien; Misalkan untuk mencari mahiswa yang berjenis kelamin P Nested View create view vdk select * from dokter Misalkan untuk memanggil dokter dengan kode 115 create view vdk1 select * from vdk WHERE kode_dokter = 115; Updatable view create view vupdate select * from pien CREATE VIEW vpien AS SELECT * FROM pien; SELECT * FROM vpien WHERE jenis_kelamin = 'P' AND tgl_muk='23/10/2009'; INSERT INTO `dokter` VALUES ('D01','andi','gigi'), ('D02','hendra','jantung'), ('D03','ayu','gizi'), ('D04','huda','otak'), ('D05','tono','paru-paru' INSERT INTO `pien` VALUES ('P01','D01','sultan','P','sakit gigi'), ('P02','D02','han','P','sakit jantung'), ('P03','D03','nia','L','busung lapar'), ('P04','D04','tini','L','kangker otak'), ('P05','D03','budi','P','anemia' INSERT INTO `pembayaran` VALUES ('B01','P03','T02',300000,'I01'), ('B02','P02','T01',5000000,'I05'), ('B03','P05','T02',500000,'I02'), ('B04','P04','T04',3000000,'I03'), ('B05','P01','T05',200000,'I04'

INSERT INTO `petug` VALUES ('T01','ahmad','08.00-16.00'), ('T02','alfian','16.00-00.00'), ('T03','tika','00.00-08.00' INSERT INTO `rawat_inap` VALUES ('I01','nia','R02'), ('I02','budi','R03'), ('I03','tini','R01'), ('I04','sultan','R03'), ('I05','han','R01' INSERT INTO `rawat_inap` VALUES ('R01','melati','A'), ('R02','mawar','B'), ('R03','cempaka','C'