tugas praktikum cdm, pdm, dan...

20
TUGAS PRAKTIKUM CDM, PDM, DAN DATABASE LAPORAN Disusun sebagai Tugas pada Mata Kuliah Basis Data Oleh : Arof Arto Perdana 14101007 Edwin Satria 14102018 Faisal Yudo Hernawan 14102019 Ros Novia Citra Devi 14102038 PROGRAM STUDI INFORMATIKA SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM PURWOKERTO 2015

Upload: hoangkhanh

Post on 25-Aug-2018

272 views

Category:

Documents


6 download

TRANSCRIPT

TUGAS PRAKTIKUM CDM, PDM, DAN DATABASE

LAPORAN

Disusun sebagai Tugas pada Mata Kuliah

Basis Data

Oleh :

Arof Arto Perdana 14101007

Edwin Satria 14102018

Faisal Yudo Hernawan 14102019

Ros Novia Citra Devi 14102038

PROGRAM STUDI INFORMATIKA

SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM

PURWOKERTO

2015

EVALUASI DAN PERTANYAAN

1. Apakah perbedaan CDM,PDM dan ERD ?

ERD kepanjangan dari Entitas Relationship Diagram. ERD merupakan suatu model

untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek

dasar data yang mempunyai hubungan antar relasi. ERD untuk memodelkan struktur

data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi

dan simbol. Sedangkan CDM singkatan dari Conseptual Data Model. CDM dipakai

untuk menggambarkan secara detail struktur basis data dalam bentuk logik. Struktur

ini independen terhadap semua software maupun struktur data storage tertentu yang

digunakan dalam aplikasi ini. Sedangkan PDM kepanjangan dari Physical Data

Model. PDM merupakan gambaran secara detail basis data dalam bentuk fisik.

Penggambaran rancangan PDM memperlihatkan struktur penyimpanan data yang

benar pada basis data yang digunakan sesungguhnya.

2. Mengapa Perlu melakukan desain database ?

Kecepatan dan kemudahan

Database memiliki kemampuan dalam menyeleksi data, sehingga menjadi

kelompok yang terurut dengan cepat. Hal ini yang dapat menghasilkan

informasi secara cepat juga.

Pemakaian bersama-sama

Database ini juga dapat digunakan oleh siapa saja dalam suatu perusahaan.

Contohnya database mahasiswa dalam suatu perguruan tinggi dibutuhkan oleh

beberapa bagian, seperti bagian admin, bagian keuangan, bagian akademik. Ke

semua bidang tersebut membutuhkan database mahasiswa namun tidak perlu

masing-masing bagian membuat databasenya sendiri, cukup database

mahasiswa satu saja yang disimpan di server pusat. Nanti aplikasi dari masing-

masing bagian bisa terhubung ke database mahasiswa tersebut.

Kontrol data terpusat

Hal ini dapat mempermudah pengontrolan data. Contohnya ingin mengupdate

data mahasiswa, maka kita hanya perlu mengupdate semua data di masing-

masing bagian atau divisi, tetapi hanya cukup meliahat di satu database saja

yang terdapat di server pusat.

Menghemat biaya perangkat

Dengan memiliki database secara terpusat maka masing-masing divisi tidak

harus memiliki perangkat untuk menyimpan database, karena database tersebut

sudah di simpan di server pusat. Hal ini tentunya dapat memangkas pembelian

perangkat.

Keamanan Data

Hampir semua Aplikasi manajemen database sekarang memiliki fasilitas

manajemen pengguna. Manajemen pengguna ini mampu membuat hak akses

yang berbeda-beda disesuaikan dengan kepentingan maupun posisi pengguna.

Selain itu data yang tersimpan di database diperlukan password untuk

mengaksesnya.

Memudahkan dalam pembuatan aplikasi baru

STUDI KASUS

Conceptual Data Model (CDM)

Membuka software PowerDesigner, kemudian klick new project setelah itu pilih

conceptual diagram.

Setelah tampil layar putih, maka pilih icon entity untuk membuat entitas entitas.

Pembuatan tabel karyawan

Attribute dari tabel karyawan, pada field kode_karyawan diberi primary key dan

mandatory.

Pembuatan tabel gaji.

Attribute dari tabel gaji, pada field kode_gaji diberi primary key dan mandatory.

Pembuatan tabel transaksi.

Atrribute dari tabel transaksi, pada field kode_transaksi diberi primary key dan

mandatory.

Pembuatan tabel jabatan.

Attribute dari tabel jabatan, pada field kode_jabatan diberi primary key dan

mandatory.

Pembuatan tabel item_penjualan

Attribute dari tabel item_penjualan, pada id_penjualan diberi primary key

Pembuatan tabel member.

Attribute dari tabel ,ember,pada field kode_member diberi primary dan mandatory.

Pembuatan tabel menu.

Attribute dari tabel menu, pada kode_menu diberi primary key dan mandatory.

Relationship

Untuk membuat relasi pilih icon relationship

Karyawan mempunyai jabatan relasinya many to one.

Karyawan memiliki gaji relasinya one to one.

Karyawan melayani transaksi relasinya one to many.

Transaksi menghitung setiap item penjualan relasinya one to many.

Item penjualan mengambil data dari tabel menu relasinya many to one.

Transaksi melakukan pengecekan data member yang terdaftar relasinya many

to one.

Untuk melakukan pengecekan error atau tidaknya suatu CDM maka dengan cara F4

lalu muncul kotak dialog dibawah ini, jika isi nya kosong, maka tidak terjadi error.

Generate Physical Data Model (PDM)

Untuk menghasilkan physical data model maka dapat dipilih menu tools -> Generate

Physical Data Model

Maka akan muncul kotak dialog PDM Generations Options seperti tampilan dibawah

ini.

Pada tab detail tambahkan tbl_ pada table prefix, kemudian rubah update rule dan

delete rule menjadi cascade. Gunanya agar bisa dilakukan delete maupun update

pada tiap relasinya.

Setelah di apply dan ok, maka akan tampil seperti gambar dibawah ini.

Generate Database

Pilih database kemudian klick generate database.

Pada DBMS rubah ke mysql 5.0 karena kami menggunakan database mysql versi 5.

Query Database

/*===========================================================

===*/

/* DBMS name: MySQL 5.0 */

/* Created on: 22/12/2015 11:50:11 */

/*===========================================================

===*/

drop table if exists TBL_GAJI;

drop table if exists TBL_ITEM_PENJUALAN;

drop table if exists TBL_JABATAN;

drop table if exists TBL_KARYAWAN;

drop table if exists TBL_MEMBER;

drop table if exists TBL_MENU;

drop table if exists TBL_TRANSAKSI;

/*===========================================================

===*/

/* Table: TBL_GAJI */

/*===========================================================

===*/

create table TBL_GAJI

(

KODE_GAJI int not null,

KODE_KARYAWAN int not null,

GAJI int,

primary key (KODE_GAJI)

);

/*===========================================================

===*/

/* Table: TBL_ITEM_PENJUALAN */

/*===========================================================

===*/

create table TBL_ITEM_PENJUALAN

(

ID_PENJUALAN int not null,

KODE_TRANSAKSI int not null,

KODE_MENU int not null,

HARGA_PER_ITEM int,

KUANTITAS_PER_ITEM int,

JUMLAH_HARGA_PER_ITEM int,

primary key (ID_PENJUALAN)

);

/*===========================================================

===*/

/* Table: TBL_JABATAN */

/*===========================================================

===*/

create table TBL_JABATAN

(

KODE_JABAATAN int not null,

NAMA_JABATAN text,

primary key (KODE_JABAATAN)

);

/*===========================================================

===*/

/* Table: TBL_KARYAWAN */

/*===========================================================

===*/

create table TBL_KARYAWAN

(

KODE_KARYAWAN int not null,

KODE_JABAATAN int not null,

KODE_GAJI int,

NAMA_KARYAWAN text,

ALAMAT_KARYAWAN text,

TANGGAL_LAHIR_KARYAWAN date,

NOMOR_HP_KARYAWAN numeric(8,0),

JENIS_KELAMIN_KARYAWAN text,

primary key (KODE_KARYAWAN)

);

/*===========================================================

===*/

/* Table: TBL_MEMBER */

/*===========================================================

===*/

create table TBL_MEMBER

(

KODE_MEMBER int not null,

NAMA_MEMBER text,

EMAIL_MEMBER text,

NO_HP_MEMBER numeric(8,0),

ALAMAT_MEMBER text,

TGL_LAHIR_MEMBER date,

JENIS_KELAMIN_MEMBER text,

primary key (KODE_MEMBER)

);

/*===========================================================

===*/

/* Table: TBL_MENU */

/*===========================================================

===*/

create table TBL_MENU

(

KODE_MENU int not null,

NAMA_MENU text,

HARGA_MENU int,

DESKRIPSI_MEU text,

primary key (KODE_MENU)

);

/*===========================================================

===*/

/* Table: TBL_TRANSAKSI */

/*===========================================================

===*/

create table TBL_TRANSAKSI

(

KODE_TRANSAKSI int not null,

KODE_KARYAWAN int not null,

KODE_MEMBER int not null,

TANGGAL_TRANSAKSI date,

DISKON float,

TOTAL_HARGA_SELURUHNYA float,

primary key (KODE_TRANSAKSI)

);

alter table TBL_GAJI add constraint FK_MEMILIKI foreign key

(KODE_KARYAWAN) references TBL_KARYAWAN (KODE_KARYAWAN) on

delete cascade on update cascade;

alter table TBL_ITEM_PENJUALAN add constraint FK_MENGAMBIL foreign key

(KODE_MENU) references TBL_MENU (KODE_MENU) on delete cascade on

update cascade;

alter table TBL_ITEM_PENJUALAN add constraint FK_MENGHITUNG foreign

key (KODE_TRANSAKSI) references TBL_TRANSAKSI (KODE_TRANSAKSI)

on delete cascade on update cascade;

alter table TBL_KARYAWAN add constraint FK_MEMILIKI2 foreign key

(KODE_GAJI) references TBL_GAJI (KODE_GAJI) on delete cascade on update

cascade;

alter table TBL_KARYAWAN add constraint FK_MEMPUNYAI foreign key

(KODE_JABAATAN) references TBL_JABATAN (KODE_JABAATAN) on delete

cascade on update cascade;

alter table TBL_TRANSAKSI add constraint FK_MELAKUKAN foreign key

(KODE_MEMBER) references TBL_MEMBER (KODE_MEMBER) on delete

cascade on update cascade;

alter table TBL_TRANSAKSI add constraint FK_MELAYANI foreign key

(KODE_KARYAWAN) references TBL_KARYAWAN (KODE_KARYAWAN) on

delete cascade on update cascade;

Import Database

Buka phpmyadmin, dan buat database toko.

Pilih tab import, pada choose file pilih file toko.sql kemudian klick go.

Berikut adalah hasil setelah diimport pada database toko menggunakan DBMS

MySql versi 5.