Modul Praktikum Basis Data PRAKTIKUM 1 PERANCANGAN DATABASE : SYBASE POWER DESIGNER 12 1.1 Sekilas Mengenai Sybase Power Designer 12 Sybase Power Designer 12 merupakan tool pemodelan yang dikeluarkan oleh ybase untuk membangun sebuah sistem informasi yang cepat, terstruktur dan efektif. ybase Power Designer 11 mendukung beberapa pemodelan sebagai berikut :
Requirement Management
Application Modelling dengan UML
Business Process
Information Liquidity Modelling
Data Modelling
Integrated Modelling
XML Modelling Pada praktikum ini kita akan mencoba menggunakan Power Designer untuk melakukan
pemodelan data
(data
modeling) untuk kemudian akan kita gunakan untuk melakukan
perancangan basis data. Secara sederhana, untuk melakukan pemodelan data pada Power Designer, kita harus memulainya pada level Conceptual Data Model, dimana pemodelan data dilakukan dengan menggunakan metode Entity Relationship Diagram. Pada CDM, tipe data yang dipergunakan bersifat general, dan tidak spesifik terhadap suatu database tertentu. Tahap kedua adalah membuat Physical Data Model (PDM), PDM merupakan bentuk spesifik dari CDM yang telah kita bangun. Power Designer memiliki banyak dukungan target database, sehingga kita tidak perlu bingung mengenai tipe – tipe data yang dipergunakan, karena Power Designer akan menyesuaikan seperti pada tipe data yang kita definisikan sebelumnya pada tahap CDM. Tahap terakhir adalah mengenerate script Data Definition Language (DDL) dari PDM yang telah dibuat. Melalui DDL inilah kita dapat mengenerate objek – objek database (table, trigger,view, procedure) sehingga kemudian DDL script ini dapat kita eksekusi ke software database lain seperti Oracle atau MySQL, atau dapat juga kita buat koneksi dan mengeksekusinya langsung via Power Designer.
Modul Praktikum Basis Data 1.2 Conceptual Data Modelling Pada tahap ini kita akan membuat CDM dengan studi kasus adalah relasi antara Anggota Perpustakaan dengan Buku pada istem Informasi Perpustakaan. ampai tahap ini, diasumsikan anda sudah paham mengenai konsep ERD dan pemodelan data. Tahapan pembuatan CDM pada Power Designer 12 adalah sbb : 1. Pilih menu file > new > pada dialog new pilih new model dan Conceptual Data Model kemudian klik OK.
2. Langkah selanjutnya adalah membuat entitas mahasiswa. Pada tahapan ini, klik ikon entity pada pallete dan klik lagi pada workspace. Kemudian kembali ke pallete dan klik ikon panah lalu klik dua kali ikon entity atau klik kanan kemudian pilih properties untuk membuka “properties” nya seperti pada gambar dibawah :
Modul Praktikum Basis Data
Modul Praktikum Basis Data 3. Pada tab general, kita dapat memberi nama entitas tersebut yaitu “mahasiswa”. 4. Kemudian pada tab attributes, kita dapat menambahkan atribut pada entitas ini diantaranya : Nama
Tipe Data
NIM Atribut
Variable Character / Length
NamaMhs
Variable Character / Length 9
AlamatMhs
Variable Character / Length 25
35 5. Untuk atribut NIM kita set sebagai primary key, sehingga centang checkbox P untuk mengeset Primary Key; Selain itu NIM juga tidak boleh kosong sehingga centang juga M untuk Mandatory, kemudian klik OK.
6. Langkah selanjutnya adalah membuat entitas buku. Untuk membuat entitas buku, langkah langkah yang dilakukan sama dengan tahapan pembuatan entitas mahasiswa dengan atribut sbb: Nama Atribut
Tipe Data
KodeBuku
Variable Character / Length
JudulBuku
Variable Character / Length 4
PengarangBu
Variable Character / Length 35
ku
20
Modul Praktikum Basis Data
7. Kemudian Set Kode Buku sebagai Primary Key dan Mandatory.
8. Berikutnya kita akan membuat relasi antara kedua entitas ini, untuk itu klik icon relationship pada pallete, kemudian hubungkan kedua entitas tersebut.
9. Kemudian klik dua kali atau klik kanan dan pilih menu properties untuk melihat properties nya. 10. Pada tab general , kita dapat mengubah nama relationshipnya menjadi “meminjam”. 11. Kemudian pada tab detail, kita dapat memilih tipe relasi antara kedua entitas tersebut, dalam hal ini pilih 1 to many. 12. Pada relasi mahasiswa to buku pilih cardinality 1,n dan centang pada checkbox mandatory. 13. Sedangkan pada relasi buku to mahasiswa, pilih cardinality 1,1 dan centang pada checkbox mandatory kemudian klik OK.
Modul Praktikum Basis Data
14. Untuk mengecek kebenaran model ini, kita dapat memilih tools > check model > OK. Bila benar, maka akan terlihat pesan bahwa CDM yang telah dibangun benar pada bagian bawah workspace seperti pada gambar dibawah
C. Tahap 2 : Physical Data Modelling 1. Setelah membuat CDM, maka tahapan selanjutnya adalah membuat PDM. Untuk membuat PDM, maka pilih tools > generate physical data model. 2. Pada tab general kita dapat memilih generate new physical data model. 3. Pada pilihan database, kita dapat memilih database yang akan kita gunakan, karena dalam tutorial kita menggunakan Oracle 10g XE, maka dapat kita pilih database Oracle 10g. 4. Kemudian berilah nama pada PDM ini dengan PDM perpus 5. Pada tab detail, akan terdapat beberapa pilihan, untuk table prefix, isi dengan TBL_
Modul Praktikum Basis Data 6. Pada reference, ganti pilihan delete rule dengan cascade, kemudian klik OK. 7. Kemudian, kita dapat mengecek kebenaran model dengan cara yang sama saat mengecek kebenaran model CDM. D. Tahap 3 : Data Definition Language Generation 1. Tahap terakhir dalam perancangan database dengan menggunakan Sybase Power Designer 11 ini adalah perancangan DDL script yang nantinya dapat kita impor pada database server. 2. Untuk itu pilih database > generate database. 3. Pada dialog database generation, pilih script generation pada pilihan generation type. 4. Pada directory, kita dapat memilih dimana DDL script ini akan disimpan. 5. Pada file name, kita dapat mengetikkan nama untuk script ini. 6. Untuk tab dan pilihan lain dapat kita biarkan dalam kondisi default. 7. Kemudian klik OK dan untuk melihat DDL script yang telah kita generate klik edit, dibawah ini adalah DDL script untuk relasi mahasiswa – buku yang telah kita buat :
Modul Praktikum Basis Data
Modul Praktikum Basis Data
TUGAS 1. Buatlah sebuah model basis data dengan menggunakan powerdesigner yaitu sebuah sistem pada perusahaan, dimana perusahaan tersebut memiliki divisi produksi, divisi management, divisi finance, divisi HRD, divisi trade. Sistem apa saja yang sekiranya berada di salah satu divisi atau beberapa divisi tersebut, secara spesifik, dengan minimal tabel yaitu 7 tabel. 2. Generate menjadi physical data model. 3. Jelaskan sistem tersebut secara terperinci.
Modul Praktikum Basis Data
PRAKTIKUM 2 QUERY : PENGENALAN DASAR
2.1 PENDAHULUAN MySQL (My Structure Query Language) adalah salah satu aplikasi database dari sekian banyak aplikasi database lain seperti Oracle, MS SQL, PostgresSQL dan banyak lagi. Kesemuanya itu mempunyai fungsi dan manfaat yang hampir sama namun dalam pengerjaanya sedikit berbeda. Diantara beberapa aplikasi database, dalam penggunaannya MySQL tergolong adalah yang paling mudah untuk digunakan. MySQL juga tidak memerlukan spesifikasi komputer yang tinggi dalam menjalankannya dan termasuk aplikasi database yang ringan, cepat, reliable, dan telah banyak digunakan untuk menangani pembuatan software besar. MySQL adalah sebuah aplikasi database manajemen sistem (DBMS) yang merupakan salah satu system dalam mengakses database dengan menggunakan bahasa SQL. MySQL juga merupakan software Open source yang artinya memungkinkan untuk semua orang untuk menggunakan dan memodifikasi software. Setiap orang dapat men-download MySQL dari internet dan menggunakannya tanpa membayar apapun. Kita bisa mempelajari kode sumber dan memodifikasinya sesuai dengan yang kita inginkan.
2.2 PRAKTIKUM MENJALANKAN MYSQL 1. Buka MS. DOS dengan jalan klik start-run.., pada menu run ketikkan CMD kemudian enter 2. Masuk ke dalam direktori C:\xampp\mysql\bin dan ketikkan : mysql –h localhost –u root 3. Setelah masuk akan tampak menu utama dari MySql Welcome to the MySQL monitor.
Commands end with ; or \g.
Your MySQL connection id is 359 Server version: 5.1.41 Source distribution Type
'help;'
or
'\h'
for
current input statement.
help.
Type
'\c'
to
clear
the
Modul Praktikum Basis Data 4. Untuk keluar dari MySql Tekan
ctrl
+
c
mysql> \q Bye
MELIHAT TANGGAL & WAKTU Untuk melihat tanggal didalam MySql anda dapat melakukan dengan rumus cur date () ; Mysql>select curdate(); Sedangkan untuk melihat waktu dengan rumus curtime () ; Mysql>select curtime(); Untuk melihat waktu dan sekaligus tanggal, maka tumus yang dituliskan adalah now () ; Mysql>select now(); MYSQL SEBAGAI KALKULATOR Dengan MySql, kita tidak usah bingung ketika suatu saat kita harus menggunakan alat bantu kalkulator., karena hal ini dapat ditangani langsung oleh MySql tanpa harus membuat program terlebih dahulu. Rumus yang dituliskan adalah select
rumus_perhitungan;
Mysql>select 5+5; DATABASE Database adalah kumpulan dari tabel-tabel, dan tabel merupakan kumpulan dari beberapa Field atau column. Untuk membuat suatu table maka seorang user harus membuat database terlebih dahulu. Dengan mengaktifkan database yang dibuat tersebut.
MELIHAT DATABASE Untuk melihat database rumus yang digunakan adalah show databases; Mysql>show databases; Perintah diatas digunakan untuk melihat semua databases yang ada didalam MySql, sedangkan untuk melihat databases yang sedang aktif menggunakan rumus select database(); Mysql>select database(); Untuk menggunakan atau masuk kedalam suatau database rumus yang digunakan adalah use nama_database;
Modul Praktikum Basis Data Mysql>use
; Jika terdapat pesan database changed, berarti anda telah berhasil masuk ke database tersebut, tetapi jika terdapat pesan ERROR 1049:unknown database, berarti anda tidak berhasil masuk kedatabase tersebut. MELIHAT TABEL Untuk melihat tabel yang ada dalam suatu database rumus yang digunakan adalah Mysql>show tables; MEMBUAT DAN MENGHAPUS DATABASE Aturan penamaan dalam pembuatan database : 1. Jangan menggunakan spasi dan spesial karakter dalam pembuatan nama database 2. Jangan menggunkan angka pada awal pembuatan nama database Rumus yang digunakan untuk membuat database adalah
create database
database>; Mysql>create database ; Untuk menghapus database yang telah dibuat, rumus yang digunakan adalah drop database ; Mysql>drop database ;
2.3 TUGAS 1. Tuliskan hasil perintah melihat tanggal dengan menggunakan MySql 2. Tuliskan hasil perintah melihat waktu dengan menggunakan MySql
Modul Praktikum Basis Data 3. Tuliskan hasil perintah melihat tanggal dan waktu dengan menggunakan MySql 4. Tuliskan hasil perintah dari 10*5 , 5+10 , 123-100, 10 / 3 menggunakan MySql 5. Tuliskan / gambar hasil perintah melihat semua database yang ada dalam MySql 6. Masuklah kesalah satu database tersebut, kemudian lihatlah database anda (menggunakan rumus database yang sedang aktif ) kumudian anda tuliskan hasil dari perintah tersebut 7. Buatlah sebuah database dengan nama ”tugas”, kemudian lihat database tersebut apakah sudah berhasil anda buat, tuliskan keterangan anda 5. Lihatlah tabel yang ada didalam salah satu database yang ada didalam MySql, kemudian tulisian hasilnya 6. Hapuslah database yang telah anda buat pada perintah no 7, tuliskan hasil dari perintah tersebut kemudian lihat hasilnya apakah database tersebut telah terhapus, tuliskan hasilnya 7.
Pengetahuan
apa
saja
yang
telah
anda
pahami
dari
hasil
praktek
diatas
Modul Praktikum Basis Data PRAKTIKUM 3 QUERY : MANIPULASI TABEL 3.1 PENDAHULUAN Secara umum bahasa SQL dibagi menjadi tiga bagian: 1. DDL (Data Definition Language) yang digunakan untuk membangun objek-objek dalam database seperti tabel. 2. DML (Data Manipulation Language) yang digunakan dalam memanipulasi suatu tabel didalam database (menambah, mengedit, mencari dan menghapus) 3. DCL (Data Control Language) yang digunakan untuk menangani masalah keamanan dalam database server Ketiga komponen ini bisa digunakan setelah suatu database di aktifkan. 3.2 PRAKTIKUM Membuat Tabel Setelah menciptakan suatu database dan mengaktifkan database tersebut maka dapat dilakukan perintah pembuatan tabel. CREATE TABLE Nm_Tabel ( Nm_Kolom1<spasi>tipe_data(ukuran), nm_kolom2<spasi>tipe_data(ukuran)….. nm_kolom_n<spasi>tipe_data (ukuran) );
Untuk bentuk tipe data yang digunakan ada bermacam-macam yaitu: int, char, varchar, date, text, dll.
Contoh :
Modul Praktikum Basis Data Membuat tabel buku_alamat seperti tabel dibawah, tetapi yang perlu dingingat adalah anda tidak boleh membuat nama tabel atau field yang menggunakan spasi. Tabel buku_alamat Field
Type
No
Int(3)
Nama
Varchar(25)
Alamat
Varchar(50)
Kd_post Char(5) Email
Varchar(30)
Rumus untuk membuat tabel tersebut : Mysql>create table buku_alamat ->( ->no int(3), ->nama varchar(25), ->alamat varchar(50), ->Kd_post(5), ->email varchar(30) ->);
Modul Praktikum Basis Data Kemudian lihatlah hasil dari pembuatan tabel tersebut, apakah nama tabel tersebut telah ada dalam daftar tabel yang ada Melihat Struktur Tabel Perintah describe nama_tabel; digunakan untuk melihat struktur tabel yang telah dibuat. Namun sebelumnya, sudah berada pada database yang mempunyai tabel tersebut. Contoh : melihat struktur tabel yang telah anda buat (buku_alamat), dengan mengetikkan perintah : mysql>describe buku_alamat;
Mengubah Struktur Tabel Ada empat macam perubahan dalam struktur tabel, yaitu : a. Perubahan nama field/kolom Perubahan yang terjadi hanya pada nama field/kolom saja. Nama field/kolom lama diganti dengan nama field/kolom yang baru. Struktur penulisan : alter table nama_tabel change nama_field_lama nama_field_baru tipe_data; Contoh : Mengganti field kd_post pada tabel buku_alamat dengan kdpos, dengan mengetikkan perintah mysql>alter table buku_alamat change kd_pos kdpos varchar(6); Lihatlah hasil perubahan dengan menggunakan perintah Melihat Struktur Tabel seperti pada pembahasan diatas. b. Perubahan tipe data Perubahan yang terjadi hanya pada tipe data yang digunakan oleh field/kolom tertentu. Tipe data baru langsung disebutkan di belakang nama field/kolom, tanpa harus menyebutkan tipe data lama. Struktur penulisan : Alter table nama_tabel modify nama_field tipe_data_baru; Contoh : mengganti type data pada field alamat pada tabel buku_alamat dengan type data text, dengan
Modul Praktikum Basis Data mengetikkan perintah : mysql>alter table buku_alamat modify alamat text; Lihatlah hasil perubahan dengan menggunakan perintah Melihat Struktur Tabel seperti pada pembahasan diatas c. Penambahan field Struktur tabel akan berubah dengan bertambahnya field/kolom baru didalamnya. Struktur penulisan : Alter table nama_tabel add nama_field tipe_data_baru; Atribut tambahan: first = untuk penambahan field di awal table; after ‘nama_field’ = untuk penambahan field di sesudah ‘nama_fields’; Contoh : membuat field baru pada tabel buku_alamat dengan nama field jk type data varchar(2), dengan mengetikkan perintah : mysql>alter table buku_alamat add jk varchar(2); Lihatlah hasil perubahan dengan menggunakan perintah Melihat Struktur Tabel seperti pada pembahasan diatas. d. Penghapusan field Struktur tabel mengalami perubahan akibat berkurangnya field/kolom tertentu. Struktur penulisan : Alter table nama_tabel drop column nama_field; Contoh : menghapus field kdpos pada tabel buku_alamat dengan mengetikkan perintah : mysql>alter table buku_alamat drop column kdpos; Lihatlah hasil perubahan dengan menggunakan perintah Melihat Struktur Tabel seperti pada pembahasan diatas
Mengganti Nama Tabel Penggantian nama tabel meliputi nama tabel itu sendiri. Struktur penulisan : Alter table nama_tabel_lama rename nama_tabel_baru; Contoh :
Modul Praktikum Basis Data mengubah nama tabel buku_alamat dengan nama alamat, dengan mengetikkan perintah: mysql>alter table buku_alamat rename alamat; Lihatlah hasil perubahan dengan menggunakan perintah show tables Menghapus Tabel Tabel dapat saja dihapus karena sudah tidak dibutuhkan lagi,atau terjadi kesalahan. Struktur penulisan : Drop table nama_tabel; Contoh: menghapus tabel alamat, dengan mengetikkan perintah : mysql>drop table alamat; Lihatlah hasil perubahan dengan menggunakan perintah show tables;
3.3 TUGAS 1. Buatlah sebuah database “akademik”, kemudian buatlah sebuah tabel mhs seperti berikut : Field
Type
No
Int(3)
Nim
int(10)
Nama
Varchar(25)
Alamat
Varchar(30)
Jk
Varchar(2)
Tlp
Varchar(25)
Lihatlah struktur tabel yang telah anda buat dengan perintah seperti pembahasan diatas, kemudian tuliskan struktur tersebut 2. Dari pembuatan tabel diatas rubahlah nama field Tlp menjadi HP, lihat struktur tabel dan tuliskan hasilnya 3. Rubahlah tipe data tabel diatas pada field alamat menjadi text, lihat struktur tabel dan tuliskan hasilnya
Modul Praktikum Basis Data
4. Tambahkan satu field baru dengan nama field nama_ortu type data varchar(25), lihat struktur tabel dan tuliskan hasilnya 5. Hapuslah satu field dari tabel tersebut, lihat struktur tabel dan tuliskan hasilnya serta field apa yang ada haspus 6. Rubahlah nama tabel tersebut dengan nama data_mhs, lihat hasil perubahan dengan perintah melihat tabel yang ada, kemudian tuliskan hasilnya
PRAKTIKUM 4 QUERY : DATA MANIPULATION LANGUAGE
4.1 PENDAHULUAN DML (Data Manipulation Language) yaitu bahasa atau perintah sql yang digunakan untuk memanipulasi data seperti menampilkan data, menambah/mengisi data, mengubah data
Modul Praktikum Basis Data dan menghapus data. Yang termasuk dalam perintah ini adalah SELECT, INSERT, UPDATE dan DELETE. 4.2 PRAKTIKUM Kunci Primer (Primary Key) Secara sederhana kunci primer digunakan untuk menyatakan bahwa suatu nilai tidak boleh ada yang sama dan nilai tersebut harus diisi (NOT NULL). Penetapan kunci primer dibuat pada saat pembuatan tabel: mysql> create table mhs ( NIM varchar(10) not null primary key, Nama varchar(25), Alamat varchar(35),jk char(1),telp varchar(25));
Memberikan nilai bawaan (Default) Jika tidak memberikan suatu nilai dalam kolom tertentu maka oleh system secara otomatis diisi dengan nilai NULL. Oleh karena itu pada saat perancangan table field tersebut defaultnya diisi dengan tetapan yang dikehendaki. mysql> create table MatKul (kode varchar(10) not null primary key, nama varchar(20),SKS int default 2); Memasukkan Data (Insert) Ada dua cara yang dapat digunakan untuk memasukkan data kedalam tabel, yaitu: 1. insert
into
nama_tabel
values
(isi_field_2,…,isi_field_n); Contoh : insert into matkul values(JFKK232,’Basis Data’,2);
2. insert
into
nama_tabel
(nama_field_1,
nama_field_2,…,nama_
field_n) values (isi_field_1, isi_field_2,…,isi_field_n); Contoh : Insert
into
matkul
Data’ , 2);
Latihan : buatlah tabel matkul :
(kode,nama,sks)
values
(JFKK232,
’Basis
Modul Praktikum Basis Data Field
Type
Null
Key
Default Extra
Kode
Varchar(10)
No
Primary Null
Nama
Varchar(20)
Yes
Null
Sks
int(1)
Yes
2
Isikan data tabel tersebut : Kode
Nama
Sks
JFKK232
Basis Data
2
JFPB231
Praktikum Basis Data
1
JFKB131
Sistem Operasi
2
JFPB232
Praktikum Sistem Operasi 1
Menampilkan Data (Select) Struktur Penulisan : Select [fields] from [nama_tabel] Where [kondisi] Order by [nama_field] Group by [nama_field] asc / desc Note : Setelah penulisan select, [fields] dapat diganti dengan menyebutkan satu nama field saja atau beberapa field sekaligus yang dipisah dengan tanda koma (,). Penulisan field-field tersebut digunakan untuk memunculkan data dari kolom mana saja yang akan ditampilkan. Jika seluruh kolom akan ditampilkan dapat menggunakan tanda asterik (*) untuk mewakilinya. Menampilkan data yang telah dimasukkan pada latihan PRAKTIKUM diatas dengan mengetikkan perintah : Select kode,nama from matkul; (menampilkan kode dan nama mata kuliah ) Select * from matkul; (menampilkan semua data) Mengurutkan Tampilan Klausa ORDER BY digunakan untuk mengurutkan hasil. Jika menginginkan data ditampilkan urut berdasarkan pada urutan terkecil ke besar, dapat menggunakan ASC (ascending). Sedangkan untuk mengurutkan data berdasarkan yang terbesar ke kecil, dapat menggunakan DESC (descending). Menampilkan data dari tabel yang telah dibuat diatas dengan menggunakan model urut sesuai sks secara descending, dengan mengetikkan perintah : mysql> select * from matkul order by sks desc;
Modul Praktikum Basis Data mysql> select * from matkul order by sks asc; Mengubah Data (Update) Jika data sudah kadaluarsa, berikut perintah digunakan untuk merubah data. Struktur penulisan : Update nama_tabel set nama_field_1=isi_baru_1, nama_field_2=isi_baru_2,…,nama_field_n=isi_baru_n Where kriteria; Contoh : mengubah data mata kuliah ’Praktikum Sistem Operasi’ dengan sks = 2 dengan mengetikkan perintah: Update
matkul
set
nama=’Prak.
Sistem
Operasi’
where
kode=’JFPB232’; Lihat hasilnya dengan menampilkan isi tabel.
4.3 TUGAS 1. Buatlah sebuah tabel tugas seperti berikut : Field
Type
Key
Null
Nim
int(10)
Ya
No
Nama
Varchar(25)
No
Yes
matkul
Varchar(25)
No
Yes
nilai
Varchar(1)
No
Yes
Lihatlah struktur tabel dari pembuatan tabel tersebut, kemudian tuliskan hasilnnya. 2. Isikan data tabel dari tabel tersebut : Nim
Nama
Matkul
Nilai
2345
Rita Susilowati
Sistem Operasi
A
2346
Andi Nugroho
Sistem Operasi
B
2347
Slamet Widodo
Sistem Operasi
C
2348
Nike Astuti
Sistem Operasi
B
2349
Novi Yulianti
Sistem Operasi
A
Tampilkan data tersebut ( semua data ), tuliskan hasilnya. 3. Dari tabel diatas tampilkan data Nim dan Matkul saja, tuliskan hasilnya 4. Tampilkan semua data diatas dengan diurutkan berdasarkan nilai secara ascending, tuliskan hasilnya.
Modul Praktikum Basis Data
5. Rubahlah data tabel tersebut menjadi seperti berikut : Nim
Nama
Matkul
Nilai
2345
Rita Susilowati
Basis Data
C
2346
Andi Nugroho
Basis Data
A
2347
Slamet Widodo
Basis Data
B
2348
Nike Astuti
Basis Data
C
2349
Novi Yulianti
Basis Data
B
Tampilkan data tersebut ( semua data ), tuliskan hasilnya.
Modul Praktikum Basis Data PRAKTIKUM 5 QUERY : MENAMPILKAN DATA 5.1 PRAKTIKUM OPERATOR RELASIONAL Operator yang digunakan untuk perbandingan antara dua buah nilai. Jenis dari operator ini adalah = , >, <, >=, <=, <> Latihan : buatlah tabel mhs seperti dibawah ini Field
Type
Key
Null
Default
Nim
Varchar(10)
Ya
No
Null
Nama
Varchar(25)
No
Yes
Null
Jk
Varchar(1)
No
Yes
L
Isikan datanya seperti contoh berikut : Nim
Nama
Jk
J1F107001 Aria Marwan Putra
L
J1F107003 Rahmat Hidayatullah
L
J1F107006 Yuniar Rezekiani
P
J1F107007 Muhammad Hasmi
L
J1F107008 Ismi Yunita
P
Untuk pengisian data dengan memasukkan data lebih dari satu/sekaligus dapat dilakukan dengan perintah : mysql>
INSERT
INTO
nama_tabel
VALUES(isi_field_1_1,isi_field_2_1,
..,isi_field_n_1) , (isi_field_1_2,isi_field_2_2, ..,isi_field_n_2), ...; mysql>INSERT
INTO
mhs
VALUES(‘J1F107001’,'Aria
Marwan
Putra',’L’),
(‘J1F107003’,'Rahmat Hidayatullah',’L’), (‘J1F107006’,'Yuniar Rezekiani',’P’);
Tampilkan data yang mempunyai jenis kelamin (jk) = P dengan mengetikkan perintah : mysql> select * from mhs where Jk='P';
Modul Praktikum Basis Data OPERATOR AND dan OR And dan or menggabungkan dua tabel atau lebih kondisi pada klause where. Operator and akan menampilkan data jika semua kondisi yang diminta bernilai benar, sedangkan operator or akan menampilkan data jika ada kondisi yang benar. Rumus yang digunakan adalah : Select*from where =’’ and/or =’ Latihan : buatlah tabel pegawai dengan data sebagai berikut : Tabel pegawai KodePegawai 01 02 03 04
NamaDepan Hasan Adi Diana Ita
Alamat Jl. Diponegoro 10 Jl. A. Yani 233 Jl. Merdeka 45 Jl. Jend. Sudirman 3
Kota Yogyakarta Solo Medan Yogyakarta
Untuk menampilkan data dengan nama ita atau kota yogyakarta adalah : Select
*
from
pegawai
where
namadepan=’Ita’
or
kota=’Yogyakarta’; Operator and dan or dapat digunakan secara bersamaan, yaitu: Select
*
from
pegawai
where
(namadepan=’Ita’
kota=’Yogyakarta’) and (alamat=’Jl. Jend. Sudirman 3’); Operator BETWEEN dan NOT BETWEEN Operator between ini untuk menangani operasi “jangkauan” Tambahkan tabel mhs diatas hingga menjadi tabel seperti contoh berikut : Field
Type
Key Null Default
Nim
int(10)
Ya
No
Null
Nama
Varchar(25)
No
Yes
Null
Jk
Varchar(1)
No
Yes
L
Tgl_lhr
date
no
Yes
Null
Nim
Nama
Jk Tgl_lhr
J1F107001 Aria Marwan Putra
L
‘Tahun-bulan-tgl’
J1F107003 Rahmat Hidayatullah
L
‘Tahun-bulan-tgl’
J1F107006 Yuniar Rezekiani
P
‘Tahun-bulan-tgl’
J1F107007 Muhammad Hasmi
L
‘Tahun-bulan-tgl’
J1F107008 Ismi Yunita
P
‘Tahun-bulan-tgl’
or
Modul Praktikum Basis Data mysql> select * from mhs where tgl_lhr between '1985-01-01' and '1990-12-29'; Menampilkan data dari tabel tersebut yang mempunyai nim J1F107002 s/d J1F107006, dengan mengetikkan perintah: mysql> select * from mhs where nim between' J1F107002' and ' J1F107006';
Menampilkan data dari tabel tersebut yang lahir pada bulan 10, dengan mengetikkan perintah: mysql> select * from mhs where tgl_lhr like ‘_ _ _ _-10-_ _'; Operator LIKE Operator LIKE atau NOT LIKE sangat bermanfaat dalam mencari suatu data. Operasi ini digunakan dengan menyebutkan tanda wildcard berupa garis bawah (_) atau (%). Tanda garis bawah (_) berarti sebuah karakter apa saja. Contoh a_u cocok dengan anu,aku,alu,abu dan tidak cocok untuk andu,ambu ataupun allu. Tanda % berarti cocok dengan kata apa saja dan berapapun panjangnya. contoh: mysql> select nim,nama,alamat from mhs where nama like 'an%'; Menampilkan data dari tabel tersebut yang namanya mengandung nama an, dengan mengetikkan perintah mysql> '%ar%';
select
*
from
mhs
where
nama
like
Modul Praktikum Basis Data
5.2 TUGAS 1. Buatlah tabel barang seperti berikut : Field
Type
Key
Null
Kode
int(10)
Ya
No
Nama
Varchar(25)
No
No
Hrg
float(6)
No
No
Isikan datanya sebagai berikut : kode
Nama
Hrg
AD
Sabun mandi
3000
AE
Sikat gigi
2000
AS
Pasta gigi
1500
AR
Shampo
9000
AT
Sabun cuci
3000
Tampilkan data yang harganya lebih besar dari 3000, tuliskan hasilnya. 2. Tampilkan data yang mempunyai harga 3000, tuliskan hasilnya 3. Tampilkan data yang mempunyai harga antara 2000 – 3000, tuliskan hasilnya 4. Tampilkan data yang namanya mengandung kata gigi dengan menggunakan operator LIKE, tuliskan hasilnya! 5.
Buatlah tabel barang dengan data sebagai berikut : No 1 2 3 4 5 6 a.
KodeBar AD01 AD02 AD03 AD04 AD05 AD06
Nama Mie instant rebus Mie instant goreng Sabun mandi Sabun cuci Sikat gigi Pasta gigi
Harga 1000 1500 1000 500 1500 1500
Tampilkan angdata yang namanya sabun cuci atau barang yang harganya lebih besar dari 1000, tuliskan hasilnya
b.
Dari tabel diatas tampilkan data yang namanya sabun mandi atau harganya 1000, tuliskan hasilnya
c.
Dari tabel diatas tampilkan data yang namanya sabun mandi atau barang-barang yang harganya 1000 dan kodenya AD02, tuliskan hasilnya.
Modul Praktikum Basis Data
PRAKTIKUM 6 QUERY : PENGGABUNGAN TABEL I
6.1 PENDAHULUAN MySQL mempunyai kemampuan untuk menggabungkan dua tabel atau lebih guna mendapatkan informasi yang diinginkan. Proses yang dilakukan dengan nama JOIN. Dalam penggabungan dari beberapa tabel (join) ada beberapa hal yang perlu diperhatian, antara lain : 1. Setiap kolom disebutkan dengan bentuk, 2. tabel-tabel yang dilibatkan dalam query perlu disebutkan dalam Klausa FORM dengan antar tabel dipisah oleh koma. 3. Kondisi dalam WHERE menetukan macam join yang terbentuk Macam-macam bentuk Penggabungan (Join) 1. CROSS JOIN Cross Join merupakan bentuk penggabungan yang paling sederhana, tanpa ada kondisi. : SELECT field1,field2 FROM Tabel1 CROSS JOIN tabel2; mysql> select * from mhs cross join ambilmatkul;
2. INNER JOIN Hampir sama dengan cross join tetapi diikuti dengan kondisi : SELECT Field FROM tabel1 INNER JOIN tabel 2 ON kondisi mysql> select * from mhs inner join ambilmatkul on mhs.nim = ambilmatkul.nim;
3. STRAIGHT JOIN Straight Join identik dengan inner join tetapi tidak mengenal klausa where : SELECT field FROM Tabel1 STRAIGHT JOIN tabel2 4. LEFT JOIN Left Join merupakan penggabungan tabel dimana data akan ditampilkan secara keseluruhan pada tabel pertama (kiri) namun record pada tabel kedua (kanan) yang kosong akan ditampilkan dengan isi NULL.
Modul Praktikum Basis Data : SELECT field FROM tabel1 LEFT JOIN tabel2 ON kondisi Contoh mysql> select mhs.nim,nama,alamat,ambilmatkul.namamatkul,sks from mhs left join ambilmatkul on mhs.nim=ambilmatkul.nim;
5. RIGHT JOIN Right Join memiliki fungsi yang bertolak belakang dengan left join, dimana right join akan menampilkan data secara keseluruhan pada tabel kedua (kanan), namun NULL pada tabel pertama (kiri). : SELECT field FROM tabel1 RIGHT JOIN tabel2 ON kondisi Contoh mysql> select mhs.nim,nama,alamat,ambilmatkul.namamatkul,sks from mhs left join ambilmatkul on mhs.nim=ambilmatkul.nim.
6.2 PRAKTIKUM Buatlah dua table berikut : Tabel mhs;
Tabel ambilmatkul;
Field
Type
Key
Null
Nim
int(10)
Yes
No
Nama
Varchar(25) No
Yes
Alamat Varchar(30) No
Yes
Field
Type
Key
Null
Defaulr Ekstra
No
Int(11)
ya
No
Null
Nim
Int(10)
No
Yes
Null
Kode
varchar(20) No
Yes
Null
Namamat Varchar(25) No
Yes
Null
kul Sks
Yes
2
float(6)
No
Auto_increment
Isi dua tabel tersebut dengan data dibawah : No
Nim
kodematkul
1 2 3 4 5 6
2345 2345 2346 2347 2346 2348
JFKB131 JFKK232 JFKB131 JFKK232 JFKK232 JFKK232
Namamatkul Sistem Operasi Basis Data Sistem Operasi Basis Data Basis Data Basis Data
sks 2 2 2 2 2 2
Modul Praktikum Basis Data 7 8 9
2347 2349 2350
JFKB131 JFKB131 JFKB131
Nim Nama
Sistem Operasi Sistem Operasi Sistem Operasi
2 2 2
Alamat
2345 Rita Susilowati Jl. A. Yani km.38 2346 Andi Nugroho
Komp.antasari
2347 Slamet Widodo landasan ulin 2348 Nike Astuti
Jl.cempaka
2349 Novi Yulianti
Jl.pm nur
mysql> select mhs.nim,nama,alamat, ambilmatkul.namamatkul,sks from mhs,ambilmatkul where mhs.nim=ambilmatkul.nim;
Dari perintah diatas akan didapatkan tampilan data penggabungan antara table mhs dengan table ambilmatkul berikut: Nim
Nama
Alamat
Namamatkul
Sks
2345
Rita Susilowati
Jl. A. Yani km.38
Sistem Operasi
2
2346
Andi Nugroho
komp.antasari
Sistem Operasi
2
2347
Slamet Widodo
landasan ulin
Sistem Operasi
2
2349
Novi Yulianti
jl.pm nur
Sistem Operasi
2
2345
Rita Susilowati
Jl. A. Yani km.38
Basis Data
2
2346
Andi Nugroho
komp.antasari
Basis Data
2
2347
Slamet Widodo
landasan ulin
Basis Data
2
2348
Nike Astuti
jl.cempaka
Basis Data
2
6.3 TUGAS 1. Buatlah tabel mhs dan nilai dengan data sebagai berikut, tampilkan data dari kedua tabel tersebut dan tuliskan hasilnya. Tabel mhs Nim 1234 1235 1236 1237 1238
Nama Andi Santoso Bunafit Yahya Ike Ferina Riani Krisjiono
Alamat Jl. A. Yani km.38 Komp.antasari landasan ulin jl.pm nur Jl. A. Yani km.38
Modul Praktikum Basis Data 1239
Marfaniatun
Komp.antasari
Tabel nilai No 1 2 3 4 5 6 7 8 9
Nim 1234 1235 1236 1237 1238 1239 1234 1236 1238
kodematkul JFKK132 JFKK233 JFPB152 JFKK233 JFKK132 JFPB152 JFKK131 JFKK232 JFKK232
Namamatkul Organisasi Komputer Alpro2 Riset Operasi Alpro2 Organisasi Komputer Riset Operasi Manajemen Proyek Basis Data Basis Data
Nilai 75 80 85 70 75 80 80 80 80
2. Gabungkan tabel tersebut dengan menggunakan kelima metode join : metode inner join, right join, left join dan cross join kemudian tuliskan hasilnya
Modul Praktikum Basis Data PRAKTIKUM 7 QUERY : PENGGABUNGAN TABEL II
7.1 Pengganbungan Dengan Kunci (key) Pada praktikum sebelumnya kita menggabungkan beberapa tabel dengan Join, pada paraktikum kali ini kita akan menggabungkan beberapa tabel dengan menggunakan kunci. Tabel dalam basis data dapat dihubungkan satu sama lain menggunakan kunci. Kunci utama adalah sebuah kolom dengan nilai unik untuk masing-masing baris. Tujuannya adalah menggabungkan data antar tabel tanpa mengulangi semua data pada setiap tabel. Rumus yang digunakan adalah : select , from
tabel1,
nama
tabel2>
where
tabel1.field
kunci=nama tabel2.field kunci> Latihan : buatlah tabel mhs dan tabel ambilmatkul dengan data sebagai berikut : Tabel mhs Nim
Nama
Jk Tgl_lhr
Alamat
J1F107001 Aria Marwan Putra
L
‘Tahun-bulan-tgl’ [alamat mhs]
J1F107003 Rahmat Hidayatullah
L
‘Tahun-bulan-tgl’ [alamat mhs]
J1F107006 Yuniar Rezekiani
P
‘Tahun-bulan-tgl’ [alamat mhs]
J1F107007 Muhammad Hasmi
L
‘Tahun-bulan-tgl’ [alamat mhs]
J1F107008 Ismi Yunita
P
‘Tahun-bulan-tgl’ [alamat mhs]
Tabel ambilmatkul nim J1F107001 J1F107001 J1F107003 J1F107006 J1F107003 J1F107007 J1F107006
kodematkul JFKB131 JFKK232 JFKB131 JFKK232 JFKK232 JFKK232 JFKB131
Namamatkul Sistem Operasi Basis Data Sistem Operasi Basis Data Basis Data Basis Data Sistem Operasi
sks 2 2 2 2 2 2 2
Modul Praktikum Basis Data Kita akan menampilkan nama mahasiwa, alamat dan matakuliah beserta sksnya yang diambil oleh mahasiwa dengan menggabungkan dari kedua tabel. Ketikkan perintah sebagai berikut : Select
mhs.nama,
ambilmatkul.sks
mhs.alamat,
from
mhs,
ambilmatkul.namamatkul,
ambilmatkul
where
mhs.nim
=
ambilmatkul.nim; . Kemudian untuk mengetahui siapa yang mengambil matakuliah basis data, maka rumus yang digunakan adalah : Select
mhs.nama,
ambilmatkul
mhs.nim=ambilmatkul.nim
where
mhs.alamat
from
mhs, and
ambilmatkul.namamatkul=’basis data’;. 7.2 Integritas Basis Data Pada Mysql Membuat Tabel dengan Key dan Foreign Key Mendefinisikan Key dan Foreign Key pada dua tabel yang berelasi dapat menjamin integritas basis data. Pada contoh ini akan dibuat dua buah tabel yaitu tabel mhs dan KTP. Dengan aturan seorang mahasiswa hanya mempunyai satu KTP. Struktur kedua tabel tersebut adalah : Tabel mhs +-------------+-------------+------+-----+---------+-------+ | Field
| Type
| Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+ | nim
| varchar(11) |
| PRI | 0
|
|
| nama
| varchar(30) | YES
|
| NULL
|
|
| jk
| char(1)
| YES
|
| L
|
|
| tgl_lhr
| date
| YES
|
| NULL
|
|
| alamat
| varchar(30) | YES
|
| NULL
|
|
+-------------+-------------+------+-----+---------+-------+
Tabel ktp +----------------+-------------+------+-----+---------+-------+ | Field
| Type
| Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+ | noktp
| varchar(11) |
| PRI | 0
|
|
| kota
| varchar(11) | YES
|
|
|
| NULL
Modul Praktikum Basis Data | nim
| varchar(11) |
| MUL | 0
|
|
+----------------+-------------+------+-----+---------+-------+
Tabel mhs merupakan tabel induk dengan Primary Key nim, sedangkan nim pada tabel ktp merupakan Foreign Key yang mengacu pada tabel mhs. Untuk mendefinisikan kedua tabel tersebut perintah yang dipergunakan adalah: CREATE TABLE mhs ( nim varchar(10) NOT NULL, nama VARCHAR(30), jk CHAR(1) default ‘L’, tgl_lhr DATE, alamat VARCHAR(30), PRIMARY KEY (nim) ) TYPE = INNODB ; CREATE TABLE ktp ( noktp varchar(10) NOT NULL, kota
VARCHAR(30),
nim
VARCHAR(10) NOT NULL,
PRIMARY KEY(noktp), INDEX (nim), FOREIGN KEY (nim) REFERENCES mhs (nim) ) TYPE = INNODB;
Insert Data pada tabel Untuk melakukan Insert data pada kedua tabel dengan perintah : mysql>INSERT INTO mhs VALUES(‘J1F107001’,'Aria Marwan Putra',’L’,’00000000’,’Banjarbaru’),(‘J1F107003’,'Rahmat
Hidayatullah',’L’,’0000-00-
00’, ’Banjarbaru’),(‘J1F107006’,'Yuniar Rezekiani',’P’ ,’0000-00-00’, ’Banjarbaru’);
Insert data pada tabel ktp dengan perintah :
Modul Praktikum Basis Data
mysql>insert into ktp values('13100' , 'Banjarbaru' , ‘J1F107001’),('23343','Banjarbaru', J1F107003’);
Insert data pada tabel ktp dengan data yang tidak ada pada tabel mhs mysql>insert into ktp values ('131435','Banjarbaru', ‘J1F107102’),( '131446','Banjarbaru', ‘J1F107104’);
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint f ails (`test/ktp`, CONSTRAINT `ktp_ibfk_1` FOREIGN KEY (`nim`) REFERENCES `mhs` ( `NIM`)) Insert data dengan nim J1F107102 dan J1F107104 pada tabel ktp tidak diijinkan karena nim mhs tersebut tidak terdapat pada tabel induknya (tabel mhs). 7.3 TUGAS 1. Buatlah tabel mhs dan ambilmatkul dengan data sebagai berikut: Tabel dosen: Nip Nama 132326023 Andi Farmadi 132326021 Andre Iskandar 132326025 Radityo Adi Nugroho 132317534 Heri Setiyoko 132299505 Ichsan Ridwan 132230133 Dewi Sri Susanti Tabel ajarmatkul:
Alamat Banjarbaru Banjarmasin Banjarbaru Banjarmasin Banjarbaru Banjarbaru
Nip KodeMatkul NamaMatkul Sks 132230133 JAKK131 Statistika Dasar 2 132299505 JFKK233 ALPRO2 3 132326025 JFKB131 Sistem Operasi 2 132326023 JFKK232 Basis Data 2 132326021 JFPB152 Riset Operasi 3 132317534 JFKK132 Organisasi Komputer 3 132326021 JFKB131 Sistem Operasi 2 Tampilkan Nip, nama dosen, Kode Mata Kuliah dan Nama Mata Kuliah, tuliskan hasilnya. 2. Dari tabel diatas tampilkan dosen yang mengajar mata kuliah Sistem Operasi dan Basis
Modul Praktikum Basis Data Data, tuliskan hasilnya. 3. Dari tabel diatas tampilkan mata kuliah apa saja yang diajar oleh Heri Setiyoko, tuliskan hasilnya.