• Tidak ada hasil yang ditemukan

Contoh soal smbd 2012 dari elearning smb

N/A
N/A
Protected

Academic year: 2018

Membagikan "Contoh soal smbd 2012 dari elearning smb"

Copied!
16
0
0

Teks penuh

(1)

PRODI TEKNIK INFORMATIKA, JURUSAN TEKNIK INFORMATIKA, FTI, IST AKPRIND YOGYAKARTA

UJIAN TENGAH SEMESTER GANJIL TA. 2012/2013

Mata Ujian : Sistem Manajemen Basis Data (Kelas A dan B) Semester / SKS : III / 3

Hari, Tanggal : Selasa, 20 November 2012 Jam : 13.00-15.00 WIB (120 menit) Dosen : Edhy Sutanta, S.T., M.Kom.

Sifat : Open Book (Hanya Boleh Membuka Buku Catatan Milik

Sendiri)

PETUNJUK:

 Bacalah dengan cermat soal di bawah ini

 Kerjakan dengan JELAS, LENGKAP, dan URUT

 Jawaban CURANG tidak akan dikoreksi & mendapat skor ENOL

SOAL:

Soal ini terkait dengan Sistem Pengolahan Data Perpustakaan SMA XYZ

(SPDP). SPDP adalah sebuah aplikasi web based yang melibatkan 6 (enam) pengguna, yaitu: 1) Administrator, 2) Petugas, 3) Anggota, 4) Kepala

Perpustakaan, 5). Kepala Sekolah, serta 6) Pengunjung dengan peran sbb:

Administrator berperan mengelola data dan hak ases user, dan berwenang mengelola seluruh data master.

Petugas berperan melayani dan mengelola data transaksi peminjaman,

pengembalian, pembayaran denda keterlambatan pengembalian,

penggantian denda buku rusak atau hilang, menyusun laporan yang terkait dengan data master dan transaksi.

Anggota dapat melakukan pencarian katalog, mengecek ketersediaan buku, meng-update identitas, melakukan peminjaman, dan pengembalian, dan pembayaran denda keterlambatan, penggantian buku rusak atau hilang

Kepala Perpustakaan berhak untuk menentukan tarip denda keterlambatan

pengembalian dan tarip penggantian untuk buku rusak atau hilang. Secara rutin Kepala Perpustakaan menerima laporan yang disusun oleh Petugas perpustakaan, di samping itu ia juga dapat sewaktu-waktu meminta informasi dan/atau laporan

Kepala Sekolah menerima laporan yang disusun oleh Petugas perpustakaan,

di samping itu ia juga dapat sewaktu-waktu meminta informasi dan/atau laporan

Pengunjung hanya dapat melakukan pencarian katalog dan membaca kolksi

perpustakaan di ruang perpustakaan

Data master sistem perpustakaan meliputi data

user

, data

anggota

, data

buku

, data

jenis

buku, data

bidang

ilmu buku, data

penerbit

, data

penulis

, data

propinsi

, data

kabupaten

, data

kecamatan

, data

tarip denda

tarif_denda, denda_hilang, denda_rusak

Berdasarkan keterangan tersebut di atas, buatlah;

Gambarkan ER-D untuk SPDP secara lengkap

Buatlah rancangan struktur tabel database yang digunakan

(dalam bentuk 3NF)

Tentukan primary key & foreign key (jika ada) pada setiap struktur

tabel database yang digunakan (dalam bentuk 3NF)

(2)

Tuliskan schema dengan bahasa SQL untuk setiap tabel database

yang digunakan (dalam bentuk 3NF)

[Skor masing-masing jawaban maksimal: 20]

selamat mengerjakan, semoga berhasil…!!!

(3)

PEMBAHASAN SOAL UTS

CATATAN: Khusus untuk koleksi berupa buku, rek buku tidak dicatat, kode_anggota berupa nomor urutan

DFD

DFD Level Context

a Administrator

b Petugas

c Anggota

d Kepala Perpustakaan

e Kepala Sekolah

f Pengunjung 1

SPDP

dt_tarip denda dt_user

dt_master

dt_transaksi

laporan

laporan

(4)

DFD Level 1

Administrator D1 tbl_user

d Kepala Perpustakaan

D2 tbl_tgl_libur

D3 tbl_tarif_denda

D4 tbl_tarif_hilang

D5 tbl_tarif_rusak b

Petugas

D6 tbl_anggota

D7 tbl_jenis

D8 tbl_bidang

D9 tbl_penerbit

D10 tbl_penulis

D11 tbl_propinsi

D12 tbl_kabupaten

D13 tbl_kecamatan D14 tbl_pinjam

D15 tbl_kembali c Anggota

D16 tbl_bayar_denda

D17 tbl_bayar_hilang

D18 tbl_bayar_rusak

f Pengunjung

e Kepala Sekolah D19 tbl_buku

rec_bayar_rusak

dt_user rec_user

dt_tanggal_libur dt_master rec_anggota

(5)

HIPO (VTOC)

OD; DD

0 SPDP

1

Input Data User

2

Input Data Master

2.1. Input Data Master Tanggal

Libur 2.2. Input Data Master Tarif Denda

2.3. Input Data Master Tarif Hilang

2.4. Input Data Master Tarif Rusak

2.5. Input Data Master Anggota 2.6. Input Data Master Jenis 2.7. Input Data Master Bidang 2.8. Input Data Master Penerbit 2.9. Input Data Master Pengarang

2.10. Input Data Master Propinsi 2.11. Input Data Master Kabupaten 2.12. Input Data Master Kecamatan

3

Proses Transaksi

3.1. Proses Transaksi Pinjam

3.2. Proses Transaksi Kembali

3.3. Proses Transaksi Bayar

Denda 3.4. Proses Transaksi Bayar

Hilang 3.5. Proses Transaksi Bayar

Rusak

4

Output Laporan

4.1. Laporan Detail 4.1.1. Laporan Detail Data Master

4.1.2. Laporan Detail Data

Transaksi 4.2. Laporan Rekapitulasi

4.2.1. Laporan Rekap Data Master

4.2.2. Laporan Rekap Data

Transaksi 4.3. Laporan Grafis

4.3.1. Laporan Grafis Data Master

4.3.2. Laporan Grafis Data

Transaksi 4.4. Informasi

4.4.1. Informasi Data Master

(6)

MENU UTAMA DAN SUB MENU SISTEM APLIKASI

0 SPDP

1 Input Data User

2 Input Data Master

2.1. Input Data Master Tanggal

Libur 2.2. Input Data Master Tarif Denda

2.3. Input Data Master Tarif Hilang

2.4. Input Data Master Tarif Rusak

2.5. Input Data Master Anggota 2.6. Input Data Master Jenis 2.7. Input Data Master Bidang 2.8. Input Data Master Penerbit 2.9. Input Data Master Pengarang

2.10. Input Data Master Propinsi 2.11. Input Data Master Kabupaten 2.12. Input Data Master Kecamatan

3 Proses Transaksi

3.1. Proses Transaksi Pinjam

3.2. Proses Transaksi Kembali

3.3. Proses Transaksi Bayar

Denda 3.4. Proses Transaksi Bayar

Hilang 3.5. Proses Transaksi Bayar

Rusak

4 Output Laporan

4.1. Laporan Detail 4.1.1. Laporan Detail

Data Master 4.1.2. Laporan Detail

Data Transaksi 4.2. Laporan Rekapitulasi

4.2.1. Laporan Rekap Data Master

4.2.2. Laporan Rekap Data

Transaksi 4.3. Laporan Grafis

4.3.1. Laporan Grafis Data Master

4.3.2. Laporan Grafis Data

Transaksi 4.4. Informasi

4.4.1. Informasi Data Master (Tertentu) 4.4.2. Infomasi Data Transaksi (Tertentu)

5 Utilitas

5.1. Backup

5.2. Restore

5.3. Seting Sistem

6 Help

6.1. Indeks

6.2. Konten

(7)

JAWABAN SOAL UTS

ERD

o

Entitas, Atribut, Kerelasian, Jenis Kerelasian (Catatan: Atribut & Jenis kerelasian

tidak ditampilkan)

meminjam

menempati

membawahi

Propinsi Kabupaten

membawahi

Kecamatan Bidang

mempunyai mempunyai

Denda_rusak Denda

Denda_hilang

Jenis

menempati menempati

Penerbit menerbitkan Penulis mengembalikan menulis

Buku

User

(8)

RANCANGAN STRUKTUR TABEL DATABASE YG DIGUNAKAN

(DLM BENTUK 3NF)

PRIMARY KEY & FOREIGN KEY

1. Tabel: user

No Nama Field Tipe Ukura

n Null Default Keterangan

1 user_name VarCha

r 20 No - Primary Key

2 password VarCh ar

20 No -

-3 level_user Char 1 No 5 1 = admin; 2 = kepala sekolah; 3 = kepala perpustakaan

4 = anggota; 5 = pengunjung

2. Tabel: tanggal_libur

No Nama Field Tipe Ukura

n Null Default Keterangan

1 tanggal_libur Date no - Primary Key

2 Keterangan_lib

ur Varchar 50 no -

-3. Tabel: tarif_denda

No Nama Field Tipe Ukura

n Null Default Keterangan

1 jumlah_hari_maks

imal Num 3 No - Primary Key

2 jumlah_denda Num 7 No -

-4. Tabel: tarif _hilang

No Nama Field Tipe Ukura n

Nul l

Default Keterangan

1 harga_maksim

al Num 7 No - Primary Key

2 jumlah_denda Num 7 No -

-5. Tabel: tarif _rusak

No Nama Field Tipe Ukura n

Nul l

Default Keterangan

1 harga_maksim

al Num 7 No - Primary Key

2 jumlah_denda Num 7 No -

-6. Tabel: anggota

No Nama Field Tipe Ukura n

1 kode_anggot a

Char 6 no - Primary Key

2 nama_anggot

a VarChar 100 no -

-3 alamat VarCh ar

100 no -

-4 kode_kecama tan

Char 6 no - Foreign Key

5 telepon VarCh

ar 12 yes -

-6 email VarCh ar

20 yes -

-7 tgl_mulai_an ggota

(9)

-8 jenis_anggot a

Char 1 no 2 1 = guru/ karyawan; 2 = siswa

9 status_anggo ta

Char 1 no 2 1 = aktif; 2 = tidak aktif

7. Tabel: jenis

No Nama Field Tipe Ukura n

1 kode_jenis_buk

u Char 4 No - Primary Key

2 nama_jenis_bu

ku VarChar 20 No -

-8. Tabel: bidang

No Nama Field Tipe Ukura

n Null Default Keterangan

1 kode_bidang Char 4 No - Primary Key

2 nama_bidang VarCha

r 20 No -

-9. Tabel: penerbit

No Nama Field Tipe Ukura n

Nul l

Default Keterangan

1 kode_penerbit Char 4 No - Primary Key

2 nama_penerbit VarCha

r 30 No - -3 alamat VarCha

r 100 no - -4 kode_kecamat

an

Char 6 no - Foreign Key

5 telepon VarCha

r 12 yes - -6 email VarCha

r 20 yes -

-10. Tabel: penulis

No Nama Field Tipe Ukura

n Null Default Keterangan

1 kode_penulis Char 4 No - Primary Key

2 nama_penulis VarCh ar

100 No -

-3 alamat VarCh

ar 100 no -

-4 kode_kecamata

n Char 6 no - Foreign Key

5 telepon VarCh ar

12 yes -

-6 email VarCh

ar

20 yes -

-11. Tabel: propinsi

No Nama Field Tipe Ukura n

1 kode_propinsi Char 2 No - Primary Key

2 nama_propinsi VarCha r

(10)

-12. Tabel: kabupaten

No Nama Field Tipe Ukura n

1 kode_kabupat

en Char 4 No - Primary Key

2 nama_kabupat

en VarChar 30 No -

-3 kode_propinsi Char 2 No - Foreign Key

13. Tabel: kecamatan

No Nama Field Tipe Ukura

n Null Default Keterangan

1 kode_kecamat

an Char 6 No - Primary Key

2 nama_kecama tan

VarCha r

30 No -

-3 kode_kabupat en

Char 4 No - Foreign Key

14. Tabel: pinjam

Catatan: kode_pinjam boleh tidak digunakan

No Nama Field Tipe Ukura

n Null Default Keterangan

1 kode_pinjam Primary Key

2 kode_anggota Char 6 No - Primary Key / Foreign Key

3 kode_buku Char 10 No - Primary Key / Foreign Key

4 tanggal_pinjam Date No Primary Key / Foreign Key

5 tanggal_harus_kemb

ali Date N0 -

-15. Tabel: kembali Catatan:

kode_kembali boleh tidak digunakan

jika tabel pinjam tidak menggunakan kode_pinjam, maka harus ada kode_anggota+kode_buku+tanggal_pinjam

No Nama Field Tip e

1 kode_pinjam Primary Key / Foreign Key

2 kode_kembali Primary Key

3 kode_anggota Char 6 No - Primary Key / Foreign Key

4 kode_buku Char 10 No - Primary Key / Foreign Key

5 tanggal_pinja

m Date No Primary Key / Foreign Key

6 tanggal_kemb ali

Date No -

-16. Tabel: bayar_denda

Catatan: jika tabel kembali tidak menggunakan kode_kembali, maka harus ada

kode_anggota+kode_buku+tanggal_pinjam+tanggal_kembali No Nama Field Tipe Ukura

n

1 kode_kembali Primary Key / Foreign Key

2 kode_anggota Char 6 No - Primary Key / Foreign Key

(11)

Key

4 tanggal_pinja

m Date No Primary Key / ForeignKey

5 tanggal_bayar Date No -

-6 jumlah_denda Num 9 No 0 Dihitung otomatis

17. Tabel: bayar_hilang

Catatan: jika tabel pinjam tidak menggunakan kode_pinjam, maka harus ada kode_anggota+kode_buku+tanggal_pinjam

No Nama Field Tipe Ukura n

1 kode_pinjam Primary Key / Foreign Key

2 kode_anggota Char 6 No - Primary Key / Foreign Key

3 kode_buku Char 10 No - Primary Key / Foreign Key

4 tanggal_pinja

m Date No Primary Key / Foreign Key

5 tanggal_bayar Date No -

-6 jumlah_denda Num 9 No 0 Dihitung otomatis

18. Tabel: bayar_rusak

Catatan: jika tabel pinjam tidak menggunakan kode_pinjam, maka harus ada kode_anggota+kode_buku+tanggal_pinjam

No Nama Field Tipe Ukura n

1 kode_pinjam Primary Key / Foreign Key

2 kode_anggota Char 6 No - Primary Key / Foreign Key

3 kode_buku Char 10 No - Primary Key / Foreign Key

4 tanggal_pinja

m Date No Primary Key / Foreign Key

5 tanggal_bayar Date No -

-6 jumlah_denda Num 9 No 0 Dihitung otomatis

19. Tabel: buku

No Nama Field Tipe Ukura n

1 kode_buku Char 10 No - Primary Key

2 Judul_buku VarCh ar

100 No -

-3 kode_jenis Char 4 No - Foreign Key

4 kode_bidang Char 4 No - Foreign Key

5 kode_penulis_u tama

Char 4 No - Foreign Key

6 kode_penerbit Char 4 No - Foreign Key

7 jumlah Num 1 No -

-8 bahasa Char 1 No 1 1 = Indonesia; 2 = Asing

9 isbn Char 12 No -

-10 tahun Char 4 No -

-11 jumlah_halama

n Num 1 No -

-12 edisi Char 1 No 1

-13 cetakan_ke Char 1 No 1

(12)
(13)

SCHEMA DATABASE DENGAN DDL

o DEFINISI DATABASE

create database dbperpustakaan;

o DEFINISI TABEL DALAM DATABASE

use dbperpustakaan

create table user (

user_name varchar(5) not null unique primary key, password varchar(20) not null,

level_user char(1) default ‘5’ check(level_user=‘1’ or level_user=‘2’ or level_user=‘3’ or level_user=‘4’ or level_user=‘5’));

create table tanggal_libur (

tanggal_libur date not null unique primary key, keterangan_libur varchar(50) not null);

create table tarif_denda (

jumlah_hari_maksimal tinyint(3) not null unique primary key, jumlah_denda mediumint(9) not null);

create table tarif_hilang (

harga_maksimal mediumint (9) not null unique primary key, jumlah_denda mediumint(9) not null);

create table tarif_rusak (

harga_maksimal mediumint (9) not null unique primary key, jumlah_denda mediumint(9) not null);

create table anggota (

kode_anggota char(6) not null unique primary key, nama_anggota varchar(100) not null,

alamat varchar(100) not null, kode_kecamatan char(6) not null, telepon varchar(12),

email varchar(20),

tgl_mulai_anggota date not null,

jenis_anggota char(1) not null default ‘2’ check(jenis_anggota=‘1’ or jenis_anggota=‘2’),

status_anggota char(1) not null default ‘1’ check(status_anggota=‘1’ or status_anggota=‘2’),

foreign key(kode_kecamatan) references kecamatan on update cascade on delete cascade;

create table jenis (

(14)

create table bidang (

kode_bidang char(4) not null unique primary key, nama_bidang varchar(20) not null;

create table penerbit (

kode_penerbit char(4) not null unique primary key, nama_penerbit varchar(30) not null,

alamat varchar(100) not null, kode_kecamatan char(6) not null, telepon varchar(12),

email varchar(20),

foreign key(kode_kecamatan) references kecamatan on update cascade on delete cascade;

create table penulis (

kode_penulis char(4) not null unique primary key, nama_penulis_utama varchar(100) not null,

alamat varchar(100) not null, kode_kecamatan char(6) not null, telepon varchar(12),

email varchar(20),

foreign key(kode_kecamatan) references kecamatan on update cascade on delete cascade;

create table propinsi (

kode_propinsi char(2) not null unique primary key, nama_propinsi varchar(30) not null;

create table kabupaten (

kode_kabupaten char(4) not null unique primary key, nama_kabupaten varchar(30) not null,

kode_propinsi char(2) not null,

foreign key(kode_propinsi) references propinsi on update cascade on delete cascade;

create table kecamatan (

kode_kecamatan char(6) not null unique primary key, nama_kecamatan varchar(30) not null,

kode_kabupaten char(4) not null,

foreign key(kode_kabupaten) references kabupaten on update cascade on delete cascade;

create table pinjam (

(15)

tanggal_harus_kembali date not null,

foreign key(kode_anggota) references anggota on update cascade on delete cascade,

foreign key(kode_buku) references buku on update cascade on delete cascade,

primary key(kode_anggota, kode_buku, tanggal_pinjam);

create table kembali (

kode_anggota char(6) not null, kode_buku char(10) not null, tanggal_pinjam date not null, tanggal_ kembali date not null,

foreign key(kode_anggota, kode_buku, tanggal_pinjam) references pinjam on update cascade on delete cascade

primary key(kode_anggota, kode_buku, tanggal_pinjam);

create table bayar_denda ( kode_anggota char(6) not null, kode_buku char(10) not null, tanggal_pinjam date not null, tanggal_bayar date not null, jumlah_denda mediumint(9),

foreign key(kode_anggota, kode_buku, tanggal_pinjam) references kembali on update cascade on delete cascade

primary key(kode_anggota, kode_buku, tanggal_pinjam);

create table bayar_hilang ( kode_anggota char(6) not null, kode_buku char(10) not null, tanggal_pinjam date not null, tanggal_bayar date not null, jumlah_denda mediumint(9),

foreign key(kode_anggota, kode_buku, tanggal_pinjam) references pinjam on update cascade on delete cascade

primary key(kode_anggota, kode_buku, tanggal_pinjam);

create table bayar_rusak ( kode_anggota char(6) not null, kode_buku char(10) not null, tanggal_pinjam date not null, tanggal_bayar date not null, jumlah_denda mediumint(9),

foreign key(kode_anggota, kode_buku, tanggal_pinjam) references pinjam on update cascade on delete cascade

primary key(kode_anggota, kode_buku, tanggal_pinjam);

(16)

kode_buku char(10) not null unique primary key, judul_buku varchar(100) not null,

kode_jenis char(4) not null, kode_bidang char(4) not null, kode_penulis char(4) not null, kode_penerbit char(4) not null, jumlah tinyint(2) not null,

bahasa char(1) not null default ‘1’ check(bahasa=‘1’ or bahasa=‘2’), isbn char(12) not null,

tahun char(4) nor null,

jumlah_halaman mediumint(4) not null, edisi char(1) not null,

cetakan_ke char(1) not null,

status char(1) default ‘1’ check(status=’1’ or status=’2’),

foreign key(kode_jenis) references jenis on update cascade on delete cascade,

foreign key(kode_bidang) references bidang on update cascade on delete cascade,

foreign key(kode_penulis) references penulis on update cascade on delete cascade,

Referensi

Dokumen terkait

Kepribadian dianggap sebagai “ciri atau karakteristik atau gaya atau sifat khas dari diri seseorang yang bersumber dari bentukan-bentukan yang diterima dari lingkungan,

Komputer; Selanjutnya dirancang dan dibuat 3 (tiga) buah model struktur tenda yang didukung udara (pneumatik) berupa model struktur berskala 1 : 5 dengan bahan

Adapun hasil wawancara bersama Bapak Indrah Dehimeli pada tanggal 19 juni 2017 mengenai pemahaman dan amalan ibadah kaum muslimin, beliau mengatakan bahwa

Tugas-tugas pokok pemerintah kemudian dijelaskan oleh Ryaas Rasyid (2000 : 13) sebagai berikut :.. Pertama, menjamin keamanan negara dari segala kemungkinan serangan

Pergerakan imbal hasil Surat Utang Negara pada perdagangan hari Selasa, 21 Februari 2017 kembali mengalami kenaikan seiring dengan pelemahan nilai tukar rupiah

bahwa dengan telah ditetapkannya Peraturan Presiden Nomor 8 Tahun 2006 tentang Perubahan Keempat Atas Keputusan Presiden Nomor 80 Tahun 2003 tentang Pedoman Pelaksanaan

Tujuan dari penelitian ini adalah untuk mengetahui apakah biaya perjalanan ke Wana Wisata Kartini Mantingan, pendapatan individu, jarak, waktu luang, umur dan tingkat

The real rental rate adjusts to equate demand for capital with supply.. Units of output MPK, demand for capital equilibrium R/P Supply of