Anda di halaman 1dari 32

MODUL TEORI

“ BASIS DATA I “

NAMA KELOMPOK :

1. Ahmad Rafid Rizqullah (09031281722048)


2. Amelia Deyantri (09031181722010)
3. Endah Widia Asrini (09031181722008)
4. Mutiara Amalia Meizalina (09031181722020)
5. Muhammad Rafly (09031281722054)
6. Nabilla Aulia Putri (090312817722038)
7. Ririn Safitri (09031181722070)
8. M . Siddiq Liza Kailani (09031381722132)

SISTEM INFORMASI REGULER 3B

FAKULTAS ILMU KOMPUTER

UNIVERSITAS SRIWIJAYA

2018

1
Daftar Isi
Daftar Isi....……………………………………………………………………………………2

Prakata................................................3

Proses Bisnis Pembelian Tiket Kereta Api


......................................................................................................................................................
4

ERD Pembelian Tiket Kereta


Api
......................................................................................................................................................
5

1.Database dan
Table
......................................................................................................................................................
10

DDL (Data Definition


Language)
......................................................................................................................................................
11

DML(Data Manipulation
Language)
......................................................................................................................................................
16

2
Prakata

Dengan memanjatkan puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat dan
karunia-Nya kepada penyusun, sehingga dapat Tugas Besar Modul Praktikum Basis Data I.
Sholawat dan salam juga kami curahkan kepada Nabi besar Muhammad SAW beserta
keluarga, sahabat dan pengikutnya hingga akhir zaman.

Penyusun juga mengucapkan terima kasih kepada Ibu Alsella Meiriza, M.T., selaku dosen
pengampu mata kuliah Praktikum Basis Data I yang memberikan banyak kritik dan saran serta
dukungan dalam penyelesaian Tugas Besar ini.

Modul ini merupakan rangkuman hasil materi yang telah di pelajari pada mata kuliah
Praktikum Basis Data I untuk mata kuliah Basis Data. Dari modul ini diharapkan dapat
mempermudah mempelajari, memahami, dan mempraktikkan materi – materi yang telah
diajarkan pada kelas mata kuliah Basis Data.

Modul ini juga diharapkan dapat menjadi referensi untuk pemecahan permasalahan umum di
luar materi perkuliahan. Penyusun berharap agar modul ini dapat bermanfaat bagi semua
pembaca.

3
Palembang, Oktober 2018

Penyusun

PROSES BISNIS PEMESANAN TIKET KERETA API

Langkah – langkah

Pada proses ini penumpang datang ke stasiun. Setelah itu datang ke loket untuk mengantri dan
membeli tiket. Saat antrian datang, penumpang melakukan pemesanan tiket dan memberi tahu
4
tujuan dan waktu keberangkatan. Kemudian kasir memerika ketersediaan kursi. Saat kursi
tersedia, penumpang memberi identitas kepada kasir untuk diisi ke form identitas diri ,tetapi
jika kursi tidak tersedia maka penumpang mencari hari lain atau jam lain untuk melakukan
pemesanan tiket kereta api. Setelah penumpang memberikan identitas diri kasir akan mencatat
identitas penumpang yang akan di simpan pada sistem pemesanan.

ERD PEMESANAN TIKET KERETA API

1.Menentukan Entitas

Entitas yang terdapat di pembelian tiket kereta api:


a. Kasir
b. Penumpang
c. Tiket Kereta Api
d. Jadwal
e. Kelas

2. Menentukan Relasi

Kasir Penumpang Tiket Kereta Jadwal Kelas


Api
Kasir Memeriksa
Penumpang Memesan
Tiket Kereta Diperiksa Memiliki Memiliki
Api
Jadwal
Kelas
5
Relasi yang terdapat di pembelian tiket kereta api:
a. Penumpang memesan tiket.
b. Tiket diperiksa oleh kasir.
c. Kasir memeriksa jadwal.
d. Tiket memiliki jadwal.
e. Tiket memiliki kelas.

3. Gambar ERD Sementara

4. Isi Kardinalitas
a. Penumpang memesan tiket.
Penumpang hanya bisa melakukan pemesanan minimum 0 dan maksimum 1
transaksi. Begitu juga tiket hanya bias dipesan 1 pembeli. Hal ini dikarenakan
setiap pembeli hanya memiliki satu identitas diri. Sehingga kardinalitas bernilai
1 to 1.
b. Tiket diperiksa kasir.
Tiket bisa diperiksa oleh minimum 1 kasir dan maksimum 1 kasir. Begitu juga
kasir hanya bisa memeriksa minimum 1 tiket dan maksimum 1 tiket. Sehingga
kardinalitas bernilai 1 to 1.
6
c. Kasir memeriksa jadwal.
Kasir bisa memeriksa minimum 1 jadwal dan maksimum banyak jadwal.
Sedangkan, jadwal bisa diperiksa minimum 1 dan maksimum 1 kasir. Sehingga
kardinalitas bernilai 1 to n.
c. Tiket kereta api memiliki kelas.
Tiket hanya memiliki minimum 1 dan maksimum 1 kelas. Sehingga
kardinalitas bernilai 1 to 1.
d. Tiket kereta api memiliki jadwal.
Tiket hanya memiliki minimum 1 dan maksimum 1 jadwal. Sehingga
kardinalitas bernilai 1 to n.
ERD Kardinalitas

5. Tentukan Kunci Utama


Kunci utamanya adalah: Id_kasir, Id_Penumpang, No_Tiket_Kereta_Api,
Id_Jadwal, Kode_Kelas.

7
6. Gambar ERD berdasarkan kunci

7. Menentukan atribut
Atribut yang diperlukan adalah: Id_Kasir, Nama_Kasir, Jenis_Kelamin, Tanggal_Lahir,
Umur,No_Telepon_Kasir, Hari_Kerja, Id_Penumpang, Nama_Penumpang, Jenis_Kelamin,
No_Telepon, Asal_Kota, Id_Kasir, Id_Jadwal, No_Tiket_Kereta_Api, No_Kursi,
Kode_Kelas,Harga, Fasilitas Id_Jadwal, Nama_Kereta_Api, Jam_Berangkat, Jam_Tiba,
Tujuan, Asal.

8
8. Pemetaan atribut
Atribut Entitas
Id_Kasir, Nama_Kasir, Jenis_Kelamin, Tanggal_Lahir, Kasir
Umur,No_Telepon_Kasir, Hari_Kerja
Id_Penumpang, Nama_Penumpang, Jenis_Kelamin, Penumpang
No_Telepon, Asal_Kota
Id_Kasir, Id_Jadwal, No_Tiket_Kereta_Api, No_Kursi, Tiket
Kode_Kelas
Id_Jadwal, Nama_Kereta_Api, Jam_Berangkat, Jam_Tiba, Jadwal
Tujuan, Asal,
Nama_Kelas, Kode_Kelas, Harga, Fasilitas Kelas

9.Menggambarkan ERD dengan atribut

10.Memeriksa Hasil
9
ERD Akhir: untuk permodelan pada sistem.

TRANSFORMASI DARI ERD KE RM


PEMBELIAN TIKET KERETA API

1. Transformasi Dasar

Tabel Kasir

Id_Kasir Nama_Kasir Tanggal_Lahir Jenis_K Umur No_Telepon_Pega Hari Kerja


elamin wai

K0010 Andi Wijaya 18-08-1982 L 36 Thn 0824659191 Senin

Rabu

K0011 Widya Lestari 09-09-1990 P 28 Thn 0893719461 Selasa

Jumat

10
K0021 Puspita Sari 10-05-1992 P 26 Thn 0872648599 Kamis

Sabtu

K0022 Malik Hidayat 12-02-1989 L 29 Thn 0876452819 Minggu

K0031 Putri Rahayu 07-06-1978 P 40 Thn 0826547281 Minggu

Tabel Penumpang

Id_Penumpang Nama_Penumpang Asal_Kota No_Telepon Jenis_Kelamin

A0001 Hidayat Aji Palembang 085357104680 Laki-laki

A0002 Pita Loka Surabaya 085267427284 Perempuan

A0003 Nabila Aulia Jambi 08126543786 Perempuan

A0004 Rafly Barokah Jakarta 081762549401 Laki-laki

A0005 Siddiq Hidayahtullah Padang 086241613479 Laki-Laki

Setiap Himpunan Entitas akan diimplementasikan sebagai sebuah tabel.

11
Transformasi 1 ke 1
A. Penumpang memesan tiket

Tabel Penumpang

Id_Penumpang Nama_Penumpang Asal_Kota No_Telepon Jenis_Kelamin

A0001 Hidayat Aji Palembang 085357104680 Laki-laki

A0002 Pita Loka Surabaya 085267427284 Perempuan

A0003 Nabila Aulia Jambi 08126543786 Perempuan

A0004 Rafly Barokah Jakarta 081762549401 Laki-laki

A0005 Siddiq Hidayahtullah Padang 086241613479 Laki-Laki

Tabel Tiket

12
No_Tiket_K No_Kursi Tanggal_Pesan Id_Kasir Kode_Kelas Id_Jadwal Id_Penumpang
ereta_Api

T110 A23 21-10-2018 K0010 BIS J001 A0001

T120 B12 21-10-2018 K0011 EKO J002 A0002

T130 B26 22-10-2018 K0021 EKS J003 A0003

T140 D19 23-10-2018 K0022 EKS J004 A0004

T150 C20 25-10-2018 K0031 BIS J005 A0005

Transformasi 1 ke 1
B. Tiket diperiksa kasir

Tabel Tiket

No_Tiket_ No_Kursi Tanggal_Pesan Kode_Kelas Id_Jadwal Id_Penumpang Id_Kasir


Kereta_Api

T110 A23 21-10-2018 BIS J001 A0001 K0010

T120 B12 21-10-2018 EKO J002 A0002 K0011

T130 B26 22-10-2018 EKS J003 A0003 K0021

T140 D19 23-10-2018 EKS J004 A0004 K0022

T150 C20 25-10-2018 BIS J005 A0005 K0031

Tabel Kasir

Id_Kasir Nama_Kasir Tanggal_Lahir Jenis_K Umur No_Telepon_Pegaw Hari Kerja

13
elamin ai

K0010 Andi Wijaya 18-08-1982 L 36 Thn 0824659191 Senin

Rabu

K0011 Widya Lestari 09-09-1990 P 28 Thn 0893719461 Selasa

Jumat

K0021 Puspita Sari 10-05-1992 P 26 Thn 0872648599 Kamis

Sabtu

K0022 Malik Hidayat 12-02-1989 L 29 Thn 0876452819 Minggu

K0031 Putri Rahayu 07-06-1978 P 40 Thn 0826547281 Minggu

Transformasi 1 ke 1
C. Tiket memiliki jadwal

Tabel Tiket

14
No_Tiket_ No_Kursi Tanggal_Pesan Kode_Kelas Id_Penumpang Id_Kasir Id_Jadwal
Kereta_Api

T110 A23 21-10-2018 BIS A0001 K0010 J001

T120 B12 21-10-2018 EKO A0002 K0011 J002

T130 B26 22-10-2018 EKS A0003 K0021 J003

T140 D19 23-10-2018 EKS A0004 K0022 J004

T150 C20 25-10-2018 BIS A0005 K0031 J005

Tabel Jadwal

Id_Jadwal Nama_Ker Asal Tujuan Jam_Berangkat Jam_Tiba


eta_Api

J001 Rajabasa Palembang Medan 09.30 17.00

J002 Argo Lawu Surabaya Bandung 07.00 11.30

J003 Sembrani Jambi Lampung 08.00 10.30

J004 Purwojaya Jakarta Semarang 08.30 14.30

J005 Turangga Padang Medan 07.00 09.30

Transformasi 1 ke 1
D. Tiket memiliki kelas.

15
Tabel Tiket

No_Tiket_ No_Kursi Tanggal_Pesan Id_Penumpang Id_Kasir Id_Jadwal Kode_Kelas


Kereta_Api

T110 A23 21-10-2018 A0001 K0010 J001 BIS

T120 B12 21-10-2018 A0002 K0011 J002 EKO

T130 B26 22-10-2018 A0003 K0021 J003 EKS

T140 D19 23-10-2018 A0004 K0022 J004 EKS

T150 C20 25-10-2018 A0005 K0031 J005 BIS

Tabel Kelas

Kode_Kelas Nama_Kelas Harga

EKO Ekonomi 45000

16
BIS Bisnis 65000

EKS Eksekutif 80000

Transformasi 1 ke N
A. Kasir memeriksa jadwal

17
Tabel Kasir

Id_Kasir Nama_Kasir Tanggal_Lahir Jenis_Kelami Umur No_Telepon


n _Pegawai

K0010 Andi Wijaya 18-08-1982 Laki-Laki 36 Tahun 0824659191

K0011 Widya Lestari 09-09-1990 Perempuan 28 Tahun 0893719461

K0021 Puspita Sari 10-05-1992 Perempuan 26 Tahun 0872648599

K0022 Malik Hidayat 12-02-1989 Laki-Laki 29 Tahun 0876452819

K0031 Putri Rahayu 07 Juni 1978 Perempuan 40 Tahun 0826547281

Tabel Jadwal

18
Id_Jadwal Nama_Ker Asal Tujuan Jam_Berangkat Jam_Tiba
eta_Api

J001 Rajabasa Palembang Medan 09.30 17.00

J002 Argo Lawu Surabaya Bandung 07.00 11.30

J003 Sembrani Jambi Lampung 08.00 10.30

J004 Purwojaya Jakarta Semarang 08.30 14.30

J005 Turangga Padang Medan 07.00 09.30

19
Database dan Tabel
(Data Definition Language(DDL))

Tujuan

Setelah menyelesaikan modul ini, anda diharapkan dapat :


1. Membuat database dan tabel dengan data definition language
2. Mampu memodifikasi tabel

Dasar teori

DDL (Data Definition Language)

DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-atribut basis
data, tabel, atribut(kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel.
Yang termasuk dalam kelompok DDL ini adalah CREATE, ALTER, dan DROP.

1. Membuat Database

Syntax : CREATE DATABASE namadatabase;

Namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama yang s
ama antar database.

Berikut ini perintah untuk membuat database dengan nama keretaapi :


Syntax : create database keretaapi;
Output :

Syntax tambahan :

untuk menampilkan daftar nama database yang ada pada mysql menggunakan
perintah :SHOW DATABASES;

20
2. Menghapus Database

Syntax : DROP DATABASE namadatabase;

Database yang akan dihapus sesuai dengan namadatabase. Berikut ini perintah untuk
menghapus database dengan nama keretaapi :

3. Membuat Tabel

Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu database
sebagai database aktif yang akan digunakan untuk menyimpan tabel-tabel dengan
menggunakan
Syntax : USE namadatabase;

Berikut ini perintah untuk menggunakan database dengan nama keretaapi :

Syntax: CREATE TABLE namatabel2 ( Field1 TipeData1,Field2 TipeData2);

namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1 merupakan
nama kolom pertama dan tipe data untuk kolom pertama. Jika ingin membuat tabel
dengan kolom lebih dari satu, maka setelah pendefinisian tipe data sebelumnya
diberikan tanda koma (,).

Berikut ini perintah untuk membuat tabel dengan nama tiket:

Untuk menampilkan deskripsi tabel (dalam hal ini jenisfilm) syntaxnya adalah :

Syntax: DESC namatabel;

21
4. Mendefinisikan Primary Key Pada Tabel

Terdapat tiga cara untuk mendefinisikan primary key. Berikut ini adalah Syntax
mendefinisikan primary key untuk Field1

CREATE TABLE namatabel(Field1 TipeData1 NOT NULL PRIMARY KEY,


Field2 TipeData2);

Atau

CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2, PRIMARY


KEY(Field1));

Atau

ALTER TABLE namatabel ADD CONSTRAINT namaconstraint PRIMARY


KEY (namakolom);

Berikut ini perintah untuk sintax menambahkan primary key ketika membuat table;
 Table Pembeli

 Table Kelas

22
 Table tiket_kereta

 Table Pegawai

 Table Transaksi

OUTPUT:

23
5. Menghapus Primary Key Pada Tabel

Syntax :

Cara 1 : Jika primary key dibuat dengan menggunakan alter table :

ALTER TABLE namatabel DROP CONSTRAINT namaconstraint;

Cara 2 : Jika primary key dibuat melalui create table :

ALTER TABLE namatabel DROP PRIMARY KEY;

Berikut ini perintah yang digunakan untuk menghapus primary key pada tabel tiket :

24
Database dan Tabel
(Data Manipulation Language(DML))

Tujuan

Setelah menyelesaikan modul ini, anda diharapkan dapat :


1. Mengenal data manipulation language dan mampu menggunakannya
2. Mampu mengelola record dan retrieve data

Dasar teori

DML (Data Manipulation Language)

DML adalah kelompok perintah yang berfungsi untuk memanipulasi data dalam basis data,
misalnya untuk pengambilan, penyisipan, pengubahan dan penghapusan data. Perintah yang
termasuk dalah kategori DML adalah : INSERT, DELETE, UPDATE dan SELECT.

1. INSERT

Perintah INSERT digunakan untuk menambahkan baris pada suatu tabel.


Terdapat dua cara untuk menambah baris, yaitu :

Cara 1 : Menambah baris dengan mengisi data pada setiap kolom :

INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);

25
 Table Penumpang

 Table Kasir

 TableTiket

26
 Table Jadwal

2. DELETE

Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisi
tertentu atau seluruh baris. Syntax :
DELETE FROM namatabel [WHERE kondisi];
Perintah dalam tanda [ ] bersifat opsional untuk menghapus suatu baris dengan suatu
kondisi tertentu.

Contoh 1 : jika ingin menghapus seluruh baris pada tabel penumpang:


Syntax: delete from penumpang;

Contoh 2 : jika ingin menghapus baris yang memiliki Id_Penumpangi A0001 pada
kolom Id_Penumpang pada tabel penumpang maka perintahnya sebagai berikut :
Syntax: delete from penumpang where Id_Penumpang=’A0001’;

27
3. UPDATE

UPDATE Perintah UPDATE digunakan untuk mengubah isi data pada satu atau beberapa kolom pada
suatu tabel.

Syntax : UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 [WHERE kondisi];

Perintah dalam tanda [ ] bersifat opsional untuk mengubah suatu baris dengan suatu kondisi tertentu.
Berikut ini perintah untuk mengubah baris pada tabel jenisfilm dengan data sebagai berikut :

Contoh : mengubah nilai pada kolom harga menjadi 40000 dimana nilai pada kolom jenis adalah
Ekonomi :

Syntax: update kelas set harga=40000 where Nama_Kelas=’Ekonomi’;

4. SELECT

Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat dihubungkan dengan
tabel yang lainnya.
1) Menampilkan data untuk semua kolom menggunakan asterisk (*)
Syntax : SELECT * FROM namatabel;

Berikut ini perintah untuk menampilkan semua data pada tabel jadwal contohnya
Syntax: select *from jadwal;

28
2) Menampilkan data untuk kolom tertentu

Syntax : SELECT kolom1,kolom2,kolom-n FROM namatabel;

Berikut ini perintah untuk menampilkan data pada tabel jadwal dengan kolom yang ditampilkan
adalah kolom penumpang:

Syntax: select Nama_Kereta_Api, Asal, Tujuan from penumpang;

3) Menampilkan data dengan kondisi data tertentu dengan klausa WHERE.

Syntax : SELECT * FROM namatabel WHERE kondisi;

Berikut ini perintah untuk menampilkan data pada tabel jadwal dimana nilai pada kolom Asal adalah
Palembang:

Select *from jadwal where Asal=’Palembang’;

Beberapa operator perbandingan yang dapat digunakan pada klausa WHERE selain “=” adalah : >
(lebih dari), < (kurang dari), < > (tidak sama dengan), >= (lebih dari atau sama dengan), <= (kurang

29
dari atau sama dengan). Adapun operator lain, yaitu : AND, OR, NOT, BETWEEN-AND, IN dan
LIKE. Berikut ini data yang ada pada tabel jenisfilm :

Contoh 1 : perintah untuk menampilkan data pada tabel kelas dimana nilai harga berkisar dari 40000
dan 70000

Select*from kelas where harga>=40000 and harga<=70000;

Atau Select *from kelas where harga between 40000 and 70000;

Contoh 2 : perintah untuk menampilkan data pada tabel kelas dimana nilai harga sama dengan 80000 :

Select * from kelas where harga in (80000);

Atau

select* from kelas where harga=80000;

30
Contoh 3 : perintah untuk menampilkan data pada tabel kelas dimana nilai pada kolom Nama_Kelas
tidak sama dengan Bisnis:

select *from kelas where not Nama_Kelas=’Bisnis’;

atau select *from jenisfilm where j

31
32

Anda mungkin juga menyukai