modul membuat web dinamis menggunakan php

Upload: riswandiahmad

Post on 09-Mar-2016

24 views

Category:

Documents


1 download

DESCRIPTION

Web

TRANSCRIPT

  • Bahan Ajar SMK RPL Oleh Nur Azizah

    2013

    Modul

    Membuat WEB Dinamis

    Menggunakan PHP &

    MySQL

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

    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

  • H a l a m a n | 2 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

  • H a l a m a n | 3 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

  • H a l a m a n | 4 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!

  • H a l a m a n | 5 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)

  • H a l a m a n | 6 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

  • H a l a m a n | 7 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

    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

    a

    b

    c d

  • H a l a m a n | 8 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

  • H a l a m a n | 9 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

    )

  • H a l a m a n | 10 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 | 11 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 | 12 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 | 13 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 | 14 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 | 15 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

  • H a l a m a n | 16 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 | 17 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 | 18 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 | 19 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 | 20 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 | 21 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 | 22 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 | 23 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 .

    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:

    Kode print berguna untuk menampilkan tulisan dalam web.

  • H a l a m a n | 24 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.

    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

    3. Simpan dengan nama belajarvariabel.php

    4. Hasilnya di localhost/belajar_php adalah

  • H a l a m a n | 25 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:

    PHP Dalam 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:

    Hasilnya adalah:

    Dari kode php di atas, ada kode HTML seperti dan . Kode HTML tersebut

    harus selalu berada dalam perintah print/echo jika berada dalam kode 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 | 26 http://phinueisal.wordpress.com

    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 --- ---

    d Hari dalam bulan dengan menggunakan 2 digit (diawali 0)

    01 sampai 31

    D Nama Hari menggunakan tulisan berbahasa Inggris sebanyak 3 huruf

    Mon sampai Sun

    j Hari dalam bulan dengan tanpa diawali 0 (nol) 1 sampai 31

    l ('L' kecil)

    Nama Hari menggunakan tulisan berbahasa Inggris penuh

    Sunday sampai Saturday

    N Nama Hari menggunakan angka 1 (untuk Senin) sampai

    7 (untuk Minggu)

    S Akhiran ordinal Inggris untuk tanggal dalam sebuah bulan

    st, nd, rd or th. Bagus dipadukan dengan j Contoh: 1 st, 2 nd, 23rd, 14 th

    a

    b

    c

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

    Format Keterangan Hasil

    w Representasi nomor dalam tiap minggu 0 (untuk Minggu)

    sampai 6 (untuk Sabtu)

    z Nomor hari dalam setahun (Mulai dari 0) 0 sampai 365

    Minggu --- ---

    W ISO-8601 nomor Minggu dalam sebuah tahun

    (ditambahkan di PHP 4.1.0) COntoh: 42 (Minggu ke

    42 dalam suatu tahun)

    Bulan --- ---

    F Nama bulan secara full dalam bahasa Inggris January sampai

    December

    m Representasi bulan dalam nomor (diawali dengan 0)

    01 sampai 12

    M Nama bulan (3 huruf) dalam bahasa Inggris Jan sampai Dec

    n Representasi bulan dalam nomor (tanpa diawali dengan 0)

    1 sampai 12

    t Number of days in the given month 28 sampai 31

    Tahun --- ---

    L Whether it's a leap year 1 if it is a leap year, 0

    otherwise.

    Y Tahun full 4 digit Examples: 1999 or2003

    y Tahun yang hanya 2 digit akhir Examples: 99 or 03

    Waktu --- ---

    a Untuk memberikan tanda am/pm dalam bentuk huruf kecil

    am or pm

    A Untuk memberikan tanda am/pm dalam bentuk huruf besar

    AM or PM

    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 | 28 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:

    - Contoh Skrip/kode:

    for.php

    Hasilnya:

    b. While

    - Struktur dasar dari while adalah:

    - Contoh Skrip/kode:

    while.php

    Hasilnya:

    for (nilai awal; kondisi/batasan; peningkatan/penurunan) { Pernyataan/perintah; }

    Nilai awal; while (kondisi/batasan) { Pernyataan/perintah; Peningkatan/penurunan contoh i++ atau i-- }

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

    c. Do.. While

    - Struktur dasar dari do.. while adalah:

    - Contoh Skrip/kode:

    while.php

    Hasilnya:

    3.3.2 Kondisional

    a. IF - Struktur dasar dari IF

    - Contoh Skrip IF

    if.php

    Nilai awal; do { Pernyataan/perintah; Peningkatan/penurunan contoh i++ atau i-- }

    While (kondisi/batasan)

    IF (kondisi) { Aksi }

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

    b. IF.. ELSE

    - Struktur dasar dari IF

    - Contoh Skrip IF

    ifelse.php

    c. Switch

    - Struktur dasar switch

    IF (kondisi) {

    Aksi 1 } else {

    Aksi 2 }

    Switch(kondisi) { case konstanta1 : pernyataan1; break; case konstanta2 : pernyataan2; break; . . default : pernyataan default; }

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

    - Contoh skrip

    - 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 | 32 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

    2. bagianbawah.php

    3. halamanutama.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 | 33 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 | 34 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!