Modul Praktikum Basis Data 2023
Modul Praktikum Basis Data 2023
basis data
Disusun oleh:
Fhatiah Adiba,S.Pd.,M.Cs.
Edisi 3
PENDAHULUAN
Basisdata dalam bahasa Indonesia terdiri atas dua suku kata, yaknik basis dan data.
Basis dapat diartikan sebagai markas atau gudang, tempat bersarang/berkumpul.
Sedangkan Data adalah representasi fakta dunia nyata yang mewakili suatu objek
seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa,
konsep, keadaan, dan sebagainya, yang diwujudkan dalam bentuk angka, huruf,
symbol, teks, gambar, bunyi, atau kombinasinya. Berdasarkan uraian tersebut
Basisdata dapat didefenisikan sebagai :
a. Basisdata adalah himpunan kelompok data (arsip) yang saling berhubungan
yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali
dengan cepat dan mudah.
b. Kumpulan data yang saling berhubungan yang disimpan secara bersama
sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk
memenuhi berbagai kebutuhan.
c. Kumpulan file/tabel/arsio yang saling berhubungan yang disimpan dalam
media penyimpanan elektronis.
Gambar 2. Basisdata
2
Gambar 3. MYSQL
MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database
sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep
pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data,
yang memungkinkan pengoperasian data dikerjakan dengan mudah dan cepat
secara otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui dari cara
kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat
oleh user maupun program-program aplikasinya. Sebagai database server, MySQL
dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query
data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query
MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat
dibandingkan Interbase.
1. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows,
Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
2. Open Source. MySQL didistribusikan secara open source, dibawah lisensi GPL
sehingga dapat digunakan secara gratis.
3
3. MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan
tanpa mengalami masalah atau konflik.
4. MySQL memiliki kecepatan yang menakjubkan dalam menangani query
sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan
waktu.
5. MySQL memiliki tipe kolom yang sangat kompleks, seperti signed / unsigned
integer, float, double, char, text, date, timestamp, dan lain-lain.
6. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah
Select dan Where dalam perintah (query).
7. Keamanan. MySQL memiliki beberapa lapisan sekuritas seperti level
subnetmask, nama host, dan izin akses user dengan sistem perizinan yang
mendetail serta sandi terenkripsi.
8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam
skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu
tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung
mencapai 32 indeks pada tiap tabelnya.
9. Dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix
soket (UNIX), atau Named Pipes (NT).
10. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan
lebih dari dua puluh bahasa.
11. MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa
pemrograman dengan menggunakan fungsi API (Application Programming
Interface).
12. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER
TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle
WAMP merupakan singkatan dari Windows, Apache, MySQL, dan PHP. Software ini
dikhususkan untuk personal computer (PC) atau Laptop yang memiliki sistem operasi
Windows untuk dijadikan sebuah server yang bersifat lokal atau biasa disebut dengan
localhost.
2. Untuk masuk kedalam server MySQL, bukalah MS-DOS Prompt anda melalui
Run kemudian ketik Command atau cmd. Maka anda dapat masuk kedalam
direktori MySQL melalui MS-DOS Prompt seperti dibawah ini.
Ketikkan sintaks sesuai dalam kotak merah diatas lalu tekan enter.
3. Ketikkan mysql –u root –p
Lalu enter, akan muncul perintah password: biarkan kosong lalu tekan enter
6
a. Operator Lain-lain
Operator yang digunakan untuk menguji nilai-nilai yang ada dalam list (tanda
kurung) dan dapat juga untuk menampilkan baris berdasarkan suatu jangkauan
(range) nilai. Ada 2 symbol tersebut dapat dilihat pada tabel 7 berikut ini:
Pemanfaatan basis data memungkinkan kita untuk dapat menyimpan data atau
melakukan
perubahan/memanipulasi data atau menampilkn kembali data tersebut dengan cepat
dan mudah.
PRAKTIKUM 1
DATA DEFENITION LANGUAGE (DDL)
1.1 Tujuan
a. Menjelaskan ap aitu Data Defenition Language
b. Menjelaskan dan membuat perintah untuk mendefinisikan objek dari basisdata
meliputi atribut-atribut basisdata dan tabel.
DBMS merupakan perantara bagi pemakai dengan basis data dalam disk. Cara berinteraksi
atau berkomunikasi antara pemakai dengan basis data tersebut diatur dalam suatu bahasa
khusus yang ditetapkan oleh perusahaan pembuat DBMS. Sebuah bahasa basis data biasanya
dapat dikelompokkan ke dalam 2 bentuk, yaitu Data Definition Language (DDL) dan Data
Manipulation Language (DML). Dalam bab ini lebih khusus hanya membahasa tentang DDL.
1.3.2 Tabel
Tabel adalah ekuivalensi dari sebuah entitas dalam sebuah ER model. Sebuah
tabel terdiri dari beberapa kolom yang disebut dengan field dan sebuah field terdiri
dari beberapa baris (record). Sedangkan field adalah ekuivalensi dari atribut sebuah
entitas dalam sebuah ER model. Dapat juga dianggap sebagai bentuk
pengelompokan data pada sebuah tabel. Record adalah satuan data atomik (terkecil)
yang ada dalam sebuah tabel. Sebuah record terbentuk dari beberapa informasi/data
dari beberapa field. Contoh : "05621045, Anamisa, Jl. Pinang No.75" adalah sebuah
record yang tersimpan dalam field tabel mahasiswa.
Untuk membuat sebuah relationship diperlukan field-field yang saling
berpadanan. Field-field yang dimaksud adalah memiliki batasan integritas. Batasan
integritas adalah suatu kondisi yang harus bernilai benar untuk suatu instance dalam
basis data, diantaranya adalah: NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY.
Sintaks untuk penulisan constraint:
CREATE TABLE nama_tabel (
nama_column datatype [DEFAULT expr] [column_constraint],
……..
CONSTRAINT [table_constraint][,….]);
6 show tables;
7 desc tekomA;
Membuat kunci primer (primary key)
8 Ketikkan
9 describe data_diri;
Menghapus tabel
10 drop table tekomA;
Membuat Kolom Unik (unique)
11 Ketikkan
Mengubah tabel
12 rename table tekoma to tekom_a;
13 alter table tekom_a add nim int(12);
14 alter table tekom_a drop nim;
15 Diskoneksi dari MySQL, ketik :
Quit atau \q
16
b. Tabel prodi
Field Type data
Kode_prodi Char (6) primary key
Nama_prodi Char (30)
c. Tabel mata_kuliah
Field Type data
Mk_id Char (10) primary key
Nama_mk Char (10)
Jumlah_jam integer
Sks integer
d. Tabel ruang
Field Type data
Ruang_id Char (3) primary key
Nama_ruang Char (20)
Kapasitas Integer
e. Tabel dosen
Field Type data
NIP Int (16) primary key
Inisial Char (3) unique key
Nama_dosen Char (50)
Status Enum (‘T’,’LB’) default ‘T’
Sex Enum (‘L’,’P’) default ‘L’
Agama Char (20)
Login Char (20)
17
f. Tabel mengajar
Field Type data
Id_mengajar Int auto increment primary key
Jam_ke Integer
Hari Varchar(10)
Mk_id Char (10) foreign key fk1 (mk_id) references mata_kuliah
(mk_id)
Inisial Char(3) foreign key fk2 (inisial) references dosen (inisial)
Kode_prodi Char (6) foreign key fk3 (kode_prodi) references prodi
(kode_prodi)
Ruang_id Char (3) foreign key fk4 (ruang_id) references ruang
(ruang_id)
g. Tabel nilai
Field Type data
Nim Int foreign key fk5 (nim) references mahasiswa (nim)
Mk_id Char (10_ foreign key fk6 (mk_id) references mata_kuliah
(mk_id)
Kode_prodi Char (6) foreign key fk7 (kode_prodi) references prodi
(kode_prodi)
Inisial Char (3) foreign key fk8 (inisial) references dosen (inisial)
Nilai_uts Integer
Nilai_uas Integer
Nilai_akhir Integer
3. Tambahkan sebuah kolom Agama (varchar (10)) pada tabel mahasiswa sebagai kolom
terakhir !
4. Tambahkan kolom rid (char (10)) di awal kolom sebagai kolom pertama pada tabel
ruang !
5. Sispkan sebuah kolom dengan nama grade (char) pada tabel nilai setelah kolom inisial
6. Ubah nama tabel mahasiswa menjadi student !
7. Jadikan nim sebagai primary key pada tabel mahasiswa !
18
PRAKTIKUM 2
DATA MANIPULATION LANGUAGE (DML)
1. TUJUAN PRAKTIKUM
a. Memahami konsep data manipulation language
b. Memahami penggunaan dan implementasi query data manipulation language.
c. Menerapkan perintah-perintah SQL seperti Insert, Delete, Update, maupun
Select untuk memanipulasi data dalam database.
2. TEORI DASAR
Data Manipulation Language atau DML adalah bentuk bahasa basis data yang berguna
untuk melakukan manipulasi dan pengambilan data pada suatu basis data. Manipulasi
dapat berupa penyisipan atau penambahan data baru ke suatu basis data,
penghapusan data dari suatu basis data, pengubahan data di suatu basis data. DML
merupakan bahasa yang bertujuan memudahkan pemakai untuk mengakses data.
Ada dua jenis DML, yaitu :
1. Prosedular, yang mensyaratkan agar pemakai menentukan data apa yang
diinginkan serta bagaimana mendapatkannya.
2. Nonprosedural, yang mensyaratkan pemakai menentukan apa yang diinginkan
tanpa menyebutkan bagaimana cara mendapatkannya.
DML (Data Manipulation Language) adalah bahasa yang memungkinkan pengguna
mengakses atau memanipulasi data seperti yang diatur oleh model data. Manipulasi
data adalah :
1. Pengambilan informasi yang disimpan dalam basisdata
2. Penempatan informasi baru dalam basisdata
3. Penghapusan informasi dari basisdata
4. Modifikasi informasi yang disimpan dalam basisdata
1. File manager, yang mengelola alokasi ruang dalam disk dan struktur data
yang dipakai untuk mempresentasikan informasi yang tersimpan di dalam
disk.
2. Database manager, menyediakan interface antara data level rendah yang ada
di basis data dengan program aplikasi dan query yang diberikan ke sistem.
3. Query processor, menterjemahkan perintah-perintah dalam query language
perintah low-level yang dapat dimengerti oleh database manager.
4. DML PreCompiler, mengkonversi perintah DML yang akan ditambahkan
dalam sebuah program aplikasi ke pemanggilan prosedur normal dalam
bahasa induk.
5. DDL Compiler, mengkonversi perintah-perintah DDL ke dalam sekumpulan
tabel yang mengandung metadata.
Urutan nilai yang diletakkan dalam tanda kurung disesuaikan dengan urutan kolom
dalam tabel. Akan tetapi kita bisa menentukan kolom-kolom yang akan diisi dengan
data baru, yaitu :
INSERT INTO nama_tabel (kolom1, kolom2, ...)
VALUES (nilai1, nilai2, ...)
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.
Contoh :
Insert Into Mahasiswa
Values ('01012','Irwan', 'Jl.Beo 23','Bogor');
Sintaks :
UPDATE nama_tabel
SET nama_kolom = nilai_baru
WHERE nama_kolom = nilai
Pada pernyataan diatas :
• SET untuk menentukan kolom yang akan diubah dan nilai penggantinya.
• WHERE menentukan kondisi dari baris-baris yang akan diganti.
Contoh :
Update Mahasiswa Set Nama = 'Riri'
Where NIM='01010'
Dalam perintah DELETE jika kita ingin menghapus semua data pada tabel tanpa
menghapus tabel maka Where tidak perlu disebutkan.
DELETE FROM nama_tabel Atau
DELETE * FROM nama_tabel
sebuah perintah yang sangat penting dan berpengaruh hingga saat pemrograman di
stored procedures dan triggers. Dalam basis data ini yang kita bahas adalah semua
pernyataan SELECT yang digunakan untuk memilih data dari tabel, yang mana
hasilnya disimpan dalam tabel hasil yang disebut Result Set.
Sintaks :
SELECT nama_kolom FROM nama_tabel
Contoh :
Pernyataan untuk menampilkan kolom NPM dan Nama yang terdapat pada tabel
Mahasiswa.
Select NPM, Nama
From Mahasiswa
Untuk memilih semua kolom dari tabel, dapat menuliskan tanda asterisk ( * )
sesudah kata Select. Simbol * berarti semua kolom, seperti berikut :
Contoh :
Select * From Mahasiswa
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 triggers. Selain
perintah-perintah SELECT yang dibahas sebelumnya masih ada banyak perintah-perintah
SELECT lain, antara lain perintah ALIAS, menampilkan data lebih dari 2 tabel, ORDER BY, AND
dan OR, GROUP BY dan HAVING, fungsi agregate, dan beberapa perintah yang lain.
1) ALIAS
Perintah Select dapat dilakukan dengan memberikan nama ALIAS yaitu dapat
digunakan untuk mengganti nama_kolom dan nama_tabel.
22
Perintah Select juga dapat dilakukan untuk beberapa tabel sekaligus dengan
syarat bahwa tabel-tabel yang akan ditampilkan semua mempunyai relasi baik secara
implisit maupun eksplisit.
Salah satu kunci utama dalam melakukan perintah Select untuk beberapa tabel
sekaligus adalah dengan melakukan kondisi relasi antara tabel-tabel yang akan
ditampilkan untuka field yang saling berelasi. Selain itu, juga perlu diperhatikan
tentang tabel yang akan menjadi acuan pertama dalam penampilan data yang
dimaksud. Sebagai contoh adalah jika kita ingin menampilkan data mahasiswa yang
mengambil jurusan, maka tabel acuannya adalah tabel mahasiswa. Sintaks :
tabel Jurusan field-fieldnya adalah KodeJurusan dan NamaJurusan. Berikut ini perintah
untuk menampilkan semua data pada tabel Mahasiswa dan Jurusan,
SELECT * FROM Mahasiswa, Jurusan
Maka tabel yang dihasilkan dari perintah SQL diatas adalah semua field dari tabel
Mahasiswa dan tabel Jurusan akan ditampilkan, yaitu NRP, NamaDepan,
NamaBelakang, TempatLahir, TanggalLahir, Alamat, Mahasiswa.KodeJurusan,
Jurusan.KodeJurusan, dan NamaJurusan.
2) Klausa Order By
Klausa ORDER BY digunakan untuk mengurutkan data. Jika kita ingin
menampilkan nama mahasiswa berdasarkan urutan abjad, pernyataan SQL-nya
adalah :
Jika kita ingin menampilkan nama mahasiswa dan kotanya berdasarkan urutan abjad,
maka pernyataan SQL-nya adalah :
SELECT * FROM Mahasiswa
ORDER BY NamaDepan, Kota
Jika kita ingin menampilkan nama mahasiswa dengan urutan abjad terbalik, maka
pernyataan SQL-nya adalah :
SELECT * FROM Mahasiswa
ORDER BY NamaDepan DESC
Jika kita ingin menampilkan nama mahasiswa berdasarkan urutan abjad terbalik dan
nama kota berdasarkan urutan abjad, maka pernyataan SQL-nya adalah :
SELECT * FROM Mahasiswa
ORDER BY NamaDepan DESC, Kota ASC
3. Kegiatan Praktikum
a. Peralatan dan Bahan
1. Perangkat komputer / PC / Laptop / Notebook / Netbook
2. Sistem operasi windows atau linux
3. MySQL
b. Keselamatan Kerja
1. Hati-hatilah dalam memakai perangkat elektronik.
2. Pastikan kabel listrik terpasang dan dalam kondisi baik.
3. Lakukan praktikum dalam posisi duduk yang benar.
24
D. Latihan Praktikum
1 1829140003 Ardian
2 1829140006 Wahyu Priawansyah
3 1829140010 Bayu Buana Philma
4 1829141009 Muhammad Naufal Ramadhan
5 1829141012 Djarot
6 1829141014 Asmara Cinta
7 1829141015 Muhammad Arhamul Ihza M.
8 1829141017 Muhammad Ali Ansyari
9 1829141019 Ahmad Syiar Jailani
10 1829141025 Fadel Shubair
6. Studi Kasus
Terdapat sebuah perusahaan penjualan barang kebutuhan pokok
membutuhkan sebuah basisdata untuk mengolah data-data penjualan sehingga
memudahkan dalam pengontrolan barang, baik itu barang yang masuk
maupun barang yang keluar. Setiap barang yang masuk harga dasarnya
dilakukan pencatatan untuk menentukan harga jual yang minimal naik 10% per
barang.
Perusahaan tersebut memiliki banyak cabang sehingga memiliki banyak
pegawai. Setiap pegawai memiliki bidang kerja masing-masing diantaranya
ada sebagai kasir, customer service, front office, pencatat barang masuk,
pencatat barang keluar, manajer keuangan, manajer pemasaran, HRD, kepala
29