Disusun Oleh :
i
LEMBAR PENGESAHAN
PRAKTIKUM BASIS DATA
Mengetahui,
Dosen Pengampu, Asisten Praktikum
ii
KATA PENGANTAR
Puji dan syukur saya panjatkan kehadiran Tuhan Yang Maha Esa, karena atas
berkat rahmatNya saya dapat menyelesaikan praktikum serta laporan akhir. Adapun isi
dari laporan akhir ini adalah kumpulan dari setiap laporan mingguan selama praktikum
berlangsung. Laporan ini merupakan syarat untuk dapat mengikuti ujian Praktikum dan
merupakan syarat dalam mengontrak mata kuliah Praktikum Basis Data
Saya juga tidak lupa untuk mengucapkan banyak terimakasih kepada Dosen serta
Asisten Praktikum Mata Kuliah Praktikum Basis Data yang selalu membimbing dan
mengajari saya dalam melaksanakan praktikum dan dalam menyusun laporan ini. Serta
semua pihak yang membantu saya dalam hal penyusunan laporan ini.
Laporan ini masih sangat jauh dari kesempurnaan oleh karena itu kritik serta saran
yang membangun masih saya harapkan untuk penyempurnaan laporan akhir ini. Saya
ucapkan mohon maaf apabila dalam penulisan laporan akhir ini masih banyak kesalahan.
Atas perhatian dari semua pihak saya ucapkan terima kasih, semoga laporan akhir
ini bisa bermanfaat khususnya bagi penulis.
Penulis
iii
DAFTAR ISI
iv
LAPORAN SEMENTARA
PRAKTIKUM BASIS DATA
Penyusun :
Ella Fransiska (200631100081)
5
MODUL I : INSTALASI SOFTWARE
1.1 TUJUAN
1.1.1 Mahasiswa dapat mengetahui software-software yang dibutuhkan dalam
praktikum basis data
1.1.2 Mahasiswa mampu memahami cara penginstallan software basis data
1.1.3 Mahasiswa mampu memahami istilah-istilah dalam basis data.
1.2.1.2 DIA
DIA adalah sebuah aplikasi free dan open source software yang fungsinya
untuk membantu pembuatan dan perencanaan diagram agar lebih
terstruktur. Software ini dapat berjalan diberbagai platform atau biasa
disebut multiplatform seperti windows, linux dan Mac OS.
1.2.1.3 XAMPP
6
XAMPP adalah software yang mendukung banyak sistem operasi atau
merupakan kompilasi dari beberapa program. Fungsi dari software ini
adalah sebagai server yang berdiri sendiri (localhost), yang terdiri dari
program Apache HTTP Server, MySQL database dan penerjemah Bahasa
yang ditulis dengan Bahasa pemrograman PHP dan Perl.
7
Penamaan table menggunakan kata objek yang sesuai dengan
konten yang akan disimpan didalamnya. Setiap table dalam
database tidak boleh menggunakan kata yang sama agar tidak
terjadi redundancy data. Setiap table dalam database haris
memiliki satu kolom yang unik yang berfungsi sebagai kunci
primer (primary key).
Menggunakan huruf kecil untuk penamaan sebuah table dalam
database.
1.2.2.2 Query
Query merupakan kumpulan perintah yang digunakan untuk
mengolah data dalam table ataupun database itu sendiri. Perintah
tersebut secara umum berupa :
Create : perintah untuk membuat database dan membuat table
dalam database.
Read : perintah untuk menampilkan data yang berada dalam
database.
Update : perintah untuk memanipulasi data dalam database.
Delete : perintah untuk menghapus data dalam database.
1.2.2.3 Field
Field merupakan kumpulan karakter yang terdapat dalam suatu
atribut yang menunjukkan atau menampilkan suatu item, seperti
NIM, nama_mahasiswa, tanggal_lahir dan jenisKelamin
merupakan contoh dari field.
1.2.2.4 Record
Record disebut juga dengan tupple merupakan kumpulan elemen-
elemen dalam field yang saling berkaitan untuk memberikan
informasi mengenai suatu entitas dengan lengkap. Entitas dapat
berupa orang, tempat, kejadian dan konsep. Contoh pada table
mahasiswa memiliki kumpulan data value berupa noMahasiswa,
namaMahasiswa, tanggal_lahir dan jenisKelamin.
8
1.3 LANGKAH-LANGKAH PENGINSTALAN
1.3.1 Power Designer
1. Download aplikasi pada link berikut
https://drive.google.com/drive/folders/1Y8XsrxFpngkIqsNUAdk2H4
FlzfBv2iU4
2. Klik Installer Sybase Power Designer 16.5 dan akan muncul
3. Tunggu sesaat kemudian akan muncul seperti ini, lalu klik Next
9
4. Klik selection pada location
10
7. Disini kita dapat mengatur dimana kita dapat menyimpannya pada
button Browser setelah mengaturnya kita cukup klik Next
8. Dibagian Features ini kita dapat memilih fitur apa saja yang kita
butuhkan centang saja lalu klik Next untuk melanjutkan pada tahap
selanjutnya.
11
9. Pada bagian General dan Notation pastikan semua dicentang lalu Next
saja.
12
11. Disini kita dapat mengetahui apa saja yang akan dicopy program
filenya, lalu klik Next
12. Ditahap ini hanya perlu untuk menunggu sampai proses selesai.
13
13. Setelah proses finishing selesai lalu klik finish.
1.3.2 DIA
1. Download software pada link berikut
https://drive.google.com/file/d/1D4Yx9T9-aurGZK4mzVB-
y0VZy8wRY_tV/view
14
2. Pilih file Dia yang ingin diinstall, pilih Bahasa yang ingin digunakan
English, klik Ok jika selesai
3. Setelah di klik ok, maka akan muncul pesan selamat dating dan klik
Next
5. Gambar dibawah ini adalah componenet yang ada di DIA yang ingin
di install, lalu klik Next
15
6. Setelah itu aka nada pemilihan tempat untuk menginstall DIA
7. Gambar dibawah ini adalah proses penginstallan DIA dan jika proses
penginstallan selesau klik finish.
1.3.3 XAMPP
1. Download software pada link berikut ini
https://www.apachefriends.org/download.html
2. Buka file software xampp yang telah di download
3. Jalankan program dan klik next
16
4. Setelah itu ceklist semua yang ada pada komponen
17
6. Lalu pilih Bahasa yang digunakan yaitu English
18
8. Kemudian pilih next
19
10. Setelah itu klik Finish dan proses instalasi selesai
1.3.4 VSCode
1. Download software pada link berikut ini
https://code.visualstudio.com/
2. Bukalah file software Visual Studio Code yang telah didownload
3. Jalankan program, ceklist I accept the agreement dan pilih Next
20
5. Kemudian klik Next
21
7. Setelah itu klik install
22
9. Kemudian klik finish dan proses instalasi selesai
1.4 SIMPULAN
Ada beberapa software yang digunakan dalam pembuatan database mulai dari
software untuk pembuatan flowchart sampai software untuk pembuatan kode
pemrograman untuk database. Software yang digunakan untuk praktikum kali ini
ada 4 jenis, yaitu Power Designer, DIA, XAMPP dan VSCode. Software-software
ini memerlukan RAM yang cukup banyak, sebab file yang digunakan sangat
besar.
23
LAPORAN SEMENTARA
PRAKTIKUM BASIS DATA
Penyusun :
Ella Fransiska (200631100081)
24
MODUL II : MODEL DATA ERD
2.1 TUJUAN
Dalam praktikum ini, diharapkan praktikan
1. Praktikan dapat memahami dan membuat ER-Diagram
2. Praktikan dapat menggunakan Power Designer untuk mendesain basis data
25
hakekatnya perwujudan dari model relasional dalam bentuk diagram, yaitu
ER-Diagram.
Beberapa istilah yang perlu dipahami dalam model data ER, yaitu
a. Entitas (Entity)
Entitas menunjukkan objek-objek dasar dalam sistem. Objek dasar
tersebut dapat berupa orang, benda atau hal lain yang keterangannya
perlu disimpan dalam database.
b. Atribut (Attribute)
Atribut sering juga disebut sebagai property, merupakan keterangan-
keterangan yang terjadi terkait pada sebuah entitas. Atribut berfungsi
sebagai penjelas sebuah entitas.
c. Relasi (Relation)
Relasi atau hubungan adalah kejadian atau transaksi yang terjadi
diantara dua entitas.
Macam-macam relasi, yaitu
1) Relasi Binary
Relasi binary merupakan relasi yang terjadi antara 2 himpunan
entitas yang berbeda. Relasi ini merupakan relasi yang umum
digunakan. Relasi antara mahasiswa mengambil mata kuliah
menunjukkan binary relation.
2) Relasi Unary
Relasi unary merupakan variasi relasi yang terjadi dari sebuah
himpunan entitas ke himpunan entitas yang sama dan unary sering
disebut dengan relasi tunggal. Relasi antara dosen dan
mendampingi menunjukkan unary relation.
3) Relasi N-ary
Relasi N-ary merupakan relasi dari 3 entitas atau lebih. Relasi ini
untuk menghubungkan dari tiga entitas yang dimaksukkan ke
relasi multi entitas. N-ary relation menunjukkan secara lebih jelas
bahwa beberapa entitas berpartisipasi dalam sebuah relasi tunggal.
Bentuk relasi semacam ini sebisa mungkin dihindari karena akan
26
mengaburkan derajat relasi yang ada dan akan menyebabkan
perencanaan database semakin kompleks.
Contohnya :
27
b. Satu ke Banyak (one to many)
Relasi satu ke banyak (one to many) berarti satu dari setiap himpunan
entitas boleh berhubungan dengan banyak himpunan entitas lainnya.
Sebagai contoh himpunan ibu dan anak berikut :
28
2.3 ALAT DAN BAHAN
1.3.1 Komputer/Laptop
1.3.2 Software Power Designer
2.4 LANGKAH-LANGKAH PRAKTIKUM
Tahapan pembuatan ERD
1. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat
2. Menentukan atribut-atribut key dari masing-masing himpunan antitas
3. Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan
entitas-himpunan entitas yang ada beserta foreign key nya
4. Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi
29
5. Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut
deskriptif
1.4.1 Latihan 1
Pada saat mendaftar menjadi anggota perpustakaan, dicatatlah nama,
nomor mahasiswa dan alamat mahasiswa. Setelah itu mereka baru bisa
meminjam buku di perpustakaan. Buku-buku yang dimiliki perpustakaan
banyak sekali jumlahnya. Tiap buku memiliki data nomor buku, judul,
pengarang, penerbit,tahun terbit. Satu buku bisa ditulis oleh beberapa
pengarang.
Penyelesaian
Langkah 1
Langkah 2
Langkah 3
Langkah 4
30
Langkah 5 (tandai primary key nya)
1.4.2 Latihan 2
Secara sederhana, untuk melakukan pemodelan data pada Power Designer,
kita harus memulainya pada level Conceptual Data Model (CDM),
dimana pemodelan data dilakukan dengan menggunakan metode
Entity Relationship Diagram. Pada CDM, tipe data yang dipergunakan
bersifat general, dan tidak spesifik terhadap suatu database tertentu. Tahap
kedua adalah membuat Physical Data Model (PDM), PDM merupakan
bentuk spesifik dari CDM yang telah kita bangun. Power Designer
memiliki banyak dukungan target database, sehingga kita tidak perlu
bingung mengenai tipe – tipe data yang dipergunakan, karena Power
Designer akan menyesuaikan seperti pada tipe data yang kita definisikan
sebelumnya pada tahap CDM. Tahap terakhir adalah mengenerate script
Data Definition Language (DDL) dari PDM yang telah dibuat. Melalui
DDL inilah kita dapat mengenerate objek – objek database (table,
trigger,view, procedure) sehingga kemudian DDL script ini dapat kita
eksekusi ke software database lain seperti access, Oracle atau MySQL,
atau dapat juga kita buat koneksi dan mengeksekusinya langsung via
Power Designer.
Proses pembuatan Conceptual Data Model dengan Sybase Power Designer
adalah sebagai berikut
31
a. Buka software Sybase Power Designer, pada kotak dialog Welcome to
PowerDesigner pilih Create Model pada kotak dialog New Model pilih
tab Model types pilih Conceptual Data Model Conceptual Diagram
b. Setelah masuk ke dalam lembar kerja, Langkah selanjutnya adalah
membuat entity yang dibutuhkan yaitu entity.
Misalnya kita buat enity supplier, entity pembelian, enity
detail_pembelian, enity barang, enity detail_pembelian, enity
pembelian dan enity customer. Pada tahapan ini kita akan membuat
enity supplier dengan klik icon entity pada pallete kemudian klik pada
lembar kerja maka akan tampil kotak enity dengan nama enity_1
c. Kemudian untuk mengubah nama entity klik kanan pada enity yang
sudah dibuat dan pilih properties. Pada tab general kita dapat memberi
nama enity yang akan kita buat.
d. Pada tab general kita dapat mengisikan atribut yang terdapat pada
entity tersebut dan menentukan tipe data yang kita gunakan dan juga
menentukan atribut yang menjadi primary key pada enity tersebut
e. Untuk membuat enity yang lain dapat mengikuti Langkah yang sama
dengan Langkah membuat enity supplier. Setelah semua entity dibuat
maka Langkah selanjutnya adalah membuat relasi antar semua antity
dengan klik icon relationship dan menghubungkan entity yang satu
dengan yang lain. Kemudian klik kanan pada relasi yang sudah dibuat
dan dipilih properties. Pada tab general kita dapat mengubah nama
relasinya kemudian pada tab cardinalities kita dapat mengubah
hubungan kardinalitas antara dua entity yang kita beri relasi.
f. Setelah semua entity ditentukan relasinya dan ditentukan kardinalitas
relasinya maka langkah selanjutnya adalah melakukan pengecekan
tentang kebenaran model yang kita buat dengan cara pilih I Tools
Check Model. Jika model yang kita buat sudah benar maka akan
terlihat pesan bahwa CDM yang telah dibangun benar pada bagian
bawah workspace.
32
2.5 HASIL DAN ANALISA PRAKTIKUM
1. Hasil
Analisa :
Dalam membuat sebuah CDM kita harus mengetahui hubungan kardinalitas
antar
entity yang akan dimasukkan dalam CDM tersebut. Pada CDM di atas
hubungan
kardinalitasnya dapat diuraikan sebagai berikut:
1. Supplier dan pembelian mempunyai kardinalitas relasi one to many.
2. Pembelian dan detail_pembelian mempunyai hubungan kardinalitas one
to many dan juga berhubungan secara dependent.
3. Detail_pembelian dan barang mempunyai hubungan kardinalitas many to
one.
4. Barang dan detail_penjualan mempunyai hubungan kardinalitas one to
many.
5. Detail_penjualan dan penjualan mempunyai hubungan kardinalitas many
to one dan juga berhubungan secara dependent.
6. Penjualan dan customer mempunyai hubungan kardinalitas many to one
2. Hasil
33
Analisa :
PDM dibuat berdasarkan CDM yang sudah kita buat pada Sybase Power
Designer. PDM dibuat dengan melakukan generate into physical data model
pada
CDM. Penjelasan tentang PDM tersebut adalah sebagai berikut:
1. Hubungan kardinalitas pada entity supplier dan entity pembelian adalah
one to many sehingga atribut id_supplier yang menjadi primary key pada
entity supplier akan menjadi foreign key pada entity pembelian.
2. Hubungan kardinalitas pada entity pembelian dan entity detail_pembelian
adalah one to many dan berhubungan secara dependent sehingga atribut
no_faktur_pembelian yang menjadi primary key pada entity pembelian
akan menjadi primary key dan foreign key pada entity detail_pembelian.
3. Hubungan kardinalitas pada entity detail_pembelian dan entity barang
adalah one to many sehingga atribut kode_barang yang menjadi primary
key pada entity barang akan menjadi foreign key pada entity
detail_pembelian.
4. Hubungan kardinalitas pada entity barang dan entity detail_penjualan
adalah many to one sehingga atribut kode_barang yang menjadi primary
key pada entity barang akan menjadi foreign key pada entity
detail_penjualan.
5. Hubungan kardinalitas pada entity detail_penjualan dan entity penjualan
adalah many to one dan berhubungan secara dependent sehingga atribut
no_faktur_penjualan yang menjadi primary key pada entity penjualan
akan menjadi primary key dan foreign key pada entity detail_penjualan.
34
6. Hubungan kardinalitas pada entity penjualan dan entity customer adalah
many to one sehingga atribut id_customer yang menjadi primary key pada
entity cutomer akan menjadi foreign key pada entity pembelian.
2.6 TUGAS/SOAL
1. Tentukan entitas, attribute, key, relasi, derajat kardinalitas dari permasalahan:
a. Sistem penyewaan hotel/kos/asrama
b. Sistem inventaris barang
2. Implementasikan dalam Sybase power designer
2.7 HASIL
1. Penentuan entitas, attribute, key, relasi, derajat kardinalitas dari permasalahan
a. Sistem penyewaan hotel/kos/asrama
Entitas : pemilik kos, penyewa, kamar, transaksi
Attribute : pemilik kos (nama, alamat, no telepon), penyewa (nama,
alamat, no hp), kamar (no kamar, lantai), transaksi (kode transaksi, tgl
penyewaan, lama penyewaan, harga sewa).
Key : no.telepon, no hp, no kamar
Relasi : pemilik “menyediakan” kamar, penyewa “menyewa” kamar,
pemilik “melayani” penyewa, penyewa “membayar” transaksi.
Derajat kardinalitas : pemilik dengan kamar (one to many), penyewa
dengan kamar (one to one), pemilik dengan penyewa (one to many),
penyewa dengan transaksi (one to one).
b. Sistem inventaris barang
Entitas : admin, pemasok,penyewa, barang, transaksi
Attribute : admin (id.admin,nama, alamat, no_telepon,gaji), pemasok
(nama, alamat, kode pemasok, no hp), penyewa (nama, alamat, no hp),
barang (nama barang, kode barang,merk, jumlah), transaksi
(kode_transaksi, tgl penyewaan, harga sewa, lama penyewaan, jumlah
sewa)
Key : id.admin, no hp, kode barang,kode pemasok, kode_transaksi.
35
Relasi : admin “merawat” barang, admin “mendata” pemasok penyewa
“menyewa” barang, pemilik “melayani” penyewa, penyewa “membayar”
transaksi.
Derajat kardinalitas : admin dengan barang (one to many), admin dengan
pemasok (one to many), penyewa dengan barang (one to many), admin
dengan penyewa (one to many), penyewa dengan transaksi (one to one).
2. Hasil pengimplementasian
a. CDM
PDM
b. CDM
36
PDM
2.8 SIMPULAN
Basis data adalah sekumpulan data yang saling berhubungan yang disimpan
secara Bersama sedemikian rupa dan tanpa pengulangan (redundancy) yang tidak
perlu, untuk memenuhi berbagai kebutuhan.
Model data adalah sekumpulan cara/peralatab/tool untuk mendeskripsikan data-
data, hubungannya satu sama lain, semantiknya serta Batasan konsistensi. Ada 5
jenis model data salah satunya adalah Enity-Relationship Model.
ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis
data yang berdasarkan suatu persepsi bahwa di dunia nyata terdiri dari object-
37
object dasar yang memiliki hubungan atau relasi dari object-object tersebut.
Model Relasi Entitas atau Entity-Relationship Model pada hakekatnya
perwujudan dari model relasional dalam bentuk diagram, yaitu ER-Diagram.
2.9 LAMPIRAN
38
LAPORAN SEMENTARA
PRAKTIKUM BASIS DATA
Penyusun :
Ella Fransiska (200631100081)
39
MODUL III : TRANSFORMASI
3.1 TUJUAN
Dalam praktikum ini diharapkan mahasiswa :
1. Dapat merancang basis data dari permasalahan disekitar
2. Dapat melakukan konversi perancangan basis data model ER ke Model Data
Relational
40
atribut alamat tidak menjadi
kolom.
41
yang berelasi dengan entitas
lemah menjadi kolom foreign key.
Atribut nip di tabel karyawan,
menjadi foreign key (FK) di tabel
tanggungan.
42
memiliki kardinalitas satu (one),
menjadi foreign key pada entitas
yang memiliki kardinalitas banyak
(many), (sedikit ikut ke yang
banyak). Perhatikan atribiute nip,
menjadi fpreign key (fk) di tabel
peminjaman.
43
9. RELASI MANY TO MANY Setiap entitas kuat (strong entity)
menjadi satu tabel dan simple
atributnya menjadi kolom.
Relasi dari kardinalitas many-to-
many menjadi tabel, dan simple
atribut pada relasi menjadi kolom.
Atribut kunci pada entits yang
memiliki kardinalitas satu (many),
menjadi foreign key pada relasi.
Jika diperlukan dapat
ditambahkan kolom baru sebagai
primary key pada tabel dari relasi
ini (lihat kolom id_det_pin).
Tabel yang terbentuk ada tiga (3)
buah. Perhatikan atribut kd_buku
dan kd_peminjaman menjadi
foreign key (fk) di tabel
detail_peminjaman.
44
dengan nama kolom seperti nama
atribut kunci. Atribut kunci
menambahkan foreign key dengan
nama kolom seperti nama sesuai
relasi. Tabel yang terbentuk ada
satu buah. Many – to – many
(M:N). relasi dari kardinalitas
many to many menjadi tabel, dan
simple atribut menjadi kolom
45
12 GENERALISASI DAN Entitas superclass menjadi tabel
SPESIALISASI dengan simple atribut menjadi
kolom.
Atribut kunci menjadi primary
key. Entitas subclass menjadi
tabel dengan simple atribut
menjadi kolom dan atribut kunci
dari superclass menjadi kolom
primary key pada subclass
Cara 1
Cara 2
Entitas subclass menjadi tabel
dengan simple atribut menjadi kolom
dan atribut dari entitas superclass
menjadi kolom pada subclass
menjadi kolom pada subclass.
Atribut kunci dari superclass menjadi
kolom primary key pada subclass.
46
3.3 ALAT DAN BAHAN
1. Komputer atau laptop
2. Software DIA
3. Software Power Designer
47
3.5 HASIL PERCOBAAN
3.6 TUGAS/SOAL
48
1. Konversikan model ERD ini ke model data relasional
2. Buatlah model dara ERD dan relasional dari tugas pada modul 2
2. ERD
49
CDM
PDM
50
3.8 SIMPULAN
Pada modul transformasi ini, kita mempelajari bagaimana cara mengkonversikan
model data ERD menjadi model data Rasional. Ada beberapa aturan yang harus
kita ketahui sebelum melakukan konversi model data tersebut. Saat kita
melakukan konversi relasi dari tiap entitas akan mempengaruhi pengonversian,
karena akan terjadi pembuatan tabel baru.
3.9 LAMPIRAN
51
LAPORAN SEMENTARA
PRAKTIKUM BASIS DATA
Penyusun :
Ella Fransiska (200631100081)
52
MODUL IV : DATA DEFINITION LANGUAGE (DDL)
4.1 TUJUAN
Dalam praktikum ini, diharapkan :
1. Praktikan mampu memahami instalasi MYSQL
2. Praktikan dapat memahami dasar-dasar MYSQL
3. Praktikan mampu memahami dan menggunakan printah DDL-MySQL
B. Tipe Data
Data yang terdapat dalam sebuah tabel berupa field-field yang berisi nilai dari
data tersebut. Nilai data dalam field memiliki tipe sendiri-sendiri. MySQL
mengenal beberapa tipe data field yaitu :
1. Tipe data numerik
Tipe data numerik dibedakan dalam dua macam kelompok, yaitu integer
dan floating point. Integer digunakan untuk data bilangan bulat sedangkan
floating point digunakan untuk bilangan decimal.
2. Tipe data string
String adalah rangkaian karakter. Tipe-tipe data yang termasuk dalam tipe
data string dapat dilihat pada tabel berikut :
Tipe Data Kisaran Nilai
CHAR 1-255 karakter
53
VARCHAR 1-255 karakter
TINYTEXT 1-255 karakter
TEXT 1-65535 karakter
MEDIUMTEXT 1-16777215 karakter
LONGTEXT 1-424967295 karakter
C. Operator MySQL
MYSQL mendukung penggunaan operator-operator dan fungsi-fungsi
diantaranya :
1. Operator Aritmatika
Suatu ekspresi yang melibatkan tipe data bilangan (NUMERIK) dan
tanggal (DATE) menggunakan ekspresi aritmatika. Dapat dilihat pada
tabel berikut :
Operator Keterangan
+ Tambah
- Kurang
* Kali
/ Bagi
Mod() Modulus/ hasil sisa bagi
54
2. Operator Pembandingan
Suatu ekspresi yang dapat digunakan pada klausa WHERE dan
mempunyai sintax sebagai berikut : WHERE expr operator value. Tabel
berikut menunjukkan operator pembanding pada MYSQL :
Operator Keterangan
= Sama dengan
> Lebih besar
< Lebih kecil
>= Lebih besar atau sama dengan
<= Lebih kecil atau sama dengan
<> Tidak sama dengan
3. Operator Logika
Operator ini digunakan untuk membandingkan dua nilai variable yang
bertipe Boolean. Berikut tabel yang menunjukkan operator logika pada
MYSQL :
Operator Keterangan
AND Dan
OR Atau
NOT Tidak
4. Operator Karakter
Operator untuk membentuk pencarian string yang sesuai dengan nilai yang
mencantumkan pada kondisi. Kondisi pencarian dapat berisi karakter, ada
3 symbol khusu berikut ini dapat dilihat pada tabel :
Operator Keterangan
% Sembarang karakter berapapun
jumlahnya
_ Sembarang satu karakter
55
[] Sembarang karakter yang terletak
dalam kurung siku
5. Operator Lain-lain
Operator yang digunakan untuk menguji nilai-nilai yang ada dalam list
(tanda kurung) dan dapat juga untuk baris berdasarkan suatu jangkauan
(range) nilai. Ada 2 symbol tersebut dapat dilihat pada tabel berikut ini :
Operator Keterangan
IN Dalam
BETWEEN Diantara
6. Fungsi Agregat
Fungsi agregat (kadang kala disebut fungsi grup atau fungsi ringkasan)
adalah fungsi yang disediakan oleh SQL untuk menghasilak sebuah nilai
berdasarkan sejumlah data. Fungsi sendiri adalah sesuatu kumpulan
instruksi yang menghasilkan sebuah nilai jika dipanggil. Fungsi ini juga
digunakan pada data numerik untuk menghitung nilai baik rata-rata dan
jumlah dari sekumpulan data maupun pencarian jumlah baris dalam tabel.
Untuk lebih jelasnya dapat dilihat dalam tabel berikut :
Operator Keterangan
COUNT Menghitung jumlah baris suatu field
SUM Menjumlahkan data-data numeric pada suatu tabel
AVG Menghitung rata-rata suatu field
MAX Menghitung nilai maksimum suatu field
MIN Menghitung nilai minimum suatu field
56
Struktur basis data yang menggambarkan skema basis data secara keseluruhan
dan di desain dengan Bahasa khusus yang disebut DDL (Data Definition
Language). Dengan Bahasa inilah kita dapat membuat tabel baru, membuat
indeks, mengubah tabel, menentukan struktur penyimpanan tabel baru,
membuat tabel dan sebagainya. Yang termasuk dalam kelompok DDL ini
adalah :
CREATE untuk menciptakan tabel ataupun indeks
ALTER untuk mengubah struktur tabel
DROP untuk menghapus tabel ataupun indeks
1. CREATE
Instalasi sistem manajemen database (DBMS) pada komputer
memungkinkan anda untuk membuat dan mengelola banyak database
independent. Misal :
create database namadatabase;
2. USE
Perintah USE memungkinkan anda untuk menentukan database yang ingin
bekerja dengan anda dalam DBMS.
use namadatabase;
3. ALTER
Setelah anda telah membuat tabel dalam database, anda mungkin ingin
memodifikasi struktur tabel itu. Perintah ALTER yang memungkinkan
anda untuk membuat perubahan pada struktur tabel tanpa menghapus dan
menciptakan tabel baru dengan nama yang berbeda.
4. DROP
Perintah terakhir dari Data Definition Language, DROP yang
memungkinkan kita untuk menghapus seluruh objek database dari DBMS.
Gunakan perintah ini dengan hati-hati! Ingat bahwa perintah DROP
menghapus data keseluruhan struktur dari database anda.
drop database namadatabase;
57
E. CONSTRAINT
Constraint adalah Batasan atau aturan yang ada pada tabel. MySQL
menyediakan beberapa tipe constraint berikut :
1. NOT NULL
Suatu kolom yang didefinisikan dengan constraint Not Null tidak boleh
berisi nilai Null. Kolom yang berfungsi sebagai kunci primer (primary
key) otomatis tidaak boleh Null.
2. UNIQUE
Mendefinisikan suatu kolom menjadi bersifat unik, artinya antara satu data
dengan data lainnya Namanya tidak boleh sama, missal alamat email.
3. PRIMARY KEY
Constraint Primary Key membentuk key yang unik untuk suatu tabel.
4. FOREIGN KEY
Foreign Key Constraint didefinisikan pada suatu kolom yang ada pada
suatu tabel, dimana kolom tersebut juga dimiliki oleh tabel yang lain
sebagai suatu primary key, biasa dipakai untuk menghubungkan antara
dua tabel.
58
2. Data Relasional
Tabel Mahasiswa
NIM NAMA ALAMAT
Tabel Matakuliah
KDMK MTKUL SKS
Tabel Mengambil
NIM KDMK NILAI
2. Direktori MySQL
59
Semua proses yang berjalan untuk bekerja dalam MySQL terdapat dalam
direktori mysql. Didalam direktori mysql terdapat beberapa direktori,
yaitu seperti terlihat pada gambar dibawah :
60
d. Selanjutnya aka nada respon dari server seperti gambar berikut
b) Membuat tabel
Perintah yang digunakan untuk membuat tabel menggunakan
perintah berikut :
CREATE TABLE nama_tabel (Field1 TipeData1
(panjangData) NOT NULL PRIMARY KEY, Field2 TipeData2
(panjangData2),…, FieldN TipeDataN (panjangDataN));
Keterangan :
• Nama_tabel → nama yang diberikan di tabel baru. Nama tabel
maksimal terdiri dari 8 karakter. Tidak boleh memakai spasi,
terdiri dari huruf
• Field → nama yang diberikan untuk kolom baru, maksimal
terdiri dari 10 karater, tidak boleh memakai spasi, terdiri dari
huruf, angka dan lain-lain.
• Tipe_data → jenis data yang nilainya dimasukkan dalam
kolom yang telah ditentukan.
61
• Lebar_data → nomor spasi karakter untuk mengikuti data
yang dimasukkan dalam kolom yang telah ditentukan.
• Constraint → Batasan yang digunakan untuk field seperti NOT
NULL, Primary Key.
Contoh
Struktur database
• Mahasiswa (nim varchar(15) primary key, nama varchar(30),
alamat varchar(30))
• Matakuliah (kdmk varchar(15) primary key, matkul
varchar(25), sks int)
• Mengambil (nim char(8), kdmk char(5), nilai int)
Maka untuk membuat tabel dalam MySQL
• CREATE TABLE Mahasiswa (nim varchar(15) primary key,
nama varchar(30), alamat varchar(30))
• CREATE TABLE Matakuliah (kdmk varchar(15) primary
key, matkul varchar(25), sks int)
• CREATE TABLE Mengambil (nim char(8), kdmk char(5),
nilai int)
62
1) Langkah-langkah masuk ke PHPMyAdmin (admin) pada module
MySQL
a) Klik (Admin) pada module MySQL lalu buka browser
kemudian ketikkan “localhost/phpMyAdmin/” pada url.
b) Kemudian, pilih SQL untuk membuat database baru
2) Perintah MySQL
a) Membuat Database
Create database namadatabase;
Contoh :
Create database universitas;
b) Membuat Tabel
Perintah yang digunakan untuk membuat tabel menggunakan
perintah berikut :
CREATE TABLE nama_tabel (Field TipeData1
(panjangData) NOT NULL PRIMARY KEY, Field2
TipeData2 (panjangData2),…, FieldN TipeDataN
(panjangDataN));
Keterangan :
• Nama_table → nama yang diberikan di tabel baru. Nama
tabel maksimal terdiri dari 8 karakter. Tidak boleh
memakai spasi, terdiri dari huruf.
63
• Field → nama yang diberikan untuk kolom baru,
maksimal terdiri dari 10 karakter. Tidak boleh memakai
spasi, terdiri dari huruf, angka dan lain-lain.
• Type-data → jenis data yang nilainya dimasukkan dalam
kolom yang telah ditentukan.
• Lebar_data → nomor spasi karakter untuk mengikuri data
yang dimasukkan dalam kolom yang telah ditentukan.
• Constraint → Batasan yang digunakan untuk field seperti
NOT NULL, Primary Key,.
Contoh
Struktur database
• Mahasiswa (nim varchar(15) primary key, nama
varchar(30), alamat varchar(30))
• Matakuliah (kdmk varchar(15) primary key, matkul
varchar(25), sks int)
• Mengambil (nim char(8), kdmk char(5), nilai int)
Maka untuk membuat table dalam MySQL
• CREATE TABLE Mahasiswa (nim varchar(15) primary
key, nama varchar(30), alamat varchar(30))
• CREATE TABLE Matakuliah (kdmk varchar(15)
primary key, matkul varchar(25), sks int)
• CREATE TABLE Mengambil (nim char(8), kdmk
char(5), nilai int)
64
4.5 HASIL DAN ANALISA PERCOBAAN
1. Implementasi Perancangan Basis Data dengan MySQL berbasis teks
65
Pada implementasi menggunakan command prompt ini yaitu membuat
database universitas, dengan cara melakukan perintah create. Jika database
telah dibuat maka gunakan perintah use untuk menggunakan database tersebut
dan untuk memberikan table dan juga atribut-atribut yang akan digunakan.
Dalam database universitas terdapat 3 table yaitu mahasiswa, mata kuliah dan
mengambil. Untuk membuat table dan menambahkan atribut digunakan
perintah create table, kemudian berikan atribut-atribut yang akan digunakan.
Setelah semua tabel terisi atribut cek atribut yang ada dalam tabel dengan
menggunakan perintah desc namatabel.
66
Untuk membuat database, tabel dan atribut menggunakan perintah yang sama
seperti pada implementasi DDL berbasis teks menggunakan Command
Prompt, untuk mengecek apakah database berhasil dibuat hanya cukup dengan
mengeklik tombol go.
4.6 TUGAS/SOAL
1. Buatlah perancangan dari salah satu dari beberapa database berikut (ERD &
Relasional):
a. Koperasi simpan pinjam
b. Peminjaman buku/komik
2. Implementasikan fungsi DDL dari perancangan pada no.1
67
4.7 JAWABAN
1. ERD
Relasional
68
69
70
71
DDL menggunakan PHPMyAdmin
72
Tabel anggota
Tabel petugas
73
Tabel Formulir
Tabel Angsuran
74
Tabel simpanan
Tabel pinjaman
75
4.8 SIMPULAN
4.9 LAMPIRAN
76
77
LAPORAN SEMENTARA
PRAKTIKUM BASIS DATA
Penyusun :
Ella Fransiska (200631100081)
78
MODUL V : DATA MANIPULATION LANGUAGE
5.1 TUJUAN
1. Praktikan dapat memahami perintah DML
2. Praktikan dapat memahami dan memanipulasi data dalam database
1. INSERT
Untuk menambahkan baris pada table.
Cara 1 : menambahkan baris tiap kolom
79
Insert into namatabel values (nilai1,nilai2,,,,nilai-n)
Cara 2: menambah baris hanya dengan mengisi data pada kolom tertentu
Insert into namatabel (kolom1,kolom2,…kolom-n) values
(nilai1,nilai2,…nilai-n)
Jika data type string,date,time maka nilainya diapit dengan tanda petik tunggal
atau ganda. Jika tipe numeric boleh tidak diberi tanda petik. Kolom-kolom
yang tidak disebutkan pada insert secara otomatis akan diisi dengan null dan
kolom yang tidak disebutkan dalam insert haruslah yang tidak not null.
2. SELECT
Secara umum perintah select hanya difungsikan untuk menampilkan data yang
ada di dalam suatu tabel. Tetapi dalam pengembangannya, perintah ini akan
menjadi sebuah perintah yang sangat penting dan berpengaruh hingga saat
pemrogrsaman di stored procedures dan triggers. Struktur perintah select
seperti berikut :
SELECT[DISTICT] select_list FROM table_source [WHERE
search_condition];
a. Untuk memilih semua kolom dari tabel, dapat menuliskan tanda asteristik
sesudah kata select. Symbol * berarti semua kolom, seperti berikut :
SELECT*FROM nama_tabel;
80
SELECT nama_kolom FROM namatabel WHERE kolom operator
nilai;
Dengan klausa WHERE, operator berikut seperti tabel berikut :
OPERATOR KETERANGAN OPERATOR KETERANGAN
= Sama dengan = Sama dengan
<> Tidak sama <> Tidak sama
dengan dengan
> Lebih besar dari > Lebih besar dari
< Lebih kecil dari < Lebih kecil dari
3. KONDISI LIKE
Kondisi LIKE digunakan untuk menentukan pencarian berdasarkan pola
tertentu pada suatu kolom, perintah yang digunakan seperti berikut :
SELECT nama_kolom FROM nama_tabel WHERE nama_kolom LIKE
pola;
Tanda “%” dapat digunakan untuk menentukan Wlidcard (sembarang huruf),
baik sebelum maupun sesudah pola. Perlu diingat operasi ini, hanya untuk
pembandingan nilai bertipe string. Perintah SELECT adalah perintah untuk
menampilkan data yang ada di dalam suatu tabel, yang mana dalam
pengembangannya perintah ini akan menjadi sebuah perintah yang sangat
penting dan berpengaruh hingga saat pemrograman di stored procedures dan
string.
4. UPDATE
Pernyataan UPDATE digunakan untuk modifikasi data dalam tabel
menggunakan perintah berikut :
UPDATE nama_tabel SET nama_kolom = nilai_baru WHERE
nama_kolom = nilai;
5. DELETE
81
Pernyataan DELETE digunakan untuk menghapus baris pada tabel, perintah
yang digunakan seperri berikut :
DELETE FROM nama_tabel WHERE nama_kolom = nilai;
b. Tabel Matkul
82
3. Menampilkan data pada tabel
Untuk menampilkan dari sebuah tabel dapat menggunakan perintah berikut :
SELECT (field1,field2, …, field-n) FROM nama_tabel;
Query diatas mengartikan bahwa data yang akan ditampilkan didalam tabel
hanya field tertentu.
Atau
SELECT*FROM nama_tabel;
Query diatas mengartikan bahwa data dari seluruh field yang terdapat dalam
tabel akan ditampilkan.
Contoh :
a. Menampilkan data dari seluruh field
83
WHERE yang artinya dimana, untuk menampilkan data menggunakan
perintah where (dimana) dapat menggunakan perintah berikut:
SELECT*FROM nama_tabel WHERE kondisi;
Contoh : menampilkan data dengan perintah where
84
6. Menampilkan data dengan perintah LIKE
Perintah LIKE kadang dibutuhkan dalam pembuatan database yaitu dalam
menampilkana data tertentu yang berkaitan dengan kata-kata yang diinginkan
perintah yang digunakan adalah:
SELECT*FROM nama_tabel WHERE nama_kolom LIKE
‘%nama_kaitan%’;
Contoh :
85
a. ASC (Pengurutan dengan ascending)
b. DESC (Pengurutan dengan descending)
Perintah yang digunakan adalah :
SELECT*FROM nama_tabel ORDER BY kolom type;
Contoh :
86
Kelompokkan data berdasarkan SKS
87
10. Menghapus baris dalam tabel
Perintah untuk menghapus semua data yang terdapat pada tabel :
DELETE FROM nama_tabel;
Sedangkan berikut perintah untuk menghapus data yang diinginkan dari
sebuah tabel :
DELETE FROM nama_tabel WHERE kondisi;
Contoh :
Hapus data yang beralamat di Malang
88
ada banyak cara atau sintaks yang bis akita gunakan untuk memodifikasi database,
untuk menambahkan data ke database kitab isa menggunakan perintah insert,
aturan dalam perintah insert ini data yang ditulis urutannya harus sesuai dengan
kolomnya. Ada pula sintaks update yang fungsinya untuk mengapdate data atau
mengubah data, sedangkan perintah select digunakan untuk menampilkan data
yang ingin ditampilkan atau dicari, dan perintah delete fungsinya untuk
menghabuh baris data ataupun menghapus table.
5.6 TUGAS/SOAL
1. Dari perancangan database modul 4 yang telah dibuat, implementasikan
perintah DML sebagai berikut:
a. INSERT
b. SELECT, dengan perintah :
1) WHERE
2) LIKE
3) BETWEEN
4) ORDER BY
5) GROUP BY
2. Dari perancangan database di modul 4 yang telah dibuat, implementasikan
perintah DML sebagai berikut :
a. UPDATE
b. DELETE
5.7 JAWABAN
1. Hasil
89
a. Insert
b. Select
1) Where
2) Like
3) Between
4) Order by
90
5) Goup by
2. Hasil
a. Update
b. Delete
5.8 SIMPULAN
DML (Data Manipulation Language) adalah Bahasa yang memungkinkan
pengguna mengakses atau memanipulasi data seperti yang diatur oleh model data.
Query adalah pernyataan yang meminta pengguna mengambil informasi. Bagian
DML yang terlibat dalam pengambilan informasi disebut bahasa query. Istilah
91
Bahasa query sering disamakan dengan istilah bahasa manipulasi data. Sedangkan
SQL adalah sebuah sintaks untuk mengeksekusi query.
Dalam DML terdapat beberapa istilah yang digunakan, diantaranya yaitu insert
(untuk menambahkan isi data), select, update dan delete.
5.9 LAMPIRAN
92
LAPORAN SEMENTARA
PRAKTIKUM BASIS DATA
Penyusun :
Ella Fransiska (200631100081)
93
MODUL VI : RELASI DAN JOIN
6.1 TUJUAN
1. Praktikan mampu memahami keterhubungan entitas di dalam basis data.
2. Praktikan dapat memahami jenis-jenis operasi pengambilan data di beberapa
entitas.
3. Praktikan dapat menyelesaikan kasus-kasus retrieval yang melibatkan lebih
dari satu entitas.
94
null), dengan kata lain semua data dari tabel kiri mendapat pasangan data
dari sebelah kanan.
Sintaks inner join diperlihatkan sebagai berikut :
SELECT field1, field2, … FROM tabel1 INNER JOIN tabel2 ON
tabel1.kunci_utama = tabel2.kunci_asing
b. Outer Join
Outer join dibagi ke dalam tiga jenis, yaitu left join, right join dan full join
Left Join
Left join digunakan untuk menampilkan semua data dari tabel sebelah kiri
perintah left join beserta pasangannya dari tabel sebelah kanan. Meskipun
terdapat data dari sebelah kiri tidak memiliki pasangan, tetap akan
ditampilkan dengan pasangannya berupa nilai NULL.
Sintaks left outer join diperlihatkan sebagai berikut :
SELECT field1, field2, … FROM tabel1 LEFT JOIN tabel2 ON
tabel1.kunci_utama = tabel2.kunci_asing
Right Join
Right join digunakan untuk menampilkan semua data dari tabel sebelah
kanan perintah right join beserta pasanganyya dari tabel sebelah kiri.
Meskipun terdapat data dari sebelah kanan tidak memiliki pasangan, tetap
akan ditampilkan dengan pasangannya berupa nilai NULL.
Sintaks right outer join diperlihatkan sebagai berikut :
95
SELECT field1, field2, … FROM tabel1 RIGHT JOIN tabel2 ON
tabel1.kunci_utama=tabel2.kunci_asing
Full Join
Full join pada hakekatnya merupakan kombinasi dari left dan right join.
Sintaks full outer join diperlihatkan sebagai berikut :
SELECT field1, field2, … FROM tabel1 LEFT JOIN tabel2 ON
tabel1.kunci_utama=tabel2.kunci_asing UNION SELECT field1,
field2, … FROM tabel1 RIGHT JOIN tabel2 ON tabel1.kunci_utama
= tabel2.kunci_asing
c. Natural Join
Natural join digunakan untuk menampilkan data dari dua tabel yang berisi
data. Jika ada kolom yang sama dengan tipe data yang sama pada kedua
tabel, maka akan ditampilkan hanya satu kolom saja.
Sintaks natural join diperlihatkan sebagai berikut :
SELECT*FROM tabel1 NATURAL JOIN tabel2
96
1. Dari database universitas pada praktikum sebelumnya, isilah tabel yang telah
ada seperti berikut:
a. Tabel mahasiswa
b. Tabel mengambil
c. Tabel Matkul
2. INNER JOIN
Sintaks inner join diperlihatkan sebagai berikut :
97
3. LEFT JOIN
Sintaks left join diperlihatkan sebagai berikut :
4. RIGHT JOIN
Sintaks right join diperlihatkan sebagai berikut :
5. NATURAL JOIN
Sintaks natural join diperlihatkan sebagai berikut :
6. FULL JOIN
Sintaks full join diperlihatkan sebagai berikut :
98
6.5 HASIL DAN ANALISA PERCOBAAN
1. Hasil
99
2. Analisa
Ada berbagai macam jenis join yang dapat digunakan dalam database, untuk
inner join, left join dan right join kolom yang memiliki nama yang sama tetap
dipisah, akan tetapi jika pada natural join kolom yang sama akan dipilih satu
saja yang akan dihgunakan, sedangkan pada full join kita harus memperhatika
kolom yang akan digabungkan, jika jumlah kolom berbeda juga akan
mempengaruhi proses penggabungan, sehingga akan timbul kolom dengan
isian NULL.
6.6 TUGAS/SOAL
1. Dari perancangan database tugas di modul 5, implementasikan perintah relasi
berikut :
a. Inner join
b. Left join
c. Right join
d. Natural join
e. Full join
6.7 HASIL
1. Hasil implementasi
a. Inner join
b. Left join
c. Right join
100
d. Natural join
e. Full join
6.8 SIMPULAN
Join merupakan operasi yang digunakan untuk menggabungkan dua tabel atau
lebih dengan hasil berupa gabungan dari kolom-kolom yang berasal dari tabel-
tabel tersebut. Pada join sederhana, tabel-tabel digabungkan dan didasarkan pada
pencocokan antara kolom pada tabel yang berbeda. Tabel-tabel dalam sebuah
basisdata dapat dihubungkan satu sama lain menggunakan kunci.
Join ada beberapa macam, seperti inner join, left join, right join, natural join dan
juga full join.
6.9 LAMPIRAN
101
LAPORAN SEMENTARA
PRAKTIKUM BASIS DATA
Penyusun :
Ella Fransiska (200631100081)
102
MODUL VII : MODIFIKASI DATA (MYSQL DAN PHP)
7.1 TUJUAN
Dalam praktikum ini , diharapkan :
1. Memahami Langkah-langkah koneksi PHP dengan MySQL.
2. Membuat aplikasi yang terkoneksi dengan database MySQL
3. Mengembangkan kemampuan dalam membangun system basis data berbasis
client/server.
2. MySQL
MySQL adalah Relation Database Management System (RDBMS) yang
didistribusikan secara gratis dibawah lisensi GPL (General Public Licence).
Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh
dijadikan produk turunan yang bersifat closed source atau komersial. MySQL
sebenarnya merupakan turunan salah satu konsep utama dalam database sejak
lama, yaitu SQL. SQL adalah sebuah konsep pengoperasian database,
terutama untuk pemilihan atau selesi dan pemasukan data yang
memungkinkan pengoperasian data dikerjakan dengan mudah.
Sebagai database server, MySQL dapat dikatakan lebih unggul dari database
server laninnya dalam hal query data. Hal ini terbukti query yang dilakukan
oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari
103
PostgreSQL dan lima kali lebih cepat dibandingkan Interbase. Selai itu
MySQL juga memiliki beberapa keistimewaaan, antara lain:
104
<p style="font : Cheap Fire; font-size : 30px; text-align : left;"> :: DATA
MAHASISWA :: </p>
<HR width="50%" align="left">
<a href="tambah_mahasiswa.php"><input type ="submit" name
="submit" value ="TAMBAH"></a><br><br>
<table width="800" border="1" align="left">
<tr bgcolor="#00CCFF">
<th width="150" scope="col">NIM</th>
<th width="350" scope="col">NAMA MAHASISWA</th>
<th width="300" scope="col">ALAMAT</th>
<th width="250" colspan="2" scope="col">AKSI</th>
</tr>
<?php
//mengambil data dari tabel dokter ntuk menampilkan
$tampil = mysqli_query($koneksi, "select * from mahasiswa order by
nim");
$cek = mysqli_num_rows($tampil);
//mengetahui jumlah baris dalam tabel db dalam perintah yang ada
didalam $tampil
//apabila data kosong if($cek==0) {
echo"<h3>Maaf Data Masih Kosong</h3>";
}
else {
while($data=mysqli_fetch_array($tampil)) {
//mengubah baris data yang dipilih menjadi pecahan array?>
<tr>
<td><?php echo $data['nim'] ?></td>
<td><?php echo $data['nama'] ?></td>
<td><?php echo $data['alamat'] ?></td>
<td width="63" align="center"><a href="edit_mahasiswa.php?id=<?php
echo $data['nim']?>">Edit</a></td>
105
<td width="57"
href="hapus_mahasiswa.php?id=<?php
$data['nim']?>">Delete</a></td>
</tr>
align="center"><a
echo
<?php
}
}
?>
</table>
106
<td></td>
<td></td>
</tr>
<td><input
value="SIMPAN">
type="submit"
name="submit"
id="submit"
<input type="reset" name="reset" id="reset" value="RESET"></td>
</tr>
</table>
</form>
<p>
<?php include("koneksi.php");
if(isset($_POST['submit'])) {
$nim=$_POST['nim'];
$nama=$_POST['nama'];
$alamat=$_POST['alamat'];
107
</tr>
<tr>
<td>ALAMAT</td>
<td>:</td>
<td><input name="alamat" type="text" id="alamat" maxlength="30"
value="<?php echo $data['alamat'] ?>"></td>
</tr> <tr>
<td></td> <td></td>
<td><input
value="SIMPAN">
type="submit"
name="submit"
id="submit"
<input type="reset" name="reset" id="reset" value="RESET">
</td>
</tr>
</table>
</form>
<p>
<?php
include("koneksi.php"); if(isset($_POST['submit'])){
$nim=$_POST['nim'];
$nama=$_POST['nama'];
$alamat=$_POST['alamat'];
if($nim!= "") {
$input=mysqli_query($koneksi, "update mahasiswa set
nim='$nim',nama='$nama',alamat='$alamat' where nim='$nim'");
if(!$input) {
echo"<script language='javascript'>alert('data gagal diupdate');
document.location='view_mahasiswa.php' </script>";
} else {
echo"<script language='javascript'>alert('data telah diupdate');
document.location='view_mahasiswa.php' </script>";
}
} else {
echo"<script language='javascript'>alert('NIM belum terisi');
document.location='view_mahasiswa.php' </script>";
}
}
?>
108
$hapusdata = mysqli_query($koneksi, "delete from mahasiswa where
nim='$id'");
if ($hapusdata) {
echo "<script language='javascript'>alert('data telah dihapus');
document.location='view_mahasiswa.php' </script>";
}
?>
File koneksi
File view_mahasiswa
109
Pada file ini akan menampilkan isi dari tabel mahasiswa yang mana bisa dilakukan
pengeditan dan juga penghapusan
File tambah_mahasiswa
Pada tabel ini kitab isa melakukan penamban isi dari data tabel mahasiswa, jika
data yang dimasukkan salah bisa dilakukan reset jika sudah benar bisa langsung
di simpan.
File edit_mahasiswa
Pada tabel ini bisa dilakukan pengeditan data yang telah disimpan
File hapus_mahasiswa
110
7.6 TUGAS/SOAL
1. Buatlah komentar singkat dari maksud setiap baris pada setiap code.
7.7 JAWABAN
1. File koneksi
<?php
$koneksi = mysqli_connect ("localhost", "root", "", "universitas");
//Untuk masuk ke direktory localhost/root/universitas
if (mysqli_connect_errno()) { echo "Koneksi Gagal: "
.mysqli_connect_error(); }
//tampilan_tulisan_kalau_tidak_bisa_masuk_ke_directory_tersebut
?>
2. File view_mahasiswa
<?php include("koneksi.php");
//maksuknya adalah view_mahasiswa.php ini terhubung dengan file
koneksi.php
?>
<p style="font : Cheap Fire; font-size : 30px; text-align : left;"> ::
DATA
MAHASISWA :: </p>
<HR width="50%" align="left">
<a href="tambah_mahasiswa.php"><input type
="submit" name
="submit" value ="TAMBAH"></a><br><br>
111
<tr bgcolor="#00CCFF">
<th width="150" scope="col">NIM</th>
<th width="350" scope="col">NAMA MAHASISWA</th>
<th width="300" scope="col">ALAMAT</th>
<th width="250" colspan="2" scope="col">AKSI</th>
</tr>
<?php
//mengambil data dari tabel mahasiswa untuk ditampilkan
$tampil = mysqli_query($koneksi, "select * from mahasiswa order
by nim");
//menampilkan data mahasiswa berdasarkan urutan nim
$cek = mysqli_num_rows($tampil);
//mengetahui jumlah baris dalam tabel db dalam perintah yang ada
didalam $tampil
while(
$data=mysqli_fetch_array($tampil)
)
{
//mengubah baris data yang dipilih menjadi pecahan array
?>
<tr>
<td><?php echo $data['nim'] ?></td>
<td><?php echo $data['nama'] ?></td>
<td><?php echo $data['alamat'] ?></td>
112
<td width="63" align="center"><a
href="edit_mahasiswa.php?id=<?php echo
$data['nim']?>">Edit</a></td>
<td width="57" align="center"><a
href="hapus_mahasiswa.php?id=<?php echo
$data['nim']?>">Delete</a></td> </tr>
<?php
}
?>
</table>
3. File tambah_mahasiswa
<p style ="font :Cheap Fire; font-size :30px; text-align :left;"> ::
//menentukan jenis font, ukuran dan perataan teks
TAMBAH DATA MAHASISWA ::</p> //sebagai judul
<hr width="50%" align="left">
<form action="" method="post">
<table width="800" border="0" align="left"> //untuk menentukan
lebar dari garis pembatas serta ketebalan garis dan perataannya
<tr>
<td width="157">NIM</td> //untuk menentukan lebar dari kolom
NIM
<td width="10">:</td> //untuk menentukan lebar jarak dari :
<td width="419"> //untuk menentuka lebar kolom dari isi data
<input name="nim" type="text" id="nim" maxlength="13"></td>
//menentukan atribut yang akan diisi serta jenis teks dan Panjang
maaksimal dari isi data atribut
</tr>
<tr>
<td>NAMA</td> //memberikan nama
113
<td>:</td>
<td><input name="nama" type="text" id="nama"
maxlength="50"></td> //menentukan jenis atribut, tipe data dan
juga Panjang maksimal
</tr>
<tr>
<td>ALAMAT</td> //memberikan nama pada baris selanjutnya
<td>:</td>
<td><input name="alamat" type="text" id="alamat"
maxlength="30"></td> //menentuka nama,type data dan juga
Panjang maksimal pada kolom tsb
</tr>
<td><input type="submit" name="submit"
id="submit" value="SIMPAN"> //membuat tombol simpan untuk
menyimpan data yang dimasukkan
<input type="reset" name="reset" id="reset"
value="RESET"></td> //membuat tombol reset untuk mereset atau
mengatur ulang data yang telah diisikan
</tr>
</table>
</form>
<p> <?php
include("koneksi.php"); //mengoneksikan dengan database yang
sedang digunakan
if(isset($_POST['submit'])) {
$nim=$_POST['nim'];
$nama=$_POST['nama'];
$alamat=$_POST['alamat'];
if($nim!= "") { //memanggil
$input=mysqli_query($koneksi, "insert into
mahasiswa(nim,nama,alamat)
114
values('$nim','$nama','$alamat')"); if(!$input) {
echo"<script language='javascript'>alert('data gagal
tersimpan'); //tampilan jika data yang dimasukkan tidak bisa
tersimpan
document.location='view_mahasiswa.php'</script>";
} else {
echo"<script language='javascript'>alert('data telah
tersimpan'); document.location='view_mahasiswa.php' </script>"; }
//tampilan jika data yang masuk telah tersimpan kemudian masuk
pada file view_mahasiswa
} else { echo"<script language='javascript'>
alert('NIM belum terisi'); //tampilan jika data nim belum terisi
document.location='view_mahasiswa.php' </script>"; //masuk pada
view_mahasiswa
}
}
?>
4. File edit_mahasiswa
<p style ="font:Cheap Fire; font-size:30px; text-align:left;">:: EDIT
DATA MAHASISWA ::</p> //menentuka jenis font,ukuran dan
perataan pada bagian judul
<HR width="50%" align="left">
<form action="" method="post"
enctype="multipart/form-data" name="form1">
<?php
include('koneksi.php'); //mengoneksikan dengan database
$id = $_GET['id'];
$ambildata=mysqli_query($koneksi, "select * from mahasiswa
where nim='$id'"); //mengambil data mahasiswa sesuai dengan nim
115
$data=mysqli_fetch_array($ambildata);
?>
<table width="580" border="0">
<tr>
<td width="157">NIM</td> menentukan lebar kolom Nim
<td width="10">:</td> //menentukan jarak antara :
<td width="419"> //menentukan lebar atau jarak kolom data yang
akan diisi
<input name="nim" type="text" id="nim"
maxlength="13" value="<?php echo $data['nim'] ?>"></td>
//menentukan nama atribut, typedata dan juga length atau panjang
maksimal data yang akan diisikan
</tr> <tr>
<td>NAMA</td>
<td>:</td>
<td><input name="nama" type="text" id="nama" maxlength="50"
value="<?php echo $data['nama'] ?>"></td> //menentukan nama
atribut, typedata dan juga length atau panjang maksimal data yang
akan diisikan
</tr> <tr>
<td>ALAMAT</td>
<td>:</td>
<td><input name="alamat" type="text" id="alamat"
maxlength="30" value="<?php echo $data['alamat'] ?>"></td>
//menentukan nama atribut, typedata dan juga length atau panjang
maksimal data yang akan diisikan
</tr> <tr>
<td></td> <td></td>
<td><input type="submit" name="submit"
id="submit" value="SIMPAN"> //membuat tombol untuk
menyimpan
116
<input type="reset" name="reset" id="reset" value="RESET">
//membuat tombol untuk mereset ulang data yang diisikan
</td>
</tr>
</table>
</form>
<p>
<?php
include("koneksi.php"); if(isset($_POST['submit'])){
$nim=$_POST['nim'];
$nama=$_POST['nama'];
$alamat=$_POST['alamat'];
if($nim!= "") {
$input=mysqli_query($koneksi, "update mahasiswa
set nim='$nim',nama='$nama',alamat='$alamat' where
nim='$nim'"); if(!$input) {
echo"<script language='javascript'>alert('data gagal diupdate');
document.location='view_mahasiswa.php' </script>"; //tampilan
ketika data gagal diupdate
} else {
echo"<script language='javascript'>alert('data telah diupdate');
document.location='view_mahasiswa.php' </script>"; } //tampilan
ketika data telah diupdate dan menampilkan file view mahasiswa
} else { echo"<script language='javascript'>alert('NIM belum
terisi'); document.location='view_mahasiswa.php' </script>";
//tampilan jika data nim belum terisi
}
}
?>
117
5. File hapus mahasiswa
<?php include('koneksi.php');
$id = $_GET['id'];
$hapusdata = mysqli_query($koneksi, "delete from mahasiswa
where nim='$id'"); //scrip untuk menghapus data sesuai nim yang
diinginkan
if ($hapusdata) { echo "<script language='javascript'>alert('data
telah dihapus'); document.location='view_mahasiswa.php'
</script>"; } //tampilan ketika data telah dihapus dan akan menuju
pada view_mahasiswa
?>
7.8 SIMPULAN
Pada praktikum kali ini, kita dapat menyimpulkan bahwa kita bisa melakukan
modifikasi database yang telah kita buat dengan menggunakan PHP, selain bisa
melakukan modifikasi dengan mengoneksikan MYSQL dengan PHP dapat
mempermudah kita untuk menghapus data dan juga memodifikasi serta
melakukan penambahan data.
7.9 LAMPIRAN
118
SARAN
Saran yang dapat diberikan untuk laporan praktikum basis data ini adalah :
1. Bagi Asisten Praktikum : ketika diadakan praktikum disarankan agar dilakukan
perekaman atau mungkin memberikan referensi youtube atau video tutorial dalam
praktikum agar para praktikan mampu mempelajari kembali materi yang telah
disampaikan waktu praktikum.
2. Bagi praktikan : dapat melakukan percobaan secara terus menerus agar mengasah
kemampuan serta mampu menerapkan materi yang telah diterima. Praktikan juga
tidak hanya berpacu pada modul serta penjelasan yang telah disampaikan oleh
asprak saja, akan tetapi juga mencari referensi-referensi dari berbagai media.
119
DAFTAR PUSTAKA
120
BIODATA PENULIS
Data Pribadi
Nama : Ella Fransiska
Tempat Tanggal Lahir : Tuban, 29 September 2002
Alamat : Dsn. Siwalan Ds. Glagahsari Kec. Soko Kab. Tuban
Email : ellafransiska9@gmail.com
Riwayat Pendidikan
SDN Glagahsari __________________________________________ 2007-2014
Ds. Glagahsari Kec. Soko Kab. Tuban
Mts Tarbiyatul Islam Soko __________________________________ 2014-2017
Ds. Sokosari Kec. Soko Kab. Tuban
MA Tarbiyatul Islam Soko __________________________________ 2017-2020
Gg. Nur Hasyim No 7 , jalan raya Sokosari Kec. Soko Kab. Tuban
Universitas Trunojoyo Madura _______________________________ 2020-sekarang
Kecamatan Kamal, Bangkalan Jawa Timur
121