Pemrograman Basis Data Berbasis Web 10 · PDF fileSuatu pernyataan kondisional mempunyai...
Transcript of Pemrograman Basis Data Berbasis Web 10 · PDF fileSuatu pernyataan kondisional mempunyai...
S1 Teknik Informatika - Unijoyo 1
Pemrograman Basis Data Berbasis Web
Pertemuan Ke-10(Server Basisdata MySQL dan Koneksi PHP ke Basisdata MySQL)Noor Ifada
S1 Teknik Informatika - Unijoyo 2
Sub Pokok BahasanMySQL?Tipe data fieldOperator SQL Koneksi ke serverPerintah CreatePerintah InsertPerintah SelectMengubah struktur tabelUpdate dataMenghapus (Delete) dataPredikatFungsi-fungsi MySQLUrutan operasi-operasi data menggunakan PHPMengelola MySQL dengan PHPMyAdmin
S1 Teknik Informatika - Unijoyo 3
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 4
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 StringCHAR, 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 5
Operator SQL
Operator matematika+ − * / %
Operator range< > <= >=
Operator kesamaan= <>
Operator logika && ||
S1 Teknik Informatika - Unijoyo 6
Koneksi ke Server
MySQL mempunyai tool koneksi bernama mysql yang bentuk penggunaannya adalah:
mysql –h nama_server –u nama_user –D nama_database –p
(password dimasukkan saat prompt password ditampilkan)
Contoh: mysql –h localhost –u root –D db_tennis
S1 Teknik Informatika - Unijoyo 7
Perintah CREATESintaks:
create DATABASE nama;atau create TABLE nama;
Contoh: create database:
create DATABASE db_academic; create tabel:
create TABLE student(StudentNo SMALLINT(6) NOT NULL PRIMARY KEY,Name CHAR(20),Birth_Date DATE,Sex char(1),Address VARCHAR(3),PhoneNo VARCHAR(12));
S1 Teknik Informatika - Unijoyo 8
Perintah INSERTSintaks:
insert INTO NAMA_TABEL (kolom1, kolom2, kolom3,...)values ('nilai1',' nilai2',' nilai3',...);
Contoh :insert INTO STUDENT (StudentNo, Name, Birth_Date, Sex, Address, PhoneNo) values (1111,”Setia Budi”,”1985-06-25”,”M”,”Jl.Kutai 33, Sby”,”031-3459097”);
insert INTO STUDENT values(1112,”Dewi Sekartaji”,”1985-10-01”,”F”,”Jl. Mangga 2, Sby”,”031-6749331”),(1113,”Adinda Cendrakasih”,”1986-01-10”,”M”,”Jl. Ketintang 45C, Sby”,”031-8291190”);
S1 Teknik Informatika - Unijoyo 9
Perintah SELECTSintaks:
select kolom1, kolom2, kolom3, [...] FROM NAMA_TABEL;
Contoh:select * FROM STUDENT;
select StudentNo, Name FROM STUDENT;
S1 Teknik Informatika - Unijoyo 10
Perintah SELECT … [lanjutan] Select banyak tabel
mengambil data dari banyak tabel sekaligusSintaks:
select TABEL1.tabel_kolom1, TABEL1.tabel_kolom2,TABEL2.tabel_kolom1, TABEL2.tabel_kolom2FROM 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 querySintaks:
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 11
Mengubah Struktur TabelSintaks:
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 STUDENT:
alter TABLE STUDENTADD Hobi;
Menghapus kolom:alter TABLE STUDENTDROP Hobi;
Mengganti nama tabel:alter TABLE STUDENT RENAME STUDENTS;
S1 Teknik Informatika - Unijoyo 12
UPDATE Data
Sintaks:update NAMA_TABELSET kolom1=“nilai”, kolom2=“nilai”, kolom3=“nilai”WHERE kolom_kunci = “nilai”;
Contoh: Mengubah nilai kolom Name untuk STUDENT dengan StudentNo = 1111.
UPDATE STUDENTSET Name = “Setiawan Budi”WHERE StudentNo = '1111';
S1 Teknik Informatika - Unijoyo 13
Menghapus (DELETE) DataSintaks:
delete FROM NAMA_TABELWHERE persyaratan;
Contoh: Menghapus record pada tabel STUDENT yang field StudentNo-nya bernilai
1114 :delete FROM STUDENTWHERE StudentNo=1114;
S1 Teknik Informatika - Unijoyo 14
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 STUDENT:
truncate TABLE STUDENT;
S1 Teknik Informatika - Unijoyo 15
PredikatPredikat diletakkan setelah klausa WHERE untuk pencarian record database agar mendapatkan string, karakter atau range tertentu.
1. LIKE dan NOT LIKE2. BETWEEN3. LIMIT4. INNER JOIN5. LEFT JOIN6. RIGHT JOIN7. UNION8. UNION ALL9. Sub-Query
S1 Teknik Informatika - Unijoyo 16
1. 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 adalahselect kolom1, kolom2, […] FROM NAMA_TABELWHERE kolom_tabel LIKE %string%;
NOT LIKE merupakan lawan dari LIKE. Semua data yang masuk kriteria LIKE secara otomatis tidak masuk kriteria NOT LIKE.
2. 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_TABELWHERE nama_kolom BETWEEN nilai1 and nilai2;
3. LIMIT memungkinkan pembatasan jumlah record yang diambil dari database. Sintaks:
select kolom1, kolom2, […] FROM NAMA_TABEL LIMIT jumlah_limit;
S1 Teknik Informatika - Unijoyo 17
4. 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
5. LEFT JOIN Suatu LEFT JOIN mengembalikan semua baris sisi kiri kondisional
bahkan jika tidak ada sisi kanan yang memenuhi sekalipun
6. RIGHT JOIN Suatu RIGHT JOIN akan menampilkan baris-baris sisi kanan kondisional
yang memenuhi atau tidak memenuhi kondisi.
S1 Teknik Informatika - Unijoyo 18
7. 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_TABELUNIONselect kolom1, kolom2 FROM NAMA_TABEL;
8. 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
9. 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_TABELWHERE kolom_tabel = (select kolom1, kolom2, kolom3 […] FROM NAME_TABEL_LAIN);
S1 Teknik Informatika - Unijoyo 19
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 20
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 21
Urutan operasi-operasi data menggunakan PHP1. Membuat koneksi ke database2. Mendeklarasikan suatu variabel string yang berisi sintaks
perintah MySQL yang akan dilakukan3. Melaksanakan sintaks MySQL menggunakan fungsi untuk
menghasilkan output yang akan ditampilkan. Hasil ditampung di dalam variabel yang telah dideklarasikan sebelumnya.
4. Mengambil hasil dari sintaks MySQL yang dilaksanakan dengan menggunakan fungsi-fungsi mysql_fetch_row(), mysql_fetch_array(), mysql_num_rows(), dan lain-lain (bergantung pada format output yang diinginkan).
Keterangan:
Contoh penggunaan operasi-operasi tersebut akan dijelaskan lebih detail di dalam pembahasan yang ada pada handout berikutnya.
S1 Teknik Informatika - Unijoyo 22
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)
S1 Teknik Informatika - Unijoyo 23
Tampilan awal PHPMyAdmin
S1 Teknik Informatika - Unijoyo 24
PHPMyAdmin – Membuat Database
Langkah-langkah membuat database:1. Di halaman awal PHPMyAdmin, masukkan
nama database, misalnya db_company pada isian Create new database
2. 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 25
PHPMyAdmin – Pembuatan Tabel Langkah-langkah pembuatan tabel:
1. Pada menu HOME, pilih nama database yang akan ditambahkan tabel di dalamnya. Misalkan nama database adalah db_company.
2. Pada bagian Create new table on database db_company, masukkan nama tabel, misalnya EMPLOYEE dan jumlah field (kolom)-nya adalah 3. Klik Go.
3. Tentukan nama ketiga field berikut tipe datanya.
S1 Teknik Informatika - Unijoyo 26
4. Klik Save. Jika pembuatan tabel berhasil, maka akan muncul pesan seperti berikut ini:
S1 Teknik Informatika - Unijoyo 27
PHPMyAdmin – Memasukkan data Langkah-langkah memasukkan data:
1. Pada sisi kiri (menu HOME), terdapat nama database db_company dan tabel-tabel di dalamnya. Klik tabel yang akan dimasukkan datanya, misalnya tabel EMPLOYEE.
2. Terdapat link Browse, Select, Insert, Empty, Drop. Untuk memasukkan data, klik link Insert. Pada halaman entri data, masukkan data yang diinginkan pada kolom kanan.
3. 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.
4. Klik Go.
S1 Teknik Informatika - Unijoyo 28
PHPMyAdmin – Mengedit dan menghapus data
Langkah-langkah untuk mengedit (meng-update) dan menghapus data:1. Klik link Browse atau Select pada tabel yang akan diubah atau
dihapus datanya2. Data ditampilkan dalam bentuk tabel dan pada sisi kirinya
terdapat link Edit dan Delete3. Untuk menghapus data, klik Delete dan jawab OK sebagai
konfirmasi4. 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 29
Summary 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 30
Daftar Pustaka Husni [2007]. Pemrograman Database
Berbasis Web, Graha Ilmu, Yogyakarta. Sutarman, S.Kom [2003]. Membangun Aplikasi
Web dengan PHP dan MySQL, Graha Ilmu, Yogyakarta.
http://www.mysql.com