slide praktikum basis data

40
Praktikum MySQL Praktikum MySQL Dasar MySQL Dasar MySQL Abdul Kadir Abdul Kadir

description

how to

Transcript of slide praktikum basis data

Praktikum MySQLPraktikum MySQLDasar MySQLDasar MySQL

Abdul KadirAbdul Kadir

Overview MySQLOverview MySQL MySQL merupakan MySQL merupakan

Database Server yang Database Server yang bersifat :bersifat :• Open SourceOpen Source• MultiplatformMultiplatform• Berbasis Berbasis database database

relasionalrelasional Bisa dipakai untuk Bisa dipakai untuk

database pribadi atau pada database pribadi atau pada level korporat berskala level korporat berskala kecil hingga besarkecil hingga besar

Selain bersifat free, ada Selain bersifat free, ada juga yang bersifat juga yang bersifat komersialkomersial

Overview MySQLOverview MySQL(Lanjutan…)(Lanjutan…)

Menggunakan Menggunakan SQL untuk SQL untuk mendukung mendukung pengaksesan pengaksesan data (data (queryquery))

Hasil dari permintaan

Klien Server

Permintaan berupa pernyataan seperti: SELECT * FROM bintang;

Dasar SQLDasar SQL

SQL = Structured Query LanguageSQL = Structured Query Language Digunakan untuk mengakses basis Digunakan untuk mengakses basis

data relasionaldata relasional Bersifat standar; bisa dipakai untuk Bersifat standar; bisa dipakai untuk

basis data relasional lainnyabasis data relasional lainnya Perintah SQL dapat dibagi menjadi Perintah SQL dapat dibagi menjadi

DDL dan DMLDDL dan DML

Perintah DDLPerintah DDL

DDL = DDL = Definition Data LanguageDefinition Data Language Digunakan untuk kepentingan Digunakan untuk kepentingan

penciptaan database, tabel, hingga penciptaan database, tabel, hingga penghapusan database atau tabelpenghapusan database atau tabel

Contoh:Contoh:• CREATE DATABASECREATE DATABASE• CREATE TABLECREATE TABLE• DROP TABLEDROP TABLE• ALTER TABLEALTER TABLE

Perintah DMLPerintah DML

DML = DML = Data Manipulation LanguageData Manipulation Language Digunakan untuk memanipulasi dataDigunakan untuk memanipulasi data Contoh:Contoh:

• SELECT – mengambil dataSELECT – mengambil data• DELETE – menghapus dataDELETE – menghapus data• INSERT – menyisipkan dataINSERT – menyisipkan data• UPDATE – mengubah dataUPDATE – mengubah data

Persiapan Pemakaian MySQLPersiapan Pemakaian MySQL

Lakukan instalasi MySQL terlebih Lakukan instalasi MySQL terlebih duludulu

MySQL memiliki sejumlah MySQL memiliki sejumlah tooltool; salah ; salah satu di antaranya adalah:satu di antaranya adalah:• program program mysqlmysql, yang dipakai untuk , yang dipakai untuk

mengakses mengakses databasedatabase dari sisi klien dari sisi klien• Program Program mysqladminmysqladmin, untuk mengelola , untuk mengelola

MySQL dari sisi administrator sistemMySQL dari sisi administrator sistem

Masuk ke Direktori ProgramMasuk ke Direktori Program

Masuk ke prompt DOSMasuk ke prompt DOS Ketik perintah:Ketik perintah:

cd c:\”Program Files”\MysQL\”MySQL Server 5.0”cd c:\”Program Files”\MysQL\”MySQL Server 5.0” Berikan perintah cd binBerikan perintah cd bin

Mengatur Password rootMengatur Password root

rootroot adalah pemakai dengan adalah pemakai dengan wewenang paling tinggi dan wewenang paling tinggi dan digunakan untuk admin sistemdigunakan untuk admin sistem

Perintah untuk mengubah password Perintah untuk mengubah password root:root:mysqladmin –uroot password mysqladmin –uroot password rahasiarahasia

Masuk ke Program Klien mysqlMasuk ke Program Klien mysql

Berikan perintah:Berikan perintah:mysql –uroot –pmysql –uroot –p

Ketikkan password dan tekan EnterKetikkan password dan tekan Enter

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -uroot -prahasiaWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 8 to server version: 5.0.15-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Pembuatan Database dan TabelPembuatan Database dan Tabel

Database: Pegawai

Tabel: Pribadi

Field:

-NIP

-Nama

-Tgl_Lahir

-Sex

-Alamat

-Kota

Tabel: Pekerjaan

Field:

-NIP

-Tgl_Masuk

-Kode_Bag

-Gaji

Tabel: Bagian

Field:

-Kode_Bag

-Nama_Bag

Membuat Database PegawaiMembuat Database Pegawai

Berikan perintah pada prompt Berikan perintah pada prompt mysql:mysql:CREATE DATABASE Pegawai;CREATE DATABASE Pegawai;

mysql> CREATE DATABASE Pegawai;Query OK, 1 row affected (0.09 sec)

mysql>

Memilih DatabaseMemilih Database

Berikan perintah:Berikan perintah:USE Pegawai;USE Pegawai;

Nama Database

Membuat Tabel PribadiMembuat Tabel Pribadi

Berikan perintah:Berikan perintah:

CREATE TABLE Pribadi (Nip CHAR(5) NOT NULL PRIMARY KEY,Nama VARCHAR(35) NOT NULL,Tgl_lahir DATE,Sex ENUM('P','W'),Alamat VARCHAR(35),Kota VARCHAR(15));

Penjelasan Tipe DataPenjelasan Tipe Data

KARAKTERKARAKTER CHARCHAR: Teks dengan maksimal 255 : Teks dengan maksimal 255

karakterkarakter VARCHARVARCHAR: Teks maksimal 255 : Teks maksimal 255

karakter dan bersifat variabelkarakter dan bersifat variabel TEXTTEXT: Teks dengan panjang : Teks dengan panjang

maksimal 65535maksimal 65535

Penjelasan Tipe DataPenjelasan Tipe Data

BILANGANBILANGAN

TINYINTTINYINT: Bilangan 1 byte: Bilangan 1 byte SMALLINTSMALLINT: Bilangan 2 byte: Bilangan 2 byte INT INT atauatau INTEGER INTEGER Bilangan 4 byte Bilangan 4 byte BIGINTBIGINT: Bilangan 8 byte: Bilangan 8 byte FLOATFLOAT: Bilangan pecahan (4 byte): Bilangan pecahan (4 byte) DOUBLE DOUBLE atauatau REAL REAL: Bilangan pecahan (8 byte): Bilangan pecahan (8 byte) DECIMAL(M, D)DECIMAL(M, D) atau atau NUMERIC(M, D)NUMERIC(M, D): Bilangan : Bilangan

pecahanpecahan

Penjelasan Tipe DataPenjelasan Tipe Data

LAIN-LAINLAIN-LAIN

DATEDATE: Tanggal: Tanggal DATETIMEDATETIME: Waktu (tanggal dan jam): Waktu (tanggal dan jam) TIME : TIME : JamJam ENUM(‘nilai1’, ‘nilai2’, …)ENUM(‘nilai1’, ‘nilai2’, …): Nilai : Nilai

enumerasienumerasi BOOLEANBOOLEAN: tipe benar atau salah: tipe benar atau salah

Kata TambahanKata Tambahan

NOT NULL : Tidak boleh kosongNOT NULL : Tidak boleh kosong PRIMARY KEY: Kunci primerPRIMARY KEY: Kunci primer AUTO_INCREMENT: Nilai naik secara AUTO_INCREMENT: Nilai naik secara

otomatis tanpa diisiotomatis tanpa diisi

Penambahan DataPenambahan Data

Penambahan data dilakukan dengan Penambahan data dilakukan dengan menggunakan pernyataan INSERTmenggunakan pernyataan INSERT

Bentuk dasar :Bentuk dasar :INSERT INTO nama_tabel (nama_field, INSERT INTO nama_tabel (nama_field,

nama_field, …) VALUES (nilai, nilai, …);nama_field, …) VALUES (nilai, nilai, …); Contoh:Contoh:

INSERT INTO Pribadi(Nip, Nama, Tgl_lahir, Sex, Alamat, Kota)INSERT INTO Pribadi(Nip, Nama, Tgl_lahir, Sex, Alamat, Kota)

VALUES ('12345', 'A. Hamzah Sianturi', '1965/12/23',VALUES ('12345', 'A. Hamzah Sianturi', '1965/12/23',

'P', 'Jl. Kudus 1', 'Yogya');'P', 'Jl. Kudus 1', 'Yogya');

Melihat Isi TabelMelihat Isi Tabel

Perintah SELECTPerintah SELECT

Bentuk Umum:Bentuk Umum:

SELECT * FROM Nama_TabelSELECT * FROM Nama_Tabel

Contoh:Contoh:

SELECT * FROM PribadiSELECT * FROM Pribadi

Penambahan Data (Lanjutan…)Penambahan Data (Lanjutan…)

Tambahkan data berikut:Tambahkan data berikut:

Untuk data yang kosong, tuliskan NULLUntuk data yang kosong, tuliskan NULL

PriaYogyaJl. Karyacita 9Joned05/05/197812354

PriaYogyaJl. Astina 4ASueb04/07/197112353

WanitaKlatenJl. Kertosono 87Sinta29/04/196912352

PriaSlemanNgampilan 2AEdi Damhudi05/04/197112351

WanitaYogyaJl. Sawo 108Intan01/02/197512350

PriaMagelangKarangwaru I/3Bagus13/05/196612349

WanitaBantulJl. Arumdalu 23Dian Arum14/03/196912348

WanitaSiti Umayani12347

PriaSlemanJl. Masjid 47Udin12/01/197812346

JenisKelamin

KotaAlamatNamaTanggal lahirNIP

Penambahan Data dengan Field Penambahan Data dengan Field TertentuTertentu

Contoh tanpa mengisi Tanggal lahir, Contoh tanpa mengisi Tanggal lahir, alamat dan kotaalamat dan kota

INSERT INTO Pribadi(Nip, Nama, Sex)INSERT INTO Pribadi(Nip, Nama, Sex)

VALUES ('12355', 'Andini', 'W');VALUES ('12355', 'Andini', 'W');

Pengaruh Kunci PrimerPengaruh Kunci Primer

Cobalah berikan pernyataan berikut:Cobalah berikan pernyataan berikut:

INSERT INTO Pribadi(Nip, Nama, Tgl_lahir, Sex, Alamat, INSERT INTO Pribadi(Nip, Nama, Tgl_lahir, Sex, Alamat, Kota)Kota)

VALUES ('12345', ‘Dona Harun', '1978/01/01',VALUES ('12345', ‘Dona Harun', '1978/01/01',

‘‘W', 'Jl. Kreasi 77', 'Yogya');W', 'Jl. Kreasi 77', 'Yogya');

Apa yang terjadi? Kenapa?Apa yang terjadi? Kenapa?

Pengaruh NOT NULLPengaruh NOT NULL

Cobalah berikan pernyataan berikut:Cobalah berikan pernyataan berikut:

INSERT INTO Pribadi(Nip, Sex)INSERT INTO Pribadi(Nip, Sex)

VALUES ('12360', ‘W');VALUES ('12360', ‘W');

Apa yang terjadi? Kenapa?Apa yang terjadi? Kenapa?

Pengaruh ENUMPengaruh ENUM

Cobalah perintah berikut:Cobalah perintah berikut:

INSERT INTO Pribadi(Nip, Nama, Kelamin)INSERT INTO Pribadi(Nip, Nama, Kelamin)

VALUES ('12361', 'Edi harahap', 'L');VALUES ('12361', 'Edi harahap', 'L');

Apa yang terjadi? Kenapa?Apa yang terjadi? Kenapa? Cek dengan SELECT; apakah data Cek dengan SELECT; apakah data

tersimpan?tersimpan?

Melihat Struktur TabelMelihat Struktur Tabel

Gunakan perintah:Gunakan perintah:

DESC nama_tabelDESC nama_tabel Contoh:Contoh: DESC Pribadi;DESC Pribadi;

+-----------+---------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-----------+---------------+------+-----+---------+-------+| Nip | char(5) | NO | PRI | | || Nama | varchar(35) | NO | | | || Tgl_lahir | date | YES | | NULL | || Sex | enum('P','W') | YES | | NULL | || Alamat | varchar(35) | YES | | NULL | || kota | varchar(20) | YES | | NULL | |+-----------+---------------+------+-----+---------+-------+6 rows in set (0.16 sec)

Mengganti Nama FieldMengganti Nama Field

Perintah yang digunakan adalah Perintah yang digunakan adalah ALTER TABLEALTER TABLE

Contoh:Contoh:

ALTER TABLE Pribadi ALTER TABLE Pribadi

CHANGE sex kelamin ENUM('P','W');CHANGE sex kelamin ENUM('P','W');

Cek struktur tabel setelah Anda melakukan Cek struktur tabel setelah Anda melakukan perintah di atasperintah di atas

Mengganti Ukuran/Tipe FieldMengganti Ukuran/Tipe Field

Perintah yang digunakan adalah Perintah yang digunakan adalah ALTER TABLEALTER TABLE

Contoh:Contoh:

ALTER TABLE Pribadi ALTER TABLE Pribadi

CHANGE kota kota VARCHAR(20);CHANGE kota kota VARCHAR(20);

Cek struktur tabel setelah Anda melakukan Cek struktur tabel setelah Anda melakukan perintah di atasperintah di atas

Menambahkan DEFAULTMenambahkan DEFAULT

DEFAULT pada struktur tabel DEFAULT pada struktur tabel digunakan untuk memberikan nilai digunakan untuk memberikan nilai bawaan pada suatu field kalau nilai bawaan pada suatu field kalau nilai bersangkutan tidak dimasukkanbersangkutan tidak dimasukkan

Contoh:Contoh:

ALTER TABLE Pribadi CHANGE ALTER TABLE Pribadi CHANGE kelamin kelamin ENUM('P','W') kelamin kelamin ENUM('P','W') DEFAULT 'P';DEFAULT 'P';

Menambahkan DEFAULTMenambahkan DEFAULT(Lanjutan…)(Lanjutan…)

Sekarang cobalah berikan perintah:Sekarang cobalah berikan perintah:

INSERT INTO Pribadi(Nip, Nama)INSERT INTO Pribadi(Nip, Nama)

VALUES (‘12370’, ‘Fahmi Idris’);VALUES (‘12370’, ‘Fahmi Idris’);

PERHATIKAN, apa isi field Kelamin PERHATIKAN, apa isi field Kelamin untuk NIP 12370’?untuk NIP 12370’?

Pengubahan DataPengubahan Data Perintah yang digunakan adalah UPDATEPerintah yang digunakan adalah UPDATE Bentuk dasar:Bentuk dasar:

UPDATE nama_tabel SET nama_field = nilai, nama_field = UPDATE nama_tabel SET nama_field = nilai, nama_field = nilai, … WHERE nama_field = nilainilai, … WHERE nama_field = nilai

Contoh mengubah Contoh mengubah UdinUdin menjadi menjadi UdinsahUdinsah::

UPDATE Pribadi SET Nama= 'Udinsah' UPDATE Pribadi SET Nama= 'Udinsah' WHERE NIP = '12346';WHERE NIP = '12346';

Ujilah dengan SELECT untuk melihat hasil perubahanUjilah dengan SELECT untuk melihat hasil perubahan

Penghapusan DataPenghapusan Data Perintah DELETEPerintah DELETE Bentuk dasar:Bentuk dasar:

DELETE FROM nama_tabel WHERE DELETE FROM nama_tabel WHERE nama_field = nilainama_field = nilai

Contoh:Contoh:DELETE FROM Pribadi DELETE FROM Pribadi WHERE Nip = '12355';WHERE Nip = '12355';

Ujilah dengan SELECT untuk melihat efek Ujilah dengan SELECT untuk melihat efek perintah di atasperintah di atas

Penghapusan TabelPenghapusan Tabel

Gunakan DROP TABLEGunakan DROP TABLE Untuk mempraktekkan, buatlah Untuk mempraktekkan, buatlah

sebuah table bernama RIWAYAT, sebuah table bernama RIWAYAT, dengan isi berupa sebuah field dengan isi berupa sebuah field (misalnya Nip bertipe CHAR(5))(misalnya Nip bertipe CHAR(5))

Kemudian, lihatlah daftar tabel Kemudian, lihatlah daftar tabel dengan memberikan perintah:dengan memberikan perintah:

SHOW TABLES;SHOW TABLES;

Penghapusan TabelPenghapusan Tabel(Lanjutan…)(Lanjutan…)

Berikan perintah:Berikan perintah:

DROP TABLE Riwayat;DROP TABLE Riwayat; Kemudian, lihatlah daftar tabel Kemudian, lihatlah daftar tabel

dengan memberikan perintah:dengan memberikan perintah:

SHOW TABLES;SHOW TABLES;Apa sudah terhapus?Apa sudah terhapus?

Latihan Membuat Tabel BagianLatihan Membuat Tabel Bagian

Buatlah tabel Buatlah tabel BagianBagian dengan struktur dengan struktur seperti berikut:seperti berikut:• Kode_BagKode_Bag, CHAR, 1 karakter, primary key, CHAR, 1 karakter, primary key• Nama_BagNama_Bag, VARCHAR, 20 karakter, harus diisi, VARCHAR, 20 karakter, harus diisi

Isikan data sebagai berikut:Isikan data sebagai berikut:• 1 untuk EDP1 untuk EDP• 2 untuk Pemasaran2 untuk Pemasaran• 3 untuk Produksi3 untuk Produksi• 4 untuk SDM4 untuk SDM• 5 untuk Akunting5 untuk Akunting

Latihan Membuat Tabel PekerjaanLatihan Membuat Tabel Pekerjaan

Buatlah tabel Pekerjaan dengan struktur seperti berikut:• NIP, CHAR, 5 karakter, primary key• Tgl_Masuk, DATE• Kode_Bag, 1 karakter, harus diisi• Gaji, bilangan

Isikan data sebagai berikut:• 12345, 02/02/1992, 3, 2juta• 12346, 02/02/1992, 1, 1,5juta• 12347, 02/02/1992, 2, 1,2juta• 12348, 02/02/1992, 4, 1,5juta• 12349, 02/02/1992, 5, 1,2juta• Lengkapi sendiri sampai NIP 12354

Latihan Penggunaan Tipe MemoLatihan Penggunaan Tipe Memo

Buatlah tabel bernama Buatlah tabel bernama RiwayatRiwayat Isi Field:Isi Field:

• NIPNIP• Keterangan (bertipe Memo)Keterangan (bertipe Memo)

Isikan data untuk NIP yang tersedia pada tabel Isikan data untuk NIP yang tersedia pada tabel Pribadi (12345 sampai dengan 12354)Pribadi (12345 sampai dengan 12354)

Isikan Keterangan dengan daftar riwayat Isikan Keterangan dengan daftar riwayat pendidikan, misalnya sbb:pendidikan, misalnya sbb:

SD Muhammadiyah I, YogyaSD Muhammadiyah I, YogyaSMP Negeri I, YogyaSMP Negeri I, YogyaSMA Negeri III, SemarangSMA Negeri III, Semarang

Latihan GabunganLatihan Gabungan

Masukkan data berikut ke Tabel Masukkan data berikut ke Tabel Pribadi:Pribadi:• NIP: 12390NIP: 12390• Nama: Asti DamayantiNama: Asti Damayanti• Tanggal Lahir: 2 Februari 1983Tanggal Lahir: 2 Februari 1983• Jenis kelamin: WanitaJenis kelamin: Wanita

Ubahlah Tanggal lahir Asti Damayanti Ubahlah Tanggal lahir Asti Damayanti menjadi 23 Pebruari 1973menjadi 23 Pebruari 1973

Cek hasilnyaCek hasilnya

Latihan GabunganLatihan Gabungan(Lanjutan…)(Lanjutan…)

Hapuslah record yang berisi data Asti Hapuslah record yang berisi data Asti Damayanti dengan menyebutkan Damayanti dengan menyebutkan namanya (bukan NIP)namanya (bukan NIP)

Ubahlah nama field Ubahlah nama field KeteranganKeterangan pada tabel Riwayat menjadi pada tabel Riwayat menjadi KetKet

Latihan Gabungan (Lanjutan…)Latihan Gabungan (Lanjutan…)

Menambahkan Field:Menambahkan Field:

ALTER TABLE Pribadi ADD ALTER TABLE Pribadi ADD Bisa_Bhs_Asing BOOLEAN DEFAULT Bisa_Bhs_Asing BOOLEAN DEFAULT FALSE;FALSE;

Buatlah agar field baru tersebut Buatlah agar field baru tersebut bernilai TRUE untuk NIP=12345, bernilai TRUE untuk NIP=12345, 12347, dan 1235012347, dan 12350