Anda di halaman 1dari 35

Modul

Membuat WEB Dinamis


Menggunakan PHP &
MySQL

Bahan Ajar SMK RPL


Oleh Nur Azizah
2013
Daftar Isi
1. Basis Data ................................................................................................................................................................... 2
1.1 Konsep Dasar Basis Data ............................................................................................................................ 2
1.2 Komponen Basis Data.................................................................................................................................. 2
1.3 Tujuan Basis Data.......................................................................................................................................... 2
1.4 Hierarki Basis Data ....................................................................................................................................... 2
1.5 Tipe Atribut/Field ......................................................................................................................................... 3
2. MySQL .......................................................................................................................................................................... 4
2.1 DDL (Data Definition Language) ............................................................................................................. 5
2.2 DML (Data Manipulation Language) .................................................................................................. 10
2.2.1 Insert...................................................................................................................................................... 10
2.2.2 Select ...................................................................................................................................................... 12
A. Distinct ....................................................................................................................................................... 13
B. Order By .................................................................................................................................................... 14
C. Where ......................................................................................................................................................... 15
D. Where (Like) ........................................................................................................................................... 16
E. Where (Between) .................................................................................................................................. 17
2.2.3 Update ................................................................................................................................................... 18
2.2.4 Delete ..................................................................................................................................................... 19
2.3 Join Tabel ....................................................................................................................................................... 19
3. PHP (Hypertext Preprocessor) ...................................................................................................................... 23
3.1 Perintah Dasar PHP ................................................................................................................................... 23
3.1.1 PHP Dalam HTML ............................................................................................................................. 25
3.1.2 HTML Dalam PHP ............................................................................................................................. 25
3.2 Perintah Membuat Waktu di PHP........................................................................................................ 25
3.3 Struktuk Kontrol Pada PHP .................................................................................................................... 28
3.3.1 Pengulangan ....................................................................................................................................... 28
3.3.2 Kondisional ......................................................................................................................................... 29
3.4 Modular dalam PHP................................................................................................................................... 32
3.4.1 Include................................................................................................................................................... 32
3.4.2 Require.................................................................................................................................................. 33
4. PHP MySQL ............................................................................................................................................................. 33
4.1 mysql_connect("host","username","password"); ......................................................................... 33
4.2 mysql_select_db("nama database"); ................................................................................................... 33
4.3 mysql_query("pernyataan query") ..................................................................................................... 33
4.4 mysql_fetch_row($namavariabelquery); ......................................................................................... 34

Halaman |1
http://phinueisal.wordpress.com
1. Basis Data
1.1 Konsep Dasar Basis Data
Basis data (database) merupakan kumpulan dari data yang saling berhubungan
satu dengan yang lainnya, tersimpan dalam perangkat keras komputer dan digunakan
perangkat lunak untuk memanipulasinya. Basis data merupakan salah satu komponen
utama dalam sistem informasi, karena merupakan basis dalam penyediaan informasi
bagi para pemakai.

Contoh dalam kehidupan sehari-hari adalah penggunaan HP di mana pemilik HP


dapat menyimpan data kontak, sehingga tidak perlu dicatat secara manual.

1.2 Komponen Basis Data


1. Data, data tersimpan secara terintegrasi dan dipakai secara bersama-sama.
2. Hardware, perangkat keras yang digunakan dalam mengelola sistem database.
3. Software, perangkat lunak perantara antara pemakai dengan data fisik.
Perangkat lunak dapat berupa Database Management System dan berbagai
program aplikasi.
4. Brainware, sebagai pemakai system.

1.3 Tujuan Basis Data


Basis data dibangun untuk memenuhi tujuan dalam pengorganisasian data, yang
antara lain sebagai berikut :

1. Efisiensi meliputi kecepatan (speed), ruang simpan (space) dan keakuratan


(accuracy).
2. Menangani data dalam jumlah besar.
3. Kebersamaan pemakaian (Shareability).
4. Meniadakan duplikasi dan inkonsistensi data.
1.4 Hierarki Basis Data
1. Database merupakan kumpulan file-file yang berhubungan secara logis dan
digunakan secara rutin pada operasi-operasi sistem informasi manajemen
2. File atau tabel adalah kumpulan record yang sejenis dan secara logic

Halaman |2
http://phinueisal.wordpress.com
berhubungan
3. Record atau baris adalah kumpulan item yang secara logic saling
berhubungan. Setiap record dapat dikenali oleh sesuatu yang mengenalinya,
yaitu field kunci
4. Field atau kolom adalah unit terkecil yang disebut data.
5. Byte adalah bagian terkecil yang dapat dialamatkan dalam
memori. Byte merupakan sekumpulan bit yang secara konvensional terdiri
atas kombinasi delapan bit. Satu byte digunakan untuk mengkodekan satu
buah karakter dalam memori. Contoh: Kode Ascii untuk J ialah 10101010
6. Bit adalah suatu sistem angka biner yang terdiri atas dua macam nilai saja,
yaitu 0 dan 1

1.5 Tipe Atribut/Field


Jenis/tipe field harus dideklarasikan terlebih dahulu, tipe atribut di antaranya:
1. Text
2. Number
3. Date
4. Image
5. Char

Halaman |3
http://phinueisal.wordpress.com
Setiap field pun sebaiknya memilik panjang/lenght data. Hal tersebut berguna untuk
membatasi data yang dimasukkan dan tidak memakan memori lebih (misal: memori
kosong tidak terpakai karena panjang yang disediakan masih tersisa lebih dibandingkan
dengan panjang data yang dimasukkan)

2. MySQL
SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk
mengakses data dalam basis data relasional. Salah satu contoh dari DBMS atau
perangkat untuk mengakses basis menggunakan bahasa SQL adalah MySQL.

a) Dalam MySQL terdapat 2 tipe bahasa, yaitu:


1. DDL (Data Definition Language)
Contoh dari bahasa ini adalah mendefinisikan: pembuatan database, tabel,
menghapus tabel, dan mengubah tabel
Perintah dasarnya:
Create Database : membuat basis data
Create Table : membuat tabel
Format:
Create Table [nama tabel] (
[Nama_kolom] [tipe data](panjang isi) )
2. DML (Data Manipulation Language)
Adalah bahasa untuk memanipulasi data yaitu :
 Pengambilan informasi yang disimpan dalam basis data
 Penyisipan informasi baru ke basis data
 Penghapusan informasi dari basis data
 Modifikasi informasi yang disimpan dalam basis data
Perintah dasarnya adalah:
– SELECT : mengambil data tabel
– UPDATE : mengubah data tabel
– DELETE : menghapus data tabel
– INSERT INTO : menambah data tabel
Note!

Halaman |4
http://phinueisal.wordpress.com
1. Untuk nama tabel, database, atau kolom/field harus menggunakan _ (underscore) tidak ada spasi.
Kalaupun ingin menggunakan spasi, namanya harus diberikan tanda petik miring yang biasanya ada
di bawah tombol ESC.
Contoh:
Create database si_perpustakaan contoh yang betul
Create database si perpustakaan contoh yang salah
Create database `si perpustakaan` contoh yang betul

b) Atribut Kolom Tabel/Field


Terdapat beberapa tipe field di SQL, yaitu: Varchar, Char, Text, INT, Date
Selain tipe kolom, terdapat atribut lain yang harus dilengkapi dalam sebuah
field/kolom, di antaranya:
1. Not NULL : Tidak boleh kosong
2. Unique : Tidak boleh ada yang sama/duplikat
3. Primary Key : Tidak boleh duplikat juga, tapi ini dapat dijadikan kunci penting
dalam sebuah tabel. Contoh: dalam tabel SISWA yang menjadi Primary Key
adalah NIS.

2.1 DDL (Data Definition Language)


Praktek 1
Praktek yang akan dilakukan adalah menggunakan aplikasi XAMPP. Pastikan Instalasi
XAMPP berjalan lancar, dan Control Panel MySQL running.

Ada 2 cara untuk menjalankan MySQL, berbasis CMD atau WEBbrowser.


a. CMD
Untuk menjalankan MySQL di CMD dapat dilakukan dengan cara:
2. Langsung ketikkan CMD di start (jika menggunaan Windows 7)

Halaman |5
http://phinueisal.wordpress.com
3. Ketikkan CD C:\ *jika XAMPP terinstal di C: \

4. Ketikkan cd xampp\mysql\bin

5. Setelah itu ketikkan mysql -u root

Keterangan:
Maksud dari xampp/mysql/bin adalah kita akan mengeksekusi MySQL,
sedangkan MySQL pada XAMPP terdapat di folder xampp/mysql/bin

Halaman |6
http://phinueisal.wordpress.com
Maksud dari mysql –u root adalah –u artinya perintah memanggil username
sedangkan root adalah username default/bawaan dari XAMPP.
6. Oke, sudah selesai. Sekarang dapat menjalankan perintah-perintah MySQL di
CMD

b. Web Browser
1. Buka Webbrowser (contoh chrome)
2. Ketikkan localhost/phpmyadmin di address bar

3. Maka akan muncul tampilan seperti di bawah

d
c

Keterangan:
a. Pada MySQL berbasis web ini kita dapat langsung membuat database
tanpa sintak SQL (namun untuk sekarang kita akan menggunakan sintak SQL)
b. Kumpulan database dalam server localhost
c. Menu dalam MySQL phpMyadmin
d. Menunjukkan bahwa belum ada database yang kita pilih
4. Silakan masuk ke Menu SQL
5. Ketikkan sintak untuk membuat database
CREATE DATABASE si_perpustakaan

Halaman |7
http://phinueisal.wordpress.com
6. Database si_perpustakaan telah dibuat, kemudi klik database tersebut

7. Di sana belum ada tabel yang dibuat.

Di sana dapat membuat tabel tanpa sintak SQL, hanya tinggal memasukkan
nama tabel dan jumlah kolom kemudian GO (dan isi nama field serta tipenya)
Contoh:

Namun untuk kali ini, akan dipraktekkan menggunakan sintak SQL untuk
membuat tabel dalam si_perpustakaan.
8. Masuk ke menu SQL kemudian buat tabel siswa
CREATE TABLE siswa (
NIS varchar(6) NOT NULL,
Nama varchar(20) NOT NULL,
JenisKelamin enum('L','P') NOT NULL,
Alamat text NOT NULL,
PRIMARY KEY (NIS)
)
Keterangan:
1. Not Null adalah atribut setiap field yang menyatakan tidak boleh kosong
2. Enum adalah tipe data pilihan, di mana di tabel di atas JenisKelamin hanya ada pilihan L
atau P
Halaman |8
http://phinueisal.wordpress.com
3. Setelah menjabarkan field, diakhir ditambahkan Primary Key (NIS) untuk menjabarkan
bahwa NIS adalah Primary Key dari tabel siswa

9. Setelah itu GO, maka akan tampil seperti:

Dalam database si_perpustakaan telah ditambahkan tabel siswa


10. Masuk ke SQL kembali, ketikkan
CREATE TABLE `buku` (
No_Buku varchar(6) NOT NULL,
JudulBuku varchar(40) NOT NULL,
Pengarang varchar(20) NOT NULL,
Penerbit varchar(20) NOT NULL,
TahunTerbit int(4) NOT NULL,
PRIMARY KEY (No_Buku)
)

11. Klik GO, maka akan ada 2 buah tabel yang telah dibuat.

12. Buatlah satu lagi tabel yang merupakan relasi antara buku dan siswa, yaitu
tabel peminjaman
CREATE TABLE peminjaman (
NIS varchar(6) NOT NULL,
No_Buku varchar(6) NOT NULL,
TanggalPinjam date NOT NULL,
TanggalKembali date NOT NULL
)

Halaman |9
http://phinueisal.wordpress.com
2.2 DML (Data Manipulation Language)
2.2.1 Insert
Insert adalah perintah SQL untuk memasukkan data ke dalam tabel. Struktur dasarnya
adalah:

INSERT INTO [nama tabel] VALUES [isifield1,isifield2,..]

Contoh memasukkan data ke dalam tabel siswa:


INSERT INTO siswa values ('123', 'azizah', 'P', 'bandung')
Keterangan:

isi tabel di atas harus berurut dengan kolom tabel (NIS, Nama, JenisKelamin, Alamat) dan juga
harus lengkap. Dalam artian, semua field tidak boleh kosong. Keempat field harus terisi.

Atau dengan cara:


INSERT INTO siswa (NIS, Nama) values ('123', 'azizah')
Keterangan:

Jika Field JenisKelamin dan alamat boleh kosong, cara yang lebih praktis adalah cara di atas. Yaitu
mendeklarasikan terlebih dahulu nama fieldnya kemudian isinya.

Jadi, dengan cara di atas isi field tidak harus selalu lengkap dan tidak harus berurut sesuai
dengan field tabelnya.

Untuk isi field/values tanda petiknya menggunakan petik satu (') biasanya dekat enter.

Praktek 2
1. Jalankan MySQL berbasis Web Browser
2. Masuk ke dalam database si_perpustakaan

3. Masuk menu SQL


4. Ketikkan sintak SQL, kemudian GO
INSERT INTO siswa (NIS, Nama, JenisKelamin, Alamat)
VALUES
('01234', 'Rizal Anshorullah', 'L', 'Jl. Pegadaian no.107')
Maka hasilnya:

H a l a m a n | 10
http://phinueisal.wordpress.com
5. Jika ingin mengisi lebih dari satu baris, caranya:
INSERT INTO `siswa` (`NIS`, `Nama`, JenisKelamin, `Alamat`)
VALUES
('01235', 'Arshal', 'L', 'Jl. Kepatihan no.34'),
('01236', 'Habib', 'L', 'Jl. Patenggangan')

6. Isi kembali tabel siswa dengan (di menu SQL):


INSERT INTO `siswa` (`NIS`, `Nama`, `JenisKelamin`, `Alamat`)
VALUES
('01237', 'Ramdhan', 'L', 'Jl. Air Tawar Padang'),
('01238', 'Vrilga', 'P', 'Jl. Cijeruk no.74'),
('01239', 'Wanodya', 'P', 'Jl. Bahagia no. 46'),
('01241', 'Kamil', 'P', 'Jl. Hanura no. 189'),
('01242', 'Haqisnan', 'P', 'Jl. Cocodetan no.35'),
('01243', 'Ratu Maulida', 'P', 'Jl. Baruajak no.26'),
('01244', 'Syakira', 'P', 'Jl. Ogoan no.3'),
('01245', 'Rivaldo', 'L', 'Jl. Turugtug no. 14'),
('01246', 'Variel Saputra', 'L', 'Jl. Sukses Makmur');

7. Isi tabel buku dengan mengetikkan di jendela SQL:


INSERT INTO buku (No_Buku, `Judul Buku`, Pengarang, `Penerbit`,
`TahunTerbit`) VALUES
('c0123', 'Algoritma dan Bahasa Pemrograman 1', 'Rinaldi Munir',
'Informatika', 2006),
('c0124', 'Algoritma dan Bahasa Pemrograman 1', 'Rinaldi Munir',
'Informatika', 2007),
('c0125', 'Visual Basic', 'Nurhadi', 'Elexindo', 2009),
('c0126', 'Disain Website Dalam 1 Jam', 'Nur Azizah', 'Rosda', 2010),
('c0127', 'Petunjuk Jalan', 'Muhammad Qadafi', 'Mizan', 2010),
('c0128', 'Motivasi Kehidupan', 'Jamil Azzaini', 'Zaman', 2012),
('c0129', 'Algoritma dan Bahasa Pemrograman 2', 'Rinaldi Munir',
'Informatika', 2006),
('c0130', 'Algoritma dan Bahasa Pemrograman 2', 'Rinaldi Munir',
'Informatika', 2006),
('c0131', 'Visual Basic', 'Nurhadi', 'Alexindo', 2009),
('c0132', '7 Kunci Pintu Rezeki', 'Ipho', 'Zaman', 2008),
('c0133', '7 Kunci Pintu Rezeki', 'Ipho', 'Zaman', 2008),
('c0134', '7 Kunci Pintu Rezeki', 'Ipho', 'Zaman', 2008),
('c0135', 'Fisika Jilid 3', 'Edhi Basko', 'Airlangga', 2012),
('c0136', 'Fisika Jilid 3', 'Edhi Basko', 'Airlangga', 2012),
('c0137', 'Moga Bunda Disayang Allah', 'TereLiye', 'Mizan', 2008),
('c0138', 'My Stupid Boss', 'Edun', 'Derma', 2010),
('c0139', 'Cikeas', 'Robi', 'Republika', 2011);

H a l a m a n | 11
http://phinueisal.wordpress.com
8. Selanjutnya isi tabel peminjaman:
INSERT INTO `peminjaman` (`NIS`, `No_Buku`, `TanggalPinjam`,
`TanggalKembali`) VALUES
('01234', 'c0124', '2013-09-16', '2013-09-17'),
('01235', 'c0130', '2013-09-14', '2013-09-18'),
('01244', 'c0131', '2013-09-06', '2013-09-10'),
('01246', 'c0123', '2013-09-12', '2013-09-15'),
('01236', 'c0134', '2013-09-11', '2013-09-13'),
('01238', 'c0125', '2013-09-15', '2013-09-17'),
('01243', 'c0127', '2013-09-13', '2013-09-13'),
('01242', 'c0136', '2013-09-05', '2013-09-07'),
('01246', 'c0138', '2013-09-05', '2013-09-08'),
('01246', 'c0128', '2013-09-03', '2013-09-05'),
('01237', 'c0126', '2013-09-14', '2013-09-16'),
('01239', 'c0133', '2013-09-04', '2013-09-06'),
('01238', 'c0139', '2013-09-02', '2013-09-06');

2.2.2 Select
Select adalah perintah SQL yang berguna untuk mengambil data dalam database.
Perintah dasarnya adalah:

SELECT [nama field]


FROM [nama tabel]
WHERE [kondisi]
Select * digunakan untuk menampilkan semua field

Ingat , setiap perintah SQL kita ketikkan di jendela SQL!

H a l a m a n | 12
http://phinueisal.wordpress.com
Contoh:
Select * from siswa
Maka akan menampilkan

Contoh lain jika tidak akan menampilkan semua field


Select nama, alamat from siswa

Akan tampil: nama dan alamat saja.

A. Distinct
Distint adalah perintah select yang berguna tidak ada duplikasi data. Untuk lebih
jelasnya lihat contoh berikut:

Select `JenisKelamin` from siswa

Hasilnya adalah:

H a l a m a n | 13
http://phinueisal.wordpress.com
Namun jika kita ketikkan perintah:

Select distinct `JenisKelamin` from siswa

Hasilnya:

Jadi distinct tidak akan mengulang isi yang sama, dalam artian distinct hanya sebagai
perwakilan isi field yang sama.

B. Order By
Order By adalah perintah untuk mengurutkan isi tabel, berikut contohnya.

Select * from siswa order by nama


Maka akan diurutkan datanya berdasarkan nama:

Jika akan diurutkan secara Z-A hanya ditambah desc

Select * from siswa order by nama desc

H a l a m a n | 14
http://phinueisal.wordpress.com
C. Where
Where adalah klausa yang digunakan untuk membatasi sebuah perintah, terutama dalam
perintah select. Seperti contoh:

Contoh 1:
Select * from siswa where NIS='01234'

Hasilnya adalah akan menampilkan data siswa yang memiliki NIS 01234

Contoh 2:
Select * from siswa where NIS='01234' OR NIS='01235'

Maksud dari perintah di atas adalah menampilkan data siswa yang memiliki NIS 01234 atau
01235. Karena kedua NISnya ada, maka ditampilkan kedua-duanya.

Contoh 3:
Select * from siswa Where NIS>=01234 AND NIS<=01237
Maksud dari perintah di atas adalah menampilkan data siswa yang memiliki NIS 01234 ke atas
dan NIS 01237 ke bawah. Atau dalam kata lain di antara 01234-01237

Contoh 4:
Select * from siswa Where not NIS=01234
Maksud dari perintah di atas adalah menampilkan data siswa yang memiliki NIS selain 01234

H a l a m a n | 15
http://phinueisal.wordpress.com
D. Where (Like)
Like adalah operator yang berguna mencari data dengan kriteria tertentu, dengan
menggunakan wildcard, yaitu:

% (persen) artinya boleh 0, 1, atau lebih karakter

_ (underscore) artinya tepat satu karakter

Contoh
Pola Keterangan
'% a% ' Cocok dg apa saja yg mengandung karakter a
'%a ' Cocok dg yg berakhiran a
'a% ' Cocok dg yg berawalan a
'_zizah ' Ada tepat 1 karakter di depan
'__izah ' Ada tepat 2 karakter di depan

Contoh 1
Select * from siswa Where nama like 'r% '
Maka akan tampil nama yang berawalan R

Contoh 2
Select * from siswa Where nama like '%a'
Maka akan tampil nama yang berakhiran a
H a l a m a n | 16
http://phinueisal.wordpress.com
Contoh 3
Select * from siswa Where nama like '%v%'
Maka akan muncul nama yang mengandung huruf v

Contoh 4
Select * from siswa Where nama not like '%a'
Maka hasilnya adalah menampilkan data kecuali yang namanya berakhiran A. maka hasilnya
tidak ada yang berakhiran A

E. Where (Between)
Between adalah operator yang digunakan untuk menangani operasi jangkauan.
Perintah dasarnya adalah
SELECT namafield
FROM table
WHERE [namafield yang digunakan untuk syarat] BETWEEN nilai1 AND nilai2

Contoh 1
Select * from siswa Where NIS between '01235' AND '01238'
Maka hasilnya adalah menampilkan data siswa yang memiliki NIS antara 01235-01238

H a l a m a n | 17
http://phinueisal.wordpress.com
Contoh 2
Select * from siswa Where NIS not between '01235' AND '01238'
Maka hasilnya adalah menampilkan data siswa kecuali/selain yang memiliki NIS antara 01235-
01238

2.2.3 Update
Update adalah perintah SQL yang berguna untuk mengubah isi tabel yang memenuhi
kondisi pada WHERE.

Contoh:
Update siswa set nama='Syakira Ratu'
Jika perintah tersebut dijalankan, maka semua nama siswa makna berubah menjadi Syakira
Ratu!

Oleh karena itu, harus ada batasan mana yang akan di ubah. Seperti contoh dibawah:

Contoh 1

Update siswa set nama='Syakira Ratu' where NIS='01244'

Maka, hanya NIS 01244 yang berubah menjadi Syakira Ratu, di mana nama asalnya
adalah Syakira.

Contoh 2

Jika akan mengubah lebih dari satu field :

Update siswa set nama='Ratu Maulyda', alamat='Jl.Aceh no.26' where NIS='01243'

H a l a m a n | 18
http://phinueisal.wordpress.com
Maka yang asalnya Nama= Ratu Maulida alamat=Jl.Baruajak no.26 berubah sesuai
perintah.

2.2.4 Delete
Delete berguna untuk menghapus satu atau lebih baris/rekord sesuai kondisi pada
where
Ketika perintah delete tidak menggunakan where, maka semua data akan terhapus.
Misal:
Delete from siswa -> akan menghapus semua isi tabel siswa

Contoh 1
Delete from siswa where NIS= '01236'

Jika dijalankan, makan data siswa yang memiliki NIS 01236 akan terhapus, sebelumnya
akan ada konfirmasi kepastian menghapus dari MySQL

2.3 Join Tabel


Dalam sebuah basis data tentu dapat terdiri lebih dari 1 tabel. Terkadang dalam
pembentukan data tidak hanya berasal dari satu tabel. Oleh karena itu diperlukan
penggabungan tabel agar data yang dibutuhkan dapat ditampilkan.

Seperti contoh kasus si_perpustakaan. Terdapat 3 tabel, yaitu:

Tabel peminjaman ada karena ada tabel siswa dan buku. Pada tabel peminjaman hanya
terdapat NIS, No_buku, TanggalPinjam, dan kembali. Bagaimana jika ingin menampilkan
H a l a m a n | 19
http://phinueisal.wordpress.com
tabel yang terdiri dari Nama, judul buku, TanggalPinjam dan TanggalKembali? Maka
JOIN tabel diperlukan untuk kasus ini.

Tabel Siswa

Tabel Buku:

Tabel Peminjaman

H a l a m a n | 20
http://phinueisal.wordpress.com
Kasus 1

Ketika akan menampilkan nama peminjam buku, TanggalPinjam, dan TanggalKembali.


Jika hanya menggunakan tabel peminjaman, yang ada hanya NIS. Sedangkan Nama ada
di Tabel siswa. Yang menghubungkan antara tabel peminjaman dan siswa adalah NIS.

SELECT nama, `TanggalPinjam` , `TanggalKembali`


FROM siswa, peminjaman
WHERE siswa.NIS = peminjaman.NIS

Keterangan
1. Bagian from ada 2 tabel yang disebut yaitu siswa dan peminjaman. Mengapa
siswa? Karena field nama hanya ada di tabel siswa. Sedangkan TanggalPinjam dan
kembali ada di tabel peminjaman.
2. Mengapa siswa.NIS dan peminjaman.NIS? Yang akan disamakan adalah NIS di
peminjaman dan siswa, dan nama field NIS ada di siswa dan peminjaman. Oleh
karena itu nama fieldnya harus disertai nama tabel agar tidak tertukar/duplikat.

Kasus 2

Ketika akan menampilkan judul buku yang dipinjam, TanggalPinjam, dan


TanggalKembali. Jika hanya menggunakan tabel peminjaman, yang ada hanya No_buku.
Sedangkan No_buku ada di Tabel buku. Yang menghubungkan antara tabel peminjaman
dan buku adalah No_buku.

SELECT `judul buku`, `TanggalPinjam` , `TanggalKembali`


FROM buku, peminjaman
WHERE buku.No_buku = peminjaman.No_buku

H a l a m a n | 21
http://phinueisal.wordpress.com
Keterangan
1. Bagian from ada 2 tabel yang disebut yaitu siswa dan peminjaman. Mengapa
siswa? Karena field nama hanya ada di tabel siswa. Sedangkan TanggalPinjam
dan kembali ada di tabel peminjaman.
2. Mengapa buku.No_buku dan peminjaman.No_buku? Yang akan disamakan adalah
No_buku di peminjaman dan buku, dan nama field No_buku ada di buku dan
peminjaman. Oleh karena itu nama fieldnya harus disertai nama tabel agar tidak
tertukar/duplikat.

Kasus 3

Ketika akan menampilkan nama peminjam, judul buku yang dipinjam, TanggalPinjam,
dan TanggalKembali, berarti ada 3 tabel yang akan digabungkan. Tabel buku untuk
mengambil judul buku, tabel siswa untuk mengambil nama siswa, dan tabel
peminjaman untuk mengambil TanggalPinjam serta kembali.

SELECT nama, `judul buku`, `TanggalPinjam` , `TanggalKembali`


FROM siswa, buku, peminjaman
WHERE buku.No_buku = peminjaman.No_buku AND
Siswa.NIS = peminjaman.NIS

H a l a m a n | 22
http://phinueisal.wordpress.com
3. PHP (Hypertext Preprocessor)
PHP merupakan bahasa pemrograman berbasis web yang memiliki kemampuan untuk
memproses dan mengolah data secara dinamis.

PHP berbeda dengan HTML. Jika HTML dapat dijalankan langsung di Web Browser,
sedangkan PHP harus menggunakan server untuk dapat dijalankan di Web Browser.
Salah satu server yang dapat digunakan adalah Apache. Di dalam XAMPP terdapat
Apache. Oleh karena itu, kita tidak perlu lagi menginstal Apache.

Hal yang harus diperhatikan di dalam menyimpan File *.php adalah file tersebut harus
disimpan di dalam folder htdocs. Jika menggunakan XAMPP, misalnya
c:\xampp\htdocs\nama_folder_tempat_menyimpan_file

Untuk membuat kode php, kita dapat menggunakan notepad atau software editor lain
seperti dreamweaver.

3.1 Perintah Dasar PHP


1. Salah satu penulisan skrip php secara resmi diawali dengan <?php dan diakhiri ?>.
2. php sama seperti bahasa c. Dia bersifat Case sensitive (huruf besar dan kecil berbeda)
3. diakhiri dengan tanda ;

Variabel dalam PHP

Dalam PHP, variabel yang akan digunakan tidak didefinisikan terlebih dahulu.
Variabel dalam PHP bersifat case-sensitive artinya besar kecil huruf berpengaruh.
Setiap nama variabel dalam PHP diawali dengan $. Contoh $variabel1, $var1, $var2.
Perlu diingat bahwa $tanggal itu berbeda dengan $Tanggal (sifat case-sensitive).

Contoh pemrograman dasar PHP adalah:

<?php
print ”belajar awal php”;
?>
Kode print berguna untuk menampilkan tulisan dalam web.

H a l a m a n | 23
http://phinueisal.wordpress.com
Praktek 1!

1. Buka notepad
2. Pastikan XAMPP Control berjalan Apachenya: caranya masuk ke c:\xampp\
kemudian double click XAMPP Control.exe

3. Buat terlebih dahulu folder belajar_php di dalam folder htdocs


4. Ketikkan kode di bawah di notepad.
<?php
print "belajar awal php";
?>

5. Simpan dengan nama belajar.php simpan di c:\xampp\htdocs\belajarphp


6. Buka web browser, kemudian ketikkan:
localhost/phpmyadmin/belajar_php/belajar.php
Maka akan muncul:

Praktek 2 (menggunakan variabel)!

1. Buka notepad baru


2. Ketikkan kode di bawah
<?php
$a = 10;
$b = 20;
$c = $a+$b;
echo "Isi dari variabel a = $a<br>";
echo "Isi dari variabel b = $b<br>";
echo "a + b = $c";
?>
3. Simpan dengan nama belajarvariabel.php
4. Hasilnya di localhost/belajar_php adalah
H a l a m a n | 24
http://phinueisal.wordpress.com
3.1.1 PHP Dalam HTML
Kode PHP dapat digabungkan dengan HTML. Salah satunya adalah menyelipkan kode
PHP dalam HTML. Seperti contoh:

<html>
<head><title>PHP Dalam HTML</title></head>
<body>
<?php
print "ini adalah contoh php dalam html ";
?>
</body>
</html>
Jadi, dalam tag/kode HTML terdapat kode PHP

Hasilnya ketika dijalankan:

3.1.2 HTML Dalam PHP


Kode HTML yang diselipkan dalam PHP contohnya adalah:

<?php
echo "ini adalah contoh HTML dalam PHP <br> ";
echo "<Table border=1>
<tr>
<td>Contoh membuat tabel dalam php</td>
</tr>
</table> ";
?>

Hasilnya adalah:

Dari kode php di atas, ada kode HTML seperti <br> dan <table>. Kode HTML tersebut
harus selalu berada dalam perintah print/echo jika berada dalam kode php (<?php ?>)

3.2 Perintah Membuat Waktu di PHP


Untuk menampilkan tanggal sekarang di dalam file php adalah dengan menambahkan:
H a l a m a n | 25
http://phinueisal.wordpress.com
<?php
date_default_timezone_set('Asia/Jakarta'); a
$tanggal=date ('d-m-Y'); b
echo "$tanggal"; c
?>

Keterangan
a : mengatur terlebih dahulu waktu yang akan kita tampilkan. Konsepnya adalah
NamaBenua/NamaKota. Tidak semua kota seluruh dunia tersedia. Hanya perwakilan
waktu di setiap negara (contoh Jakarta, Ujung_pandang, Jayapura)

b : $tanggal merupakan variabel


date merupakan perintah untuk mengambil tanggal yang telah diset
d-m-Y merupakan format tanggal yang akan ditampilkan (lihat Tabel 3.1)
d : tanggal
m : bulan
Y : tahun
c : perintah menampilkan tanggal di halaman web

Tabel 3.1 Format Tanggal dan Waktu dalam PHP


Format Keterangan Hasil
Hari --- ---
Hari dalam bulan dengan menggunakan 2 digit
d 01 sampai 31
(diawali 0)
Nama Hari menggunakan tulisan berbahasa
D Mon sampai Sun
Inggris sebanyak 3 huruf
j Hari dalam bulan dengan tanpa diawali 0 (nol) 1 sampai 31
l ('L' Nama Hari menggunakan tulisan berbahasa Sunday sampai
kecil) Inggris penuh Saturday
1 (untuk Senin) sampai
N Nama Hari menggunakan angka
7 (untuk Minggu)
st, nd, rd or th. Bagus
Akhiran ordinal Inggris untuk tanggal dalam dipadukan dengan j
S
sebuah bulan Contoh:
1 st, 2 nd, 23rd, 14 th

H a l a m a n | 26
http://phinueisal.wordpress.com
Format Keterangan Hasil
0 (untuk Minggu)
w Representasi nomor dalam tiap minggu
sampai 6 (untuk Sabtu)
z Nomor hari dalam setahun (Mulai dari 0) 0 sampai 365
Minggu --- ---
ISO-8601 nomor Minggu dalam sebuah tahun COntoh: 42 (Minggu ke
W
(ditambahkan di PHP 4.1.0) 42 dalam suatu tahun)
Bulan --- ---
January sampai
F Nama bulan secara full dalam bahasa Inggris
December
Representasi bulan dalam nomor (diawali
m 01 sampai 12
dengan 0)
M Nama bulan (3 huruf) dalam bahasa Inggris Jan sampai Dec
Representasi bulan dalam nomor (tanpa diawali
n 1 sampai 12
dengan 0)
t Number of days in the given month 28 sampai 31
Tahun --- ---
1 if it is a leap year, 0
L Whether it's a leap year
otherwise.
Y Tahun full 4 digit Examples: 1999 or2003
y Tahun yang hanya 2 digit akhir Examples: 99 or 03
Waktu --- ---
Untuk memberikan tanda am/pm dalam bentuk
a am or pm
huruf kecil
Untuk memberikan tanda am/pm dalam bentuk
A AM or PM
huruf besar
B Pencarian waktu internet 000 sampai 999
g Format 12 jam tanpa diawali 0 1 sampai 12
G Format 24 jam tanpa diawali 0 0 sampai 23
h Format 12 jam diawali dengan 0 01 sampai 12
H Format 24 jam diawali dengan 0 00 sampai 23
i Menit diawali dengan 0 00 sampai 59
s Detik diawali dengan 0 00 sampai 59
H a l a m a n | 27
http://phinueisal.wordpress.com
3.3 Struktuk Kontrol Pada PHP
Seperti halnya bahasa pemograman lain, dala PHP pun terdapat struktur pengulangan
dan pemilihan/kondisional.

3.3.1 Pengulangan
a. For
- Struktur dasar dari for adalah:
for (nilai awal; kondisi/batasan; peningkatan/penurunan)
{
Pernyataan/perintah;
}

- Contoh Skrip/kode:
for.php

<?PHP
For($i=0;$i<=10;$i++)
{
echo "$i <br>";
}
?> Hasilnya:

b. While
- Struktur dasar dari while adalah:
Nilai awal;
while (kondisi/batasan)
{
Pernyataan/perintah;
Peningkatan/penurunan  contoh i++ atau i--
}

- Contoh Skrip/kode:
while.php

<?PHP
$i=0;
While($i<=10)
{
echo "$i <br>";
$i++
}
?> Hasilnya:

H a l a m a n | 28
http://phinueisal.wordpress.com
c. Do.. While
- Struktur dasar dari do.. while adalah:
Nilai awal;
do
{
Pernyataan/perintah;
Peningkatan/penurunan  contoh i++ atau i--
}
While (kondisi/batasan)

- Contoh Skrip/kode:
while.php

<?PHP
$i=0;
Do {
echo "$i <br>";
$i++
}
While($i<=10)
?>
Hasilnya:

3.3.2 Kondisional
a. IF
- Struktur dasar dari IF
IF (kondisi)
{
Aksi
}

- Contoh Skrip IF
if.php
<?PHP
$a = 10;
$b = 15;
if ($a < $b)
{
echo "b lebih besar
daripada a";
}
?>

H a l a m a n | 29
http://phinueisal.wordpress.com
b. IF.. ELSE
- Struktur dasar dari IF
IF (kondisi)
{
Aksi 1
}
else
{
Aksi 2
}

- Contoh Skrip IF
ifelse.php

<?PHP
$a = 10;
$b = 15;
if ($a < $b)
{
echo "b lebih besar daripada a";
}
Else
{
echo "b lebih kecil daripada a";
}
?>

c. Switch
- Struktur dasar switch
Switch(kondisi)
{
case konstanta1 :
pernyataan1;
break;

case konstanta2 :
pernyataan2;
break;
.
.
default :
pernyataan default;
}

H a l a m a n | 30
http://phinueisal.wordpress.com
- Contoh skrip
<?PHP
$hari = 1;

switch ($hari)
{
Case 1:
Echo "hari senin";
Break;

Case 2:
Echo "hari selasa";
Break;

Case 3:
Echo "hari rabu";
Break;

Case 4:
Echo "hari kamis";
Break;

Case 5:
Echo "hari jumat";
Break;

Case 6:
Echo "hari sabtu";
Break;

Case 7:
Echo "hari minggu";
Break;

Default:
Echo "nomor hari salah!";
}
?>
- Maka hasilnya adalah:

Jika diganti variabel harinya, maka akan sesuai dengan perintah case di atas.
Jika nomor selain 1-7, maka akan muncul “nomor hari salah”

H a l a m a n | 31
http://phinueisal.wordpress.com
3.4 Modular dalam PHP
3.4.1 Include
Include adalah suatu bentuk fungsi untuk menggabungkan satu file skrip PHP dengan
file PHP lainnya. Script atau file yang digabung tidak harus berisi script program PHP.
Contoh:
Misal kita memiliki file:
1. bagianatas.php
<?php
Echo "Selamat Datang di Website Kami";
?>

2. bagianbawah.php
<?php
Echo "Copyright @2013";
?>

3. halamanutama.php
<?php
Include "bagianatas.php";
Echo "<br>ini merupakan contoh halaman utama yang menggabungkan 3 file
php<br>";
Include "bagianbawah.php";
?>

Ketika dijalankan halamanutama.php adalah:

Dapat disimpulkan bahwa include berguna:


1. Jika ada banyak halaman yang memiliki konten yang sama, maka hanya tinggal buat file
tersendiri untuk konten yang sama, kemudian dapat dipakai oleh semua file PHP yang
membutuhkannya. (Ingat, usahakan Semua file tersebut dalam satu folder agar lebih
mudah dalam pemanggilan!)
2. Dengan dibuat terpisah, ketika ada kesalahan dalam konten yang sama tersebut, kita
hanya tinggal mengubah satu file yang terpisah itu.

H a l a m a n | 32
http://phinueisal.wordpress.com
3.4.2 Require
Require memiliki fungsi yang sama dengan include. Jika skrip/kode di atas diganti
menjadi require, maka tidak akan ada perbedaannya. Letak perbedaannya adalah jika
dalam skripnnya terjadi kesalahan atau error. Letak perbedaannya adalah

 Include. Jika terjadi sebuah kesalahan / error akan menampilkan sebuah


peringatan namun script akan terus di eksekusi
 Require. Jika terjadi sebuah kesalahan / error akan menampilkan sebuah
peringatan dan script akan berhenti di eksekusi

4. PHP MySQL
Di dalam PHP terdapat fungsi yang berguna untuk mengoneksikan antara PHP dengan
database MySQL. Sebelum praktek, fungsi yang akan digunakan adalah:

4.1 mysql_connect("host","username","password");
fungsi tersebut akan mereturn/mengembalikan nilai TRUE jika koneksi ke MySQL
sukses dan akan mengembalikan nilai FALSE jika koneksi gagal. Biasanya koneksi
bawaannya adalah:
nama host : localhost
username : root
password : dikosongkan

4.2 mysql_select_db("nama database");


Selanjutnya apabila koneksi telah berhasil, langkah berikutnya adalah memilih database
yang ada di dalam localhost dengan username root dengan menggunakan
mysql_select_db("nama database")

Seperti halnya fungsi koneksi sebelumnya, fungsi select db juga akan mengembalikan
nilai TRUE jika nama database ditemukan dan FALSE bila database yang diinginkan
tidak ditemukan.
4.3 mysql_query("pernyataan query")
Fungsi lain yang diperlukan setelah mengakses database adalah mysql_query. Fungsi
tersebut adalah untuk menjalankan query yang kemudian akan diolah sehingga akan
dihasillkan data yang berkaitan dengan query tadi.
H a l a m a n | 33
http://phinueisal.wordpress.com
Fungsi tersebut akan menghasilkan nilai TRUE jika query sukses dijalankan. FALSE jika
query gagal dilakukan. Biasanya dijabarkan dengan skrip:
$namavariabelquery=mysql_query("pernyataan query"), contoh:
$hasil=mysql_query("select * from siswa");

4.4 mysql_fetch_array($namavariabelquery);
Apabila query yang diberikan berkaitan dengan pencarian record data (select
..from), maka selanjutnya hasil pencarian record tersebut diambil untuk kemudian di
tampilkan sebagai output di dalam website. Untuk mengambil record dari query,
digunakan fungsi mysql_fetch_array. Biasanya dijabarkan dengan skrip:
$namavariabelarray=mysql_fetch_array($namavariabelquery), contoh:
$tampilhasil=mysql_fetch_array($hasil)
Fungsi di atas akan menghasilkan data array (lebih dari satu) sesuai dengan yang ada di
dalam database.
Biasanya untuk memunculkan lebih dari satu data dalam php, dikombinasikan dengan
perintah:
while ($tampilhasil=mysql_fetch_array($hasil)){
echo "$tampilhasil[NIS]";
}
Maka akan tampil field NIS saja dengan jumlah sesuai yang ada di dalam database. Jika
tanpa perintah while, maka yang muncul hanya ada 1.

Agar lebih jelasnya materi dari modul ini, silakan kerjakan Jobsheet PHP&MySQL yang
terdiri dari beberapa bagian!

H a l a m a n | 34
http://phinueisal.wordpress.com

Anda mungkin juga menyukai