310 likes | 672 Views
Pemrograman Basis Data Berbasis Web. Pertemuan Ke-8-9 (Basis Data MySQL). MySQL?. MySQL termasuk di dalam jenis RDBMS ( Relational Database Management System ). Suatu basis data ( database ) memiliki satu atau beberapa tabel. Tabel terdiri dari sejumlah baris dan kolom.
E N D
Pemrograman Basis Data Berbasis Web Pertemuan Ke-8-9 (Basis Data MySQL) S1 Teknik Informatika - Unijoyo
MySQL? • MySQL termasuk di dalam jenis RDBMS (Relational Database Management System). • Suatu basis data (database) memiliki satu atau beberapa tabel. Tabel terdiri dari sejumlah baris dan kolom. • Pada umumnya, di dalam konteks bahasa SQL, informasi tersimpan dalam tabel-tabel yang secara logik merupakan struktur dua dimensi yang terdiri atas baris-baris data (row atau record) yang berada dalam satu atau lebih kolom (column atau field). S1 Teknik Informatika - Unijoyo
Tipe data field • Tipe data Numerik TINYINT, SMALLINT, MEDIUMINT, INT, INTEGER, BGINT, FLOAT(x), FLOAT, DOUBLE, DOUBLE PRECISION, REAL, DECIMAL(M,D), NUMERIC(M,D) • Tipe data String CHAR, VARCHAR, TINYBLOB, TINYTEXT, BLOB, TEXT, MEDIUMBLOB, MEDIUMTEXT, LONGBLOB, LONGTEXT, ENUM(‘elemen1’, ‘elemen2’, …), SET(elemen1’, ‘elemen2’, …) • Tipe data char() dan varchar() • Tipe data Tanggal DATETIME, DATE, TIMESTAMP, TIME, YEAR S1 Teknik Informatika - Unijoyo
Operator SQL • Operator matematika + − * / % • Operator range < > <= >= • Operator kesamaan = <> • Operator logika && || S1 Teknik Informatika - Unijoyo
Pernyataan (statement) SQL dapat digolongkan atas Dua golongan yaitu: • Data Definition Language (DDL) yang mendefinisikan struktur suatu data. Perintah-perintah SQL yang termasuk DDL antara lain: • CREATE – untuk membuat tabel. • DROP – untuk menghapus suatu tabel. • Data Manipulation Language (DML) yang dapat mencari (query) dan mengubah (modify) suatu tabel. Perintah-perintah SQL yang termasuk DML antara lain: SELECT – untuk membaca (query) isi tabel. Syntaks: SELECT [ ALL | DISTINCT |*] FROM [Nama Table] WHERE [Kondisi ]; INSERT – untuk memasukkan data ke table. Syntaks: INSERT INTO [Nama Tabel]([Nama Kolom]) VALUE [. Ekspresi]; UPDATE – untuk mengubah isi tabel. Syntaks: UPDATE [Nama Tabel]SET [Nama Kolom= Ekspresi] WHERE [Kondisi]; DELETE – untuk menghapus isi tabel. Syntaks: DELETE FROM [Pemakai.]Nama Table[@Nama Database][WHERE Kondisi]; S1 Teknik Informatika - Unijoyo
Perintah CREATE Sintaks: create DATABASE nama; atau create TABLE nama; Contoh: • create database: create DATABASE db_akademik; • create tabel: create TABLE mahasiswa ( nim SMALLINT(6) NOT NULL PRIMARY KEY, Nama CHAR(20), Tanggal_lahir DATE, alamat VARCHAR(3), nomortlp VARCHAR(12) ); S1 Teknik Informatika - Unijoyo
Perintah INSERT Sintaks: insert INTO NAMA_TABEL (kolom1, kolom2, kolom3,...) values ('nilai1',' nilai2',' nilai3',...); Contoh : insert INTO mahasiswa (nim,nama,tanggal_lahir, alamat,nomortlp) values (1111,”Setia Budi”,”1985-06-25”,”Jl.Kutai 33, Sby”,”031-3459097”); insert INTO mahasiswa values (1112,”Dewi Sekartaji”,”1985-10-01”,”Jl. Mangga 2, Sby”,”031-6749331”), (1113,”Adinda Cendrakasih”,”1986-01-10”,”Jl. Ketintang 45C, Sby”,”031-8291190”); S1 Teknik Informatika - Unijoyo
Perintah SELECT Sintaks: select kolom1, kolom2, kolom3, [...] FROM NAMA_TABEL; Contoh: select * FROM mahasiswa; select nim, Nama FROM mahasiswa; S1 Teknik Informatika - Unijoyo
Perintah SELECT …[lanjutan] • Select banyak tabel mengambil data dari banyak tabel sekaligus Sintaks: select TABEL1.tabel_kolom1, TABEL1.tabel_kolom2, TABEL2.tabel_kolom1, TABEL2.tabel_kolom2 FROM TABEL1, TABEL2; (tanda titik diperlukan sebagai penghubung antara nama tabel dan nama kolom) • Order by mengurutkan (ascending atau descending) record hasil query berdasarkan suatu kolom. Sintaks: select kolom1, kolom2, […] FROM NAMA_TABEL ORDER BY nama_kolom; • Where menentukan kondisi atau persyaratan dari query Sintaks: select kolom1, kolom2, […] FROM NAMA_TABEL WHERE persyaratan; Suatu pernyataan kondisional mempunyai bagian sisi kiri yang merupakan kolom tabel dan bagian sisi kanan kondisi yang dijadikan syarat pencarian. Contoh persyaratan: WHERE nama_kolom = kondisi; S1 Teknik Informatika - Unijoyo
Mengubah Struktur Tabel Sintaks: alter TABLE NAMA_TABEL ADD/DROP NAMA_KOLOM; alter TABLE NAMA_TABEL CHANGE KOLOM_PERINTAH; alter TABLE NAMA_TABEL RENAME NAMA_TABEL_BARU; Contoh: • Menambahkan sebuah kolom baru (Hobi) ke dalam tabel mahasiswa: alter TABLE mahasiswa ADD Hobi; • Menghapus kolom: alter TABLE mahasiswa DROP Hobi; • Mengganti nama tabel: alter TABLE mahasiswa RENAME mahasiswatrun; S1 Teknik Informatika - Unijoyo
UPDATE Data Sintaks: update NAMA_TABEL SET kolom1=“nilai”, kolom2=“nilai”, kolom3=“nilai” WHERE kolom_kunci = “nilai”; Contoh: • Mengubah nilai kolom Nama untuk mahasiswa dengan nim = 1111. UPDATE mahasiswa SET Nama = “Setiawan Budi” WHERE nim = '1111'; S1 Teknik Informatika - Unijoyo
Menghapus (DELETE) Data Sintaks: delete FROM NAMA_TABEL WHERE persyaratan; Contoh: • Menghapus record pada tabel mahasiswa yang field nim-nya bernilai 1114 : delete FROM mahasiswa WHERE nim=1114; S1 Teknik Informatika - Unijoyo
TRUNCATE untuk membersihkan tabel secara keseluruhan (sama seperti DELETE tanpa kondisi), yaitu dengan cepat menghapus semua record tanpa menghapus struktur tabel. Sintaks: truncate TABEL NAMA_TABEL; Contoh: • Menghapus semua record dalam tabel mahasiswa: truncate TABLE mahasiswa; S1 Teknik Informatika - Unijoyo
Predikat Predikat diletakkan setelah klausa WHERE untuk pencarian record database agar mendapatkan string, karakter atau range tertentu. • LIKE dan NOT LIKE • BETWEEN • LIMIT • INNER JOIN • LEFT JOIN • RIGHT JOIN • UNION • UNION ALL • Sub-Query S1 Teknik Informatika - Unijoyo
LIKE dan NOT LIKE • LIKE untuk mendapatkan record yang memenuhi sebagian kriteria pencarian yaitu mencari data yang menyerupai atau seperti. • Perintah LIKE sering dikombinasikan dengan tanda “persen” (%) dan “underscore” (_). “Persen” digunakan di awal atau akhir teks kriteria sedangkan “underscore” dimanapun diinginkan. • Sintaks dasar dari SELECT yang melibatkan LIKE adalah select kolom1, kolom2, […] FROM NAMA_TABEL WHERE kolom_tabel LIKE %string%; • NOT LIKE merupakan lawan dari LIKE. Semua data yang masuk kriteria LIKE secara otomatis tidak masuk kriteria NOT LIKE. • BETWEEN • digunakan untuk menyeleksi nilai-nilai yang berada dalam kisaran (range), misalnya menampilkan “student” yang mempunyai IPK antara 3,00 sampai 3,50. • Sintaks perintah SELECT dengan BETWEEN adalah select kolom1, kolom2, […] FROM NAMA_TABEL WHERE nama_kolom BETWEEN nilai1 and nilai2; • LIMIT • memungkinkan pembatasan jumlah record yang diambil dari database. • Sintaks: select kolom1, kolom2, […]FROM NAMA_TABEL LIMIT jumlah_limit; S1 Teknik Informatika - Unijoyo
INNER JOIN • JOIN digunakan bersama SELECT untuk mengkombinasikan kolom dari satu tabel dengan kolom pada tabel lain. Proses utama yang dilakukan oleh JOIN adalah mencocokkan nilai pada field kunci pada kedua tabel • INNER JOIN mengembalikan semua baris sebagai hasil yang memenuhi suatu kondisi • LEFT JOIN • Suatu LEFT JOIN mengembalikan semua baris sisi kiri kondisional bahkan jika tidak ada sisi kanan yang memenuhi sekalipun • RIGHT JOIN • Suatu RIGHT JOIN akan menampilkan baris-baris sisi kanan kondisional yang memenuhi atau tidak memenuhi kondisi. S1 Teknik Informatika - Unijoyo
UNION • untuk menggabung dua tabel, menempatkan dua query terpisah secara bersama membentuk satu tabel • UNION akan memberikan hasil terbaik saat menggunakan dua tabel dengan kolom serupa karena setiap kolom harus mempunyai tipe data sama • Sintaks dasar: select kolom1, kolom2 FROM NAMA_TABEL UNION select kolom1, kolom2 FROM NAMA_TABEL; • UNION ALL • memilih semua baris dari setiap tabel dan mengkombinasikannya ke dalam satu tabel • Perbedaan antara UNION dan UNION ALL yaitu UNION ALL tidak akan menghapus (mengeliminir) baris-baris yang sama (duplicate rows) – hanya mengambil semua baris dari semua tabel sesuai query yang dikirim ke server database • Sub-Query • adalah query SELECT yang ditempatkan di dalam suatu pernyataan SQL lain. • dapat diletakkan sebagai bagian dari query utama : SELECT, INSERT, UPDATE, DELETE, SET, DO • Sintaks: select kolom1, kolom2, kolom3 […] FROM NAMA_TABEL WHERE kolom_tabel = (select kolom1, kolom2, kolom3 […] FROM NAME_TABEL_LAIN); S1 Teknik Informatika - Unijoyo
Koneksi Database • PHP menyediakan fungsi untuk koneksi ke database dengan sejumlah fungsi untuk pengaturan baik menghubungkan maupun memutuskan koneksi dengan server database MySQL. • Fungsi koneksi ke server database mengunakan pola yang sama yaitu server, port, user, password. • Fungsi-fungsi tersebut adalah: S1 Teknik Informatika - Unijoyo
mysql_connect(host,user,password) Fungsi ini gunakan untuk membuka koneksi dengan server MySQL. Parameter yang digunakan sebagai berikut: • Host: nama server dengan server local dapat dengan menggunakan localhost. • User: user yang terdaftar dalam MySQL yang digunakan untuk login ke server. • Password: password dari user yang melakukan koneksi. • $conn : variabel untuk menampung hasil koneksi kepada server database Contoh: $host = "localhost"; $name = "root"; $pass = ""; $conn =mysql_connect($host,$name,$pass); S1 Teknik Informatika - Unijoyo
mysql_select_db(nama_database,nama_koneksi) Fungsi ini digunakn untuk memilih database yang akan digunakan. Contoh: $conn=mysql_connect("localhost","root","") $sukses=mysql_select_db(“akademik",$conn); S1 Teknik Informatika - Unijoyo
mysql_query(perintah_query,nama_koneksi) • Perintah ini digunakan untuk mengirimkan query ke server database melalui link nama koneksi. Fungsi ini mengembalikan nilai FALSE baik CREATE, UPDATE, DELETE, DROP, dll. • Contoh: $conn=mysql_connect("localhost","root",""); $sql="select nama_anggota,password from anggota where nomor_anggota='$username'"; $rs=mysql_query($sql,$conn); S1 Teknik Informatika - Unijoyo
Fungsi-fungsi MySQL • mysql_connect() • Untuk melakukan koneksi ke server basis data (database) MySQL • Koneksi ke database akan secara otomatis terputus pada saat script program selesai dieksekusi seluruhnya, kecuali diberikan perintah fungsi mysql_close() • Akan menghasilkan nilai true jika koneksi berhasil, dan nilai false jika gagal • Sintaks: mysql_connect(nama_host,nama_user,password); • mysql_pconnect() • Fungsinya sama dengan mysql_connect, akan tetapi koneksi tidak akan terputus meskipun script program telah selesai dieksekusi seluruhnya • mysql_create_db() • Untuk membuat sebuah database • Sintaks: mysql_create_db(“nama_database”); S1 Teknik Informatika - Unijoyo
mysql_select_db() • Untuk memilih atau mengaktifkan database • mysql_query() • Untuk menjalankan query yang terdapat di MySQL • mysql_db_query() • Untuk menjalankan suatu permintaan terhadapt database • mysql_fetch_row() • Menghasilkan suatu array yang berisi seluruh kolom dari sebuah baris pada suatu himpunan hasil • Mengambil data secara baris per baris • Data yang diambil dalam bentuk array (elemen dari array adalah field-field dari tabel data) • mysql_fetch_array() • Fungsinya sama seperti mysql_fetch_array, akan tetapi hasil yang diperoleh dalam bentuk array assosiatif S1 Teknik Informatika - Unijoyo
Mengelola MySQL dengan PHPMyAdmin • PHPMyAdmin dibuat khusus untuk mengelola database MySQL • Aplikasi ini free dan dapat di-download di mysql.com, sourceforge.net dan situs web lain yang berhubungan dengan PHP dan MySQL. Bahkan, dengan menginstal PHPTriad, maka secara otomatis Apache, MySQL, PHP dan PHPTriad juga telah terinstal • Untuk membuka aplikasi PHPMyAdmin, harus menjalankan terlebih dahulu server web Apache, dan server database MySQL, sebelum membuka aplikasi PHPMyAdmin • PHPMyAdmin dapat diakses melalui alamat http://localhost/PHPMyAdmin (jika PHPMyAdmin terinstal di komputer yang sedang digunakan) atau alamat http://nama_komputer_atau_ip_address/PHPMyAdmin (jika terinstal pada komputer lain) • XAMPP merupakan sebuah tool yang menyediakan beberapa paket perangkat lunak kedalam satu buah paket. • Dengan Menginstal XAMPP, kita tidak perlu lagi melakukan isntalasi dan konfigurasi web server apache dan MySQL secara manual. Karena XAMPP akan menginstalasi dan mengkonfigurasinya secara otomatis S1 Teknik Informatika - Unijoyo
Tampilan awal PHPMyAdmin S1 Teknik Informatika - Unijoyo
PHPMyAdmin – Membuat Database • Langkah-langkah membuat database: • Di halaman awal PHPMyAdmin, masukkan nama database, misalnya db_company pada isian Create new database • Klik tombol Create Jika berhasil, akan terdapat keterangan sebagai berikut: Database db_company has been created. No tables found in database. S1 Teknik Informatika - Unijoyo
PHPMyAdmin – Pembuatan Tabel • Langkah-langkah pembuatan tabel: • Pada menu HOME, pilih nama database yang akan ditambahkan tabel di dalamnya. Misalkan nama database adalah db_company. • Pada bagian Create new table on database db_company, masukkan nama tabel, misalnya EMPLOYEE dan jumlah field (kolom)-nya adalah 3. Klik Go. • Tenntukan nama ketiga field berikut tipe datanya. S1 Teknik Informatika - Unijoyo
Klik Save. Jika pembuatan tabel berhasil, maka akan muncul pesan seperti berikut ini: S1 Teknik Informatika - Unijoyo
PHPMyAdmin – Memasukkan data • Langkah-langkah memasukkan data: • Pada sisi kiri (menu HOME), terdapat nama database db_company dan tabel-tabel di dalamnya. Klik tabel yang akan dimasukkan datanya, misalnya tabel EMPLOYEE. • Terdapat link Browse, Select, Insert, Empty, Drop. Untuk memasukkan data, klik link Insert. Pada halaman entri data, masukkan data yang diinginkan pada kolom kanan. • Di bawah form isian, terdapat dua buah radio button. Pilihan “Return” artinya kembali ke halaman tabel dan pengisian selesai). Sedangkan pilihan “Insert a new record” artinya memasukkan record baru berikutnya. Misalnya yang dipilih adalah Return. • Klik Go. S1 Teknik Informatika - Unijoyo
PHPMyAdmin – Mengedit dan menghapus data • Langkah-langkah untuk mengedit (meng-update) dan menghapus data: • Klik link Browse atau Select pada tabel yang akan diubah atau dihapus datanya • Data ditampilkan dalam bentuk tabel dan pada sisi kirinya terdapat link Edit dan Delete • Untuk menghapus data, klik Delete dan jawab OK sebagai konfirmasi • Untuk meng-update data, klik Edit.Pada form isian (seperti pada penambahan) betulkan data yang perlu diupdate. Akhiri dengan klik Go S1 Teknik Informatika - Unijoyo
Kesimpulan • MySQL adalah merupakan RDBMS, sehingga ia dapat digunakan untuk memanipulasi data seperti menambah, menghapus, menampilkan, dan mengubah suatu data • Tipe-tipe data yang terdapat di dalam MySQL adalah Tipe data Numerik, Tipe data String, Tipe data char() dan varchar() serta Tipe data Tanggal • Operator SQL yang dapat digunakan di dalam MySQL: Operator matematika, Operator range, Operator kesamaan dan Operator logika • PHP tidak mnyediakan fungsi-fungsi khusus untuk operasi data, sehingga sintaks yang dipakai adalah sintaks perintah-perintah MySQL • PHPMyAdmin dapat digunakan untuk mengelola basis data MySQL, sehingga dapat digunakan untuk membuat database, membuat tabel, memasukkan data ataupun mengedit (meng-update) dan menghapus data S1 Teknik Informatika - Unijoyo