BASIS DATA
Disusun Oleh:
2019
KATA PENGANTAR
Puji syukur alhamdulillah kami panjatkan ke hadirat Tuhan Yang Maha Esa, karena
telah melimpahkan rahmat-Nya berupa kesempatan dan pengetahuan sehingga
makalah ini bisa selesai pada waktunya.
Terima kasih juga kami ucapkan kepada teman-teman yang telah berkontribusi
dengan memberikan ide-idenya sehingga makalah ini bisa disusun dengan baik dan
rapi.
Kami berharap semoga makalah ini bisa menambah pengetahuan para pembaca.
Namun terlepas dari itu, kami memahami bahwa makalah ini masih jauh dari kata
sempurna, sehingga kami sangat mengharapkan kritik serta saran yang bersifat
membangun demi terciptanya makalah selanjutnya yang lebih baik lagi.
i
DAFTAR ISI
ii
2.5.2. Oracle .......................................................................................... 18
2.5.3. Microsoft SQL Server ................................................................. 18
2.5.4. Firebird ........................................................................................ 18
BAB III ................................................................................................................. 19
ANALISIS DAN PERANCANGAN ................................................................ 19
3.1. ERD dan Tabel Perancangan .............................................................. 19
3.2. Kamus data Basis Data ....................................................................... 19
BAB IV ................................................................................................................. 22
IMPLEMENTASI BASIS DATA ..................................................................... 22
4.1. Membuat Database Stasiun TV .......................................................... 22
4.2. Membuat Kolom atau Tabel ............................................................... 23
4.2.1. Tabel Pelanggan .......................................................................... 23
4.2.1. Tabel Pembayaran ....................................................................... 24
4.2.1. Tabel Pegawai ............................................................................. 24
4.2.1. Tabel Pendaftaran ........................................................................ 25
4.2.1. Tabel Paket .................................................................................. 25
4.2.1. Tabel Channel .............................................................................. 26
4.3. Source Code ........................................................................................ 26
4.4. Antarmuka (Interface)......................................................................... 40
BAB V................................................................................................................... 42
PENUTUP ......................................................................................................... 42
Kesimpulan .................................................................................................... 42
Saran .............................................................................................................. 42
DAFTAR PUSTAKA ........................................................................................... 43
iii
DAFTAR GAMBAR
iv
BAB I
PENDAHULUAN
Televisi merupakan salah satu alat elektronik yang menjadi kebutuhan primer
bagi manusia. Televisi adalah media yang interaktif dan atraktif dibandingkan
dengan media lainnya, sehingga televisi cenderung lebih sering dikonsumsi
oleh masyarakat. Televisi pada dasarnya adalah sistem elektronik yang
menampilkan informasi berupa suara dan gambar yang bergerak. Sistem
elektronik tersebut mengubah cahaya dan gelombang suara tersebut
menggunakan pemancar frekuensi radio.
Hasil riset tahun 2012 yang dilakukan oleh Nielsen terhadap media yang paling
banyak digunakan oleh masyarakat menyebutkan televisi masih posisi teratas
paling banyak digunakan, menyusul kemudian Internet, Radio, Koran, dan
selanjutnya majalah. Sebagai media yang tayangannya paling banyak di
konsumsi oleh banyak warga dari berbagai usia, jenis kelamin, wilayah, dan
berbagai macam suku bangsa di Indonesia televisi berpotensi mempengaruhi
pengetahuan dan keputusan penontonnya.
Tujuan dari penelitian ini adalah untuk membangun sebuah system informasi
stasiun tv yang sesuai dengan yang di gunakan dan di harapkan oleh stasiun tv
swasta.
1.4. Jadwal
1
04 Desember 2019 : Berdiskusi dengan Bu Wina selaku dosen basis data untuk
mengganti tema toserba tetapi tidak mendapat ijin dan membuat keputusan
mengabil studi kasus stasiun tv.
2
BAB II
TEORI PENDUKUNG
1. One to One (1 to 1)
Relasi database model ini terjadi apalabila sebuah data terdapat pada 2 buah tabel,
dan hanya diperbolehkan satu data saja pada masing masing tabel (unique record),
sama halnya seperti primary key, record yang ada pada model ini tidak boleh ada
yang sama.
2. One to Many (1 to n)
3
Relasi database model ini membolehkan data yang sama pada tabel kedua, tapi
hanya membolehkan data yang bersifat unique (unik) pada tabel pertama. Jadi pada
model tabel kedua boleh memiliki beberapa data yang sama.
3. Many to many (n to m)
Berbeda dengan kedua model diatas, relasi database model ini membolehkan
beberapa data yang sama baik pada tabel pertama maupun tabel kedua. Dengan
demikian tidak ada unique record di kedua tabel tersebut.
4
1. Entitas
Entitas merupakan mengenai basis data yaitu suatu obyek yang dapat
dibedakan dari lainnya yang dapat diwujudkan dalam basis data. Pengertian
lainnya menurut Brady dan Loonam (2010), entitas adalah objek yang
menarik di bidang organisasi yang dimodelkan.
Contoh : Mahasiswa, Kartu Anggota Perpustakaan (KAP), dan Buku.
2. Hubungan (relasi/relationship)
3. Atribut
4. Atribut Key
adalah satu atau gabungan dari beberapa atribut yang dapat membedakan
semua baris data ( Row/Record ) dalam tabel secara unik. Dikatakan unik
jika pada atribut yang dijadikan key tidak boleh ada baris data dengan nilai
sama.
Contoh : Nomor pokok mahasiswa (NPM), NIM dan nomor pokok lainnya
Atribut simple = Atribut yang bernilai atomic, tidak dapat dipecah/ dipilah
lagi
Contoh : Alamat, penerbit, tahun terbit, judul buku.
5
Atribut Multivalue = Nilai dari suatu attribute yang mempunyai lebih dari
satu (multivalue) nilai dari atrribute yang bersangkutan.
Contoh : dari sebuah buku, yaitu terdapat beberapa pengarang.
Atribut Derivatif = Atribut yang tidak harus disimpan dalam database Ex.
Total. atau atribut yang dihasilkan dari atribut lain atau dari suatu
relationship. Atribut ini dilambangkan dengan bentuk oval yang bergaris
putus-putus
6
o operasi cartesian (x)
o Operasi devision
σ nama_cabang= cabang5(ms_cabang)
7
symbol phi (π). Nama-nama atribut yang diinginkan tampil ditulis
sebagai subcript π.
Π kode_kota,kode_propinsi(ms_kota)
Π Nama_cabang(ms_cabang) ∪ Π Nama_cabang(MS_cabanga)
8
Π Nama_cabang(ms_cabang) –Nama_cabang(ms_cabanga)
9
Closed formula atau sentences yang memiliki variable
terbatas
Dalam SQL
SELECT nama_propinsi
FROM ms_propinsi
10
Mencari data mengenai nama_cabang pada tabel ms_cabang.
{<kk,nk,kp>|<kk,nk,kp> Є ms_cabang }
Dalam SQL:
SELECT nama_cabang
FROM ms_cabang
11
2.2.1.3. Refferential Integritas
DBMS adalah suatu sistem atau software yang dirancang khusus untuk
mengelola suatu database dan menjalankan operasi terhadap data yang
diminta oleh banyak pengguna.
12
Membantu penetapan standarisasi
Perbandingan skala ekonomi
Dapat menyeimbangkan konflik kebutuhan
Mempercepat akses dan respon data
Mempercepat produktifitas
Meningkatkan pemeliharaan data melalui data independen
Meningkatkan konkurensi
Meningkatkan layanan backup dan recovery
2.4. Normalisasi
13
2.4.1. Bentuk Tidak Normal
Contoh:
14
membuat baris berisi kolom jumlah yang sama dan setiap kolom
hanya mengandung satu nilai.
Berikut perubahannya:
Berikut perubahannya:
15
Gambar 4 Bentuk Normal ke 2
Bentuk normal kedua ini mempunyai syarat yaitu bentuk data yang
dan hanya jika relasi tersebut memenuhi normal kedua dan setiap
16
Berikut perubahannya:
normal kedua dan semua atribut bukan kunci utama tidak punya
2.5.1. MySQL
17
Foxpro, Visual Basic (VB) dan Delphi serta kurang mampu
menangani data yang jumlahnya terlalu besar.
2.5.2. Oracle
2.5.4. Firebird
18
BAB III
Berikut adalah Entitas Relationship Diagram (ERD) dari studi kasus Stasiun
TV yang ditujukan pada gambar di bawah ini:
19
Berikut merupakan kamus data yang diperlukan untuk perancangan basis
data dari studi kasus Stasiun TV:
Kamus data dari tabel Pelanggan:
20
Gambar 11 Tabel Pegawai
21
BAB IV
Xampp berguna sebagai server yang dapat berdiri sendiri (localhost), yang
terdiri atas program Apache HTTP Server, MySQL, database, dan
penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan
Pearl.
Agar dapat membuat suatu database maka pertama – tama jalankan server
dari Apache dan MySQL.Lalu masuk ke http://localhost/phpmyadmin/.
22
Setelah itu klik database dan isikan nama database yang akan digunakan
lalu klik Create.
Untuk menampikan Databases yang telah selesai dibuat maka ketik perintah
SHOW DATABASES.
23
CREATE TABLE Pelanggan(
Id_Pelanggan char(5) PRIMARY KEY,
Nama_Pel varchar(30),
Ktp char(16),
Alamat varchar(30),
No_Telp varchar(12),
Email varchar(30)
);
24
Alamat varchar(30),
No_Telp varchar(12)
);
25
Harga int
);
<?php
session_start();
if(isset($_SESSION['LOGIN'])){
header("Location: home.php");
exit();
}
26
require_once("config.php");
if(isset($_POST['SUBMIT'])){
$userId = trim($_POST['USERNAME']);
$userPass = trim($_POST['PASSWORD']);
header("Location: error.php?e=1");
exit();
}
$_SESSION['LOGIN'] = 1;
session_start();
header("Location: home.php");
exit();
}else{
header("Location: error.php?e=2");
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Form Login</title>
27
<link rel="stylesheet" type="text/css"
href="style.css">
</head>
<body>
<div class="kotak_login">
<p class="tulisan_login">Silahkan login</p>
<label>Password</label>
<input type="password" name="PASSWORD"
class="form_login" placeholder="Password">
<br/>
<br/>
</form>
</div>
</body>
</html>
Source Code diatas merupakan sebuah form untuk login yang menggunakan
session.
<?php
28
session_start();
if(!isset($_SESSION['LOGIN'])){
header("Location: index.php");
exit();
}
if(isset($_GET['aksi'])){
$aksi = $_GET['aksi'];
if($aksi == "logout"){
if(isset($_SESSION['LOGIN'])){
unset($_SESSION['LOGIN']);
session_unset();
session_destroy();
$_SESSION = array();
}
header("Location: index.php");
exit();
}
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,
initial-scale=1.0" />
<title>Home</title>
<!-- BOOTSTRAP STYLES-->
29
<link href="assets/css/bootstrap.css" rel="stylesheet" />
<!-- FONTAWESOME STYLES-->
<link href="assets/css/font-awesome.css" rel="stylesheet"
/>
<!-- CUSTOM STYLES-->
<link href="assets/css/custom.css" rel="stylesheet" />
<!-- GOOGLE FONTS-->
<link
href='http://fonts.googleapis.com/css?family=Open+Sans'
rel='stylesheet' type='text/css' />
</head>
<body>
<div id="wrapper">
<nav class="navbar navbar-default navbar-cls-top "
role="navigation" style="margin-bottom: 0">
<div class="navbar-header">
<button type="button" class="navbar-toggle"
data-toggle="collapse" data-target=".sidebar-collapse">
<span class="sr-only">Toggle
navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand">Admin</a>
</div>
<div style="color: white;padding: 15px 50px 5px 50px;float:
right;font-size: 16px;"> <a href="home.php?aksi=logout"
class="btn btn-danger square-btn-adjust">Logout</a> </div>
</nav>
<!-- /. NAV TOP -->
<nav class="navbar-default navbar-side"
role="navigation">
<div class="sidebar-collapse">
<ul class="nav" id="main-menu">
<li class="text-center">
</li>
30
<li>
<a href="?page=Admin"><i class="fa
fa-dashboard fa-3x"></i> Data Admin</a>
</li>
<li>
<a href="?page=Pelanggan"><i
class="fa fa-dashboard fa-3x"></i> Data Pelanggan</a>
</li>
<li>
<a href="?page=Channel"><i class="fa
fa-dashboard fa-3x"></i> Daftar Channel</a>
</li>
<li>
<a href="?page=Paket"><i class="fa
fa-dashboard fa-3x"></i> Daftar Paket</a>
</li>
</ul>
</div>
</nav>
<!-- /. NAV SIDE -->
<div id="page-wrapper" >
<div id="page-inner">
<div class="row">
<div class="col-md-12">
<?php
31
$page =
@$_GET['page'];
$action =
@$_GET['action'];
if($page ==
"Admin"){
if($action
== ""){
include "page/Admin.php";
}
}elseif($page ==
"Pelanggan"){
if($action
== ""){
include "page/Pelanggan.php";
}
}elseif($page ==
"Channel"){
if($action
== ""){
include "page/Channel.php";
}
}elseif($page ==
"Paket"){
32
if($action
== ""){
include "page/Paket.php";
}
}
?>
</div>
</div>
<!-- /. ROW -->
<hr />
</div>
<!-- /. PAGE INNER -->
</div>
<!-- /. PAGE WRAPPER -->
</div>
<!-- /. WRAPPER -->
<!-- SCRIPTS -AT THE BOTOM TO REDUCE THE LOAD TIME-->
<!-- JQUERY SCRIPTS -->
<script src="assets/js/jquery-1.10.2.js"></script>
<!-- BOOTSTRAP SCRIPTS -->
<script src="assets/js/bootstrap.min.js"></script>
<!-- METISMENU SCRIPTS -->
<script src="assets/js/jquery.metisMenu.js"></script>
<!-- CUSTOM SCRIPTS -->
<script src="assets/js/custom.js"></script>
</body>
</html>
33
Source Code diatas merupakan sebuah form halaman utama, di dalam form
halaman utama tersebut terdapat menu home, pegawai, pengguna,
pelanggan, dan transaksi.
<div class="row">
<div class="col-md-12">
<!-- Advanced Tables -->
<div class="panel panel-default">
<div class="panel-heading">
Data Admin
</div>
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped table-
bordered table-hover" id="dataTables-example">
<thead>
<tr>
<th>Nama</th>
<th>E-
Mail</th>
<th>Alamat</th>
<th>No
HP</th>
<th
style="text-align:center">Aksi</th>
</tr>
</thead>
<tbody>
<?php
$query = "SELECT *
from tb_admin";
34
$koneksi=mysqli_connect("localhost","root","","dbtv")
or die ("Gagal Koneksi Database");
$data =
mysqli_query($koneksi,$query) or die ("Gagal query:".$query);
?>
<?php
while($v=mysqli_fetch_array($data)):;?>
<tr>
<td><?php echo
$v["Nama"];?></td>
<td><?php echo
$v["Email"];?></td>
<td><?php echo
$v["Alamat"];?></td>
<td><?php echo
$v["No_Hp"];?></td>
<td><a
href="Aksi_Hapus_Admin.php?Username=<?php echo
$v["Username"];?>">Hapus</a> </td>
</tr>
<?php endwhile;?>
</tbody>
</div>
</div>
</div>
</div>
</div>
Source Code diatas merupakan source code halaman admin, pada souce
code tersebut terdapat nama, email, alamat dan nomor hp yang harus di
inputkan oleh user.
<div class="row">
<div class="col-md-12">
<!-- Advanced Tables -->
35
<div class="panel panel-default">
<div class="panel-heading">
Daftar Channel
</div>
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped table-
bordered table-hover" id="dataTables-example">
<thead>
<tr>
<th style="text-
align:center;">Id_Channel</th>
<th style="text-
align:center;">Nama Channel</th>
<th
style="text-align:center;">Aksi</th>
</tr>
</thead>
<tbody>
<?php
$query = "SELECT *
from tb_channel NATURAL JOIN tb_paket";
$koneksi=mysqli_connect("localhost","root","","dbtv")
or die ("Gagal Koneksi Database");
$data =
mysqli_query($koneksi,$query) or die ("Gagal query:".$query);
?>
<?php
while($v=mysqli_fetch_array($data)):;?>
<tr>
<td><?php echo
$v["Id_Channel"];?></td>
<td><?php echo
$v["Nama_Channel"];?></td>
36
<td><a
href="Aksi_Hapus_Channel.php?Id_Channel=<?php echo
$v["Id_Channel"];?>">Hapus</a> </td>
</tr>
<?php endwhile;?>
</tbody>
</div>
</div>
</div>
</div>
</div>
Source Code diatas merupakan source code halaman channel, di dalam souce code
tersebut terdapat daftar channel, id channel dan nama channel yang harus di
inputkan oleh user.
<div class="row">
<div class="col-md-12">
<!-- Advanced Tables -->
<div class="panel panel-default">
<div class="panel-heading">
Data Pelanggan
</div>
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped table-
bordered table-hover" id="dataTables-example">
<thead>
<tr>
<th>Id_Pel</th>
<th>Nama</th>
<th>Alamat</th>
<th>No HP</th>
<th>Paket</th>
<th style="text-
align:center;">Aksi</th>
37
</tr>
</thead>
<tbody>
<?php
$koneksi=mysqli_connect("localhost","root","","dbtv") or
die ("Gagal Koneksi Database");
$data =
mysqli_query($koneksi,$query) or die ("Gagal query:".$query);
?>
<?php
while($v=mysqli_fetch_array($data)):;?>
<tr>
<td><?php echo
$v["Id_Pel"];?></td>
<td><?php echo
$v["Nama_Pel"];?></td>
<td><?php echo
$v["Alamat"];?></td>
<td><?php echo
$v["No_Hp"];?></td>
<td><?php echo
$v["Nama_Pkt"];?></td>
<td><a
href="Aksi_Hapus_Pelanggan.php?Id_Pel=<?php echo
$v["Id_Pel"];?>" class="btn btn-info">Hapus</a> </td>
</tr>
<?php endwhile;?>
</tbody>
</div>
</div>
</div>
</div>
38
</div>
Source Code diatas merupakan source code halaman pelanggan, di dalam souce
code tersebut terdapat id pelanggan , nama pelanggan, alamat, nomor hp, dan nama
pkt yang harus di inputkan oleh user.
<div class="row">
<div class="col-md-12">
<!-- Advanced Tables -->
<div class="panel panel-default">
<div class="panel-heading">
Daftar Paket
</div>
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped table-
bordered table-hover" id="dataTables-example">
<thead>
<tr>
<th style="text-
align:center;">Nama Paket</th>
<th style="text-
align:center;">Nama Channel</th>
<th style="text-
align:center;">Aksi</th>
</tr>
</thead>
<tbody>
<?php
$koneksi=mysqli_connect("localhost","root","","dbtv") or
die ("Gagal Koneksi Database");
39
$data =
mysqli_query($koneksi,$query) or die ("Gagal query:".$query);
?>
<?php
while($v=mysqli_fetch_array($data)):;?>
<tr>
<td><?php echo
$v["Nama_Pkt"];?></td>
<td><?php echo
$v["Nama_Channel"];?></td>
<td><a
href="Aksi_Hapus_Paket?Id_Pkt=<?php echo
$v["Id_Pkt"];?>">Hapus</a></td>
</tr>
<?php endwhile;?>
</tbody>
</div>
</div>
</div>
</div>
</div>
Source Code diatas merupakan source code halaman paket, di dalam souce code
tersebut terdapat nama paket dan nama channel yang harus di inputkan oleh user.
Tampilan Login
40
Tampilan Utama
41
BAB V
PENUTUP
Kesimpulan
Saran
Untuk program yang kami buat masih sangat kaku dan fleksibel dan belum
biasa menampilkan query-query yang sulit seperti query where.
Oleh Karena itu program kami ini untuk kedepannya bias kami perbaiki
sehingga tingkat kemudahan penggunaan menjadi lebih mudah dan tingkat
flesibilitas menjadi lebih tinggi.
42
DAFTAR PUSTAKA
https://dosenit.com/kuliah-it/database/database-relasional
https://rizarulham.wordpress.com/2009/10/16/aljabar-relasional-bahasa-pada-
model-data-relasional/
https://catatankuliahaam73.wordpress.com/2017/03/06/pengertian-integritas-data-
2/
https://www.maxmanroe.com/vid/teknologi/komputer/pengertian-dbms.html
43