BAB 9 AKSES BASIS DATA MySQL DENGAN PHP

advertisement
POLITEKNIK NEGERI JAKARTA
ii
KATA PENGANTAR
Dengan mengucap syukur alhamdulillah kepada Allah Subhanahuwata’ala,
akhirnya Buku Pemrograman Web dan Basis Data ini dapat diselesaikan dan
menjadi salah satu acuan dalam proses perkuliahan pada mata kuliah
Pemrograman Web dan Basis Data pada Program Studi Teknik Telekomunikasi
Semester 4 Jurusan Teknik Elektro Politeknik Negeri Jakarta.
Sebagai mata kuliah yang meliputi teori dan praktik, maka pada perkuliahan ini
mahasiswa diwajibkan untuk menghasilkan sebuah aplikasi berbasis web yang
meliputi dua unsur yakni aplikasi berbasis web yang statis dan aplikasi berbasis
web yang bersifat dinamis. Oleh karena itu, penyusunan buku ini juga didasarkan
pada hal tersebut sehingga secara garis besar susunanya meliputi dua bagian yakni
•
Bagian I : Dengan tujuan Akhir agar mahasiswa dapat menghasilkan
aplikasi berbasis web yang sifatnya statis, maka mereka harus menguasai
dan kompeten pada Bab 1, Bab 2, Bab 3 dan Bab 4. Yang pada intinya
adalah mempelajari teknik dasar pemrograman Web dengan HTML dan
juga menguasai CSS.
•
Bagian II : Dengan tujuan akhir agar mahasiswa dapat menghasilkan
aplikasi berbasis web yang dinamis dimana sangat diperlukan penguasaan
basis data dalam hal desain dan pengaplikasiannya (Bab 7 dan Bab 8) dan
juga bagaimana menguasai pemrograman di sisi server yang digunakan
untuk membuat interface antara basis data data di sisi server dan pengguna
di sisi client. Bahasa pemrograman yang harus dikuasai adalah PHP(Bab 5
dan Bab 6). Dan agar dapat menunjang kompetensi yang dibutuhkan,
mahasiswa harus menguasai bagaimana mengakses basis data MySQL
menggunakan PHP dengan penekanan pada contoh-contoh kasus yang
sering ditemui(Bab 9).
Dengan bekal seperti tersebut di atas, diharapkan setelah mengikuti perkuliahan
ini mahasiswa memiliki bekal dasar dan kompeten dalam pembuatan aplikasi
berbasis web.
iii
Tak ada gading yang tak retak, penulis sadar sepenuhnya bahwa buku ini jauh dari
sempurna, sehingga kritik dan saran yang membangun sangat penulis harapkan
demi perbaikan di masa yang akan datang. Kritik dan saran dapat disampaikan
melalui alamat email [email protected].
Dengan tidak mengurangi rasa hormat, penulis mengucapkan banyak terima kasih
dan penghargaan yang setinggi-tingginya kepada semua pihak yang telah banyak
membantu dalam penyusunan buku ini. Terima kasih.
Hormat kami,
Penulis
iv
DAFTAR ISI
Halaman Judul
i
Kata Pengantar
iii
Daftar Isi
v
BAB 1 PENGANTAR TEKNOLOGI WEB DAN INTERNET
1.1
1.2
1.3
Pengantar Teknologi Web dan Internet
I-2
1.1.1
Pendahuluan
I-2
1.1.2
Sejarah dan Perkembangan Internet
I-2
1.1.3
Protokol
I-5
1.1.4
TCP/IP
I-12
1.1.5
Domain Name Server(DNS)
I-19
Web Master dan Pemrograman Web
I-31
1.2.1 Pengertian Web Master
I-31
1.2.2 Penjelasan Tugas Web Master
I-32
1.2.3 Tahap Pembangunan Situs
I-33
1.2.4 Web Hosting
I-36
1.2.5 Pemrograman
I-36
1.2.6 Pemrograman Berbasis Web
I-37
1.2.7 Komponen Pemrograman Berbasis Web
I-38
1.2.8 Keuntungan mengembangkan Aplikasi Berbasis Web
I-39
Latihan
I-41
BAB 2 INSTALASI PERANGKAT LUNAK APLIKASI BERBASIS WEB
2.1
Persiapan dan Instalasi Sistem Web Server APACHE
II-2
2.2
Instalasi dan Konfigurasi MySQL
II-2
2.3
Instalasi APACHE dan PHP
II-8
BAB 3 PERINTAH/TAG HTML DASAR
3.1
Pendahuluan HTML
III-2
3.2
Struktur
III-2
3.3
Text
III-6
3.4
List
III-8
v
3.5
Tautan/link
III-10
3.6
Gambar
III-16
3.7
Tabel
III-19
3.8
Form
III-25
BAB 4 CASCADING STYLE SHEET (CSS)
4.1
Pengantar CSS
IV-2
4.2
Color
IV-3
4.3
Text
IV-4
4.4
Boxes
IV-6
4.5
List, Table dan Form
IV-7
4.6
Layout
IV-9
4.7
Image
IV-13
4.8
HTML 5 Layout
IV-15
BAB 5 PENGENALAN PHP
5.1
Tujuan
V-2
5.2
Pemrograman Sisi Server
V-2
5.3
Sintaks Dasar
V-5
5.4
Mengirim data ke Web Browser
V-6
5.5
Komentar
V-7
5.6
Variable
V-8
5.7
String
V-9
5.8
Number
V-11
5.9
Konstanta
V-12
BAB 6 PEMROGRAMAN PHP
6.1
Membuat Form HTML
VI-2
6.2
Menangani Form HTML
VI-3
6.3
Kondisional dan Operator
VI-4
6.4
Validasi Form
VI-9
6.5
Array
VI-13
vi
6.6
Perulangan for dan while
VI-14
BAB 7 MERANCANG BASIS DATA
7.1
Pentingnya Perancangan Basis Data yang Baik
VII-2
7.2
Macam-macam Relasi Tabel
VII-3
7.3
Memahami Normalisasi
VII-4
7.4
Latihan Merancang Basis Data
VII-7
BAB 8 MEMBUAT BASIS DATA DENGAN MySQL
8.1
Pengenalan MySQL
VIII-2
8.2
Bahasa Pemrograman SQL
VIII-2
8.3
Pemrograman SQL Lanjut dengan MySQL
VIII-3
BAB 9 AKSES BASIS DATA MySQL DENGAN PHP
9.1
Mengakses Basis Data MySQL
IX-2
9.2
Mengirim Email
IX-10
9.3
Mengunggah File
IX-12
9.4
Membuat Otentifikasi User
IX-15
9.5
Membuat Buku Tamu
IX-20
Lampiran
vii
BAB I
PENGANTAR TEKNOLOGI WEB DAN
INTERNET
Tujuan Pembelajaran :
Menjelaskan teori teknologi internet dan Web
Bab 1 Pengantar Teknologi Web dan Internet
I- 1
1.1. Pengantar Teknologi Web dan Internet
1.1.1. Pendahuluan
Saat ini teknologi internet telah merambah ke dalam segala aspek kehidupan.
Dimanapun kita berada, asal ada koneksi ke jaringan, maka segala informasi yang
ada di dunia maya dapat kita akses dengan mudah. Paling tidak ada dua hal yang
berperan sehingga akses informasi ini dengan mudah di dapat. Pertama adalah
adanya akses ke jaringan atau sering disebut jaringan internet. Jaringan ini ada
berbagai macam bentuk dan topologi serta jangkauan aksesnya. Melalui
infrastruktur jaringan internet yang dibangun, kita dapat mengakses berbagai
informasi yang tersedia dari belahan bumi manapun. Kedua adalah adanya
teknologi web sebagai sarana untuk menampilkan informasi yang ingin kita dapat.
Dengan beragamnya jenis dan tipe pengakses, maka teknologi web ini harus dapat
ditampilkan di segala macam platform maupun perangkat sehingga si pengakses
dapat menggunakan beragam aplikasi web dan berbagai macam perangkat
pengakses.
1.1.2. Sejarah dan Perkembangan Internet
Sejarah internet dimulai pada Agustus 1962 dan penciptaan internet pertama kali
dikemukakan oleh J.C.R Licklider dari MIT Massachutts Institute of Technology.
Konsep awal dinamakan “Galactic Network”. ia mengemukakan tentang jaringan
global yang memungkinkan orang dapat mengakses data dan program dari mana
saja. Oktober 1962 beliau mengepalai program penelitian komputer di ARPA
yang merupakan bagian dari Departmenet Pertahanan Amerika Serikat.
Pada 1965 peneliti dari MIT bernama Lawrence G. Roberts sering juga disebut
Larry Roberts dan Thomas Merill melakukan koneksi komputer TX-2 di MIT
dengan komputer Q-32 di California menggunakan jalur telpon berkecepatan
rendah untuk menciptakan jaringan berskala luas untuk pertama kalinya.
Pada tahun 1966 Larry Roberts mengembangkan konsep jaringan komputer/
Kemudian beliau merencanakan jaringan yang disebut ARPANET yang
dipublikasikan pada tahun 1967. Pada tahun 1969 ARPANET telah melibatkan
I- 2
Bab 1 Pengantar Teknologi Web dan Internet
empat buah komputer yang terkoneksi. Komputer pertama berada di University of
California Los Angeles, komputer ke dua berada di Stanford Research Institute,
komputer ketiga berada di University of California di Santa Barbara dan komputer
keempat berada di University of Utah.
Pada tahun 1971 jumlah komputer yang terhubung ke ARPANET mencapai 14
buah. Pada tahun ini pulalah protokol Telnet dan FTP berhasil dibangun. Pada
tahun 1972 Larry Roberts dan Bob Kahn mengenalkan ARPANET pada
konferensi ICCC yang diselenggarakan di Washington.
Pada tahun 1972 Ray Tomliinson menulis program yang memungkinkan surat
elektronik dikirimkan ke jaringan ARPNET. Beliaulah yang merancang konversi
“user@host.” Pada tahun ini pula ARPANET menggunakan NCP untuk
menstransfer data. Pada tahun yang sama ARPA beruah nama menjadi DARPA.
Tambahan huruf D berasal dari kata Defense. Pada tahun ini ARPANET
melakukan koneksi international yang pertama dengan University College of
London dan Royal Establishment di Norwegia.
Pada tahun 1978 Unix to Copy Protocol ditemukan di Labolatorium Bell. Program
ini berguna untuk melakukan file transfer.
Pada tahun 1979 news group yang diberi nama USENET beroperasi dengan dasar
UUCP. Penciptanya adalah Tom Truscott dan Jim Ellis (kedua mahasiswa di
Duke University) dan Steven Bellovin (dari Universitas North Carolina). Pemakai
dari seluruh dunia bergabung ke grup diskusi ini membicarakan masalah jaringan,
politik, agama dan berbagai topik lainnya,
Pada tahun 1982 DCA atau Defense Communication Agency dan DARPA
membentuk protokol yang disebut TCP/IP untuk ARPANET. Selanjutnya,
Departemen Pertahanan Amerika Serikat menyatakan TCP/IP sebagai sebuah
standar. Saat itulah internet didefinisikan sebagai sekumpulan jaringan yang
terhubung yang menggunakan TCP/IP sebagai protokol.
Pada tahun 1983 John Postel dan Paul Mockapetris dan Craig Partidge
mengembangkan Domain Name System (DNS) dan mengusulkan sistem
Bab 1 Pengantar Teknologi Web dan Internet
I- 3
pengamatan berbentuk [email protected]. Pada tahun 1984 DNS diperkenalkan
di internet dengan menyebutkan nama-nama jenis domain seperti .gov, .mil,.org,
.net dan .com.
Pada tahun 1986 TCP/IP mulai tersedia pada workstaiton dan PC. Tahun ini pula
National Science Foundation mendanai NSFNET sebagai tulang punggung
internet berkapasitas 56 kbps dan mengatur internet hanya ditujukan untuk
kepentingan riset dan pemerintah yang bersifat tidak komersial.
Pada tahun 1988 Internet Relay Chat disingkat IRC dibuat oleh Jarkko Oikarinen
yang berguna untuk melakukan chatting secara online melalui komputer
Pada tahun 1989 Australia, Jerman, Israel, Italia, Jepang, Mexico, Belanda,
Selandia Baru dan Inggris bergabung ke internet. Jaringan bernama JUNET di
Jepang mulai berhubungan dengan NSFnet.
Pada tahun 1989, TIM Berners Lee periset dari Inggris yang bekerja di CERN,
Swiss, mengajukan konsep yang disebut sistem hypertext. Sistem ini mungkinkan
melihat dokumen secara melompat-lompat dan bisa berjalan dalam sistem operasi
yang berbeda-beda. Konsep inilah yang disebut World Wide Web atau dikenal
dengan nama Web.
Pada tahun 1990 Departemen Pertahanan Amerika membubarkan ARPANET.
Saat itu jaringan tersebut berkembang dari 4 buah host menjadi 300.000 host. Saat
itu Singapura membangun jaringan TECHNET dan ikut bergabung di internet.
Pada tahun ini pula beberapa perangkat lunak seperti Archie, Gopher dan WAIS
mulai dipakai.
Pada tahun 1990 World Wide Web (WWW) diluncurkan oleh CERN di Jenewa,
Swis. Tim Berner Lee menciptakan Hypertext Markup Language atau disingkat
html yang menggunakan URL untuk pengalamatan Web. HTML adalah suatu
bahasa yang digunakan untuk menyusun tampilan WEB.
Pada tahun 1991 tulang punggung NSFNET diperbaharui dengan kecepatan
44Mbps. Koneksi mencakup 100 negara dan melibatkan lebih dari 600.000 host
dan kira-kira 5.000 jaringan. Namun, pada tahun ini NSF sebagai pendananya
I- 4
Bab 1 Pengantar Teknologi Web dan Internet
mencabut larangan komersial untuk internet sehingga membuka peluang
perdagangan elektronis.
Pada tahun 1992 jumlah jaringan sudah melampaui 7.500 buah dan jumlah
komputer yang terkoneksi sebanyak 1.000.000. Saat itu, audio dan video mulai
ada di internet.Pada tahun itu pula, Veronica, sebuah perangkat pencarian teks,
dikeluarkan di Universitas Nevada dan Mozaic lahir. Mozaic adalah browser yang
pertama diciptakan. Software ini memadukan texts dan gambar. Penciptanya Marc
Andresen dan Eric Bina. Selain itu, tercatat bahwa perusahaan Delphi di Amerika
Serikat mulai membuka layanan internet kepada para pelanggannya.
Pada Tahun 1994 Yahoo! yang kepanjangannya adalah Yet Another Hierarchical
Officious Oracle didirikan oleh dua orang mahasiswa Universitas Stanford yaitu
Jerry Yan dan David Filo. Yahoo! terkenal sebagai portal yang menyediakan
email gratis dan mesin pencari informasi. Pada tahun ini pula Amazon.com
didirikan oleh Jeff Bezos.
Pada tahun 1996 perusahaan komputer Dell mulai menjual komputer melalui
internet. Pembeli bisa memilih komputer dan perangkat keras yang sesuai dengan
keinginan mereka sendiri.
Mesin pencari terkenal yang lain adalah Google. Mesin pencari ini diluncurkan
pada tahun 1998 oleh Larry Page dan Sergey Brin. Saat itu mereka berdua adalah
mahasiswa Universitas Stanford.
1.1.3. Protokol
Protokol Internet (Inggris Internet Protocol disingkat IP) adalah protokol lapisan
jaringan (network layer dalam OSI Reference Model) atau protokol lapisan
internetwork (internetwork layer dalam DARPA Reference Model) yang
digunakan oleh protokol TCP/IP untuk melakukan pengalamatan dan routing
paket data antar host-host di jaringan komputer berbasis TCP/IP. Versi IP yang
banyak digunakan adalah IP versi 4 (IPv4) yang didefinisikan pada RFC 791 dan
dipublikasikan pada tahun 1981, tetapi akan digantikan oleh IP versi 6 pada
beberapa waktu yang akan datang.
Bab 1 Pengantar Teknologi Web dan Internet
I- 5
Internet Protocol(IP)
Protokol IP merupakan salah satu protokol kunci di dalam kumpulan protokol
TCP/IP. Sebuah paket IP akan membawa data aktual yang dikirimkan melalui
jaringan dari satu titik ke titik lainnya. Metode yang digunakannya adalah
connectionless yang berarti ia tidak perlu membuat dan memelihara sebuah sesi
koneksi. Selain itu, protokol ini juga tidak menjamin penyampaian data, tapi hal
ini diserahkan kepada protokol pada lapisan yang lebih tinggi (lapisan transport
dalam OSI Reference Model atau lapisan antar host dalam DARPA Reference
Model), yakni protokol Transmission Control Protocol (TCP).
IP menawarkan layanan sebagai protokol antar jaringan (inter-network), karena
itulah IP juga sering disebut sebagai protokol yang bersifat routable. Header IP
mengandung informasi yang dibutuhkan untuk menentukan rute paket, yang
mencakup alamat IP sumber (source IP address) dan alamat IP tujuan (destination
IP address). Anatomi alamat IP terbagi menjadi dua bagian, yakni alamat jaringan
(network address) dan alamat node (node address/host address). Penyampaian
paket antar jaringan (umumnya disebut sebagai proses routing), dimungkinkan
karena adanya alamat jaringan tujuan dalam alamat IP. Selain itu, IP juga
mengizinkan pembuatan sebuah jaringan yang cukup besar, yang disebut sebagai
IP internetwork, yang terdiri atas dua atau lebih jaringan yang dihubungkan
dengan menggunakan router berbasis IP.
IP mendukung banyak protokol klien, karena memang IP merupakan "kurir"
pembawa data yang dikirimkan oleh protokol-protokol lapisan yang lebih tinggi
dibandingkan dengannya. Protokol IP dapat membawa beberapa protokol lapisan
tinggi yang berbeda-beda, tapi setiap paket IP hanya dapat mengandung data dari
satu buah protokol dari banyak protokol tersebut dalam satu waktu. Karena setiap
paket dapat membawa satu buah paket dari beberapa paket data, maka harus ada
cara yang digunakan untuk mengidikasikan protokol lapisan tinggi dari paket data
yang dikirimkan sehingga dapat diteruskan kepada protokol lapisan tinggi yang
sesuai pada sisi penerima. Mengingat klien dan server selalu menggunakan
protokol yang sama untuk sebuah data yang saling dipertukarkan, maka setiap
paket tidak harus mengindikasikan sumber dan tujuan yang terpisah. Contoh dari
I- 6
Bab 1 Pengantar Teknologi Web dan Internet
protokol-protokol lapisan yang lebih tinggi dibandingkan IP adalah Internet
Control Management Protocol (ICMP), Internet Group Management Protocol
(IGMP), User Datagram Protocol (UDP), dan Transmission Control Protocol
(TCP).
IP mengirimkan data dalam bentuk datagram, karena memang IP hanya
menyediakan layanan pengiriman data secara connectionless serta tidak andal
(unreliable) kepada protokol-protokol yang berada lebih tinggi dibandingkan
dengan protokol IP. Pengirimkan connectionless, berarti tidak perlu ada negosiasi
koneksi (handshaking) sebelum mengirimkan data dan tidak ada koneksi yang
harus dibuat atau dipelihara dalam lapisan ini. Unreliable, berarti IP akan
mengirimkan paket tanpa proses pengurutan dan tanpa acknowledgment ketika
pihak yang dituju telah dapat diraih. IP hanya akan melakukan pengiriman sekali
kirim saja untuk menyampaikan paket-paket kepada hop selanjutnya atau tujuan
akhir (teknik seperti ini disebut sebagai "best effort delivery"). Keandalan data
bukan merupakan tugas dari protokol IP, tapi merupakan protokol yang berada
pada lapisan yang lebih tinggi, seperti halnya protokol TCP.
Bersifat independen dari lapisan antarmuka jaringan (lapisan pertama dalam
DARPA Reference Model), karena memang IP didesain agar mendukung banyak
komputer dan antarmuka jaringan. IP bersifat independen terhadap atribut lapisan
fisik, seperti halnya pengabelan, pensinyalan, dan bit rate. Selain itu, IP juga
bersifat independen terhadap atribut lapisan data link seperti halnya mekanisme
Media access control (MAC), pengalamatan MAC, serta ukuran frame terbesar.
IP menggunakan skema pengalamatannya sendiri, yang disebut sebagai "IP
address", yang merupakan bilangan 32-bit dan independen terhadap skema
pengalamatan yang digunakan dalam lapisan antarmuka jaringan.
Untuk mendukung ukuran frame terbesar yang dimiliki oleh teknologi lapisan
antarmuka jaringan yang berbeda-beda, IP dapat melakukan pemecahan terhadap
paket data ke dalam beberapa fragmen sebelum diletakkan di atas sebuah saluran
jaringan. Paket data tersebut akan dipecah ke dalam fragmen-fragmen yang
memiliki ukuran maximum transmission unit (MTU) yang lebih rendah
dibandingkan dengan ukuran datagram IP. Proses ini dinamakan dengan
Bab 1 Pengantar Teknologi Web dan Internet
I- 7
fragmentasi (Fragmentasi paket jaringan|fragmentation). Router atau host yang
mengirimkan data akan memecah data yang hendak ditransmisikan, dan proses
fragmentasi dapat berlangsung beberapa kali. Selanjutnya host yang dituju akan
menyatukan kembali fragmen-fragmen tersebut menjadi paket data utuh, seperti
halnya sebelum dipecah.
Dapat diperluas dengan menggunakan fitur IP Options dalam header IP. Fitur
yang dapat ditambahkan contohnya adalah kemampuan untuk menentukan jalur
yang harus diikuti oleh datagram IP melalui sebuah internetwork IP.
Datagram IP
Paket-paket data dalam protokol IP dikirimkan dalam bentuk datagram. Sebuah
datagram IP terdiri atas header IP dan muatan IP (payload), sebagai berikut:
Header IP: Ukuran header IP bervariasi, yakni berukuran 20 hingga 60 byte,
dalam penambahan 4-byte. Header IP menyediakan dukungan untuk memetakan
jaringan (routing), identifikasi muatan IP, ukuran header IP dan datagram IP,
dukungan fragmentasi, dan juga IP Options.
Muatan IP: Ukuran muatan IP juga bervariasi, yang berkisar dari 8 byte hingga
65515 byte.
Sebelum dikirimkan di dalam saluran jaringan, datagram IP akan "dibungkus"
dengan header protokol lapisan antarmuka jaringan dan trailer-nya, untuk
membuat sebuah frame jaringan. Format datagram IP ditunjukan pada Gambar 1.1
berikut
Gambar 1.1 Format Datagram IP
I- 8
Bab 1 Pengantar Teknologi Web dan Internet
Header IP
Header IP terdiri atas beberapa field sebagai berikut:
Tabel 1.1 Header IP
Field
Panjang Keterangan
Digunakan untuk mengindikasikan versi dari header
IP yang digunakan. Karena memiliki panjang 4 bit, maka
terdapat 24=16 buah jenis nilai yang berbeda-beda, yang
berkisar antara 0 hingga 15. Meskipun begitu hanya ada
Version
4 bit
dua nilai yang bisa digunakan, yakni 4 dan 6, mengingat
versi IP standar yang digunakan saat ini dalam jaringan
dan Internet adalah versi 4 dan 6 merupakan singkatan
dari versi selanjutnya (IPv6). Lihat situs web IANA untuk
informasi mengenai field ini lebih lanjut.
Digunakan untuk mengindikasikan ukuran header IP.
Karena memiliki panjang 4 bit, maka terdapat 24=16 buah
jenis nilai yang berbeda-beda. Field header length ini
mengindikasikan bilangan double-word 32-bit (blok 4-
Header
4 bit
length
byte) di dalam header IP. Ukuran terkecilnya adalah 5
(0x05), yang menunjukkan ukuran terkecil dari header IP
yakni 20 byte. Dengan jumlah maksimum dari IP
Options, ukuran header IP maksimum adalah 60 byte,
yang diindikasikan dengan nilai 15 (0x0F).
Type
Service
Field ini digunakan untuk menentukan kualitas transmisi
of
8 bit
(TOS)
Total
Length
dari sebuah datagram IP. Ada dua jenis TOS yang
didefinisikan, yakni pada RFC 791 dan RFC 2474. Hal
ini akan dibahas pada seksi berikutnya.
Merupakan panjang total dari datagram IP,
16 bit
mencakup
header
IP
dan
muatannya.
yang
Dengan
menggunakan angka 16 bit, nilai maksimum yang dapat
Bab 1 Pengantar Teknologi Web dan Internet
I- 9
Field
Panjang Keterangan
ditampung adalah 65535 byte. Untuk datagram IP yang
memiliki ukuran maksimum, field ini memiliki nilai yang
sama dengan nilai maximum transmission unit yang
dimiliki oleh teknologi protokol lapisan antarmuka
jaringan.
Digunakan untuk mengidentifikasikan sebuah paket IP
tertentu
Identifier
16 bit
yang
dikirimkan
antara
node
sumber
dan node tujuan. Host pengirim akan mengeset nilai
dari field ini, dan field ini akan bertambah nilainya untuk
datagram IP selanjutnya. Field ini digunakan untuk
mengenali fragmen-fragmen sebuah datagram IP.
Berisi dua buah flag yang berisi apakah sebuah datagram
IP mengalami fragmentasi atau tidak. Meski berisi
Flag
3 bit
tiga bit, ada dua jenis nilai yang mungkin, yakni apakah
hendak
memecah datagram
IP ke
dalam
beberapa
fragmen atau tidak.
Fragment
Offset
Digunakan
13 bit
untuk
mengidentifikasikan ofset di
mana
fragmen yang bersangkutan dimulai, dihitung dari
permulaan muatan IP yang belum dipecah.
Digunakan untuk mengidentifikasikan berapa banyak
saluran jaringan di mana sebuah datagram IP dapat
berjalan-jalan
Time-toLive (TTL)
sebelum
sebuah router mengabaikan datagram tersebut. Field ini
8 bit
pada awalnya ditujukan sebagai penghitung waktu, untuk
mengidentifikasikan
berapa
lama
(dalam
detik)
sebuah datagram IP boleh terdapat di dalam jaringan.
Adalah router IP yang memantau nilai ini, yang akan
berkurang setiap kali hinggap dalam router.
Protocol
I- 10
8 bit
Digunakan untuk mengidentifikasikan jenis protokol
Bab 1 Pengantar Teknologi Web dan Internet
Field
Panjang Keterangan
lapisan yang lebih tinggi yang dikandung oleh muatan
IP. Field ini merupakan tanda eksplisit untuk protokol
klien. Terdapat beberapa nilai dari field ini, seperti halnya
nilai 1 (0x01) untuk ICMP, 6 (0x06) untuk TCP, dan 17
(0x11)
untuk
UDP
(selengkapnya
lihat
di
bawah). Field ini bertindak sebagai penanda multipleks
(multiplex identifier), sehingga muatan IP pun dapat
diteruskan ke protokol lapisan yang lebih tinggi saat
diterima oleh node yang dituju.
Field ini berguna hanya untuk melakukan pengecekan
integritas terhadap header IP, sementara muatan IP
sendiri tidak dimasukkan ke dalamnya, sehingga muatan
IP
harus
melakukan
memiliki checksum mereka
pengecekan
integritas
IP. Host pengirim
sendiri
terhadap
akan
untuk
muatan
melakukan
pengecekan checksum terhadap datagram
IP yang
dikirimkan. Setiap routeryang berada di dalam jalur
transmisi antara sumber dan tujuan akan melakukan
Header
Checksum
16 bit
verifikasi terhadap field ini sebelum memproses paket.
Jika
verifikasi
dianggap
gagal, router pun
mengabaikan datagram
akan
IP tersebut.
Karena setiap router yang berada di dalam jalur transmisi
antara sumber dan tujuan akan mengurangi nilai TTL,
maka header
checksum pun
akan
berubah
setiap
kali datagram tersebut hinggap di setiap router yang
dilewati.
Pada saat menghitung checksum terhadap semua field di
dalam header IP, nilai header checksum akan diset ke
nilai 0.
Source IP 32 bit
Mengandung alamat
Bab 1 Pengantar Teknologi Web dan Internet
IP dari
sumber host yang
I- 11
Field
Panjang Keterangan
Address
mengirimkan datagram IP
tersebut,
atau
alamat
IP
dari Network Address Translator(NAT).
Destination
IP Address
Mengandung alamat
32 bit
IP tujuan
ke
mana datagram
IP tersebut akan disampaikan, atau yang dapat berupa
alamat dari host atau NAT.
IP Options
and
32 bit
[place holder]
Padding
Type of Service (ToS)
Field Type of Service (ToS) adalah sebuah field dalam header IPv4 yang memiliki
panjang 8 bit dan digunakan untuk menandakan jenis Quality of Service (QoS)
yang digunakan oleh datagram yang bersangkutan untuk disampaikan ke routerrouter internetwork. ToS didefinisikan di dalam dua buah standar, yakni RFC 791
dan RFC 2474.
1.1.4. TCP/IP
TCP/IP (singkatan dari Transmission Control Protocol/Internet Protocol) jika
diterjemahkan adalah Protokol Kendali Transmisi/Protokol Internet, adalah
gabungan dari protokol TCP (Transmission Control Protocol) dan IP (Internet
Protocol) sebagai sekelompok protokol yang mengatur komunikasi data dalam
proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan
internet yang akan memastikan pengiriman data sampai ke alamat yang dituju.
Protokol ini tidaklah dapat berdiri sendiri, karena memang protokol ini berupa
kumpulan protokol (protocol suite). Protokol ini juga merupakan protokol yang
paling banyak digunakan saat ini, karena protokol ini mampu bekerja dan
I- 12
Bab 1 Pengantar Teknologi Web dan Internet
diimplementasikan pada lintas perangkat lunak (software) di berbagai sistem
operasi. Istilah yang diberikan kepada perangkat lunak ini adalah TCP/IP stack.
Protokol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an
sebagai sebuah protokol standar untuk menghubungkan komputer-komputer dan
jaringan untuk membentuk sebuah jaringan yang luas (WAN). TCP/IP merupakan
sebuah standar jaringan terbuka yang bersifat independen terhadap mekanisme
transport jaringan fisik yang digunakan, sehingga dapat digunakan di mana saja.
Protokol ini menggunakan skema pengalamatan yang sederhana yang disebut
sebagai alamat IP (IP Address) yang mengizinkan hingga beberapa ratus juta
komputer untuk dapat saling berhubungan satu sama lainnya di Internet. Protokol
ini juga bersifat routable yang berarti protokol ini cocok untuk menghubungkan
sistem-sistem berbeda (seperti Microsoft Windows dan keluarga UNIX) untuk
membentuk jaringan yang heterogen.
Protokol TCP/IP selalu berevolusi seiring dengan waktu, mengingat semakin
banyaknya kebutuhan terhadap jaringan komputer dan Internet. Pengembangan ini
dilakukan oleh beberapa badan, seperti halnya Internet Society (ISOC), Internet
Architecture Board (IAB), dan Internet Engineering Task Force (IETF). Macammacam protokol yang berjalan di atas TCP/IP, skema pengalamatan, dan konsep
TCP/IP didefinisikan dalam dokumen yang disebut sebagai Request for Comments
(RFC) yang dikeluarkan oleh IETF.
Arsitektur
Arsitektur TCP/IP tidaklah berbasis model referensi tujuh lapis OSI, tetapi
menggunakan model referensi DARPA. Seperti diperlihatkan dalam diagram pada
Gambar 1.2, TCP/IP merngimplemenasikan arsitektur berlapis yang terdiri atas
empat lapis. Empat lapis ini, dapat dipetakan (meski tidak secara langsung)
terhadap model referensi OSI. Empat lapis ini, kadang-kadang disebut sebagai
DARPA Model, Internet Model, atau DoD Model, mengingat TCP/IP merupakan
Bab 1 Pengantar Teknologi Web dan Internet
I- 13
protokol yang awalnya dikembangkan dari proyek ARPANET yang dimulai oleh
Departemen Pertahanan Amerika Serikat.
Gambar 1.2 Arsitektur TCP/IP dibandingkan dengan DARPA dan OSI Layer
Setiap lapisan yang dimiliki oleh kumpulan protokol (protocol suite) TCP/IP
diasosiasikan dengan protokolnya masing-masing. Protokol utama dalam protokol
TCP/IP adalah sebagai berikut:
Protokol lapisan aplikasi: bertanggung jawab untuk menyediakan akses kepada
aplikasi terhadap layanan jaringan TCP/IP. Protokol ini mencakup protokol
Dynamic Host Configuration Protocol (DHCP), Domain Name System (DNS),
Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Telnet,
Simple Mail Transfer Protocol (SMTP), Simple Network Management Protocol
(SNMP), dan masih banyak protokol lainnya. Dalam beberapa implementasi stack
protokol, seperti halnya Microsoft TCP/IP, protokol-protokol lapisan aplikasi
berinteraksi dengan menggunakan antarmuka Windows Sockets (Winsock) atau
NetBIOS over TCP/IP (NetBT).
Protokol lapisan antar-host: berguna untuk membuat komunikasi menggunakan
sesi koneksi yang bersifat connection-oriented atau broadcast yang bersifat
I- 14
Bab 1 Pengantar Teknologi Web dan Internet
connectionless. Protokol dalam lapisan ini adalah Transmission Control Protocol
(TCP) dan User Datagram Protocol (UDP).
Protokol lapisan internetwork: bertanggung jawab untuk melakukan pemetaan
(routing) dan enkapsulasi paket-paket data jaringan menjadi paket-paket IP.
Protokol yang bekerja dalam lapisan ini adalah Internet Protocol (IP), Address
Resolution Protocol (ARP), Internet Control Message Protocol (ICMP), dan
Internet Group Management Protocol (IGMP).
Protokol lapisan antarmuka jaringan: bertanggung jawab untuk meletakkan frameframe jaringan di atas media jaringan yang digunakan. TCP/IP dapat bekerja
dengan banyak teknologi transport, mulai dari teknologi transport dalam LAN
(seperti halnya Ethernet dan Token Ring), MAN dan WAN (seperti halnya dial-up
modem yang berjalan di atas Public Switched Telephone Network (PSTN),
Integrated Services Digital Network (ISDN), serta Asynchronous Transfer Mode
(ATM)).
Pengalamatan
Protokol TCP/IP menggunakan dua buah skema pengalamatan yang dapat
digunakan untuk mengidentifikasikan sebuah komputer dalam sebuah jaringan
atau jaringan dalam sebuah internetwork, yakni sebagai berikut:
•
Pengalamatan IP: yang berupa alamat logis yang terdiri atas 32-bit (empat
oktet
berukuran
8-bit)
yang
umumnya
ditulis
dalam
format
www.xxx.yyy.zzz. Dengan menggunakan subnet mask yang diasosiasikan
dengannya, sebuah alamat IP pun dapat dibagi menjadi dua bagian, yakni
Network Identifier (NetID) yang dapat mengidentifikasikan jaringan lokal
dalam sebuah internetwork dan Host identifier (HostID) yang dapat
mengidentifikasikan host dalam jaringan tersebut. Sebagai contoh, alamat
205.116.008.044 dapat dibagi dengan menggunakan subnet mask
255.255.255.000 ke dalam Network ID 205.116.008.000 dan Host ID 44.
Alamat IP merupakan kewajiban yang harus ditetapkan untuk sebuah host,
yang dapat dilakukan secara manual (statis) atau menggunakan Dynamic
Host Configuration Protocol (DHCP) (dinamis).
Bab 1 Pengantar Teknologi Web dan Internet
I- 15
•
Fully qualified domain name (FQDN): Alamat ini merupakan alamat yang
direpresentasikan dalam nama alfanumerik yang diekspresikan dalam
bentuk
<nama_host>.<nama_domain>,
di
mana
<nama_domain>
mengindentifikasikan jaringan di mana sebuah komputer berada, dan
<nama_host> mengidentifikasikan sebuah komputer dalam jaringan.
Pengalamatan FQDN digunakan oleh skema penamaan domain Domain
Name System (DNS). Sebagai contoh, alamat FQDN id.wikipedia.org
merepresentasikan sebuah host dengan nama "id" yang terdapat di dalam
domain jaringan "wikipedia.org". Nama domain wikipedia.org merupakan
second-level domain yang terdaftar di dalam top-level domain .org, yang
terdaftar dalam root DNS, yang memiliki nama "." (titik). Penggunaan
FQDN lebih bersahabat dan lebih mudah diingat ketimbang dengan
menggunakan alamat IP. Akan tetapi, dalam TCP/IP, agar komunikasi
dapat berjalan, FQDN harus diterjemahkan terlebih dahulu (proses
penerjemahan ini disebut sebagai resolusi nama) ke dalam alamat IP
dengan menggunakan server yang menjalankan DNS, yang disebut dengan
Name Server atau dengan menggunakan berkas hosts (/etc/hosts atau
%systemroot%\system32\drivers\etc\hosts) yang disimpan di dalam mesin
yang bersangkutan.
Konsep dasar
Layanan
Berikut ini merupakan layanan tradisional yang dapat berjalan di atas protokol
TCP/IP:
•
Pengiriman berkas (file
transfer).
File
Transfer
Protocol (FTP)
memungkinkan pengguna komputer yang satu untuk dapat mengirim
ataupun menerima berkas ke sebuah host di dalam jaringan. Metode
otentikasi yang digunakannya adalah penggunaan nama pengguna (user
name) dan password'', meskipun banyak juga FTP yang dapat diakses
secara anonim (anonymous), alias tidak berpassword. (Keterangan lebih
lanjut mengenai FTP dapat dilihat pada RFC 959.)
I- 16
Bab 1 Pengantar Teknologi Web dan Internet
•
Remote
login. Network
terminal
Protocol (telnet)
memungkinkan
pengguna komputer dapat melakukan log in ke dalam suatu komputer di
dalam suatu jaringan secara jarak jauh. Jadi hal ini berarti bahwa pengguna
menggunakan komputernya sebagai perpanjangan tangan dari komputer
jaringan tersebut. (Keterangan lebih lanjut mengenai Telnet dapat dilihat
pada RFC 854 dan RFC 855.)
•
Computer mail. Digunakan untuk menerapkan sistem surat elektronik.
(Keterangan lebih lanjut mengenai e-mail dapat dilihat pada RFC 821 RFC
822.)
•
Network File System (NFS). Pelayanan akses berkas-berkas yang dapat
diakses dari jarak jauh yang memungkinkan klien-klien untuk mengakses
berkas pada komputer jaringan, seolah-olah berkas tersebut disimpan
secara lokal. (Keterangan lebih lanjut mengenai NFS dapat dilihat RFC
1001 dan RFC 1002.)
•
Remote
execution. Memungkinkan
pengguna
komputer
untuk
menjalankan suatu program tertentu di dalam komputer yang berbeda.
Biasanya berguna jika pengguna menggunakan komputer yang terbatas,
sedangkan ia memerlukan sumber yg banyak dalam suatu sistem
komputer.
Ada beberapa jenis remote execution, ada yang berupa perintah-perintah
dasar saja, yaitu yang dapat dijalankan dalam system komputer yang sama
dan ada pula yg menggunakan sistem Remote Procedure Call (RPC), yang
memungkinkan program untuk memanggil subrutin yang akan dijalankan
di sistem komputer yg berbeda. (sebagai contoh dalam Berkeley
UNIX ada perintah rsh dan rexec.)
•
Name
server yang
berguna
sebagai
penyimpanan basis
data nama host yang digunakan pada Internet (Keterangan lebih lanjut
dapat dilihat pada RFC 822 dan RFC 823 yang menjelaskan mengenai
penggunaan protokol name server yang bertujuan untuk menentukan
nama host di Internet.)
Bab 1 Pengantar Teknologi Web dan Internet
I- 17
Bentuk arsitektur
Dikarenakan TCP/IP adalah serangkaian protokol di mana setiap protokol
melakukan sebagian dari keseluruhan tugas komunikasi jaringan, maka tentulah
implementasinya tak lepas dari arsitektur jaringan itu sendiri. Arsitektur rangkaian
protokol TCP/IP mendifinisikan berbagai cara agar TCP/IP dapat saling
menyesuaikan.
Karena TCP/IP merupakan salah satu lapisan protokol Model OSI, berarti bahwa
hierarki TCP/IP merujuk kepada 7 lapisan OSI tersebut. Tiga lapisan teratas biasa
dikenal sebagai "upper level protocol" sedangkan empat lapisan terbawah dikenal
sebagai "lower level protocol". Tiap lapisan berdiri sendiri tetapi fungsi dari
masing-masing lapisan bergantung dari keberhasilan operasi layer sebelumnya.
Sebuah lapisan pengirim hanya perlu berhubungan dengan lapisan yang sama di
penerima (jadi misalnya lapisan data link penerima hanya berhubungan dengan
lapisan data link pengirim) selain dengan satu layer di atas atau di bawahnya
(misalnya lapisan network berhubungan dengan lapisan transport di atasnya atau
dengan lapisan data link di bawahnya).
Model dengan menggunakan lapisan ini merupakan sebuah konsep yang penting
karena suatu fungsi yang rumit yang berkaitan dengan komunikasi dapat
dipecahkan menjadi sejumlah unit yang lebih kecil. Tiap lapisan bertugas
memberikan layanan tertentu pada lapisan diatasnya dan juga melindungi lapisan
diatasnya dari rincian cara pemberian layanan tersebut. Tiap lapisan harus
transparan sehingga modifikasi yang dilakukan atasnya tidak akan menyebabkan
perubahan pada lapisan yang lain. Lapisan menjalankan perannya dalam
pengalihan data dengan mengikuti peraturan yang berlaku untuknya dan hanya
berkomunikasi dengan lapisan yang setingkat. Akibatnya sebuah layer pada satu
sistem tertentu hanya akan berhubungan dengan lapisan yang sama dari sistem
yang lain. Proses ini dikenal sebagai Peer process. Dalam keadaan sebenarnya
tidak ada data yang langsung dialihkan antar lapisan yang sama dari dua sistem
I- 18
Bab 1 Pengantar Teknologi Web dan Internet
yang berbeda ini. Lapisan atas akan memberikan data dan kendali ke lapisan
dibawahnya sampai lapisan yang terendah dicapai. Antara dua lapisan yang
berdekatan terdapat interface (antarmuka). Interface ini mendifinisikan operasi
dan layanan yang diberikan olehnya ke lapisan lebih atas. Tiap lapisan harus
melaksanakan sekumpulan fungsi khusus yang dipahami dengan sempurna.
Himpunan lapisan dan protokol dikenal sebagai "arsitektur jaringan".
1.1.5. Domain Name Server(Sistem Penamaan Domain)
Sistem Penamaan Domain ; SNR (bahasa Inggris: (Domain Name System; DNS)
adalah sebuah sistem yang menyimpan informasi tentang nama host ataupun nama
domain dalam bentuk basis data tersebar (distributed database) di dalam jaringan
komputer, misalkan: Internet. DNS menyediakan alamat IP untuk setiap nama
host dan mendata setiap server transmisi surat (mail exchange server) yang
menerima surel (email) untuk setiap domain. Menurut browser Google Chrome,
DNS adalah layanan jaringan yang menerjemahkan nama situs web menjadi
alamat internet.
DNS menyediakan pelayanan yang cukup penting untuk Internet, ketika perangkat
keras komputer dan jaringan bekerja dengan alamat IP untuk mengerjakan tugas
seperti pengalamatan dan penjaluran (routing), manusia pada umumnya lebih
memilih untuk menggunakan nama host dan nama domain, contohnya adalah
penunjukan sumber universal (URL) dan alamat surel. Analogi yang umum
digunakan untuk menjelaskan fungsinya adalah DNS bisa dianggap seperti buku
telepon internet dimana saat pengguna mengetikkan www.indosat.net.id di
peramban web maka pengguna akan diarahkan ke alamat IP 124.81.92.144 (IPv4)
dan 2001:e00:d:10:3:140::83 (IPv6).
Sejarah singkat DNS
Penggunaan nama sebagai pengabstraksi alamat mesin di sebuah jaringan
komputer yang lebih dikenal oleh manusia mengalahkan TCP/IP, dan kembali ke
Bab 1 Pengantar Teknologi Web dan Internet
I- 19
zaman ARPAnet. Dahulu, seluruh komputer di jaringan komputer menggunakan
file HOSTS.TXT dari SRI (sekarang SIR International), yang memetakan sebuah
alamat ke sebuah nama (secara teknis, file ini masih ada - sebagian besar sistem
operasi modern menggunakannya dengan baik secara baku maupun melalui cara
konfigurasi, dapat melihat Hosts file untuk menyamakan sebuah nama host
menjadi sebuah alamat IP sebelum melakukan pencarian via DNS). Namun,
sistem tersebut di atas mewarisi beberapa keterbatasan yang mencolok dari sisi
prasyarat, setiap saat sebuah alamat komputer berubah, setiap sistem yang hendak
berhubungan dengan komputer tersebut harus melakukan update terhadap file
Hosts.
Dengan berkembangnya jaringan komputer, membutuhkan sistem yang bisa
dikembangkan: sebuah sistem yang bisa mengganti alamat host hanya di satu
tempat, host lain akan mempelajari perubaha tersebut secara dinamis. Inilah DNS.
Paul Mockapetris menemukan DNS pada tahun 1983; spesifikasi asli muncul di
RFC 882 dan 883. Tahun 1987, penerbitan RFC 1034 dan RFC 1035 membuat
update terhadap spesifikasi DNS. Hal ini membuat RFC 882 dan RFC 883 tidak
berlaku lagi. Beberapa RFC terkini telah memproposikan beberapa tambahan dari
protokol inti DNS.
Teori bekerja DNS
Para Pemain Inti
Pengelola dari sistem DNS terdiri dari tiga komponen:
•
DNS resolver, sebuah program klien yang berjalan di komputer pengguna,
yang membuat permintaan DNS dari program aplikasi.
•
recursive DNS server, yang melakukan pencarian melalui DNS sebagai
tanggapan permintaan dari resolver, dan mengembalikan jawaban kepada
para resolver tersebut;
I- 20
Bab 1 Pengantar Teknologi Web dan Internet
•
authoritative DNS server yang memberikan jawaban terhadap permintaan
dari recursor, baik dalam bentuk sebuah jawaban, maupun dalam bentuk
delegasi (misalkan: mereferensikan ke authoritative DNS server lainnya).
Pengertian beberapa bagian dari nama domain
Sebuah nama domain biasanya terdiri dari dua bagian atau lebih (secara teknis
disebut label), dipisahkan dengan titik.
Label paling kanan menyatakan top-level domain - domain tingkat atas/tinggi
(misalkan, alamat www.wikipedia.org memiliki top-level domain org).
Setiap label di sebelah kirinya menyatakan sebuah sub-divisi atau subdomain dari
domain yang lebih tinggi. Catatan: "subdomain" menyatakan ketergantungan
relatif, bukan absolut. Contoh: wikipedia.org merupakan subdomain dari domain
org, dan id.wikipedia.org dapat membentuk subdomain dari domain wikipedia.org
(pada praktiknya, id.wikipedia.org sesungguhnya mewakili sebuah nama host lihat dibawah). Secara teori, pembagian seperti ini dapat mencapai kedalaman 127
level, dan setiap label dapat terbentuk sampai dengan 63 karakter, selama total
nama domain tidak melebihi panjang 255 karakter. Tetapi secara praktik,
beberapa pendaftar nama domain (domain name registry) memiliki batas yang
lebih sedikit.
Terakhir, bagian paling kiri dari bagian nama domain (biasanya) menyatakan
nama host. Sisa dari nama domain menyatakan cara untuk membangun jalur logis
untuk informasi yang dibutuhkan; nama host adalah tujuan sebenarnya dari nama
sistem yang dicari alamat IP-nya. Contoh: nama domain www.wikipedia.org
memiliki nama host "www".
DNS memiliki kumpulan hierarki dari DNS servers. Setiap domain atau
subdomain memiliki satu atau lebih authoritative DNS Servers (server DNS
otorisatif) yang mempublikasikan informasi tentang domain tersebut dan namanama server dari setiap domain di-"bawah"-nya. Pada puncak hirarki, terdapat
root servers- induk server nama: server yang ditanyakan ketika mencari
(menyelesaikan/resolving) dari sebuah nama domain tertinggi (top-level domain).
Bab 1 Pengantar Teknologi Web dan Internet
I- 21
Sebuah contoh dari teori rekursif DNS
Sebuah contoh mungkin dapat memperjelas proses ini. Andaikan ada aplikasi
yang memerlukan pencarian alamat IP dari www.wikipedia.org. Aplikasi tersebut
bertanya ke DNS recursor lokal.
•
Sebelum dimulai, recursor harus mengetahui dimana dapat menemukan
root nameserver; administrator dari recursive DNS server secara manual
mengatur (dan melakukan update secara berkala) sebuah file dengan nama
root hints zone (panduan akar DNS) yang menyatakan alamat-alamt IP
dari para server tersebut.
•
Proses dimulai oleh recursor yang bertanya kepada para root server
tersebut- misalkan: server dengan alamat IP "198.41.0.4" - pertanyaan
"apakah alamat IP dari www.wikipedia.org?"
•
Root server menjawab dengan sebuah delegasi, arti kasarnya: "Saya tidak
tahu alamat IP dari www.wikipedia.org, tapi saya "tahu" bahwa server
DNS di 204.74.112.1 memiliki informasi tentang domain org."
•
Recursor DNS lokal kemudian bertanya kepada server DNS (yaitu:
204.74.112.1) pertanyaan yang sama seperti yang diberikan kepada root
server. "apa alamat IP dari www.wikipedia.org?". (umumnya) akan
didapatkan jawaban yang sejenis, "saya tidak tahu alamat dari
www.wikipedia.org, tapi saya "tahu" bahwa server 207.142.131.234
memiliki informasi dari domain wikipedia.org."
•
Akhirnya,
pertanyaan
beralih
kepada
server
DNS
ketiga
(207.142.131.234), yang menjawab dengan alamat IP yang dibutuhkan.
Proses ini menggunakan pencarian rekursif (recursion/recursive searching).
Pengertian pendaftaran domain dan glue records
Membaca contoh di atas, Anda mungkin bertanya: "bagaimana caranya DNS
server 204.74.112.1 tahu alamat IP mana yang diberikan untuk domain
I- 22
Bab 1 Pengantar Teknologi Web dan Internet
wikipedia.org?" Pada awal proses, kita mencatat bahwa sebuah DNS recursor
memiliki alamat IP dari para root server yang (kurang-lebih) didata secara
eksplisit (hard coded). Mirip dengan hal tersebut, server nama (name server) yang
otoritatif untuk top-level domain mengalami perubahan yang jarang.
Namun, server nama yang memberikan jawaban otorisatif bagi nama domain yang
umum mengalami perubahan yang cukup sering. Sebagai bagian dari proses
pendaftaran sebuah nama domain (dan beberapa waktu sesudahnya), pendaftar
memberikan pendaftaran dengan server nama yang akan mengotorisasikan nama
domain tersebut; maka ketika mendaftar wikipedia.org, domain tersebut
terhubung dengan server nama gunther.bomis.com dan zwinger.wikipedia.org di
pendaftar .org. Kemudian, dari contoh di atas, ketika server dikenali sebagai
204.74.112.1 menerima sebuah permintaan, DNS server memindai daftar domain
yang ada, mencari wikipedia.org, dan mengembalikan server nama yang
terhubung dengan domain tersebut.
Biasanya, server nama muncul berdasarkan urutan nama, selain berdasarkan
alamat IP. Hal ini menimbulkan string lain dari permintaan DNS untuk
menyelesaikan nama dari server nama; ketika sebuah alamat IP dari server nama
mendapatkan sebuah pendaftaran di zona induk, para programmer jaringan
komputer menamakannya sebuah glue record.
DNS dalam Praktik
Ketika sebuah aplikasi (misalkan web broswer), hendak mencari alamat IP dari
sebuah nama domain, aplikasi tersebut tidak harus mengikuti seluruh langkah
yang disebutkan dalam teori di atas. Kita akan melihat dulu konsep caching, lalu
mengartikan operasi DNS di "dunia nyata".
Caching dan masa hidup (caching and time to live)
Bab 1 Pengantar Teknologi Web dan Internet
I- 23
Karena jumlah permintaan yang besar dari sistem seperti DNS, perancang DNS
menginginkan penyediaan mekanisme yang bisa mengurangi beban dari masingmasing server DNS. Rencana mekanisnya menyarankan bahwa ketika
sebuah DNS resolver (klien) menerima sebuah jawaban DNS, informasi tersebut
akan di cache untuk jangka waktu tertentu. Sebuah nilai (yang di-set oleh
administrator dari server DNS yang memberikan jawaban) menyebutnya
sebagai time to live (masa hidup), atau TTL yang mendefinisikan periode tersebut.
Saat jawaban masuk ke dalam cache, resolver akan mengacu kepada jawaban
yang disimpan di cache tersebut; hanya ketika TTL usai (atau saat administrator
mengosongkan
jawaban
dari
memori resolver secara
manual)
maka resolver menghubungi server DNS untuk informasi yang sama.
Waktu propagasi (propagation time)
Satu akibat penting dari arsitektur tersebar dan cache adalah perubahan kepada
suatu DNS terkadang efektif secara langsung dalam skala besar/global. Contoh
berikut mungkin akan menjelaskannya: Jika seorang administrator telah
mengatur TTL selama 6 jam untuk host www.wikipedia.org, kemudian mengganti
alamat
IP
dari www.wikipedia.orgpada
mempertimbangkan
bahwa
ada
pk
(paling
12:01,
tidak)
administrator
satu
individu
harus
yang
menyimpan cache jawaban dengan nilai lama pada pk 12:00 yang tidak akan
menghubungi server DNS sampai dengan pk 18:00. Periode antara pk 12:00 dan
pk 18:00 dalam contoh ini disebut sebagai waktu propagasi (propagation time),
yang bisa didefiniskan sebagai periode waktu yang berawal antara saat terjadi
perubahan dari data DNS, dan berakhir sesudah waktu maksimum yang telah
ditentukan oleh TTL berlalu. Ini akan mengarahkan kepada pertimbangan logis
yang penting ketika membuat perubahan kepada DNS: tidak semua akan melihat
hal yang sama seperti yang Anda lihat. RFC1537 dapat membantu penjelasan ini.
DNS di dunia Nyata
Di dunia nyata, user tidak berhadapan langsung dengan DNS resolver - mereka
berhadapan
dengan
program
seperti web
brower (Mozilla
Firefox, Safari, Opera, Internet Explorer, Netscape, Konqueror dan lain-lain dan
I- 24
Bab 1 Pengantar Teknologi Web dan Internet
klien mail (Outlook Express, Mozilla Thunderbird dan lain-lain). Ketika user
melakukan aktivitas yang meminta pencarian DNS (umumnya, nyaris semua
aktivitas yang menggunakan Internet), program tersebut mengirimkan permintaan
ke DNS Resolver yang ada di dalam sistem operasi.
DNS resolver akan selalu memiliki cache (lihat di atas) yang memiliki isi
pencarian terakhir. Jika cache dapat memberikan jawaban kepada permintaan
DNS, resolver akan menggunakan nilai yang ada di dalam cache kepada program
yang
memerlukan.
Kalau cache tidak
memiliki
jawabannya, resolver akan
mengirimkan permintaan ke server DNS tertentu. Untuk kebanyakan pengguna di
rumah, Internet Service Provider(ISP) yang menghubungkan komputer tersebut
biasanya akan menyediakan server DNS: pengguna tersebut akan mendata alamat
server secara manual atau menggunakan DHCP untuk melakukan pendataan
tersebut. Namun jika administrator sistem / pengguna telah mengkonfigurasi
sistem untuk menggunakan server DNS selain yang diberikan secara default oleh
ISP
misalnya
seperti Google
Public
DNS ataupun OpenDNS, maka DNS
resolver akan mengacu ke DNS server yang sudah ditentukan. Server nama ini
akan mengikuti proses yang disebutkan di Teori DNS, baik mereka menemukan
jawabannya maupun tidak. Hasil pencarian akan diberikan kepada DNS resolver;
diasumsikan telah ditemukan jawaban, resolver akan menyimpan hasilnya
di cache untuk penggunaan berikutnya, dan memberikan hasilnya kepada software
yang meminta pencarian DNS tersebut.
Sebagai bagian akhir dari kerumitan ini, beberapa aplikasi seperti web
browser juga memiliki DNS cache mereka sendiri, tujuannya adalah untuk
mengurangi penggunaan referensi DNS resolver, yang akan meningkatkan
kesulitan untuk melakukan debug DNS, yang menimbulkan kerancuan data yang
lebih akurat. Cache seperti ini umumnya memiliki masa yang singkat dalam
hitungan 1 menit.
Penerapan DNS lainnya
Sistem yang dijabarkan di atas memberikan skenario yang disederhanakan. DNS
meliputi beberapa fungsi lainnya:
Bab 1 Pengantar Teknologi Web dan Internet
I- 25
•
Nama host dan alamat IP tidak berarti terhubung secara satu-banding-satu.
Banyak nama host yang diwakili melalui alamat IP tunggal: gabungan
dengan pengasuhan maya(virtual hosting), hal ini memungkinkan satu
komputer untuk malayani beberapa situs web. Selain itu, sebuah nama host
dapat mewakili beberapa alamat IP: ini akan membantu toleransi
kesalahan (fault tolerance dan penyebaran beban (load distribution), juga
membantu suatu situs berpindah dari satu lokasi fisik ke lokasi fisik
lainnya secara mudah.
•
Ada cukup banyak kegunaan DNS selain menerjemahkan nama ke alamat
IP.
Contoh:,
agen
pemindahan
surat Mail
transfer
agents(MTA) menggunakan DNS untuk mencari tujuan pengiriman Email untuk
alamat
tertentu.
Domain
yang
menginformasikan
pemetaan exchange disediakan melalui rekod MX (MX record) yang
meningkatkan lapisan tambahan untuk toleransi kesalahan dan penyebaran
beban selain dari fungsi pemetaan nama ke alamat IP.
•
Kerangka Peraturan Pengiriman (Sender Policy Framework) secara
kontroversi menggunakan keuntungan jenis rekod DNS, dikenal sebagai
rekod TXT.
•
Menyediakan keluwesan untuk kegagalan komputer, beberapa server DNS
memberikan perlindungan untuk setiap domain. Tepatnya, tigabelas server
akar (root servers) digunakan oleh seluruh dunia. Program DNS maupun
sistem operasi memiliki alamat IP dari seluruh server ini. Amerika Serikat
memiliki, secara angka, semua kecuali tiga dari server akar tersebut.
Namun, dikarenakan banyak server akar menerapkan anycast, yang
memungkinkan beberapa komputer yang berbeda dapat berbagi alamat IP
yang sama untuk mengirimkan satu jenis services melalui area geografis
yang luas, banyak server yang secara fisik (bukan sekedar angka) terletak
di luar Amerika Serikat.
DNS
menggunakan TCP dan UDP di port
komputer 53
untuk
melayani
permintaan DNS. Nyaris semua permintaan DNS berisi permintaan UDP tunggal
I- 26
Bab 1 Pengantar Teknologi Web dan Internet
dari klien yang dikuti oleh jawaban UDP tunggal dari server. Umumnya TCP ikut
terlibat hanya ketika ukuran data jawaban melebihi 512 byte, atau untuk
pertukaaran zona DNS zone transfer
Jenis-jenis catatan DNS
Beberapa kelompok penting dari data yang disimpan di dalam DNS adalah
sebagai berikut:
•
A record atau catatan alamat memetakan sebuah nama host ke alamat IP
32-bit (untuk IPv4).
•
AAAA record atau catatan alamat IPv6 memetakan sebuah nama host
ke alamat IP 128-bit (untuk IPv6).
•
CNAME record atau catatan nama kanonik membuat alias untuk nama
domain. Domain yang di-alias-kan memiliki seluruh subdomain dan rekod
DNS seperti aslinya.
•
[MX record]]' atau catatan pertukaran surat memetakan sebuah nama
domain ke dalam daftar mail exchange server untuk domain tersebut.
•
PTR record atau catatan penunjuk memetakan sebuah nama host ke
nama kanonik untuk host tersebut. Pembuatan rekod PTR untuk sebuah
nama host di dalam domainin-addr.arpa yang mewakili sebuah alamat IP
menerapkan pencarian balik DNS (reverse DNS lookup) untuk alamat
tersebut.
Contohnya
(saat
penulisan
/
penerjemahan
artikel
ini), www.icann.net memiliki alamat IP 192.0.34.164, tetapi sebuah rekod
PTR
memetakan
,,164.34.0.192.in-addr.arpa
ke
nama
kanoniknya: referrals.icann.org.
•
NS record atau catatan server nama memetakan sebuah nama domain ke
dalam satu daftar dari server DNS untuk domain tersebut. Pewakilan
bergantung kepada rekod NS.
Bab 1 Pengantar Teknologi Web dan Internet
I- 27
•
SOA record atau catatan otoritas awal (Start of Authority) mengacu
server DNS yang mengediakan otorisasi informasi tentang sebuah domain
Internet.
•
SRV record adalah catatan lokasi secara umum.
•
Catatan TXT mengijinkan administrator untuk memasukan data acak ke
dalam catatan DNS; catatan ini juga digunakan di spesifikasi Sender
Policy Framework.
Jenis catatan lainnya semata-mata untuk penyediaan informasi (contohnya,
catatan LOC memberikan letak lokasi fisik dari sebuah host, atau data ujicoba
(misalkan, catatanWKS memberikan sebuah daftar dari server yang memberikan
servis yang dikenal (well-known service) seperti HTTP atau POP3 untuk sebuah
domain.
Nama Domain yang Diinternasionalkan
Nama domain harus menggunakan satu sub-kumpulan dari karakter ASCII, hal ini
mencegah beberapa bahasa untuk menggunakan nama maupun kata lokal
mereka. ICANN telah menyetujui Punycode yang berbasiskan sistem IDNA, yang
memetakan string Unicode ke karakter set yang valid untuk DNS, sebagai bentuk
penyelesaian untuk masalah ini, dan beberapa registries sudah mengadopsi
metode IDNS ini.
Perangkat lunak DNS
Beberapa jenis perangkat lunak yang menerapkan metode DNS, di antaranya:
•
BIND (Berkeley Internet Name Domain)
•
djbdns (Daniel J. Bernstein's DNS)
•
MaraDNS
•
QIP (Lucent Technologies)
•
NSD (Name Server Daemon)
I- 28
Bab 1 Pengantar Teknologi Web dan Internet
•
Unbound
•
PowerDNS
•
Microsoft DNS (untuk edisi server dari Windows 2000 dan Windows
2003)
Utiliti berorientasi DNS termasuk:
•
dig (domain information groper)
Pengguna Legal dari Domain
Pendaftar (registrant)
Tidak satupun individu di dunia yang "memiliki" nama domain kecuali Network
Information Centre (NIC), atau pendaftar nama domain (domain name registry).
Sebagian besar dari NIC di dunia menerima biaya tahunan dari para pengguna
legal dengan tujuan bagi si pengguna legal menggunakan nama domain tersebut.
Jadi sejenis perjanjian sewa-menyewa terjadi, bergantung kepada syarat dan
ketentuan pendaftar. Bergantung kepada beberpa peraturan penamaan dari para
pendaftar, pengguna legal dikenal sebagai "pendaftar" (registrants) atau sebagai
"pemegang domain" (domain holders)
ICANN memegang daftar lengkap untuk pendaftar domain di seluruh dunia.
Siapapun dapat menemukan pengguna legal dari sebuah domain dengan mencari
melalui basis data WHOIS yang disimpan oleh beberpa pendaftar domain.
Di (lebih kurang) 240 country code top-level domains (ccTLDs), pendaftar
domain memegang sebuah acuan WHOIS (pendaftar dan nama server).
Contohnya, IDNIC, NIC Indonesia, memegang informasi otorisatif WHOIS untuk
nama domain .ID.
Namun, beberapa pendaftar domain, seperti VeriSign, menggunakan model
pendaftar-pengguna. Untuk nama domain .COM dan .NET, pendaftar domain,
VeriSign memegang informasi dasar WHOIS (pemegang domain dan server
Bab 1 Pengantar Teknologi Web dan Internet
I- 29
nama). Siapapun dapat mencari detail WHOIS (Pemegang domain, server nama,
tanggal berlaku, dan lain sebagainya) melalui pendaftar.
Sejak sekitar 2001, kebanyakan pendaftar gTLD (.ORG, .BIZ, .INFO) telah
mengadopsi metode pendaftar "tebal", menyimpan otoritatif WHOIS di beberapa
pendaftar dan bukan pendaftar itu saja.
Kontak Administratif (Administrative Contact)
Satu pemegang domain biasanya menunjuk kontak administratif untuk menangani
nama domain. Fungsi manajemen didelegasikan ke kontak administratif yang
mencakup (diantaranya):
•
keharusan untuk mengikuti syarat dari pendaftar domain dengan tujuan
memiliki hak untuk menggunakan nama domain
•
otorisasi untuk melakukan pemutakhiran ke alamat fisik, alamat surel dan
nomor telepon dan lain sebagainya via WHOIS
Kontak Teknis (Technical Contact)
Satu kontak teknis menangani server nama dari sebuah nama domain. Beberapa
dari banyak fungsi kontak teknis termasuk:
•
memastikan bahwa konfigurasi dari nama domain mengikuti syarat dari
pendaftar domain
•
pemutakhiran zona domain
•
menyediakan fungsi 24x7 untuk ke server nama (yang membuat nama
domain bisa diakses)
Kontak Pembayaran (Billing Contact)
Tidak perlu dijelaskan, pihak ini adalah yang menerima tagihan dari NIC.
Server Nama (Name Servers)
I- 30
Bab 1 Pengantar Teknologi Web dan Internet
Disebut sebagai server nama otoritatif yang mengasuh zona nama domain dari
sebuah nama domain.
Politik
Banyak penyelidikan telah menyuarakan kritik dari metode yang digunakan
sekarang untuk mengatur kepemilikan domain. Umumnya, kritik mengklaim
penyalahgunaan dengan monopoli, seperti VeriSign Inc dan masalah-masalah
dengan
penunjukkan
dari
top-level
domain (TLD).
Lembaga
international ICANN (Internet Corporation for Assigned Names and Numbers)
memelihara industri nama domain.
1.2
Web Master dan Pemrograman Web
1.2.1 Pengertian Web Master
Pada dunia Teknologi Informasi (TI), banyak istilah profesi khususnya yang
berhubungan dengan web. Beberapa diantaranya adalah web designer, web
programer, web administrator dan, web animator. Secara umum, webmaster
mancangkup semua profesi tersebut. Webmaster adalah sebutan untuk orang
yang ahli dalam dunia web sehingga seorang webmaster tidak hanya dapat
mendesain halaman web saja, tetapi juga harus dapat membuat sistemnya dan
merawat website tersebut hingga tetap ada dan mencegahnya dari kerusakan yang
dapat terjadi.
Seorang webmaster adalah seorang yang melakukan hal sebagai berikut :
-
Membuat materi atau isi situs web (Content Creation)
-
Mendesain arsitektur situs web (Architectural Design)
-
Menerapkan aplikasi situs web (Implemetation)
-
Membuat tampilan situs web (Visual Design)
-
Mengelola situs web (Management)
Sacara garis besar dapat disimpulkan tugas seorang webmaster bertanggung jawab
untuk merencanakan, merancang, mengelola dan memelihara situs web agar tetap
berjalan dengan baik. Membuat situs web dapat dinikmati pengunjung
menjaganya dari kerusakan dan pelangaran yang datang dari dalam maupun dari
luar yang dapat disebabkan oleh ulah manusia maupun perangkat lunak.
Bab 1 Pengantar Teknologi Web dan Internet
I- 31
1.2.2. Penjelasan Tugas Web Master
Berikut dapat dijelaskan secara rinci tugas dari masing-masing profesi yang
dicakup oleh webmaster.
• Web Designer.
Web designer adalah orang yang tugasnya mendesain halaman web. Sebagai
seorang desainer harus mempunyai jiwa seni dan terampil dalam menggambar.
Pemilihan bentuk desain, pemilihan warna yang akan digunakan merupakan
penentu akhir desain yang dapat membuat pengunjung tertarik melihat halaman
web yang dirancangnya. Beberapa hal yang penting bagi seorang web designer
dalam merancang halaman web adalah sebagai berikut:
-
Dalam mendesain dan merancang halaman web, perhatikan kompatibilitas
resolusi monitor pengunjung.
-
Desain harus dirancang semenarik mungkin dan sesuai dengan tujuan
situs.
-
Desain yang dirancang harus mengikuti trend yang ada.
-
Penggunakan warna tidak terlalu terang ataupun terlalu gelap.
-
Desain yang durancang harus ditujukan dengan kepuasan pengunjung atau
orang banyak.
Beberapa software bantu yang dapat digunakan oleh web Designer untuk
mendesain halaman web adalah Adobe Phostoshop, Adobe Illustrator, Fireworks,
dsb.
•
Web Programmer.
Web Programmer sebenarnya sama dengan Web Developer. Web Progammer
harus menguasai beberapa bahasa pemograman web seperti HTML, DHTML,
Javascript, VBscript, Applet, ASP, PHP, ColdFusion, WML, XML dan masih
banyak lagi.
Tugas seorang Web Programmer adalah sebagai berikut :
-
Membuat coding agar dapat di-compile oleh browser.
-
Membuat sistem berjalan dengan baik.
-
Membuat, merancang dan mengelola basis data yang digunakan dari
sistem yang telah direncanakan.
I- 32
Menggabungkan antara desain dan program berjalan menjadi satu.
Bab 1 Pengantar Teknologi Web dan Internet
Beberapa software bantu yang dapat digunakan yaitu Macromedia Dreamweaver,
Microsoft FrontPage, Macromedia Homesite, Notepad, PHP Editor, dan masih
banyak lagi.
•
Web Animator.
Sesuai dengan namanya, tugas seorang Web Animator hanya membuat animasi
yang dapat menarik perhatian dan dinikmati oleh pengunjung. Dalam membuat
animasi, Web Animator harus memperhatikan rancangan website yang ada
sehingga animasi yang dihasilkan tidak akan merusak atau memperburuk desain
website yang ada. Beberapa software bantu yang dapat digunakan untuk membuat
animasi yaitu Macromedia Flash, SWISH, Gif animator, Swift 3D, LiveMotion
dan lain-lain.
•
Web Administrator.
Web Administrator bertanggung jawab atas berjalanya sebuah situs ketika sudah
selesai dibuat. Seorang Web Administrator harus mengetahui dan menguasai
perbedaan web server yang ada. Baik itu dari segi kelebihan maupun
kekurangannya.
Tugas Web administrator adalah sebagai berikut :
-
Melakukan instalasi, mengatur konfigurasi server, dan merawatnya agar
dapat digunakan dengan baik.
-
Memelihara server agar dapat digunakan selama 24 jam penuh.
-
Menjaga keutuhan data yang ada di dalam server.
-
Mengatur domain-domain (DNS) yang digunakan.
-
Mengatur account dan password yang digunakan baik untuk admin
maupun user.
-
Mengatur konfigurasi keamanan server dan firewall.
Seorang web administrator setidaknya dia harus menguasai IIS, Apache Server,
Telnet, Windows NT/2000, Linux, Solaris.
1.2.3 Tahap Pembangunan Situs
Seorang Web Master professional merancang suatu situs sama seperti merancang
suatu aplikasi perangkat lunak (Software). Ada tahapan-tahapan yang harus
dilakukan untuk membuat suatu sistem situs. Setiap tahapan yang telah selesai
Bab 1 Pengantar Teknologi Web dan Internet
I- 33
dilakukan, harus dilakukan analisa apakah sistem yang sedang dibangun sudah
berjalan dengan baik. Secara garis besar tahapan dalam pembangunan situs
sebagai berikut :
Website
System
Planning
Designing
Scripting
Testing
Promotion
Maintenance
Gambar 1.3 Tahapan pembangunan Situs
Gambar anak panah menunjukan jika terjadi kesalahan atau masalah pada sistem
maka tidak perlu mengulang dari tahapan awal, tetapi hanya mengulang pada
tahapan yang ingin diperbaiki saja.
 Planning (Perencanaan)
Proses pembuatan sistem situs dimulai dengan proses perencanaan. Pada tahap ini
berfungsi menentukan tujuan dari situs yang akan dibuat.
Kegiatan yang
dilakukan ialah analisa dan pengumpulan data yang diperlukan oleh situs,
kemudian menempatkan beberapa kebutuhan tersebut ke dalam situs yang akan
dikembangkan .
 Design (Desain)
I- 34
Bab 1 Pengantar Teknologi Web dan Internet
Dari informasi dan data yang dikumpulkan pada tahap perencanaan, tahap
berikutnya adalah melakukan desain terhadap tampilan halaman depan dan
halaman dalam situs. Desain diperlukan dalam masalah keindahan situs. Hal ini
dapat berupa kombinasi warna- warni unik, tata letak, jenis huruf yang membuat
isi situs memikat dan mudah untuk dibaca. Desain situs juga harus memberikan
‘imej’ yang tak terlupakan yang akan membedakan situs untuk saingan-saingan
lainnya. Keputusan tentang bagaimana situs harus berinteraksi dengan para
pengunjung sehingga memudahkan mereka bernavigasi di situs dan bagaimana
informasi dikategorikan sehingga para pengunjung dapat mengakses informasi
yang mereka kehendaki, secepat mungkin ditentukan dalam tahap ini.
 Scripting (Pemrograman)
Tahap ini merelisasikan ide – ide dari tahap-tahap sebelumnya ke situs dalam
sebuah situs. Produksi meliputi teknologi yang digunakan untuk menjadikan ideide dalam tahap desain, selanjutnya melakukan scripting
dari hasil desain
tersebut ke dalam bahasa web.
 Testing (Uji coba)
Pengujian dilakukan untuk menyakinkan jikalau semua halaman situs telah
terhubung dengan benar dan semua link eksternal situs web terjaga. Tahap ini
menguji fungsionalitas dari fomulir-fomulir interaktif dan validasi penginputan
data oleh pengunjung. Tahap ini dapat dikatakan sebagai kotrol pengujian
kualitas, bila di server local maupun di server hosting terhadap file-file yang
sudah di-upload.
 Promotion (Promosi)
Setelah melakukan tahap uji coba, saatnya untuk meluncurkan situs web ke
internet untuk mendeklarasi keberadaannya kepada dunia. Promosi merupakan
tahap yang sangat penting untuk membuat situs dikenal, baik melalui media
offline maupun online.
 Maintenance (Pemeliharan)
Setelah situs diluncurkan, maka diperlukan tahap pemeliharaan terhadap situs
tersebut. Pemeliharaan menjaga kesegaran situs dengan isi-isi yang terbaru.
Server yang digunakan juga harus terus dipelihara agar keamanan situs terjga
dari serangan-serangan hacker. Pada tahap ini juga meliputi pengubahan struktur
Bab 1 Pengantar Teknologi Web dan Internet
I- 35
situs yang ada atau penambahan fitur-fitur baru sesuai dengan perkembangan
teknologi untuk menambah ketertarikan para pengunjung terhadap situs.
Pembangunan dan pengembangan sebuah situs yang sukses tidak pernah bisa
selesai.
1.2.4 Web Hosting
Web hosting adalah salah satu bentuk layanan jasa penyewaan tempat
penyimpanan data / file yang berkapasitas Megabytes (Mb) hingga Terabytes (Tb)
di internet yang memungkinkan perorangan atau organisasi menampilkan jasa
atau produknya di web / situs internet. Layanan jasa ini terkoneksi ke internet
selama 24 jam sehingga data tersebut dapat direquest atau diakses oleh user dari
semua tempat secara simultan. Hal inilah yang menyebabkan sebuah website
dapat dikases bersamaan dalam satu waktu oleh multi user.
Kecepatan menyebarkan informasi tentang jasa, produk layanan publik dan lainya
merupakan salah satu tolak ukur keberhasilan bisnis perorangan atau perusahaan.
Contoh pertama: di Indonesia dengan sekitar 100 juta pengguna telepon genggam
yang tentu saja dapat tersambung ke internet melalui gprs, tidak ada alasan lagi
untuk tidak tersambung ke dunia maya, bahkan didaerah terpencil sekalipun.
1.2.5 Pemrograman
Pemrograman (programming) merupakan suatu metode untuk membuat suatu
aplikasi menggunakan bahasa pemograman. Bahasa pemrograman adalah bahasa
yang dapat dimengerti oleh komputer untuk mengolah sesuatu, yang berasal dari
masukan (input) user. Dalam pemograman dibutuhkan pemikiran dan logika
yang sangat kuat untuk membuat suatu algoritma yang dapat menghasilkan suatu
aplikasi yang baik, karena banyak perhitungan matematis didalamnya.
Untuk memahami suatu bahasa pemograman, maka tidak harus mempelajari
semuanya. Setidaknya yang harus dimengerti adalah dasar pemograman seperti
memahami apa itu variabel, konsep bahasa pemograman, alur logika dan lainnya.
Mempelajari suatu bahasa pemograman tidak terlalu sulit karena dapat dimulai
I- 36
Bab 1 Pengantar Teknologi Web dan Internet
dengan mempelajari sintaks dan memperbanyak latihan menulis kodenya. Dalam
dunia pemograman terdapat beberapa istilah yang dibagi menurut hasil atau media
aplikasinya, yaitu :
-
Desktop Programming.
Pada desktop programming, hasil aplikasinya berjalan pada sistem operasi dan
berdiri sendiri. Beberapa contoh aplikasinya adalah aplikasi basis data, aplikasi
multimedia,aplikasi visual, aplikasi word processor dan sebagainya.
-
Web Programming
Aplikasi yang dihasilkan pada web programming digunakan pada media web dan
membutuhkan browser sebagai tool untuk melihat hasilnya.
-
Mobile Programming
Mobile programming termasuk pemograman yang baru, karena pada mobile
programming beberapa tahun ini digunakan secara besar-besaran untuk
menghasilkan aplikasi yang dapat berjalan pada media mobile (ponsel dan PDA).
1.2.6 Pemrograman Berbasis Web
Pemrograman berbasis web adalah salah satu penerapan multi tier application.
Multi tier application adalah aplikasi yang dibagi menjadi beberapa bagian yang
menjalankan fungsi masing-masing. Secara umum, ada tiga bagian utama dari
multi tier application:
Client side presentation
Server side business logic
Backend storage
1.
Client Side Presentation
Client side presentation mengatur bagaimana aplikasi berinteraksi dengan user.
Yang dimaksud dengan interaksi antara lain adalah bagaimana data ditampilkan,
bagaimana fungsi dan fitur aplikasi ditampilkan. Dalam aplikasi berbasis web,
client side presentation dibuat dengan bahasa HTML, CSS, dan JavaScript.
Beberapa tool yang digunakan untuk membuat client side presentation
diantaranya Microsoft Frontpage,
Macromedia Dreamweaver, dan sebagainya. Client side presentation berbasis web
contohnya adalah tampilan aplikasi email yang kita buka dengan browser.
Bab 1 Pengantar Teknologi Web dan Internet
I- 37
2.
Server Side Business Logic
Server side business logic, sering disebut juga middle tier, adalah bagian yang
bertanggung jawab atas cara kerja aplikasi. Di dalamnya kita mengatur bagaimana
fungsi dan fitur aplikasi dapat bekerja dengan baik. Dalam aplikasi berbasis web,
ada beberapa alternatif yang dapat digunakan, ditentukan oleh jenis platiform
yang digunakan. Alternatif ini akan dijelaskan lebih detail pada bagian
selanjutnya.
3.
Back End Storage
Bagian ini mengatur cara penyimpanan data. Penyimpanan data merupakan materi
yang cukup kompleks dalam pembangunan aplikasi. Karena kecepatan, keutuhan,
dan keamanan data merupakan faktor kritis dalam aplikasi. Ada banyak solusi
database yang tersedia di pasaran. Pada umumnya, database yang digunakan
bertipe relasional (Relational Database Management System – RDBMS).
Manajemen data dilakukan dengan bahasa SQL (Standard Query Language).
1.2.7 Komponen Pemrograman Berbasis Web
Perangkat lunak berbasis web dibangun atas tiga
komponen yakni
komponen basis data, komponen perangkat tengah dan komponen web server.
Untuk mengaktifkan perangkat lunak berbasis web diperlukan web browser
dengan cara mengakses suatu alamat tertentu. Setiap komponen terdapat
perangkat lunak bantu yang dapat dipergunakan dalam merealisasikan perangkat
lunak berbasis web. Gambar dibawah ini menunjukkan suatu arsitektur sistem
berbasis web yaitu :
I- 38
Bab 1 Pengantar Teknologi Web dan Internet
Gambar 1.3 Arsitektur Sistem Berbasis Web
Sumber :
Greenspan, Jay & Bulger, Brad : “MySQL/PHP Database Applications”.
M&T Books, 2001. http://www.idgbooks.com
1.2.8 Keuntungan Mengembangkan Aplikasi Berbasis Web
Mengembangkan aplikasi dengan menggunakan teknologi Web akan lebih
menguntungan daripada mengembangkan aplikasi sistem informasi tradisional
dan end-user. Tentu saja pernyataan ini benar jika aplikasi dikembangkan untuk
pemakai internal pada intranet atau pemakai luar (eksternal) dengan menggunakan
Web.
 Sudut Pandang Pemakai
Pemakai internal tentunya menginginkan kemudahan dalam akses informasi,
sedangkan pemakai luar menginginkan menggunakan database dan aplikasi yang
disediakan untuk diakses. Oleh karena itu harus dapat mengembangkan suatu
aplikasi
yang
mudah
digunakan,
menarik
serta
handal
bagi
user.
Berikut dibawah hanya beberapa keuntungan bagi pemakai :
•
GUI (Graphical User Interfaces)
•
Aplikasi dan query language bagi user adalah abstrak. User hanya
diperhadapkan pada form saja. Di sini user tidak perlu memiliki
pengetahuan tentang aplikasi ataupun parameter serta input yang valid,
Bab 1 Pengantar Teknologi Web dan Internet
I- 39
apalagi mengenai struktur table (record), user tidak perlu mengetahui hal
tersebut. Form-input digunakan untuk mengkoleksi informasi yang
diperlukan untuk sebuah query database yang disusun oleh aplikasi.
•
Browser Customization.
•
Akses yang mudah dan cepat untuk informasi, database dan aplikasi.
Suatu informasi akan tidak berguna jika pemakai tidak dapat membaca dan
memanfaatkan informasi tersebut. Aplikasi Web menjembatani keadaan
tersebut, dimana jika user tidak mengetahui harus bagaimana mengakses
dokumen dan database yang tersedia.
 Sudut Pandang Pengembang
Dengan adanya teknologi Web ini, pengembang memperoleh beberapa
keuntungan :
•
Teknologi web merupakan teknologi standard. Aplikasi web dibangun
berdasarkan pada protokol standard seperti TCP/IP dan HTTP. Hal
tersebut
mengakibatkan
pengembang
dapat
berkonsentrasi
pada
pengembangan aplikasi, tidak perlu memikirkan bagaimana program
koneksinya. Dalam membangun aplikasi web, tidak mungkin terlepas dari
pemakaian HTML (Hypertext Markup Language). HTML bukanlah suatu
bahasa seperti C/C++, Pascal, Basic. HTML hanyalah merupakan file text
ASCII yang berisi dokumen dengan pemformatannya ditandai dengan
suatu tag-tag (penandaan). Pengembang dapat menggunakan HTML ini
untuk menyatakan suatu aplikasi, image, dan menyediakan akses ke
program (pada server) dengan menggunakan CGI dan Web Server API5
ataupun Java. Selain itu, pada HTML dapat ditambahkan client-side
scripting (menggunakan VBScript, JavaScript, Jscript misalnya) dan
control ActiveX yang dapat membuat suatu halaman HTML menjadi lebih
interaktif.
•
Proses mempelajari lebih mudah dari tool development yang tradisional.
•
Kompatible terhadap segala platform komputer.
•
Mudah untuk melakukan integrasi, oleh karena HTML menyediakan
kemampuan untuk melakukan permintaan server-side program lewat CGI
atau Web Server API. Pengembang hanya cukup mengetahui bagaimana
I- 40
Bab 1 Pengantar Teknologi Web dan Internet
bekerja di dalam lingkungan CGI atau Web Server API dalam rangka
mengintegrasikan program CGI/API dengan aplikasi baru atau yang sudah
ada seperti database atau utiliti graphics-generate.
•
Cepat dalam mengembangkan GUI. Hal ini jelas, dengan HTML maka
dapat dengan segera menghasilkan suatu tampilan dokumen informasi
yang sangat interaktif. Apalagi ditambah kemampuan dari Web server
menangani banyak header MIME dari berbagai macam dokumen dan
aplikasi, demikian juga web browser.
TUGAS
Untuk dapat lebih memahami materi Bab 1, akan diberikan tugas presentasi untuk
setiap sub bab.
Bab 1 Pengantar Teknologi Web dan Internet
I- 41
I- 42
Bab 1 Pengantar Teknologi Web dan Internet
BAB II
INSTALASI APLIKASI PERANGKAT
LUNAK BERBASIS WEB
Tujuan Pembelajaran :
Mengerjakan instalasi perangkat lunak aplikasi web PHP, MYSQL
dan APACHE
Bab 2 Instalasi Perangkat Lunak Berbasis Web
II- 1
2.1 Persiapan dan Instalasi Sistem Web Server APACHE
Perangkat Lunak utama untuk melakukan pemrograman berbasis web yang
dibutuhkan antara lain :
•
Apache Web Server sebagai perangkat lunak web server (yang digunakan
pada bahasan kali ini adalah versi 2.2.4)
•
PHP sebagai perangkat lunak tengah (middleware) (yang digunakan pada
bahasan kali ini menggunakan versi PHP 5.2.2)
•
MySQL sebagai perangkat lunak basis data (yang digunakan pada bahasan
kali ini menggunakan versi MySQL 5.0.41)
Versi perangkat lunak di atas akan selalu mengalami perubahan yang terbaru
sehingga tidak menutup kemungkinan penggunaan versi yang terbaru.
Pemrograman berbasis web dapat lebih mudah dilakukan dibantu dengan
perangkat lunak bantu / tambahan, yakni :
•
MySQL-Front
adalah
perangkat
lunak
bantu
untuk
melakukan
pemrograman basis data pada pemrograman web.
•
Macromedia Dreamweaver
Perangkat lunak di atas dapat digunakan untuk melakukan coding
atau
scripting pada pemrograman berbasis web.
•
Xampp adalah perangkat lunak bantu yang dapat digunakan untuk
melakukan pemrograman berbasis web tanpa harus melakukan instalasi
paket perangkat lunak yang terpisah-pisah. Perangkat lunak web server,
perangkat lunak tengah dan perangkat lunak basis data telah terintegrasi
dalam satu paket perangkat lunak Xampp. Xampp yang digunakan pada
bahasan kali ini adalah Xampp 1.6.2 yang telah mencakup ketiga perangkat
lunak utama di atas (Apache Web Server 2.2.4, PHP 5.2.2, MySQL 5.0.41).
2.2 Instalasi dan Konfigurasi MySQL
Saat ini untuk pembuatan aplikasi berbasis web sudah ada aplikasi terintegrasi
dimana sudah tersedia basis data, aplikasi pemrograman web dan web server.
Aplikasi ini dapat diinstal di komputer lokal. Salah satu aplikasi jenis adalah
II- 2
Bab 2 Instalasi Perangkat Lunak Berbasis Web
XAMPP. XAMPP merupakan singkatan dari Cross-Platform (X), Apache (A),
MySQL (M), PHP (P) dan Perl (P). XAMPP dibuat selengkap itu dengan tujuan
memudahkan bagi para pengembang untuk membuat web server lokal untuk
tujuan pengujian.
XAMPP menyediakan semua yang kita butuhkan untuk membuat sebuah web
server – server aplikasi (Apache), database (MySQL), dan bahasa scripting (PHP).
XAMPP juga cross-platform, yang berarti bisa bekerja sama dengan baik di
Linux, Mac dan Windows.
Karena sebagian besar penyebaran web server yang sebenarnya (secara online)
menggunakan komponen yang sama seperti XAMPP, sehingga membuat transisi
dari server lokal ke server online sangat mudah.
Pada tutorial ini menggunakan XAMPP Windows versi 1.8.2, mungkin sekarang
sudah ada update terbaru dari XAMPP. Jika menemukan XAMPP versi terbaru
dari yang versi yang digunakan pada tutorial ini, masih bisa mengikuti tutorial ini
karena cara install XAMPP dari versi ke versi tidak ada perubahan yang
mencolok.
XAMPP tersedia dalam tiga format file:
EXE , .7z – File 7zip, ZIP – Compressed file zip. Dari ketiga format tersebut,
yang paling mudah untuk diinstall adalah yang format EXE, karena itu dalam
tutorial ini akan menggunakan format EXE.
Jika ingin men-download yang versi 1.8.2, dapat di-download instaler XAMPP
versi tersebut dengan mengunjungi url download dibawah ini (Ukuran 102MB).
“http://download.s32cdn.com/20/198081/858013/xamppwin321.8.20VC9installer.
exe”
Atau ingin men-download yang versi terbaru dengan mengunjungi url halaman:
https://www.apachefriends.org/download.html
Cara Install XAMPP di Windows
Bab 2 Instalasi Perangkat Lunak Berbasis Web
II- 3
Ikuti langkah-langkah untuk menginstall XAMPP dibawah ini:
Langkah 1: Non-aktifkan anti-virus karena dapat menyebabkan beberapa
komponen XAMPP tidak bisa di Install dengan lancar.
Langkah 2: Untuk pengguna Windows 7, Anda akan melihat jendela pop up,
peringatan tentang User Account Control (UAC) yang aktif pada sistem. Klik
“OK” untuk melanjutkan instalasi.
Klik tombol “OK”
Langkah 3: Mulai proses instalasi dengan klik dua kali pada instaler XAMPP.
Klik ‘Next’ setelah splash screen.
Klik “Next”
II- 4
Bab 2 Instalasi Perangkat Lunak Berbasis Web
Langkah 4: Di sini, kita dapat memilih komponen yang ingin kita instal. Pilih
pilihan default dan klik ‘Next’.
Pilih Komponen
Langkah 5: Pilih folder sebagai tempat XAMPP akan diinstal, di folder ini akan
menampung semua file aplikasi web kita, jadi pastikan untuk memilih drive yang
memiliki banyak ruang(space).
Bab 2 Instalasi Perangkat Lunak Berbasis Web
II- 5
Pilih Folder
Langkah 6: Layar berikutnya adalah promo untuk BitNami, sebuah toko aplikasi
untuk server perangkat lunak. Hapus kotak centang ‘Learn more about BitNami
for XAMPP’.
Hapus Centang
II- 6
Bab 2 Instalasi Perangkat Lunak Berbasis Web
Langkah 7: Sekarang Setup sudah siap untuk menginstall XAMPP. Klik Next
dan tunggu instaler untuk membongkar paket-nya dan memasang komponen yang
dipilih. Mungkin memakan waktu beberapa menit. Nanti mungkin kita akan
diminta untuk menyetujui akses Firewall untuk komponen tertentu (seperti
Apache) selama proses instalasi.
Langkah 8: Proses Install sudah selesai! Pilih Kotak centang ‘Do you want to
start the Control Panel now?’ untuk membuka panel kontrol XAMPP.
Centang Untuk Memulai
Cara menggunakan XAMPP Control Panel
XAMPP control panel memberi kita kontrol penuh atas semua komponen
XAMPP yang telah di Install. Kita dapat menggunakan Control Panel untuk
memulai / menghentikan modul yang berbeda, meluncurkan Unix shell, membuka
Windows explorer sampai melihat semua operasi yang sedang berjalan di balik
layar. Berikut ini adalah gambaran singkat dari Control Panel. Untuk saat ini, kita
hanya perlu tahu bagaimana untuk memulai dan menghentikan server Apache.
Bab 2 Instalasi Perangkat Lunak Berbasis Web
II- 7
Untuk melakukan konfigurasi MySQL, dapat dilakukan dengan mengaktifkan
MySQL melalui Xampp Control Panel.
Tugas: Lakukan konfigurasi MySQL sampai dapat difungsikan dengan baik.
2.3 Instalasi APACHE dan PHP
Karena xampp adalah sebuah aplikasi terintegrasi sebuah web server maka
sebagai tugas: lakukan konfigurasi server APACHE dan PHP sehingga dapat
berfungsi dengan baik.
II- 8
Bab 2 Instalasi Perangkat Lunak Berbasis Web
BAB 3
PERINTAH/TAG HTML DASAR
Tujuan Pembelajaran:
Memahami kaidah penulisan dan mempraktikkan tag
dasar
3.1
Pendahuluan HTML
3.2
Struktur
3.3
Text
3.4
List
3.5
Tautan/link
3.6
Gambar
3.7
Tabel
3.8
Form
3.9
Flash, Audio dan Video
Bab 3 Perintah/Tag HTML Dasar
HTML
III- 1
3.1 Pendahuluan HTML
Di kehidupan sehari-hari, kita sudah sangat sering mengakses dokumen tercetak
seperti surat kabar, laporan dan dokumen jenis lain. Halaman web yang sering kita
akses juga sebenarnya ada kumpulan dokumen juga dan memiliki kemiripan
dengan dokumen yang biasa kita akses. Kalau kita ambil surat kabar sebagai salah
satu dokumen catak, bila diperhatikan memiliki struktur seperti : ada beberapa
artikel dalam satu halaman dimana setiap artikel ada judul artikel atau heading
kemudian ada sub judul dan beberapa paragraf serta satu atau beberapa gambar.
Saat ini beberapa surat kabar sudah mulai terbit secara online. Dari strukurnya,
dokumen surat kabar cetak dan online memiliki kemiripan, yakni adanya
heading/judul, sub judul, paragraf dan gambar. Namun tetap ada perbedaan. Pada
surat kabar tercetak, satu halaman memuat beberapa artikel sekaligus. Kalau kita
bandingkan dengan versi online, biasanya versi yang ini hanya memuat beberapa
headline saja dari berita dan untuk lebih detailnya terdapat dalam satu halaman
tersendiri.
3.2 Struktur
Dokumen web memiliki kemiripan dengan dokumen yang biasa kita baca. Namun
tetap ada perbedaan. Di semua jenis dokumen yang kita kenal, struktur dokumen
adalah unsur yang penting bagi pembaca dalam memahami pesan yang
disampaikan dan panduan dalam navigasi dokumen. Untuk membuat halaman
web, sangat penting untuk dapat memahami struktur dokumen.
Sebuah dokumen web ditulis menggunakan HTML (Hyper Text Markup
Language). Sebuah dokumen web yang menggunakan HTML yang memiliki
struktur
<html>
<body>
<h1>Bagian ini adalah Kepala Dokumen Utama</h1>
<p>Bagian ini adalah paragraf yang menjelaskan secara detail judul yang
ada pada Kepala Dokumen. Apabila paragraf ini panjang, maka
biasanya akan dibagi ke dalam sub-sub paragraf atau judul.<p>
<h2>Bagian ini adalah sub judul</h2>
III- 2
Bab 3 Perintah/Tag HTML Dasar
<p>Banyak artikel memiliki sub judul untuk membantu pembaca struktur
tulisan yang sedang dibaca. Ada beberapa macam sub-sub judul lain
yang levelnya lebih rendah.</p>
<h2>Bagian ini adalah sub judul yang lain</h2>
<p>Paragraf ini menjelaskan sub judul lain di atas.</p>
</body>
</html>
Kode HTML (yang dicetak tebal) terdiri atas karakter yang diapit oleh tanda
kurung, yang disebut sebagai elemen HTML. Elemen biasanya terdiri atas dua
buah tag, yaknik tag pembuka dan penutup. Tag penutup memiliki tambahan
simbol slash (/). Setiap elemen HTML akan memberitahu kepada browser tentang
informasi yang berada diantara tag pembuka dan penutup. Dokumen HTML
menggunakan elemen untuk menjelaskan struktur dari dokumen. Tag bertindak
sebagai wadah yang memberi informasi tindakan apa yang harus dilakukan
terhadap dokumen yang berada diantara tag pembuka dan penutup.
Kalau diperhatikan, sebuah tag terdiri atas :
Karakter
<p>
Kurung sebelah kiri
(seperti tanda kurang dari)
Kurung sebelah kanan
(seperti tanda lebih dari)
Tag pembuka
Bab 3 Perintah/Tag HTML Dasar
III- 3
Karakter yang berada di dalam kurung menandakan tujuan dari tag. Misalnya
pada contoh di atas huruf p menandakan bahwa karakter tersebut adalah sebuah
paragraf. Untuk tag penutup ada tambahan simbol garis miring slash.
Karakter
</p>
Simbol garis miring/slash
Kurung sebelah kiri
(seperti tanda kurang dari)
Kurung sebelah kanan
(seperti tanda lebih dari)
Tag penutup
Sering kali sebuah dokumen HTML yang diapit tag ditambahkan atribut sebagai
pelengkap perlakuan dari sebuah dokumen. Atribut memberikan tambahan
informasi tentang konten dari sebuah elemen. Atribut muncul pada tag pembuka
dari elemen dan terdiri atas dua bagian yakni nama dan nilai atribut yang
dipisahkan oleh tanda sama dengan. Struktur atribut adalah sebagai berikut :
Nama atribut
<p lang="en-us">Paragraph in English</p>
Nilai atribut
III- 4
Bab 3 Perintah/Tag HTML Dasar
Nama dari atribut menunjukan informasi tambahan apa yang ada pada konten
elemen dan ditulis menggunakan huruf kecil. Sedangkan value adalah nilai atau
seting dari atribut dan harus ditulis dengan diapit oleh tanda kutip ganda. Atribut
yang berbeda akan memiliki value yang berbeda. Pada contoh di atas, atribut lang
adalah untuk bahasa yang digunakan pada elemen yang dalam hal ini bernilai “enus” yang berarti bahasa Inggris-Amerika.
Body, Head dan Title
<body>
Segala sesuatu yang diapit oleh tag ini akan muncul di dalam halaman utama
sebuah browser. Contoh :
<html>
<head>
<title>Bagian ini adalah Judul Halaman</title>
</head>
<body>
<h1>Bagian ini adalah Tubuh/body dari Halaman web</h1>
<p>Segala sesuatu yang berada di sini akan ditampilkan pada
main browser window.</p>
</body>
</html>
<head> dan <title>
Pada tag ini akan menampilkan judul tab dari sebuah halaman web yang di dalam
tag <head> ini terdapat tag <title>. Apabila kode HTML di atas ditampilkan pada
browser maka tampilannya adalah sebagai berikut
Segala yang tertulis pada
tag title akan muncul di sini
Segala yang tertulis pada
tag body akan muncul di sini
Bab 3 Perintah/Tag HTML Dasar
III- 5
Gambar 3.1 Contoh Tampilan di web Browser untuk tag body
Praktik
Untuk lebih memahami tentang struktur HTML, lakukan praktik berikut:
1
Buka aplikasi pengolah kata, misalkan notepad
2
Tuliskan kode HTML berikut pada notepad
3
<html>
<head>
<title>Bagian ini adalah Judul Halaman</title>
</head>
<body>
<h1>Bagian ini adalah Tubuh/body dari Halaman web</h1>
<p>Segala sesuatu yang berada di sini akan ditampilkan pada
main browser window.</p>
</body>
</html>
Setelah selesai, simpan file di atas dengan format nama_file.html atau
nama_file.htm dan jangan lupa untuk pilihan Save as type pilihlah All files.
4
Buka file yang telah disimpan di atas menggunakan web browser, anda dapat
memilihnya apakah menggunakan Internet Explorer(IE), Mozilla Fire Fox,
Google Chrome atau yang lain.
5
Perhatikan hasil yang muncul dan catat bagian-bagian yang ada untuk setiap
tag body, head dan title.
3.3. Text
Ketika membuat sebuah halaman web, Anda menambahkan tag (dikenal sebagai
markup) untuk isi halaman. Tag ini memberikan makna tambahan dan
memungkinkan browser untuk menunjukkan penggunaan struktur yang tepat
untuk halaman.
Heading
HTML memiliki 6 tingkat untuk heading yakni yang terbesar adalah <h1> untuk
heading utama dan <h2> adalah untuk sub heading. Apabila ada sub heading yang
lebih kecil lagi dapat menggunakan <h3> dan seterusnya sampai yang paling kecil
<h6>. Praktikan contoh berikut:
1. Buka notepad
2. Tuliskan kode HTML berikut
III- 6
Bab 3 Perintah/Tag HTML Dasar
<html>
<head>
<title>Bagian ini adalah Judul Halaman</title>
</head>
<body>
<h1>Heading Utama</h1>
<h2>Sub Heading</h2>
<h3>Sub Heading</h3>
<h4>Sub Heading</h4>
<h5>Sub Heading</h5>
<h6>Sub Heading</h6>
</body>
</html>
3. Simpan dengan nama file misalnya heading.html
4. Buka file heading.html dengan web browser yang anda miliki
5. Perhatikan perbedaan antara <h1> sampai dengan <6>
Paragraf
Untuk membuat sebuah paragraf, batasi kalimat yang akan dijadikan paragraf
dengan tag <p> dan ditutup dengan </p>. Secara default, browser akan
menampilkan setiap paragraf pada baris baru dengan beberapa ruang antara itu
dan setiap paragraf berikutnya. Untuk lebih jelasnya, lakukan praktik berikut:
1. Buka Notepad
2. Tulis kode HTML berikut
<p>A paragraph consists of one or more sentences
that form a self-contained unit of discourse. The
start of a paragraph is indicated by a new
line.</p>
<p>Text is easier to understand when it is split up
into units of text. For example, a book may have
chapters. Chapters can have subheadings. Under
each heading there will be one or more
Bab 3 Perintah/Tag HTML Dasar
III- 7
paragraphs.</p>
3. Simpan kode HTML di atas dengan nama file paragraf.html
4. Buka dengan web browser
5. Perhatikan hasilnya
Bold dan Italic
Sering kali dalam menulis paragraf, kita memerlukan penekanan pada kata-kata
tertentu sebagai kata kunci. Biasanya yang digunakan adalah kata tersebut dicetak
tebal(bold) atau miring(italic). Tag HTML yang dapat digunakan untuk mencetak
kata atau kalimat dengan cetak tebal adalah <b> ....</b> dan untuk cetak miring
menggunakan <i>...</i>. Untuk lebih jelasnya lakukan praktik berikut:
1. Buka notepad
2. Tuliskan kode HTML berikut ini
<p>This is how we make a word appear <b>bold.</b>
</p>
<p>Inside a product description you might see some
<b>key features</b> in bold.</p>
<p>This is how we make a word appear <i>italic</i>.
</p>
<p>It's a potato <i>Solanum teberosum</i>.</p>
<p>Captain Cook sailed to Australia on the
<i>Endeavour</i>.</p>
3. Simpan kode HTML di atas dengan nama file bold-italic.html
4. Buka dengan web browser dan perhatikan bagian mana yang dicetak tebal
dan miring.
3.4. List
Ketika kita akan menuliskan pada halaman web beberapa item dalam daftar, maka
dapat digunakan list. Ada dua macam list yakni :
•
Ordered List, yaitu list dimana setiap item di dalam list diberi nomor urut.
•
Unordered List, yaitu list yang diawali simbol bullet bukan angka atau
karakter terurut,
III- 8
Bab 3 Perintah/Tag HTML Dasar
•
Definition List,
yaitu suatu list yang biasanya digunakan untuk
mendefinisikan sebuah istilah.
Ordered List
Ordered list dibuat dengan menggunakan tag pembuka <ol> dan penutup </ol>.
Sedangkan untuk item di dalam list menggunakan tag pembuka <li> dan penutup
</li>. Agar lebih memahaminya, lakukan langkah berikut,
1. Buka Notepad
2. Ketikan kode HTML berikut ini
<ol>
<li>Masukan kopi ke dalam gelas</li>
<li>Tambahkan gula secukupnya atau sesuai selera</li>
<li>Tambahkan creamer yang diinginkan</li>
<li>Masukan air panas ke dalam campuran kopi, gula dan creamer</li>
<li>Aduk-aduk sampai semua larut</li>
<li>Kopi hangat siap dihidangkan</li>
</ol>
3. Simpan file di atas dengan nama file order-list.htm
4. Buka file order-list.htm di web browser
5. Browser akan mengurutkan order list secara default menggunakan angka
Unordered List
Untuk membuat unordered list, digunakan tag <ul> dan </ul>. Setiap item di
dalam list diapit oleh <li> dan </li>. Untuk lebih jelas, lakukan langkah berikut,
1. Buka Notepad
2. Tuliskan kode HTML berikut
<ul>
<li>1 kg kentang</li>
<li>100 ml susu segar</li>
<li>50g roti tawar</li>
<li>Mentega secukupnya</li>
<li>Garam dan lada secukupnya</li>
</ul>
Bab 3 Perintah/Tag HTML Dasar
III- 9
3. Simpan dengan nama file unordered-list.html
4. Buka di web browser.
Definition List
Untuk membuat definition list digunakan tag <dl> yang diikuti oleh serangkaian
istilah dan definisinya. Di dalam elemen <dl> terbagi lagi atas elemen <dt> dan
<dd>. Elemen <dt> untuk istilah yang akan dijabarkan definisinya dalam elemen
<dd>. Untuk lebih memahaminya, lakukan praktik berikut
1. Buka Notepad
2. Tulis kode HTML berikut
<dl>
<dt>Sashimi</dt>
<dd>Sliced raw fish that is served with
condiments such as shredded daikon radish or
ginger root, wasabi and soy sauce</dd>
<dt>Scale</dt>
<dd>A device used to accurately measure the
weight of ingredients</dd>
<dd>A technique by which the scales are removed
from the skin of a fish</dd>
<dt>Scamorze</dt>
<dt>Scamorzo</dt>
<dd>An Italian cheese usually made from whole
cow's milk (although it was traditionally made
from buffalo milk)</dd>
</dl>
3. Simpan file dengan nama definition-list.html
4. Buka file tersebut di atas pada web browser dan perhatikan hasilnya
3.5. Tautan/Link
Link adalah fitur web yang memungkinkan Anda untuk berpindah dari satu
halaman web ke halaman yang lain sehingga muncul istilah browsing atau surfing.
Link dibuat menggunakan elemen <a>. Pengguna dapat mengklik tautan yang
III- 10
Bab 3 Perintah/Tag HTML Dasar
terletak antara <a> dan </a>. Untuk menunjukkan ke halaman web mana tautan
tersebut menuju, digunakan atribut href. Berikut formatnya
Ini adalah halaman web yang
dituju oleh link
Ini adalah teks yang akan diklik
oleh pengguna
<a href=http://www.pnj.ac.id>PNJ</a>
Tag tautan/link pembuka
Tag tautan/link penutup
Tautan ke Situs Lain
Link yang dibuat menggunakan elemen <a> dengan memiliki atribut disebut href.
Nilai dari atribut href adalah halaman yang ingin dituju ketika diklik pada link.
Pengguna dapat mengklik apa pun yang muncul antara pembuka tag <a> dan
penutup tag </a> dan akan dibawa ke halaman yang ditentukan dalam atribut href.
Ketika link ke sebuah website berbeda, nilai href atribut akan menjadi web penuh
untuk situs, yang dikenal sebagai URL absolut. Browser menunjukkan link
menggunakan warna biru dengan digarisbawahi secara default. Untuk lebih jelas,
lakukan praktik berikut
1. Buka Notepad
2. Tuliskan kode HTML berikut ini
<p>Jurusan Teknik di PNJ:
<ul>
<li><a href="http://www.elektro.pnj.ac.id">Teknik Elektro</a></li>
<li><a href="http://www.mesin.pnj.ac.id">Teknik Mesin</a></li>
<li><a href="http://www.sipil.pnj.ac.id">Teknik Sipil</a></li>
</ul>
</p>Simpan dengan nama file tautan.html
3. Buka file tautan.html menggunakan web browser
4. Perhatikan hasil yang diperoleh
URL singkatan dari Uniform Resource Locator. Setiap halaman web memiliki
URL sendiri. Ini adalah alamat web yang akan ketik ke browser jika ingin
Bab 3 Perintah/Tag HTML Dasar
III- 11
mengunjungi halaman tertentu. URL absolut dimulai dengan nama domain untuk
situs tersebut, dan dapat diikuti oleh tautan ke halaman tertentu. Jika tidak ada
halaman yang ditentukan, situs akan menampilkan homepage.
Tautan ke Halaman Lain pada Situs yang Sama
Ketika Anda terhubung ke lain halaman dalam situs yang sama, Anda tidak perlu
menentukan nama domain dalam URL. Kamu dapat menggunakan singkatan
dikenal sebagai URL relatif. Jika semua halaman situs yang di folder yang sama,
maka nilai dari atribut href hanyalah nama file. Jika Anda memiliki halaman yang
berbeda dari situs di folder yang berbeda, maka Anda dapat menggunakan sedikit
lebih kompleks sintaks untuk menunjukkan di mana Halaman ini dalam kaitannya
dengan halaman saat ini. Untuk lebih jelas, lakukan praktik berikut
1. Buka notepad
2. Tulis kode HTML berikut
<p>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="about-us.html">About</a></li>
<li><a href="movies.html">Movies</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</p>
3. Simpan dengan nama file link-halaman.html
4. Buka file link-halaman.html pada web browser
Struktur Direktori
Pada situs yang lebih besar, adalah merupakan ide yang baik untuk mengatur
kode Anda dengan menempatkan halaman untuk setiap bagian yang berbeda dari
situs ke folder baru. Folder pada situs kadang-kadang disebut sebagai direktori.
Direktori adalah hanya nama lain untuk folder di situs web; dengan cara yang
sama bahwa hard drive Anda berisi folder yang berbeda, sebuah situs web dapat
dikatakan mengandung direktori. Biasanya Anda akan menemukan bahwa situs
web berisi beberapa direktori, dan bahwa setiap direktori berisi bagian-bagian
III- 12
Bab 3 Perintah/Tag HTML Dasar
yang berbeda dari situs web. Misalnya, situs besar dengan beberapa subbagian
akan memiliki direktori terpisah untuk setiap bagian dari situs tersebut, dan juga
direktori yang berbeda untuk berbagai jenis file (misalnya, gambar dapat berada
dalam satu direktori dan style sheet di lain). Dengan cara yang sama bahwa
mungkin Anda mengatur file pada hard drive Anda ke dalam folder terpisah, itu
adalah penting untuk mengatur file di website Anda ke direktori sehingga Anda
dapat menemukan apa yang Anda cari untuk lebih mudah dan tetap mengontrol
semua file. Seperti yang dapat Anda bayangkan, jika semua file yang digunakan
dalam website berada di direktori yang sama, direktori yang cepat akan menjadi
sangat besar dan rumit. Gambar 3.2 menunjukkan struktur direktori contoh untuk
situs berita, dengan folder terpisah untuk setiap bagian. Perhatikan juga
bagaimana bagian Musik memiliki folder tersendiri bagi subbagian tentang Fitur,
MP3, dan Ulasan. Selain itu, folder utama memiliki folder terpisah untuk berbagai
jenis file yang digunakan di situs: gambar, script, dan style sheet.
Gambar 3.2 Struktur Direktori
Link ke Email
Anda mungkin pernah melihat link yang menunjukkan alamat e-mail, yang ketika
diklik membuka e-mail baru dalam mail program, siap untuk mengirim e-mail ke
alamat tersebut. Untuk membuat link ke alamat e-mail, Anda perlu menggunakan
sintaks berikut dengan <a> elemen:
Bab 3 Perintah/Tag HTML Dasar
III- 13
<a href=”mailto:[email protected]”>[email protected]</a>
Di sini, nilai atribut href dimulai dengan kata kunci mailto, diikuti oleh titik dua,
dan kemudian e-mail yang ingin Anda kirim. Seperti link lain, isi dari elemen <a>
dapat pula berupa link yang akan ditampilkan dalam browser seperti berikut,
<a href=”mailto:[email protected]”>E-mail kami</a>
Ada satu resiko ketika menempatkan alamat e-mail pada halaman web. Orangorang yang tidak bertanggungjawab menggunakan program kecil untuk secara
otomatis mampu mencari situs web yang terdapat alamat e-mail. Setelah mereka
menemukan alamat e-mail di situs web, mereka akan mulai mengirim spam ke
alamat tersebut. Agar lebih dapat memahami, lakukan praktik berikut
1. Buka Notepad
2. Tulis kode HTML berikut
<html>
<head>
<title> Cafe Mbal-Mbul - community cafe in Depok, West Java,
Indonesia </title>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-88591”/>
</head>
<body>
<h1> MBAL-MBUL CAFE </h1>
<div>
<a href=”index.html”>HOME</a>
<a href=”menu.html”>MENU</a>
<a href=”recipes.html”>RECIPES</a>
</div>
<h2> Contact </h2>
<p><address> G Building Politeknik Negeri Jakarta</address></p>
<p><a
href="http://maps.google.com/maps?q=politeknik
negeri
jakarta">Find us on Google Maps</a>
III- 14
Bab 3 Perintah/Tag HTML Dasar
</p>
<p><a href="mailto:[email protected]"> Mail Mbal-Mbul Cafe
</a></p>
</body>
</html>
3. Simpan dengan nama file link-email.html
4. Buka di web browser
Membuka Link pada Window Baru
Jika Anda ingin link untuk membuka pada window baru, Anda dapat
menggunakan atribut Target pada pembukaan tag <a>. Nilai ini atribut harus diisi
blank. Salah satu alasan yang paling umum kenapa link harus dibuka di jendela
baru adalah jika menunjuk ke website lain. Dalam beberapa kasus, mereka
berharap pengguna akan kembali ke jendela yang berisi Situs mereka setelah
menyelesaikan melihat yang lain. Lakukan praktik berikut
1. Buka notepad
2. Tulis kode HTML berikut
<a href="http://www.imdb.com" target="_blank">
Internet Movie Database</a> (Buka pada Window yang baru)
3. Simpan dengan nama file link-window-baru.html
4. Buka di web browser.
Link ke Lokasi Tertentu pada Halaman Web yang Sama
Di bagian atas dari halaman web yang panjang, kita mungkin ingin menambahkan
daftar isi yang menghubungkan ke bagian lain yang berada jauh di bawah
halaman. Atau Anda mungkin ingin menambahkan link dari bagian paling bawah
halaman untuk kembali ke atas. Sebelum Anda dapat link ke bagian tertentu dari
halaman, Anda perlu mengidentifikasi titik-titik di halaman untuk dijadikan link.
Anda ini menggunakan atribut id (yang dapat digunakan pada setiap HTML
elemen). Dapat dilihat bahwa elemen <h1> dan <h2> dalam contoh ini telah
diberikan atribut id yang mengidentifikasi bagian dari halaman. Nilai atribut id
harus dimulai dengan huruf atau digarisbawahi (bukan angka atau karakter lain)
Bab 3 Perintah/Tag HTML Dasar
III- 15
dan pada halaman, ada dua atribut id yang harus memiliki nilai yang sama. Untuk
link ke sebuah elemen yang menggunakan atribut id Anda menggunakan <a> tapi
nilai atribut href dimulai dengan simbol #, diikuti oleh nilai atribut id dari elemen
yang ingin di-lin. Di contoh ini, <a href="#top"> link ke elemen <h1> di bagian
atas halaman yang id atribut memiliki nilai top. Berikut praktik yang harus
dilakukan
1. Buka notepad
2. Tulis kode berikut
<h1 id="top">Film-Making Terms</h1>
<a href="#arc_shot">Arc Shot</a><br />
<a href="#interlude">Interlude</a><br />
<a href="#prologue">Prologue</a><br /><br />
<h2 id="arc_shot">Arc Shot</h2>
<p>A shot in which the subject is photographed by an
encircling or moving camera</p>
<h2 id="interlude">Interlude</h2>
<p>A brief, intervening film scene or sequence, not
specifically tied to the plot, that appears
within a film</p>
<h2 id="prologue">Prologue</h2>
<p>A speech, preface, introduction, or brief scene
preceding the the main action or plot of a film;
contrast to epilogue</p>
<p><a href="#top">Top</a></p>
3. Simpan dengan nama file link-halaman.html
4. Buka dengan web browser
3.6. Gambar
Banyak alasan mengapa kita ingin menambahkan gambar pada halaman web yang
kita buat. Agar lebih informatif, biasanya sebuah halaman web berisi gambar
berupa logo, diagram blok, foto, ilustrasi atau grafik. Kalau kita membuat web
III- 16
Bab 3 Perintah/Tag HTML Dasar
dari awal, sebaiknya semua gambar yang akan ditampilkan di web diletakkan di
dalam satu folder.
Untuk menambahkan gambar pada halaman web, tag yang digunakan adalah
<img>. Contoh penulisan kode programnya:
<img src="D:/Logo_Politeknik_Negeri_Jakarta.jpg" alt="Logo PNJ"/>
src berisi sumber dimana letak file gambar berada. Alt menjelaskan tentang
deskripsi gambar seandainya gambar tidak muncul. Dapat pula ditambahkan
atribut title untuk memberi penjelasan gambar ketika kursor diletakan pada
gambar. Untuk mengatur tinggi dan lebar gambar pada halaman web, dapat
menggunakan atribut <height> dan <width> dalam satuan piksel.
Tata Letak Gambar
Di mana gambar ditempatkan dalam kode akan mempengaruhi bagaimana ia
ditampilkan. Berikut adalah tiga contoh penempatan gambar yang menghasilkan
hasil yang berbeda:
1. Sebelum Paragraf. Paragraf akan terletak di bawah setelah gambar
2. Di dalam dari awal sebuah paragraf. Gambar akan berada pada baris
pertama dari paragraf
3. Di tengah paragraf. Gambar akan ada di tengah paragraf.
Beriku contoh penempatan ketiga posisi gambar di atas. Terlebih dahulu siapkan
sebuah file gambar dan letakan di sebuah folder tertentu. Sebelumnya telah
disimpan sebuah gambar dengan nama file dengan nama Rhoma_Irama.png di
folder D:/Bahan Ajar Multimedia/Gambar/ Rhoma_Irama.png sebagai letak
dimana gambar berada.
1. Buka notepad
2. Tulis kode HTML berikut
<img
src="D:/Bahan
Ajar
Multimedia/Gambar/Rhoma_Irama.png"
alt="Bang Haji" width="100" height="100" />
<p>Pada tahun tujuh puluhan, Rhoma sudah menjadi penyanyi dan musisi
ternama setelah jatuh bangun dalam mendirikan band musik, mulai dari
band Gayhand tahun 1963. Tak lama kemudian, ia pindah masuk Orkes
Chandra Leka, sampai akhirnya membentuk band sendiri bernama Soneta
Bab 3 Perintah/Tag HTML Dasar
III- 17
yang sejak 13 Oktober 1973 mulai berkibar. Bersama grup Soneta yang
dipimpinnya, Rhoma tercatat pernah memperoleh 11 Golden Record dari
kaset-kasetnya.</p>
<hr />
<p><img src="D:/Bahan Ajar Multimedia/Gambar/Rhoma_Irama.png"
alt="Bang Haji" width="100" height="100" />Berdasarkan data penjualan
kaset, dan jumlah penonton film-film yang dibintanginya, penggemar
Rhoma tidak kurang dari 15 juta atau 10% penduduk Indonesia. Ini catatan
sampai pertengahan 1984. "Tak ada jenis kesenian mutakhir yang
memiliki lingkup sedemikian luas", tulis majalah TEMPO, 30 Juni 1984.
Sementara itu, Rhoma sendiri bilang, "Saya takut publikasi. Ternyata, saya
sudah terseret jauh."</p>
<hr />
<p>Rhoma Irama terhitung sebagai salah satu penghibur yang paling
sukses dalam mengumpulkan massa. Rhoma Irama bukan hanya tampil di
dalam negeri tapi ia juga pernah tampil di Kuala Lumpur, Singapura, dan
Brunei dengan jumlah penonton yang hampir sama ketika ia tampil di
Indonesia. <img src="D:/Bahan Ajar
Multimedia/Gambar/Rhoma_Irama.png" alt="Bang Haji" width="100"
height="100" />Sering dalam konser Rhoma Irama, penonton jatuh
pingsan akibat berdesakan.Orang menyebut musik Rhoma adalah musik
dangdut, sementara ia sendiri lebih suka bila musiknya disebut sebagai
irama Melayu.</p>
3. Simpan file dengan nama file letak-gambar.html
4. Buka file letak-gambar.html pada web browser
5. Perhatikan masing letak gambar yang tampil
HTML 5 : Figure dan Figure Caption
Gambar sering datang dengan keterangan. HTML5 telah memperkenalkan elemen
baru yaitu <figure> untuk memberi keterangan gambar sehingga keduanya terkait.
Anda dapat memiliki lebih dari satu gambar di dalam elemen <figure> selama
mereka semua berbagi judul yang sama. Berikut contohnya:
III- 18
Bab 3 Perintah/Tag HTML Dasar
1. Buka Notepad
2. Tulis kode HTML berikut
<figure>
<img src="D:/Bahan Ajar Multimedia/Gambar/sea-otters.jpg"
alt="Foto dua ekor berang-berang mengambang di air">
<br />
<figcaption>Berang-berang berpegangan tangan
pada saat mereka tidur sehingga mereke tidak
terpisah satu sama lain.</figcaption>
</figure>
3. Simpan dengan nama file keterangan-gambar.html
4. Buka di web browser
3.7. Tabel
Ada beberapa jenis informasi yang perlu ditampilkan dalam bentuk grid atau
tabel. Sebagai contoh: hasil olahraga, saham laporan, jadwal kereta. Grid
memungkinkan kita untuk memahami data yang kompleks dengan referensi
informasi pada dua sumbu. Setiap blok di grid disebut sebagai sel tabel. Dalam
HTML tabel ditulis baris demi baris.
Struktur Dasar Tabel
Elemen <table> digunakan untuk membuat tabel. Isi dari tabel ditulis baris demi
baris. Untuk mengawali baris dari setiap tabel, digunakan elemen <tr> untuk
membuat baris diikuti oleh <td> untuk kolom-kolom yang ada pada baris tersebut.
Untuk lebih jelasnya silakan praktikan kode berikut
1. Buka notepad
2. Tuliskan kode HTML berikut
<table>
<tr>
<td>15</td>
<td>15</td>
<td>30</td>
Bab 3 Perintah/Tag HTML Dasar
III- 19
</tr>
<tr>
<td>45</td>
<td>60</td>
<td>45</td>
</tr>
<tr>
<td>60</td>
<td>90</td>
<td>90</td>
</tr>
</table>
3. Simpan dengan nama file stuktur-tabel.html
4. Buka di web browser dan perhatikan setiap baris dan kolom tabel
Heading Tabel
Pada kolom dari setiap tabel sering kali harus diberi nama. Untuk memberi nama
kolom digunakan tag <th> yang merupakan kepanjangan dari table heading.
Bahkan jika sel tidak memiliki konten, Anda masih harus menggunakan <td> atau
<th> elemen untuk mewakili kehadiran sel kosong karena jika tidak, tabel akan
dirender tidak benar. (Sel pertama pada baris pertama dari contoh di bawah
menunjukkan sel kosong.) Menggunakan elemen <th> akan meningkatkan
kemampuan mesin pencari mengindeks halaman Anda, dan juga memungkinkan
Anda untuk mengontrol penampilan tabel yang lebih baik ketika Anda mulai
menggunakan CSS. Anda dapat menggunakan atribut lingkup pada elemen <th>
untuk menunjukkan apakah itu sebuah pos untuk kolom atau baris. Hal ini dapat
dilakukan dengan mengambil nilai-nilai: row untuk menunjukkan judul untuk
baris atau col untuk menunjukkan menuju kolom. Berikut contoh kode program
untuk dipraktikan
1. Buka notepad
2. Tulis kode HTML berikut
<table>
III- 20
Bab 3 Perintah/Tag HTML Dasar
<tr>
<th></th>
<th scope="col">Sabtu</th>
<th scope="col">Minggu</th>
</tr>
<tr>
<th scope="row">Tiket terjual:</th>
<td>120</td>
<td>135</td>
</tr>
<tr>
<th scope="row">Total penjualan:</th>
<td>Rp. 600.000</td>
<td>Rp. 675.000</td>
</tr>
</table>
3. Simpan dengan nama file table-heading.html
4. Buka di web browser dan perhatikan penamaan baris dan kolom serta data di
dalamnya
Menggabungkan Kolom
Kadang-kadang kita mungkin perlu entri dalam tabel untuk menggabungkan lebih
dari satu kolom. The atribut colspan dapat digunakan pada elemen <th> atau <td>
dan menunjukkan berapa banyak sel kolom yang digabungkan. Pada contoh di
sebelah kanan dapat dilihat jadwal dengan lima kolom; kolom pertama berisi
judul untuk baris (hari), sisa empat merupakan salah satu slot waktu jam. Jika
Anda melihat sel tabel yang berisi kata 'Geografi' Anda akan melihat bahwa nilai
atribut colspan adalah 2, yang menunjukkan bahwa sel tersebut adalah gabungan
di dua kolom. Dalam baris ketiga, 'Gym' adalah gabungan dari tiga kolom. Anda
dapat melihat bahwa baris kedua dan ketiga memiliki lebih sedikit elemen <td>
dari kolom yang ada. Hal ini karena, ketika sel meluas di lebih dari satu kolom,
Bab 3 Perintah/Tag HTML Dasar
III- 21
<td> atau <th> sel yang akan ditempat sel yang lebih luas tidak termasuk dalam
kode. Untuk lebih jelasnya silakan praktikan kode HTML berikut,
1. Buka notepad
2. Tulis kode HTML berikut
<table>
<tr>
<th></th>
<th>9am</th>
<th>10am</th>
<th>11am</th>
<th>12am</th>
</tr>
<tr>
<th>Monday</th>
<td colspan="2">Geography</td>
<td>Math</td>
<td>Art</td>
</tr>
<tr>
<th>Tuesday</th>
<td colspan="3">Gym</td>
<td>Home Ec</td>
</tr>
</table>
3. Simpan dengan nama file spanning-kolom.html
4. Buka di web browser dan perhatikan pada bagian penggabungan kolom
Menggabungkan Baris
Anda juga mungkin perlu entri di tabel untuk menggabungkannya lebih dari satu
baris. Atribut rowspan dapat digunakan pada elemen <th> atau <td> untuk
menunjukkan berapa banyak sel baris yang harus digabunggkan. Dalam contoh di
sebelah kiri Anda dapat melihat bahwa ABC menunjukkan sebuah film dengan
III- 22
Bab 3 Perintah/Tag HTML Dasar
durasi 06:00-08:00 atau dua jam, sedangkan saluran BBC dan CNN masingmasing dengan durasi satu jam. Jika Anda melihat elemen terakhir <tr>, hanya
berisi tiga elemen meskipun ada empat kolom dalam tabel. Hal ini karena film di
elemen <tr> di atasnya menggunakan atribut rowspan untuk menggabungkan
baris tersebut dengan baris di bawahnya. Untuk lebih jelasnya, lakukan praktik
berikut
1. Buka notepad
2. Tulis kode HTML berikut
<table>
<tr>
<th></th>
<th>ABC</th>
<th>BBC</th>
<th>CNN</th>
</tr>
<tr>
<th>6pm - 7pm</th>
<td rowspan="2">Movie</td>
<td>Comedy</td>
<td>News</td>
</tr>
<tr>
<th>7pm - 8pm</th>
<td>Sport</td>
<td>Current Affairs</td>
</tr>
</table>
3. Simpan dengan nama file spanning-row.html
4. Buka di web browser dan perhatikan penggabungan tabelnya
Tabel Panjang
Bab 3 Perintah/Tag HTML Dasar
III- 23
Ada tiga unsur yang membantu membedakan antara konten tabel utama dan baris
pertama dan terakhir (yang bisa berisi konten yang berbeda). Unsur-unsur ini
membantu orang dalam membaca tabel dan juga memungkinkan Anda untuk
membuat tampilan tabel agak sedikit berbeda. Judul tabel harus berada dalam tag
<thead> , isi tabel harus berada dalam tag <tbody> dan footer tabel berada dalam
tag <tfooter>. Untuk lebih memahaminya, lakukan contoh berikut
1. Buka notepad
2. Tulis kode HTML berikut
<table>
<thead>
<tr>
<th>Tanggal</th>
<th>Pemasukan</th>
<th>Pengeluaran</th>
</tr>
</thead>
<tbody>
<tr>
<th>1 Januari 2015</th>
<td>250</td>
<td>36</td>
</tr>
<tr>
<th>2 January 2015</th>
<td>285</td>
<td>48</td>
</tr>
<!—tambahkan baris seperti di atas -->
<tr>
<th>31 Januari 2015</th>
<td>129</td>
<td>64</td>
III- 24
Bab 3 Perintah/Tag HTML Dasar
</tr>
</tbody>
<tfoot>
<tr>
<td></td>
<td>7824</td>
<td>1241</td>
</tr>
</tfoot>
</table>
3. Simpan dengan nama file long-table.html
4. Buka di web browser dan perhatikan letak nama tabel, isi tabel dan footer.
3.8. Form
Secara tradisional, istilah form merujuk pada dokumen cetak yang di dalamnya
terdapat kolom isian. Form dalam HTML memiliki konsep yang sama dengan
dokumen lain. Fungsi dari form adalah mengumpulkan informasi dari pengguna
atau pengunjung web kita. Ada beberapa set elemen yang dapat digunakan pada
HTML untuk membuat form.
Form yang paling kita kenal adalah form pencarian yang terdapat di bagian tengah
dari halaman web google. Gambar 3.2 berikut adalah contoh halaman web google
yang berisi form untuk melakukan pencarian sesuai kata kunci yang dimasukan
pada form.
Bab 3 Perintah/Tag HTML Dasar
III- 25
Gambar 3.2 Form Pencarian pada Halaman Google
Kendali Form
Ada beberapa macam kendali form yang dapat kita gunakan dalam halaman web
yang kita buat yakni:
1. Menambahkan text
•
Input text satu baris, yakni form input untuk teks satu baris seperti
input nama, alamat email dan sebagainya.
•
Input password, sama seperti input satu baris teks, hanya saja karakter
teks yang diinput disamarkan.
•
Text Area, berfungsi untuk input teks yang terdiri atas beberapa baris.
2. Membuat pilihan
III- 26
•
Radio button, membuat pilihan untuk satu pilihan saja
•
Check Box, membuat pilihan lebih dari satu
Bab 3 Perintah/Tag HTML Dasar
•
Drop down box, jika pilihan dibuat dalam bentuk daftar memanjang ke
bawah.
3. Form Pendaftaran (submitting)
•
Submit button, untuk mendaftarkan data dari form ke halaman web
•
Image button, sama seperti submit button namun menggunakan
image/gambar.
4. Mengunggah File
•
Unggah File, mengizinkan kepada pengunjung untuk mengunggah file
ke web.
Sebuah form dapat memiliki beberapa kontrol form, dengan setiap kontrol akan
mengumpulkan informasi yang berbeda. Karena data yang diinput akan dikirim ke
server, maka server perlu mengetahui yang mana diantara data yang diinput yang
berkaitan dengan elemen form. Untuk membedakan diantara data yang diinput
pada form, maka setiap input data diberi nama/value. Jika kontrol form adalah
input berupa teks, maka nama/valuenya adalah teks yang diinput user. Jika kontrol
form memberi pilihan untuk user maka nama/valuenya adalah daftar pilihan.
Struktur Form
Kontrol form berada di dalam elemen/tag <form>. Tag ini harus selalu diikuti
oleh atribut action dan diikuti oleh method dan id atribut. Value dari atribut action
adalah URL dari halaman web di server yang akan menerima data dari form pada
saat di-submit. Form dapat dikirim melalui dua macam method yakni get dan post.
Jika kita menggunakan method get, value dari form akan ditambahkan pada akhir
Bab 3 Perintah/Tag HTML Dasar
III- 27
URL yang telah dinyatakan dalam atribut action. Method get cocok digunakan
untuk :
1. Form pendek, misalnya form pencarian
2. Saat mengambil data dari web server, bukan mengirimkan informasi yang
akan ditambahkan atau diedit di database.
Untuk method post, biasanya digunakan untuk mengirim/menginput informasi
yang memiliki tingkat keamanan dimana dikirim menggunakan header HTTP.
Method post digunakan untuk form :
1. Yang mengizinkan user untuk mengunggah file
2. Karakternya panjang
3. Mengandung data sensitif misalnya password
4. Menambah atau menghapus data ke database
Jika tidak secara spesifik dinyatakan, maka secara default method yang digunakan
adalah get.
Input Teks
Elemen <input> digunakan untuk membuat beberapa form kontrol yang berbeda
kontrol. Nilai/value dari jenis atribut menentukan apa jenis input. Jika value dari
atribut type adalah text, maka inputnya adalah teks pendek. Pada saat user mengisi
informasi pada form, maka server harus mengetahui kontrol form apa yang diisi.
Oleh karena itu setiap setiap kontrol form harus memiliki nama atribut (name
attribute). Isi dari atribut ini akan dikirim ke server bersama informasinya
sehingga server akan mampu mengidentifikasi setiap informasi/data yang
diterima. Atribut size dapat digunakan pada form lama untuk membatasi
ukuran/panjang karakter yang dapat ditampilkan pada form. Atribut maxlength
digunakan untuk menentukan panjang karakter maksimum yang dapat ditampung
oleh form. Berikut langkah untuk dipraktikan agar lebih memahami tentang input
teks pada form.
1. Buka notepad
2. Tulis kode HTML berikut
<form action="http://www.example.com/login.php">
<p>Username:
III- 28
Bab 3 Perintah/Tag HTML Dasar
<input type="text" name="username" size="15"
maxlength="30" />
</p>
</form>
3. Simpan dengan nama file teks-input.html
4. Buka dengan web browser
5. Inputkan teks pada form sebanyak 15 karakter dan lebih dari 15
karakter, apa perbedaannya
Input Password
Input password hampir sama dengan input teks hanya saja teks yang diinput harus
di-masking/disamarkan sehingga menjadi lebih aman. Method yang digunakan
adalah post. Untuk lebih memahaminya, lakukan praktik berikut
1. Buka notepad
2. Tulis kode HTML berikut
<form action="http://www.example.com/login.php">
<p>Username:
<input type="text" name="username" size="15"
maxlength="30" />
</p>
<p>Password:
<input type="password" name="password" size="15"
maxlength="30" />
</p>
</form>
3. Simpan dengan nama file input-password.html
4. Buka di web browser dan inputkan pada form username dan password
5. Perhatikan perbedaannya.
Text Area
Untuk input teks dengan lebih dari satu baris, maka dapat digunakan form dengan
tag <textarea>. Berikut kode HTML yang harus dipraktikan:
Bab 3 Perintah/Tag HTML Dasar
III- 29
1. Buka notepad
2. Tulis kode HTML berikut
<form action="http://www.example.com/comments.php">
<p>Apa Komentar Anda?</p>
<textarea name="comments" cols="20" rows="4">Tulis komentar anda
di sini...</textarea>
</form>
3. Simpan dengan nama file teksarea.html
4. Buka di web browser
5. Berapa karakter dalam satu baris text area ini dapat menampung?
6. Berapa baris text area ini dapat menampung kalimat?
Radio Button
Untuk form dengan pilihan radio button, dapat dilakukan dengan mengisi type
pada tag <input> dengan radio. Pada atribut name, value yang dikirim ke server
adalah hasil pilihan pada radio button dan isi dari atribute name untuk semua
pilihan adalah sama. Perhatikan contoh berikut dan amati hasilnya,
1. Buka Notepad
2. Tulis kode HTML berikut
<form action="http://www.example.com/profile.php">
<p>Silakan tentukan pilihan:
<br />
<input type="radio" name="genre" value="rock"
checked="checked" /> Rock
<input type="radio" name="genre" value="pop" />Pop
<input type="radio" name="genre" value="jazz" />Jazz
</p>
</form>
3. Simpan file dengan nama radio.html.
4. Ada berapa jumlah pilihan radio button?
5. Secara default, pilihan mana yang di-check saat halaman dibuka?
6. Apa isi dari atribut name pada pilihan radio button?
III- 30
Bab 3 Perintah/Tag HTML Dasar
Checkbox
Untuk melakukan pilihan menggunakan checkbox, atribut type diisi checkbox.
Berikut contoh yang dapat dipraktikan,
1. Buka Notepad
2. Tulis kode HTML berikut
<form action="http://www.example.com/profile.php">
<p>Silakan pilih musik favorit anda (boleh lebih dari satu):
<br />
<input type="checkbox" name="service"
value="pop" checked="checked" /> Pop
<input type="checkbox" name="service"
value="dangdut" /> Dangdut
<input type="checkbox" name="service"
value="keroncong" /> Keroncong
</p>
</form>
3. Simpan dengan nama file checkbox.html
4. Buka dengan web browser
Dropdown List Box
Bentuk pilihan ini dibuat dalam daftar yang akan muncul ketika diklik. Untuk
membuat bentuk pilihan ini
banyaknya
pilihan
atribut yang digunakan adalah <select> dengan
ditentukan
di
atribut
<option>.
Atribute
name
mengindikasikan jenis dari kontrol form yang dikirim ke server bersamaan dengan
value yang telah user pilih.
Elemen <option> digunakan untuk menyatakan pilihan yang dapat user tentukan.
Kata atau kalimat yang diapit oleh <option> dan </option> adalah pilihan yang
akan ditampilkan kepada user dalam bentuk dropdown box. Untuk lebih jelasnya,
silakan praktikan berikut,
1. Buka notepad
Bab 3 Perintah/Tag HTML Dasar
III- 31
2. Tulis kode HTML berikut
<form action="http://www.example.com/profile.php">
<p>Apa buah-buahan favorit Anda?</p>
<select name="buah">
<option value="mangga">Mangga</option>
<option value="apel">Apel</option>
<option value="jeruk">Jeruk</option>
<option value="melon">Melon</option>
<option value="semangka">Semangka</option>
</select>
</form>
3. Simpan dengan nama file dropdown.html dan buka di web browser
Dropdown list sama seperti radio button, jadi hanya satu saja yang dapat dipilih.
Perbedaannya adalah apabila jumlah pilihan ingin ditampilkan semua dan tidak
terlalu banyak maka biasanya menggunakan radio button. Untuk pilihan yang
sangat banyak yang tidak mungkin ditampilkan semua, maka digunakan
dropdown box.
Multiple Select Box
Jika pilihan yang akan ditampilkan lebih dari satu tidak seperti di dropdown box,
maka kita bisa menggunakan Multiple Select Box, dimana pada jenis pilihan ini,
akan ditampilkan daftar pilihan beberapa dari total pilihan. Misalnya ada 10
pilihan, dapat kita atur yang ditampilkan misalnya 3 pilihan pertama. Untuk
membuat pilihan jenis ini digunakan atribut multiple. Untuk lebih jelasnya silakan
praktikan kode berikut
1. Buka notepad
2. Tulis kode HTML berikut
<form action="http://www.example.com/profile.php">
<p>Do you play any of the following instruments?
(You can select more than one option by holding
down control on a PC or command key on a Mac
while selecting different options.)</p>
III- 32
Bab 3 Perintah/Tag HTML Dasar
<select name="instruments" size="3" multiple="multiple">
<option value="guitar" selected="selected">Guitar</option>
<option value="drums">Drums</option>
<option value="keyboard" selected="selected">Keyboard</option>
<option value="bass">Bass</option>
</select>
</form>
3. Simpan dengan nama file multiplelist.html
4. Buka di web browser
File Input Box
Input jenis ini memungkinkan user untuk mengupload file seperti gambar, video
dan sebagainya. Untuk melakukan hal ini, value dari atribut type harus diisi
dengan file. Silakan lakukan praktik berikut
1. Buka notepad
2. Tulis kode HTML berikut
<form action="http://www.example.com/upload.php"
method="post">
<p>Unggah lagu anda dalam format MP3:</p>
<input type="file" name="user-song" /><br />
<input type="submit" value="Unggah" />
</form>
3. Simpan dengan nama file inputbox.html
4. Buka dengan web browser
Submit Button
Dengan atribut type berisi submit, maka ketika ditekan, submit button akan
mengirim isi form ke server. Berikut contoh untuk dipraktikan
1. Buka notepad
2. Tulis kode HTML berikut
<form action="http://www.example.com/subscribe.php">
<p>Subscribe to our email list:</p>
Bab 3 Perintah/Tag HTML Dasar
III- 33
<input type="text" name="email" />
<input type="submit" name="subscribe"
value="Subscribe" />
</form>
3. Simpan dengan nama file submit.html dan buka di web browser
Untuk jenis buttonnya, kita juga dapat menggunakan image/gambar yang
dijadikan sebagai button. Sebelumnya kita harus menyiapkan gambar yang akan
digunakan
sebagai
button
dan
disimpan
di
folder
D:/Bahan
Ajar
Multimedia/Gambar/subscribe.jpg. Berikut contohnya,
1. Buka notepad dan tuliskan kode HTML berikut,
<form action="http://www.example.org/subscribe.php">
<p>Subscribe to our email list:</p>
<input type="text" name="email" />
<input type="image" src=" D:/Bahan Ajar
Multimedia/Gambar/subscribe.jpg "
width="100" height="20" />
</form>
2. Simpan dengan nama file sumbit-image.html dan buka di web browser
Button dan Hidden Control
Elemen <button> memungkinkan user untuk mengontrol bagiamana button akan
dimunculkan dan memungkinkan untuk elemen lain ada di dalam button. Hal ini
artinya adalah kita dapat menggabungkan text dan gambar pada button antara tag
<button> dengan </button>. Untuk tag input dengan atribut type diisi hidden
artinya adalah bahwa sebenarnya ada form di halaman tersebut namun
disembunyikan. Kalau di web browser kita gunakan option view source, maka
akan tampak bahwa di kode HTML nya terdapat tag <form>. Berikut contohnya,
sebelumnya
sudah
disediakan
gambar
di
folder
d:/Bahan
Ajar
Multimedia/Gambar/add.png,
1. Tulis kode HTML berikut di notepad
<form action="http://www.example.com/add.php">
III- 34
Bab 3 Perintah/Tag HTML Dasar
<button><img
src="D:/Bahan
Ajar
Multimedia/Gambar/add.gif"
alt="add" width="10" height="10" /> Tambah</button>
<input type="hidden" name="bookmark" value="lyrics"/>
</form>
2. Simpan dengan nama file hiddenform.html dan buka di web browser.
Elemen Form Pengelompokan
Kita dapat mengelompokan kontrol yang berkaitan bersama dalam elemen
<fieldset>. Kebanyakan browser akan menampilkan fieldset dengan garis di
sekitar tepi untuk menunjukkan bagaimana mereka terkait. Munculnya ini baris
dapat disesuaikan dengan menggunakan CSS.
Elemen <legend> dapat disertakan setelah pembukaan tag <fieldset> dan berisi
caption yang membantu mengidentifikasi maksud dari pengelompokkan form
tersebut. Lakukan praktik berikut
1. Buka notepad dan tulis kode HTML berikut
<fieldset>
<legend>Contact details</legend>
<label>Email:<br/>
<input type="text" name="email" /></label><br/>
<label>Mobile:<br/>
<input type="text" name="mobile" /></label><br/>
<label>Telephone:<br/>
<input type="text" name="telephone" /></label>
</fieldset>
2. Simpan dengan nama file grouping-form.html
3. Buka di web browser dan perhatikan
HTML 5 : Validasi Form
Sering kali dalam menginput data, user melakukan kesalahan yang bisa jadi
diakibatkan oleh bentuk form yang tidak jelas. Misalnya bahwa form tersebut
harus terisi atau tidak boleh dikosongkan. Mekanisme ini disebut validasi form.
Validasi ini bermanfaat karena,
Bab 3 Perintah/Tag HTML Dasar
III- 35
1. Mengurangi beban kerja server akibat isian yang salah
2. Memberikan pemberitahuan yang cepat kepada user ketika salah
menginput data.
Untuk dapat lebih memahaminya, lakukan praktik berikut
1. Buka Notepad dan tuliskan kode HTML berikut
<form action=http://www.example.com/login/ method="post">
<label for="username">Username:</label>
<input
type="text"
name="username"
required="required"
/></title><br/>
<label for="password">Password:</label>
<input type="password" name="password"
required="required" />
<input type="submit" value="Submit" />
</form>
2. Simpan dengan nama file validasi-form.html
3. Buka di web browser, dan perhatikan jika form password tidak diisi.
HTML 5 : Input Tanggal
Dalam sebuah form, sering kali kita diminta untuk menginput tanggal. Pada
HTML versi 5 ke atas, telah dilengkapi form untuk menginput tanggal sehinggal
formatnya tidak akan salah. Untuk menginput tanggal, pada tag <input> kita isi
kolom type dengan date. Berikut contoh kode HTML nya:
1. Buka notepad dan tuliskan kode HTML berikut
<form action=http://www.example.com/bookings/ method="post">
<label for="username">Tanggal Keberangkatan:</label>
<input type="date" name="depart" />
<input type="submit" value="Submit" />
</form>
2. Simpan dengan nama file form-tanggal.html
3. Buka di web browser
HTML 5 : Input email dan URL
III- 36
Bab 3 Perintah/Tag HTML Dasar
Di dalam form sering juga dijumpai form untuk menginput alamat email atau
URL. Karena kedua jenis input ini memiliki format yang baku, maka pada HTML
5 telah dilengkapi validasi untuk mencegah input email atau URL dengan format
yang salah atau bukan merupakan alamat email atau URL. Berikut contoh kode
program untuk input email dimana pada tag <input> kolom type diisi email,
1. Buka notepad dan tuliskan kode HTML berikut
<form action="http://www.example.org/subscribe.php">
<p>Please enter your email address:</p>
<input type="email" name="email" />
<input type="submit" value="Submit" />
</form>
2. Simpan dengan nama file input-email.html
3. Buka di web browser dan perhatikan apabila diinput alamat email dengan
format bukan format alamat email.
Untuk input jenis URL, hampir sama dengan email, pada tag <input> kolom type
diisi dengan url. Berikut contoh kode program untuk dipraktikkan,
1. Buka notepad dan tuliskan kode HTML berikut
<form action="http://www.example.org/profile.php">
<p>Please enter your website address:</p>
<input type="url" name="website" />
<input type="submit" value="Submit" />
</form>
2. Simpan dengan nama file input-url.html
3. Buka di web browser dan perhatikan apabila form diisi dengan format
yang bukan alamat url.
HTML 5 : Input Pencarian
Terkadang dalam form yang kita buat diperlukan kolom pencarian. Pada tag
<input> untuk melakukan pencarian maka kolom type diisi dengan search.
Berikut contohnya
1. Buka notepad dan tulis kode HTML berikut
Bab 3 Perintah/Tag HTML Dasar
III- 37
<form action="http://www.example.org/search.php">
<p>Cari:</p>
<input type="search" name="search" />
<input type="submit" value="Search" />
</form>
2. Simpan dengan nama file pencarian.html
3. Buka pada web browser
4. Tambahkan kode berikut
<form action="http://www.example.org/search.php">
<p>Cari:</p>
<input type="search" name="search"
placeholder="Masukan Kata Kunci" />
<input type="submit" value="Search" />
</form>
5. Buka pada web browser kembali, perhatikan bedanya dengan penambahan
atribut placeholder.
Latihan
Praktikan semua langkah di setiap subbab dan perhatikan serta tuliskan beberapa
jawaban dari pertanyaan yang ada.
III- 38
Bab 3 Perintah/Tag HTML Dasar
BAB 4
CASCADING STYLE SHEET(CSS)
Tujuan Pembelajaran:
Memahami kaidah Perancangan Web dengan CSS
4.1 Pengantar CSS
4.2 Color
4.3 Text
4.4 Boxes
4.5 List, Table dan Form
4.6 Layout
4.7 Image
4.8 HTML 5 Layout
Bab 4 Cascading Style Sheet (CSS)
IV- 1
4.1. Pengantar CSS
CSS adalah kependekan dari Cascading Style Sheet, berfungsi untuk
mempercantik penampilan HTML atau menentukan bagaimana elemen HTML
ditampilkan, seperti menentukan posisi, merubah warna teks atau background dan
lain sebagainya. Perhatikan contoh kode CSS berikut :
Gambar 4.1 Contoh Kode CSS
Selector
Selector adalah elemen/tag HTML yang ingin diberi style. Kita dapat menuliskan
langsung nama tag yang ingin diberi style tanpa perlu menambahkan tanda <>.
Pada contoh kode CSS di atas, kita akan memberi style pada seluruh tag h1 yang
terdapat dalam file HTML. Jika tag HTML yang ingin diberi style memiliki
ID, anda dapat menuliskan nama ID tersebut dengan diawali tanda pagar/kres
(#).
#header
Dan jika tag yang diberi style memiliki Class, maka penulisan selector bisa
dilakukan dengan tanda titik (.) diikuti dengan nama class.
.artikel
Jika anda hanya menuliskan satu selector, seperti contoh kode CSS di atas, maka
seluruh tag h1 yang terdapat dalam file HTML akan memiliki style yang sama.
Bagaimana jika kita hanya ingin memberi style pada tag h1 yang hanya terdapat
di dalam Class artikel. Maka penulisan selectornya seperti berikut :
IV- 2
Bab 4 Cascading Style Sheet(CSS)
.artikel h1
Kode tersebut akan memerintahkan pada browser untuk memberi style pada tag
h1 yang hanya terdapat di dalam class artikel (atau - h1 yang merupakan child
dari class artikel).
Anda-pun dapat memilih lebih dari satu tag untuk penghematan kode CSS.
Misalnya ketika anda memiliki dua atau lebih tag dengan warna background yang
sama, dari pada menuliskan kode seperti ini :
h1{ background-color: #666666; }
p { background-color: #666666; }
a { background-color: #666666; }
anda dapat menggabungkan selector dengan menambahkan tanda koma pada
nama tag yang ingin diberi style.
h1, p, a { background-color: #66666; }
Property dan Value
Property adalah sifat-sifat yang ingin diterapkan pada selector, seperti warna text,
warna background, jarak antar elemen, garis pinggir dan lain sebagainya. Untuk
memberikan nilai/value pada property kita gunakan tanda titik dua ( : ). Setiap
property diakhiri dengan titik koma (;), jika anda tidak mengakhirinya maka
browser tidak akan mengetahui maksud dari property tersebut. Property-property
pada CSS sangat mudah dimengerti karena lebih mirip bahasa kita sehari-hari.
Misalnya untuk merubah warna text kita gunakan property color, untuk merubah
warna background kita gunakan property background-color, untuk merubah
ukuran huruf kita gunakan property font-size.
.artikel h1 {
color:red;
background-color:blue;font-size:20px;
}
4.2. Color
Bab 4 Cascading Style Sheet (CSS)
IV- 3
Tuliskan kode HTML berikut
<!DOCTYPE html>
<html>
<head>
<title>Foreground Color</title>
<style type="text/css">
body {
padding: 20px;
font-family: Arial, Verdana, sansserif;}
/* color name */
h1 {
color: DarkCyan;}
/* hex code */
h2 {
color: #ee3e80;}
/* rgb value */
p {
color: rgb(100,100,90);}
</style>
</head>
<body>
<h1>Marine Biology</h1>
<h2>The Composition of Seawater</h2>
<p>Almost anything can be found in seawater. This
includes dissolved materials from Earth's crust as well as
materials released from organisms. The most important
components of seawater that influence life forms are
salinity, temperature, dissolved gases (mostly oxygen and
carbon dioxide), nutrients, and pH. These elements vary in
their composition as well as in their influence on marine
life.</p>
</body>
</html>
Perhatikan hasilnya pada web browser setelah disimpan dengan nama file
foreground-color.html.
4.3. Text
Untuk aplikasi CSS pada text, lakukan praktik dengan menuliskan kode berikut
pada notepad lalu simpan dengan nama tks-css.html dan buka di web browser:
<!DOCTYPE html>
<html>
<head>
<title>Text</title>
<style type="text/css">
IV- 4
Bab 4 Cascading Style Sheet(CSS)
body {
padding: 20px;}
h1, h2, h3, a {
font-weight: normal;
color: #0088dd;
margin: 0px;}
h1 {
font-family: Georgia, Times, serif;
font-size: 250%;
text-shadow: 2px 2px 3px #666666;
padding-bottom: 10px;}
h2 {
font-family: "Gill Sans", Arial, sansserif;
font-size: 90%;
text-transform: uppercase;
letter-spacing: 0.2em;}
h3 {
font-size: 150%;}
p {
font-family: Arial, Verdana, sansserif;
line-height: 1.4em;
color: #665544;}
p.intro:first-line {
font-weight: bold;}
.credits {
font-style: italic;
text-align: right;}
a {
text-decoration: none;}
a:hover {
text-decoration: underline;}
</style>
</head>
<body>
<h1>Briards</h1>
<h2>A Heart wrapped in fur</h2>
<p class="intro">The <a class="breed"
href="http://en.wikipedia.org/wikiBriard">briard</a>, or
berger de brie, is a large breed of dog traditionally used
as a herder and guardian of sheep.</p>
<h3>Breed History</h3>
<p>The briard, which is believed to have
originated in France, has been bred for centuries to herd
and to protect sheep. The breed was used by the French Army
as sentries, messengers and to search for wounded soldiers
because of its fine sense of hearing. Briards were used in
the First World War almost to the point of extinction.
Currently the population of briards is slowly recovering.
Charlemagne, Napoleon, Thomas Jefferson and Lafayette all
owned briards.</p>
<p class="credits">by Ivy Duckett</p>
Bab 4 Cascading Style Sheet (CSS)
IV- 5
</body>
</html>
4.4. Boxes
CSS juga dapat diimplementasikan untuk membuat kotak pada halaman web,
seperti kode berikut
<!DOCTYPE html>
<html>
<head>
<title>Boxes</title>
<style type="text/css">
body {
font-size: 80%;
font-family: "Courier New", Courier,
monospace;
letter-spacing: 0.15em;
background-color: #efefef;}
#page {
max-width: 940px;
min-width: 720px;
margin: 10px auto 10px auto;
padding: 20px;
border: 4px double #000;
background-color: #ffffff;}
#logo {
width: 150px;
margin: 10px auto 25px auto;}
ul {
width: 570px;
padding: 15px;
margin: 0px auto 0px auto;
border-top: 2px solid #000;
border-bottom: 1px solid #000;
text-align: center;}
li {
display: inline;
margin: 0px 3px;}
p {
text-align: center;
width: 600px;
margin: 20px auto 20px auto;
font-weight: normal;}
a {
color: #000000;
text-transform: uppercase;
text-decoration: none;
padding: 6px 18px 5px 18px;}
a:hover, a.on {
color: #cc3333;
IV- 6
Bab 4 Cascading Style Sheet(CSS)
background-color: #ffffff;}
</style>
</head>
<body>
<div id="page">
<div id="logo">
<img src="images/logo.gif" alt="The
Analog Specialists" />
</div>
<ul id="navigation">
<li><a href="#"
class="on">Home</a></li>
<li><a href="#">For Sale</a></li>
<li><a href="#">Repairs</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
<p>
<img src="images/keys.jpg" alt="Fender
Rhodes, Hohner Clavinet, and Wurlitzer EP200" />
</p>
<p>
We specialize in the sale and repair
of classic keyboards, in particular the Fender Rhodes,
Wurlitzer EP200, and Hohner Clavinet.
</p>
</div>
</body>
</html>
4.5. List, Table dan Form
Ada beberapa properti dari CSS yang dibuat khusus untuk berkaitan dengan
beberapa elemen HTML seperti list, table dan form. Berikut contoh kode nya
untuk ditulis pada notepad dan disimpan dengan nama file list-css.html lalu
perhatikan hasilnya saat dibuka di web browser.
<!DOCTYPE html>
<html>
<head>
<title>Boxes</title>
<style type="text/css">
body {
font-size: 80%;
font-family: "Courier New", Courier,
monospace;
letter-spacing: 0.15em;
background-color: #efefef;}
#page {
max-width: 940px;
min-width: 720px;
Bab 4 Cascading Style Sheet (CSS)
IV- 7
margin: 10px auto 10px auto;
padding: 20px;
border: 4px double #000;
background-color: #ffffff;}
#logo {
width: 150px;
margin: 10px auto 25px auto;}
ul {
width: 570px;
padding: 15px;
margin: 0px auto 0px auto;
border-top: 2px solid #000;
border-bottom: 1px solid #000;
text-align: center;}
li {
display: inline;
margin: 0px 3px;}
p {
text-align: center;
width: 600px;
margin: 20px auto 20px auto;
font-weight: normal;}
a {
color: #000000;
text-transform: uppercase;
text-decoration: none;
padding: 6px 18px 5px 18px;}
a:hover, a.on {
color: #cc3333;
background-color: #ffffff;}
</style>
</head>
<body>
<div id="page">
<div id="logo">
<img src="images/logo.gif" alt="The
Analog Specialists" />
</div>
<ul id="navigation">
<li><a href="#"
class="on">Home</a></li>
<li><a href="#">For Sale</a></li>
<li><a href="#">Repairs</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
<p><img src="images/keys.jpg" alt="Fender
Rhodes, Hohner Clavinet, and Wurlitzer EP200" />
</p>
<p>We specialize in the sale and repair of
classic keyboards, in particular the Fender Rhodes,
Wurlitzer EP200, and Hohner Clavinet.
</p>
IV- 8
Bab 4 Cascading Style Sheet(CSS)
</div>
</body>
</html>
4.6. Layout
Melalui CSS dengan layout, kita dapat mengendalikan setiap elemen pada
halaman web dan membuat halaman web yang lebih atraktif. Berikut contoh kode
HTML menggunakan CSS dengan layout.
<!DOCTYPE html>
<html>
<head>
<title>Layout</title>
<link rel="stylesheet" type="text/css"
href="css/960_12_col.css" />
<style type="text/css">
@font-face {
font-family: 'QuicksandBook';
src: url('fonts/Quicksand_Bookwebfont.eot');
src: url('fonts/Quicksand_Bookwebfont.eot?#iefix') format('embedded-opentype'),
url('fonts/Quicksand_Bookwebfont.woff') format('woff'),
url('fonts/Quicksand_Bookwebfont.ttf') format('truetype'),
url('fonts/Quicksand_Bookwebfont.svg#QuicksandBook') format('svg');
font-weight: normal;
font-style: normal;}
body {
color: #ffffff;
background: #413f3b
url("images/bg.jpg");
font-family: Georgia, "Times New
Roman", Times, serif;
font-size: 90%;
margin: 0px;
text-align: center;}
a {
color: #b5c1ad;
text-decoration: none;}
a:hover {
color: #ffffff;}
.header {
background-image: url("images/bgheader.jpg");
padding: 0px 0px 0px 0px;
height: 100px;
Bab 4 Cascading Style Sheet (CSS)
IV- 9
position: fixed;
top: 0px;
width: 100%;
z-index: 50;}
.nav {
float: right;
font-family: QuicksandBook, Helvetica,
Arial, sans-serif;
padding: 45px 0px 0px 0px;
text-align: right;}
.wrapper {
width: 960px;
margin: 0px auto;
background-image: url("images/bgtriangle.png");
background-repeat: no-repeat;
background-position: 0px 0px;
text-align: left;}
.logo {
margin-bottom: 20px;}
h1, h2 {
font-family: QuicksandBook, Helvetica,
Arial, sans-serif;
font-weight: normal;
text-transform: uppercase;}
h1 {
font-size: 240%;
margin-top: 140px;}
.date {
font-family: Arial, Helvetica, sansserif;
font-size: 75%;
color: #b5c1ad;}
.intro {
clear: left;
font-size: 90%;
line-height: 1.4em;}
.main-story {
background-image:
url("images/triangles.png");
background-repeat: no-repeat;
background-position: 122px 142px;
height: 570px;}
.more-articles {
border-top: 1px solid #ffffff;
padding: 10px;}
.more-articles p {
border-bottom: 1px solid #807c72;
padding: 5px 0px 15px 0px;
font-size: 80%;}
.more-articles p:last-child {
border-bottom: none;}
.footer {
IV- 10
Bab 4 Cascading Style Sheet(CSS)
clear: both;
background: rgba(0, 0, 0, 0.2);
padding: 5px 10px;}
.footer p {
font-family: Helvetica, Arial, sansserif;
font-size: 75%;
text-align: right;}
.footer a {
color: #807c72;}
</style>
</head>
<body>
<div class="header">
<div class="container_12">
<div class="grid_5">
<img src="images/logo.png"
alt="Pedal Faster - The modern bicycle magazine" width="216"
height="37" class="logo" />
<img src="images/headertriangle.png" alt="" width="116" height="100" />
</div>
<div class="nav grid_7">
<a href="">home</a> / <a
href="">news</a> / <a href="">archives</a> / <a
href="">about</a> / <a href="">contact</a>
</div>
</div>
</div>
<div class="wrapper">
<div class="main-story container_12">
<div class="grid_6 push_6">
<h1><a href="">Fixed Gear
Forever</a></h1>
</div>
<div class="intro grid_3 push_9">
<p class="date">16 APRIL
2011</p>
<p>The veloheld combines
minimalist design with superb quality. Devoid of excessive
graphics and gear shift components, the veloheld product
range delights us with its beauty and simplicity. The black
and white (yin and yang?) bicycles feature a short
wheelbase, a single gear and a narrow handlebar... All you
need to explore the city streets.</p>
<p>For those who want to create
their bike themselves, the veloheld frames come in three
sizes and two colours and are the perfect starting point. <a
href="">Continue reading...</a></p>
</div>
</div><!-- .main-story -->
<div class="more-articles container_12">
Bab 4 Cascading Style Sheet (CSS)
IV- 11
<h2 class="grid_12"><a href="">More
Articles</a></h2>
<div class="grid_3">
<img src="images/more1.jpg"
alt="The road ahead" width="220" height="125" />
<p><a href="">On the Road: From
the fixed gear fanatic's point of view</a></p>
<p><a href="">Brand History:
Pashley Cycles - hand-built in England</a></p>
<p><a href="">Frame Wars:
Innovations in cycle manufacture and repair</a></p>
</div>
<div class="grid_3">
<img src="images/more2.jpg"
alt="Sketchbook" width="220" height="125" />
<p><a href="">Touring Diary: A
sketchbook in your basket</a></p>
<p><a href="">Top Ten Newcomers
for 2012: A peek at what's to come</a></p>
<p><a href="">InnerTube: The
best cycling videos on the web</a></p>
</div>
<div class="grid_3">
<img src="images/more3.jpg"
alt="Repair shop sign" width="220" height="125" />
<p><a href="">Product Review:
All baskets were not created equal</a></p>
<p><a href="">Going Public: Out
& about with the founder of Public</a></p>
<p><a href="">Cycle Lane
Defence: Know your rights</a></p>
</div>
<div class="grid_3">
<img src="images/more4.jpg"
alt="Schwinn Spitfire" width="220" height="125" />
<p><a href="">Bicycle Hall of
Fame: The 1958 Schwinn Spitfire</a></p>
<p><a href="">Reader Survey:
Share your thoughts with us!</a></p>
<p><a href="">Chain Gang: The
evolution of the humble bike chain</a></p>
</div>
</div><!-- .more-articles -->
</div><!-- .wrapper -->
<div class="footer clearfix">
<div class="container_12">
<p class="grid_12"><a href="">Legal
Information</a> | <a href="">Privacy Policy</a> | <a
href="">Copyright © Pedal Faster 2011</a></p>
</div>
</div>
</body>
</html>
IV- 12
Bab 4 Cascading Style Sheet(CSS)
4.7. Image
Mengendalikan ukuran dan tataletak gambar/image pada halaman web akan lebih
mudah apabila kita menggunakan CSS. Berikut contoh kode HTML nya,
<!DOCTYPE html>
<html>
<head>
<title>Images</title>
<style type="text/css">
body {
color: #665544;
background-color: #d4d0c6;
background-image:
url("images/backdrop.gif");
font-family: Georgia, "Times New
Roman", serif;
text-align: center;}
.wrapper {
width: 720px;
margin: 0px auto;}
.header {
margin: 40px 0px 20px 0px;}
.entry {
width: 220px;
float: left;
margin: 10px;
height: 198px;
background-image:
url("images/shadow.png");
background-repeat: no-repeat;
background-position: bottom;}
figure {
display: block;
width: 202px;
height: 170px;
background-color: #e7e3d8;
margin: 0;
padding: 9px;
text-align: left;}
figure img {
width: 200px;
height: 150px;
border: 1px solid #d6d6d6;}
figcaption {
background-image:
url("images/icon.png");
padding-left: 20px;
background-repeat: no-repeat;}
</style>
</head>
Bab 4 Cascading Style Sheet (CSS)
IV- 13
<body>
<div class="wrapper">
<div class="header">
<img src="images/title.gif"
alt="Galerie Botanique" width="456" height="122" />
<p>Here is a selection of antique
botanical prints held in our collection.</p>
</div>
<div class="entry">
<figure><img src="images/print-01.jpg"
alt="Helianthus" />
<figcaption>Helianthus</figcaption>
</figure>
</div>
<div class="entry">
<figure><img src="images/print-02.jpg"
alt="Passiflora" />
<figcaption>Passiflora</figcaption>
</figure>
</div>
<div class="entry">
<figure><img src="images/print-03.jpg"
alt="Nyctocalos" />
<figcaption>Nyctocalos</figcaption>
</figure>
</div>
<div class="entry">
<figure><img src="images/print-04.jpg"
alt="Polianthes" />
<figcaption>Polianthes</figcaption>
</figure>
</div>
<div class="entry">
<figure><img src="images/print-05.jpg"
alt="Ficus" />
<figcaption>Ficus</figcaption>
</figure>
</div>
<div class="entry">
<figure><img src="images/print-06.jpg"
alt="Dendrobium" />
<figcaption>Dendrobium</figcaption>
</figure>
</div>
</div>
</body>
</html>
IV- 14
Bab 4 Cascading Style Sheet(CSS)
4.8. HTML 5 Layout
HTML 5 memperkenalkan sekumpulan elemen baru dalam rangka mempermudah
pengaturan/tata letak pada halaman web yang dibuat, berikut contohnya
<!DOCTYPE html>
<html>
<head>
<title>HTML5 Layout</title>
<style type="text/css">
header, section, footer, aside, nav,
article, figure, figcaption {
display: block;}
body {
color: #666666;
background-color: #f9f8f6;
background-image: url("images/darkwood.jpg");
background-position: center;
font-family: Georgia, Times, serif;
line-height: 1.4em;
margin: 0px;}
.wrapper {
width: 940px;
margin: 20px auto 20px auto;
border: 2px solid #000000;
background-color: #ffffff;}
header {
height: 160px;
background-image:
url(images/header.jpg);}
h1 {
text-indent: -9999px;
width: 940px;
height: 130px;
margin: 0px;}
nav, footer {
clear: both;
color: #ffffff;
background-color: #aeaca8;
height: 30px;}
nav ul {
margin: 0px;
padding: 5px 0px 5px 30px;}
nav li {
display: inline;
margin-right: 40px;}
nav li a {
color: #ffffff;}
nav li a:hover, nav li a.current {
color: #000000;}
Bab 4 Cascading Style Sheet (CSS)
IV- 15
section.courses {
float: left;
width: 659px;
border-right: 1px solid #eeeeee;}
article {
clear: both;
overflow: auto;
width: 100%;}
hgroup {
margin-top: 40px;}
figure {
float: left;
width: 290px;
height: 220px;
padding: 5px;
margin: 20px;
border: 1px solid #eeeeee;}
figcaption {
font-size: 90%;
text-align: left;}
aside {
width: 230px;
float: left;
padding: 0px 0px 0px 20px;}
aside section a {
display: block;
padding: 10px;
border-bottom: 1px solid #eeeeee;}
aside section a:hover {
color: #985d6a;
background-color: #efefef;}
a {
color: #de6581;
text-decoration: none;}
h1, h2, h3 {
font-weight: normal;}
h2 {
margin: 10px 0px 5px 0px;
padding: 0px;}
h3 {
margin: 0px 0px 10px 0px;
color: #de6581;}
aside h2 {
padding: 30px 0px 10px 0px;
color: #de6581;}
footer {
font-size: 80%;
padding: 7px 0px 0px 20px;}
</style>
<!--[if lt IE 9]>
<script
src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></s
cript>
IV- 16
Bab 4 Cascading Style Sheet(CSS)
<![endif]-->
</head>
<body>
<div class="wrapper">
<header>
<h1>Yoko's Kitchen</h1>
<nav>
<ul>
<li><a href=""
class="current">home</a></li>
<li><a
href="">classes</a></li>
<li><a
href="">catering</a></li>
<li><a
href="">about</a></li>
<li><a
href="">contact</a></li>
</ul>
</nav>
</header>
<section class="courses">
<article>
<figure>
<img src="images/bokchoi.jpg" alt="Bok Choi" />
<figcaption>Bok
Choi</figcaption>
</figure>
<hgroup>
<h2>Japanese
Vegetarian</h2>
<h3>Five week course in
London</h3>
</hgroup>
<p>A five week introduction to
traditional Japanese vegetarian meals, teaching you a
selection of rice and noodle dishes.</p>
</article>
<article>
<figure>
<img
src="images/teriyaki.jpg" alt="Teriyaki sauce" />
<figcaption>Teriyaki
Sauce</figcaption>
</figure>
<hgroup>
<h2>Sauces Masterclass</h2>
<h3>One day workshop</h3>
</hgroup>
<p>An intensive one-day course
looking at how to create the most delicious sauces for use
in a range of Japanese cookery.</p>
Bab 4 Cascading Style Sheet (CSS)
IV- 17
</article>
</section>
<aside>
<section class="popular-recipes">
<h2>Popular Recipes</h2>
<a href="">Yakitori (grilled
chicken)</a>
<a href="">Tsukune (minced
chicken patties)</a>
<a href="">Okonomiyaki (savory
pancakes)</a>
<a href="">Mizutaki (chicken
stew)</a>
</section>
<section class="contact-details">
<h2>Contact</h2>
<p>Yoko's Kitchen<br />
27 Redchurch Street<br />
Shoreditch<br />
London E2 7DP</p>
</section>
</aside>
<footer>
© 2011 Yoko's Kitchen
</footer>
</div><!-- .wrapper -->
</body>
</html>
Latihan
Perhatikan kode XML/HTML berikut
<?xml version=”1.0” encoding=”iso-8859-1”?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML
1.0 Transitional//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”
lang=”en”>
<head>
<title>Font test</title>
<link rel=”stylesheet” type=”text/css”
href=”tableStyles.css” />
</head>
<body>
<table>
<tr>
<th>Quantity</th>
<th>Ingredient</th>
IV- 18
Bab 4 Cascading Style Sheet(CSS)
</tr>
<tr class=”odd”>
<td>3</td>
<td>Eggs</td>
</tr>
<tr>
<td>100ml</td>
<td>Milk</td>
</tr>
<tr class=”odd”>
<td>200g</td>
<td>Spinach</td>
</tr>
<tr>
<td>1 pinch</td>
<td>Cinnamon</td>
</tr>
</tab
le>
</body>
</html>
Buatlah Style sheet dengan nama table-style.css sehingga tampilan tabel akan
seperti gambar berikut
Bab 4 Cascading Style Sheet (CSS)
IV- 19
IV- 20
Bab 4 Cascading Style Sheet(CSS)
BAB 5
PENGENALAN PHP
Tujuan Pembelajaran:
Memahami kaidah Pemrograman dengan PHP
5.1
Sintaks Dasar
5.2
Mengirim Data ke Web Browser
5.3
Memberi Komentar
5.4
Variable
5.5
String
5.6
Number
5.7
Konstanta
Bab 5 Pengenalan PHP
V- 1
5.1. Tujuan
Setelah menyelesaikan bab ini mahasiswa diharapkan memahami kaidah
penulisan dan mempraktikkan Tag PHP dasar serta mengintegrasikan PHP ke
dalam dokumen HTML dan sebaliknya. Adapun yang akan dibahas adalah :
•
Pemrograman sisi Server
•
Sintaks Dasar
•
Mengirim Data ke Web Browser
•
Memberi Komentar
•
Variable
•
String
•
Number
•
Konstanta
5.2. Pemrograman Sisi Server
Aplikasi web adalah aplikasi yang disimpan dan dieksekusi di lingkungan web
server. Setiap ada permintaan user melalui aplikasi di sisi client melalui web
browser akan ditanggapi oleh aplikasi web dan hasilnya akan dikembalikan lagi
ke user.
Hampir sebagian besar aplikasi berbasis web, prosesnya berlangsung di server.
Aplikasi khusus yang disebut web server, akan bertanggungjawab dalam
komunikasi dengan browser. Sebuah basis data relasional menyimpan informasi
apapun yang diperlukan sebuah aplikasi. Pada kondisi seperti ini, seorang client
memerlukan sebuah aplikasi/sarana untuk dapat mengakses informasi yang ada
dan akan digunakan juga sebagai media untuk mengisi informasi baru ke dalam
basis data. Gambar 5.1 berikut menunjukkan bagaimana sistem tersebut bekerja.
Tentu saja hal ini harus berjalan dalam sebuah sistem operasi (OS) sehingga web
server, bahasa pemrograman dan basis data dapat beroperasi dengan baik.
V- 2
Bab 5 Pengenalan PHP
Gambar 5.1 Arsitektur sebuah Web Server
PHP dapat dikatakan sebagai bahasa pemrograman middleware. Bahasa
pemrograman ini bekerja sama dengan web server untuk menterjemahkan
permintaan user melalui World Wide Web, mengolah permintaan ini, berinteraksi
dengan aplikasi lain di server untuk memenuhi permintaan dan menunjukkan apa
yang harus dikerjakan oleh server sebagai balasan dari permintaan client.
Aplikasi middleware inilah yang melakukan peran sangat penting pada server
diantaranya adalah membuat server up dan running tanpa usaha yang terlalu
banyak dari user. Oleh karena PHP ini adalah bahasa pemrograman yang berjalan
di server, maka untuk mengaplikasikannya kita harus mengaktifkan server terlebih
dahulu. Server yang akan digunakan pada praktikum kali ini adalah server
APACHE FRIENDS yang instalasi dan konfigurasinya telah dilakukan pada
pembahasan di Bab 2.
Bab 5 Pengenalan PHP
V- 3
5.3. Sintaks Dasar
Sebuah script bahasa pemrograman PHP didahului oleh tags :
<?php
Statement1;
Statement1;
.................;
?>
5.3.1. Modul 1 : Praktikum Sintaks Dasar
1. Pastikan bahwa server APACHE telah aktif dengan mengaktifkan xampp
Control Panel
Gambar 5.2 Xampp Control Panel dengan Apache dan MySQL running
2. Buat folder LatihanPHP di folder htdocs pada folder xampp di drive C
3. Buka aplikasi teks editor dan ketikan script PHP berikut :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en" lang="en">
<head>
V- 4
Bab 5 Pengenalan PHP
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8"/>
<title>Halaman PHP Dasar</title>
</head>
<body>
<!-- Script Pertama.php -->
<p>Ini halaman Standar HTML.</p>
</body>
</html>
4. Pada bagian <body> setelah tag paragraf <p>, tambahkan script seperti
tampak berikut(cetak tebal)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8"/>
<title> Halaman PHP Dasar </title>
</head>
<body>
<!-- Script Pertama.php -->
<p>Ini halaman standar HTML.</p>
<?php
echo “Ini halaman PHP”;
?>
</body>
</html>
5. Simpan file PHP di atas dengan nama file : Pertama.php di folder
LatihanPHP yang ada di htdocs server xampp.
6. Buka file Pertama.php melalui web browser dengan alamat
http://localhost/LatihanPHP/Pertama.php
7. Amati hasil tampilan di web browser.
8. Amati perbedaan apabila file Pertama.php dibuka di web browser seperti
langkah 6 dengan dibuka langsung melalui foldernya
file:///C:/xampp/htdocs/LatihanPHP/first.php
9. Lampirkan perbedaan hasil antara langkah 6 dan 8 pada Laporan dan
jelaskan kenapa terjadi hal demikian.
Bab 5 Pengenalan PHP
V- 5
5.3.2. Modul 2 : Mengirim Data ke Web Browser
Untuk membuat aplikasi web dinamis menggunakan PHP, maka anda harus
tahu bagaimana cara mengirim data ke web browser. PHP memiliki banyak
fungsi yang dapat melakukan hal ini, namun yang paling sering dipakai adalah
echo dan print. Karena PHP bersifat tidak case-sensitive maka penulisannya
scriptnya dapat berupa huruf kecil atau kapital atau juga kombinasi keduanya.
1. Pada text editor, edit file Pertama.php menjadi seperti berikut
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8"/>
<title> Halaman PHP Dasar </title>
</head>
<body>
<!-- Script Pertama.php -->
<p>Ini halaman standar HTML.</p>
<?php
echo “Ini halaman PHP”;
print “Ini untuk menampilkan ke web browser”;
?>
</body>
</html>
2. Jalankan kembali seperti langkah nomor 6 pada Modul 1.
3. Tampilan hasil di web browser :
4. Tampak hasil dari echo dan print, coba perbaiki agar tulisan yang
menggunakan perintah print tertulis di bawah dengan menyisipkan tag
HTML <br/> sehingga tampak seperti :
V- 6
Bab 5 Pengenalan PHP
5.3.3. Modul 3 : Memberi Komentar
Terkadang, script program yang kita buat akan dibaca oleh orang lain dimasa
yang akan datang untuk kepentingan pengembangan. Apabila hanya
mengandung script asli PHP, orang lain agak susah untuk memahaminya.
Oleh karena itu perlu kita beri keterangan pada kode program yang kita buat.
Pada pemrograman web menggunakan PHP, pemberian komentar dapat
dilakukan dengan menggunakan simbol // atau # seperti contoh :
//ini adalah komentar
# ini juga komentar
Atau juga menggunakan /*.....*/ untuk komentar yang panjang
/* ini juga bentuk
Lain dari komentar
Terutama yang lebih dari sebaris */
Komentar ini tidak akan dieksekusi oleh server.
1. Pada text editor ketikan script berikut ini :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8"/>
<title>Contoh Format Komentar Program</title>
</head>
<body>
<?php
# Komentar.php
# Dibuat 16 Maret 2011
# Oleh Larry E. Ullman
Bab 5 Pengenalan PHP
V- 7
# Script ini tidak melakukan apa-apa.
echo '<p>Ini sebuah baris text.<br />Ini baris teks
yang lain.</p>';
/*
echo 'baris ini tidak akan dieksekusi.';
*/
echo "<p>Sekarang saya sudah selesai.</p>";
// akhir kode PHP.
?>
</body>
</html>
2. Simpan dengan nama file Komentar.php
3. Amati hasilnya di web browser dan bedakan mana yang merupakan
komentar, jelaskan pada laporan.
5.3.4. Modul 4: Variable
Seperti pada bahasa pemrograman lainnya, PHP juga mengenal deklarasi
variable. Variable berfungsi untuk menyimpan nilai. Nilai ini dapat berupa
angka, karakter, text atau data yang lebih kompleks. Apapun tipe datanya,
variable pada PHP harus mengikuti aturan sintaks sebagai berikut:
• Nama variable diawali oleh simbol $
• Nama variable dapat berupa kombinasi antara huruf dan
underscore
• Karakter pertama setelah tanda $ harus huruf atau underscore
• Nama variable bersifat case sensitive.
Untuk mencetak isi dari variable dapat dilakukan dengan cara :
print $nama_variable;
print "Hello, $name";
1.
Buka text editor anda dan ketikan script PHP berikut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en" lang="en">
<head>
V- 8
Bab 5 Pengenalan PHP
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8"/>
<title>Variable bertipe Bilangan</title>
</head>
<body>
<?php # varBilangan.php
// Mengisi variable:
$jumlah = 30; // jumlah pembelian barang.
$harga = 119.95;
$Potongan_Pajak = .05; // 5% pajak penjualan.
// Menghitung total Pembayaran:
$total = $jumlah * $harga;
$total = $total + ($total * $Potongan_Pajak);
// Menghitung total pembayaran plus pajak.
// Format tampilan total:
$total = number_format ($total, 2);
// Cetak hasil:
echo '<p>Anda membeli barang sebanyak <b>'.$jumlah .
'</b> item seharga <b>$' . $harga . '</b> per
barang. Ditambah pajak, totalnya menjadi: <b>$' .
$total . '</b>.</p>';
?>
</body>
</html>
2. Simpan di folder LatihanPHP dengan nama varBilangan.php
3. Cek hasil tampilannya pada web browser.
5.3.5. Modul 5: String
Salah satu tipe data yang dapat disimpan di variable adalah string. Format
penulisan data bertipe string dapat dilakukan seperti berikut ini :
‘Tobias’
“In watermelon sugar”
‘100’
‘August 2, 2011’
Untuk mendeklarasikan variable bertipe string dapat dilakukan dengan dua
cara yakni :
Bab 5 Pengenalan PHP
V- 9
$nama_depan = 'Tobias';
$hari_ini = “2 Agustus 2015”;
Boleh menggunakan “ ” atau ‘ ‘.
1. Pada text editor anda, tuliskan script berikut :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8"/>
<title>Strings</title>
</head>
<body>
<?php # strings.php
// membuat variable:
$nama_depan = 'Haruki';
$nama_belakang = 'Murakami';
$buku = 'Kafka on the Shore';
// mencetak nilai variable:
echo "<p>Buku berjudul <em>$buku</em> ditulis oleh
$nama_depan $nama_belakang.</p>";
?>
</body>
</html>
2. Simpan dengan nama file string.php
3. Lihat hasil tampilannya di web browser
4. Lakukan perubahan pada nilai variable dan simpan perubahannya kemudian
tampilkan kembali di web browser.
5. Pada penggunaan string, dikenal istilah concacenating string atau penambahan
string. Buka kembali file string.php di text editor dan tambahkan pada
deklarasi variable menjadi :
$nama_depan = 'Haruki';
$nama_belakang = 'Murakami';
$buku = 'Kafka on the Shore';
$pengarang = $nama_depan.’ ’.$nama_belakang;
6. Pada statement echo ubah dengan menggunakan variable $pengarang
seperti berikut ini:
V- 10
Bab 5 Pengenalan PHP
echo "<p>Buku berjudul <em>$buku</em> ditulis oleh
$pengarang.</p>";
6.3.6. Modul 6 : Number/Bilangan
Format bilangan yang dapat ditampung dalam variable pada PHP meliputi
bilangan bulat dan real dengan format penulisan :
 8
 3.14
 10980843985
 -4.2398508
 4.4e2
Setiap value yang diberikan kepada variable tidak diberi tanda kutip, untuk
koma menggunakan tanda titik dan untuk angka yang besar ditulis apa adanya
tanpa pemisahan untuk ribuan misalnya. Disamping dapat dilakukan operasi
aritmetika pada variable bertipe bilangan, fungsi build-in PHP yang sering
digunakan pada bilangan adalah round() untuk pembulatan dan
number_format()
untuk penulisan bilangan
dalam
format
yang
sebenarnya dan untuk tingkat ketelitian angka di belakang koma. Contohcontoh penggunaanya:
Fungsi round():
$n = 3.14;
$n = round ($n); // 3
$n = 3.142857;
$n = round ($n, 3); // 3.143
Dibulatkan
Fungsi number_format()
$n = 20943;
$n = number_format ($n); // hasil : 20,943
$n = 20943;
Bab 5 Pengenalan PHP
V- 11
$n = number_format ($n, 2); // hasil : 20,943.00
6.3.7. Modul 7: Konstanta
Konstanta sama seperti variable digunakan untuk menyimpan nilai akan tetap
pada konstanta nilai yang tersimpan tidak akan berubah. Format penulisan
konstanta :
define ('NAME', value);
Contoh :
define ('USERNAME', 'troutocity');
define ('PI', 3.14);
Untuk mengakses nilai konstanta, tidak bisa menggunakan tanda kutip seperti
berikut :
echo "Hello, USERNAME"; // akan timbul error
1. Buka text editor anda dan tuliskan kode berikut
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8"/>
<title>Konstanta</title>
</head>
<body>
<?php # konstanta.php
// Set hari ini sebagai konstanta:
define ('HARI_INI', 'Mei 13, 2015');
// cetak pesan, menggunakan konstanta yang telah
//didefiniskan yakni HARI_INI:
echo '<p>Hari ini ' .HARI_INI. '.<br />Server ini
menjalankan PHP versi <b>' . PHP_VERSION . '</b> pada <b>' .
PHP_OS . '</b> sistem operasi.</p>';
?>
</body>
</html>
V- 12
Bab 5 Pengenalan PHP
2.
Simpan dengan nama file konstanta.php di LatihanPHP.
3.
Amati hasilnya di web browser dan perhatikan hasil dari tampilan predefined
function.
TUGAS
Buat Laporan resmi mengenai Bab ini yang berisikan
1. Hasil screenshoot tiap modul
2. Analisa dan jawaban pertanyaan yang ada di tiap modul.
3. Buat contoh penggunaan script PHP untuk Modul 6 .
Bab 5 Pengenalan PHP
V- 13
V- 14
Bab 5 Pengenalan PHP
BAB 6
PEMROGRAMAN PHP
Tujuan Pembelajaran:
Memahami kaidah Pemrograman dengan PHP
6.1 Membuat Form HTML
6.2 Menangani Form HTML
6.3 Kondisional dan Operator
6.4 Validasi Data
6.5 Array
6.6 Perulangan for dan while
Bab 6 Pemrograman PHP
VI- 1
6.1. Membuat Form HTML
Setelah
kita
belajar
dasar-dasar
perintah
PHP,
sekarang
saatnya
mengaplikasikannya padaaplikasi web. Biasanya PHP digunakan sebagai
pengolah data yang diinputkan melalui form yang dibuat dengan HTML. Sebagai
contoh, andaikan Anda memiliki toko virtual dalam web yang menjual alat-alat
tulis seperti pensil, buku tulis, dan ballpoint. Berikut ini adalah salah satu bentuk
kode HTML yang digunakan untuk membuat form pemesanan pembelian barangbarang tersebut.
<html><body>
<h2>Toko Alat Tulis Amalia</h2>
<form action="proses.php" method="post">
<select name="barangpesanan">
<option>Pensil</option>
<option>Buku Tulis</option>
<option>Ballpoint</option>
</select>
Jumlah pesanan: <input name="jumlah" type="text">
<input type="submit" value="Submit">
</form>
</body></html>
Seperti yang Anda lihat pada kode HMTL di atas, perintah action="proses.php"
digunakan untuk mengarahkan ke file PHP yang digunakan untuk memproses
barang pembelian ketika tombol submit ditekan. Dalam form yang dihasilkan
dari kode di atas terdapat 2 buah komponen input yaitu berbentuk combobox dan
textbox. Untuk combobox, diberi nama “barangpesanan” (perhatikan perintah
<select name="barangpesanan">) dan textbox diberi nama “jumlah” (perhatikan
perintah
<input
name="jumlah"
type="text">).
Penjelasan
mengenai
method="post"akan dijelaskan pada bab berikutnya.
Sedangkan berikut ini adalah salah satu contoh kode PHP untuk memproses
input dari form di atas. Kode PHP ini disimpan dengan nama proses.php.
<html><body>
<?php
$jumlah = $_POST['jumlah'];
$barangpesanan = $_POST['barangpesanan'];
VI- 2
Bab 6 Pemrograman PHP
echo "Anda memesan ". $jumlah . " " . $barangpesanan .
".<br>";
echo "Terima kasih atas kesediaan Anda memesan barang
dari kami!";
?>
</body></html>
Kalau Anda perhatikan, terdapat keterkaitan perintah $_POST['xxx']; dengan
"xxx" pada name = "xxx" (nama komponen input).
6.2. Menangani Form HTML
Pada contoh sebelumnya, kita mengirim data input dari form menuju ke file PHP
untuk diproses menggunakan metode post. Selain metode tersebut, terdapat pula
metode get. Lantas perbedaannya apa? Kapan kita gunakan metode post atau
get?.
Untuk melihat perbedaan post dan get, kita akan sedikit mengubah file HTML
form dan file proses.php sebelumnya.
<html><body>
<h2>Toko Alat Tulis Amalia</h2>
<form action="proses.php" method="get">
<select name="barangpesanan">
<option>Pensil</option>
<option>Buku Tulis</option>
<option>Ballpoint</option>
</select>
Jumlah pesanan: <input name="jumlah" type="text">
<input type="submit" value="Submit">
</form>
</body></html>
dan isi proses.php nya adalah
<html><body>
<?php
$jumlah = $_GET['jumlah'];
$barangpesanan = $_GET['barangpesanan'];
echo "Anda memesan ". $jumlah . " " .
$barangpesanan . ".<br>"; echo "Terima kasih atas
kesediaan Anda memesan barang dari kami!";
?>
</body></html>
Bab 6 Pemrograman PHP
VI- 3
Perbedaan kode HTML Perbedaan kode HTML dan PHP di atas dengan
sebelumnya adalah: metode pengiriman data input dari form menggunakan get,
dan dalam proses.php $_POST diganti dengan $_GET.
Apabila aplikasi di atas dijalankan, maka secara sekilas hasil yang tampak sama
dengan ketika digunakan metode post. Namun, coba perhatikan URL yang
tampak ketika proses.php muncul. Pada URL tersebut terdapat tambahan
?barangpesanan=...&jumlah=... setelah nama file Titik-titik tersebut akan diisi
dengan data sesuai dengan yang diinputkan pada form.
Coba bandingkan dengan URL ketika digunakan metode post. Data isian pada
form tidak ditampilkan pada URL. Sehingga inilah perbedaan antara keduanya.
Dengan demikian, hendaknya kita jangan menggunakan metode get ketika akan
memproses data input melalui form. Bayangkan seandainya form tersebut
digunakan untuk login atau untuk keperluan yang menyangkut privasi. Apabila
Anda gunakan metode get, maka semua input data akan ditampilkan pada URL.
Bisa-bisa password Anda akan kelihatan di URL (jika terdapat input password
ketika login). Untuk metode get, biasanya digunakan untuk input data melalui
link (bukan melalui form).
6.3. Kondisional dan Operator
Dalam
bahasa
memanipulasi
pemrograman
secara
umum,
operator
digunakan
untuk
atau melakukan proses perhitungan pada suatu nilai. Sampai saat
ini, Anda telah mengenal operator “.” (menggabungkan string) dan “=” (proses
assignment). Selain dua operator itu masih banyak jenis operator yang lain dalam
PHP yaitu:
•
Operator aritmatik
•
Operator perbandingan
•
Gabungan operator aritmatik dan assignment
VI- 4
Bab 6 Pemrograman PHP
Operator Aritmatik
Operator
Makna
Contoh
+
Penjumlahan
2 + 4
-
Pengurangan
6 - 2
*
Perkalian
5 * 3
/
Pembagian
15 / 3
%
Modulus
43 % 10
Berikut ini adalah tabel operator aritmatik, makna dan contohnya:
Contoh:
<?php
$penjumlahan = 2 + 4;
$pengurangan = 6 - 2;
$perkalian = 5 * 3;
$pembagian = 15 / 3;
$modulus = 5 % 2;
echo"Menampilkan penjumlahan:2+4=
".$penjumlahan."<br>";
echo"Menampilkan pengurangan: 6 - 2 =
".$pengurangan."<br>";
echo "Menampilkan perkalian: 5 * 3 =
".$perkalian."<br>";
echo "Menampilkan pembagian: 15 / 3 =
".$pembagian."<br>";
echo "Menampilkan modulus: 5 % 2 = " . $modulus.";
?>
Operator Perbandingan
Perbandingan digunakan untuk menguji hubungan antara nilai dan atau variabel.
Operator ini digunakan dalam suatu statement bersyarat yang selalu menghasilkan
nilai TRUE atau FALSE.
Misalkan:
$x = 4; $y = 5;
berikut ini adalah beberapa contoh penggunaan operator perbandingan dan
hasilnya.
Operator Makna
Contoh
Hasil
==
Sama dengan
$x == $y
FALSE
!=
Tidak sama dengan
$x != $y
TRUE
Bab 6 Pemrograman PHP
VI- 5
<
Lebih kecil dari
$x < $y
TRUE
>
Lebih besar dari
$x > $y
FALSE
<=
Lebih kecil atau sama dengan dari
$x <= $y
TRUE
>=
Lebih besar atau sama dengan dari
$x >= $y
FALSE
Kombinasi Operator Aritmatik dan Assignment
Dalam pemrograman seringkali dijumpai proses yang melibatkan proses
increment. Misalkan kita menginginkan proses increment dengan tingkat
kenaikan 1, maka perintah yang dituliskan dapat berupa
$counter = $counter + 1;
dalam PHP, perintah di atas dapat ditulis dalam satu perintah singkat sebagai
$counter += 1;
Dari contoh di atas tampak bahwa operator yang digunakan (+=) merupakan
gabungan dari operator aritmatik dan assignment. Berikut ini adalah bentukbentuk operator lain jenis ini.
Operator
+=
-=
*=
/=
%=
.=
Contoh
$x += 2;
$x -= 4;
$x *= 3;
$x /= 2;
$x %= 5;
$my str.="hello";
Operasi yang ekuivalen
$x = $x + 2;
$x = $x - 4;
$x = $x * 3;
$x = $x / 2;
$x = $x % 5;
$my str = $my str . "hello";
Operator Pre/Post Increment dan Decrement
Operator jenis ini merupakan pengembangan dari operator jenis sebelumnya.
Operator ini hanya digunakan pada proses increment maupun decrement dengan
tingkat 1.
Berikut ini adalah operator yang termasuk jenis ini:
•
$x++;ekuivalen dengan $x += 1;atau $x = $x + 1;
•
$x--;ekuivalen dengan $x -= 1;atau $x = $x – 1;
Contoh:
<?php
$x = 4;
VI- 6
Bab 6 Pemrograman PHP
$x++;
echo "$x;
$x = 4;
$x--; echo "$x;
?>
Statement IF
Sintaks dari statement tersebut dalam PHP adalah
if (syarat)
{
statement1;
statement2;
.
.
}
Untuk menyatakan syarat, biasanya digunakan operator perbandingan seperti
yang telah dibahas sebelumnya. Apabila syarat bernilai TRUE maka statementstatement yang diapit dengan tanda kurung kurawal akan dijalankan. Bentuk lain
dari sintaks IF adalah
if (syarat)
{
statement1;
statement2;
.
.
}
else
{
statement3;
statement4;
.
.
}
Untuk sintaks kedua di atas, statement3, statement4, dst akan dijalankan apabila
syarat bernilai FALSE.
Contoh:
<?
$my_name = "nada";
if ($my_name == "nada")
Bab 6 Pemrograman PHP
VI- 7
{
echo "Your name is ".$my_name."!"<br>";
}
echo "Welcome to my homepage!";
?>
Contoh
<?
$number = 3;
if ($number == 4)
{
echo "Benar";
}
else
{
echo "Salah";
}
?>
Terdapat pula bentuk sintaks berikutnya dari IF … yaitu dengan ditambahkan
elseif
if(syarat1)
{
statement11;
statement12;
.
.
}
elseif(syarat2)
{
statement21;
statement22;
.
.
}
else
{
statement1;
statement2;
.
.
}
Switch
VI- 8
Bab 6 Pemrograman PHP
PHP memiliki perintah kondisional lain yaknik switch. Kondisional ini
baik digunakan pada saat kondisi if-elseif-else yang panjang. Sintaks
penulisan switch sebagai berikut
switch ($variable) {
case 'value1':
// Blok yang dikerjakan saat ‘value1’.
break;
case 'value2':
// Blok yang dikerjakan saat ‘value2’.
break;
default:
// Kerjakan blok ini jika tidak dipilih
// value1 dan value2.
break;
}
Kondisional switch akan membandingkan isi peubah $variable untuk berbagai
kasus yang berbeda. Ketika isi peubah $variable sama dengan case yang ada
maka statement yang ada pada case bersangkutan akan dieksekusi sampai
ketemu break. Apabila tidak ada yang cocok dari isi peubah $variable maka yang
dipilih adalah default.
6.4. Validasi Form
Form validation adalah sebuah form yang mampu melakukan validasi pada tiap
inputan pada form, misalnya jika seorang user belum melakukan pengisian
nama dan saat user mengklik tombol sumbit maka akan muncul pemberitahuan
bahwa user belum mengisi nama pada form . Langkah pertama kita akan
membuat sebuah form sederhana di mana user akan menginput data pada form
ini. buat file form.php dan aksi-form.php sebagai pengecek keabsahan masukan
oleh user. Berikut kode php-nya:
Bab 6 Pemrograman PHP
VI- 9
1. Tuliskan kode php berikut pada notepad
<html>
<head>
<title>CARIKODE</title>
<link href="style.css" rel="stylesheet"
type="text/css"></link>
</head>
<body>
<form action="aksi-form.php" method="get">
<div id="lay-form">
<div id="kep-lay-form">
<h1>Form Registrasi</h1>
</div>
<div id="bad-lay-form">
<table>
<tr>
<td class="lbl">Nama</td>
<td><input type="text"
name="nama" placeholder="Masukkan nama .."></td>
</tr>
<tr>
<td class="lbl">Email</td>
<td><input type="text"
name="email" placeholder="Masukkan email .."></td>
</tr>
<tr>
<td class="lbl">Username</td>
<td><input type="text"
name="username" placeholder="Masukkan username .."></td>
</tr>
<tr>
<td class="lbl">Password</td>
<td><input type="password"
name="password" placeholder="Masukkan password .."></td>
VI- 10
Bab 6 Pemrograman PHP
</tr>
<tr>
<td class="lbl"></td>
<td><input id="btn"
type="submit" value="Oke"></td>
</tr>
</table>
</div>
</div>
</form>
</body>
</html>
2. Simpan pada folder htdocs dan beri nama form.php.
3. Karena file form.php menggunakan css, berikut kode css untuk form tersebut
lalu simpan dengan nama style.css
body{
background:#ECF0F1;
font-family:sans-serif;
font-size:10pt;
color:#232323;
}
#lay-form{
width:500px;
background:#fff;
height:600px;
border-radius:10px 10px 10px 10px;
margin:30px auto;
}
#kep-lay-form{
border-bottom:1px solid #7F8C8D;
height:45px;
}
#kep-lay-form h1{
padding-top:5px;
padding-left:10px;
}
input{
width:300px;
height:30px;
border:1px solid #2ECC71;
margin-bottom:15px;
Bab 6 Pemrograman PHP
VI- 11
padding-left:5px;
}
table{
padding-top:50px;
padding-left:30px;
}
#bad-lay-form{
height:480px;
}
.lbl{
width:125px;
}
#btn{
background:#2ECC71;
margin-top:30px;
}
4. Jika form sudah jadi maka kita akan mulai membuat aksi-form.php untuk
mengecek kevalidan masukannya . Berikut kode php untuk aksi-form.php,
<?php
//menangkap data dari url dan mengubahnya ke variabel
//nama
$nama=$_GET['nama'];
//menangkap data dari url dan mengubahnya ke variabel
//email
$email=$_GET['email'];
//menangkap data dari url dan mengubahnya ke variabel
//username
$username=$_GET['username'];
//menangkap data dari url dan mengubahnya ke variabel
//password
$password=$_GET['password'];
if($_GET['nama']=="" && $_GET['email']=="" &&
$_GET['username']=="" && $_GET['password']==""){
header("location:form.php?kosong=semua");
}else if($_GET['nama']==""){
header("location:form.php?kosong=nama");
}else if($_GET['email']==""){
VI- 12
Bab 6 Pemrograman PHP
header("location:form.php?kosong=email");
}else if($_GET['username']==""){
header("location:form.php?kosong=username");
}else if($_GET['password']==""){
header("location:form.php?kosong=password");
}
?>
5. Coba untuk menginput data pada form tersebut dengan mengosongkan salah
satu data, perhatikan hasilnya
6. Dan bagaimana jika user tidak mengisi apapun? Apa hasilnya
6.5. Array
Dalam PHP, indeks untuk array dapat berupa numerik dan dapat pula berupa
suatu nilai atau yang sering disebut dengan array assosiatif.
Array Berindeks Numerik
Sintaks umum untuk menyatakan suatu array berindeks numerik beserta nilainya
adalah
$nama_array[$key] = value;
Dalam hal ini $key berupa bilangan bulat mulai dari 0, 1, 2, …
Contoh:
$karyawan[0]
$karyawan[1]
$karyawan[2]
$karyawan[3]
=
=
=
=
"Bob";
"Sally";
"Charlie";
"Clare";
Sedangkan berikut ini adalah contoh untuk menampilkan nilai dari suatu array
berindeks numerik.
<?
$karyawan[0] = "Bob";
$karyawan[1] = "Sally";
$karyawan[2] = "Charlie";
$karyawan[3] = "Clare";
echo"Berikut ini adalah 2 orang karyawan saya, yaitu "
.$karyawan[0]."&".$karyawan[1];
echo"<br>Dua orang karyawan saya yang lain adalah "
.$karyawan[2]."&".$karyawan[3];
Bab 6 Pemrograman PHP
VI- 13
Array Assosiatif
Untuk array assosiatif, sintaksnya sama dengan array berindeks numerik namun
perbedaannya adalah pada $key. Pada array assosiatif, $key dapat berupa suatu
string. Berikut ini adalah contohnya.
$gaji["Bob"] = 2000;
$gaji["Sally"] = 4000;
$gaji["Charlie"] = 600;
$gaji["Clare"] = 0;
dan berikut ini adalah contoh kode untuk menampilkan nilai dari array assosiatif
<?
$gaji["Bob"] = 2000;
$gaji["Sally"] = 4000;
$gaji["Charlie"] = 600;
$gaji["Clare"] = 0;
echo "Bob digaji - $" .
$gaji["Bob"] . "<br>"; echo "Sally
digaji - $" . $gaji["Sally"] .
"<br>";
echo "Charlie digaji - $" .
$gaji["Charlie"] . "<br>"; echo "dan Clare
digaji - $" . $gaji["Clare"];
?>
6.6. Perulangan for dan while
Statement WHILE
Statement ini digunakan untuk mengerjakan suatu statement secara berulangulang sampai suatu syarat dipenuhi. Sintaksnya adalah
while (syarat)
{
statement;
statement;
.
.
}
Pada sintaks di atas, selama syarat bernilai TRUE maka statement-statement di
dalam while akan terus dijalankan secara berulang-ulang. Perulangan baru akan
VI- 14
Bab 6 Pemrograman PHP
berhenti apabila syarat bernilai FALSE. Sebelum statement yang diulang-ulang
dilakukan, terlebih dahulu akan dicek syarat nya apakah bernilai TRUE atau
FALSE. Apabila TRUE maka statement akan dijalankan. Sedangkan apabila
FALSE, perulangan akan langsung berhenti. Dengan kata lain, statement dalam
WHILE bisa jadi tidak akan pernah dilakukan, yaitu apabila syaratnya langsung
bernilai FALSE.
Contoh:
<?
$harga_sikat = 1500;
$jumlah_sikat = 10;
echo "<table border=\"1\"
align=\"center\">"; echo
"<tr><td><b>Jumlah
Sikat</b></td>";
echo
"<td><b>Harga</b></tr>
</td>";
while ($jumlah_sikat<= 100 )
{
echo "<tr><td>";
echo $jumlah_sikat; echo "</td><td>";
echo "Rp. ".$harga_sikat*$jumlah_sikat;
echo "</td></tr>";
$jumlah_sikat = $jumlah_sikat + 10;
}
echo "</table>";
?>
Kode di atas akan menampilkan hasil di browser berupa tabel yang berisi jumlah
sikat dan harganya, dengan asumsi harga sebuah sikat adalah Rp. 1.500. Jumlah
sikat yang ditampilkan adalah kelipatan 10 dengan batas sampai 100 buah.
Statement FOR
Statement FOR mirip dengan WHILE yang memiliki sintaks berikut ini
for (inisialisasi counter; syarat; increment/decrement
counter)
{
statement;
.
.
}
Bab 6 Pemrograman PHP
VI- 15
Untuk memperjelas pemahaman tentang FOR, berikut ini adalah contoh kode
dengan for untuk menghasilkan tampilan yang sama dengan contoh while
sebelumnya (tentang jumlah sikat dan harganya). Coba bandingkan dengan kode
contoh while sebelumnya.
Contoh:
<?
$harga_sikat = 1500;
echo "<table border=\"1\" align=\"center\">";
echo "<tr><td><b>Jumlah Sikat</b></td>";
echo "<td><b>Harga</b></td></tr>";
for ($jumlah_sikat = 10; $jumlah_sikat <= 100;
$jumlah_sikat+=10)
{
echo "<tr><td>"; echo $jumlah_sikat;
echo "</td><td>";
echo "Rp. ".$harga_sikat * $jumlah_sikat;
echo "</td></tr>";
}
echo "</table>";
?>
Statement Foreach
Misalkan Anda punya data berupa array assosiatif yang akan diproses secara
berulang-ulang, maka PHP menyediakan statement foreach yang mudah
digunakan.
Sintaksnya adalah:
foreach(variabelarray as kunci => value)
{
statement;
.
.
}
Sebagai contoh, misalkan Anda memiliki 5 orang karyawan dengan usianya
masing-masing yang ditulis dalam kode PHP sebagai berikut
$UsiaKaryawan["Lisa"] =
$UsiaKaryawan["Jack"] =
$UsiaKaryawan["Ryan"] =
$UsiaKaryawan["Rachel"]
VI- 16
"28";
"16";
"35";
= "46";
Bab 6 Pemrograman PHP
$UsiaKaryawan["Grace"] = "34";
Berikut ini adalah contoh kode PHP yang akan menampilkan semua karyawan
beserta usianya dengan menggunakan foreach.
<?
$UsiaKaryawan["Lisa"] = "28";
$UsiaKaryawan["Jack"] = "16";
$UsiaKaryawan["Ryan"] = "35";
$UsiaKaryawan["Rachel"] = "46";
$UsiaKaryawan["Grace"] = "34";
foreach($UsiaKaryawan as $Nama => $umur)
{
echo "Nama Karyawan: $Nama, Usia: $umur"." th <br>";
}
?>
Statement DO WHILE
Statement ini merupakan bentuk modifikasi dari WHILE. Sintaksnya adalah
sebagai berikut
do
{
statement;
.
.
}
while (syarat);
Coba bandingkan dengan sintaks WHILE sebelumnya. Dilihat dari posisi
statement yang diulang,
posisi statement yang diulang pada DO WHILE terletak di atas syarat. Dengan
demikian,
sebelum syarat dicek TRUE atau FALSE nya, statement akan
dikerjakan terlebih dahulu. Sedangkan pada WHILE, sebelum statement yang
diulang dikerjakan, terlebih dahulu syarat akan dicek.
Prinsip kerja DO WHILE sama dengan WHILE yaitu statement akan terus
dikerjakan selama syarat bernilai TRUE dan perulangan akan berhenti apabila
FALSE.
Bab 6 Pemrograman PHP
VI- 17
Perhatikan contoh berikut ini yang membandingkan DO WHILE dengan WHILE
Contoh:
<?
$kue = 0;
while($kue > 1)
{
echo "Mmmmm...Aku suka kue! Nyam..nyam..nyam..";
}
?>
<?
$kue = 0; do
{
echo "Mmmmm... Aku suka kue! Nyam..nyam..nyam..";
} while ($kue > 1);
?>
Pada kode WHILE, teks "Mmmm…. " dan seterusnya tidak akan ditampilkan
karena syaratnya langsung bernilai FALSE (perulangan berhenti). Sedangkan
pada DO WHILE, teks akan ditampilkan
dahulu kemudian perulangan berhenti (syarat bernilai FALSE).
Latihan
Praktikan seluruh kode php yang ada pada Bab 6 ini, dan perhatikan hasilnya dan
catat hal-hal yang baru anda peroleh.
VI- 18
Bab 6 Pemrograman PHP
BAB 7
MERANCANG BASIS DATA
Tujuan Pembelajaran:
Memahami kaidah Perancangan Basis Data
7.1
Pentingnya Perancangan Basis Data yang Baik
7.2
Macam-macam Relasi Tabel
7.3
Memahami Normalisasi
7.4
Latihan Merancang Basis Data
Bab 7 Merancang Basis Data
VII- 1
7.1. Pentingnya Perancangan Basis Data yang Baik
Dalam sebuah aplikasi berbasis web, keberadaan basis data sangatlah penting.
Sebuah situs web akan lebih informatif dan menarik apabila data yang
ditampilkannya selalu diperbeharui. Situs web yang seperti ini biasa disebut situs
yang dinamis. Untuk situs web yang bersifat dinamis, maka diperlukan tempat
penyimpanan data yang disebut dengan basis data(database). Basis Data akan
menyimpan semua data yang diperlukan dalam web dinamis. Data yang tersimpan
ini dapat bertambah, berubah atau dihapus, sesuai kebutuhan. Situs web yang baik
adalah situs yang terpelihara dan data yang ditampilkan selalu diperbaharui.
Dalam proses memperbaharui data, maka diperlukan sebuah basis data yang
dirancang dengan baik sehingga mampu mengikuti perubahan ragam dan metode
penyimpanan data.
Sebuah basis data yang dirancang dengan baik memberikan Anda akses ke up to
date dan informasi yang akurat. Karena desain yang benar sangat penting untuk
mencapai tujuan Anda dalam bekerja dengan database, investasi waktu untuk
mempelajari prinsip-prinsip desain yang baik yang dibutuhkan adalah hal yang
harus dilakukan. Pada akhirnya, Anda akan jauh lebih nyaman dengan database
yang memenuhi kebutuhan Anda dan dapat dengan mudah mengakomodasi
perubahan yang terjadi.
Artikel ini memberikan pedoman untuk perencanaan database. Anda akan belajar
bagaimana untuk memutuskan informasi apa yang Anda butuhkan, bagaimana
membagi informasi itu ke dalam tabel dan kolom yang tepat, dan bagaimana antar
tabel berhubungan satu sama lain. Anda harus membaca artikel ini sebelum Anda
membuat database pertama Anda.
Ada prinsip-prinsip tertentu yang memandu proses desain database. Prinsip
pertama adalah bahwa duplikat informasi (reduncy) adalah buruk, karena akan
boros dalam ruang media penyimpan dan meningkatkan kemungkinan kesalahan
dan inkonsistensi. Prinsip kedua adalah bahwa kebenaran dan kelengkapan
informasi penting. Jika database Anda berisi informasi yang tidak benar, laporan
VII- 2
Bab 7 Merancang Basis Data
yang berasal dari informasi yang berada pada database juga akan berisi informasi
yang salah. Akibatnya, setiap keputusan yang Anda buat yang didasarkan pada
laporan-laporan yang salah.
Sebuah desain database yang baik, harus memiliki syarat:
1. Membagi informasi Anda ke dalam tabel berbasis subjek untuk mengurangi
data yang berlebihan.
2. Memberikan akses informasi yang diperlukan untuk menggabung informasi
dalam tabel bersama-sama sesuai kebutuhan.
3. Membantu dukungan dan memastikan akurasi dan integritas informasi Anda.
4. Mengakomodasi pengolahan data dan kebutuhan pelaporan.
4.1. Macam-macam Relasi Tabel
Dalam sebuah basis data, di dalamnya terdapat tabel-tabel. Satu tabel dengan tabel
yang lainnya dapat saja saling berelasi/berhubungan. Hal ini dilakukan agar
supaya kita dapat mengelompokkan data sesuai dengan karakteristiknya masingmasing dan ketika tabel-tabel ini saling berelasi, kita dapat menarik informasi dari
masing-masing karakter data pada tabelnya masing-masing sehingga informasi
yang tersaji menjadi utuh, menyeluruh dan lengkap.
Perlu kita ketahui sebelumnya untuk pengertian Relasi itu sendiri yaitu adalah
hubungan antara tabel yang mempresentasikan hubungan antar objek di dunia
nyata. Relasi merupakan hubungan yang terjadi pada suatu tabel dengan lainnya
yang mempresentasikan hubungan antar objek di dunia nyata dan berfungsi untuk
mengatur mengatur operasi suatu database. Hubungan yang dapat dibentuk dapat
mencakup 3 macam hubungan
One to One :
Mempunyai pengertian "Setiap baris data pada tabel pertama dihubungkan hanya
ke satu baris data pada tabel ke dua". Contohnya : relasi antara tabel Siswa dan
tabel orang tua. Satu baris siswa hanya berhubungan dengan satu baris orang tua
begitu juga sebaliknya.
One to Many:
Bab 7 Merancang Basis Data
VII- 3
Mempunyai pengertian "Setiap baris data dari tabel pertama dapat dihubungkan
ke satu baris atau lebih data pada tabel ke dua". Contohnya : relasi perwalian
antara tabel guru dan tabel siswa. Satu baris guru atau satu guru bisa berhubungan
dengan satu baris atau lebih mahasiswa
Many to Many:
Mempunyai pengertian "Satu baris atau lebih data pada tabel pertama bisa
dihubugkan ke satu atau lebih baris data pada tabel ke dua". Artinya ada banyak
baris di tabel satu dan tabel dua yang saling berhubungan satu sama lain.
Contohnya : relasi antar tabel siswa dan tabel mata kuliah. Satu baris siswa bisa
berhubungan dengan banyak baris mata pelajaran begitu juga sebaliknya.
7.3. Memahami Normalisasi
Normalisasi adalah Teknik/pendekatan yang digunakan dalam membangun desain
logika database relasional melalui organisasi himpunan data dengan tingkat
ketergantungan fungsional dan keterkaitan yang tinggi sedemikian sehingga
menghasilkan struktur tabel yang normal. Tujuan normalisasi adalah:
1. Minimalisasi redundansi (pengulangan data)
2. Memudahkan identifikasi entitas
3. Mencegah terjadinya anomaly (Mudah berubahnya bentuk form)
Proses normalisasi dilakukan pada tabel yang belum normal, seperti contoh tabel
berikut,
Salah satu dari ketidaknormalan pada tabel di atas adalah ada beberapa kolom
pada baris tertentu datanya tidak lengkap. Kemudian ada beberapa kolom, atau
VII- 4
Bab 7 Merancang Basis Data
dalam basis data disebut atribut, yang sejenis yang dibuat berulang seperti pada
contoh tabel di atas adalah kolom Kerusakan1 sampai Kerusakan 3.
Normalisasi Pertama (1NF/ First Normal Form)
Karena form tersebut tidak normal, maka kita akan menjadikan database tersebut
menjadi INF (First Normal Form) :
Suatu relasi disebut memenuhi bentuk normal pertama (1NF) jika dan hanya jika
setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dan tidak ada
pengulangan grup atribut dalam baris.
Bentuk 1NF tidak boleh mengandung
grup atribut yang berulang.
•
Setiap data dibentuk dalam flat file, data dibentuk dalam satu record demi
satu record nilai dari field berupa “atomic value”.
•
Tidak ada set attribute/kolom yang berulang atau bernilai ganda.
•
Tiap attribute/kolom hanya memiliki satu pengertian.
Bentuk normal pertama dari tabel di atas adalah
Kolom kerusakan1 sampai 3 diganti dengan satu kolom keterangan.
Normalisasi Ke Dua (2 NF /Second Normal Form)
Bentuk normal kedua mempunyai syarat yaitu bentuk data telah memenuhi
kriteria bentuk normal kesatu. Atribute bukan kunci haruslah bergantung secara
fungsi pada kunci utama/primary key. Sehingga untuk membentuk normal kedua
haruslah sudah ditentukan kunci-kunci field. Kunci field haruslah unik dan dapat
mewakili atribute lain yg menjadi anggotanya.
Dari contoh Table Rekapitulasi GIN pada normalisasi pertama terlihat bahwa
kunci utama/ primary key yaitu NO_GIN, dan yang merupakan kunci tamu/
foreign key yaitu ID_Staff, Kode_Unit, dan Kode_barang. Pada normalisasi kedua
Bab 7 Merancang Basis Data
VII- 5
ini semua foreign key pada Table Rekapitulasi GIN dipecah menjadi beberapa 3
table.
Bentuk Second Normal Form / Normalisasi Kedua:
Normalisasi Ketiga (3rd NF/Normal Form)
Untuk mencapai bentuk normal ketiga syaratnya adalah:
• Sudah berada dalam bentuk normal kedua (2NF)
• Tidak ada ketergantungan transitif (dimana atribut bukan kunci tergantung
pada atribut bukan kunci lainnya).
Untuk kasus di atas, normalisasi sudah selesai sampai tahap normal kedua.
Contoh Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF:
Tabel: Mahasiswa
NIM
Nama
alm_jalan
alm_kota
Alm_Provinsi Alm_odepos
karena masih terdapat atribut non primary key (yakni alm_kota dan alm_Provinsi)
yang memiliki ketergantungan terhadap atribut non primary key yang lain (yakni
alm_kodepos): alm_kodepos→ {alm_Provinsi, alm_kota} , sehingga tabel
tersebut perlu didekomposisi menjadi:
•
Mahasiswa (Nrp, nama, alm_jalan, alm_kodepos)
•
Kodepos (alm_kodepos, alm_provinsi, alm_kota)
VII- 6
Bab 7 Merancang Basis Data
7.4 Latihan Merancang Basis Data
Rancanglah tabel yang belum normal berikut menggunakan kaidah normalisasi 1
sampai 3.
No_Mhs
2325
Nama_Mhs
Badrun
Jurusan
TE
Kode_MK
BM3301
BM3002
2326
Burhan
TE
Mobile
Application
Pemrograman
Web
Kode_Dosen
Nama_dosen
Nilai
BM221
Ahmad
A
BM301
Ratna
A-
BM3201
Networking
BM210
Darta
B
TT3201
SKSO
TT301
Wahyu
A
TT331
Renny
B
TT221
Ridwan
C
TT3001
TT3102
Bab 7 Merancang Basis Data
Nama_MK
Jaringan
Broadband
Satelit
VII- 7
VII- 8
Bab 7 Merancang Basis Data
BAB 8
MEMBUAT BASIS DATA DENGAN
MySQL
Tujuan Pembelajaran:
Memahami kaidah Pembuatan Basis Data menggunakan MySQL
8.1
Pengenalan MySQL
8.2
Bahasa Pemrograman SQL
8.3
Pemrograman SQL Lanjut dengan MySQL
Bab 8 Membuat Basis Data dengan MySQL
VII- 1
8.1. Pengenalan MySQL
MySQL merupakan salah satu DBMS yang bersifat freeware, sehingga menjadi
popular dikalangan pengguna database. Selain karena Free MySQL juga
merupakan DBMS yang relatif ringan dan mudah digunakan. Ada beberapa
software yang bisa digunakan untuk menjalankan service MySQL, diantaranya
WAMP, PhpTriad dan XAMPP. XAMPP merupakan yang paling popular karena
masih terus dikembangkan sampai saat ini. XAMPP merupakan program paket
yang didalamnya terdapat beberapa software yang digabungkan menjadi satu.
Dalam XAMPP sendiri didalamnya terdapat 5 software yang berbeda (MySql,
Apache, FileZilla, Mercury dan Tomcat). Jadi ketika menginstall XAMPP kita
tidak perlu lagi menginstall Apache dan MySQL secara terpisah.
8.2. Bahasa Pemrograman SQL
Dalam dunia basis data dikenal bahasa pemrograman Structured Query
Languange (SQL). SQL adalah sebuah bahasa yang digunakan untuk mengakses
data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa
standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir
semua server basis data yang ada mendukung bahasa ini untuk melakukan
manajemen datanya.
Sejarah
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama Jhonny
Oracle yang membahas tentang ide pembuatan basis data relasional pada bulan
Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar
untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi
nama SEQUEL (Structured English Query Language).
Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data
relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum
mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL.
Implementasi basis data relasional dikenal dengan System/R.
VII- 2
Bab 8 Membuat Basis Data dengan MySQL
Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server
basis data populer yang bernama sama dengan nama perusahaannya. Dengan
naiknya kepopuleran John Oracle, maka SQL juga ikut populer sehingga saat ini
menjadi standar de facto bahasa dalam manajemen basis data.
Standarisasi
Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya
standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86.Standar
tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada
tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan
standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan
implementasi mereferensi pada SQL92.
Saat ini sebenarnya tidak ada server basis data yang 100% mendukung SQL92.
Hal ini disebabkan masing-masing server memiliki dialek masing-masing.
Pemakaian Dasar
Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language
(DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML
berbeda untuk tiap sistem manajemen basis data, namun secara umum
implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI.
Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada
kebanyakan sistem manajemen basis data.
8.3. Pemrograman SQL Lanjut dengan MySQL
MySQL adalah sebuah implementasi dari sistem manajemen basisdata relasional
(RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General
Public License). Setiap pengguna dapat secara bebas menggunakan MySQL,
namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk
turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah
satu konsep utama dalam basisdata yang telah ada sebelumnya; SQL (Structured
Query Language). SQL adalah sebuah konsep pengoperasian basis data, terutama
Bab 8 Membuat Basis Data dengan MySQL
VII- 3
untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan
pengoperasian data dikerjakan dengan mudah secara otomatis.
Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja
pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat
oleh pengguna maupun program-program aplikasi yang memanfaatkannya.
Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional
maupun operasi basisdata non-transaksional. Pada modus operasi nontransaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja
dibandingkan perangkat lunak peladen basisdata kompetitor lainnya. Namun pada
modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang
tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi
yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web
(wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk
bisnis sangat disarankan untuk menggunakan modus basisdata transaksional,
hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional
tidak secepat unjuk kerja pada modus non-transaksional.
MySQL pada awalnya diciptakan pada tahun 1979, oleh Michael "Monty"
Widenius, seorang programmer komputer asal Swedia. Monty mengembangkan
sebuah sistem database sederhana yang dinamakan UNIREG yang menggunakan
koneksi low-level ISAM database engine dengan indexing. Pada saat itu Monty
bekerja pada perusahaan bernama TcX di Swedia.
TcX pada tahun 1994 mulai mengembangkan aplikasi berbasis web, dan
berencana menggunakan UNIREG sebagai sistem database. Namun sayangnya,
UNIREG dianggagap tidak cocok untuk database yang dinamis seperti web.
TcX kemudian mencoba mencari alternatif sistem database lainnya, salah satunya
adalah mSQL (miniSQL). Namun mSQL versi 1 ini juga memiliki kekurangan,
yaitu tidak mendukung indexing, sehingga performanya tidak terlalu bagus.
VII- 4
Bab 8 Membuat Basis Data dengan MySQL
Dengan tujuan memperbaiki performa mSQL, Monty mencoba menghubungi
David Hughes (programmer yang mengembangkan mSQL) untuk menanyakan
apakah ia tertarik mengembangkan sebuah konektor di mSQL yang dapat
dihubungkan dengan UNIREG ISAM sehingga mendukung indexing. Namun saat
itu Hughes menolak, dengan alasan sedang mengembangkan teknologi indexing
yang independen untuk mSQL versi 2.
Dikarenakan penolakan tersebut, David Hughes, TcX (dan juga Monty) akhirnya
memutuskan untuk merancang dan mengembangkan sendiri konsep sistem
database baru. Sistem ini merupakan gabungan dari UNIREG dan mSQL (yang
source codenya dapat bebas digunakan). Sehingga pada May 1995, sebuah
RDBMS baru, yang dinamakan MySQL dirilis.
David Axmark dari Detron HB, rekanan TcX mengusulkan agar MySQL di ‘jual’
dengan model bisnis baru. Ia mengusulkan agar MySQL dikembangkan dan dirilis
dengan gratis. Pendapatan perusahaan selanjutnya di dapat dari menjual jasa
“support” untuk perusahaan yang ingin mengimplementasikan MySQL. Konsep
bisnis ini sekarang dikenal dengan istilah Open Source.
Pada tahun 1995 itu juga, TcX berubah nama menjadi MySQL AB, dengan
Michael Widenius, David Axmark dan Allan Larsson sebagai pendirinya. Titel
“AB” dibelakang MySQL, adalah singkatan dari “Aktiebolag”, istilah PT
(Perseroan Terbatas) bagi perusahaan Swedia.
MySQL memiliki beberapa keistimewaan, antara lain :
•
Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi
seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan
masih banyak lagi.
•
Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai
perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat
digunakan secara gratis.
Bab 8 Membuat Basis Data dengan MySQL
VII- 5
•
Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam
waktu yang bersamaan tanpa mengalami masalah atau konflik.
•
'Performance tuning', MySQL memiliki kecepatan yang menakjubkan
dalam menangani query sederhana, dengan kata lain dapat memproses
lebih banyak SQL per satuan waktu.
•
Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya,
seperti signed / unsigned integer, float, double, char, text, date, timestamp,
dan lain-lain.
•
Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh
yang mendukung perintah Select dan Where dalam perintah (query).
•
Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level
subnetmask, nama host, dan izin akses user dengan sistem perizinan yang
mendetail serta sandi terenkripsi.
•
Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam
skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60
ribu tabel serta 5 miliar baris. Selain itu batas indeks yang dapat
ditampung mencapai 32 indeks pada tiap tabelnya.
•
Konektivitas.
MySQL
dapat
melakukan
koneksi
dengan
klien
menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes
(NT).
•
Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan
menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa
Indonesia belum termasuk di dalamnya.
•
Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai
aplikasi dan bahasa pemrograman dengan menggunakan fungsi API
(Application Programming Interface).
•
Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)
yang dapat digunakan untuk administrasi basis data, dan pada setiap
peralatan yang ada disertakan petunjuk online.
•
Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam
menangani ALTER TABLE, dibandingkan basis data lainnya semacam
PostgreSQL ataupun Oracle.
VII- 6
Bab 8 Membuat Basis Data dengan MySQL
Kelebihan Dan kekurangan MySQL dibanding RDBMS Lain
Hal paling mendasar yang menjadikan MySQL pilihan utama sebagai database
yang digunakan adalah karena MySQL menggunakan Lisensi GPL dan
multiplatform, sehingga lebih disukai para mahasiswa karena tidak membutuhkan
biaya besar dalam membuat aplikasi serta tidak harus tergantung pada OS
Windows ataupun Linux karena dapat dijalankan pada kedua OS tersebut dan
beberapa OS lainnya. Tapi alasan tersebut tidaklah cukup untuk menjadikan
MySQL sebagai RDBMS yang akan digunakan. Berikut keunggulan dan
kekurangan
Keunggulan
•
Berlisensi GPL dan Multi Platform.
•
Dapat diintegrasikan dengan beberapa bahasa Pemrograman seperti .Net,
Java, Python, Perl yang merupakan bahasa pemrograman yang paling
dominan di kalangan programmer.
•
Mendukung ODBC untuk sistem operasi Windows sehingga bisa
digunakan aplikasi yang berjalan diwindows.
•
Bisa dijalankan pada spesifikasi hardware yang rendah karena lebih hemat
resource memory (dibandingkan database lain) sehingga mudah digunakan
untuk bahan pembelajaran.
•
MySQL dapat
mendeteksi
pesan
kesalahan
pada
klien
dengan
menggunakan lebih dari 20 bahasa meskipun bahasa indonesia belum
termasuk didalamnya.
Kekurangan
•
Banyak
mengklaim
kurang
support
terhadap
pemrograman
Visual/Desktop, sehingga sedikit yang menggunakan untuk aplikasi visual.
•
Karena berlisensi GPL sehingga sulit mendapatkan update untuk problem
yang urgent, sehingga perusahaan skala menengah keatas lebih memilih
RDBMS berlisensi dan disupport seperti Oracle dan MS SQL Server
•
Sangat diragukan dalam menangani data skala besar, karena ada beberapa
opini yang pro dan kontra terhadap kemampuan MySQL terhadap
pengolahan data yang besar.
Bab 8 Membuat Basis Data dengan MySQL
VII- 7
Kemampuan MySQL
Berikut Kemampuan MySQL yang tidak kalah dengan RDBMS lain seperti
Oracle dan SQL Server
1. Memiliki kecepatan
yang menakjubkan dalam menangani query
sederhana,dengan kata lain dapat memproses lebih banyak SQL per satuan
waktu.
2. Memiliki lebih banyak type data seperti : signed/unsigned integer yang
memiliki panjang data sebesar 1,2,3,4 dan 8 byte, FLOAT, DOUBLE,
CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME,
TIMESTAMP, YEAR, SET dan tipe ENUM.
3. Mendukung field yang dijadikan Index, dengan maksimal 32 index dalam
satu tabel. *
4. MYSQL memiliki beberapa lapisan keamanan, seperti subnetmask, nama
host, dan izin akses user dengan system perijinan yang mendetail serta
sandi/password terenkripsi.
5. Konektivitas , MySQL dapat melakukan koneksi dengan klien
menggunakan protokol TCP/IP ,Unix soket (UNIX),atau Named
Pipes(NT).
6. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam
waktu yang bersamaan tanpa mengalami masalah atau konflik
7. Command and function, MySQL memiliki fungsi dan operator secara
penuh yang mendukung perintah select dan where dalam query.
8. Structure Table, MySQL memiliki struktur tabel yang lebih fleksibel
dalam menangani ALTER TABLE dibandingkan DBMS lainnya.
9. Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY.
Mendukung terhadap fungsi penuh ( COUNT(),COUNT(), DISTINCT()
AVG(), STD(), SUM(), MAX() dan MIN() ).
Struktur MySQL
MySQL Sama dengan bahasa pemrogaman lainnya yang juga sama-sama
memiliki tipe data.
Tipe Data String
char, memiliki panjang 255
VII- 8
Bab 8 Membuat Basis Data dengan MySQL
varchar, memiliki panjang 255
tinytext, memiliki panjang 255
text, tidak terbatas
mediumtext, 1 juta
longtext, 4 Milyar
Tipe Data Numerik
int, -2 M sampai dengan 4 M
tinyint, -128 sampai dengan 255
mediumint, -8 Juta sampai dengan 8 Juta
bigint, -92 Triliyun sampai dengan 92 Triliyun
float, bilangan desimal positif, bilangan real
double, bilangan desimal negatif dan positif
Tipe Data Date dan TIme
date, hanya memuat tanggal saja, dengan formatnya seperti ini tahun-bulantanggal
time,
hanya
memuat
waktu
saja,
formatnya
HH:MM:SS
(Jam:Menit:Detik) datetime, memuat tanggal dan waktu, formatnya TahunBulan-Hari Jam:Menit:Detik year.
Tipe Key
Primary Key, Kunci yang menghubungkan antara 1 table dengan table lainnya
Auto Increment
Auto Increment menyebabkan pertambahan nilai urutan secara otomatis, suatu
record memiliki nilai 1, kemudian jika ada record yang lain lagi di insertkan ke
dalam database, maka urutannya akan menjadi 2 dan begitu seterusnya.
Bab 8 Membuat Basis Data dengan MySQL
VII- 9
Syntax MySQL
Perintah-perintah standar dalam SQL dapat diklasifikasikan menjadi empat bagian
yaitu Data Definition Language (DDL), Data Manipulation Language (DML),
Data Query Language (DQL) dan Data Control Language (DCL).
•
Data Definition Language (DDL) adalah perintah-perintah SQL yang
digunakan untuk mendefinisikan struktur dan skema database. Perintahperintah SQL yang masuk klasifikasi ini antara lain adalah CREATE
(membuat obyek di database), ALTER (merubah struktur database),
DROP (menghapus obyek database), TRUNCATE (menghapus semua
record dari sebuah tabel termasuk semua ruang yang dialokasikan),
COMMENT (menambahkan komentar ke kamus data | data dictionary)
dan RENAME (memberi nama ulang sebuah obyek).
•
Data Manipulation Language (DML) adalah perintah-perintah SQL yang
digunakan untuk memanipulasi data di dalam obyek database. Perintahperintah SQL yang masuk klasifikasi ini antara lain adalah SELECT
(mengambil data dari database), INSERT (memasukkan data ke tabel),
UPDATE (memperbarui data yang ada di sebuah tabel), DELETE
(menghapus semua record dari sebuah tabel), MERGE-UPSERT (operasi
insert dan update), CALL (memanggil PL/SQL atau subprogram Java),
EXPLAIN PLAN (menjelaskan jalur akses data) dan LOCK TABLE
(mengontrol konkurensi).
VII- 10
Bab 8 Membuat Basis Data dengan MySQL
•
Data Control Language (DCL) adalah perintah-perintah SQL yang
digunakan untuk mengontrol data dan server database. Perintah-perintah
SQL yang masuk klasifikasi ini antara lain adalah GRANT (memberikan
hak akses pengguna ke database) dan REVOKE (mencabut hak akses yang
diberikan dengan perintah GRANT).
•
Transaction Control Language (TCL) adalah perintah-perintah SQL yang
digunakan untuk mengontrol pemrosesan transaksional di dalam database.
Perintah-perintah SQL yang masuk klasifikasi ini antara lain adalah
COMMIT
(menerapkan
transaksi
dengan
menyimpan
perubahan
database), ROLLBACK (mengembalikan database ke kondisi awal sejak
terakhir COMMIT), SAVEPOINT (mengidentifikasi titik dalam transaksi
yang nanti bisa diputar kembali) dan SET TRANSACTION (Mengubah
opsi transaksi seperti tingkat isolasi dan segmen rollback apa yang
digunakan).
Untuk lebih memahami penggunaan perintah pada MySQL, berikut adalah contoh
aplikasinya yang harus dipraktikan.
PRAKTIKUM DATABASE MYSQL: Mengenal perintah-perintah SQL
1. Buka xampp control panel dan aktifkan MySQL
Bab 8 Membuat Basis Data dengan MySQL
VII- 11
2. Buka command prompt
3. Beri perintah
cd\xampp\mysql\bin lalu tekan enter, maka akan muncul
4. Lalu untuk masuk ke user root, ketikan mysql –u root –p akan muncul
langsung tekan enter karena password root secara default kosong. Maka
akan muncul prompt mysql seperti gambar berikut
5. Masukan perintah berikut
VII- 12
Bab 8 Membuat Basis Data dengan MySQL
Apa hasil ekseskusi perintah di atas?
6. Pembuatan Database. Pada mysql prompt, buat database buku dengan
perintah
mysql>create database buku;
lalu tekan enter
7. Tulis kembali perintah
mysql>show databases;
perhatikan di daftar database yang muncul apakah sudah ada database
buku.
8. Membuat tabel pada database buku. Tulis perintah berikut untuk masuk ke
database buku
mysql>use buku;
maka akan muncul pesan : Database changed
9. Tabel pertama yang akan dibuat adalah Tabel buku_alamat dengan
struktur sebagai berikut :
10.
Field
Type
Length
Keterangan
No
int
3
Primary Key
Nama
varchar
35
Alamat
varchar
60
Email
varchar
40
No_telp
varchar
15
Bab 8 Membuat Basis Data dengan MySQL
VII- 13
Skrip sqlnya adalah sebagai berikut :
Kalau tidak ada penulisan perintah yang salah, maka akan muncul Query
OK, 0 rows affected (0.22 sec)
11. Sekarang, tabel buku_alamat kita isi dengan data berikut
No Nama
Alamat
Email
No_telp
1
Sugeng
Jakarta
[email protected] 087654567876
2
Ridwan
Depok
[email protected] 067898765987
Perintah SQL nya adalah :
mysql>SELECT * FROM buku_alamat;
mysql>LOAD DATA INFILE “data_alamat.sql”
->INTO TABLE buku_alamat;
VII- 14
Bab 8 Membuat Basis Data dengan MySQL
BAB 9
AKSES BASIS DATA MySQL DENGAN
PHP
Tujuan Pembelajaran:
Memahami kaidah Pengaksesan Basis Data MySQL dengan PHP
9.1
Mengakses Basis Data MySQL
9.2
Mengirim Email
9.3
Mengunduh dan Mengunggah File
9.4
Membuat Otentifikasi User
9.5
Membuat Buku Tamu
Bab 9 Akses Basis Data MySQL dengan PHP
IX- 1
9.1. Mengakses Basis Data MySQL
Dalam sebuah web yang dinamis, basis data adalah salah satu komponen yang
paling utama harus ada. Basis data ini terletak di sisi server yang akan diakses
oleh user yang ada di sisi client. Dalam sebuah halaman web, pengaksesan basis
data ini dilakukan oleh script/kode program yang berjalan di sisi server. Salah satu
bahasa pemrograman yang dapat digunakan adalah PHP. Melalui kode program
yang ditulis menggunakan bahasa pemrograman PHP, kita dapat mengakses data
yang ada di dalam server. Setiap kali kita akan mengakses data ke database, maka
script ini akan selalu dipanggil.
Pada saat mengakses database di server, misalnya database MySQL, pada PHP
harus dilakukan tahap-tahap sebagai berikut
1. Membuka koneksi ke server database
2. Bekerja dengan data di dalam server database
3. Tutup koneksi
PHP telah menyediakan fungsi mysqli_connect() untuk membuat koneksi
antara PHP dan MySQL. Format penulisan sintaksnya adalah
mysql_connect(“host”,”user_mysql”,”password_mysql”);
Sintaks di atas dapat dijelaskan sebagai berikut :
hostname : merupakan alamat server yang menyediakan database MySQL Anda.
Alamat ini dapat diisi menggunakan alamat IP ataupun nama komputernya.
Apabila server MySQL diletakan pada komputer local, anda dapat menggunakan
alamat localhost(IP : 127.0.0.1) sebagai alamat pembaca local.
user_mysql : merupakan user pada database MySQL yang anda miliki dalam
database MySQL. MySQL akan selalu menggunakan metode seperti ini karena ia
sendiri merupakan database server yang menuntut keamanan data setiap
penggunanya.
password_mysql : adalah password user MySQL yang anda miliki.
Praktik :
IX- 2
Bab 9 Akses Basis Data MySQL dengan PHP
1. Buka windows explorer dan cari direktori xampp/htdocs
2. Padas folder htdocs, buat folder baru dengan nama Latihan
3. Tuliskan script(pakai Notepad atau word processor lain) koneksi dengan
database MySQL pada komputer local/localhost berikut dan simpan pada
folder Latihan yang telah dibuat di langkah kedua di atas :
<html>
<head>
<title>Database</title>
</head>
<body>
<?
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
die('Gagal Koneksi dengan database:
'.mysql_error());
}
echo Berhasil Koneksi dengan database';
mysql_close($link);
?>
</body>
</html>
4. Simpan script di atas dengan nama file database.php kemudian simpan di
folder Latihan yang telah dibuat di atas.
5. Bila belum diaktifkan, aktifkan terlebih dahulu server melalui xampp control
panel.
6.
Buka web browser anda dan pada address bar ketikan alamat berikut :
http://localhost/Latihan/database.php
Bab 9 Akses Basis Data MySQL dengan PHP
IX- 3
Pertanyaan:
1. Apa
yang
muncul
di
web
browser
setelah
mengakses
alamat
http://localhost/Latihan/database.php
2. Buka kembali xampp control panel, lalu non aktifkan MySQL, lalu buka
kembali http://localhost/Latihan/database.php , apa sekarang yang muncul
di web browser?
3. Berdasarkan script di atas, sebutkan,
a.
Hostnya apa
b.
Usernya siapa
c.
Apa passwordnya
Koneksi ke Database
Untuk contoh di atas, kita baru mengkoneksikan PHP dengan server, sedangkan di
server terdiri atas beberapa database. Setelah berhasil terkoneksi dengan server,
maka langkah selanjutnya adalah koneksi dengan database. Fungsi untuk
melakukan koneksi ke database menggunakan :
mysql_select_db(nama_database)
Berikut adalah contoh script untuk koneksi ke server kemudian ke database
koneksi, dengan terlebih dahulu kita membuat sebuah database dengan nama
koneksi menggunakan fungsi,
mysql_create_db(koneksi)
Praktik:
1. Tulis script berikut menggunakan text editor yang anda miliki(Notepad
misalnya)
1. <?php
2. $user=root;
3. $pass='';
4. $koneksi=mysql_connect("localhost","$user","$pass"
)
IX- 4
Bab 9 Akses Basis Data MySQL dengan PHP
5. or die("Tidak dapat koneksi ke server karena
:".mysql_error());
6. echo "Koneksi ke server berhasil dilakukan<br>";
7.
8. if(mysql_select_db(koneksi))
9. {
10.
echo "Koneksi database berhasil<br>";
11.
}
12.
else if(mysql_create_db(koneksi))
13.
{
14.
echo"Database koneksi berhasil dibuat<br> ";
15.
}
16.
else
17.
{
18.
echo"Database tidak dapat diaktifkan ";
19.
}
20.
mysql_close($koneksi);
21.
?>
2. Setelah selesai, simpan script di atas dengan nama select_db.php dan simpan
di folder Latihan.
3. Buka web browser anda dan ketikan pada address bar alamat :
http://localhost/Latihan/select_db.php
4. Apa pesan yang muncul pada web browser dan jelaskan!!
Tabel pada Database Koneksi
Database koneksi yang akan kita buat, adalah untuk membuat aplikasi web
halaman berita yang biasanya ditampilkan dalam sebuah portal On line, langkah
selanjutnya adalah dengan membuat tabel berita pada database koneksi yang telah
dibuat tadi.
Praktik
1.
Buka command Prompt dan ganti direktori dengan perintah
cd\xampp\mysql\bin
2.
Masuk ke database MySQL dengan login sebagai root
C:\xampp\mysql\bin>mysql –u root –p
Password :
3.
Tuliskan script membuat tabel berita pada prompt mysql berikut
Bab 9 Akses Basis Data MySQL dengan PHP
IX- 5
4. Membuat Form Masukan Berita, tuliskan script php berikut ini,
<html>
<head>
<title>Halaman Input Berita</title>
</head>
<body>
<form name="form1" method="post"
action="fm_simberita.php">
<table width="75%" border="0" cellpadding="0"
cellspacing="0" bgcolor="#FFFFCC">
<tr bgcolor="FFFFCC">
<td width="76%" bgcolor="FFFF66"><strong>Halaman Pemasukan
Isi Berita</strong></td>
</tr>
<tr>
<td>Judul Berita :</td>
</tr>
<tr>
<td><input name="fm_judul" type="text"
id="fm_judul" size="35" maxlength="40"></td>
</tr>
<tr>
<td>Isi Berita :</td>
</tr>
<tr>
<td><textarea name="fm_berita" cols="30" rows="5"
id="fm_berita">
</textarea></td>
</tr>
<tr>
<td><input type="submit" name="Submit"
value="Simpan">
<input type="reset" name="Submit2" value="Baru">
IX- 6
Bab 9 Akses Basis Data MySQL dengan PHP
<input name="Button" type="button"
onClick="parent.location='fm_lihatberita.php'"
value="Lihat ";>
</td>
</tr>
</table>
</form>
</body>
</html>
Membuat Script Simpan Data Berita
Pada praktik sebelumnya, kita sudah membuat halaman input yang terdiri dari dua
buah text field. Setelah halaman tersebut selesai dibuat, tugas anda adalah
membuat sebuah halaman yang menyimpan data yang anda masukan pada form
input data.
Jadi, saat menyimpan, semua data yang masuk pada suatu Form Input akan
ditransfer ke dalam database MySQL menggunakan koneksi sendiri yang
dihubungkan dengan alamat pada form serta dikirimkan dengan metode POST
yang ditandai dengan :
<form name=”form1” method=”post” action=”fm_simberita.php”>
Form akan menyimpan data dalam sebuah variable, yang ditandai dengan script :
<input name="fm_judul" type="text" id="fm_judul" size="35"
maxlength="40">
………………
<textarea name="fm_berita" cols="30" rows="5"
id="fm_berita"> </textarea>
Variable tersebut akan mengantarkannya ke dalam halaman berisi script PHP.
Berikut adalah scriptnya, simpan dengan nama fm_simberita.php.
<?php
include "fm_connect.php";
$fm_tanggal=date('Y-m-d');
$sql="INSERT INTO berita(judul,berita,tanggal)
VALUES('$fm_judul','$fm_berita','$fm_tanggal')";
Bab 9 Akses Basis Data MySQL dengan PHP
IX- 7
if(mysql_query($sql))
{
echo "Data telah masuk dalam tabel";
}
else
{
echo "Data tidak dapat dimasukkan";
}
mysql_close($koneksi);
include "fm_inberita.php";
?>
Pada script di atas kita menggunakan sebuah pemanggilan file bernama
fm_connect.php untuk menghubungkan ke dalam server dan mengaktifkan
database koneksi pada MySQL. Berikut adalah isi file tersebut :
<?php
$user=root;
$pass='';
$koneksi=mysql_connect("localhost","$user","$pass")
or die("Tidak dapat koneksi ke server");
mysql_select_db(koneksi) or die("Database tidak dapat
dibuka");
?>
Simpan script di atas dengan nama file fm_connect.php.
Selain itu, kita menggunakan variable fm_tanggal yang digunakan untuk
menentukan tanggal sekarang. Tanggal ini akan disimpan ke dalam database
setiap memasukan data.
$fm_tanggal=date(‘Y-m-d’);
Inti dari script fm_simberita.php adalah membaca semua data dari halaman
fm_inberita.php yang terdefinisi pada variable. Selanjutnya data pada variable
tersebut dibaca dan dikirim ke server MySQL menggunakan script :
IX- 8
Bab 9 Akses Basis Data MySQL dengan PHP
$sql="INSERT INTO berita(judul,berita,tanggal)
VALUES('$fm_judul','$fm_berita','$fm_tanggal')";
Untuk menghantarkan isi berita yang masuk, kita memerlukan sebuah fungsi PHP
untuk menjalankan query SQL tersebut yaitu mysql_query(). Sintaks
dasarnya adalah :
mysql_query(“perintah_sql”);
Sebagai contoh, fungsi tersebut diimplementasikan dengan melakukan eksekusi
query SQL bervariable sql seperti berikut :
if(mysql_query($sql))
{
echo "Data telah masuk dalam tabel";
}
else
{
echo "Data tidak dapat dimasukkan";
}
Untuk lebih jelasnya jalankan halaman utama (fm_inberita.php) dan lakukan
input berita dan isikan beberapa data sesuai dengan teks isinya.
Setelah berita berhasil diinputkan maka kita perlu halaman untuk menampilkan
dari berita yang telah diinputkan. Halaman ini nantinya akan dibagi dua yaitu
halaman penampil utama dan penampil khusus yang berguna untuk melihat berita
secara lengkap. Berikut script yang harus diketikan, simpan dengan nama file
fm_lihatberita.php.
</head>
<body>
<p align="center"><strong>BERITA TERBARU</strong>
<HR>
<UL type="square">
<?php
include "fm_connect.php";
$sql_berita="SELECT * FROM berita ORDER BY id DESC";
$qr_berita=msql_query("$sql_berita");
while($hs_berita=mysql_fetch_array($qr_berita))
Bab 9 Akses Basis Data MySQL dengan PHP
IX- 9
{
echo "<LI><B>$hs_berita[judul]</B></LI><BR>";
echo substr("$hs_berita[berita]",0,80);
echo "<a
href=fm_detailberita.php?no=$hs_berita[id]>[Detail]</a>";
}
?>
</UL>
</body>
</html>
fm_detailberita.php
<html>
<head>
<title>Menampilkan Berita</title>
</head>
<body>
<p align="center"><strong><BERITA TERBARU</strong>
<HR>
<?php
include "fm_connect.php";
$sql_berita="SELECT * FROM berita WHERE id='$no' ORDER BY id
DESC";
$qr_berita=mysql_query($sql_berita);
while($hs_berita=mysql_fetch_array($qr_berita))
{
echo "<B>$hs_berita[judul]
[$hs_berita[tanggal]]</B><BR>";
echo "$hs_berita[berita]";
}
?>
</body>
</html>
9.2. Mengirim Email
Ketika seorang user melakukan pendaftaran akun pada suatu website, secara
otomatis biasanya website tersebut mengirim email yang memberitahukan jika
user tersebut telah terdaftar, dan perlu dilakukan aktivasi sebelum dapat
digunakan. Begitu juga ketika pemberitahuan akan adanya news update, seorang
admin website secara otomatis mengirimkan berita melalui email secara otomatis.
Dasar Pengiriman Email
IX- 10
Bab 9 Akses Basis Data MySQL dengan PHP
Untuk mengirim email melalui PHP, kita hanya perlu memahami fungsi mail()
yang memiliki tiga parameter inti yakni,
1. Alamat email penerima
2. Judul Email
3. Isi pesan atau badan email
Formatnya adalah,
mail(penerima, judul, pesan);
Judul email(2) dan isi pesan(3) sebenarnya bersifat optional. Kita bisa saja
mengirimkan email tanpa judul dan kosong. Kita dapat menyertakan parameter
keempat yang berisi header tambahan.
Praktik Mengirim Email
1. Buka aplikasi notepad
2. Tuliskan kode PHP berikut
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Contact Me</title>
</head>
<body>
<h1>Contact Me</h1>
<?php # Script 11.1 - email.php
// Check for form submission:
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// Minimal form validation:
if (!empty($_POST['name']) && !empty($_POST['email'])
&& !empty($_POST['comments']) ) {
// Create the body:
$body = "Name: {$_POST['name']}\n\nComments:
{$_POST['comments']}";
// Make it no longer than 70 characters long:
$body = wordwrap($body, 70);
// Send the email:
mail('[email protected]', 'Contact Form
Submission', $body, "From: {$_POST['email']}");
Bab 9 Akses Basis Data MySQL dengan PHP
IX- 11
// Print a message:
echo '<p><em>Thank you for contacting me. I will
reply some day.</em></p>';
// Clear $_POST (so that the form's not sticky):
$_POST = array();
} else {
echo '<p style="font-weight: bold; color:
#C00">Please fill out the form completely.</p>';
}
} // End of main isset() IF.
// Create the HTML form:
?>
<p>Please fill out this form to contact me.</p>
<form action="email.php" method="post">
<p>Name: <input type="text" name="name" size="30"
maxlength="60" value="<?php if (isset($_POST['name'])) echo
$_POST['name']; ?>" /></p>
<p>Email Address: <input type="text" name="email"
size="30" maxlength="80" value="<?php if
(isset($_POST['email'])) echo $_POST['email']; ?>" /></p>
<p>Comments: <textarea name="comments" rows="5"
cols="30"><?php if (isset($_POST['comments'])) echo
$_POST['comments']; ?></textarea></p>
<p><input type="submit" name="submit" value="Send!"
/></p>
</form>
</body>
</html>
9.3. Mengunggah File
Proses upload/unggah adalah menyalin file dari direktori lokal ke komputer
server. Fasilitas upload sendiri disediakan untuk memudahkan user dalam
melakukan penyalinan file dari komputer lokal ke server melalui user-inteface
yang sangat nyaman.
Untuk melakukan upload file, digunakan elemen kontrol khusus. Elemen ini
sebenarnya hampir sama dengan elemen Textfield, hanya saja ada tambahan
tombol browse yang digunakan untuk memilih lokasi file yang akan diunggah
berada. Elemen kontrol ini dibuat dengan menggunakan tag <input> dengan
atribut type diisi dengan nilai file. Contoh
IX- 12
Bab 9 Akses Basis Data MySQL dengan PHP
<input type=”file” name=”file_user”>
Cara Kerja dalam Proses Upload
Berikut cara kerja proses upload file pada html
1. User mengakses halaman web yang berisi form upload
2. User akan memilih atau menentukan file yang akan diupload
3. Nama file beserta path lengkapnya akan muncul pada elemen TEXTFIELD
4. User menekan tombol SUMBIT
5. File akan ditransfer ke web server dan ditempatkan pada direktori temporary
6. Kode php yang diisi pada bagian action dari form di atas akan memeriksa
apakah file tersebut sudah terkirim ke web server atau belum. Jika sudah kode
tersebut akan mengeksekusi perintah copy() untuk memindahkan file dari
direktori temporary ke direktori sebenarnya
7. Kode php memberikan konfirmasi ke user, apakah file berhasil diupload atau
tidak.
Menentukan Lokasi Upload
Karena dalam praktik ini kita menggunakan komputer lokal sebagai web server
maka perlu melakukan konfigurasi pada file php.ini. Untuk melakukannya ikuti
langkah berikut
1. Buka file php.ini menggunakan text editor
2. Cari baris yang berisi kode berikut
; Temporary directory for HTTP uploaded files (will use
system default if not
; specified).
; http://php.net/upload-tmp-dir
upload_tmp_dir="C:\xampp-2\tmp"
3. Ubah direktori C:\xampp-2\tmp ke lokasi yang ingin anda gunakan untuk
menyimpan file yang di upload.
Menyiapkan Form untuk Proses Upload
Pada saat membuat form untuk menangani proses upload, diperlukan untuk
menyertakan atribut ENCTYPE pada tag <form> dan diisi “multipart/formdata” . Nilai tersebut menunjukan bahwa yang akan dikirim ke server bukan
hanya data text yang tertulis pada elemen kontrol namun beserta filenya.
Bab 9 Akses Basis Data MySQL dengan PHP
IX- 13
Praktik Membuat Form untuk Upload
1. Buka aplikasi teks editor
2. Tulis kode berikut
<html>
<head>
<title>Form Unggah File</title>
</head>
<body>
<h2>Form Mengunggah File </h2>
<ol>
<li>Tulis nama file yang akan diupload atau
gunakan tombol BROWSE untuk memilih file yang akan
diunggah</li>
<li>Ketika
sudah
selesai,
tekan
tombol<strong>Unggah File</strong>>/li>
</ol>
<hr/>
<div align=”center”>
<form action=”UploadFile.php” method=”post”
enctype=”multipart/form-data”>
<input type=”hidden” name=”MAX_FILE_SIZE”
value=”500000”><br/>
<input type=”file” name=”file_user” size=”60”>
<br/><br/>
<input type=”submit” value=”Upload File”>
</form>
</div>
</body>
</html>
3. Simpan file dengan nama upload.html pada direktori C:/xampp/htdocs/bab9
4. Jalankan web browser dan masukan http://localhost/bab9/upload.html.
Kode PHP untuk Proses Upload
Setelah form upload tersedia, langkah berikutnya adalah membuat kode yang
dapat menjalankan prosesnya. Pada form di atas, kita menunjuk ke file
UploadFile.php untuk melaksanakan proses upload. Mari sekarang kita buat file
UploadFile.php sebagai berikut
1. Buka teks editor dan tuliskan kode berikut
<?php
$file_user=$_FILES[‘file_user’][‘tmp_name’];
$namafile=$_FILES[‘file_user’][‘name’];
IX- 14
Bab 9 Akses Basis Data MySQL dengan PHP
$tujuan=”C:\\data\\”.$namafile;
if($file_user !=”none”){
copy($file_user,$tujuan);
echo”<h3>Proses unggah berhasil dilakukan</h3>”;
echo”\$file_user:$file_user<br/>”;
echo”\$tujuan:$tujuan”;
}
else{
echo”<h3>Upload Gagal</h3>”;
echo”Anda belum memilih file yang akan diupload.”;
}
?>
2. Simpan file php di atas dengan nama UploadFile.php di direktori
C:/xampp/htdocs/bab9.
3. Jalan web browser dan isi dengan alamat http://localhost/bab9/upload.html
4. Lakukan proses mengunggah file dan bila sudah tekan tombol Unggah File
9.4. Membuat Otentikasi User
Jika anda membangun sebuah web site, seringkali terdapat proses registrasi user.
Oleh karena itu maka perlu disediakan form login yang digunakan untuk
otentikasi user. Pada sub bab ini akan dibuat sistem sederhana yang akan
menangani proses otentikasi user. User yang sudah terdaftar akan tercatat di
database dimana proses otentikasi berlangsung.
Membuat Tabel
Untuk menyimpan data tentang user yang sudah teregistrasi, dibuatkan tabel pada
database. Database ini dibuat dengan perintah
1. Pada mysql client tulis
create database contohdb;
2. Pilih database contohdb dengan perintah
use contohdb;
3. Buat tabel webuser pada database contohdb:
create table webuser(
id varchar(15) not null,
nama varchar(25),
pwd varchar(40),
constraint pk_webuser primary key(id)
Bab 9 Akses Basis Data MySQL dengan PHP
IX- 15
);
Membuat Kode untuk Koneksi ke Database
Kode yang dibuat berfungsi untuk melakukan koneksi ke database sehingga
aplikasi PHP yang akan dibuat dapat berkomunikasi dengan tabel webuser. File
berikut akan digunakan setiap kali akan koneksi ke database dengan
menggunakan fungsi require().
<?php
//file: connectdb.php
$dbname
$host
$username
$password
=”contohdb”;
=”localhost”;//atau 127.0.0.1
=”root”; //bisa disetting sendiri
=””;//password default root
$conn=mysqli_connect($host,$username,$password,$dbname)
;
if(mysqli_connect_errno()){
echo”Koneksi ke server gagal.”;
exit();
}
?>
Simpan file diatas dengan nama connectdb.php.
Membuat Form Registrasi User
Form ini digunakan oleh user untuk mengisi data ketika ia registrasi pada halaman
web kita. Informasi yang diisi oleh user akan disimpan pada tabel webuser pada
database contohdb. Berikut kode programnya,
<html>
<head>
<title>Membuat Otentikasi User</title>
</head>
<body>
<h2>Form Registrasi User</h2>
<form action=”do_registrasi.php” method=”post”>
<table>
<tr>
<td>ID User</td>
<td><input type=”textfield” name=”id”
maxlength=”15” size=”15” /</td>
</tr>
<tr>
<td>Nama Lengkap</td>
<td><input type=”textfield” name=”nama”
IX- 16
Bab 9 Akses Basis Data MySQL dengan PHP
maxlength=”25” size=”25” /</td>
</tr>
<tr>
<td>Password</td>
<td><input type=”password” name=”pwd”
maxlength=”15” size=”25” /</td>
</tr>
<tr>
<td> </td>
<td><input type=”submit” name=”daftar”
value=”Daftar” /</td>
</tr>
</table>
</form>
</body>
</html>
Simpan
dengan
nama
file
register.php
dan
letakan
pada
direktori
C:/xampp/htdocs/bab9.
Membuat Kode PHP untuk Menangani Proses Registrasi
Sesudah membuat form registrasi, langkah selanjutnya adalah membuat kode PHP
untuk menangani proses registrasi. Kode ini berfungsi untuk memasukan
informasi yang diinput oleh user pada form registrasi ke dalam tabel webuser di
dalam database contohdb. Berikut kode programnya,
<html>
<head>
<title>Membuat Otentikasi User</title>
</head>
<body>
<h2>Status Registrasi</h2>
<?php
if(isset($_POST[‘daftar’])){
$id
=$_POST[‘id’];
$nama =$_POST[‘nama’];
$pwd
=$_POST[‘pwd’];
require(“connectdb.php”);
$sql=”insert into webuser(id,nama,pwd)”.
“value(‘$id’,’$nama’,md5(’$pwd’))”;
mysqli_query($conn,$sql);
$num=mysqli_affected_rows($conn);
if($num>0){
?>
Bab 9 Akses Basis Data MySQL dengan PHP
IX- 17
Selamat, Anda telah terdaftar di website kami.<br/>
[<a href=”login.php”>Login</a>]<br/><br/>
<table>
<tr>
<td>ID</td>
<td>:</td>
<td><strong><?php echo $id; ?></strong></td>
</tr>
<tr>
<td>Nama Lengkap</td>
<td>:</td>
<td><strong><?php echo $nama; ?></strong></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><strong><?php echo $pwd; ?></strong></td>
</tr>
</table>
<?php
} else{
?>
Proses registrasi gagal. Silakan Ulangi lagi!!<br/>
[a href=”register.php”>Kembali ke Form Registrasi</a>]
<?php
}
}
?>
</body>
</html>
Simpan file di atas dengan nama do_register.php di direktori
C:/xampp/htdocs/bab9.
Membuat Form Login
Form ini digunakan oleh user untuk mengirimkan informasi ID dan password.
Jika salah, maka sistem akan menolak dan menampilkan kembali form login.
Berikut kodenya,
<html>
<head>
<title>Membuat Otentikasi User</title>
</head>
<body>
<h2>Form Login</h2>
Anda belum terdaftar sebagai user?
[<a href=”register.php”>Daftar Sekarang</a>]
<br/><br/>
IX- 18
Bab 9 Akses Basis Data MySQL dengan PHP
<form action=”do_login.php” method=post”>
<table>
<tr>
<td>ID User</td>
<td><input type=”textfield” name=”id”
maxlength=”15” size=”25” /></td>
</tr>
<tr>
<td>Password</td>
<td><input type=”password” name=”pwd”
maxlength=”15” size=”25” /></td>
</tr>
<tr>
<td> </td>
<td><input type=”sumbit” name=”login”
value=”Login” /></td>
</tr>
</table>
</form>
</body>
</html>
Simpan dengan nama file login.php dan simpan di folder C:/xampp/htdocs/bab9
Membuat Kode PHP untuk Menangani Proses Login
Setelah form login tersedia, langkah terakhir adalah program yang akan
menangani proses login yang dilakukan oleh user. Berikut kodenya
<html>
<head>
<title>Membuat Otentikasi User</title>
</head>
<body>
<?php
if(isset($_POST[‘login’])){
$id
=$_POST[‘id’];
$pwd
=$_POST[‘pwd’];
require(“connectdb.php”);
$query=”select nama from webuser”.”where id=’$id’ and
pwd=md5(‘$pwd’)”;
$result=mysqli_query($conn,$query);
$num=mysqli_num_rows($result);
if($num==1){
list($nama)=mysqli_fetch_array($result);
?>
Bab 9 Akses Basis Data MySQL dengan PHP
IX- 19
<h2>Secret Area</h2>
Selamat Datang,
<strong><?php echo $nama; ?></strong><br/>
Ini adalah contoh halaman yang hanya dapat diakses
oleh user yang telah terdaftar.
<?php
} else{
header(“Location: “.
“http://localhost/bab9/login.php”);
}
}
?>
</body>
</html>.
9.5. Membuat Buku Tamu
Buku tamu adalah salah satu fasilitas pada web yang disediakan untuk memuat
kesan dan pesan pengunjung terhadap website yang kita buat. Dari masukan
pengunjung tersebut kita dapat mengetahui kelebihan dan kekurangan website kita
untuk perbaikan di masa yang akan datang.
Untuk membuat buku tamu, langkah pertama adalah membuat tabel yang akan
menyimpan kesan dan pesan pengunjung. Tabel yang digunakan hanya satu dan
kita simpan di basis data contohdb. Berikut kode SQL nya dalam MySQL
use contohdb;
CREATE TABLE bukutamu (
id int(11) NOT NULL auto_increment,
tanggal int(11) NOT NULL,
nama varchar(50) NOT NULL,
email varchar(50) NOT NULL,
website varchar(100) NOT NULL,
pesan text NOT NULL,
PRIMARY KEY (`id`)
);
Kemudian buatlah form dengan kode sebagai berikut
<html>
</head>
<title>Buku Tamu</title>
</head>
<body>
IX- 20
Bab 9 Akses Basis Data MySQL dengan PHP
<div id="container">
<h1>Buku Tamu</h1>
<p>Silahkan isi buku tamu di bawah ini untuk
meninggalkan pesan Anda!</p>
<form action="" method="post">
<p><b>Nama
Lengkap
:</b><br><input
type="text" name="nama" placeholder="Nama Leangkap"
required /></p>
<p><b>Email :</b><br><input type="text"
name="email" placeholder="Alamat Email" required /></p>
<p><b>Website
:</b><br><input
type="text"
name="website"
placeholder="http://example.com" /></p>
<p><b>Pesan
:</b><br><textarea
name="pesan" rows="5" cols="50" placeholder="Tuliskan
kesan
dan
pesan
Anda
tentang
web
kami"
required></textarea></p>
<p><input
type="submit"
name="go"
value="Kirim"
/>
<input
type="reset"
name="del"
value="Hapus" /></p>
</form>
</div>
</body>
</html>
Selanjutnya kita akan membuat kode PHP yang digunakan untuk memproses data
yang sudah dimasukkan kedalam database, dan berikut ini kodenya:
<?php
if($_POST['go']){
mysql_connect("localhost", "root", "root");
mysql_select_db("contohdb");
$nama =
htmlentities(mysql_real_escape_string($_POST['nama']));
$email
=
htmlentities(mysql_real_escape_string($_POST['email']));
$web =
htmlentities(mysql_real_escape_string($_POST['website']));
$pesan
=
htmlentities(mysql_real_escape_string($_POST['pesan']));
$tgl = time();
if($nama && $email && $pesan){
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
$in = mysql_query("INSERT INTO bukutamu
VALUES(NULL, '$tgl', '$nama', '$email', '$web', '$pesan')");
if($in){
Bab 9 Akses Basis Data MySQL dengan PHP
IX- 21
echo '<script
language="javascript">alert("Terima kasih, data Anda
berhasil disimpan");
document.location="index.php";</script>';
}else{
echo '<div id="error">Uppsss...! Query
ke database gagal dilakukan!</div>';
}
}else{
echo '<div id="error">Uppsss...! Email Anda
tidak valid!</div>';
}
}else{
echo '<div id="error">Uppsss...! Lengkapi
form!</div>';
}
}
?>
IX- 22
Bab 9 Akses Basis Data MySQL dengan PHP
Kode/No :
Tanggal :
Revisi : 0
POLITEKNIK NEGERI JAKARTA
FORMULIR
SISTEM PENJAMINAN MUTU INTERNAL
(SPMI)
Halaman: 1 dari ...
FORMULIR
RENCANA PEMBELAJARAN SEMESTER
Digunakan untuk melengkapi:
TET5306
STANDAR PROSES PEMBELAJARAN
Penanggung Jawab
Proses
Nama
Jabatan
1. Perumusan
2. Pemeriksaan
3. Persetujuan
4. Penetapan
5. Pengendalian
1
Tanda Tangan
Tanggal
RENCANA PEMBELAJARAN SEMESTER
(RPS)
PROGRAM STUDI
Mata Kuliah
Kode Mata Kuliah
Semester
Dosen Pengampu
SKS
Capaian
Pembelajaran MK
Capaian
Pembelajaran
Khusus
Metode Penilaian
dan Pembobotan
Daftar Referensi
: Teknik Telekomunikasi
: Pemrograman Web dan Basis Data
: TET5306
: V
: Mohamad Fathurahman ST.,MT.
: 2 (2-2)
: Mahasiswa mampu memahami teknologi internet dan mampu
membuat situs web statis dan dinamis dan aplikasi berbasis
web dengan menerapkan penggunaan basis data memanfaatkan
perangkat lunak PHP, MYSQL dan APACHE.
: 1. Mahasiswa mampu menjelaskan teori teknologi internet dan
Web.
2. Mahasiswa mampu mengerjakan instalasi perangkat lunak
aplikasi web PHP, MYSQL dan APACHE.
3. Mahasiswa mampu memahami Kaidah Penulisan dan
Mempraktikkan tag HTML Dasar.
4. Mahasiswa mampu memahami konsep Cascading Style Sheet
(CSS) kemudian menggunakan dan menunjukkan
manfaatnya dalam membuat halaman web.
5. Mahasiswa mampu memahami kaidah penulisan dan
mempraktikkan Tag PHP dasar serta mengintegrasikan PHP
ke dalam dokumen HTML dan sebaliknya.
6. Mahasiswa mampu mempraktikkan penggunaan Tag PHP
untuk aplikasi web dinamis.
7. Mahasiswa mampu memahami metode dan Merancang basis
data dari kasus yang diberikan.
8. Mahasiswa mampu memahami kaidah penulisan dan
mempraktikkan perintah SQL untuk membuat basis data.
9. Mahasiswa mampu mempraktikkan penggunaan basis data
MYSQL untuk aplikasi berbasis web.
: Quiz dan Tugas Terstruktur (20%), UTS-Teori dan Tugas Web Statis
(30%), Presentasi Makalah (10%) dan UAS-Berupa Project Akhir
Semester : Membuat Web Dinamis(40%). Alat bantu yang digunakan
adalah LCD, dengan metode ceramah dan diskusi yang diikuti dengan
praktik pemrograman..
: 1. West Adrian W., Practical HTML Projects, Springer New York
2012.
2. Duckett Jon, HTML and CSS: Design and Build Websites, John
Wiley and Sons Inc., Indianapolis 2011.
3. Ullman Larry, PHP and MySQL for Dynamic Web Sites 4th Edition,
Peachpit Press Berkeley CA 2012
2
3
Minggu
Ke
Waktu
Pembelajaran
1
4x50 menit
2
3
4
Capaian
Pembelajaran
Menjelaskan teori
teknologi internet
dan Web
4x50 menit
4x50 menit
4x50 menit
5
4x50 menit
6
4x50 menit
7
4x50 menit
8
4x50 menit
9
4x50 menit
Bahan Kajian/Pokok
Bahasan
Pengantar Teknologi
Web dan Internet
Web Master dan
Pemrograman Web
Strategi/Metode
Pembelajaran
Indikator
Penilaian
Pembelajaran
Kolaboratif
Partisipasi
Pengalaman
Belajar
Mengetahui
maksud dan
tujuan mata
kuliah,
Memahami
Kontrak
Perkuliahan dan
Menyiapkan
Tema Presentasi
Tugas
Diskusi
Kelompok
Partisipasi
dan Lisan
Presentasi Tugas
Kriteria dan Bobot Penilaian
Pembagian Tema untuk Tugas
Presentasi/Makalah Individu
1&2
Mengumpulkan makalah dan penilaian
hasil presentasi tugas 5%
Mengerjakan
instalasi perangkat
lunak aplikasi web
PHP, MYSQL dan
APACHE
Persiapan dan Instalasi
Sistem Web Server
APACHE
Pembelajaran
Kolaboratif
Partisipasi
dan Unjuk
kerja
Praktikum
Instalasi Sistem
Memahami Kaidah
Penulisan dan
Mempraktikkan tag
HTML Dasar
Perintah/tag HTML
Dasar
Penjelasan
Materi, Diskusi
Kelompok dan
Simulasi
Partisipasi
dan Unjuk
kerja
Praktikum
Modul
Pengenalan
HTML
Observasi keaktifan dan Ketaatan
mengikuti prosedur dan Laporan 5%
Praktikum
Modul
Pembelajaran
HTML dengan
CSS serta mulai
merancang
pembuatan web
statis sebagai
tugas individu
UTS.
Membuat Tugas Mayor UTS :
membuat Web Statis dan Ujian Tengah
Semester(teori) 30%
Praktikum
Modul
Pengenalan PHP
Observasi dan Keaktifan dan Laporan
5%
Memahami konsep
Cascading Style
Sheet (CSS)
kemudian
menggunakan dan
menunjukkan
manfaatnya dalam
membuat halaman
web
Cascading Style Sheet
(CSS)
Penjelasan
Materi, Diskusi
Kelompok dan
Simulasi
Partisipasi
dan Unjuk
kerja dan
Presentasi
Tugas Mayor
UTS:
Membuat
Web Statis
Memahami kaidah
penulisan dan
mempraktikkan Tag
Pengenalan PHP
Penjelasan
Materi, Diskusi
Kelompok dan
Partisipasi
dan Unjuk
kerja
4
Ref.
1&2
Observasi keaktifan dan Ketaatan
mengikuti prosedur dan Laporan 3%
1&2
1&2
3
Minggu
Ke
Waktu
Pembelajaran
Capaian
Pembelajaran
PHP dasar serta
mengintegrasikan
PHP ke dalam
dokumen HTML
dan sebaliknya
10
4x50 menit
Mempraktikkan
penggunaan Tag
PHP untuk aplikasi
web dinamis
11
12
13
4x50 menit
4x50 menit
4x50 menit
14
4x50 menit
15
4x50 menit
16
4x50 menit
Bahan Kajian/Pokok
Bahasan
Pemrograman PHP
Strategi/Metode
Pembelajaran
Simulasi
Penjelasan
Materi, Diskusi
Kelompok dan
Simulasi
Indikator
Penilaian
Partisipasi
dan Unjuk
kerja
Menghasilkan
desain
database yang
efisien
Memahami metode
dan Merancang basis
data dari kasus yang
diberikan
Merancang Basis Data
Memahami kaidah
penulisan dan
mempraktikkan
perintah SQL untuk
membuat basis data
Membuat Basis Data
dengan MySQL
Penjelasan
Materi, Diskusi
Kelompok dan
Simulasi
Partisipasi
dan Unjuk
kerja
Mempraktikkan
penggunaan basis
data MYSQL untuk
aplikasi berbasis
web
Akses Basis Data
MySQL dengan PHP
Penjelasan
Materi, Diskusi
Kelompok dan
Simulasi
Partisipasi
dan Unjuk
kerja
Penjelasan
Materi dan Studi
Kasus
5
Pengalaman
Belajar
Praktikum
Modul
Pemrograman
PHP
Mempraktikan
kaidah-kaidah
dalam
merancang
sebuah basis
data melalui
studi kasus
Memahami dan
mempraktikan
bahasa
pemrograman
SQL untuk
membuat basis
data
Mengkakses
basis data
MySQL
menggunakan
PHP dan
membuat tugas
mayor akhir
semester: Web
Dinamis
Kriteria dan Bobot Penilaian
Ref.
Observasi dan Keaktifan dan Laporan
5%
3
Observasi dan Hasil Perancangan Basis
Data 4%
3
Observasi dan Keaktifan dan Laporan
3%
3
Tugas Kelompok : Membuat dan
Mempresentasikan Pembuatan Web
Dinamis 40%
3
Mengetahui
Ketua Jurusan Teknik Elektro
Iwa Sudradjat, ST.,MT.
NIP.
CATATAN:
Ketua Program Studi
Teknik Telekomunikasi
Toto Supriyanto, ST.,MT.
NIP.
Depok, 18 Desember 2015
Penanggung Jawab Mata Kuliah
Mohamad Fathurahman, ST.,MT.
NIP. 19710824 200312 1 001
1. Proses pembelajaran harus dilaksanakan secara interaktif, inspiratif, menyenangkan, menantang, dan memotivasi mahasiswa
untuk berpartisipasi aktif, serta memberikan kesempatan atas prakarsa, kreativitas, dan kemandirian sesuai dengan bakat,
minat, dan perkembangan fisik serta psikologis mahasiswa, termasuk mahasiswa berkebutuhan khusus.
2. Proses pembelajaran secara umum dilaksanakan dengan urutan:
a. Kegiatan pendahuluan, merupakan pemberian informasi yang komprehensif tentang rencana pembelajaran beserta tahapan
pelaksanaannya, serta informasi hasil asesmen dan umpan balik proses pembelajaran sebelumnya;
b. Kegiatan inti, merupakan kegiatan belajar dengan penggunaan metode pembelajaran yang menjamin tercapainya
kemampuan tertentu yang telah dirancang sesuai dengan kurikulum;
c. Kegiatan penutup,merupakan kegiatan refleksi atas suasana dan capaian pembelajaran yang telah dihasilkan, serta
informasi tahapan pembelajaran berikutnya.
6
PETA KOMPETENSI
BAB I
Pengantar Teknologi Web dan Internet
BAB II
Web Master dan Pemrograman Web
BAB III
Persiapan Instalasi Sistem Web Server
APACHE
BAB IV
Perintah dan Tag HTML Dasar
BAB VI
Pengenalan PHP
BAB VII
Pemrograman PHP
BAB V
Cascading Style Sheets
BAB VIII
Merancang Basis Data
BAB IX
Membuat Basis Data dengan MySQL
BAB X
Akses Basis Data MySQL dengan PHP
Satuan Acara Perkuliahan(SAP)
Mata Kuliah
Kode Mata Kuliah
Dosen Pengampu
SKS/JPM
Waktu Pertemuan
Pertemuan ke
Capaian Pembelajaran Mata Kuliah
Capaian Pembelajaran Khusus
Pokok Bahasan
Sub Pokok Bahasan
Tahap
Pendahuluan
Penyajian
:
:
:
:
:
:
:
Pemrograman Web dan Basis Data
TET5306
Mohamad Fathurahman, ST., MT.
2/4
4 x 50 menit
1
Mahasiswa
mampu
memahami
teknologi internet dan mampu membuat
situs web statis dan dinamis dan
aplikasi
berbasis
web
dengan
menerapkan penggunaan basis data
memanfaatkan perangkat lunak PHP,
MYSQL dan APACHE.
: Menjelaskan teori teknologi internet
dan Web.
: Pengantar Teknologi Web dan Internet
: • Pendahuluan
• Sejarah dan Perkembangan Internet
• Protokol
• TCP/IP
• Domain Name Server(DNS)
Kegiatan Pengajaran
Dosen
Mahasiswa
Menyampaikan
Kompetensi, ruang
Mahasiswa
lingkup/deskripsi
mempersiapkan diri
materi,
secara mental untuk
relevansi dan manfaat
menerima materi
materi perkuliahan teori
perkuliahan
teknologi internet dan
Web.
 Uraian verbal
Mempersiapkan
tentang :
semua media dan
alat serta
• Pendahuluan
Melaksanakan
• Sejarah dan
Persiapan Tugas
Perkembangan
Presentasi tentang
Internet
teknologi internet
• Protokol
dan Web yang
• TCP/IP
meliputi:
• Domain Name
Server(DNS)Kons • Sejarah dan
Perkembangan
tanta
Internet
 Uraian verbal dan
• Protokol
non verbal tentang
• TCP/IP
petunjuk
• Domain Name
pelaksanaan
Media dan Alat
Modul Ajar,
LCD Projector,
Komputer,
Power Point dan
Web Browser
Tahap
Penutup
Kegiatan Pengajaran
Dosen
Mahasiswa
praktikum
Server(DNS)Ko
 Memberikan
nstanta
bimbingan dan
arahan selama
pelaksanaan
praktikum
Merangkum pokokMelakukan umpan
pokok materi,
balik terhadap
menerima umpan balik materi perkuliahan
dan tindak lanjutnya
Media dan Alat
Satuan Acara Perkuliahan(SAP)
Mata Kuliah
Kode Mata Kuliah
Dosen Pengampu
SKS/JPM
Waktu Pertemuan
Pertemuan ke
Capaian Pembelajaran Mata Kuliah
Capaian Pembelajaran Khusus
Pokok Bahasan
Sub Pokok Bahasan
Tahap
Pendahuluan
Penyajian
:
:
:
:
:
:
:
Pemrograman Web dan Basis Data
TET5306
Mohamad Fathurahman, ST., MT.
2/4
4 x 50 menit
2
Mahasiswa
mampu
memahami
teknologi internet dan mampu membuat
situs web statis dan dinamis dan
aplikasi
berbasis
web
dengan
menerapkan penggunaan basis data
memanfaatkan perangkat lunak PHP,
MYSQL dan APACHE.
: Menjelaskan teori teknologi internet
dan Web
: Web Master dan Pemrograman Web
: • Pengertian Web Master
• Penjelasan Tugas Web Master
• Tahap Pembangunan Situs
• Web Hosting
• Pemrograman
• Pemrograman Berbasis Web
• Komponen Pemrograman Berbasis
Web
• Keuntungan
Mengembangkan
Aplikasi Berbasis Web
Kegiatan Pengajaran
Dosen
Mahasiswa
Menyampaikan
Kompetensi, ruang
Mahasiswa
lingkup/deskripsi
mempersiapkan diri
materi,
secara mental untuk
relevansi dan manfaat
menerima materi
materi perkuliahan Web
perkuliahan
Master dan
Pemrograman Web
 Uraian verbal
Mempersiapkan
tentang :
semua media dan
• Pengertian Web alat serta
Melaksanakan
Master
Presentasi tentang :
• Penjelasan
• Pengertian Web
Tugas Web
Master
Master
• Penjelasan
• Tahap
Tugas Web
Pembangunan
Master
Situs
Media dan Alat
Modul Ajar,
LCD Projector,
Komputer,
APACHE
Server, Teks
Editor dan Web
Browser
Tahap
Penutup
Kegiatan Pengajaran
Dosen
Mahasiswa
• Web Hosting
• Tahap
Pembangunan
• Pemrograman
Situs
• Pemrograman
• Web Hosting
Berbasis Web
• Pemrograman
• Komponen
Pemrograman
• Pemrograman
Berbasis Web
Berbasis Web
• Komponen
• Keuntungan
Pemrograman
Mengembangka
Berbasis Web
n Aplikasi
Berbasis Web
• Keuntungan
 Uraian verbal dan
Mengembangka
non verbal tentang
n Aplikasi
petunjuk
Berbasis Web
pelaksanaan
praktikum
 Memberikan
bimbingan dan
arahan selama
pelaksanaan
praktikum
Merangkum pokokMelakukan umpan
pokok materi,
balik terhadap
menerima umpan balik materi perkuliahan
dan tindak lanjutnya
Media dan Alat
Satuan Acara Perkuliahan(SAP)
Mata Kuliah
Kode Mata Kuliah
Dosen Pengampu
SKS/JPM
Waktu Pertemuan
Pertemuan ke
Capaian Pembelajaran Mata Kuliah
Capaian Pembelajaran Khusus
Pokok Bahasan
Sub Pokok Bahasan
Tahap
Pendahuluan
Penyajian
:
:
:
:
:
:
:
Pemrograman Web dan Basis Data
TET5306
Mohamad Fathurahman, ST., MT.
2/4
4 x 50 menit
3
Mahasiswa
mampu
memahami
teknologi internet dan mampu membuat
situs web statis dan dinamis dan
aplikasi
berbasis
web
dengan
menerapkan penggunaan basis data
memanfaatkan perangkat lunak PHP,
MYSQL dan APACHE.
: Mengerjakan instalasi perangkat lunak
aplikasi web PHP, MYSQL dan
APACHE
: Persiapan dan Instalasi Sistem Web
Server APACHE
: • Instalasi dan Konfigurasi MySQL
• Instalasi APACHE dan PHP
Kegiatan Pengajaran
Dosen
Mahasiswa
Menyampaikan
Kompetensi, ruang
Mahasiswa
lingkup/deskripsi
mempersiapkan diri
materi,
relevansi dan manfaat
secara mental untuk
materi perkuliahan
menerima materi
Persiapan dan Instalasi perkuliahan
Sistem Web Server
APACHE
 Uraian verbal
Mempersiapkan
tentang :
semua media dan
alat serta
• Instalasi dan
Melaksanakan
Konfigurasi
Praktikum
MySQL
Persiapan dan
• Instalasi
Instalasi Sistem
APACHE dan
Web Server
PHP
APACHE tentang :
 Uraian verbal dan
• Instalasi dan
non verbal tentang
Konfigurasi
petunjuk
MySQL
pelaksanaan
praktikum
• Instalasi
 Memberikan
APACHE dan
bimbingan dan
PHP
Media dan Alat
Modul Ajar,
LCD Projector,
Komputer,
APACHE
Server, Teks
Editor dan Web
Browser
Tahap
Penutup
Kegiatan Pengajaran
Dosen
Mahasiswa
arahan selama
pelaksanaan
praktikum
Merangkum pokokMelakukan umpan
pokok materi,
balik terhadap
menerima umpan balik materi perkuliahan
dan tindak lanjutnya
Media dan Alat
Satuan Acara Perkuliahan(SAP)
Mata Kuliah
Kode Mata Kuliah
Dosen Pengampu
SKS/JPM
Waktu Pertemuan
Pertemuan ke
Capaian Pembelajaran Mata Kuliah
Capaian Pembelajaran Khusus
Pokok Bahasan
Sub Pokok Bahasan
Tahap
Pendahuluan
Penyajian
:
:
:
:
:
:
:
Pemrograman Web dan Basis Data
TET5306
Mohamad Fathurahman, ST., MT.
2/4
8 x 50 menit
4 dan 5
Mahasiswa
mampu
memahami
teknologi internet dan mampu membuat
situs web statis dan dinamis dan
aplikasi
berbasis
web
dengan
menerapkan penggunaan basis data
memanfaatkan perangkat lunak PHP,
MYSQL dan APACHE.
: Memahami Kaidah Penulisan dan
Mempraktikkan tag HTML Dasar
: Perintah/tag HTML Dasar
: • Struktur
• Text
• List
• Link
• Gambar
• Tabel
• Form
• Ekstra Mark Up
• Flash, Audio dan Video
Kegiatan Pengajaran
Dosen
Mahasiswa
Menyampaikan
Kompetensi, ruang
Mahasiswa
lingkup/deskripsi
mempersiapkan diri
materi,
secara mental untuk
relevansi dan manfaat
menerima materi
materi perkuliahan
perkuliahan
Perintah/tag HTML
Dasar
 Uraian verbal
Mempersiapkan
tentang :
semua media dan
alat serta
• Struktur
Melaksanakan
• Text
Praktikum
• List
Perintah/tag HTML
• Link
Dasar dan membuat
• Gambar
Laporan Sementara
• Tabel
hasil praktikum
• Form
tentang :
• Ekstra Mark Up
• Struktur
Media dan Alat
Modul Ajar,
LCD Projector,
Komputer,
APACHE
Server, Teks
Editor dan Web
Browser
Tahap
Penutup
Kegiatan Pengajaran
Dosen
Mahasiswa
• Flash, Audio
• Text
dan Video
• List
 Uraian verbal dan
• Link
non verbal tentang
• Gambar
petunjuk
• Tabel
pelaksanaan
• Form
praktikum
• Ekstra Mark Up
 Memberikan
• Flash, Audio
bimbingan dan
dan Video
arahan selama
pelaksanaan
praktikum
Merangkum pokokMelakukan umpan
pokok materi,
balik terhadap
menerima umpan balik materi perkuliahan
dan tindak lanjutnya
Media dan Alat
Satuan Acara Perkuliahan(SAP)
Mata Kuliah
Kode Mata Kuliah
Dosen Pengampu
SKS/JPM
Waktu Pertemuan
Pertemuan ke
Capaian Pembelajaran Mata Kuliah
Capaian Pembelajaran Khusus
Pokok Bahasan
Sub Pokok Bahasan
Tahap
Pendahuluan
Penyajian
:
:
:
:
:
:
:
Pemrograman Web dan Basis Data
TET5306
Mohamad Fathurahman, ST., MT.
2/4
12 x 50 menit
6,7 dan 8
Mahasiswa
mampu
memahami
teknologi internet dan mampu membuat
situs web statis dan dinamis dan
aplikasi
berbasis
web
dengan
menerapkan penggunaan basis data
memanfaatkan perangkat lunak PHP,
MYSQL dan APACHE.
: Memahami konsep Cascading Style
Sheet (CSS) kemudian menggunakan
dan menunjukkan manfaatnya dalam
membuat halaman web
: Cascading Style Sheet (CSS)
: • Pengenalan CSS
• Color
• Text
• Boxes
• List
• Table
• Form
• Image
• Layout
• HTML 5 Layout
Kegiatan Pengajaran
Dosen
Mahasiswa
Menyampaikan
Kompetensi, ruang
Mahasiswa
lingkup/deskripsi
mempersiapkan diri
materi,
secara mental untuk
relevansi dan manfaat
menerima materi
materi perkuliahan
perkuliahan
Cascading Style
Sheet(CSS)
 Uraian verbal
Mempersiapkan
tentang :
semua media dan
• Pengenalan CSS alat serta
Melaksanakan
• Color
Praktikum
• Text
Cascading Style
• Boxes
Sheets(CSS) dan
• List
membuat Laporan
Media dan Alat
Modul Ajar,
LCD Projector,
Komputer,
APACHE
Server, Teks
Editor dan Web
Browser
Tahap
Penutup
Kegiatan Pengajaran
Dosen
Mahasiswa
Sementara
hasil
• Table
praktikum tentang :
• Form
• Pengenalan CSS
• Image
• Color
• Layout
• HTML 5 Layout • Text
• Boxes
 Uraian verbal dan
non verbal tentang
• List
petunjuk
• Table
pelaksanaan
• Form
praktikum
• Image
 Memberikan
• Layout
bimbingan dan
• HTML 5 Layout
arahan selama
pelaksanaan
praktikum
Merangkum pokokMelakukan umpan
pokok materi,
balik terhadap
menerima umpan balik materi perkuliahan
dan tindak lanjutnya
Media dan Alat
Satuan Acara Perkuliahan(SAP)
Mata Kuliah
Kode Mata Kuliah
Dosen Pengampu
SKS/JPM
Waktu Pertemuan
Pertemuan ke
Capaian Pembelajaran Mata Kuliah
Capaian Pembelajaran Khusus
Pokok Bahasan
Sub Pokok Bahasan
Tahap
Pendahuluan
Penyajian
:
:
:
:
:
:
:
Pemrograman Web dan Basis Data
TET5306
Mohamad Fathurahman, ST., MT.
2/4
4 x 50 menit
9
Mahasiswa
mampu
memahami
teknologi internet dan mampu membuat
situs web statis dan dinamis dan
aplikasi
berbasis
web
dengan
menerapkan penggunaan basis data
memanfaatkan perangkat lunak PHP,
MYSQL dan APACHE.
: Memahami kaidah penulisan dan
mempraktikkan Tag PHP dasar serta
mengintegrasikan PHP ke dalam
dokumen HTML dan sebaliknya
: Pengenalan PHP
: • Sintaks Dasar
• Mengirim Data ke Web Browser
• Memberi Komentar
• Variable
• String
• Number
• Konstanta
Kegiatan Pengajaran
Dosen
Mahasiswa
Menyampaikan
Kompetensi, ruang
Mahasiswa
lingkup/deskripsi
mempersiapkan diri
materi,
secara mental untuk
relevansi dan manfaat
menerima materi
perkuliahan
materi perkuliahan
Pengenalan PHP
 Uraian verbal
Mempersiapkan
tentang :
semua media dan
• Pemrograman
alat serta
pada sisi server
Melaksanakan
• Sintaks Dasar
Praktikum
PHP
Pemrograman
Dasar PHP dan
• Mengirim Data
membuat Laporan
ke Web browser
Sementara hasil
• Memberi
praktikum tentang :
komentar pada
• Sintaks Dasar
program
PHP
• Deklarasi
Media dan Alat
Modul Ajar,
LCD Projector,
Komputer,
APACHE
Server, Teks
Editor dan Web
Browser
Tahap
Penutup
Kegiatan Pengajaran
Dosen
Mahasiswa
Variable
• Mengirim Data
• String
ke Web browser
• Number
• Memberi
komentar pada
• Konstanta
program
 Uraian verbal dan
non verbal tentang
• Deklarasi
Variable
petunjuk
pelaksanaan
• String
praktikum
• Number
 Memberikan
• Konstanta
bimbingan dan
arahan selama
pelaksanaan
praktikum
Merangkum pokokMelakukan umpan
pokok materi,
balik terhadap
menerima umpan balik materi perkuliahan
dan tindak lanjutnya
Media dan Alat
Satuan Acara Perkuliahan(SAP)
Mata Kuliah
Kode Mata Kuliah
Dosen Pengampu
SKS/JPM
Waktu Pertemuan
Pertemuan ke
Capaian Pembelajaran Mata Kuliah
Capaian Pembelajaran Khusus
Pokok Bahasan
Sub Pokok Bahasan
Tahap
Pendahuluan
Penyajian
:
:
:
:
:
:
:
Pemrograman Web dan Basis Data
TET5306
Mohamad Fathurahman, ST., MT.
2/4
8 x 50 menit
10 dan 11
Mahasiswa
mampu
memahami
teknologi internet dan mampu membuat
situs web statis dan dinamis dan
aplikasi
berbasis
web
dengan
menerapkan penggunaan basis data
memanfaatkan perangkat lunak PHP,
MYSQL dan APACHE.
: Mempraktikkan penggunaan Tag PHP
untuk aplikasi web dinamis
: Pemrograman PHP
: • Membuat Form HTML
• Menangani Form HTML
• Kondisional dan Operator
• Validasi Data
• Array
• Perulangan for dan while
Kegiatan Pengajaran
Dosen
Mahasiswa
Menyampaikan
Kompetensi, ruang
Mahasiswa
lingkup/deskripsi
mempersiapkan diri
materi,
secara mental untuk
menerima materi
relevansi dan manfaat
materi perkuliahan
perkuliahan
Pemrograman PHP
 Uraian verbal
Mempersiapkan
tentang :
semua media dan
• Membuat Form alat serta
HTML
Melaksanakan
Praktikum
• Menangani
Pemrograman
Form HTML
• Kondisional dan Dasar PHP dan
membuat Laporan
Operator
Sementara hasil
• Validasi Data
praktikum tentang :
• Array
• Membuat Form
• Perulangan for
HTML
dan while
• Menangani
 Uraian verbal dan
Form HTML
non verbal tentang
• Kondisional dan
petunjuk
Media dan Alat
Modul Ajar,
LCD Projector,
Komputer,
APACHE
Server, Teks
Editor dan Web
Browser
Tahap
Penutup
Kegiatan Pengajaran
Dosen
Mahasiswa
pelaksanaan
Operator
praktikum
• Validasi Data
 Memberikan
• Array
bimbingan dan
• Perulangan for
arahan selama
dan while
pelaksanaan
praktikum
Merangkum pokokMelakukan umpan
pokok materi,
balik terhadap
menerima umpan balik materi perkuliahan
dan tindak lanjutnya
Media dan Alat
Satuan Acara Perkuliahan(SAP)
Mata Kuliah
Kode Mata Kuliah
Dosen Pengampu
SKS/JPM
Waktu Pertemuan
Pertemuan ke
Capaian Pembelajaran Mata Kuliah
Capaian Pembelajaran Khusus
Pokok Bahasan
Sub Pokok Bahasan
Tahap
Pendahuluan
Penyajian
:
:
:
:
:
:
:
Pemrograman Web dan Basis Data
TET5306
Mohamad Fathurahman, ST., MT.
2/4
4 x 50 menit
12
Mahasiswa
mampu
memahami
teknologi internet dan mampu membuat
situs web statis dan dinamis dan
aplikasi
berbasis
web
dengan
menerapkan penggunaan basis data
memanfaatkan perangkat lunak PHP,
MYSQL dan APACHE.
: Memahami metode dan Merancang
basis data dari kasus yang diberikan.
: Merancang Basis Data
: • Pentingnya Perancangan Basis Data
yang Baik
• Macam-macam Relasi Tabel
• Memahami Normalisasi
Kegiatan Pengajaran
Dosen
Mahasiswa
Menyampaikan
Kompetensi, ruang
Mahasiswa
lingkup/deskripsi
mempersiapkan diri
materi,
secara mental untuk
menerima materi
relevansi dan manfaat
materi perkuliahan
perkuliahan
Merancang Basis Data
 Uraian verbal
Mempersiapkan
tentang :
semua media dan
• Membuat Form alat serta
HTML
Melaksanakan
Praktikum
• Menangani
Pemrograman
Form HTML
• Kondisional dan Dasar PHP dan
membuat Laporan
Operator
Sementara hasil
• Validasi Data
praktikum tentang :
• Array
• Membuat Form
• Perulangan for
HTML
dan while
•
Menangani
 Uraian verbal dan
Form HTML
non verbal tentang
•
Kondisional
dan
petunjuk
Operator
pelaksanaan
• Validasi Data
praktikum
Media dan Alat
Modul Ajar,
LCD Projector,
Komputer,
APACHE
Server, Teks
Editor dan Web
Browser
Tahap
Penutup
Kegiatan Pengajaran
Dosen
Mahasiswa
 Memberikan
• Array
bimbingan dan
• Perulangan for
arahan selama
dan while
pelaksanaan
praktikum
Merangkum pokokMelakukan umpan
pokok materi,
balik terhadap
menerima umpan balik materi perkuliahan
dan tindak lanjutnya
Media dan Alat
Satuan Acara Perkuliahan(SAP)
Mata Kuliah
Kode Mata Kuliah
Dosen Pengampu
SKS/JPM
Waktu Pertemuan
Pertemuan ke
Capaian Pembelajaran Mata Kuliah
Capaian Pembelajaran Khusus
Pokok Bahasan
Sub Pokok Bahasan
Tahap
Pendahuluan
Penyajian
:
:
:
:
:
:
:
Pemrograman Web dan Basis Data
TET5306
Mohamad Fathurahman, ST., MT.
2/4
8 x 50 menit
13 dan 14
Mahasiswa
mampu
memahami
teknologi internet dan mampu membuat
situs web statis dan dinamis dan
aplikasi
berbasis
web
dengan
menerapkan penggunaan basis data
memanfaatkan perangkat lunak PHP,
MYSQL dan APACHE.
: Memahami kaidah penulisan dan
mempraktikkan perintah SQL untuk
membuat basis data.
: Membuat Basis Data dengan MySQL
: • Pengenalan MySQL
• Bahasa Pemrograman SQL
• Pemrograman SQL Lanjut dengan
MySQL
Kegiatan Pengajaran
Dosen
Mahasiswa
Menyampaikan
Kompetensi, ruang
Mahasiswa
lingkup/deskripsi
mempersiapkan diri
materi,
secara mental untuk
relevansi dan manfaat
menerima materi
materi perkuliahan
perkuliahan
Membuat Basis Data
dengan MySQL
 Uraian verbal
Mempersiapkan
tentang :
semua media dan
alat serta
• Pengenalan
Melaksanakan
MySQL
Praktikum
• Bahasa
Membuat Basis
Pemrograman
Data dengan
SQL
MySQL dan
• Pemrograman
membuat Laporan
SQL Lanjut
dengan MySQL Sementara hasil
praktikum tentang :
 Uraian verbal dan
• Pengenalan
non verbal tentang
MySQL
petunjuk
• Bahasa
pelaksanaan
Pemrograman
praktikum
Media dan Alat
Modul Ajar,
LCD Projector,
Komputer,
APACHE
Server, Teks
Editor dan Web
Browser
Tahap
Penutup
Kegiatan Pengajaran
Dosen
Mahasiswa
 Memberikan
SQL
bimbingan dan
• Pemrograman
arahan selama
SQL Lanjut
pelaksanaan
dengan MySQL
praktikum
Merangkum pokokMelakukan umpan
pokok materi,
balik terhadap
menerima umpan balik materi perkuliahan
dan tindak lanjutnya
Media dan Alat
Satuan Acara Perkuliahan(SAP)
Mata Kuliah
Kode Mata Kuliah
Dosen Pengampu
SKS/JPM
Waktu Pertemuan
Pertemuan ke
Capaian Pembelajaran Mata Kuliah
Capaian Pembelajaran Khusus
Pokok Bahasan
Sub Pokok Bahasan
Tahap
Pendahuluan
Penyajian
:
:
:
:
:
:
:
Pemrograman Web dan Basis Data
TET5306
Mohamad Fathurahman, ST., MT.
2/4
8 x 50 menit
15 dan 16
Mahasiswa
mampu
memahami
teknologi internet dan mampu membuat
situs web statis dan dinamis dan
aplikasi
berbasis
web
dengan
menerapkan penggunaan basis data
memanfaatkan perangkat lunak PHP,
MYSQL dan APACHE.
: Mempraktikkan penggunaan basis data
MYSQL untuk aplikasi berbasis web.
: Akses Basis Data MySQL dengan PHP
: • Pengenalan MySQL
• Bahasa Pemrograman SQL
• Pemrograman SQL Lanjut dengan
MySQL
Kegiatan Pengajaran
Dosen
Mahasiswa
Menyampaikan
Kompetensi, ruang
Mahasiswa
lingkup/deskripsi
mempersiapkan diri
materi,
secara mental untuk
relevansi dan manfaat
menerima materi
materi perkuliahan
perkuliahan
Akses Basis Data
MySQL dengan PHP
 Uraian verbal
Mempersiapkan
tentang :
semua media dan
• Mengakses
alat serta
Database
Melaksanakan
MySQL
Praktikum Akses
• Mengirim Email Basis Data MySQL
• Mengunduh dan dengan PHP dan
membuat Laporan
Mengunggah
Sementara hasil
File
praktikum tentang :
• Membuat
• Mengakses
Otentifikasi
Database
User
MySQL
• Membuat Buku
•
Mengirim
Tamu
Email
• Cokies dan
•
Mengunduh
Session
Media dan Alat
Modul Ajar,
LCD Projector,
Komputer,
APACHE
Server, Teks
Editor dan Web
Browser
Tahap
Penutup
Kegiatan Pengajaran
Dosen
Mahasiswa
 Uraian verbal dan
dan
non verbal tentang
Mengungga
petunjuk
h File
pelaksanaan
• Membuat
praktikum
Otentifikasi
 Memberikan
User
bimbingan dan
• Membuat
arahan selama
Buku Tamu
pelaksanaan
• Cokies dan
praktikum
Session
Merangkum pokokpokok materi,
menerima umpan balik
dan tindak lanjutnya
Melakukan umpan
balik terhadap
materi perkuliahan
Media dan Alat
Download