0% menganggap dokumen ini bermanfaat (0 suara)
0 tayangan30 halaman

Modul Praktikum Basis Data 2023

Dokumen ini adalah modul pembelajaran tentang basis data, yang mencakup konsep dasar basis data, pengertian MySQL, serta pengenalan sistem manajemen basis data. MySQL sebagai database engine memiliki keunggulan dalam kecepatan dan dukungan multi-user, serta menyediakan berbagai tipe data dan operator. Modul ini juga menjelaskan instalasi MySQL dan operasi dasar dalam pengelolaan basis data.

Diunggah oleh

anominblack
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
0 tayangan30 halaman

Modul Praktikum Basis Data 2023

Dokumen ini adalah modul pembelajaran tentang basis data, yang mencakup konsep dasar basis data, pengertian MySQL, serta pengenalan sistem manajemen basis data. MySQL sebagai database engine memiliki keunggulan dalam kecepatan dan dukungan multi-user, serta menyediakan berbagai tipe data dan operator. Modul ini juga menjelaskan instalasi MySQL dan operasi dasar dalam pengelolaan basis data.

Diunggah oleh

anominblack
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 30

Modul pembelajaran

basis data
Disusun oleh:
Fhatiah Adiba,S.Pd.,M.Cs.

Edisi 3

Program studi teknik komputer


Jurusan Teknik Informatika & Komputer
universitas negeri makassar
2023
1

PENDAHULUAN

1.1 Konsep Basis Data


Basisdata dan lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan yang
sama. Prinsip utamanya adalah pengaturan data/arsip. Dan tujuan utamanya adalah
kemudahan dan kecepatan dalam pengambilan kembali data/arsip. Perbedaannya
hanya terletak pada medua penyimpanan yang digunakan. Jika lemari arsip
menggunakan lemari dari besi atau kayu sebagai media penyimpanan, maka
basisdata menggunakan media penyimpanan elektronis seperti cakram magnetis
(disk).

Analogi ≈ Lemari Arsip

Gambar 1. Analogi Basisdata

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

Basisdata bukan hanya sekedar penyimpanan data secara elektronis, maksudnya


adalah tidak semua bentuk penyimpanan data secara elektronis bisa disebut
basisdata. Menyimpan dokumen yang berisi data dalam file teks (dengan program
pengolah kata), file spread sheet, dan lain-lain, tetapi tidak bisa disebut basisdata. Hal
ini dikarenakan didalamnya tidak ada pemilahan dan pengelompokan data sesuai
jenis data. Kelak ketika file-file tersebut sudah cukup banyak, maka situasi ini tentu
akan menyulitkan pencarian data tertentu. Dikatakan basisdata adalah jika memiliki
pengaturan, pemilahan, pengelompokan, dan pengorganisasian data yang akan
disimpan sesuai fungsi atau jenisnya.

1.2 Pengertian MYSQL

MySQL merupakan database engine atau server database yang mendukung


bahasa database pencarian SQL. MySQL adalah sebuah perangkat lunak sistem
manajemen basis data SQL atau DBMS yang multithread, multi-user. MySQL AB
membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU
General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial
untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.

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.

MySQL memiliki beberapa kelebihan yaitu:

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

Berikut ini adalah perangkat lunak MYSQL.

1.3 Database Management Systems (DBMS) MySQL

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.

LAMP merupakan singkatan dari Linux, Apache, MySQL, dan Perl/PHP/Python.LAMP


merupakan aplikasi yang dapat dijalankan pada sistem operasi open source.
Komponen-komponen dari LAMP yaitu Linux sebagai sistem operasi, Apache HTTP
Server sebagai web server, MySQL sebagai sistem basis data, Perl atau PHP atau
Python sebagai bahasa pemrograman yang digunakan. Beberapa perangkat lunak
yang menggunakan konfirgurasi LAMP yaitu MediaWIki dan BugZilla.
4

XAMPP merupakan singkatan dari X yang


merupakan gabungan dari empat sistem operasi
yaitu Windows, Linux, Mac, dan Solaris. Apache,
Mysql, PHP, dan Perl. XAMPP merupakan aplikasi
yang bisa digunakan diempat sistem operasi.
Bagian terpenting dalam XAMPP adalah htdoc
merupakan folder untuk meletakkan file yang
akan dijalankan, seperti file PHP, HTML, dan script lainnya. Selain itu XAMPP juga
memiliki phpMyAdmin merupakan fasilitas untuk mengelola database MySQL yang
dikomputer, untuk membukanya dengan mengetikkan
alamat http://localhost/phpMyAdmin atau menggunakan ip
http://172.0.0.1/phpmyadmin. XAMPP juga memiliki fasilitas Control Panel yang
berfungsi untuk mengelola layanan XAMPP, seperti stop service atau start.

Modul praktikum ini menggunakan MySQL yang tersedia dalam XAMPP.

1.3.1 Instalasi MySql


Untuk dapat menggunakan MySQL terlebih dahulu aktifkan server MySQL dengan
menghidupkan daemond MySQL. Program MySQL yang digunakan pada modul ini
adalah XAMPP 3.2, maka untuk menjalankan daemond MySQL terdapat pada direktori
yaitu C:\ProgramFiles\Xampp\Mysql\Bin.
Langkah-langkah
1. Aktifkan control panel lalu klik start pada Apache dan MySQL

2. Buka search engine lalu ketikkan 127.0.0.1 pada kolom URL

3. Setelah itu tekan enter, maka muncul tampilan berikut :


5

4. Pada sudut kanan atas halaman, pilih phpmyadmin

5. Setelah mengklik menu tersebut, akan muncul tampilan seperti dibawah:

1.3.2 Mengakses Aplikasi Server MySQL

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

MySQL siap digunakan untuk melakukan DDL dan DML

4. Database MySQL menyediakan beberapa fasilitas bantuan yang berguna


untuk mendokumentasikan atau memanipulasi server yaitu dengan
mengetikkan instruksi \h atau \?
7

1.3.3 Type data MySQL


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 :
Tipe data numeric
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 desimal.
Tipe data string
String adalah rangkaian karakter. Tipe-tipe data yang termasuk dalam tipe data
string dapat dilihat pada tabel 1 berikut:
Tabel Tipe Data String
Tipe Data Kisaran Nilai
CHAR 1-255 karakter
VARCHAR 1-255 karakter
TINYTEXT 1-255 karakter
TEXT 1-65535 karakter
MEDIUMTEXT 1-16777215 karakter
LONGTEXT 1-424967295 karakter

Tipe data char() dan varchar()


Tipe data char() dan varchar() pada prinsipnya sama, perbedaannya hanya
terletak pada jumlah memori yang dibutuhkan untuk penyimpanannya. Memori yang
dibutuhkan untuk tipe data char() bersifat statis, besarnya bergantung pada berapa
jumlah karakter yang ditetapkan pada saat field tersebut dideklarasikan. Pada tipe
data varchar() besarnya memori penyimpanan tergantung pada jumlah karakter
ditambah 1 byte, dapat dilihat pada tabel 2 berikut ini:
Tabel Letak Perbedaan Jumlah Memori
Nilai Char(4) Memori Varchar Memori
Penyimpanan (4) Penyimpanan
4 bytes '' 1 byte
'ab' 'ab' 4 bytes 'ab' 3 bytes
'abcd' 'abcd' 4 bytes 'abcd' 5 bytes
'abcdefgh' 'abcd' 4 bytes 'abcd' 5 bytes

a. Tipe data tanggal


Untuk tanggal dan jam, tersedia tipe-tipe data field berupa DATETIME, DATE,
TIMESTAMP, TIME dan YEAR. Masing-masing tipe mempunyai kisaran nilai tertentu.
MYSQL akan memberikan peringatan kesalahan (error) apabila tanggal atau waktu
yang dimasukkan salah. Kisaran nilai dan besar me mo ri penyimpanan yang
diperlukan untuk masing-masing tipe dapat dilihat pada tabel 3 berikut ini:
8

Table Tipe data tanggal


Memori
Tipe data Kisaran nilai
penyimpanan
DATETIME 1000-01-01 00:00 sampai 9999-12-31 23:59:59 3 Byte
DATE 1000-01-01 sampai 9999-12-31 8 byte
TIMESTAMP 1970-01-01 00:00:00 sampai 2037 4 byte
TIME -839:59:59 sampai 838:59:59 3 byte
YEAR 1901 sampai 2155 1byte

1.3.4 Operator MYSQL


MYSQL mendukung penggunaan operator-operator dan fungsi-fungsi diantaranya:
Operator Aritmetika
Suatu ekspresi yang melibatkan tipe data bilangan (NUMERIK) dan tanggal
(DATE) menggunakan ekspresi aritmatika. Dapat dilihat pada tabel 4berikut ini:
Tabel operator aritmatika pada MYSQL
Operator Keterangan
+ Tambah
- Kurang
* Kali
/ Bagi
Mod () Modulus
Operator pembanding
Suatu ekspresi yang dapat digunakan pada klausa WHERE dan mempunyai sintax
sebagai berikut: WHERE expr operator value. Tabel 5 menunjukan operator
pembanding
Tabel Operator pembanding
operator Keterangan
= Sama Dengan
> Lebih Besar
< Lebih Kecil
>= Lebih Besar atau Sama Dengan
<= Lebih Kecil atau Sama Dengan
<> Tidak Sama Dengan
Operator Logika
Operator ini digunakan untuk membandingkan dua nilai variabel yang bertipe
boolean.
Operator Karakter
Operator untuk membentuk pencarian string yang sesuai dengan nilai yang
mencantumkan pada kondisi. Kondisi pencarian dapat berisi karakter, ada 3 symbol
khusus berikut ini dapat dilihat pada tabel 6 berikut ini:
9

Tabel Operator karakter


Operator Keterangan
% Sembarang karakter berapapun jumlahnya
_ Sembarang satu karakter
[] Sembarang karakter yang terletak dalam kurung siku

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:

Tabel Operator lain-lain


Operator Keterangan
IN Dalam
BETWEEN Diantara

1.4 Operasi Dasar Basis Data


Operasi-operasi dasar dalam basis data meliputi :
1. Pembuatan basis data baru (create database), yang identic dengan pembuatan
lemari arsip yang baru.
2. Penghapusan basis data (drop database), yang identic dengan perusakan
lemari arsip sekaligus beserta isinya, jika ada.
3. Pembuatan file/tabel baru ke suatu basis data (create table), yang identic
dengan penambahan map arsip baru ke sebuah lemari arsip yang telah ada.
4. Penghapusan file/tabel dari suatu basis data (drop table), yang identik dengan
perusakan map arsip lama yang ada di sebuah lemari arsip.
5. Penambahan/pengisian data baru ke sebuah file/tabel di sebuah basis data
(insert), yang identik dengan penambahan lembaran arsip dari sebuah map
arsip.
6. Pengambilan data dari sebuah file/tabel (retrieve/search), yang identik
dengan pencarian lembaran arsip dari sebuah map arsip.
7. Perubahan data dari sebuah file/tabel (update), yang identik dengan
perbaikan isi lembaran arsip yang ada di sebuah map arsip.
8. Penghapusan data dari sebuah file/tabel (delete), yang identik dengan
penghapusan sebuah lembaran arsip yang ada di sebuah map arsip
1.5 Objektifitas Basis Data
Secara lebih lengkap, pemanfaatan basis data dilakukan untuk memenuhi sejumlah
tujuan (objektif) seperti berikut ini:

1. Kecepatan dan Kemudahan (Speed)


10

Pemanfaatan basis data memungkinkan kita untuk dapat menyimpan data atau
melakukan
perubahan/memanipulasi data atau menampilkn kembali data tersebut dengan cepat
dan mudah.

2. Efisiensi Ruang Penyimpanan (Space)


Dengan basis data, efisiensi/optimalisasi penggunaan ruang penyimpanan dapat
dilakukan, karena kita dapat melakukan penekanan jumlah redudansi data, baik
dengan menerapkan sejumlah pengkodean atau dengan membuat relasi-relasi
(dalam bentuk file) antar kelompok data yang saling berhubungan.
3. Keakuratan (Accuracy)
Pemanfaatan pengkodean atau pembentukan relasi antar data bersama dengan
penerapan aturan/batasan (constraint) tipe data, domain data, keunikan data, dan
sebagainya, yang secara ketat dapat diterapkan dalam sebuah basis data, sangan
berguna untuk menekan ketidakakuratan pemasukan/penyimpanan data.
4. Ketersediaanc(Availability)
Karena kepentingan pemakaian data, sebuah basis data dapat memiliki data yang
disebar di banyak lokasi geografis. Dengan pemanfaatan teknologi jaringan
computer, data yang berada di suatu lokasi/cabang, dapat juga diakses (menjadi
tersedia/available) bagi lokasi/cabang lain.
5. Kelengkapan (Completeness)
Untuk mengakomodasi kebutuhan kelengkapan data yang semakin berkembang,
maka kita tidak hanya dapat menambah record-record data, tetapi juga dapat
melakukan perubahan struktur dalam basis data, baik dalam bentuk penambnahan
objek baru (tabel) atau dengan penambahan field-field baru poada suatu tabel.
6. Keamanan (Security)
Memang ada sejumlah system (aplikasi) pengelola basis data yang tidak menerapkan
aspek keamanan dalam penggunaan basis data. Tetapi untuk system yang besar dan
serius, aspek keamanan juga dapat diterapkan dengan ketat. Dengan begitu, kita
dapat menentukan siapa siapa (pemakai) yang boleh menggunakan basis data
beserta objekobjek di dalamnya dan menentukan jenis-jenis operasi apa saja yang
boleh dilakukannya.
7. Kebersamaan Pemakaian (Sharability)
Basis data yang dikelola oleh system (aplikasi) yang mendukung lingkunngan
multiuser, akan dapat memenuhi kebutuhan, tetapi tetap menjaga/menghindari
terhadap munculnya persoalan baru seperti inkonsistensi data.
11

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.

1.2 Bahasa Basis Data (Database Language)

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 Data Defenition Language (DDL)


Struktur/skema basis data yang menggambarkan desain basis data sevara keseluruhan
dispesifikasikan dengan bahasa yang khusus yang disebut Data Definition Language (DDL).
Dengan bahasa inilah kita dapat membuat tabel baru, membuat indeks, mengubah tabel,
menentukkan struktur penyimpanan tabel dan sebagainya. Hasil dari kompilasi perintah DDL
adalah kumpulan tabel yang disimpan dalam file khusus yang disebut kamus data (Data
Dictionary). Kamus data merupakan suatu meta data (super data) yaitu data yang
mendeskripsikan data sesungguhnya. Dengan kata lain DDL merupakan kelompok
perintah yang berfungsi untuk mendefinisikan atribut-atribut database, tabel,
atribut(kolom), batasan-batasan terhadap suatu atribut serta hubungan antar tabel .
Apabila perintah ini digunakan, entri akan dibuat ke dalam kamus data dari SQL.
Didalam kategori ini terdapat perintah-perintah sebagai berikut:
Perintah Keterangan
Create untuk membuat database, tabel, view dan index
Drop untuk menghapus database, table, view dan index
Alter untuk mengubah struktur table pada database

1.3.1 Create Database

Database adalah sekumpulan data/informasi yang diorganisasikan dengan beberapa


cara logika, saling berhubungan dan digunakan untuk keperluan tertentu. Sintaks untuk
membuat database adalah:
CREATE DATABASE nama_db;
sedangkan sintaks untuk menghapus database adalah:
DROP DATABASE nama_db;
12

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][,….]);

1.3.2.1 Constraint NOT NULL


Suatu kolom yang didefinisikan dengan constraint NOT NULL tidak boleh berisi
nilai NULL. Kolom yang berfungsi sebagai kunci primer (primary key) otomatis
tidak boleh NULL. Syntaks untuk constraint NOT
NULL adalah:
CREATE TABEL nama_tabel (
nama_kolom tipe_data,
……. …….
CONTRAINT nama_kolom_constraint NOT NULL);

1.3.2.2 Constraint UNIQUE


Mendefinisikan suatu kolom menjadi bersifat unik. Sintaks untuk constraint
UNIQUE adalah:
CREATE TABEL nama_tabel (
nama_kolom tipe_data,
…… ……
CONTRAINT table_constraint UNIQUE
(nama_kolom_constraint)
);
13

1.3.3 Constraint PRIMARY KEY


Membentuk key yang unik untuk suatu tabel. Kolom yang didefinisikan sebagai
primary key akan mengidentifikasi suatu baris data menjadi unik.
CREATE TABLE nama_tabel (
nama_kolom tipedata,
…….
CONSTRAINT table_constraint PRIMARY KEY
( nama_kolom_constraint )
);

Contoh penulisan constraint:


CREATE TABLE employees(
employee_id varchar( 6 ) , last_name VARCHAR( 20 ) ,
email VARCHAR( 20 ) ,CONSTRAINT employee_id_pk PRIMARY KEY
( employee_id )
);

1.3.4 Constraint FOREIGN KEY


Mendefinisikan pada suatu kolom yang ada pada suatu table, dimana kolom
tersebut juga dimiliki oleh table yang lain sebagai suatu PRIMARY KEY.
Sintaks untuk constraint FOREIGN KEY adalah:

CREATE TABLE nama_tabel ( nama_kolom


tipedata,
……….
CONSTRAINT table_constraint FOREIGN KEY (
nama_kolom_constraint ) REFERENCES
table_contraints_kunci_primer (nama_kolom_kunci_primer)
);

Sedangkan untuk menghapus tabel, dapat dilakukan dengan sintaksnya


sebagai berikut:

DROP TABLE nama_tabel;

Sedangkan untuk mengubah tabel, dapat dilakukan dengan menggunakan


sintaks sebagai berikut:
ALTER TABLE nama_tabel
ADD (nama_kolom_baru type_kolom [BEFORE nama_kolom])
MODIFY (nama_kolom_lama type_kolom) DROP (nama_kolom_lama
type_kolom);
14

1.4 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.
4. Jauhkan kabel listrik dari sentuhan Anda.
5. Gunakan alas kaki, celana Panjang dan kemeja.
6. Gunakan kacamata anti radiasi layer.
c. Langkah Kerja
1. Siapkan alat dan bahan praktek
2. Selalu memperhatikan keselamatan kerja
3. Jalankan perangkat lunak MySQL dengan menggunakan tools XAMPP/SQL atau
menggunakan command line (cmd).
4. Organisasikan dengan baik folder pribadi anda untuk masing-masing modul
praktikum.
d. Kegiatan Praktik
1. Lakukan instalasi MySQL client menggunakan salah satu perangkat lunak yang telah
dijelaskan sebelumnya (SQL ataupun XAMPP)
2. Instalasi koneksi ke MySQL.
Buka command prompt, masuk ke direktori /MySQL/Bin, kemudian ketik :
Mysql –u root –p (enter)
Password : (ketikkan jika anda memiliki password,lalu enter. Jika
tidak memiliki password maka langsung tekan tombol enter pada
keyboard)
3. Ketikkan perintah berikut sesuai nomor langkah pada tabel
Langkah
Kegiatan Praktikum
ke-
Buka aplikasi SQL lalu lakukan dan ketikkan sintaks berikut :
1 create database mahasiswa;

2 create database mahasiswa1;


3 show databases;
4 drop database mahasiswa1;
Membuat dan melihat struktur tabel
5 Ketikkan

Lalu tekan enter


15

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

1.5 Latihan Praktikum


1. Buatlah sebuah database dengan nama db_data_mhs
2. Buatlah beberapa tabel dalam database tersebut sesuai dengan kriteria berikut
:
a. Tabel mahasiswa
Field Type data
Nim Int (8) primary key
Nama_mhs Char (50)
Sex Enum (‘L’,’P’) default ‘L’
Alamat Varchar (50)
Kota Varchar (20) default ‘Parepare’
Asal_sma Char (30)
Nohp Varchar (12)
Login Char (20)
Pass Char (20)
Umur Integer
Kode_prodi Char (6) foreign key fk0 (kode_prodi) references prodi
(kode_prodi)

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

Pass Char (20)


Alamat Varchar (50)
Kota (varchar (20) default ‘Parepare’
Email Varchar (50)
Nohp Varchar (12)
Salary Int

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

2.1. Struktur Sistem Basis Data


Sebuah DBMS terbagi atas modul-modul yang masing-masing memiliki tanggung
jawab dalam membentuk struktur sistem keseluruhan. Beberapa fungsi dalam sistem
pengelola basis data mungkin telah disediakan oleh sistem operasi. Tetapi dalam
banyak hal, sistem operasi hanya menyediakan servis-servis dasar. Sebuah DBMS
umumnya memiliki komponen fungsional seperti:
19

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.

Query adalah pernyataan yang meminta pengguna mengambil informasi. Bagian


DML yang terlibat dalam pengambilan informasi disebut bahasa query. Istilah bahasa
query sering disamakan dengan istilah bahasa manipulasi data. Sedangkan SQL
adalah sebuah sintaks untuk mengeksekusi query.

2.2. Pernyataan INSERT INTO


Pernyataan INSERT INTO digunakan untuk memasukkan data baru pada tabel.
Sintaks :
INSERT INTO nama_tabel
VALUES (nilai1, nilai2, ...)

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');

2.3. Pernyataan UPDATE


Pernyataan UPDATE digunakan untuk modifikasi data dalam tabel.
20

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'

2.4. Pernyataan DELETE


Pernyataan DELETE digunakan untuk menghapus baris pada tabel.
Sintaks :
DELETE FROM nama_tabel
WHERE nama_kolom = nilai
Contoh :
Untuk menghapus baris pada tabel Mahasiswa yang nilai NIMnya adalah 01013, anda
bisa memberikan pernyataan seperti berikut :
Delete From Mahasiswa Where NIM
='01013'

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

2.5. Pernyataan SELECT


Secara umum perintah SELECT hanya difungsikan untuk menampilkan data yang ada
di dalam suatu tabel. Tetapi dalam pengembangannya, perintah ini akan menjadi
21

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

Untuk memilih beberapa kolom gunakan pernyataan SELECT sebagai berikut :

SELECT nama_kolom1, nama_kolom2, ... 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 :

SELECT * FROM nama_tabel

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

a. Memberikan nama lain pada kolom


Sintaks untuk alias nama kolom :
SELECT namakolomlama AS namakolombaru
FROM namatabel;
Atau
SELECT nama_kolom AS nama_alias_kolom
FROM nama_tabel
Jika kita ingin membuat nama alias untuk kolom NamaDepan menjadi ND dan
NamaBelakang menjadi NB, gunakan pernyataan SQL berikut :
SELECT NamaDepan AS ND, NamaBelakang AS NB
FROM Mahasiswa

b. Menggunakan alias untuk nama tabel


Sintaks untuk alias nama tabel :
SELECT nmalias.jenis, nmalias.harga
FROM namatabel nmalias;
Atau
SELECT nama_kolom
FROM nama_tabel
AS nama_alias_tabel
Jika kita ingin membuat nama alias untuk Tabel Mahasiswa menjadi MHS, gunakan
pernyataan SQL berikut :
SELECT *
FROM Mahasiswa AS MHS

c. Menampilkan data lebih dari dua tabel

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 :

SELECT *FROM namatabel1, namatabel2, namatabel-n;

Misalkan dalam tabel Mahasiswa field-fieldnya terdiri dari NRP, NamaDepan,


NamaBelakang, TempatLahir, TanggalLahir, Alamat, dan KodeJurusan. Sedangkan di
23

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 :

SELECT * FROM Mahasiswa ORDER BY NamaDepan

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

4. Jauhkan kabel listrik dari sentuhan Anda.


5. Gunakan alas kaki, celana Panjang dan kemeja.
6. Gunakan kacamata anti radiasi layer.
c. Langkah Kerja
1. Siapkan alat dan bahan praktek
2. Selalu memperhatikan keselamatan kerja
3. Jalankan perangkat lunak MySQL dengan menggunakan tools XAMPP/SQL atau
menggunakan command line (cmd).
4. Organisasikan dengan baik folder pribadi anda untuk masing-masing modul
praktikum.
5. Instalasi koneksi ke MySQL.
Buka command prompt, masuk ke direktori /MySQL/Bin, kemudian ketik :
Mysql –u root –p (enter)
Password : (ketikkan jika anda memiliki password,lalu enter.
Jika tidak memiliki password maka langsung tekan tombol enter
pada keyboard)
6. Ketikkan perintah berikut sesuai nomor langkah pada tabel
Perintah Ke- Kegiatan Praktikum
Buka aplikasi SQL lalu lakukan ketikkan sintaks berikut :
1 Mysql > show databases;

2 Mysql > use mahasiswa;

3 Mysql > show tables;


25

4 Mysql > desc data_diri;

5 Mysql > insert into data_diri values


(‘123456789’,’fhatiah’,’jalan andi tonro
iv’,’Makassar’);

6 Mysql > select*from data_diri;

Mysql > insert into data_diri values


(‘987654321’,’adiba’,’jalan andi tonro
iv’,’Makassar’);
Mysql > insert into data_diri values
(‘234567891’,’Andi Baso’,’btn pao-pao’,’Makassar’);
26

Mysql > select*from data_diri;

7 Mysql > update data_diri set nama=’Baskar’ where


nama=”Andi Baso”;

Mysql > select*from data_diri;

8 Mysql > delete from data_diri where no_ktp=’987654321’;

9 Mysql > select*from data_diri;


27

Lanjutkan pengisian data pada tabel data_diri sesuai


gambar berikut :

Pada tabel tekom_a silahkan lakukan pengisian data


berdasarkan tabel berikut :

10 Mysql > select jenis_kelamin as jenkel from tekom_a;


11 Mysql > select*from tekom_a as a;
12 Mysql > select*from data_diri, tekom_a;
Mysql > select*from tekom_a where panggilan between
13 ‘Rahman’ and ‘Winda’;
14 Mysql > select*from data_diri;
Mysql > select*from data_diri where
15 alamat=’Cendrawasih’;
16 Mysql > select*from data_diri order by nama asc;
17 Mysql > select*from data_diri order by no_ktp desc;
18 Mysql > select*from data_diri group by alamat;

D. Latihan Praktikum

1. Buatlah sebuah tabel bernama ‘daftar_mahasiswa’ dengan field Nomor,


Stambuk, Nama_Mahasiswa dalam database mahasiswa
FIELD TYPE DATA PANJANG
Nomor Integer (Unique) 2
Stambuk Integer (primary key) 12
Nama_Mahasiswa Varchar 50

2. Isikan data pada tabel ‘daftar_mahasiswa’ seperti berikut :

No STAMBUK NAMA MAHASISWA


28

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

3. Ubah data pada nama :


Muhammad Ali Ansyari = PUTRA BAGASWARA RAMADHAN
Ahmad Syiar Jailani = ANDI SARIRA TANDIRERUNG
Fadel Shubair = MUHAMMAD ADHAN TRI PUTRA

4. Hapus data berikut pada tabel daftar_mahasiswa :


No Stambuk Nama Mahasiswa
5 1829141012 Djarot
6 1829141014 Asmara Cinta

5. Tambahkan data pada tabel :


No Stambuk Nama Mahasiswa
5 1829141012 ANDI PUANGQI ABUHAQ
6 1829141014 ABDULLAH ASMARA

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

cabang, dan direktur. Perusahaan memiliki 10 cabang dimana masing-masing


cabang memiliki 1 manajer keuangan, 1 manajer pemasaran, 1 kepala cabang,
5 kasir, 2 front office, 5 customer service, 2 pencatat barang masuk, 2 pencatat
barang keluar.

Berdasarkan kasus tersebut buatlah sebuah database sebagai solusi dari


permasalahan tersebut.
Note : (dikerjakan secara perkelompok sesuai kelompok responsi)

Anda mungkin juga menyukai