PROGRAM STUDI
TEKNIK INFORMATIKA POLITEKNIK NEGERI
BANYUWANGI
2015
MODUL I
MEMBUAT DESAIN BASISDATA
Tujuan :
1. Praktikan dapat memahami model basis data
2. Praktikan dapat memahami dan membuat ER-Diagram
Tugas Pendahuluan
1. Menurut Anda, Jelaskan pengertian basis data?
2. Mengapa kita menggunakan basis data utk menyimpan data?
3. Sebutkan jenis-jenis model data? Jelaskan dan beri contoh!
4. Apa yang Anda ketahui tentang ER-Diagram (Entity Relationship
Diagram) ?
1. Dasar Teori
Basis Data
Basis data adalah kumpulan data yang saling berhubungan yang disimpan
secara bersama sedemikian rupa dan tanpa pengulangan (redundancy) yang tidak
perlu, untuk memenuhi berbagai kebutuhan. Basis data bisa dibayangkan sebagai
lemari arsip dengan berbagai cara pengaturannya. Basis data dan lemari arsip
memiliki prinsip kerja dan tujuan yang sama; prinsipnya yakni pengaturan
data/arsip. Tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan
kembali data/arsip.
2
Model Relasi Entitas (Entity-Relationship
Model)
Merupakan suatu model untuk menjelaskan hubungan antar data dalam basis
data
yang berdasarkan suatu persepsi bahwa di dunia nyata terdiri dari object-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 E-R Diagram. Domain data disebut juga
sebagai himpunan entitas, diwakili oleh diagram kotak. Field-data atau atribut
diwakili oleh diagram lingkaran atau ellips. Hubungan atau relasi antar domain
diwakili oleh jajaran-genjang.
Entity dalam E-R diagram dibedakan menjadi 2 yaitu
:
Strong entity (entitas kuat) : entitas yang mandiri, yang keberadaannya tidak
bergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat
selalu memiliki karakteristik yang unik disebut identifier (sebuah atribut
tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk
membedakannya dari entitas kuat yang lain).
Weak entity (entitas lemah) : entitas yang keberadaannya sangat bergantung
pada keberadaan entitas yang lainnya. Entitas lemah tidak memiliki arti apa-
apa dan tidak dikehendaki kehadirannya dalam diagram ER tanpa kehadiran
entitas di mana mereka bergantung.
Entitas di mana entitas lemah bergantung dinamakan identifying owner. Entitas
lemah tidak memiliki identifier sendiri. Secara umum, dalam diagram ER entitas
lemah memiliki atribut yang berperan sebagai partial identifier (identifier yang
berfungsi secara sebagian).
Mengapa jika terdapat set entitas yang sama muncul beberapa kali dalam satu set
ER-Diagram ini harus
dihindari?
Untuk menghindari redundancy
Menghemat penyimpanan (storage) data
Mengurangi efektifitas dan kecepatan
akses
Untuk menghindari terjadinya asinkronisasi data pada saat
diupdate
3
memiliki constraint tersebut terhubung secara penuh ke dalam entitas dari
relasinya.
Constraint partial adalah constraint yang mana data dalam entitas yang
memiliki constraint tersebut terhubung ke dalam entitas dari relasinya.
Relasi dua :
Relasi tiga:
4
dengan detail minimal 0 maksimalnya 1. Dependensi : entitas 5 dan
entitas 6 tidak saling ketergantungan.
Relasi empat:
5
Entity 7 to entity 8 : kardinalitas : one to one dengan detail minimal 0
maksimalnya 1. Dependensi : entitas 7 dan entitas 8 tidak saling
ketergantungan.
Entity 8 ke entity 7 : kardinalitas : one to one dengan detail minimal 1
maksimal 1. Dependensi : entitas 8 dan entitas 7 tidak saling
ketergantungan.
Relasi lima:
Relasi enam:
2. Kegiatan Praktikum :
Latihan 1 : menemukan entitas
Dalam membuat desain database yang dilakukan pertama kali dengan menemukan
entitasnya. Langkah-langkah menemukan entitas yaitu :
1. Buat ilustrasi/gambaran cerita tentang sistem yang akan dicari entitasnya.
Contoh : Sistem Kepegawaian di perusahaan A
Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin
pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua
6
pegawai memimpin pegawai yang lain. sehingga satu pengawas dapat
memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu
departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai.
Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai
tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain
bekerja di suatu departemen pegawai dapat bekerja pada beberapa proyek.
Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu
departemen tidak harus mengendalikan/mengatur proyek. Satu departemen
dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan
oleh satu departemen Satu proyek dapat terdiri dari beberapa pegawai. Untuk
keperluan penggajian perusahaan memerlukan data tanggungan pegawai.
Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang
pegawai pindah maka datanya akan dipindahkan/dihapus berikut data
tanggungan/keluarganya.
2. Tandai setiap objek yang diwakili oleh kata benda yang ada di dalam ilustrasi
tersebut
Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin
pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua
pegawai memimpin pegawai yang lain. sehingga satu pengawas dapat
memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu
departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai.
Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai
tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain
bekerja di suatu departemen, pegawai dapat bekerja pada beberapa proyek.
Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu
departemen tidak harus mengendalikan/mengatur proyek. Satu departemen
dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan
oleh satu departemen.Satu proyek dapat terdiri dari beberapa pegawai. Untuk
keperluan penggajian perusahaan memerlukan data tanggungan pegawai.
Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang
pegawai pindah maka datanya akan dipindahkan/dihapus berikut data
tanggungan/keluarganya.
8
Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai
4. Tentukan objek yang merupakan entitas (Jika memang ia memiliki
karakteristik jadikan ia sebagai entitas)
Perusahaan: NoPerusahaan, nama, alamat (hanya berisi satu baris data)
bukan entitas
Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji entitas kuat
Pengawas:NoKTP, Nama, Alamat, Jenis kelamin,gaji sama dengan entitas
Pegawai
Departemen: Nomor, Nama, lokasi, jumlah pegawai entitas kuat
Lokasi : lokasi (karakteristiknya departemen, tidak memiliki karakteristik lain
(unik)) bukan entitas
Proyek: Nomor, nama, lokasi entitas kuat
Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai
entitas lemah (tergantung pada pegawai)
3. Tugas
1. Dari entitas dan atribut yang ditemukan, buat desain database kepegawaian
menggunakan ER-Diagram dengan relasi yang menghubungkan antar entity
tersebut!
2. Lakukan mapping ER-Diagram ke tabel!
3. Buat desain CDM(Conceptual Data Model) dan PDM(Physical Data Model)
utk database tersebut! (dengan menggunakan Power Designer)
9
MODUL II
MYSQL
Tujuan :
1. Praktikan mampu memahami instalasi MySQL di lingkungan Windows
2. Praktikan dapat memahami dasar-dasar MySQL
3. Praktikan dapat memahami dan membuat database di MySQL
4. Praktikan dapat memahami dan membuat tabel di MySQL
Tugas Pendahuluan
1. Apakah yang dimaksud dengan DBMS (Database Management
System)? Jelaskan dan beri contoh!
2. Salah satu DBMS adalah Mysql, Apa yang Anda ketahui tentang
Mysql?
3. Apa keunggulan Mysql dibandingkan dengan DBMS lain?
4. Sebutkan dan jelaskan tipe-tipe tabel yg digunakan dlm MySQL?
1. Dasar Teori
Pengertian MYSQL
MySQL adalah suatu perangkat lunak database relasi (Relational
Database Management System atau RDBMS), seperti halnya ORACLE,
Postgresql, MS SQL, dan sebagainya. MySQL dibangun, didistribusikan dan
didukung oleh MYSQL AB. MYSQL AB merupakan perusahaan komersial yang
dibiayai oleh pengembang MYSQL. MySQL AB menyebut produknya sebagai
database open source terpopuler di dunia yang bisa digunakan untuk platform
Web, dan baik untuk kategori open source maupun umum.
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 :
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 desimal.
Tipe data string
10
String adalah rangkaian karakter. Tipe-tipe data yang termasuk dalam tipe data
string dapat dilihat pada tabel 1.1 berikut:
Tabel 1.1 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 1.2 berikut ini:
Tabel 1.2 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
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 1.4
berikut ini:
Tabel 1.4 Operator aritmatika MYSQL
Operator Keterangan
+ Tambah
- Kurang
* Kali
/ Bagi
Mod () Modulus
Operator Pembandingan
Suatu ekspresi yang dapat digunakan pada klausa WHERE dan mempunyai
sintax sebagai berikut: WHERE expr operator value. Tabel 1.5 menunjukan
operator pembanding pada MYSQL berikut ini:
Tabel 1.5 Operator Pembanding MYSQL
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 1.6 berikut ini:
Tabel 1.6 Tabel Operator Karakter
Operator Keterangan
% Sembarang karakter berapapun jumlahnya
_ Sembarang satu karakter
10
[] Sembarang karakter yang terletak dalam kurung
siku
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 1.7 berikut ini:
Tabel 1.7 Operator lain-lain
Operator Keterangan
IN Dalam
BETWEEN Diantara
2. Kegiatan Praktikum :
2. Pilih tombol Next, kemudian muncul dialog tipe instalasi sebagai berikut :
11
3. Pilih Custom, kemudian pilih tombol Next. Kemudian tampil dialog fitur
program sebagai berikut :
4. Klik tanda silang pada Developer Components, kemudian pilih This feature
will be installed on local hard drive seperti gambar berikut :
7. Berikutnya muncul dialog account, pilih Skip Sign-Up dan klik tombol Next,
maka akan muncul dialog sebagai berikut :
10. Pilih tombol Next. Kemudian muncul gambar berikut ini. Masukkan password
yang diinginkan pada kota isian New root password dan Confirm berikut ini
untuk sekuritas, misalnya 123456. Klik tombol Next.
14
15
Gambar 1.21 proses konfigurasi server
12. Klik Finish.
16
Tampilan tersebut di atas menandakan bahwa telah berhasil melakukan
koneksi ke server.
Cara 2 :
1. Dari menu Start > All Programs > MySQL > MySQL Server 5.0 > MySQL
Command Line Client, maka akan muncul tampilan seperti berikut ini :
2. Masukkan password yang telah ditentukan pada saat instalasi, yaitu : 123456
kemudian tekan enter.
Selanjutnya untuk keluar dari server MySQL dapat dilakukan dengan mengetikkan
perintah quit atau \q pada prompt mysql>.
Untuk memilih dan membuka database dapat menggunakan perintah berikut ini:
use namadatabase;
Contoh:
use kepegawaian;
3. Tugas
Tujuan :
1. Praktikan mampu memahami DDL
2. Praktikan mampu membuat script untuk pembuatan tabel dan
mengupdate tabel
3. Praktikan mampu membuat dan menghapus indeks
Tugas Pendahuluan
1. Apa perbedaan antara DDL(Data Definition Language) dan
DML(Data Manipulation Language)?
2. Apa kegunaan indeks dalam basis data? Jelaskan dan beri contoh!
1. Dasar Teori
Sebuah Bahasa basis data biasanya dapat dipilah ke dalam 2 kelompok, yaitu
:
1. Data Definition Language (DDL)
2. Data Manipulation Language (DML)
DDL (Data Definition Language)
DDL atau Data Definition Language adalah bagian dari sql yang
digunakan untuk mendefinisikan data dan objek database. Apabila perintah ini
digunakan, entri akan dibuat ke dalam kamus data dari SQL. Perintah DDL
sebagai berikut :
Tabel 3.1 Perintah DDL
Perintah Keterangan
Create Database Membuat database
Create Table Membuat tabel
Create Index Membuat index
Create View Membuat View
Alter Table Mengubah atau menyisipkan kolom ke dalam tabel
Drop Database Menghapus database
Drop Table Menghapus tabel dari database
Drop Index Menghapus index
Drop View Menghapus view
Grand Memberikan ijin akses kepada user
Indeks
Indeks dalam database dapat diumpamakan seperti indeks dalam sebuah
buku yang tebal, sehingga item tertentu dapat ditemukan dengan cepat. Sebuah
indeks dalam basis data berfungsi untuk mempercepat pencarian data berdasarkan
kolom tertentu. Perintah untuk membuat indeks sebagai berikut :
Create (unique) Index nama_index on nama_tabel (nama_kolom);
Keterangan :
unique → pilihan perincian yang dapat digunakan untuk menguatkan nilai
data di dalam kolom nama index menjadi unik.
nama_index → nama index yang baru.
nama_tabel→ nama tabel yang berisi kolom index akan dibuat.
nama_kolom→ nama dari kolom tempat index akan dibuat. Yang terdiri dari
Asc untuk pilihan index naik dan Desc untuk pilihan index menurun.
2.Kegiatan Praktikum
Latihan 1 : Menghapus Tabel
Perintah untuk menghapus tabel dengan menggunakan perintah berikut :
DROP TABLE namatabel;
Tabel yang akan dihapus sesuai dengan namatabel.
Misalnya menghapus tabel Departemen dari database kepegawaian;
DROP TABLE Departemen;
Contoh :
3.Tugas :
1. Dalam membuat tabel kita dapat menggunakan tipe Enum dan Set, apa
perbedaannya? Jelaskan dan beri contoh dalam pembuatan tabel!
2. Buat indeks untuk tabel pegawai
3. Buat indeks untuk tabel Departemen dengan menggunakan beberapa kolom
yaitu Nomor dan Nama
21
MODUL IV
DDL II
Tujuan :
1. Praktikan dapat memahami DDL
2. Praktikan mampu memahami dan mengubah struktur tabel dalam
database
Tugas Pendahuluan
1. Jelaskan perbedaan perintah DROP dengan perintah DELETE? Beri
contoh!
2. Mengapa kita menggunakan perintah ALTER dalam database?
1. Dasar Teori
Data Definition Language (DDL) digunakan untuk membuat dan
menghancurkan database dan objek database. Perintah-perintah ini terutama akan
digunakan oleh database administrator selama fase setup dan penghapusan proyek
database. Mari kita melihat struktur dan penggunaan perintah DDL empat dasar:
a. CREATE
Instalasi sistem manajemen database (DBMS) pada komputer memungkinkan
Anda untuk membuat dan mengelola banyak database
independen b. USE
Perintah USE memungkinkan Anda untuk menentukan database yang ingin
bekerja dengan Anda dalam DBMS.
c. ALTER
Setelah Anda telah membuat tabel dalam database, Anda mungkin ingin
memodifikasi definisi itu.Perintah ALTER yang memungkinkan Anda untuk
membuat perubahan pada struktur tabel tanpa menghapus dan menciptakan
tabel baru dengan nama yang berbeda.
d. 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.
Constraint
Constraint adalah batasan atau aturan yang ada pada table.
MySQL menyediakan beberapa tipe constraint berikut
:
• NOT NULL
22
Suatu kolom yang didefinisikan dengan constraint NOT NULL tidak boleh
berisi
nilai NULL. Kolom yang befungsi sebagai kunci primer (primary key)
otomatis tidak boleh NULL.
• UNIQUE
Mendefinisikan suatu kolom menjadi bersifat unik, artinya antara satu data
dengan data lainnya namanya tidak boleh sama, misal alamat email.
• PRIMARY KEY
Constraint PRIMARY KEY membentuk key yang unik untuk suatu
table.
• FOREIGN KEY
FOREIGN KEY constraint didefinisikan pada suatu kolom yang ada pada
suatu table, dimana kolom tersebut juga dimiliki oleh table yang lain sebagai
suatu PRIMARY KEY, biasa dipakai untuk menghubungkan antara 2 tabel.
2. Kegiatan Praktikum:
Latihan 1 : Mendefinisikan Primary Key Pada Tabel
Terdapat tiga cara untuk mendefinisikan primary key. Berikut ini adalah
perintah mendefinisikan primary key untuk Field1
CREATE TABLE namatabel
(
Field1 TipeData1 NOT NULL PRIMARY
KEY, Field2 TipeData2
);
23
Atau
CREATE TABLE namatabel
(
Field1 TipeData1,
Field2 TipeData2,
PRIMARY
KEY(Field1)
Atau );
24
Tabel pegawai diatas belum mempunyai primary key, maka utk menambahkan
primary key gunakan perintah berikut :
Struktur tabel pegawai setelah ditambah primary key pada field NoKTP
lakukan perintah berikut untuk menghapus primary key pada tabel pegawai
namatabel adalah nama tabel yang akan diubah tipe data atau lebar kolomnya.
Field adalah kolom yang akan diubah tipe data atau lebarnya. Tipe adalah tipe
data baru atau tipe data lama dengan lebar kolom yang berbeda.
Lakukan perintah berikut untuk mengubah tipe data dan lebar kolom NoTelp
pada tabel pegawai dari varchar(15) menjadi char(12)
Berikut ini perintah untuk mengubah nama kolom NoTelp menjadi Telp
:
Tujuan :
1. Praktikan dapat memahami perintah DML
2. Praktikan dapat memahami dan memanipulasi data dalam database
Tugas Pendahuluan
1. Sebutkan dan Jelaskan perintah yang termasuk dalam DML?
2. Bagaimana urutan penggunaan Select dengan banyak parameter yang
digunakan?
3. Apa perbedaan penggunaan Select dengan Distinct dan tanpa Distinct?
1. Dasar Teori
DML (Data Manipulation Language) adalah bahasa yang memungkinkan
pengguna mengakses atau memanipulasi data seperti yang diatur oleh model data.
Manipulasi data adalah :
Pengambilan informasi yang disimpan dalam
basisdata Penempatan informasi baru dalam basisdata
Penghapusan informasi dari basisdata
Modifikasi informasi yang disimpan dalam basisdata
DML (Data Manipulation Language) merupakan bahasa yang bertujuan
memudahkan pemakai untuk mengakses data sebagaimana direpresentasikan oleh
model data. Ada 2 jenis DML, yaitu :
Prosedural, yang mensyaratkan agar pemakai menentukan, data apa yang
diinginkan serta bagaimana cara mendapatkannya.
Nonprosedural, yang membuat pemakai dapat menentukan data apa yang
diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.
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. Kegiatan Praktikum
Latihan 1 : Memasukkan Data ke dalam
Tabel
Pernyataan INSERT INTO digunakan untuk memasukkan data baru pada tabel.
Perintah yang digunakan :
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.
Atau
SET digunakan untuk menentukan kolom yang akan diubah dan nilai
penggantinya.
WHERE digunakan untuk menentukan kondisi dari baris-baris yang akan
diganti.
30
31
Latihan 3 : Menghapus data
Pernyataan DELETE digunakan untuk menghapus baris pada tabel, perintah
yang digunakan seperti berikut:
DELETE FROM nama_tabel
WHERE nama_kolom =
nilai;
Lakukan perintah berikut untuk menghapus data dari tabel pegawai dengan
NoKTP = ‘1103’:
Dalam perintah DELETE jika kita ingin menghapus semua data pada tabel
tanpa menghapus tabel maka Where tidak perlu disebutkan.
DELETE From Pegawai;
Untuk memilih semua kolom dari tabel, dapat menuliskan tanda asterisk ( * )
sesudah kata Select.
Simbol * berarti semua kolom, seperti berikut :
SELECT *
32
FROM nama_tabel;
33
Untuk menampilkan semua kolom pada tabel pegawai menggunakan perintah
berikut :
34
Dengan klausa WHERE, operator berikut seperti tabel 5.1 berikut :
Tabel 5.1 Tabel Operator Untuk Klausa Where
Operator Keterangan
= Sama dengan
<> Tidak sama dengan
> Lebih besar dari
< Lebih kecil dari
>= Lebih besar atau sama dengan
<= Lebih kecil atau sama dengan
BETWEEN Antara dua nilai
LIKE Mencari suatu pola
3. Tugas :
Kerjakan dengan menggunakan perintah DML untuk :
1. mengubah data yang terdiri dari 2 atau lebih field dalam satu tabel, Misal;
mengubah NmDepan = ‘Eni’ , NmBlk=’Wahyuni’, alamat=’Sidoarjo’
menjadi NmDepan =’Endarti’, NmBlk=’Wardani’, Alamat =’Mojokerto’.
2. Menampilkan data pegawai yang mempunyai alamat Surabaya.
3. Menampilkan data pegawai yang memiliki gaji lebih besar dari 2000000.
4. Menampilkan data pegawai yang mempunyai alamat ‘sidoarjo’ dan
mempunyai gaji lebih kecil dari 2000000.
5. Menampilkan NmDepan, NmBelakang, Alamat pegawai yang mempunyai
alamat Surabaya atau Sidoarjo.
36
MODUL VI
DML (DATA MANIPULATION LANGUAGE)
Tujuan :
1. Praktikan dapat memahami dan memanipulasi data dengan menggunakan
perintah Select
Tugas Pendahuluan
1. Dalam penggunaan perintah Select dengan Order By dan Group By,
mana yang lebih dahulu dituliskan?Jelaskan!
2. Apa yang harus diperhatikan apabila kita ingin menggabung kolom dari 2
atau lebih tabel?
3. Apa perbedaan penggunaan AND dan operator IN?
1. Dasar Teori
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 triggers. Selain perintah-perintah SELECT yang dibahas
dalam modul V masih ada banyak perintah-perintah SELECT lain, antara lain
perintah ALIAS, menampilkan data lebih dari 2 tabel, ORDER BY, GROUP BY,
HAVING, fungsi agregate, dan beberapa perintah yang lain.
SELECT [DISTINCT] select_list
FROM table_source [WHERE
search_condition] [GROUP BY
group_by_expression] [HAVING
search_condition]
[ORDER BY order_expression [ASC | DESC]
Keterangan :
SELECT, INTO, FROM, WHERE, GROUP BY, HAVING DAN ORDER
BY kata kunci (keyword) yang harus disertakan jika kita
membutuhkannya di dalam pengolahan data.
select_list, table_source, search_condition, group_by_expression,
order_expression isian yang bisa kita ubah berdasarkan kebutuhan kita
Kurung kotak [ ] bagian tersebut boleh disertakan atau tidak, tergantung
dari kebutuhan
37
2. Kegiatan Praktikum
Latihan 1 : Pemberian nama lain (ALIAS)
Perintah Select dapat dilakukan dengan memberikan nama lain atau alias
yaitu dapat digunakan untuk memberikan alias pada nama_kolom dan
nama_tabel.
1.1 Pemberian alias pada kolom
Perintah untuk me
SELECT nama_kolom AS nama_alias
FROM namatabel;
Atau
SELECT nama_kolom nama_alias
FROM nama_tabel;
Lakukan perintah berikut untuk memberikan nama alias pada kolom Gaji
menjadi Gaji Bersih :
Atau
Lakukan perintah berikut untuk memberikan alias Peg pada tabel pegawai :
38
Atau
Pada latihan 2, data yang ditampilkan seluruh pasangan baris data departemen
di tiap baris pegawai, yang tentu saja bukan informasi yang benar. Maka
39
supaya informasi akurat maka ditambah relasi dengan menggunakan kolom
yang sama yaitu Departemen.Nomor dan Pegawai.Nomor.
Jika kita ingin menampilkan nama depan dengan urutan abjad terbalik, maka
perintahnya sebagai berikut :
Latihan 5 : Operator IN
Ekspresi ini digunakan untuk membandingkan dengan sebuah kumpulan nilai
Kumpulan nilai bisa berupa:
nilai-nilai yang diisikan
query tunggal yaitu query yg hasilnya hanya terdapat sebuah kolom saja
Perintah operator IN seperti berikut :
SELECT
nama_kolom FROM
nama_tabel WHERE
nama_kolom
NOT IN/IN (nilai1, nilai2, ...);
40
Lakukan perintah berikut untuk menampilkan NmDepan, NmBlk, Alamat
dari pegawai yang mempunyai alamat Sidoarjo dan Surabaya :
7.1 COUNT
Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada
tabel. Perintah berikut digunakan untuk menghitung jumlah data pada tabel
pegawai dengan menggunakan kolom NoKTP :
7.2 SUM
Perintah yang digunakan untuk menghitung jumlah nilai suatu kolom pada
tabel. Perintah berikut digunakan untuk menghitung jumlah nilai kolom gaji
pada tabel pegawai :
7.3 AVG
Perintah yang digunakan untuk menghitung rata-rata dari nilai suatu kolom
pada tabel. Perintah berikut digunakan untuk menghitung rata-rata dari kolom
Gaji pada tabel pegawai :
7.4 MIN
Perintah yang digunakan untuk menampilkan nilai terkecil dari suatu kolom
pada tabel. Perintah berikut digunakan untuk menampilkan nilai terkecil dari
kolom gaji pada tabel pegawai :
40
7.5 MAX
Perintah yang digunakan untuk menampilkan nilai terbesar dari suatu kolom
pada tabel. Perintah berikut digunakan untuk menampilkan nilai terbesar dari
kolom Gaji pada tabel pegawai :
Latihan 9 : HAVING
Klausa HAVING disediakan untuk mendukung klausa GROUP BY.
Kegunaannya adalah untuk menentukan kondisi bagi GROUP BY. Kelompok
yang memenuhi kondisi HAVING saja yang akan dihasilkan. Perintah yang
digunakan sebagai berikut :
SELECT nama_kolom, COUNT
(nama_kolom) FROM nama_tabel
GROUP BY nama_kolom
HAVING COUNT (nama_kolom) kondisi nilai;
41
Lakukan perintah berikut untuk menampilkan NoKTP, NmDepan, NmBlk,
Alamat dan jumlah tanggungan yang dimiliki pegawai lebih dari 1
tanggungan:
3. Tugas :
1. Perhatikan latihan 4 tentang penggunaan klausa Order By, jika data
NmDepan, NmBlk,Alamat dan nama departemen diurutkan berdasarkan
NmDepan secara descending dan Alamat berdasarkan ascending.
2. Tampilkan NmDepan, NmBlk dan Alamat pegawai yang alamatnya bukan
Sidoarjo dan Surabaya.
3. Tampilkan NmDepan, NmBelakang dari pegawai yang menjadi pimpinan
untuk masing-masing departemen.
4. Tampilkan Nomor, nama departemen dan jumlah pegawai untuk masing-
masing departemen.
5. Tampilkan data pegawai yang mempunyai tidak mempunyai tanggungan.
6. Tampilkan data tanggungan yang tahun lahir diluar 1999 sampai 2002.
7. Tampilkan jumlah pegawai yang mempunyai alamat Surabaya
8. Tampilkan NoKTP,NmDepan,NmBlk, Alamat dan Jumlah tanggungan
untuk masing-masing pegawai.
42
MODUL VII
Evaluasi Praktikum I
Tujuan :
1. Praktikan lebih memahami dan mengimplementasikan tentang ERD
2. Praktikan lebih memahami dan mengimplementasikan tentang DDL
dan DML
Tugas Pendahuluan
1. Buatlah ERD database (Gunakan Power desainer)
a. Nrp genap : data base perpusatakaan
b. Nrp ganjil : data base Rumah Makan
Tugas Praktikum :
1. Desain tabel minimal 5 tabel, yang sesuai dengan tugas pendahuluan di atas.
2. Gunakan perintah SQL untuk membuat tabel, isi tabel masing masing 10 data
3. Buat Perintah DDL dan DML dari tabel di atas yang terdiri dari insert,
update, delete, tambah baris, tambah kolom.
4. Lakukan pengurutan data menggunkan orderby, gunakan juga fungsi agregasi
AVG, MIN, MAX, SUM, COUNT pada beberapa tabel
43
MODUL VIII
DML (DATA MANIPULATION LANGUAGE)
Tujuan :
Praktikan dapat memahami dan memanipulasi data dalam database dengan
lebih luas lagi.
Tugas Pendahuluan
1. Apa yang anda ketahui tentang JOIN, UNION, INTERSECT,
EXCEPT, dan operator comparison ANY dan ALL?
2. Buat contoh perintah SQL untuk SELECT yang menggunakan JOIN,
UNION, INTERSECT, EXCEPT, dan operator comparison ANY dan
ALL !
Dasar Teori
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 triggers. Selain perintah-perintah SELECT yang dibahas
dalam modul V dan VI, masih ada banyak perintah-perintah SELECT lain yang
lebih luas lagi dalam penggunaan perintah SELECT.
Praktikum
1. Membuat Database pergudangan, yang terdiri dari 6 tabel yaitu pelanggan,
pesan, barang, karyawan, stok dan transaksi.
44
2. Buat table barang dan karyawan
45
3. Buat Tabel STOK
stok
id_stok <pi > Integer
jumlah_barang Variable characters (25)
Identifier_1 <pi>
46
4. Buat table pesan dan transaksi seperti di bawah ini
pesan
i <p i > In teg e r
d_pesan Date
tgl Vari abl e characters (25)
j uml ah
Identi fi er_1 <pi >
transaksi
i <p i > Integer
d_transaksi Date
tgl _masuk Date
tgl _kel uar Vari abl e characters
j um l (25) Vari abl e
ah_masuk j um characters (25)
l ah_kel uar
Identi fi er_1 <pi >
7. Inner join
inner join digunakan untuk menampilkan data dari dua tabel yang berisi data
sesuai dengan syarat di belakang on (tidak boleh null), dengan kata lain semua
data dari tabel kiri mendapat pasangan data dari tabel sebelah kanan.
8. 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.
Right join digunakan untuk menampilkan semua data dari tabel sebelah
kanan perintah right join beserta pasangannya dari tabel sebelah kiri.
Meskipun terdapat data dari sebelah kanan tidak memiliki pasangan, tetap
akan ditampilkan dengan pasangannya berupa nilai NULL.
Tugas :
Dari topik pembuatan aplikasi basis data yang telah anda buat, buatlah masing-
masing perintah DML berikut :
1. Buatlah perintah SQL untuk menampilkan data yang berasal dari dua
tabel dan tiga tabel dengan menggunakan perintah JOIN.
2. Buatlah perintah SQL yang menggunakan UNION, INTERSECT, dan
EXCEPT.
3. Buatlah perintah SQL yang menggunakan operator comparison ANY dan
ALL.
50
MODUL 9
ALJABAR RELASIONAL DAN
NORMALISASI DATA
Tujuan :
Mampu membangun desain logika basis data relasional untuk
menghasilkan struktur tabel yang normal.
PrePraktikum
1. Apakah yang anda ketahui tentang aljabar Relasional
2. Apa yang dimaksud dengan normalisasi?
3. Mengapa suatu tabel perlu dinormalisasikan?
4. Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal.
Apa yang disebut dengan bentuk normal?
5. Sebutkan dan jelaskan macam-macam dari bentuk normal agar dapat
dimanfaatkan untuk memperoleh tabel dan basis data yang lebih baik?
1. Dasar Teori
1.1. Normalisasi
Normalisasi merupakan Suatu Teknik/Cara yang digunakan untuk
menganalisa relasi berdasarkan pada primary key (atau Candidate key dalam
kasus BCNF) dan ketergantungan secara fungsional. Pertama diusulkan oleh
E.F Codd (1972)
Pada normalisasi data, digunakan istilah baru yang disebut dengan
functinal dependencies atau ketergantungan fungsional.
51
Notasi: A B
A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A
menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris
data dengan nilai A yang sama, maka nilai B juga sama. Diberikan 2 baris
r1 dan r2 dalam tabel T dimana A B
Jika r1(A)=r2(A), maka r1(B) = r2(B)
Dimisalkan relasi nilai_mhs memiliki empat buah atribut/field yaitu
nama_kul, nim, nama_mhs dan nilai. Maka ketergantungan fungsional
pada relasi tersebut adalah:
a. nim nama_mhs
yang artinya bahwa atribut nama_mhs hanya tergantung pada atribut nim.
Hal ini dibuktikan dari fakta: untuk setiap nilai nim yang sama, maka
pasti nilai nama_mhs nya juga sama.
b. nama_kul, nim nilai
yang berarti bahwa atribut nilai tergantung pada atribut nama_kull dan
nim secara bersama-sama. Untuk ketergantungan fungsional seperti ini
sesuai dengan pengertian bahwa setiap nilai diperuntukkan pada
mahasiswa tertentu untuk matakuliah tertentu yang diambil. Dalam arti
lain untuk nama_kul dan nim yang sama, maka nilai juga sama, karena
nama_kul dan nim merupakan key (bersifat unik).
Bentuk-Bentuk Normalisasi
Bentuk-bentuk normal dapat dimanfaatkan untuk memperoleh
tabel
dan basis data yang lebih baik.
53
Berikut ini akan dicontohkan normalisasi dari tabel kuliah yang
memiliki atribut:
Kode_kul Nama_kul Sks Smstr Waktu Ruang Nama_dosen
C1234 Matematika 1 2 1 1 RKB-3 Sri Herawati
C1243 Riset Operasi 2 5 1 RKB-1 Devie Rosa
C1342 ADSI 2 3 2 RKB-3 Yeni Kustiya
2. Tabel Jadwal
Kode_kul Waktu Ruang
C1234 1 RKB-3
C1243 1 RKB-1
C1342 2 RKB-3
54
Primary key pada tabel nilai adalah [kode_kul, nim]. Penambahan atribut baru
(nama_mhs) akan menyebabkan adanya ketergantungan fungsional yang baru
yaitu nim nama_mhs. Karena atribut nama_mhs ini hanya memiliki
ketergantungan parsial pada primary key secara utuh (hanya tergantung pada
nim, padahal nim hanya bagian dari primary key). Bentuk normal kedua ini
dianggap belum memadai karena meninjau sifat ketergantungan atribut
terhadap primary key saja.
56
1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus
dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel
tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel
baru tersebut bisa menghasilkan tabel semula dengan sama persis.
2. Terpeliharanya ketergantungan fungsional pada saat perubahan data
(Dependency Preservation).
3. Tidak melanggar Boyce-Code Normal Form (BCNF).
Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel
tersebut tidak melanggar Bentuk Normal tahap ketiga (3rd Normal Form /
3NF).
Relasi R dengan ketergantungan fungsional F termasuk dalam bentuk
BCNF jika untuk semua X A yang ada dalam F. Dengan kata lain, R berada
dalam BCNF jika ketergantungan fungsional non-trivial pada R memiliki key
constraint.
Operasi Project
menampilkan nama-nama
Operasi Project digunakan untuk
atribut yang diinginkan tampil. Operasi project disimbolkan
dengan symbol phi (π).
πnama,alamat(karyawan)
57
58
Union
Disimbolkan dengan tanda “U “. Operasi union dalam
aljabar relasional sama halnya dengan operasi union pada
aritmatika. Dengan operasi union informasi yang diinginkan
dapat diperoleh.
πjumlah(pesan) U πjumlah(stok)
Set difference
Disimbolkan dengan tanda “-“. Operasi ini untuk
menemukan tuple-tuple yang berada pada satu relasi tetapi
tidak berada pada relasi yang lainnya.
πid_karyawan (karyawan) – πid_karyawan(transaksi)
Cartesian product
Operasi Cartesian-product disimbolkan dengan “x”.
Dengan operasi ini dapat dihasilkan informasi yang
merupakan kombinasi dari dua relasi.
σalamat=”Surabaya”(pelanggan x pesan)
59
2. Kegiatan Praktikum
Tugas Praktikum :
1. Buat Normalisasi bentuk 1, II dan III, kemudian desain ke dalam CDM dan
PDM dari sistem informasi Perhotelan, dengan syarat ada 4 tabel master dan 3
transaksi.
Modul 10
VIEW 1
Tujuan :
Membuat View untuk menampilkan data dari satu atau beberapa table dengan
membungkus suatu query SELECT yang kompleks menjadi lebih sederhana.
Tugas Pendahuluan
1. Apa yang anda ketahui tentang view?
2. Sebutkan langkah-langkah apa saja yang harus dilakukan apabila kita
akan membuat suatu view ! (buatkan dengan contoh table)
3. Apa saja kegunaan view dalam table, jelaskan dengan contohnya.!
1. Teori
View
View adalah query SELECT yang disimpan dalam database untuk menampilkan
data dari satu atau beberapa table. View juga disebut sebagai table virtual yang
digunakan untuk membungkus suatu query SELECT yang kompleks menjadi
lebih sederhana. Data-data yang termasuk kategori rahasia dapat diamankan
dengan menggunakan view.
Sebelum query SELECT yang akan disimpan ke dalam view. Penamaan view
memiliki aturan yang sama dengan penamaan table. Nama view harus unik artinya
nama view tidak diperkenankan sama dengan nama view yang sudah ada
sebelumnya.
Pesan di atas akan tampil jika terjadi pembuatan view dengan menggunakan nama
yang sama dengan nama view yang lain.
Nama kolom dari base table bisa diubah menjadi nama lain saat disimpan ke dalam
view dengan menggunakan COLUMN ALIAS
2. Kegiatan Praktikum
Buat tabel-tabel berikut ini :
1. Tabel Artikel dengan struktur
6. Buat View dengan nama V_artikel1 untuk menampilkan data pada soal no 5
Jadi bisa anda lihat bahwa pada soal nomor 5 dan 7 mempunyai hasil yang sama,
sehingga dapat di simpulkan bahwa view dapat menampilkan kembali data yang
60
sama dengan lebih sederhana, dapat digunakan untuk mengerjakan query yang
tidak mungkin diselesaikan dengan cara biasa, view dapat digunakan untuk
menyimpan data rahasia karena tidak muncul pada database awal.
8. Buatkan view artikel2 untuk menampilkan judulartikel, author dan tanggal, id
yang mempunyai bidang pemograman dan analisa sistem
9. Buatkan view guest1 untuk menampilkan semua data yang namanya diawali
dengan ”ahmad”, kemudian ganti nama author menjadi pengarang.
10. Buatkan view guest2 untuk menampilkan semua data yang namanya
kemudian ganti namaauthor menjadi pengarang.
11. Buatkan view materi untuk menampilkan from, judul dan isi kemudian ganti
from menjadi asal.
3. Tugas :
1. Dari praktikum diatas, berikan kesimpulannya.
2. Buat table film dan jenis film dengan tampilan sebagai berikut jika
hasilnya diselect :
3. Isi tabel jenisfilm :
5. Berikut ini perintah untuk menampilkan semua data pada tabel jenisfilm
dan film :
61
6. Buat perintah view untuk :
a. Mengurutkan data film berdasarkan kolom judul, gunakan order by
dan simpan dengan v_film1
b. Menampilkan data pada tabel jenisfilm yang mana data pada kolom
jenis-nya tidak tercantum pada tabel film, gunakan NOT IN / not
exist dan simpan dengan nama v_film2
c. Menampilkan data pada tabel jenisfilm yang mana data pada kolom
jenis-nya tercantum pada tabel film menggunakan IN / exist dan
simpan dengan nama v_film3
d. Manampilkan kolom jenis dan digabungkan dengan SUM (jml_film)
yang dikelompokkan berdasarkan kolom jenis pada tabel film dan
simpan dengan nama v_film4
e. Menampilkan kolom judul dari tabel film dan kolom harga dari tabel
jenisfilm (gunakan Operasi Join) dan simpan dengan nama v_film5
62
MODUL 11
View 2
Tujuan :
Membuat View untuk menampilkan data dari satu atau beberapa table
dengan membungkus suatu query SELECT yang kompleks menjadi
lebih sederhana.
Tugas Pendahuluan
1. Apa saja keuntungan dan kerugian menggunakan view?
2. Mengapa View lebih optimal pemakaiannya dibanding
perintah select, jelaskan!
3. kenapa view bisa dijadikan sebagai kode rahasia untuk
menampikan suatu tabel, jelaskan!
I. Teori
1.1 View
View dalam sql juga merupakan suatu table yang diturunkan dari table
yang lain. Table ini bias berupa table dasar dari yang didefinisikan
sebelumnya.suatu view yang tidak perlu dalam bentuk fisiknya, bias berupa table
bayangan (virtual table), sehingga table dasar yang mempunyai tupel-tupel pada
dasarnya tersimpan dalam database. Pembatasan ini memungkinkan untuk
mengupdate operasi yang bias digunakan dalam view, tetapi tidak membatasi
dalam view queri.
64
1.3. Mengupdate view dan Implementasi view
Mengupdate view merupakan suatu hal yang kompleks. Secara umum
suatu update dari suatu view didefinisikan pada suatu table tunggal tanpa fungsi-
fungsi pendukung (aggregate) yang bias dimapping kedalam suatu table dasar
pembentuknya dengan berbagai cara. Topic tentang update view ini masih terus
diuji coba. Untuk menggambarkan masalah yang potensial dengan mengupdate
view yang telah didefinisikan dalam beberapa table, misal table Work_ON1 dan
mendukung perintah untuk mengupdate attribute pname dari ‘john smith’ dan dari
‘productX’ ke ‘productY’. View ini ditunjukkan sebagai berikut :
Update
work_on1
Set pname
=’productY’
Where Lname = ‘smith’and Fname= ‘john’
and
Pname = ‘productX’
Secara umum kita tidak dapat menjamin bahwa setiap tampilan bisa diupdate.
Suatu tampilan yang diupdate hanya memungkinkan untuk satu kali update pada
relasi dasarnya yang dapat menghubungkan update tersebut pada tampilannya.
Sebagai kesimpulan dapat ditentukan :
Suatu tampilan dengan definisi tunggal itu dapat diupdate bila attribute
tampilan berisi primary key atau beberapa candidate key dari relasi dasar,
sebab inilah yang menghubungkan antara view tupel dengan tupel dasar
tunggal.
Tampilanm yang didefinisikan dengan menggunakan beberapa table yang
berhubungan umumnya tidak dapat diupdate
Tampilan yang menggunakan group dan fungsi aggregate tidak dapat
diupdate
2. Kegiatn praktikum
1. Buat table golongan, jabatan dan pegawai dengan data sebagai berikut :
Tabel golongan :
65
Table jabatan
Tablepegawai
3. TUGAS
1. Apakah yang dimaksud dengan update view?, buatkan contoh mengenai
update view dari suatu table view.
2. Mengapa dalam update view fungsi aggregate tidak dapat digunakan,
jelaskan alas an anda
3. Buat view dengan nama latihanview6 untuk menampilkan seluruh data
pegawai yang mana nama pegawai bambang purnomo ganti dengan joko
purnomo dan golongan ganti dengan manager
66
4. Buat view dengan nama latihanview7 untuk menampilkan seluruh data
pegawai yang berada dikota Surabaya atau yang mempunyai golongan B
(gunakan operasi union)
5. Hapuslah latihanview 4
6. Update view jabatan yang mana tunjangan jabatan manajer dari 500000
menjadi 1000000
7. Buat view dengan nama latihanview8 untuk menampilkan seluruh data
pegawai yang jabatannya sebagai supervisor
67
MODUL XII
Evaluasi Praktikum II
Tujuan :
Praktikan dapat mengimplementasikan semua modul praktikum ini pada
aplikasi
Atau
68