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
.,
di
mana
mengindentifikasikan jaringan di mana sebuah komputer berada, dan 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 Bagian ini adalah Kepala Dokumen Utama
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.
Bagian ini adalah sub judul
III- 2
Bab 3 Perintah/Tag HTML Dasar
Banyak artikel memiliki sub judul untuk membantu pembaca struktur tulisan yang sedang dibaca. Ada beberapa macam sub-sub judul lain yang levelnya lebih rendah.
Bagian ini adalah sub judul yang lain
Paragraf ini menjelaskan sub judul lain di atas.
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
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
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
Paragraph in English
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 Segala sesuatu yang diapit oleh tag ini akan muncul di dalam halaman utama sebuah browser. Contoh : Bagian ini adalah Judul Halaman Bagian ini adalah Tubuh/body dari Halaman web
Segala sesuatu yang berada di sini akan ditampilkan pada main browser window.
dan Pada tag ini akan menampilkan judul tab dari sebuah halaman web yang di dalam tag ini terdapat tag . 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
Bagian ini adalah Judul Halaman Bagian ini adalah Tubuh/body dari Halaman web
Segala sesuatu yang berada di sini akan ditampilkan pada main browser window.
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 untuk heading utama dan adalah untuk sub heading. Apabila ada sub heading yang lebih kecil lagi dapat menggunakan dan seterusnya sampai yang paling kecil . Praktikan contoh berikut: 1. Buka notepad 2. Tuliskan kode HTML berikut III- 6
Bab 3 Perintah/Tag HTML Dasar
Bagian ini adalah Judul Halaman Heading Utama
Sub Heading
Sub Heading
Sub Heading
Sub Heading
Sub Heading
3. Simpan dengan nama file misalnya heading.html 4. Buka file heading.html dengan web browser yang anda miliki 5. Perhatikan perbedaan antara sampai dengan <6>
Paragraf Untuk membuat sebuah paragraf, batasi kalimat yang akan dijadikan paragraf dengan tag
dan ditutup dengan
. 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 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.
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.
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 .... dan untuk cetak miring menggunakan .... Untuk lebih jelasnya lakukan praktik berikut: 1. Buka notepad 2. Tuliskan kode HTML berikut ini This is how we make a word appear bold.
Inside a product description you might see some key features in bold.
This is how we make a word appear italic.
It's a potato Solanum teberosum.
Captain Cook sailed to Australia on the Endeavour.
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 dan penutup
. Sedangkan untuk item di dalam list menggunakan tag pembuka dan penutup . Agar lebih memahaminya, lakukan langkah berikut, 1. Buka Notepad 2. Ketikan kode HTML berikut ini - Masukan kopi ke dalam gelas
- Tambahkan gula secukupnya atau sesuai selera
- Tambahkan creamer yang diinginkan
- Masukan air panas ke dalam campuran kopi, gula dan creamer
- Aduk-aduk sampai semua larut
- Kopi hangat siap dihidangkan
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 . Setiap item di dalam list diapit oleh dan . Untuk lebih jelas, lakukan langkah berikut, 1. Buka Notepad 2. Tuliskan kode HTML berikut - 1 kg kentang
- 100 ml susu segar
- 50g roti tawar
- Mentega secukupnya
- Garam dan lada secukupnya
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 yang diikuti oleh serangkaian istilah dan definisinya. Di dalam elemen terbagi lagi atas elemen - dan
- . Elemen
- untuk istilah yang akan dijabarkan definisinya dalam elemen
- . Untuk lebih memahaminya, lakukan praktik berikut 1. Buka Notepad 2. Tulis kode HTML berikut
- Sashimi
- Sliced raw fish that is served with condiments such as shredded daikon radish or ginger root, wasabi and soy sauce
- Scale
- A device used to accurately measure the weight of ingredients
- A technique by which the scales are removed from the skin of a fish
- Scamorze
- Scamorzo
- An Italian cheese usually made from whole cow's milk (although it was traditionally made from buffalo milk)
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 . Pengguna dapat mengklik tautan yang III- 10
Bab 3 Perintah/Tag HTML Dasar
terletak antara dan . 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
PNJ Tag tautan/link pembuka
Tag tautan/link penutup
Tautan ke Situs Lain Link yang dibuat menggunakan elemen 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 dan penutup tag 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 Jurusan Teknik di PNJ:
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
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 elemen: Bab 3 Perintah/Tag HTML Dasar
III- 13
[email protected] 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 dapat pula berupa link yang akan ditampilkan dalam browser seperti berikut, E-mail kami
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 Cafe Mbal-Mbul - community cafe in Depok, West Java, Indonesia <meta http-equiv=”Content-Type” content=”text/html; charset=iso-88591”/> MBAL-MBUL CAFE
Contact
G Building Politeknik Negeri Jakarta
href="http://maps.google.com/maps?q=politeknik
negeri
jakarta">Find us on Google Maps III- 14
Bab 3 Perintah/Tag HTML Dasar
Mail Mbal-Mbul Cafe
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 . 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 Internet Movie Database (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 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 Membuat Otentikasi User Bab 9 Akses Basis Data MySQL dengan PHP
IX- 19
Secret Area
Selamat Datang, <strong>
Ini adalah contoh halaman yang hanya dapat diakses oleh user yang telah terdaftar. . 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 Buku Tamu IX- 20
Bab 9 Akses Basis Data MySQL dengan PHP
Buku Tamu
Silahkan isi buku tamu di bawah ini untuk meninggalkan pesan Anda!
Selanjutnya kita akan membuat kode PHP yang digunakan untuk memproses data yang sudah dimasukkan kedalam database, dan berikut ini kodenya:
IX- 21
echo '<script language="javascript">alert("Terima kasih, data Anda berhasil disimpan"); document.location="index.php";'; }else{ echo 'Uppsss...! Query ke database gagal dilakukan!
'; } }else{ echo 'Uppsss...! Email Anda tidak valid!
'; } }else{ echo 'Uppsss...! Lengkapi form!
'; } } ?>
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