·
·
Akses
Akses
Database
Database
Tujuan
Tujuan
Praktikum
Praktikum
Pr
Pr aakktikantikan mampu memmampu membbuatuat
a
a
p
p
likasi
likasi
yang terkoneksi dengan databaseyang terkoneksi dengan databaseMySQ
MySQ
LLPengantar
Pengantar
DDaattabaseabasemmeer r upakan kumpulan dataupakan kumpulan data--data yang ddata yang diisisimpmpan secara sistematisan secara sistematisdadann ddapatapatdiodiollahah
denga
denga
nnm
m
e
e
n
n
gguna
gguna
k
k
an
an
ppr r ogram apogram apllikasi untuk ikasi untuk menghasilkan informenghasilkan informasi. masi. Perangkat Perangkat lunak pengolalunak pengolah dh databaseatabasedi
disesebbuutt dengan dengan DBMS DBMS (Database(DatabaseMManagementanagement SysteSystemm). DBMS). DBMSmerumeruppakan system peakan system per r angkatangkatllunakunak y
yaanngg
me
me
m
m
ung
ung
kkiinnkan usekan userruntuntuukk memelimemelihhara
ara
,,memenngogonntroltrol,, dan mengaksesdan mengaksesddata denganata denganm
m
ud
ud
a
a
h
h
ddanan eefifi
sie
sie
nn.. DDeenngan mengggan mengguunanakkan DBMS makaan DBMS maka akaakann mencegah mencegah terjadinya terjadinya redudaredudannssii ddataata ddaanni
i
nk
nk
ons
ons
iissttens
ens
iiddaatta.a. SQLSQL memeruprupaakkanan BBaahhasaasa stanstanddar dalam basisar dalam basisddaatata atau database yang digatau database yang digununakanakanuntuuntukk
me
me
lalakukkukaannm
m
aannipu
ipu
llasiasi ddaatta.a. HHamper seamper semmuauaDB
DB
MS
MS
menggumenggunnakaakannSQL sebagaiSQL sebagaifas
fas
iililittasasun
un
ttuuk
k
ma
ma
nnipulasipulasii ddaattaa..Sal
Salaah sh saatutu QQuueryeryLLanganguauaggeeadadaalah DMLlah DML((DDataata ManipuManipulalattiioonn
Languag
Languag
ee)).. DML mDML meerupakanrupakanbbaahhasaasann yangyangdi
di
g
g
un
un
a
a
k
k
a
a
n
n
uuntukntuk mmemanemanipulasi dataipulasi data(m
(m
en
en
a
a
mp
mp
ilkan,
ilkan,
memenanammbah, mbah, meengedit, danngedit, danm
m
eeng
ng
hhaapus
pus
)).. 1.1. MembacaMembaca//
m
m
eenanammppililkkanandadattaaSE
SELLEECCTT d d aa ftar_field_y ftar_field_yang_ak ang_ak aan_ditampilkann_ditampilkan
k
k eriter eriter iiaa _ _ datadata _yan _yan g g _ _ aakankan _ _ ditampditampiilkan]lkan]
FROM
FROM nama_tabelnama_tabel [WHER[WHEREE
2
2..
M
M
e
e
n
n
a
a
mbah d
mbah d
aattaaIN
INSESERRTT INTOINTO nama_ nama_ t t abel abel (field1,field (field1,field 22 , ,...).) VAVALLUESUES (value(value 1,1,value2,value2, ...).) 3
3.. MMeenngegedditit ddataata
UP
UPDD ATE ATE namnama_a_tabtabelel SETSET field field 11==valuevalue11 , , fiel field2d2==value2value2 , ,... [WHERE[WHERE krikri teria]teria]
4.
4.
M
M
e
e
n
n
g
g
h
h
apus
apus
ddataataDE
DELLEETTEE FROMFROMnamanama _ _ tabeltabel [WHER[WHEREE kriteria]kriteria]
Sa
Sallaahh sasattu contohu contoh dadar r ii
data
data
bbase adalase adalahahMMySQL.ySQL.MySQLmerupakaMySQLmerupakannsebuahservesebuahserverrdatabasedatabasey
y
a
a
n
n
g
g
ooppenensou
sour r ce yace yanng mampu menangani database yag mampu menangani database yanngg kkompleksompleks
d
d
a
a
n
n
cucukkup besar serta biasa digunakanup besar serta biasa digunakanbe
ber r bagaibagai
a
a
p
p
likasi
likasi
wwebeb.. MySQL MySQL berfungsi berfungsi sebagaisebagaiSQLSQL (Structu(Structur r ed Queryed QueryLanguage)da
Language)da
n
n
uumummumnynyaadi
di
gu
gu
n
n
a
a
k
k
an
an
b
b
ersamaan
ersamaan
dedenngan Pgan PHHP. BeP. Bebberapaerapa kekellebihan dar ebihan dar iiMySQ
MySQ
LLadala
adala
hh::1.
1. OOppen sourceen source
2.
2.
M
M
uulltiuser tiuser3. Stabi
3. Stabill
p
p
ada berbagai system
ada berbagai system
operasioperasi4.
4. FleksiFleksibbeelldadallam beam ber r bagai pemrogramanbagai pemrograman 5
5.. Secur Secur ity bity baikaik
6
Welcomelo XAMPP lor Wi11dows.!
c~t.ttt:lo ..s;
Y011lillii\l't,SUC(ffSl\lllyiMUtlfd XANPP.. tMs S,,Stf,MI
-
"
~--
(SJ
XAMPPfiir
Windows~:--.::..:··=·..::·-...,~-·><.,_,_t.,. ..,...,..._..,,.,..,...-."""~,..,...., ~----~ ..~r.,.,-..,.._...•.
• t 11-,t ,..,..•....,,_ .*" .,, _OI~~"'"'° .,• "• -"'I.~ loll iP1 fl.
7. Per kembangan softwar e cepat Beber apa fitur -fitur MySQL:
1. R
ela
tio
nal Datab
ase System2. Ar sitektur Clie
n
t-Server3. Mengenal perintahSQL
stand
arWeb ser ver merupakan per angkat lunak yang memberi layanan
d
ata danbe
rfungsim
enerimapermintaan HTIP atau HTIPSdar i klien serta mengirimkan kembali hasilnyadalam bentuk hala
m
anweb yang umumnya ber bentuk dokumen HTML. Webserver yang umum digunakan adalah Apache.
Dalam modul 2 ini akan diba
ha
smengenai pembua
tan aplikasi yang terkoneksi denganda
taba
seMySQLmenggunakan
PHP.Perangkat
Prak
t
ikum
XAMPP Notepad++ Browser Chrome
lnstruk
s
i
Prak
t
ikum
Membuat database
1. L
ang
kah pertama yang harus dilakukan adalah membuat database.Seb
elum itu, instalkandahulu XAMPPpada computer anda.
Kemudian akses
"localhost/xampp"pada
web browser.EJ:t,:.MPPl.l.l
-
..
.. c ~kXalhost "' """ ....
[SJ
X AMPP
for
W
i
ndows
·
2. Untuk memulai membuat
database,
pilih Php
MyAdmin.Berikut
adalah tampilantolrvla..o!'I • perfurmance _schema llo. • phpmyadmln cdcol • te,t • wabau!h lltor r p«form phpl'l"l) test WG ba.rt t..._ Chec :t Ena ble (D No , ...., localhost.1127.0.ll1 I pt, p x \
+- C I'localho,\ •1s pff bn\M(t •Utar
~
lhtM.
.
·Gt<-'
,,..i.
•tl'>o
U
/
1
T/A0.1
1p
t'
M'C==================================
::
-::
«!JI.
e,JUl.U.1
&~"" ,8SOL .~. p,.,...-. ,p£rw 5::....,, gs..,. lbSf • ... 1
~
· vv•"*" wcti..li•" w,,u11A.,ll Ar<•"t1•lil1u)
.
• I"
M"
Ol"
'l"UOOl'I _ UMl't'lic-.,
s_
"°
ff!ts.tv•(~oontlNCD~
-ct APPNr •.nc•Setlinv• o.t.bl.ffMrY« • Sar.-...- 12,001 "411(PIP •9ol• ¥•My$0L •S,o,hi-~
" S'1·MvSOLComm!AllyS.rv•r lGPll • ""~Ml .r.OMC:.. _ 1S11 •.
• p,.t,.P."'!'fdmon _ tc"to'l'I• ... t.11,llh f' ...,.., ,•..,.... . )"
"-"''>-
•S.,....,(....,
,tt
U1T.atNc.oCM1.11ffl) •NW!f tilrt t2, ,CMnttliri91 Web1erver •~~•Jct."111l210o tf'ISSlJ10.1(PHP,'~47 •Ombtt•~
\f>fll011llhnlv•d·~S010·201t102G·Sld·bOb lb1Sc£tJ1:i 1tt.-3 .. Gr.t4S~ dl~17!i•lt &
·PHP
•~
ffl"J"tqlil) php....A.... n •O,o.c,wtit11m ,~ •"--Wollll'I!- )~22 .o,s.._.,.~i* .c.«,t>-lh-•• •Utlolcti1 11gn php alW( IOl"l . Q ..W...'.R ~G(IM .( .O .M ..ll _ 'l1 .1 ."' r x•..-M ,.. I N ll-, .ll -'IIII0 .1 .1 _ 11 ..,......, a.1"•NI.. W~pr-MOMa«OW!l.YNll!,SULMr\. .i11...,..,~W.!1111Vl(et11illlO~ll
3. Sekar ang pilih
Database
,Kemud
ian isikan nama database yang akan kita buat. Dalampr aktikum ini kita ambil contoh database karyawan, maka kita
ke
tikkan pada bagianCrea
teDatabase"datakaryawan", lalu pilih Create.
+- C ) localhosttphpm,aam n/
!1;11V~.o=A~I~~~~~~~~~~~~~~
@:0111abasu J:iSQL
•
-"' i:llUse<s ~Export ~lmpon gs.ttings '!;!Synetvon;ze , R ,Ii!> Databases
J
(Roconttablos) .·I
~ C1@ale database © • cdcci • mfor mationschema • mysql - jdatal<ar\a~an :~Cc,=la=•=·"'
~---
0'G~ata j tAboa -r>Chotk Pnt~s ut.c!f _ lschema ~ 0-e='t Pr,· b~sanoo ~ma ~ 0-etJC Pr\'logos.
adrnn t?OtotJCPr*\t~s.
n 9 Ch•~ Pr ,t99&s
To&al~7
k Al I Und,ecltIll W l ,.se!e<ted· O<;[ln,p
S1a1k lla
lt: Enabli'lg m., datab~ stadsd« hwom•gtncauseh~ tratltbOM1GonthoW';bs.e,v9r and t ht M
4. Langkah selanjutnya adalah membuat tabel pada database
karyawan
yang telah kita buatpadalangkah sebelumnya.Untuk membuat ta
bel
, bisa dilakukandengan klik pada databaseyangtelah kita buat
(datakar yawan),
pilihStruc
tur e, laluisikan nama tabel yang akan dibuatpada bagian
Name
, danmasukkan
jumlah kolom tabe
lpada bagian Number
ofColumns.
Selainitu
dapat
puladengan menggunakan
syntaxSQL. Dalam pr aktikum ini, kita akan membuattabel dengan
menggunakan
syntax
SQL. Pilihda
tab
ase yang telah dibuat(d
atakaryawan),CREATE TABLE IF NOT EXISTS 'karyawan· ( 'id' int(ll) NOT NULL AUTO_INCREMENT, 'nama' varchar(SO) NOT NULL,
'jenis_kelamin' enum('Laki-Laki', 'Perempuan') NOT NULL,
'alamat' varchar(lOO) NOT NULL, 'no_hp' varchar(12) NOT NULL, PRIMARY KEY ('id')
) ;
Kemudian klikGo. Maka tabel karyawan telah
dibuat
dengan jumlah filed 5.Membuat koneksi ke database
Setelah pembuatan
da
tabaseselesai, kita lanju
tkan dengan pengkoneksian kedatabase. Halini ber guna, agar pr ogram atau
aplikasi
yang akandibuat
dapat menggunakan databasesebagai penyimpanan
datany
a. Untuk membuat koneksi kedatabasein
i, buat file php, misaldengan
nama "connect.php" yang berisikanscr ipt ber iku
t:<?php $dsn $user $pass try {
"mysql:dbname=datakaryawan;host=localhost";
"root";
1111 •
'
$dbh = new PDO($dsn, $user, $pass); catch (PDOException $e) {
echo "Koneksi ke database gagal: ".$e->getMessage(); ?>
Untu
k
menguji apakahda
tabasesudah
ter koneksi, maka silahkan buka browser , ketikkanMembuat aplikasi CRUD
Sekar ang kita mulai membuat program. Seper ti yang telah dijelaskan dalam pengantar
pr aktikum
mod
ulin
i, kitamenggunakan bahasa SQL DML (Data Manipulatio
n Language)y
aitumenampilkan
(read
), menambah (cr eate),m
enge
dit (upd
ate), danmenghapus(d
elete) data.1. Meginputkan data (Cr eate)
Buat file php dengan namainput.php. file ini
ber guna
untukme
namp
ilk
an halaman inputdata
karya
wan. Ber ikutscrip
tnya:<hl align="center">Input data Karyawan</hl>
<fieldset style="width: 50%; margin: auto;">
<legend>Form Input Data Karyawan</legend>
<form action="simpan.php" method="post">
<p>
Nama Lengkap
</p>
<p>
<input type="text" name="nama" required/>
Jenis Kelamin
<input type="radio" name="jenis_kelamin" value="Laki•
Laki" id="laki-laki" /><label for="laki-laki">Laki-Laki</label>
<input type="radio" name="jenis_kelamin"
value="Perempuan" id="perempuan" /><label for="perempuan">Perempuan</label>
</p> <p> </p> <p> </p> <p> Alamat Lengkap
<textarea name="alamat" cols="50" required></textarea>
Nomor Handphone
<input type="text" name="no_hp" required/>
<input type="submit" value="Simpan" />
<input type="reset" value="Reset" onclick="return
confirm('hapus data yang telah diinput?')">
</p>
</form>
</fieldset>
<center><a href="index.php">« Tabel Data Karyawan</a></center>
Selanjutnya ,
un
tuk dapatmenyimpan data karyawan
yangkita inputkan, buat file<?php
include 'connect.php';
if (isset($_POST)) {
$sql = "INSERT INTO karyawan VALUES (' ', '$_POST[nama] ',
'$_POST [jenis_kelamin] ', '$_POST[ alamat] ', '$_POST[ no_hp]' ) ";
$dbh->exec($sql); }
head
e
r("lo
cat
ion:in
d
ex.php");
?>
In put data Karyawan
Fronlup1.0...ldn._ il.---,
:s
-
~
---...~Ill.
2. Menampilkan data (Read)
Untukmena
mp
ilkan
/ meliha
tdata karyawan
y
an
g
telahd
isim
p
an
pada
data
b
ase
,bu
atlah
fil
e
in
de
x.php denga
n
scrip
tb
erikut:<?
ph
pinclude
'con
nec
t.
p
hp'
;?>
<sty
le
>tbody >
tr
:nth-ch
ild(2n+
l} >td, tbody
>tr
:nth-c
hild(
2n+
l} >th {
}
bac
kground
-co
lor:
#ed
e
ded;
table{
width:
70
%
;margin: auto;
border
-collap
se
:co
llap
se
;box-shadow: darkgrey
3px;
}thead tr {
background-color:
#
36
c2ff
; } </s
tyl
e>
<hl align="center"
>Tabel Data
Karyawan</
hl><
cent
er
><a hr
ef
="inp
ut.php"
>Input Data Karyawan
»</
a></
center>
<table border
="l"> <thead
>$sql ="SELECT* FROM karyawan ORDER BY id";
$no = 1;
foreach ($dbh->query($sql) as $data)
?>
<tr>
?>">edit</a>
<td><?php echo $no++; ?></td>
<td><?php echo $data['nama') ?></td>
<td><?php echo $data['jenis_kelamin'] ?></td>
<td><?php echo $data['alamat'] ?></td>
<td><?php echo $data['no_hp'] ?></td>
<td align="center">
<a href="edit.php?id=<?php echo $data['id')
<a href="hapus.php?id=<?php echo $data['id') ?>"
onclick="return confirm('Anda yakin akan menghapus
data?')">hapus</a> </td> </tr> <?php endforeach; ?> </tbody> </table>
Berdasar kan
script di atas,dihasilkan
tampilanb
er ikut:[;;)1oc:,1116tt/C11QDl)lll'Mlto)I
---
-=+- C Jlocahost -t.,·"''}IN,n/1 I~ ~
Tabel Data Karyawan
3. Mengupdate data (Update)
Setelah
d
ata dalam database ber hasild
itampilkan, dan jika adad
ata yang ingin kita ubah,maka kita lakukan pengeditan data. Buat file
ed
it.php dengan scr ipt be
r ikut:<?php
include 'connect.php';
if (isset($_GET['id'))) {
$query $dbh->query("SELECT * FROM karyawan WHERE id
'$_GET[id) '");
$data = $query->fetch(PDO::FETCH_ASSOC);
echo "ID tidak tersedia!
ca href='index.php'>Kembali</a>"; exit();
}
if ($data=== false) {
echo "Data tidak ditemukan!
ca href='index.php'>Kembali</a>"; exit();
}
?>
chl align="center">Edit Data Karyawanc/hl>
cfieldset style="width: 50%; margin: auto;">
clegend>Form Input Data Karyawanc/legend>
cform action="update.php" method="post">
<input type="hidden" name="id"
$data['id'); ?>"
I
><p>
value="c?php echo
Nama Lengkap
<input type="text" name="nama" required value="c?php
echo $data['nama'J; ?>"/>
</p>
<p>
Jenis Kelamin
c?php if ($data['jenis_kelamin'] === "Laki-Laki") : ?>
<input type="radio" name="jenis_kelamin" value="Laki•
Laki" id="laki-laki" checked /><label for="laki-laki">Laki•
Laki</label>
<input type="radio"
value="Perempuan" id="perempuan"
for="perempuan">Perempuanc/label>
c?php else : ?>
name="jenis_kelamin" /><label
<input type="radio" name="jenis_kelamin" value="Laki•
Laki" id="laki-laki" /><label for="laki-laki">Laki-Laki</label>
<input type="radio"
value="Perempuan" id="perempuan"
for="perempuan">Perempuanc/label>
c?php endif; ?>
name="jenis_kelamin"
checked /><label
</p> <p>
Alamat Lengkap
<textarea name="alamat" cols="50" required><?php echo
$data['alamat']; ?></textarea> </p>
<p>
Nomor Handphone
<input type="text" name="no_hp" required value="c?php
echo $data['no_hp'J; ?>" />
</p>
<input type="submit" value="Simpan" />
<input ty pe="reset" value="Reset" onclick ="retur n
confirm('hapus data yang telah diinput?')">
</ p>
</form> c/fieldset>
ccenter ><a href ="index.php">« Ta bel Data Karyawanc/a></center >
Data-data dalam database dapat diubah seluruhnya kecuali Pr imary K ey, k arena ber sifat
Unique. Selanjutnya buat fileu pdate. ph p yang bertugas untuk mengupdate data yang telah
kita edit. Ber ikut script update.ph p:
c?php
include 'connect.php';
if (isset($ _ POST)) {
$sql = "UPDATE k aryawan SET nama = '$ _ POST[nama]',
jenis _ kelamin =
'$ _ POST[ jenis _ kelamin]',
$dbh->exec($sql);
alamat = '$ _ POST[alamat]',
no _ hp = '$ _ POST[no _ hp]'
}
header ("location:index.ph p");
?>
4. Menghapus data (Delete)
Yang ter ak hir, jik a kita ingin mengha pus data yang ada pada database, digunakan delete.
Berikut syntaxnya:
c?php
include 'connect. php';
if (isset($ _ GET('id'])) {
$dbh->exec("DELETE FROM k ar yawan WHERE id '$ _ GET[id]'");
}
header("location:index.php")