Uploaded by User24906

SOAL PROJEK SBD (1)

advertisement
Mata kuliah
SKS
Moda kuliah
Tugas
Sifat Tugas
Dosen
:
:
:
:
:
:
Sistem Basis Data
3 sks
E-Learning
PROJEK SISTEM BASIS DATA
Kelompok
Dr. Devi Fitrianah, S.Kom., MTI
Lembar tugas ini akan menjelaskan tatacara pelaksanaan tugas, luaran tugas sampai
dengan penilaiannya.
Tugas projek Sistem Basis Data terdiri dari 5 studi kasus. Setiap studi kasus
diselesaikan oleh 1 atau lebih kelompok (lihat pembagian soal dengan kelompok).
Setiap studi kasus diselesaikan dengan beberapa bagian, dimana setiap bagian harus
dipresentasikan dalam ASISTENSI. Terdapat 3 bagian yang harus diselesaikan oleh
setiap kelompok.
Bagian 1: Pemahaman soal studi kasus. (Nilai penuh 50 dan berkontribusi 10%)
Bagian 2: (A). Pembuatan Entitas serta atribut & (B). Kueri dengan aljabar relasional
dan kalkulus relasional (Nilai penuh 100 dan berkontribusi 10%)
Bagian 3: (A). ERD (Logical data model dan fisikal data model), (B). Pembuatan
tabelnya dengan DDL, (C). Query dengan DML (Nilai penuh 150 dan berkontribusi
10%)
PETUNJUK PENGERJAAN
Bagian 1:
Anda diminta untuk memahami soal cerita dengan menunjukkan proses bisnis serta
entitas yang ada. (tuliskan dalam slide presentasi)
Bagian 2:
Anda diminta untuk menunjukkan entitas-entitas yang ada beserta atributnya.
Setelah itu dari 4 query yang ada, anda diminta untuk menuliskannya dalam Aljabar
relasional dan kalkulus relasional. (tuliskan dalam slide presentasi)
Bagian 3:
Dari soal cerita anda diminta untuk membuat ERD (logical dan fisikal modelnya).
Buat diagramnya dengan bantuan software diagram seperti VISIO atau lainnya.
Logical model:
Specify all entities.  Find attributes for each entity.  Specify primary keys for all entities.  Find the
relationships between different entities.  Resolve many-to-many relationships.  Perform
normalization.
Fisikal model:
Convert entities into tables.  Convert relationships into foreign keys. Convert attributes into
columns.  Modify the physical data model based on physical constraints/requirements.
Setelah selesai dengan ERD, anda lanjutkan dengan membuat dan mendefiniskan
table-tabelnya yang diperlukan. Gunakan Oracle. Screenshot scriptnya dan
screenshot hasilnya. Masukan kedalam file DOC.
Selanjutnya adalah mengimplementasikan query dengan menggunakan DML.
Gunakan Oracle. Screenshot scriptnya dan screenshot hasilnya. Masukan kedalam
file DOC.
SOAL STUDI KASUS 1
UNIVERSITAS ANDALAN BANGSA
UNIVERSITAS ANDALAN BANGSA adalah lembaga besar dengan beberapa kampus. Setiap
kampus memiliki nama yang berbeda, alamat, jarak ke pusat kota dan satu-satunya bus berjalan ke
kampus. Setiap kampus memiliki satu klub. Nama klub, bangunan di mana klub tersebut berada,
nomor telepon klub dan beberapa olahraga yang menawarkan klub, semua harus dicatat.
Universitas ini terdiri dari sejumlah fakultas, seperti Fakultas Seni, Fakultas Ilmu Pengetahuan, dan
sebagainya. Masing-masing fakultas memiliki nama, dekan dan nama bangunan. Sebuah fakultas
dapat dibagi menjadi sejumlah departemen, misalnya, Fakultas Ilmu Pengetahuan memiliki
Departmen Fisika dan Departemen Kimia. Setiap Departemen memiliki salah satu fakultas saja dan
terletak hanya pada satu kampus, tapi satu kampus mungkin punya lokasi banyak departemen.
Setiap departemen memiliki nama dan sebuah bangunan diperuntukan untuk kuliah. Setiap
departemen menawarkan program kuliah yang berbeda dan masing-masing program kuliah dapat
ditawarkan oleh satu departemen. Setiap matakuliah memiliki kode, judul, semester dan durasi.
Setiap program kuliah terdiri dari beberapa matakuliah, dimana setiap matakuliah yang berbeda
berasal dari program yang berbeda. Setiap matakuliah memiliki kode dan tentu saja judul yang unik.
Beberapa matakuliah memiliki satu atau lebih matakuliah prasyarat dan satu saja bisa saja
prasyarat beberapa program lainnya.
Setiap mahasiswa yang terdaftar dalam satu departemen saja dimana ada kuliah wajib dan kuliah
pilihan. Setiap mahasiswa mendapatkan tugas dan penilaian dari masing-masing matakuliah yang
diambilnya. Jika ada matakuliah yang tidak lulus, maka mahasiswa wajib mengambil kembali. Setiap
siswa memiliki ID unik. Sistem ini juga menyimpan nama siswa, tanggal lahir dan tahun Angkatan
kuliah.
Kampus mempekerjakan dosen untuk mengajar para mahasiswa. Seorang dosen diperbolehkan
untuk bekerja pada satu departemen saja. Setiap dosen diberikan sebuah ID yang unik di seluruh
universitas. Sistem ini membuat dosen nama, judul dan ruang kantor. Seorang KaDep (kepala
departemen) mungkin bertanggung jawab atas beberapa dosen, seorang dosen berkewajiban me
satu Kadep. Seorang dosen dapat mengajar banyak program yang berbeda. Sebuah matakuliah
mungkin juga telah diajarkan oleh banyak dosen yang berbeda.
Universitas ini tediri dari unit-unit yang ada dibawah rektorat/direktorat serta dibawah fakultas.
Setiap unit ini melakukan rapat pimpinan dan rapat-rapat dibawah fakultas untuk koordinasi. Rapat
diadakan secara teratur dan bisa saja seorang dosen menjabat sebagai kepala dari unit-unit,
direktur, dekan atau unit2 dibawah fakultas seperti wakil dekan, kepala departemen dan sekretaris
departemen.
QUERY
1. Tampilkan semua departemen yang ada di kampus Jakarta dan urutkan hasil
pencarian berdasarkan nama departemennya
2. Tampilkan nama dosen yang tidak menjabat sebagai pimpinan
3. Tampilkan nama dosen beserta nama kuliah yang diajar
4. Tampilkan 5 matakuliah dengan jumlah mahasiswa terbanyak
SOAL STUDI KASUS 2
RESERVASI GLOBAL BUANA
Ada 6 penerbangan yang berbeda di 6 negara yang berbeda: Kanada - AirCan, USA - USAir, UK
- BritAir, Prancis - AirFrance, Jerman - LuftAir, Italia - ItalAir. penerbangan mereka melibatkan 12
kota berikut: Toronto dan Montreal di Kanada, New York dan Chicago di Amerika Serikat, London
dan Edinburgh di Inggris, Paris dan Nice di Perancis, Bonn dan Berlin di Jerman, Roma dan
Naples di Italia. Pada masing-masing 12 kota, ada satu kantor pemesanan tunggal.
Setiap penerbangan memiliki nomor unik penerbangan, kode jalur udara, indikator kelas bisnis,
indikator boleh merokok. Ketersediaan jadwal penerbangan memiliki nomor penerbangan,
tanggal + waktu keberangkatan, jumlah total kursi yang tersedia di kelas bisnis, jumlah kursi
dipesan di kelas bisnis, jumlah total kursi yang tersedia di kelas ekonomi, dan jumlah kursi
dipesan di kelas ekonomi.
Para pelanggan dapat berasal dari negara manapun, bukan hanya 6 negara yang disebutkan di
atas, dan dari setiap provinsi / negara, maupun dari setiap kota. Pelanggan memiliki nama depan
& belakang, alamat, beberapa nomor telepon atau tidak sama sekali, beberapa nomor fax atau
tidak sama sekali, beberapa alamat email atau tidak sama sekali. Alamat surat terdiri dari jalan,
kota, provinsi atau negara bagian, kode pos dan negara. telepon / nomor fax memiliki kode
negara, kode area dan nomor lokal. Alamat email hanya terdiri satu string, dan tidak ada struktur
diasumsikan. Pelanggan bisa memesan satu atau lebih penerbangan. Dua atau lebih pelanggan
mungkin memiliki alamat yang sama dan / atau nomor telepon yang sama dan / atau nomor fax
yang sama. Tapi alamat email diharuskan unik untuk setiap pelanggan. nama pertama dan
terakhir tidak harus unik.
Pemesanan memiliki nomor pemesanan yang unik, kota pemesanan, tanggal pemesanan, nomor
penerbangan, tanggal + waktu keberangkatan (dalam waktu setempat, dan waktu selalu di jam
dan menit), tanggal + waktu kedatangan (dalam waktu setempat), indikator kelas, total harga (.
pajak bandara asal + airport tax di tujuan + harga penerbangan - dalam mata uang lokal harga
penerbangan kelas bisnis adalah 1,5 kali dari harga penerbangan yang terdaftar), indikator status
(ada tiga jenis indikator status: (1) Dipesan; (2) Dibatalkan.- pelanggan membatalkan
pemesanan; (3) Hutang- pelanggan belum membayar penuh 30 hari sebelum keberangkatan),
pelanggan yang bertanggung jawab untuk pembayaran, jumlah-bayar (dalam mata uang lokal),
saldo (dalam mata uang lokal) , nama pertama & terakhir yang akan dicetak pada tiket. Pajak
bandara harus disimpan dalam mata uang lokal (misalnya Dollar Kanada, Dollar AS, Pounds
Britain, Perancis Franc, Jerman Marks, dan Italia Lira). Karena nilai tukar berubah setiap hari,
mereka juga harus disimpan untuk perhitungan dari semua harga yang terlibat.
Meskipun Perancis, Jerman, dan Italia telah memiliki mata uang bersama untuk sementara
waktu, kami menggunakan nama-nama mata uang asli mereka untuk terlibat dalam ini nilai tukar
mata uang latihan dan perubahan mereka.
QUERY
1. Tampilkan semua pelanggan yang tinggal di Indonesia dan urutkan
berdasarkan nama depan
2. Tampikan nama pelanggan yang sudah melakukan booking, nama yang sama
ditampilkan hanya sekali
3. Tampilkan semua penerbangan antara New York (kode bandara: JFK) dan
London (kode bandara: LHR), tampilkan no_penerbangan, asal, tujuan,
waktu_berangkat, waktu ketibaan, urutkan berdasarkan no_penerbangan.
4. Tampilkan semua booking yang dicancel. Tampilkan no_booking,
id_pelanggan, no_penerbangan, asal, tujuan, kelas, status dan kota booking.
Urutkan berdasarkan no_booking, id_pelanggan dan no_penerbangan
SOAL STUDI KASUS 3
COZY RENTAL VIDEO
Ada beberapa film yang disewakan di toko-toko dan ada beberapa toko yang tersebar
dibeberapa lokasi. Setiap toko memiliki distributor yang unik yang memasok toko dengan kaset.
Seorang distributor dapat menyediakan kaset lebih dari satu toko. Setiap distributor memiliki
nama, alamat, dan nomor telepon. Setiap toko memiliki nama, alamat, dan nomor telepon.
Untuk setiap karyawan informasi berikut harus ada: toko tempat karyawan bekerja, nama,
supervisor, alamat, nomor telepon, NO BPJS dan tanggal ketika karyawan dipekerjakan. Untuk
setiap pelanggan informasi berikut harus ada: nama, alamat, dan nomor telepon (jika ada).
Untuk setiap penyewaan, kita harus merekam informasi nama karyawan yang melayani, judul
film dan nomor kopian kasetnya, pembayaran, tanggal dan waktu peminjaman, status
peminjaman (disewa, telat dikembalikan, dikembalikan sesuai), harga sewa beserta tanggal
dikembalikan dan harga denda. Untuk informasi pembayaran, data yang disimpan adalah
karyawan menerima pembayaran (tidak harus menjadi karyawan yang sama yang melayani
penyewaan rekaman itu), jenis pembayaran (yaitu uang tunai, cek, kartu kredit, debit langsung untuk setiap jenis Anda harus menyediakan informasi yang relevan untuk disimpan, nomor
misalnya kartu kredit jika kartu kredit yang digunakan), jumlah pembayaran, tanggal + waktu
pembayaran, status pembayaran (selesai jika tunai atau uang telah diterima, disetujui jika debit
atau kredit kartu melalui, pending jika cek belum dikliring). Tentang setiap kopi rekaman kita
harus menyimpan informasi kondisi rekaman itu dan film apa. Tentang setiap film kita harus
menyimpan judulnya, nama sutradara, deskripsi sederhana, nama bintang utama (single), rating
film (bernilai 1-5).
QUERY
1. Tampilkan semua pelanggan yang tinggal di Bandung, tampilkan
no_pelanggan dan Namanya
2. Tampilkan total kopi film yang dipinjam dari setiap toko, urutkan berdasarkan
id_toko
3. Tampilkan nama pelanggan yang tidak meminjam kopi film apapun, urutkan
berdasarkan id_pelanggan
4. Tampilkan 5 pelanggan dengan pembayaran tertinggi dan urutkan
berdasarkan jumlah pembayaran secara descending
SOAL STUDI KASUS 4
HANDAL RENTAL MOBIL
Perusahaan kami melakukan bisnis penyewaan mobil dan memiliki beberapa lokasi dengan
alamat yang berbeda (alamat terdiri dari jalan atau nomor rute pedesaan, kota, provinsi dan kode
pos). Mobil-mobil diklasifikasikan sebagai mobil MPV, SUV, sedan, atau mobil mewah. Setiap
mobil memiliki rakitan tertentu, model, tahun dibuat, dan warna. Setiap mobil memiliki nomor
identifikasi yang unik dan plat yang unik.
Mobil-mobil sewaan di lokasi tertentu dapat dikembalikan ke lokasi yang berbeda (disebut sebagai
tempat drop off). Untuk setiap mobil kita terus pembacaan odometer sebelum menyewa dan
setelah dikembalikan. Karena kepercayaan kepada pelanggan, perusahaan tidak merekam cacat
ketika mobil disewakan maupun dikembalikan. Namun, kami menyewakan mobil dengan tangki
penuh dan mencatat volume bensin di dalam tangki saat mobil dikembalikan,dengan status tangki
kosong, seperempat penuh, setengah penuh, tiga perempat penuh, atau penuh.
Kami menyimpan informasi terkait hari mobil disewa, demikian pula untuk mobil kembali. Jika
pelanggan meminta kelas mobil khusus (misalnya sedan), kita akan berikan mobil dengan kelas
lebih tinggi jika kita tidak memiliki kelas yang diminta, tentu saja dengan harga yang sama dengan
rekues pelanggan (upgrade). Setiap kelas mobil memiliki harga tersendiri, tetapi semua mobil di
kelas yang sama memiliki harga yang sama. Kami memiliki kebijakan sewa selama 1 hari, 1
minggu, 2 minggu, dan 1 bulan. Jadi, jika pelanggan menyewa mobil selama 8 hari, itu akan
dibanderol sebagai 1 minggu + 1 hari. Biaya drop-off hanya tergantung pada kelas mobil sewaan,
lokasi mobil disewa dari dan lokasi mobil dikembalikan.
Tentang pelanggan kami, kami menyimpan nama, alamat, semua nomor telepon, dan SIM (kami
menganggap lisensi berkendara adalah unik per orang). Untuk karyawan kami memiliki informasi
yang sama (kita mengharuskan semua karyawan kami memiliki SIM). Kami memiliki beberapa
kategori pekerja, driver, pembersih, admin, dan manajer. Setiap karyawan kami dapat menyewa
mobil dari perusahaan kami untuk diskon 50%, jika sewa kurang dari 2 minggu. Namun, untuk
perpanjangan sewa mereka harus membayar 90% dari harga biasa. Setiap karyawan bekerja di
satu lokasi saja.
Kami memiliki kantor pusat di Surabaya. Orang-orang yang bekerja di sana diklasifikasikan hanya
level manajerial saja, salah satunya adalah presiden, dua dari mereka adalah wakil presiden, satu
untuk operasi, yang lain untuk pemasaran).
Selama beberapa minggu tertentu kita menawarkan promosi diskon 60% dari harga normal atau
bisa juga dengan prosentase diskon yang berbeda. Promosi biasanya hanya untuk1 jenis mobil
tertentu saja, misalnya pada jenis mobil sedan saja atau jenis MPV saja, dan seterusnya. Promosi
ini tidak berlaku untuk karyawan.
QUERY
1. Tampilkan rakitan, warna dari mobil yang sedang disewa
2. Untuk setiap mobil yang sudah selesai disewa, tampilkan harga rental dan
id_rentalnya
3. Tampilkan nama semua manager
4. Tampilkan nama depan dan belakang dari semua pelanggan
SOAL STUDI KASUS 5
IGD RS WARAS
Dalam ruang Instalasi Gawat Darurat (IGD), kami memiliki tiga jenis yang berbeda dari pekerja:
resepsionis, perawat, dan dokter. Setiap pekerja sebenarnya bisa saja menjadi pasien. Setiap
orang dalam sistem yang diusulkan, baik itu pasien atau pekerja memiliki nama depan, dan
nama belakang dan satu atau lebih alamat. Sebuah alamat terdiri dari sebuah negara, provinsi,
kota, jalan dan jalan nomor. Setiap orang dapat memiliki alamat email satu, banyak atau tidak
ada sama sekali, begitu pula dengan nomor telepon.
Para pekerja bekerja di IGD diatur dalam shift. Shift ini terdiri dari awal dan akhir waktu. Shift
tidak tumpang tindih, tetapi dilaksanakan secara berturut-turut, yaitu ada pergeseran pada pada
waktu tertentu dan hari. Kita mengasumsikan bahwa model yang dibangun (database yang
dirancang) mencakup beberapa jangka waktu. Setiap pekerja akan ditugaskan untuk banyak
shift dalam periode tertentu. Dua resepsionis yang ditugaskan untuk setiap shift, sekelompok
perawat terdiri dari dua orang yang ditugaskan untuk setiap shift, sekelompok dokter terdiri dari
dua atau lebih dokter yang ditugaskan untuk setiap shift, salah satu dokter yang ditugaskan
untuk shift adalah dokter triase jaga.
Ketika seorang pasien datang ke IGD, dan terjadi selama shift tertentu. Pasien dicatat oleh
resepsionis tertentu, dilihat oleh dokter triase shift. Pasien ini dapat langsung pulang ke rumah
dan diberikan resep obat atau bisa juga untuk diminta tinggal diruang IGD - dalam hal ini,
pasien diberikan tempat tidur dan dirujuk ke dokter spesialis yang dapat menangani penyakit
pasien. Setiap tempat tidur diawasi oleh perawat tunggal selama shift, tetapi perawat dapat
mengawasi banyak tempat tidur, atau tidak sama sekali. Dokter rujukan dapat meresepkan obat
yang diberikan kepada pasien oleh perawat tunggal dalam setiap shift selama pasien meminum
obat. Setiap obat memiliki nama, dan untuk setiap pasien mungkin ada dosis yang berbeda dan
berbeda jumlah meminumnya dalam sehari.
QUERY
1.
2.
3.
4.
Tampilkan nama pasien dan dokter IGD yang menanganinya
Tampilkan nama dokter IGD dan urutkan berdasarkan nama depannya
Tampilkan nama pasien yang masuk IGD pada hari tertentu
Tampilkan nama pasien tertentu serta obat yang diminumnya.
Download