Top Banner
MODUL PRAKTIKUM SISTEM BASIS DATA LABORATORIUM TEKNIK INFORMATIKA UNIVERSITAS MADURA 2011 MODUL I MEMBUAT DESAIN BASISDATA 1 Tujuan : 1. Praktikan dapat memahami model basis data 2. Praktikan dapat memahami dan membuat ER-Diagram
52

Modul Basdat

Aug 05, 2015

Download

Documents

Yoan Panjaitan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Modul Basdat

MODUL PRAKTIKUMSISTEM BASIS DATA

LABORATORIUM TEKNIK INFORMATIKA

UNIVERSITAS MADURA2011

MODUL I MEMBUAT DESAIN BASISDATA

1. Dasar TeoriBasis Data

1

Tujuan :1. Praktikan dapat memahami model basis data2. Praktikan dapat memahami dan membuat ER-Diagram

Tujuan :1. Praktikan dapat memahami model basis data2. Praktikan dapat memahami dan membuat ER-Diagram

Page 2: Modul Basdat

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.

Apa yang dimaksud dengan model data? Model data adalah sekumpulan cara / peralatan / tool untuk mendeskripsikan data-data, hubungannya satu sama lain, semantiknya, serta batasan konsistensi. Model-Model Data ada 5 yaitu:

Model Hirarkis (Hierarchical Model) Model Jaringan (Network Model) Model Relasional (Relational Model) Model Relasi Entitas (Entity-Relationship Model) Model Berbasis Objek (Object Oriented Model)

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

Participation Constraint (Batasan Partisipasi) ini menentukan apakah keberadaan sebuah entitas tergantung pada hubungannya ke entitas lain melalui jenis relasinya. Participation Constraint ada 2 yaitu :

Total constraint adalah constraint yang mana data dalam entitas yang 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.

Derajat Kardinalitas RelasiKardinalitas relasi menunjukkan jumlah maksimum data entitas yang dapat berelasi dengan entitas lain.Relasi satu :

2

Page 3: Modul Basdat

Entity 1 to entity 2 : kardinalitas : one to many dengan detail minimal 0 dan maksimalnya banyak. Dependensi : entitas 1 dan entitas 2 tidak saling ketergantungan.

Entity 2 to entity 1 : kardinalitas : many to one dengan detail minimal 1 dan maksimalnya 1. Dependensi : entitas 1 dan entitas 2 tidak saling ketergantungan.

Relasi dua :

Entity 3 to entity 4 : kardinalitas : one to many dengan detail minimal 0 maksimalnya banyak. Dependensi : entitas 3 dan entitas 4 tidak saling ketergantungan.

Entity 4 ke entity 3 : kardinalitas : many to one dengan detail minimal 1 maksimal 1. Dependensi : entitas 4 dan entitas 3 tidak saling ketergantungan.

Relasi tiga:

Entity 5 to entity 6 dan Entity 6 to entity 5 : kardinalitas : one to one dengan detail minimal 0 maksimalnya 1. Dependensi : entitas 5 dan entitas 6 tidak saling ketergantungan.

Relasi empat:

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:

Entity 9 to entity 10 : kardinalitas : many to many dengan detail minimal 0 maksimalnya banyak. Dependensi : entitas 9 dan entitas 10 tidak saling ketergantungan.

3

Page 4: Modul Basdat

Entity 10 ke entity 9 : kardinalitas : many to many dengan detail minimal 1 maksimal banyak. Dependensi : entitas 10 dan entitas 9 tidak saling ketergantungan.

Relasi enam:

Entity 13 to entity 14 : kardinalitas : one to many dengan detail minimal 0 maksimalnya banyak. Dependensi : entitas 13 menjadi parent dari entitas 14.

Entity14 ke entity 13 : kardinalitas : many to one dengan detail minimal 1 maksimal 1. Dependensi : entitas 14 tergantung kepada entitas 13.

2. Kegiatan PraktikumLatihan 1 : menemukan entitasDalam 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 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

4

Page 5: Modul Basdat

pegawai pindah maka datanya akan dipindahkan/dihapus berikut data tanggungan/keluarganya.

3. Untuk setiap objek tersebut yakinkan bahwa ia memiliki karakteristik yang nanti disebut sebagai atribut.Perusahaan: NoPerusahaan, nama, alamat Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji Pengawas: NoKTP, Nama, Alamat, Jenis kelamin,gaji Departemen: Nomor, Nama, lokasi, jumlah pegawai Lokasi : lokasi Proyek: Nomor, nama, lokasiTanggungan: 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. Tugas1. 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).

MODUL IIMYSQL

1. Dasar Teori Pengertian MYSQL

5

Tujuan : Praktikan mampu memahami instalasi MySQL di lingkungan WindowsPraktikan dapat memahami dasar-dasar MySQL 3. Praktikan dapat memahami dan membuat database di MySQL 4. Praktikan dapat memahami dan membuat tabel di MySQL

Tujuan : Praktikan mampu memahami instalasi MySQL di lingkungan WindowsPraktikan dapat memahami dasar-dasar MySQL 3. Praktikan dapat memahami dan membuat database di MySQL 4. Praktikan dapat memahami dan membuat tabel di MySQL

Page 6: Modul Basdat

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 numerikTipe 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 stringString adalah rangkaian karakter. Tipe-tipe data yang termasuk dalam tipe data string dapat dilihat pada tabel 1.1 berikut:

Tabel 1.1 Tipe Data StringTipe Data Kisaran NilaiCHAR 1-255 karakterVARCHAR 1-255 karakterTINYTEXT 1-255 karakterTEXT 1-65535 karakterMEDIUMTEX1-16777215 karakterLONGTEXT1-424967295 karakter

2. 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 MemoriNilai Char(4) Memori

PenyimpananVarchar

(4)Memori

Penyimpana“” “” 4 bytes “” 1 byte

’ab’ ’ab’ 4 bytes ’ab’ 3 bytes’abed’ ’abed’ 4 bytes ’abed’ 5 bytes

’abedefgh’ ’abed’ 4 bytes ’abed’ 5 bytes

3. Tipe data tanggalUntuk 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 memori penyimpanan yang diperlukan untuk masing-masing tipe dapat dilihat pada tabel 1.3 berikut ini:

Tabel 1.3 Tipe Data TanggalTipe Data Kisaran Nilai Memori

PenyimpanDATETIME 1000-01-01 00:00 sampai 9999-

12-31 23:59:593 byte

DATE 1000-01-01 sampai 9999-12-31 8 byteTIMESTAMP 1970-01-01 00:00:00 sampai 4 byte

TIME -839:59:59 sampai 838:59:59 3 byte

Operator MYSQL

6

Page 7: Modul Basdat

MYSQL mendukung penggunaan operator-operator dan fungsi-fungsidiantaranya:1. 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 MYSQLOperator Keterangan+ Tambah- Kurang* Kali/ BagiMod () Modulus

2. Operator PembandinganSuatu ekspresi yang dapat digunakan pada klausa WHERE dan mempunyai sintax sebagai berikut: WHERE expr operator value. Tabel 1.5 menunjukanoperator pembanding pada MYSQL berikut ini:

Tabel 1.5 Operator Pembanding MYSQLOperator Keterangan= Sama Dengan> Lebih Besar< Lebih Kecil>= Lebih Besar atau Sama Dengan<= Lebih Kecil atau Sama Dengan<> Tidak Sama Dengan

3. Operator LogikaOperator ini digunakan untuk membandingkan dua nilai variabel yang bertipe boolean.

4. Operator KarakterOperator 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 KarakterOperator Keterangan

% Sembarang karakter berapapun Sembarang satu karakter

[] Sembarang karakter yang terletak dalam 5. 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 KeteranganIN DalamBETWEEN Diantara

2. Kegiatan Praktikum : 1. Jalankan file setup mysql, yaitu mysql-5.0.22-win32.exe, maka akan muncul

dialog instalasi sebagai berikut :

2. Pilih tombol Next, kemudian muncul dialog tipe instalasi sebagai berikut :

7

Page 8: Modul Basdat

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 :

5. Kemudian pilih tombol Change..., pada folder name ubah menjadi sesuai dengan gambar berikut ini :

6. Pilih OK, kemudian pilih tombol Next, dan pilih tombol Install, maka proses instalasi dimulai.

8

Page 9: Modul Basdat

7. Berikutnya muncul dialog account, pilih Skip Sign-Up dan klik tombol Next, maka akan muncul dialog sebagai berikut :

8. Klik tombol Finish dan tombol Next, maka akan muncul dialog sebagai berikut :

9. Pilih Standard Configuration dan klik tombol Next, lalu muncul gambar 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.

11. Klik tombol Execute sebagai tahap akhir.

9

Page 10: Modul Basdat

12. Klik Finish.

Latihan 2 : Melakukan Koneksi ke MySQL :Cara 1 :1. Melalui DOS Prompt, masuk ke direktori utama MySQL dengan cara sebagai

berikut (yang diketik hanya yang digaris bawah) :C:\>cd \mysql\bin

2. Setelah itu ketikkan perintah berikut (yang diketik hanya yang digaris bawah) :C:\>mysql\bin\mysql –u root –p maka akan diminta untuk memasukkan password, isikan password yang digunakan pada saat instalasi, yaitu 123456.

3. Selanjutnya akan ada respon dari server seperti gambar berikut :

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.

Latihan 3 : Membuat/Mengganti PasswordSetelah masuk ke dalam mysql, kita bisa membuat atau mengganti pasword

yang untuk security data. Perintah yang digunakan seperti beerikut :mysql> SET PASSWORD = PASSWORD(‘passwordanda’);

Selanjutnya untuk keluar dari server MySQL dapat dilakukan dengan mengetikkan perintah quit atau \q pada prompt mysql>.

Latihan 4 : Membuat DatabaseBentuk prompt “ mysql> ” adalah tempat menuliskan perintah-perintah

MySQL. Setiap perintah SQL harus diakhiri dengan tanda titik-koma “ ; ” .Dari hasil desain praktikum modul 1, buat database kepegawaian

menggunakan database MySQL dengan perintah: create database namadatabase; Misalkan anda ketikkan :

create database kepegawaian;

Untuk memilih dan membuka database dapat menggunakan perintah berikut ini:use namadatabase; Contoh:

use kepegawaian;

10

Page 11: Modul Basdat

Untuk menampilkan database dapat menggunakan perintah berikut :

Show databases;

Latihan 5 : Menghapus Database

Untuk menghapus database menggunakan perintah berikut :

DROP DATABASE namadatabase;

Database yang akan dihapus sesuai dengan namadatabase. Contoh :

DROP DATABASE kepegawaian;

Latihan 6 : Membuat TabelSebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu

database sebagai database aktif yang akan digunakan untuk menyimpan tabel-tabel dengan menggunakan syntax : USE namadatabase; Syntax membuat table :

CREATE TABLE namatabel(Field1 TipeData1,Field2 TipeData2);

namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1 merupakan nama kolom pertama dan tipe data untuk kolom pertama. Jika ingin membuat tabel dengan kolom lebih dari satu, maka setelah pendefinisian tipe data sebelumnya diberikan tanda koma (,). Untuk menampilkan deskripsi tabel (dalam hal ini jenisfilm) syntaxnya adalah :

DESC namatabel; Contoh :

DESC pegawai;

3. Tugas

1. Di dalam database kepegawaian, buat tabel-tabel yang akan digunakan sesuai dengan CDM/PDM yang dibuat pada modul 1 menggunakan sintak query?

2. Tentukan field/atribut dan tipe data yang digunakan utk masing-masing tabel ?

MODUL III DDL I

1. Dasar Teori

11

Tujuan : Praktikan mampu memahami DDLPraktikan mampu membuat script untuk pembuatan tabel dan mengupdate

tabelPraktikan mampu membuat dan menghapus indeks

Tujuan : Praktikan mampu memahami DDLPraktikan mampu membuat script untuk pembuatan tabel dan mengupdate

tabelPraktikan mampu membuat dan menghapus indeks

Page 12: Modul Basdat

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 DDLPerintah KeteranganCreate Membuat databaseCreate Table Membuat tabelCreate Index Membuat indexCreate View Membuat ViewAlter Table Mengubah atau menyisipkan kolom ke dalam Drop Database Menghapus databaseDrop Table Menghapus tabel dari databaseDrop Index Menghapus indexDrop View Menghapus viewGrand 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 namajndex on namajabel (namajcolom);Keterangan : 1. unique -> pilihan perincian yang dapat digunakan untuk menguatkan nilai

data di dalam kolom nama index menjadi unik.2. namajndex -> nama index yang baru.3. nama_tabel -> nama tabel yang berisi kolom index akan dibuat.4. 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 : Membuat Tabel Perintah yang digunakan untuk membuat tabel menggunakan perintah berikut :

Keterangan : nama_tabel -> nama yang diberikan di tabel baru. Nama tabel maksimal terdiri

dari 8 karakter. Tidak boleh memakai spasi, terdiri dari huruf. Field -> nama yang diberikan untuk kolom baru, maksimal terdiri dari 10

karakter. Tidak boleh memakai spasi, terdiri dari huruf, angka dan Iain-lain. type_data -> jenis data yang nilainya dimasukkan dalam kolom yang telah

ditentukan. lebar_data^ nomor spasi karakter untuk mengikuti data yang dimasukkan

dalam kolom yang telah ditentukan. Constraint -> batasan yg digunakan utk field seperti NOT Null, Primary Key.

Contoh, buat tabel Departemen, Untuk membuat tabel dalam database kepegawaian terlebih dahulu gunakan perintah USE namadatabase untuk memilih database yg akan digunakan.

Kemudian gunakan perintah untuk membuat tabel seperti berikut :

Latihan 2 : Mendefinisikan Nilai Default

12

Page 13: Modul Basdat

Nilai default adalah nilai yang otomatis diberikan oleh sistem untuk suatu kolom ketika ada penambahan baris baru, sementara nilai pada kolom tersebut tidak diisi oleh pengguna, perintah sebagai berikut :

Latihan 3 : Membuat dan Menghapus IndeksBuat index data Departemen berdasarkan Nomor dengan nama indeks dept,

maka perintah yang digunakan sebagai berikut :

Untuk menghapus indeks yang telah dibuat gunakan perintah berikut :

Drop Index nama_index on nama_tabel; 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!

MODUL IV DDL II

1. Dasar teori

13

Tujuan : Praktikan mampu memahami DDLPraktikan mampu membuat script untuk pembuatan tabel dan mengupdate

tabelPraktikan mampu membuat dan menghapus indeks

Tujuan : Praktikan mampu memahami DDLPraktikan mampu membuat script untuk pembuatan tabel dan mengupdate

tabelPraktikan mampu membuat dan menghapus indeks

Page 14: Modul Basdat

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

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 praktikumLatihan 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

); Atau

CREATE TABLE namatabel (

Field1 TipeData1, Field2 TipeData2, PRIMARY KEY(Field1)

); Atau

ALTER TABLE namatabel ADD CONSTRAINT PRIMARY KEY (namakolom);

Tabel pegawai diatas belum mempunyai primary key, maka utk menambahkan primary key gunakan perintah berikut :

14

Page 15: Modul Basdat

Latihan 2 : Menghapus Primary Key Pada Tabel Perintah untuk menghapus primary key pada tabel sebagai berikut :

Cara 1 : Jika primary key dibuat dengan menggunakan alter table ALTER TABLE namatabel DROP CONSTRAINT namaconstraint;

Cara 2 : Jika primary key dibuat melalui create table : ALTER TABLE namatabel DROP PRIMARY KEY;

Latihan 3 : Menambah Kolom Baru Pada Tabel Perintah untuk menambah kolom baru pada tabel seperti berikut : ALTER TABLE namatabel ADD fieldbaru tipe;Lakukan perintah berikut untuk menambahkan field/atribut NoTelp pada tabel pegawai :

Latihan 4 : Mengubah Tipe Data atau Lebar Kolom Pada Tabel Perintah yang digunakan :

ALTER TABLE namatabel MODIFY COLUMN field tipe

Lakukan perintah berikut untuk mengubah tipe data dan lebar kolom NoTelp pada tabel pegawai dari varchar(15) menjadi char(12)

Latihan 5 : Mengubah Nama Kolom Perintah yang digunakan :

ALTER TABLE namatabel CHANGE COLUMN NamaKolomLama NamaKolomBaru tipedata;

Berikut ini perintah untuk mengubah nama kolom NoTelp menjadi Telp :

Latihan 6 : Menghapus Kolom Pada Tabel Perintah untuk menghapus kolom pada tabel:

ALTER TABLE namatabel DROP COLUMN namakolom;

Lakukan perintah berikut untuk menghapus field/kolom Telp pada tabel pegawai :

Latihan 7 : Mendefinisikan Foreign Key Pada Tabel Untuk mendefinisikan foreign key, maka harus dipastikan bahwa tabel dan atribut yang dirujuk (tabel induk dari foreign key) sudah didefinisikan terlebih dahulu. Perintah yang digunakan:

CREATE TABLE namatabel (

Field1 TipeData1, Field2 TipeData2, FOREIGN KEY (Field2) REFERENCES namatabelinduk (namakolominduk)ON UPDATE CASCADE ON DELETE NO ACTION

); atau

15

Page 16: Modul Basdat

ALTER TABLE namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY (namakolom) REFERENCES namatabelinduk (namakolominduk) ON UPDATE CASCADE ON DELETE NO

ACTION;

Lakukan perintah berikut utk menghubungkan tabel Departemen dengan tabel pegawai

Latihan 8 : Menghapus Foreign Key Perintah yang digunakan :

ALTER TABLE namatabel DROP FOREIGN KEY namaconstraint; Lakukan perintah berikut untuk menghapus foreign key :

Latihan 9 : Menghapus TabelPerintah 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;

3. Tugas : 1. Gunakan tabel Departemen untuk melakukan perintah berikut (gunakan

ALTER Table) a) tambahkan field/atribut TglMulai dan Lokasi departemen. b) Ubah tipe data pada field Nama menjadi Varchar(30) c) Ubah nama field Nomor menjadi id_dept dengan tipe data varchar (5) d) Ubah nama tabel Departemen menjadi Dept e) Ubah kembali namatabel Dept menjadi Departemen f) Hapus field TglMulai pada tabel Departemen

2. Tambahkan Primary Key dan Foreign Key untuk tabel-tabel lain sesuai dengan ER-Diagram yang dibuat pada Modul 1.

MODUL VDML I (DATA MANIPULATION LANGUAGE)

16

Tujuan : 1. Praktikan dapat memahami perintah DML 2. Praktikan dapat memahami dan memanipulasi data dalam

database

Tujuan : 1. Praktikan dapat memahami perintah DML 2. Praktikan dapat memahami dan memanipulasi data dalam

database

Page 17: Modul Basdat

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 bam 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 bam 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. Tambahkan data ke dalam tabel Pegawai seperti perintah berikut :

atau

Latihan 2 : Pengubahan DataPernyataan UPDATE digunakan untuk modifikasi data dalam tabel

menggunakan perintah berikut :UPDATE nama_tabelSET nama_kolom = nilai_baruWHERE nama_kolom = nilai;

SET digunakan untuk menentukan kolom yang akan diubah dan nilai penggantinya. WHERE digunakan untuk menentukan kondisi dari baris-baris yang akan diganti.

Lakukan perintah berikut untuk mengubah data pegawai bernama ‘Agus’ menjadi ‘Budi’ :

17

Page 18: Modul Basdat

Latihan 3 : Menghapus dataPernyataan DELETE digunakan untuk menghapus baris pada tabel,

perintah yang digunakan seperti berikut:DELETE FROM nama_tabelWHERE nama_kolom = nilai;

Lakukan perintah berikut untuk menghapus data dari tabel pegawai dengan NoKTP = ‘1103’:

Latihan 4 : Pernyataan SELECTSecara umum perintah SELECT hanya difungsikan untuk menampilkan

data yang ada di dalam suatu tabel. Tetapi dalam pengembangannya, perintah ini akan menjadi sebuah perintah yang sangat penting dan berpengaruh hingga saat pemrograman di stored procedures dan triggers. Struktur perintah Select seperti berikut :

SELECT [DISTINCT] select_listFROM table_source[WHERE search_condition] ;

4.1 Memilih beberapa kolom dalam tabelUntuk memilih beberapa kolom gunakan perintah sebagai berikut :

SELECT nama_kolom1, nama_kolom2, ... FROM nama_tabel;

Lakukan perintah berikut untuk memilih Kolom NoKTP, NmDepan dan NmBlk dari tabel pegawai :

Untuk memilih semua kolom dari tabel, dapat menuliskan tanda asterisk (sesudah kata Select. Simbol * berarti semua kolom, seperti berikut :

SELECT * FROM nama_tabel;

Untuk menampilkan semua kolom pada tabel pegawai menggunakan perintah berikut :

4.2 Pernyataan DistinctUntuk memilih hanya nilai yang berbeda atau nilai data yang unik. Perintah

SELECT DISTINCT berikut :SELECT DISTINCT nama_kolom FROM nama_tabel;

Lakukan perintah dibawah berikut untuk membedakan penggunaan Distinct :

18

Page 19: Modul Basdat

43. Klausa WHEREKlausa WHERE digunakan untuk menentukan kriteria seleksi. Untuk memilih data suatu tabel dengan kriteria tertentu, klausa WHERE dapat ditambahkan pada pernyataan SELECT. Perintah yang digunakan seperti berikut:

SELECT nama_kolomFROM nama_tabelWHERE kolom operator nilai;

Dengan klausa WHERE, operator berikut seperti tabel 5.1 berikut : 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 nilaiLIKE Mencari suatu pola

Lakukan perintah berikut dengan menggunakan klausa Where untuk menampilkan data pegawai dengan NoKtp =1102:

44. Kondisi LIKE Kondisi LIKE digunakan untuk menentukan pencarian berdasarkan pola tertentu pada suatu kolom, perintah yang digunakan seperti berikut :

SELECT nama_kolom FROM nama_tabel WHERE nama_kolom LIKE pola;

Tanda ” % ” dapat digunakan untuk menentukan Wildcard (sembarang huruf), baik sebelum maupun sesudah pola. Perlu diingat operasi ini, hanya untuk pembandingan nilai bertipe string Lakukan perintah berikut untuk menampilkan nama depan pegawai yang dimulai dengan huruf E :

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.

19

Page 20: Modul Basdat

MODUL VIDML II (DATA MANIPULATION LANGUAGE)

20

Tujuan : 1. Praktikan dapat memahami perintah DML 2. Praktikan dapat memahami dan memanipulasi data dengan

menggunakan perintah Select

Tujuan : 1. Praktikan dapat memahami perintah DML 2. Praktikan dapat memahami dan memanipulasi data dengan

menggunakan perintah Select

Page 21: Modul Basdat

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 JistFROM table_source[WHERE search_condition][GROUP BY group_by_expression][HAVING search_condition][ORDER BY order_expression [ASC I DESC]

Keterangan :■ SELECT, INTO, FROM, WHERE, GROUP BY, HAVING DAN ORDER BY

-> kata kunci (keyword) yang hams disertakan jika kita membutuhkannya di dalam pengolahan data.

■ selectjist, 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

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_aliasFROM namatabel; AtauSELECT nama_kolom nama_aliasFROM nama_tabel;

Lakukan perintah berikut untuk memberikan nama alias pada kolom Gaji menjadi Gaji Bersih :

Atau 1.2 Pemberian alias pada tabel Pemberian nama alias menggunakan perintah

berikut

SELECT nama_alias.nama_kolomFROM namatabel AS

nama_alias; AtauSELECT nama_alias.nama_kolomFROM nama_tabel nama_alias

Lakukan perintah berikut untuk memberikan alias Peg pada tabel pegawai :

Latihan 2 : Menampilkan data lebih dari dua tabel

21

Page 22: Modul Basdat

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. Perintah untuk menampilkan data lebih dari dua tabel seperti berikut :

SELECT * FROM namatabel1, namatabel2, namatabel-n;

Lakukan perintah berikut untuk menampilkan NmDepan, NmBlk, Alamat dari tabel pegawai dan Nama Departemen dari tabel departemen :

Latihan 3 : Kondisi Where untuk relasiJika kita mengambil informasi dari lebih dari sebuah tabel, maka kita perlu

menambahkan kondisi untuk relasi antara kedua tabel tersebut. Untuk relasi kita harus memperhatikan kolom dari 2 atau lebih tabel yang mempunyai data yang sama. Jika ada nama field yang sama dari tabel yang disertakan, maka sebelum nama field, berikan nama tabel diikuti sebuah titik (.)

Pada latihan 2, data yang ditampilkan seluruh pasangan baris data departemen di tiap baris pegawai, yang tentu saja bukan informasi yang benar. Maka supaya informasi akurat maka ditambah relasi dengan menggunakan kolom yang sama yaitu Departemen.Nomor dan Pegawai.Nomor.

Latihan 4 : Klausa Order ByKlausa ORDER BY digunakan untuk mengurutkan data. Jika kita ingin

menampilkan NmDepan,NmBlk,Alamat dan departemen berdasarkan urutan NmDepan secara ascending, maka perintah :

Latihan 5 : Operator INEkspresi 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 namajabel WHERE namajiolom NOT IN/IN (nilail, nilai2, ...);

Lakukan perintah berikut untuk menampilkan NmDepan, NmBlk, Alamat dari pegawai yang mempunyai alamat Sidoarjo dan Surabaya :

22

Page 23: Modul Basdat

Lakukan perintah berikut untuk menampilkan NmDepan, NmBlk, Alamat pegawai yang mempunyai tanggungan :

Latihan 6 : Operator BETWEEN … ANDOperator BETWEEN … AND memilih data antara dua nilai. Nilai dapat berupa

angka, teks, atau tanggal, perintah yang digunakan sebagai berikut :

SELECT nama_kolomFROM nama_tabelWHERE nama_kolomBETWEEN/NOT BETWEEN nilai1 AND nilai2;

Lakukan perintah berikut untuk menampilkan data tanggungan yang mempunyai tahun kelahiran dari tahun 1999 sampai 2002 :

Latihan 7 : Fungsi Aggregate (COUNT, SUM, AVG, MIN dan MAX)Fungsi aggregate merupakan fungsi-fungsi yang digunakan untuk melakukan

perhitungan statistikal dalam tabel. Secara umum, hanya field yang bertipe numerik (int, money dan sejenisnya) yang bisa dikenakan fungsi ini. SQL menyediakan sejumlah fungsi yang dapat digunakan pada SELECT seperti tabel 6.1 berikut :

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 :

23

Page 24: Modul Basdat

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 :

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 8 : Klausa GROUP BY Hasil dari Select juga dapat dikelompokkan dengan menambahkan klausa GROUP BY. Perintah yang digunakan sebagai berikut :

SELECT nama_kolom, COUNT (nama_kolom) FROM nama_tabel GROUP BY nama_kolom;

Perintah berikut digunakan untuk menampilkan jumlah pegawai berdasarkan alamat kotanya :

24

Page 25: Modul Basdat

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;

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.

MODUL VIIDML III (DATA MANIPULATION LANGUAGE)

25

Tujuan : Praktikan dapat memahami dan memanipulasi data dalam database dengan lebih luas lagi.

Tujuan : Praktikan dapat memahami dan memanipulasi data dalam database dengan lebih luas lagi.

Page 26: Modul Basdat

1. Dasar teoriPerintah 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.

2. Kegiatan praktikum1. Membuat Database pergudangan, yang terdiri dari 6 tabel yaitu pelanggan,

pesan, barang, karyawan, stok dan transaksi.

2. Buat table barang dan karyawan

3. Buat Tabel Pelanggan

4. Buat Tabel STOK

5. Buat table pesan dan transaksi seperti di bawah ini

26

Page 27: Modul Basdat

6. Dari semua table di atas, inputkan data masing-masing 5 data, contoh :

7. JOIN dan KUNCITerkadang kita harus memilih data dari dua tabel atau lebih untuk

mendapatkan hasil yang komplit. Oleh karena itu, kita harus melakukan sebuah JOIN. Join merupakan operasi yang digunakan untuk menggabungkan dua tabel atau lebih dengan hasil berupa gabungan dari kolom-kolom yang berasal dari tabel- tabel tersebut. Pada join sederhana, tabel-tabel digabungkan dan didasarkan pada pencocokan antara kolom pada tabel yang berbeda.

Tabel-tabel dalam sebuah basisdata dapat dihubungkan satu sama lain menggunakan kunci. 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. Kita bisa menggunakan kata kunci JOIN untuk memilih data. Ada tiga macam kunci JOIN, yaitu INNER JOIN, LEFT JOIN, dan RIGHT JOIN.

8. Inner joininner 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.

Sintaks untuk INNER JOIN : SELECT field1, field2, … FROM tabel1 INNER JOIN tabel2 ON tabel1.kunci_utama = tabel2.kunci_asing

9. Left joinLeft join digunakan untuk menampilkan semua data dari tabel sebelah kiri perintah left join beserta pasangannya dari tabel sebelah kanan. Meskipun terdapat data dari sebelah kiri tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL.Sintaks untuk LEFT JOIN :

SELECT field1, field2, …

27

Page 28: Modul Basdat

FROM tabel1 LEFT JOIN tabel2 ON tabel1.kunci_utama = tabel2.kunci_asing

10. Right joinSintaks untuk RIGHT JOIN :

SELECT field1, field2, … FROM tabel1 RIGHT JOIN tabel2 ON tabel1.kunci_utama = tabel2.kunci_asing

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.

11. Natural joinNatural join digunakan untuk menampilkan data dari dua tabel yang berisi data.

12. Operator ANYOperator ANY digunakan berkaitan dengan subquery. Operator ini menghasilkan TRUE (benar) jika paling tidak salah satu perbandingan dengan hasil subquery menghasilkan nilai TRUE.

28

Page 29: Modul Basdat

13. Operator ALLOperator ALL digunakan untuk melakukan perbandingan dengan subquery. Kondisi dengan ALL menghasilkan nilai TRUE (benar) jika subquery tidak menghasilkan apapun atau jika perbandingan menghasilkan TRUE untuk setiap nilai query terhadap hasil subquery.

14. UnionUnion merupakan operator yang digunakan untuk menggabungkan hasil query, dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama.

15. INTERSECTIntersect merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama. Syntax :

SELECT * FROM namatabel1 INTERSECT SELECT * FROM namatabel2

Pada MySQL tidak terdapat operator INTERSECT namun sebagai gantinya dapat menggunakan operator IN yang bisa diperdalam di bagian Nested Queries.

29

Page 30: Modul Basdat

16. EXCEPT / Set DifferenceEXCEPT merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah data yang ada pada hasil query 1 dan tidak terdapat pada data dari hasil query 2 dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama. Syntax :

SELECT * FROM namatabel1 EXCEPT SELECT * FROM namatabel2

Pada MySQL tidak terdapat operator EXCEPT namun sebagai gantinya dapat menggunakan operator NOT IN yang bisa diperdalam di bagian Nested Queries

3. TugasDari 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.

MODUL VIIIVIEW 1

1. TeoriView 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.

Kegunaan view antara lain: 1. Fokus pada data atau tabel tertentu 2. Penyederhanaan manipulasi data 3. Menyesuaikan data dengan kebutuhan user 4. Export dan impor data 5. Mengkombinasikan data terpartisiSyntax

CREATE VIEW view_name AS select_statement

30

Tujuan : Membuat View untuk menampilkan data dari satu atau beberapa table dengan membungkus suatu query SELECT yang kompleks menjadi lebih sederhana.

Tujuan : Membuat View untuk menampilkan data dari satu atau beberapa table dengan membungkus suatu query SELECT yang kompleks menjadi lebih sederhana.

Page 31: Modul Basdat

2. Kegiatan praktikumSebelum 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

3. Tugas Buat tabel-tabel berikut ini : 1. Tabel Artikel dengan struktur

2. Tabel guestbook dengan struktur

3. Tabel Materi dengan struktur

4. Insert data pada masing-masing tabel

31

Page 32: Modul Basdat

5. Tampilkan data judulartikel, author dan tanggal dari tabel artikel

6. Buat View dengan nama V_artikel1 untuk menampilkan data pada soal no 5

7. Tampilkan semua data pada tabel v_artikel1

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 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 namaauthor menjadi pengarang.

10. Buatkan view guest2 untuk menampilkan semua data yang namanya kemudian ganti namaauthor menjadi pengarang.

11. Buatkan view materi untuk menampilkan semua data yang namanya kemudian ganti namaauthor menjadi pengarang.

3. Tugas 1. Dari praktikum diatas, berikan kesimpulannya. 2. Buat table film dan jenis film dengan tampilan sebagai berikut jika hasilnya

diselect : 4. Isi tabel jenisfilm :5. Isi tabel film :6. Berikut ini perintah untuk menampilkan semua data pada tabel jenisfilm dan

film :a. Buat perintah view untuk :b. Mengurutkan data film berdasarkan kolom judul, gunakan order by dan

simpan dengan v_film1 c. 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

32

Page 33: Modul Basdat

d. 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

e. Manampilkan kolom jenis dan digabungkan dengan SUM(jml_film) yang dikelompokkan berdasarkan kolom jenis pada tabel film dan simpan dengan nama v_film4

f. Menampilkan kolom judul dari tabel film dan kolom harga dari tabel jenisfilm(gunakan Operasi Join) dan simpan dengan nama v_film5

MODUL IXVIEW II

1. TeoriView

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.Menghapus View

Queri yang sama juga bias didapatkan dengan menentukan dua hubungan yang telah ada dalam relasi dasarnya, keuntungan utama view tersebut adalah untuk menyederhanakan ketentuan tentang queri yang diperlukan, dan juga bias digunakan untuk perangkat keamanan data.

33

Tujuan : Membuat View untuk menampilkan data dari satu atau beberapa table dengan membungkus suatu query SELECT yang kompleks menjadi lebih sederhana.

Tujuan : Membuat View untuk menampilkan data dari satu atau beberapa table dengan membungkus suatu query SELECT yang kompleks menjadi lebih sederhana.

Page 34: Modul Basdat

Suatu view dari queri selalu menampilkan data yang terbaru, sebagai contoh bila kita memodifikasi sebagaian tupel dalam table dasarnya dimana view tersebut didefinisikan, maka secara otomatis akan berpengaruh pada view di queri Jika tidak membutuhkan penampakan queri lagi, kita bisa menggunakan perintah DROP VIEW untuk menghapusnya.

syntax : DROP VIEW (nama view)

Mengupdate view dan Implementasi viewMengupdate 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. Kegiatan PraktikumBuat table golongan, jabatan dan pegawai dengan data sebagai berikut : Tabel golongan :

34

Page 35: Modul Basdat

2. Buat view dengan nama latihanview1 untuk menampilkan seluruh data pegawai yang jabatannya sebagai staff

3. Buat view dengan nama latihanview2 untuk menampilkan seluruh datapegawai yang dua digit pertama nipnya di awali dengan angka 03

4. Buat view dengan nama latihanview3 untuk menampilkan data nip, nama dan golongan pegawai serta tunjangan golongan yang didapat (gunakan select multiple table)

5. Buat view dengan nama latihanview4 untuk menampilkan seluruh data pegawai beserta gaji total yang diperolehnya. Gaji total merupakan hasil perhitungan dari gaji pokok di tambahkan dengan tunjangan golongan serta tunjangan keluarga

6. Hapuslah latihanview1 7. Buat view dengan nama latihanview5 untuk menampilkan data pegawai yang

gaji pokoknya paling tinggi.

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

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 supervisorMODUL X

STORED PROCEDURE

1. TeoriStored procedure dan stored function merupakan fasilitas baru dari MySQL

versi 5.0. Stored procedure merupakan sekumpulan SQL yang disimpan ke dalam server MySQL. Keuntungan menggunakan store procedure, klien MySQL tidak perlu menuliskan perintah SQL ke server namun hanya perlu memanggil procedure yang sudah disimpan di server (jika tersedia). Perbedaan antara procedure dan function pada MySQL hampir mirip dengan procedure dan function pada bahasa pemrograman. Function mengembalikan suatu nilai skalar dan

35

Tujuan : Mampu memahami dan membuat procedure atau function

dalam basis data Mampu menggunakan perintah-perintah dalam stored

procedure

Tujuan : Mampu memahami dan membuat procedure atau function

dalam basis data Mampu menggunakan perintah-perintah dalam stored

procedure

Page 36: Modul Basdat

dapat dipanggil di dalam statement procedure atau function lain. Procedure dipanggil melalui perintah CALL dan dapat mengembalikan nilai melalui variabel output.Stored Procedure adalah prosedur (spt subprogram dalam bhs pemrograman) yang disimpan di dalam database. Mysql mendukung dua jenis “rutin” (subprogram):

Stored procedure yang dapat dipanggil, fungsi yang menghasilkan nilai yang dapat dipakai dalam statemen

SQL lain.Manfaat Store pocedure ini adalah:

1. Memperkecil trafik request dari aplikasi ke database karena semua proses bisnis dilakukan di database mysql dan aplikasi akan menerima hasil proses saja.

2. Ketika sebuah aplikasi yang didevelop terdiri dari berbagai bahasa pemrograman (misalkan desktop dan web) yang mana kedua tipe aplikasi tersebut membutuhkan hasil dan operasi database yang sama.

3. untuk meningkatkan securiti, misalkan sebuah aplikasi yang login dengan user abcd tidak dapat mengakses tabel2 tertentu secara langsung tetapi mesti melalui store procedure, dengan cara ini akan meningkatkan ke-valid-tan data

Contoh 1. Dalam contoh dibawah ini kasus tentang sistem informasi kepegawaian, yang mana store procedure yang dibuat akan menangani tentang menghasilkan data pegawai yang difilter bedasarkan departemen. store procedure untuk menampilkan data pegawai dalam bentuk resultset

DELIMITER $$ CREATE PROCEDURE sp_tampil_pegawai_departemen(p_ departemen int) BEGIN SELECT * FROM pegawai where no_departemen = p_ departemen; END$$ DELIMITER ;

Penjelasannya sebagai berikut:• DELIMITER = adalah untuk memberi tahu kepada myql soal delimiter yang

digunakan, secara default menggunakan ; jadi bila ada tanda ; mysql akan mengartikan akhir dari statement, pada contoh di atas delimeter yang digunakan $$ jadi akhir statementnya adalah $$.

• CREATE PROCEDURE = adalah header untuk membuat store procedure.

• BEGIN END = adalah body dari store procedure, jadi semua SQL nya di tulis disini.

contoh pemanggilannya seperti dibawah ini:

call sp_tampil_pegawai_departemen(2);

Contoh 2.Statemen yang menciptakan stored procedure

CREATE procedure procedure1 /* nama */(IN parameter1 INTEGER) /* parameter */BEGIN /* awal blok */DECLARE variable1 CHAR(10); /* variabel */IF parameter1 = 17 THEN /* awal IF */SET variable1 = 'burung'; /* assignment */ELSESET variable1 = 'kelelawar'; /* assignment */END IF; /* akhir IF */INSERT INTO table1 VALUES (variable1); /* statement */

36

Page 37: Modul Basdat

END /*akhir blok */

Dengan stored procedure eksekusi menjadi cepat. Tidak ada kompilasi. Peningkatan kecepatan datang dari reduksi lalu-lintas jaringan. Jika ada pekerjaan pengecekan berulang, looping, multiple statement, dikerjakan dengan pemanggilan tunggal ke prosedur yang telah disimpan ke server. Stored procedure adalah komponen. Andaikan aplikasi kemudian ditulis dalam bahasa berbeda, tidak ada masalah, karena logika berada didalam database bukan dalam aplikasi. Stored Procedure adalah portable. Stored procedure ditulis dalam SQL, Anda bisa jalankan pada setiap platform dimana Mysql dijalankan disitu.

Create Procedure dan Create FunctionSebelum membuat procedure atau function terlebih dahulu pastikan bahwa Anda sudah masuk ke dalam suatu database (use nama_database). Bentuk umum dari perintah create procedure dan function adalah

Create procedure<nama_procedure> (parameter)<karakteristik procedure> <badan program> Create function <nama_procedure> (parameter) <karakteristik function> <tipe data return> <badan program>Di mana :

Parameter = terdiri dari jenis parameter [IN, OUT, atau INOUT], nama parameter dan tipe data parameter.Karakteristik = terdiri dari bahasa SQL, komentar, dsb.Tipe data = tipe data yang dapat direturn adalah semua tipe data yang valid di

MySQL.Program = semua syntax procedure SQL yang valid.

Jenis parameter ada 3 yaitu : IN berarti variabel parameter hanya berfungsi sebagai masukan, OUT berarti variabel parameter berfungsi sebagai tempat untuk menyimpan nilai keluaran dari procedure, dan IN OUT berarti variabel parameter berfungsi sebagai masukan dan penyimpan nilai keluaran procedure.

2. Kegiatan praktikum1. Memilih delimiter

Kemudian sebelum create procedure dijalankan terdapat perintah delimiter. Yaitu menggantikan karakter berhenti MySQL dari ; menjadi. Hasilnya MySQL akan mengabaikan karakter ; dan menganggapnya sebagai karakter biasa

2. Menciptakan stored procedure

p1 = nama prosedur () = daftar parameter SELECT * FROM kendaraan; = bodi prosedur

3. Memanggil procedure p1

37

Page 38: Modul Basdat

4. Mengembalikan delimiter dan memulainya

5. Menghapus delimiter

6. Buat procedure sederhana yang memiliki fungsi untuk menghitung jumlah record pada tabel kendaraan. Kemudian jumlah kolom tersebut dimasukkan ke dalam variabel param1.

7. panggil procedure dan lihat hasilnyaselect count (*) into param1 from t;

Kemudian sebelum create procedure dijalankan terdapat perintah

delimiter, yaitu menggantikan karakter. Hasilnya MySQL akan mengabaikan karakter dan menganggapnya sebagai karakter biasa. Misal perintah delimiter ini tidak ada, maka pada contoh baris ke 3 di mana terdapat karakter di akhir statement. MySQL akan menganggap baris perintah create procedure berakhir di situ. End ke bawah bukan bagian dari badan program procedure. Akibatnyaperintah create procedure kita salah.

Pada baris ke6, procedure yang telah dibuat dipanggil dengan fungsi call. Jangan lupa untuk memberikan parameter sesuai dengan yang dibutuhkan oleh procedure simple. Pada baris terakhir, variabel parameter tempat menyimpan keluaran dari procedure ditampilkan. Mengapa variabel parameter untuk procedure di atas memakai tambahan karakter @? Hal ini supaya variabel parameter bisa diberlakukan pada fungsi select. Jika variabel parameter semua diganti tanpa @, maka perintah select a| tidak menampilkan hasil apaapa.

3. Tugas 1. Buatlah sebuah prosedure dengan ketentuan :

a. Nama Prosedur : latihan1 b. Tanpa parameterc. Isi prosedur : menampilkan isi dari tabel actor (tabel harus ada, field

sembarang) d. Buatlah cara untuk memanggil prosedur tersebut

2. Lihat isi dari procedure latihan 3. Hapuslah prosedur latihan 4. Penggunaan ekspresi:

Buatlah sebuah prosedur untuk menampilkan: customer_id, rental_id, amount, discount, total dari tabel payment dimana :- customer_id ditampilkan sebagai Kode Pelanggan - Rental_id ditampilkan sebagai Kode Toko

38

Page 39: Modul Basdat

- Amount ditampilkan sebagai Jumlah - Discount dihitung dari amount * 0.1 - Total dihitung dari amount – discount

MODUL XIPENGEMBANGAN APLIKASI BASIS DATA

1. Dasar teoriPhp

39

Tujuan : Praktikan mampu memahami koneksi PHP dengan MYSQLPraktikan mampu memahami perbedaan record dari database

Tujuan : Praktikan mampu memahami koneksi PHP dengan MYSQLPraktikan mampu memahami perbedaan record dari database

Page 40: Modul Basdat

Php adalah salah satu bahasa pemrograman internet yang mendukung penggunaan database seperti MySQL, postgreSQL, mSQL, Oracle, dan lain-lain. Untuk dapat menjalankan PHP melalui browser, maka anda diharuskan terlebih dahulu menginstal web server (misalnya apache, PWS, ISS) lalu menginstal PHP, sedangkan untuk menjalankan MySQL anda tidak perlu menginstal web server, hanya saja jika ingin dijalankan melalui browser, maka anda harus menginstall web server. Php sebagai alternatif lainmemberikan solusi sangat murah (karena gratis digunakan) dan dapat berjalan di beberapa platform.

PHP adalah skrip bersifat server side yang ditambahkan ke dalam HTML. PHP sendiri merupakan singkatan dari personal home page tools. Skrip ini akan membuat suatu aplikasi dapat diintegrasikan ke dalam HTML, sehingga suatu halaman web tidak lagi bersifat dinamis. Sifat server-side berarti pengerjaan skrip dilakukan di server, baru kemudian hasilnya dikirimkan ke browser.Cara penulisan skrip PHP ada dua macam, yaitu embedded script dan Non Embedded script.

Langkah-langkah koneksi PHP-MySQL1. membuka koneksi ke server MySQL

Mysql_connect()Digunakan untuk melakukan uji coba dan koneksi kepada server database MySQL, perintah yang digunakan seperti berikut :

$conn = mysql_connect(‘host’,’username’,’password’);Keterangan : $conn adalah variabel penampung status hasil koneksi kepada

database. Host adalah nama host atau alamat server database MySQL Username adalah user yang telah diberi hak untuk dapat mengakses

server database. Password adalah kata sandi username untuk dapat masuk ke dalam

database2. Memilih database yang akan digunakan di server

Mysql_select_db();Digunakan untuk melakukan koneksi kepada database yang dalam server yang berhasil dikoneksi dengan perintah mysql_connect().Perintah yang digunakan seperti berikut :

$pilih=mysql_select_db(”namadatabase”,$conn); Keterangan :• $pilih berisi status koneksi kepada database.• $conn merupakan koneksi kepada server database yang berhasil.• namadatabase adalah nama database yang akan dikenai proses.

3. Mengambil sebuah query dari sebuah database.mysql_query()Digunakan untuk melakukan eksekusi perintah SQL untuk memanipulasi

database yang berhasil dilakukan koneksinya menggunakan mysql_select_db().

Perintah yang digunakan seperti berikut :

$hasil = mysql_query(”SQL Statement”);

$hasil akan berupa record set apabila SQL Statement berupa perintah select.

4. Mengambil record dari databasea. menggunakan array.

mysql_fetch_array()Digunakan untuk melakukan pemrosesan hasil query yang dilakukan dengan perintah mysql_query(), dan memasukkannya ke dalam array

40

Page 41: Modul Basdat

asosiatif, array numeris atau keduanya. Perintah yang digunakan seperti berikut:$row = mysql_fetch_array($hasil);

Keterangan :• $row adalah array satu record dari record $hasil yang diproses nomor

record sesuai dengan nomor urut dari proses mysql_fetch_array yang sedang dilakukan.

• $hasil adalah record set yang akan diproses.

b. menggunakan asosiatifmysql_fetch_assoc()

Fungsi ini hampir sama dengan fungsi mysql_fetch_array(), hanya saja array yang dihasilkan hanya array asosiatif. Perintah yang digunakan seperti berikut :$row = mysql_fetch_assoc($hasil);

c. menggunakan rowmysql_fetch_row()

Fungsi ini hampir sama dengan fungsi mysql_fetch_array(), hanya saja array yang dihasilkan hanya array numeris. perintah yang digunakan seperti berikut : $row = mysql_fetch_row($hasil);

d. menghitung jumlah record mysql_num_rows()Fungsi ini digunakan untuk menghitung jumlah record yang ada pada database. Perintah yang digunakan seperti berikut:

$jml = mysql_num_rows($hasil);$jml akan memiliki nilai sesuai dengan jumlah record yang ada.

2. Kegiatan praktikumLatihan 1 : Menguji interkoneksi PHP dengan MySQL.a. Lakukan instalasi web server Apache terlebih dahulu. Apabila menggunakan

xampp, maka secara otomatis web server apache sudah terinstal.b. Gunakan text editor untuk menggunakan pemrograman PHP, misal Notepad.

Kemudian gunakan perintah berikut untuk mengkoneksikan PHP dandatabase Mysql :

41

Page 42: Modul Basdat

c. Simpan file dengan nama koneksi.php di folder “C:xampp\htdocs\kepegawaian “

d. Buka web browser untuk mengecek koneksi apakah berhasil atau tidak, jikakoneksi berhasil akan tampil seperti berikut :

Latihan 2 :Mengambil record dari databasea. Gunakan perintah berikut untuk menampilkan record dari tabel pegawai

dengan menggunakan array :

b. Simpan dengan nama dafpegawai.phpc. Tampilkan di browser dengan alamat localhost/kepegawaian/dafpegawai.php,

sehingga tampil seperti berikut :

42

Page 43: Modul Basdat

Latihan 3 : Memasukkan data pegawai a. Buat form data pegawai menggunakan perintah HTML b. Simpan data dengan nama inputpegawai.html, form ini berisi form action ke file

pegawai_add.php yang berfungsi menyimpan data ke dlm database Mysql.

c. Tampilan ketika dipanggil melalui browser seperti berikut :

d. Buat file pegawai_add_form.php untuk memproses data dari inputpegawai.html dan menambahkan data ke tabel pegawai, seperti berikut:

43

Page 44: Modul Basdat

e. Coba jalankan menggunakan browser untuk memasukkan data ke dlm tabel pegawai

f. Kemudian klik Simpan yang akan memproses pegawai_add.php, sehingga jika data berhasil dimasukkan akan muncul tampilan seperti berikut :

44

Page 45: Modul Basdat

g. Cek dari Command Prompt data yang sudah dimasukkan.

3. Tugas1. Ubah perintah pada latihan 2 untuk menampilkan record dari database Mysql

dengan menggunakan fetch_assoc dan fetch_row. 2. Buat program untuk input data ke dalam tabel laiinya di dalam tabel

kepegawaian. 3. Modifikasi perintah untuk semua form agar menghasilkan tampilan yang lebih

menarik (masing-masing praktikan berbeda tampilannya ). 4. Tambahkan perintah untuk mengedit data pada masing-masing tabel

menggunakan PHP. 5. Tambahkan perintah untuk menghapus data pada masing-masing tabel

menggunakan PHP

45