Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk...

26
Koneksi dan Manipulasi Basis Data Adam Hendra Brata Pemrograman Web

Transcript of Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk...

Page 1: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Koneksi dan Manipulasi Basis DataAdam Hendra Brata

Pemrograman Web

Page 2: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Koneksi Database pada Aplikasi Berbasis Web

MySQLi Pengenalan MySQL dan MySQLi

Dasar SQL pada MySQLi

Koneksi dan Manipulasi MySQLi dengan PHP

Koneksi dan Eksekusi Query MySQLi dengan PHP

Query CRUD

Pokok Bahasan

Page 3: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Koneksi Database

Page 4: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Bayangkan situs dan aplikasi web yang setiap hari kita akses, disana terdapat berbagai macam informasi yang disimpan. Bagaimana situs tersebut dapat menyimpan berbagai informasi itu ?

Aplikasi Web Modern

Page 5: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Situs tersebut menggunakan bantuan basisdata untuk menyimpan informasi

Aplikasi Web Modern

Page 6: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

MySQLi

Page 7: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Koneksi Database pada PHP

Page 8: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

MySQL merupakan server basis data yang menggunakan teknik relasional untuk menghubungkan antara tabel-tabel dalam basis data

MySQL dikeluarkan secara gratis dibawah lisensi GNU General Public License (GPL) seperti halnya PHP, sehingga tepatlah kiranya bila MySQL dijodohkan dengan PHP untuk merancang halaman web yang gratis namun handal

MySQL

Page 9: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

MySQL pada dasarnya juga memakai syntax dasar Structured Query Language (SQL) yang sama dengan DBMS lain yang memakai SQL sebagai dasar operasinya

Struktur syntax dasar MySQL sama saja dengan DB2 yang sudah teman – teman pelajari, baik dari Data Definition Language (DDL) dan Data Manipulation language (DML)

MySQL

Page 10: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

PHP memiliki 3 cara utama untukberkomunikasi dengan database MySQL

MySQL Extension (deprecated)

MySQLi Extension

PDO (PHP Data Object)

Catatan MySQL Extension hanya mendukung

penulisan kode program dengan sistemstructural

MySQLi Extension mendukung penulisankode program dengan sistem structural maupun berorientasi objek

PDO hanya mendukung penulisan kodeprogram dengan sistem berorientasi objek

Koneksi Database pada PHP

Page 11: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek
Page 12: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

MySQLi = MySQL Improved Extension Menawarkan fitur yang lebih baik dan lebih

powerfull daripada MySQL extension biasa

MySQLi

Page 13: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

MySQL Extension Vs MySQLi ExtensionMysql

<?php

$link = mysql_connect(‘localhost’

, ’user’, ’password');

if (!$link)

{

die('Could not connect: ' .

mysql_error());

}

echo 'Connected successfully‘;

$db_selected =

mysql_select_db(‘dbname',$link);

mysql_close($link);

?>

Mysqli

<?php

$link = mysqli_connect(‘localhost

’, ’user’, ’password‘,’dbname’);

if (!$link)

{

die('Could not connect: ' .

mysqli_connect_error());

}

echo 'Connected successfully';

mysqli_close($link);

?>

Page 14: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Data Definition Language

digunakan untuk mendefinisikan struktur atau skema basis data

CREATE

digunakan untuk membuat objek –objek basis data

ALTER

digunakan untuk merubah sktruktur dari objek – objek basis data

DROP

digunakan untuk menghapus objek – objek basis data

TRUNCATE

digunakan untuk menghapus semua data pada basis data berikut dengan memori yang digunakan

Dasar SQL

Page 15: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Data Manipulation Language

digunakan untuk melakukan pengelolaan data dalam objek – objek skema basis data

SELECT

digunakan untuk melakukan pembacaan data dari basis data

INSERT

digunakan untuk menambahkan data ke dalam tabel

UPDATE

digunakan untuk melakukan perubahan terhadap data yang sudah ada dalam tabel

DELETE

digunakan untuk menghapus data yang sudah ada dalam tabel

Dasar SQL

Page 16: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Data Control Language

digunakan untuk mengontrol autoritas akses dalam basis data

GRANT

digunakan untuk memberikan pengguna kemampuan akses ke dalam basis data

REVOKE

digunakan untuk membatalkan akses ke dalam basis data yang sudah diberikan melalui perintah GRANT

Dasar SQL

Page 17: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Transaction Control Language

digunakan untuk melakukan pengelolaan perubahan pada basis data yang dilakukan melalui DML, TCL memungkinkan beberapa perintah dikelompokkan bersama dalam transaksi logikal

COMMIT

digunakan untuk melakukan pemastian penyimpanan data

ROLLBACK

digunakan untuk memutar ulang kondisi basis data ke kondisi setelah dilakukan perintah COMMIT sebelumnya

Dasar SQL

Page 18: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Koneksi dan Manipulasi MySQLi dengan PHP

Page 19: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Untuk dapat melakukan koneksi MySQL pada PHP, sebelumnya mari kita lakukan beberapa langkah berikut :

Buat basis data yang akan digunakan

Tulis script PHP untuk menghubungkan web yang kita buat dengan basis data yang akan digunakan

Tulis script PHP untuk melakukan manipulasi terhadap basis data yang sudah dihubungkan

Koneksi MySQLi pada PHP

Page 20: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Kebutuhan : Alamat IP / nama server database

Username dan password

Nama database

<?php

$link = mysqli_connect(‘localhost’, ’user’,’password‘,’dbname’); if (!$link){

die('Could not connect: ' .mysqli_connect_error());

}echo 'Connected successfully';

mysqli_close($link);

?>

Koneksi MySQLi pada PHP

Page 21: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

<?php

$host = '127.0.0.1'; // localhost$db = 'test';

$user = 'root';

$pass = ""; // the password is an empty string

if($con = mysqli_connect($host, $user, $pass, $db))

{

$sql = "..."; // put your query here...

$result = mysqli_query($con, $sql );

}

mysqli_close($con);

?>

Eksekusi Query MySQLi pada PHP

Page 22: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Memasukkan data / informasi melalui variabel / form ke dalam tabel di dalam database MySQL

$sql = "INSERT INTO bukutamu (nama, email, pesan)

VALUES( '$nama', '$email', '$pesan' );

Query CREATE / INSERT

Page 23: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Mengambil data / informasi dari dalam tabel di dalam database MySQL

$sql = "SELECT nama, email, pesan

FROM bukutamu;“

Fetch array dari query result

while($row = mysqli_fetch_array($result))

{

echo "<p>" . $row['nama'] . " – ";

echo "$row['email'] . " – ";

echo "$row['pesan'] . "<p>";

}

Query RETRIEVE / SELECT

Page 24: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Memperbarui data/informasi pada tabel di dalam database MySQL

$sql = "UPDATE bukutamu

SET nama = '$nama', email = '$email',

pesan = '$pesan' WHERE id = '$id';"

// $id adalah PRIMARY KEY pada tabel

bukutamu

Query UPDATE

Page 25: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Menghapus data/informasi/baris pada tabel di dalam database MySQL

$sql = "DELETE FROM bukutamu

WHERE id = '$id';"

// $id adalah PRIMARY KEY pada tabel bukutamu

Query DELETE

Page 26: Rekayasa Perangkat Lunak · PDF fileKoneksi Database pada Aplikasi Berbasis Web ... untuk merancang halaman web yang gratis ... program dengan sistem berorientasi objek

Terimakasih dan Semoga

Bermanfaat ^^