modul junior web programmer

221
Modul Junior Web Programmer 1 MODUL PELATIHAN JUNIOR WEB PROGRAMMER BALAI PELATIHAN DAN PENGEMBANGAN TEKNOLOGI INFORMASI DAN KOMUNIKASI (BPPTIK) KEMENTERIAN KOMUNIKASI DAN INFORMATIKA 2013

Upload: endang-suhendar

Post on 28-Nov-2015

151 views

Category:

Documents


8 download

TRANSCRIPT

Modul Junior Web Programmer 1

MODUL PELATIHAN JUNIOR WEB PROGRAMMER

BALAI PELATIHAN DAN PENGEMBANGAN TEKNOLOGI INFORMASI DAN KOMUNIKASI (BPPTIK)

KEMENTERIAN KOMUNIKASI DAN INFORMATIKA 2013

Modul Junior Web Programmer 2

DAFTAR ISI KOMPETENSI ......................................................................................... ERROR! BOOKMARK NOT DEFINED.

KODE PROGRAM ......................................................................................................................................... 4

1.1 TUJUAN INSTRUKSIONAL UMUM ................................................................................................................. 4 1.2 TUJUAN INSTRUKSIONAL KHUSUS ................................................................................................................ 4 1.3 URAIAN SINGKAT MATERI .......................................................................................................................... 5 1.4 BEBERAPA PENGERTIAN DALAM UNIT KOMPETENSI INI : .................................................................................. 5 1.5 INFORMASI MASING-MASING ELEMEN KOMPETENSI ........................................................................................ 5

APLIKASI BASIS DATA ................................................................................................................................ 32

2.1 TUJUAN INSTRUKSIONAL UMUM ............................................................................................................... 32 2.2 TUJUAN INSTRUKSIONAL KHUSUS .............................................................................................................. 32 2.3 SEKILAS TENTANG BASIS DATA.................................................................................................................. 33 2.4 TABEL .................................................................................................................................................. 33 2.5 VIEW ................................................................................................................................................... 42 2.5 FORM .................................................................................................................................................. 50 2.6 REPORT ................................................................................................................................................ 57 2.7 MODUL ................................................................................................................................................ 63

DASAR-DASAR BASIS DATA ....................................................................................................................... 71

3.1 TUJUAN INSTRUKSIONAL UMUM ............................................................................................................... 71 3.2 TUJUAN INSTRUKSIONAL KHUSUS .............................................................................................................. 71 3.3 SEKILAS TENTANG FILE-BASED SYSTEM. ...................................................................................................... 72 3.4 DBMS (DATABASE MANAGEMENT SYSTEM) ............................................................................................... 72 3.5 SEKILAS TENTANG PEMODELAN DATA ........................................................................................................ 75 3.6 DATABASE APPLICATION LIFECYCLE. ........................................................................................................... 75 3.7 NORMALISASI ........................................................................................................................................ 86 3.8 ENTITY RELATIONSHIP DIAGRAM (ERD) ...................................................................................................... 89 3.9 FAKTOR KESUKSESAN RANCANGAN DATABASE. ............................................................................................ 96 3.10 KAMUS DATA ........................................................................................................................................ 96 3.11 IMPLEMENTASI DENGAN TOOLS ................................................................................................................ 97 3.12 MEKANISME BACKUP DAN RESTORE DATABASE. ......................................................................................... 104 3.13 MONITOR DAN TUNNING SISTEM OPERASIONAL......................................................................................... 106

DOKUMEN HTML .................................................................................................................................... 108

4.1 TUJUAN INSTRUKSIONAL UMUM ............................................................................................................. 108 4.2 TUJUAN INSTRUKSIONAL KHUSUS ............................................................................................................ 108 4.3 SEKILAS TENTANG HTML ...................................................................................................................... 108 4.4 SEKILAS TENTANG PEMBUATAN DOKUMEN DENGAN HTML ......................................................................... 109 4.5 BENTUK UMUM HTML ......................................................................................................................... 110 4.6 PEMFORMATAN TEKS ............................................................................................................................ 113 4.7 LIST HTML ......................................................................................................................................... 118 4.8 IMAGE HTML ..................................................................................................................................... 122 4.9 TABEL HTML ...................................................................................................................................... 123 4.10 LINK HTML ........................................................................................................................................ 129

KEAMANAN WEB STATIK ........................................................................................................................ 132

5.1 TUJUAN INSTRUKSIONAL UMUM ............................................................................................................. 132 5.2 TUJUAN INSTRUKSIONAL KHUSUS ............................................................................................................ 132 5.3 URAIAN SINGKAT MATERI ...................................................................................................................... 133 5.4 BEBERAPA PENGERTIAN DALAM UNIT KOMPETENSI INI : .............................................................................. 133 5.5 INFORMASI MASING-MASING ELEMEN KOMPETENSI: ................................................................................... 133

DASAR-DASAR PEMBUATAN WEB STATIK DASAR ................................................................................... 161

6.1 TUJUAN INSTRUKSIONAL UMUM ............................................................................................................. 161

Modul Junior Web Programmer 3

6.2 TUJUAN INSTRUKSIONAL KHUSUS ............................................................................................................ 161 6.3 MENJELASKAN KONSEP DASAR DAN TEKNOLOGI DARI WEBPAGE ..................................................................... 162 6.4 MEMPERSIAPKAN PEKERJAAN PEMBUATAN WEB ......................................................................................... 165 6.5 MELAKUKAN PEMBUATAN DOKUMEN WEB BARU ........................................................................................ 168 6.6 MEMBUAT LINK ................................................................................................................................... 173 6.7 MENGORGANISASIKAN DOKUMEN DENGAN MENGGUNAKAN TEMPLATE ........................................................ 176 6.8 MENAMPILKAN WEB DAN BROWSER ........................................................................................................ 177

DASAR-DASAR PEMBUTATAN WEB STATIK LANJUT ................................................................................ 179

7.1 TUJUAN INSTRUKSIONAL UMUM ............................................................................................................. 179 7.2 TUJUAN INSTRUKSIONAL KHUSUS ............................................................................................................ 179 7.3 MENGIDENTIFIKASI PROSEDUR PENGOPERASIAN EDITOR TEKS ........................................................................ 179 7.4 MENGAPLIKASIKAN FITUR-FITUR DIFFERENT LEVEL HEADING, PARAGRAPH, FONT, LIST, TABLE .............................. 184 7.5 MELAKUKAN EDITING SEDERHANA........................................................................................................... 200 7.6 MENGGUNAKAN FITUR-FITUR TAMBAHAN UNTUK MEMFORMAT LAYOUT HALAMAN .......................................... 204 7.7 MENGINTEGRASIKAN DOKUMEN WEB DENGAN OBYEK LAIN SEPERTI GRAFIK, ANIMASI, AUDIO, VIDEO. DLL ............. 213

DAFTAR PUSTAKA ................................................................................................................................... 220

Modul Junior Web Programmer 4

2.

KODE PROGRAM

1.1 Tujuan Instruksional Umum o Siswa mengetahui pentingnya dokumentasi program

o Siswa dapat membuat dokumentasi kode program yang baik dan benar

1.2 Tujuan Instruksional Khusus o Siswa mampu menjelaskan manfaat dari pembuatan dokumentasi program

o Siswa dapat memahami, mengidentifikasi data, fungsi, prosedur dan modul

dalam program

o Siswa dapat menjelaskan alur data dan algoritma pemrograman pada modul

program

o Siswa mengerti bagaimana cara membuat dokumentasi kode program

o Siswa mampu mengevaluasi sebuah dokumen kode program

o Siswa mampu melengkapi dan melakukan perbaikan pada dokumentasi kode

program

Bab

1

Modul Junior Web Programmer 5

1.3 Uraian Singkat Materi Ada banyak alasan dan aspek mengapa dokumentasi kode program sangat penting

dan diperlukan. Secara garis besar, dokumentasi menyediakan kita sebuah jalan pintas

untuk mengetahui sebuah sistem dalam gambaran besar atau agar kita mengerti kode-kode

program pada fungsi, prosedur atau modul-modul tertentu.

Ketika kita berbicara tentang dokumentasi kode program maka kita tidak hanya

berbicara tentang satu bahasa pemrograman, tetapi untuk seluruh bahasa pemrograman

yang ada. Salah satu bentuk dokumentasi yang paling sederhana adalah “comment” pada

program. Fungsi dari comment ini sendiri sangat signifikan untuk menjelaskan dan

mengklarifikasikan kode program kita baik untuk mengingatkan kita sendiri maupun orang

lain yang memeriksanya.

1.4 Beberapa Pengertian dalam Unit Kompetensi Ini : Beberapa pengertian yang dipergunakan di dalam unit kompetensi ini, yaitu :

Dokumentasi kode program adalah suatu bagian penting dalam pemrograman yang

seringkali terabaikan, dianggap tidak perlu atau bahkan hanya menambah beban kerjaan.

Namun, dokumentasi ini sebenarnya tidak boleh dihilangkan.

1.5 Informasi masing-masing elemen kompetensi

1.5.1 Mengidentifikasi Kode Program

1) Pengetahuan Kerja

Dahulu banyak perusahaan menganut konsep “Hero Programmer”, yaitu seorang

programmer yang menulis kode program untuk satu kesatuan perusahaan. Tetapi

sekarang, mereka telah berpindah pada konsep tim dimana ada beberapa programmer yang

bekerja di dalamnya. Sehingga kini programmer tidak lagi bekerja sendiri untuk

menyelesaikan sebuah proyek, tetapi proyek tersebut dibagi ke dalam unit-unit kecil dan

masing-masing di kerjakan secara tim. Untuk kasus ini, dokumentasi menjadi sangat

penting karena:

a. Programmer lain mungkin ditugaskan untuk mengembangkan proyek Anda

b. Proyek yang Anda selesaikan mungkin saja digunakan lagi sebagai bagian untuk

penyempurnaan proyek lain

c. Programmer lain mungkin perlu untuk membaca dan memahami kode program

Anda.

Modul Junior Web Programmer 6

Apakah hanya ini saja alasan mengapa dokumentasi itu penting? Tentu tidak.

Ketika Anda menulis program, Anda mungkin dapat menyelesaikannya dalam waktu

beberapa jam saja. Namun untuk program-program yang lebih komplek tentu Anda

membutuhkan waktu lebih lama, misalnya beberapa hari, beberapa minggu atau beberapa

bulan. Untuk kasus ini, sekali lagi dokumentasi menjadi penting, karena:

a. Anda tidak mungkin mengerjakan proyek Anda hanya dalam sekali duduk

b. Dokumentasi dapat memberitahu Anda apa yang telah Anda lakukan terakhir kali

pada kode-kode program Anda

c. Dokumentasi memungkinkan Anda untuk mencatat mengapa Anda memutuskan

untuk menulis kode tersebut, atau mengapa Anda memilih untuk tidak mencari

solusi tertentu lainnya.

d. Dokumentasi memberitahu Anda keterbatasan atau bug yang ada untuk perbaikan

selanjutnya

e. Dokumentasi memungkinkan pencarian dan referensi yang lebih mudah di dalam

program

f. Dokumentasi adalah praktek pemrograman yang dianjurkan

2) Ketrampilan Kerja

Nah, sekarang Anda sudah tahu mengapa dokumentasi kode program itu sangat

penting. Sekarang mari kita lanjutkan dengan bagaimana langkah-langkah yang baik untuk

membuat dokumentasi kode program tersebut. Dokumentasi program sendiri bisa

menggunakan comment pada program, notasi algoritma atau tabel keputusan yang akan

dibahas pada sub-bab berikutnya.

Identifikasi Modul Program

Sebelum memulai sebuah dokumentasi, Anda perlu mengidentifikasi dulu modul

program Anda. Sebuah program bisa terdiri dari satu modul atau lebih. Yang dimaksud

dengan modul program adalah sekumpulan fungsi dan atau prosedur dalam sebuah

program yang memiliki tujuan yang sebangun.

Contohnya: modul program untuk membaca data dari basis data. Di dalam modul

program ini terdapat fungsi atau prosedur untuk melakukan dan memutuskan koneksi ke

basis data. Modul program ini juga memiliki fungsi atau prosedur untuk meng-ekstrak data

dari basis data dan mungkin juga fungsi atau prosedur untuk menampilkan data yang telah

Modul Junior Web Programmer 7

di-ekstrak tersebut. Artinya fungsi dan prosedur inilah yang membentuk modul program

untuk membaca data dari basis data.

Parameter Data I/O Pada Fungsi atau Prosedur

Jika tadi kita membahas bagaimana mengidentifikasi modul program maka

sekarang kita melihat ke dalam modul tersebut, yaitu pada fungsi atau prosedur yang

terdapat di dalam modul tersebut.

Anda tentu sudah mengetahui perbedaan antara fungsi dan prosedur. Secara

singkat, perbedaannya adalah bahwa fungsi dapat mengembalikan nilai sedangkan

prosedur tidak mengembalikan nilai. Namun keduanya dapat memiliki parameter data

masukan atau keluaran (Input/Output). Agar lebih jelas, marilah kita perhatikan fungsi

C++ dibawah ini!

long fibonacci (unsigned long n) { if (n <= 1) { return n; } else { return fibonacci(n - 1) + fibonacci(n – 2); } }

Fungsi diatas adalah fungsi untuk menampilkan bilangan fibonacci, yaitu bilangan

yang setiap angkanya merupakan penjumlahan dari dua angka di depannya. Urutan

bilangan fibonacci adalah sebagai berikut: 1, 1, 2, 3, 5, 8, 13, 21, ...

Tapi yang ingin kita bahas bukanlah fungsi fibonacci ini, mengidentifikasi

parameter di dalam fungsi tersebut. Fungsi fibonacci ini memiliki 1 parameter data

masukan/input yaitu n yang memiliki tipe data unsigned long (bilangan bulat positif) dan

mengembalikan 1 nilai keluaran/output.

Jika Anda memanggil fungsi fibonacci(8), maka hasilnya adalah 21. Angka 8

merupakan parameter yang menjadi data masukan dan angka 21 merupakan data keluaran

dari fungsi tersebut dimana bilangan ke-8 dari deret fibonacci adalah 21.

Data dan Algoritma Pada Fungsi atau Prosedur

Ketika Anda menulis sebuah kode program, baik itu berupa suatu fungsi atau

prosedur, Anda tentu memikirkan algoritma pemrograman atau alur proses dari fungsi

maupun prosedur tersebut. Algoritma itu sendiri merupakan urutan langkah-langkah logis

penyelesaian masalah yang disusun secara sistematis.

Modul Junior Web Programmer 8

Ketika Anda menulis kode program anda juga tidak akan pernah terlepas dari

data. Dan data ini juga secara tidak langsung Anda pikirkan dan gunakan di dalam

algoritma Anda. Misalkan Anda diminta untuk membuat fungsi yang dapat menampilkan

bilangan fibonacci seperti yang kita bahas sebelumnya. Maka langkah yang Anda ambil

tentu saja:

a. Perlu tahu terlebih dahulu apakah yang dimaksud dengan bilangan fibonacci tersebut.

b. Setelah Anda tahu bahwa bilangan fibonacci adalah urutan angka dimana sebuah

angka merupakan hasil jumlah 2 angka sebelumnya, maka Anda mulai memikirkan

logika pemrogramannya.

c. Pertama, Anda tentu menentukan apa yang menjadi data masukan.

d. Kedua, Anda memikirkan proses bagaimana data yang menjadi masukan dapat

menghasilkan data keluaran yang benar. Dalam hal ini proses itu adalah bagaimana

kode program untuk menjumlahkan 2 angka sebelumnya berdasarkan data masukan

Anda.

e. Terakhir, Anda mengevaluasi kode di dalam fungsi atau prosedur Anda untuk

melihat apakah hasilnya sudah benar.

Lalu, apakah yang dapat kita simpulkan dalam hal ini? Jika kita lihat secara

garis besar maka suatu fungsi, prosedur, program adalah hanya menyangkut 3 unsur

dasar yang sering disebut IPO, yakni:

1. Masukan (Input )

2. Proses (Process )

3. Keluaran (Output )

Maka dari itu, sebuah algoritma tak lebih merupakan sekumpulan logika untuk

memproses data masukan sehingga menghasilkan data keluaran yang diinginkan.

Modul Junior Web Programmer 9

Gambar Model Elemen-Elemen Pembentuk Aplikasi

3) Sikap Kerja

Sikap kerja perlu diperhatikan dalam lingkungan kerja, yaitu :

1. Mengidentifikasi modul sesuai dengan fungsi dan prosedur dengan benar.

2. Meninjau parameter data yang menjadi masukkan dengan tepat.

3. Menjelaskan data dan algoritma sesuai dengan deskripsi fungsinya.

1.5.2 Membuat Dokumentasi Modul Program

1) Pengetahuan Kerja

Anda sudah mengerti bagaimana mengidentifikasi modul program, menentukan

parameter data pada fungsi dan prosedur serta telah mampu menjelaskan data dan

algoritma pemrograma pada fungsi dan prosedur. Maka saat ini kita akan mulai menyusun

dokumentasi untuk modul program.

Seperti yang telah disebutkan pada sub-bab sebelumnya, modul program

merupakan kumpulan dari beberapa fungsi atau prosedur dengan tujuan sama. Modul juga

Modul Junior Web Programmer 10

memiliki data-data berupa variabel-variabel, referensi dan sebagainya untuk mendukung

komunikasi atau interaksi antara fungsi-fungsi dan atau prosedur-prosedur di dalamnya.

Oleh karena itu dalam dokumentasi modul, kita menjelaskan secara garis besar

kegunaan dari modul ini. Dokumentasi dapat dibuat dengan menambahkan comment-

comment secara langsung bersama kode-kode lain di dalam program. Keuntungan

penggunaan comment adalah Anda dapat sekaligus memahami kode-kode di dalam

program tersebut.

Bentuk penulisan comment ini sendiri bergantung pada bahasa pemrograman

masing-masing. Berikut adalah contoh penulisan comment pada beberapa bahasa

pemrograman:

a. Pada Microsoft Visual Basic, comment dapat dideklarasikan dengan diawali simbol

apostrophe ( ' ) atau keyword “REM”.

b. Pada bahasa pemrograman Java, JavaScript, ActionScript,C, C++ dan C#, comment

dideklarasikan dengan simbol double-slash ( // ) untuk comment dalam 1 baris dan

dengan notasi /* comment */ untuk comment 1 baris atau lebih.

c. Pada bahasa scripting seperti HTML, comment dapat dideklarasikan dengan notasi

<!-- comment -->.

d. Pada CSS, anda bisa menggunakan notasi /* comment */ untuk mendeklarasikan

comment.

e. Pada PHP, anda dapat mendeklarasikan comment dengan menggunakan simbol dan

notasi seperti pada Java dan C pada poin b diatas. Untuk comment dalam 1 baris,

PHP juga mendukung penggunaan simbol ( # ) seperti bahasa pemrograman Perl dan

Shell.

f. Pada bahasa rakitan atau Assembly, Anda dapat mendeklarasikan comment dengan

diawali simbol titik koma / semicolon ( ; ).

g. Pada SQL Server, Anda dapat menggunakan notasi /* comment */ atau simbol ( -- )

untuk mendeklarasikan comment.

Tentang bagaimana format penulisan comment, Anda dapat mengacu pada

referensi manual atau dokumentasi dari bahasa pemrograman yang Anda gunakan.

Referensi ini biasanya dapat Anda temukan pada dokumen bantuan bahasa pemrograman

yang bersangkutan.

Dokumentasi juga dapat dibuat terpisah dari kode program, menggunakan

beberapa notasi algoritma berikut:

a. Notasi I – Menyatakan algoritma dengan kalimat-kalimat deskriptif

Modul Junior Web Programmer 11

Dengan notasi kalimat deskriptif, penjelasan setiap langkah akan menjadi lebih

mudah dan tidak dibatasi oleh bahasa. Misalnya proses diawali dengan kata kerja

seperti “baca”, “cetak”, “tulis”, “ganti”, “set” dan sebagainya. Sedangkan untuk

pernyataan kondisional dinyatakan dengan “jika ...”, “maka ...”, dan sebagainya.

Untuk algoritma yang pendek, notasi ini masih layak untuk dipergunakan. Namun,

untuk masalah yang lebih komplek, notasi ini tidak dianjurkan. Selain itu, proses

pengubahan dari notasi algoritma ini ke dalam bahasa pemrograman cenderung

sulit untuk dilakukan.

b. Notasi II – Menyatakan algoritma dengan Pseudo-code

Pseudo artinya tidak sebenarnya atau semu. Jadi yang dimaksud dengan Pseudo-

code adalah notasi-notasi yang menyerupai bahasa pemrograman tetapi bukan

kode program itu sendiri. Jika Anda mengamati secara seksama, maka Anda akan

menjumpai bahwa bahasa pemrograman umumnya memiliki sintaks atau notasi

yang hampir sama untuk beberapa instruksi umum.

Contohnya if-then-else, while-do, repeat-until, read, write, print, dan sebagainya.

Dari pengamatan inilah berawal notasi algoritma pseudo-code yang dapat

menjelaskan langkah-langkah algoritma secara lebih jelas tanpa membingungkan

pembaca dan sekaligus lebih dekat dengan bahasa pemrograman.

c. Notasi III – Menyatakan algoritma dengan diagram

Notasi bentuk ketiga ini menggunakan diagram untuk menggambarkan langkah-

langkah algoritma pemrograman sebagai dokumentasi kode program. Pada awal era

pemrograman salah satu diagram yang paling populer adalah Diagram Alir ( Flow

Chart ). Diagram ini cenderung menjelaskan aliran instruksi di dalam program

secara visual dibanding memperlihatkan struktur program. Diagram ini cocok

untuk algoritma sederhana. Untuk algoritma yang lebih komplek, penggunaan

diagram ini menjadi kurang efektif karena perlu berlembar-lembar halaman hanya

untuk menggambarkan aliran proses program. Saat ini, penggunaan diagram alir (

Flow Chart ) sudah mulai ditinggalkan dan mungkin hanya digunakan untuk

proses-proses yang sederhana. Sedangkan untuk proses-proses yang lebih komplek,

kini cenderung menggunakan konsep UML (Unified Modeling Language).

2) Ketrampilan Kerja

Dokumentasi Modul

Modul Junior Web Programmer 12

Yang perlu dijelaskan atau diikut sertakan dalam dokumentasi modul adalah

sebagai berikut:

a. Informasi programmer, seperti identitas misalnya.

b. Informasi lisensi jika perlu, misalnya hak cipta.

c. Penjelasan/deskripsi mengenai konteks atau kegunaan modul

d. Uraian tentang data-data dan referensi-referensi yang digunakan di dalam modul

e. Spesifikasi modul berupa versi, tanggal pembuatan, revisi dan sebagainya

f. Penjelasan singkat mengenai fungsi-fungsi dan prosedur-prosedur yang ada, meliputi

kegunaan dan cara penggunaannya

Contoh:

Berikut adalah contoh modul program Metalworks.java dari Sun Microsystem yang

menyertakan dokumentasi penjelasan dengan bentuk comment.

Modul Junior Web Programmer 13

/* * @(#)Metalworks.java 1.17 05/11/17 * * Copyright (c) 2006 Sun Microsystems, Inc. * All Rights Reserved. * * Redistribution and use in source and binary forms, * with or without modification, are permitted provided * that the following conditions are met: * * -Redistribution of source code must retain the above * copyright notice, this list of conditions and the * following disclaimer. * * -Redistribution in binary form must reproduce the above * copyright notice, this list of conditions and the * following disclaimer in the documentation and/or other * materials provided with the distribution. * * Neither the name of Sun Microsystems, Inc. or the names * of contributors may be used to endorse or promote * products derived from this software without specific * prior written permission. * * This software is provided "AS IS," without a warranty of * any kind. ALL EXPRESS OR IMPLIED CONDITIONS, * REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED * WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN * MIDROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT * OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE * LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR * PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE * THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN * ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. * * You acknowledge that this software is not designed, * licensed or intended for use in the design, construction, * operation or maintenance of any nuclear facility. */ /* @(#)Metalworks.java 1.17 05/11/17 */

Modul Junior Web Programmer 14

Dari contoh diatas Anda akan mendapatkan informasi nama modul tersebut adalah

Metalworks.java, versinya adalah 1.17 dengan tanggal rilis 17 November 2005.

Programmer-nya adalah Steve Wilson. Tujuan dari modul tersebut adalah sebagai demo

untuk menampilkan antarmuka “Metal ”. Anda juga melihat lisensi dari Sun Microsystem

menyangkut hak cipta dan penggunaan modul tersebut.

Penjelasan Fungsi Dan Prosedur Dalam Dokumentasi Modul

Bila Anda sudah membuat deskripsi tentang modul program, maka yang perlu

Anda lakukan sekarang adalah menjelaskan bagian bagian yang terdapat dalam modul

program itu yaitu berupa penjelasan

Singkat mengenai fungsi-fungsi dan prosedur-prosedur di dalamnya berupa

kegunaan dan atau cara penggunaannya. Jika terdapat data-data yang berada dalam ruang

lingkup modul, maka kegunaan data-data tersebut juga dijelaskan.

import java.awt.*; import javax.swing.*; import javax.swing.border.*; import javax.swing.plaf.metal.MetalLookAndFeel; /** * This application is a demo of the Metal Look & Feel * * @version 1.17 11/17/05 * @author Steve Wilson */ public class Metalworks { public static void main( String[] args ) { UIManager.put("swing.boldMetal", Boolean.FALSE); JDialog.setDefaultLookAndFeelDecorated(true); JFrame.setDefaultLookAndFeelDecorated(true); Toolkit.getDefaultToolkit().setDynamicLayout(true); System.setProperty("sun.awt.noerasebackground","true"); try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch ( UnsupportedLookAndFeelException e ) { System.out.println ("Metal Look & Feel not supported on this platform. \nProgram Terminated"); System.exit(0); } JFrame frame = new MetalworksFrame(); frame.setVisible(true); } }

Modul Junior Web Programmer 15

Untuk lebih jelasnya mari kita tinjau bersama-sama contoh dokumentasi modul

PropertiesMetalTheme.java berikut.

/* * @(#)PropertiesMetalTheme.java 1.12 05/11/17 */ /* * Import class using in this module from packages * swing and awt for user interface * io for file input/output operation * util for utilities */ import javax.swing.plaf.*; import javax.swing.plaf.metal.*; import javax.swing.*; import javax.swing.border.*; import java.awt.*; import java.io.*; import java.util.*; /** * This class allows you to load a theme from a file. * It uses the standard Java Properties file format. * To create a theme you provide a text file which contains * tags corresponding to colors of the theme along with a * value for that color. For example: * * name=My Ugly Theme * primary1=255,0,0 * primary2=0,255,0 * primary3=0,0,255 * * This class only loads colors from the properties file, * but it could easily be extended to load fonts or even * icons. * * @version 1.12 11/17/05 * @author Steve Wilson */

Modul Junior Web Programmer 16

public class PropertiesMetalTheme extends DefaultMetalTheme { private String name = "Custom Theme"; private ColorUIResource primary1; private ColorUIResource primary2; private ColorUIResource primary3; private ColorUIResource secondary1; private ColorUIResource secondary2; private ColorUIResource secondary3; private ColorUIResource black; private ColorUIResource white; /** * pass an inputstream pointing to a properties file. * Colors will be initialized to be the same as the * DefaultMetalTheme, and then any colors provided in * the properties file will override that. */ public PropertiesMetalTheme( InputStream stream ) { initColors(); loadProperties(stream); } /** * Initialize all colors to be the same as the * DefaultMetalTheme. */ private void initColors() { primary1 = super.getPrimary1(); primary2 = super.getPrimary2(); primary3 = super.getPrimary3(); secondary1 = super.getSecondary1(); secondary2 = super.getSecondary2(); secondary3 = super.getSecondary3(); black = super.getBlack(); white = super.getWhite(); }

Modul Junior Web Programmer 17

/** * Load the theme name and colors from the properties * file * Items not defined in the properties file are ignored */ private void loadProperties(InputStream stream) { Properties prop = new Properties(); try { prop.load(stream); } catch (IOException e) { System.out.println(e); } Object tempName = prop.get("name"); if (tempName != null) { name = tempName.toString(); } Object colorString = null; colorString = prop.get("primary1"); if (colorString != null){ primary1 = parseColor(colorString.toString()); } colorString = prop.get("primary2"); if (colorString != null) { primary2 = parseColor(colorString.toString()); } colorString = prop.get("primary3"); if (colorString != null) { primary3 = parseColor(colorString.toString()); } colorString = prop.get("secondary1"); if (colorString != null) { secondary1 = parseColor(colorString.toString()); } colorString = prop.get("secondary2"); if (colorString != null) { secondary2 = parseColor(colorString.toString()); }

Modul Junior Web Programmer 18

colorString = prop.get("secondary3"); if (colorString != null) { secondary3 = parseColor(colorString.toString()); } colorString = prop.get("black"); if (colorString != null) { black = parseColor(colorString.toString()); } colorString = prop.get("white"); if (colorString != null) { white = parseColor(colorString.toString()); } } public String getName() { return name; }

protected ColorUIResource getPrimary1() { return primary1; } protected ColorUIResource getPrimary2() { return primary2; } protected ColorUIResource getPrimary3() { return primary3; }

protected ColorUIResource getSecondary1() { return secondary1; } protected ColorUIResource getSecondary2() { return secondary2; } protected ColorUIResource getSecondary3() { return secondary3; } protected ColorUIResource getBlack() { return black; } protected ColorUIResource getWhite() { return white; }

/** * parse a comma delimited list of 3 strings into color */ private ColorUIResource parseColor(String s) { int red = 0; int green = 0; int blue = 0;

Modul Junior Web Programmer 19

Modul ini adalah modul yang bertujuan untuk membaca konfigurasi

tampilan dari file properties. Pada modul ini, Anda akan menemukan penjelasan pada

setiap fungsi dan prosedur yang mendeskripsikan kegunaan dari masing-masing fungsi dan

prosedur tersebut. Misalnya :

Dari keterangan yang diberikan, kita dapat mengetahui bahwa kegunaan dari

prosedur loadProperties adalah untuk mengambil nama theme dan warna dari file

properties. Bayangkan jika tidak ada keterangan mengenai prosedur ini. Dari nama

prosedur, mungkin Anda tahu bahwa fungsinya adalah untuk me-load properties. Tetapi

bagaimana jika nama prosedur yang dibuat tidak jelas sedangkan nama prosedur yang jelas

seperti ini saja akan memunculkan pertanyaan seputar properties apa yang di-load. Jika

tidak ada penjelasan seperti diatas, maka Anda terpaksa harus menelusuri kode program di

try { StringTokenizer st = new StringTokenizer(s, ","); red = Integer.parseInt(st.nextToken()); green = Integer.parseInt(st.nextToken()); blue = Integer.parseInt(st.nextToken()); } catch (Exception e) { System.out.println(e); System.out.println("Couldn't parse color :" + s); } return new ColorUIResource(red, green, blue); } }

/** * Load the theme name and colors from the properties * file * Items not defined in the properties file are ignored

*/

private void loadProperties(InputStream stream)

....

Modul Junior Web Programmer 20

dalam prosedur ini baris demi baris hanya untuk mengetahui apa sebenarnya yang diproses

oleh prosedur bersangkutan. Tentu ini sudah menghabiskan waktu dan tenaga Anda.

3) Sikap Kerja

Beberapa sikap kerja yang perlu diperhatikan saat berada di lingkungan kerja, yaitu:

a. Membuat dokumentasi modul untuk memudahkan pelacakan

b. Menjelaskan fungsi dan prosedur dalam modul

1.5.3 Membuat Dokumentasi Fungsi atau Prosedur Program

1) Pengetahuan Kerja

Sama halnya dengan dokumentasi modul program, dokumentasi fungsi dan

prosedur program, menjelaskan isi dari fungsi dan prosedur yang bersangkutan mulai dari

data masukan dan keluaran, tipe data hingga proses di dalamnya.

Dokumentasi untuk fungsi dan prosedur program dapat dibuat dengan

menggunakan paduan antara comment dengan notasi algoritma kalimat deskriptif

misalnya. Jika perlu Anda juga dapat membuat dokumen terpisah berupa diagram yang

menjelaskan aliran proses prosedur atau fungsi yang bersangkutan atau menggunakan

metode standar, UML.

Dalam pelatihan ini, kita akan coba mempelajari keduanya yaitu mengggunakan

comment dan menggunakan diagram. Jika Anda menggunakan comment, seperti yang

sudah dijelaskan sebelumnya, maka harus menjelaskan fungsi dan prosedur itu, nama-

nama variabel (yaitu data masukan dan keluaran) atau menjelaskan alasan mengapa pilihan

atas metode tertentu digunakan dalam fungsi dan atau prosedur yang bersangkutan.

Comment di dalam kode program akan sangat membantu, menghemat waktu dan

energi serta memastikan baik penulis program dan orang lain memahami struktur dan

tujuan program secara keseluruhan.

2) Ketrampilan Kerja

Dokumentasi Fungsi dan Prosedur

Di dalam dokumentasi fungsi dan prosedur, selain menjelaskan kegunaan, Anda

juga menjelaskan detil di dalamnya meliputi:

a. Penyataan-pernyataan (statement) baik yang berupa:

o Assignment

o Perulangan (Looping )

Modul Junior Web Programmer 21

o Seleksi atau kondisional ( Selection /Conditional )

b. Bagian Public dan Private di dalam Class

c. Implementasi

d. Algoritma jika dibutuhkan

e. Informasi-informasi lain yang dianggap perlu.

Perhatikan contoh berikut!

/** * Build menu bar according to the selected theme */ protected void buildMenus() { menuBar = new JMenuBar();

Modul Junior Web Programmer 22

Dari contoh ini, Anda dapat melihat penjelasan pada setiap pernyataan-pernyataan

yang dianggap penting. Misalnya:

menuBar.setOpaque(true);

JMenu file = buildFileMenu(); JMenu edit = buildEditMenu(); JMenu views = buildViewsMenu(); JMenu speed = buildSpeedMenu(); JMenu help = buildHelpMenu(); // load a theme from a text file

MetalTheme myTheme = null; try { InputStream istream = getClass().getResourceAsStream ("/resources/MyTheme.theme"); myTheme = new PropertiesMetalTheme(istream);

} catch (NullPointerException e) { System.out.println(e); }

// build an array of themes MetalTheme[] themes = { new OceanTheme(), new DefaultMetalTheme(), new GreenMetalTheme(), new AquaMetalTheme(), new KhakiMetalTheme(), new DemoMetalTheme(), new ContrastMetalTheme(), new BigContrastMetalTheme(), myTheme }; // put the themes in a menu JMenu themeMenu = new MetalThemeMenu("Theme", themes); menuBar.add(file); menuBar.add(edit); menuBar.add(views); menuBar.add(themeMenu); menuBar.add(speed); menuBar.add(help); setJMenuBar(menuBar); }

// put the themes in a menu JMenu themeMenu = new MetalThemeMenu("Theme", themes); menuBar.add(file); menuBar.add(edit); menuBar.add(views); menuBar.add(themeMenu); ...

Modul Junior Web Programmer 23

Dari penjelasan itu, kita tahu bahwa pernyataan tersebut berguna untuk mem-format menu

yang dibuat sesuai dengan tema yang dipilih. Demikian halnya dengan pernyataan-

pernyataan lainnya.

Penjelasan Parameter Data I/O

Jika fungsi atau prosedur Anda memiliki parameter maka parameter ini juga harus

dijelaskan. Mengapa parameter ini diperlukan? Yang perlu dijelaskan dalam bagian ini

adalah aliran data masukan dari parameter hingga mendapatkan hasil keluaran. Perhatikan

fungsi berikut:

Dengan membaca penjelasan tersebut maka orang lain akan mengerti bagaimana

aliran data dan bagaimana parameter data tersebut diproses sehingga menghasilkan output

seperti itu.

Penjelasan Data dan Tipe Data Pada Fungsi atau Prosedur

Seperti yang telah diuraikan, semua fungsi dan prosedur akan selalu berhubungan

dengan pengolahan data yang dinyatakan sebagai variabel-variabel dalam kode program.

Variabel-variabel inilah yang mengacu pada memori komputer dimana data-data yang

dimanipulasi oleh fungsi dan prosedur itu tersimpan.

Sebagaimana kita ketahui, bentuk data cukuplah bervariasi. Ada yang berupa

angka, karakter, teks, tabel dan sebagainya. Bentuk-bentuk data inilah yang kemudian

dikenal sebagai tipe data. Data-data yang digunakan di dalam fungsi dan prosedur harus

dijelaskan tipenya.

Tipe data dibedakan ke dalam 2 kelompok yaitu tipe data dasar dan tipe data

bentukan. Yang merupakan tipe data dasar adalah:

// Menghitung luas segitiga dan mengembalikan nilai integer // Fungsi menerima 2 parameter bertipe float // fBase sebagai nilai alas segitiga // fHeight sebagai nilai tinggi segitiga // Contoh: Print iTriangleArea(3.2, 4.3) // Hasilnya adalah 7 (6.88 di-cast ke int) int iTriangleArea(float fBase, float fHeight) { // Luas Segitiga = alas x tinggi / 2 // Hasil kali diubah dari float ke integer return (int) fBase * fHeight / 2; }

Modul Junior Web Programmer 24

a. Bilangan bulat (integer, long, short, dsb)

b. Bilangan riil (decimal, single, float, double, dsb)

c. Bilangan Logika (boolean)

d. Karakter (char)

e. Teks (string)

Sedangkan tipe data bentukan adalah tipe data yang didefiniskan sendiri oleh

pemrogram menggunakan satu atau lebih tipe data dasar. Tipe data ini sering kita kenal

dengan User-defined Type. Contoh, kita ingin membuat tipe data yang dapat menampung

posisi x dan y.

Public Type POINTAPI x As Long y As Long End Type

Tipe data diatas ditulis dalam Visual Basic dan diberi nama POINTAPI. Artinya

jika kita mendeklarasikan sebuah variabel Z dengan tipe data ini, maka variabel Z akan

menyimpan nilai x dan y.

Cara-cara pembuatan tipe data bentukan dapat Anda pelajari pada bahasa

pemrograman masing-masing. Nah, apa kaitan antara tipe data dengan dokumentasi fungsi

dan prosedur.

Anda tentu harus menjelaskan secara rinci data dan tipe data yang digunakan

untuk mendeskripsikan proses di dalam fungsi dan prosedur tersebut. Misalnya: Anda

tentu harus menjelaskan tipe data parameter yang dapat diterima oleh fungsi atau prosedur

Anda, termasuk data hasil keluaran yang diterima. Bisa saja parameter yang menjadi

masukan harus berupa bilangan bulat integer.

Dan keluarannya bisa berupa tipe data logika, benar atau salah (True or False).

Marilah kita buat sebuah program sederhana untuk menghitung harga total dari jumlah

barang yang dibeli sekaligus mencoba membuat dokumentasi untuk program tersebut.

Misalnya kita menggunakan C#.

Modul Junior Web Programmer 25

/* * TotalHarga 1.0 13/09/2007 * Oleh by SHa * Menghitung total harga dengan C# * Untuk TIK.PR02.019.01 - Membuat Dokumen Kode Program */ // Menggunakan Class Package System using System; namespace TotalHarga { class Program {

// Fungsi untuk menghitung harga total // dan mengembalikan hasilnya dalam string // parameter jb untuk jumlah barang // dengan tipe short // dan hs untuk harga satuan dengan tipe single // tipe disamakan dengan data masukan yang dikirim static String hargaTotal(short jb, Single hs) { return Convert.ToString(jb * hs); // Konversi ke string sebelum dikembalikan }

// Fungsi utama static void Main(string[] args) { // Minta input jumlah barang yang // dibeli dari Console Console.Write("Masukkan jumlah barang yang di beli: "); // Simpan input ke dalam variabel n // dengan tipe short // Karena input kita adalah string maka // diubah ke Int16 // Int16 identik dengan tipe short short n = Convert.ToInt16(Console.ReadLine()); // Minta input harga satuan Console.Write ("Masukkan harga satuan: "); // Simpan input ke dalam variabel harga // dengan tipe single // single berarti dapat menerima bilangan // pecahan (desimal) Single harga = Convert.ToSingle(Console.ReadLine()); // Panggil fungsi hargaTotal dengan // mengirimkan parameter // n sebagai jb dan harga sebagai hs // Hasil yang dikembalikan di cetak ke // layar Console Console.Write("\nTotal harga yang harus dibayar: " + hargaTotal(n, harga)); // Minta input apa saja untuk keluar // dari program Console.ReadKey(); } } }

Modul Junior Web Programmer 26

Contoh diatas menunjukkan bagaimana kita menjelaskan modul program, data

dan tipe data, fungsi dan prosedur dalam bentuk comment. Bagaimana jika kita ingin

menggambarkan aliran prosesnya dengan diagram alir misalnya? Diagram alir untuk

modul diatas dapat digambarkan seperti gambar berikutnya.

Gambar Diagram Alir ( Flow Chart ) Program Total Harga

Jika Anda menggunakan UML maka Class Program di dalam modul TotalHarga

Anda akan digambarkan sebagai berikut:

Gambar Class Program dalam Modul Total Harga

Pembahasan mengenai UML dapat Anda dapatkan dari buku-buku lain mengenai

UML. Dalam pelatihan ini kita hanya membahas pembuatan dokumen kode program

dalam lingkup internal program itu sendiri. UML sendiri umumnya digunakan untuk

perancangan (Architecture/Design Documentation).

3) Sikap Kerja

Memperhatikan sikap kerja sangat diperlukan dalam lingkungan kerja, yaitu :

a. Membuat dokumentasi fungsi dan prosedur sesuai dengan identitasnya

b. Menjelaskan parameter data keluaran dan masukkan pada dokumen

c. Menjelaskan data dan tipe datanya pada dokumen

Modul Junior Web Programmer 27

1.5.4 Mengevaluasi Dokumen Kode Program

1) Pengetahuan Kerja

Apabila seluruh kode program (fungsi, prosedur dan modul program) telah

terdokumentasi, maka langkah terakhir adalah melakukan evaluasi terhadap dokumentasi

tersebut. Pada tahap ini, Anda harus memeriksa kelengkapan, kebenaran dan tata bahasa di

dalam dokumentasi Anda. Mungkin saja ketika Anda membuat dokumentasi, comment

misalnya, Anda hanya menulis secara singkat dengan bahasa atau simbol yang mungkin

hanya Anda sendiri yang mengerti. Jika demikian, maka di tahap inilah Anda harus

memperbaikinya agar dapat dibaca dan dimengerti oleh orang lain.

Agar dokumentasi yang ditulis dapat dipahami oleh semua pihak yang terkait,

maka diperlukanlah suatu standar dokumentasi baik dari sisi penulisan (berupa notasi, tata

bahasa), bahkan suatu konvensi penulisan kode, seperti penamaan fungsi, prosedur,

variabel, modul, dsb. Konvensi penulisan kode ini selalu Anda jumpai pada manual bahasa

pemrograman. Memang bukan sesuatu aturan yang wajib diikuti. Namun, akan sangat

membantu dalam kaitannya dengan dokumentasi kode program. Penamaan yang jelas,

jelas akan memudahkan pembaca. Ditambah dengan dokumentasi yang baik tentu akan

semakin baik lagi.

2) Ketrampilan Kerja

Standar Dokumen

Dokumen kode program dikenal sebagai dokumen teknis (Technical

Documentation) yang merupakan bagian dari dokumentasi piranti lunak (software

documentation). Umumnya dikenal 3 metode dokumentasi program yaitu penggunaan

comment, diagram dan tabel keputusan (decision table).

Ketika Anda mulai membuat dokumentasi, baik dengan metode apapun, maka

Anda harus mengikuti aturan standar penulisan yang telah disepakati bersama oleh tim

atau mengikuti standar internasional yang diakui.

Jika Anda menggunakan comment di dalam program, maka standar penulisan

comment ini dapat Anda tentukan sendiri bersama tim Anda mengikuti panduan dari

bahasa pemrograman yang bersangkutan dengan tambahan misalnya seperti berikut:

Modul Junior Web Programmer 28

a. Semua modul harus diberi informasi tentang penulis dan versi / tanggal agar dapat

diketahui proses perkembangan atau revisi-nya

b. Setiap fungsi/prosedur harus dijelaskan secara rinci alur data dan prosesnya

c. Jika ada kode program yang diubah, maka kode yang lama tidak boleh dihapus tetapi

diberi komentar, serta ditambahkan alasan perubahan, dan siapa yang mengubah.

Tujuannya agar jika sewaktu-waktu kode itu diperlukan kembali maka kode tersebut

masih ada.

d. Penulisan menggunakan format seperti dibawah ini:

o Modul // ------------- nama modul -------------- // // informasi mengenai modul .............. // // ....................................... // // --------------------------------------- //

o Fungsi/Prosedur /** nama fungsi atau prosedur **/ /** penjelasan mengenai fungsi atau prosedur * ..... */

e. Dan sebagainya

Pilihan lain, Anda juga dapat menggunakan alat-alat bantu dokumentasi yang

sudah banyak tersedia saat ini, diantaranya Doxygen, JavaDoc, ROBODOC, GenHelp,

TwinText, Document!X, dan lain-lain. Aplikasi-aplikasi ini tersedia dan memiliki

dukungan bahasa pemrograman yang bervariasi serta beberapa fitur untuk mengekspor

dokumentasi ke beberapa format seperti file teks atau file HTML.

Bila Anda menggunakan diagram alir (Flow Chart ), maka Anda perlu

memperhatikan standar penggunaan simbol-simbol seperti ditunjukkan dalam tabel berikut

ini:

SIMBOL NAMA FUNGSI

TERMINATOR Permulaan/akhir program

GARIS ALIR (FLOW LINE) Arah aliran program

PREPARATION Proses inisialisasi/pemberian harga awal

Modul Junior Web Programmer 29

PROSES Proses perhitungan/proses pengolahan data

DATA I/O Proses input/output data, parameter, informasi

PREDEFINED

PROCESS (SUB PROGRAM)

Permulaan sub program/proses menjalankan sub program

DECISION

Perbandingan pernyataan, penyeleksian data yang

memberikan pilihan untuk langkah selanjutnya

ON PAGE CONNECTOR

Penghubung bagian-bagian flowchart yang berada pada satu

halaman

OFF PAGE CONNECTOR

Penghubung bagian-bagian flowchart yang berada pada

halaman berbeda

Jika Anda juga ingin menggunakan decision table (tabel keputusan), yaitu suatu

alat bantu untuk memodelkan logika-logika yang komplek dalam program, untuk

melengkapi dokumen Anda, maka perhatikan format standar berikut ini.

Rules

1 2 3 4 … N

Condition Stub

Condition Entry

Action Stub

Action Entry

Misalnya kita ingin membuat tabel keputusan untuk kasus menghitung harga total

seperti pada sub-bab 4.5 tapi dengan tambahan validasi terhadap persediaan dan pembelian

Modul Junior Web Programmer 30

tidak boleh lebih dari 5 unit. Berikut adalah tabel keputusan untuk menunjukkan

kemungkinan apa saja yang akan terjadi jika terdapat kondisi-kondisi seperti ini.

Rules

1 2 3 4 5 6 7

a. Apakah 0< jumlah barang yang dibeli < 6? b. Apakah persediaan mencukupi? c. Apakah harga satuan > 0?

Y Y Y

Y Y T

Y T Y

Y T T

T Y T

T T Y

T T T

a. Hitung harga total b. Jual semua yang dibeli c. Jual yang ada saja d. Buat catatan kekurangannya

X X - -

- - - -

- - X X

- - - X

- - - -

- - - X

- - - X

Kesempurnaan Teknis dan Tata Bahasa Dokumen

Memastikan kesempurnaan teknis dan tata bahasa juga merupakan bagian dari

evaluasi dokumen kode program. Jika Anda sudah menggunakan standar yang ditetapkan,

maka tinjaulah kembali format teknis dan penggunaan tata bahasa pada penjelasan-

penjelasan di dalam dokumen Anda. Pastikan bahasa yang digunakan memenuhi beberapa

kriteria berikut:

a. Jelas, artinya menyampaikan arti dan maksud yang ingin disampaikan.

b. Mudah, artinya penyampaiannya mudah dipahami, tepat dan tidak bertele-tele.

c. Lengkap, artinya semua penjelasan sudah mencakup keseluruhan kode program.

Pada tahap inilah, Anda harus memperbaiki dan memastikan dokumen Anda telah benar-

benar siap dan sempurna.

Kelengkapan Dokumen

Bila dokumen Anda telah sempurna secara teknis, baik dari sisi standar, format

penulisan dan tata bahasa, maka langkah terakhir adalah memeriksa kelengkapan dokumen

kode program Anda.

Yang dimaksud lengkap disini selain kelengkapan isi dokumentasi seperti yang

dijelaskan pada sub-bab sebelumnya, juga mencakup kelengkapan seluruh dokumen kode

program yang Ada, misalnya diagram dan tabel keputusan disamping comment di dalam

Modul Junior Web Programmer 31

program. Semua dokumen ini kemudian dikelompokkan menjadi satu sehingga menjadi

satu dokumentasi kode program yang lengkap dan sempurna.

3) Sikap Kerja

Sikap kerja perlu diperhatikan dalam lingkungan kerja, berupa :

a. Merevisi dokumen sesuai dengan standar kerja

b. Memperbaiki dokumen untuk menjamin kesempurnaan tata bahasa

c. Melengkapi dokumen sehingga memenuhi syarat teknis

Modul Junior Web Programmer 32

APLIKASI BASIS DATA

2.1 Tujuan Instruksional Umum o Siswa mampu menceritakan dan menjelaskan dan mengoperasikan aplikasi basis

data

2.2 Tujuan Instruksional Khusus o Siswa mengerti dan mampu menjelaskan apa yang dimaksud dengan basis data

o Siswa dapat mengoperasikan aplikasi basis data dan dapat menjelaskan fitur-fitur

yang terdapat pada aplikasi basis data tersebut

o Siswa dapat mengerti dan mampu menjelaskan apa yang dimaksud dengan basis

data, tabel, view, form dan modul

o Siswa dapat membuat tabel dengan menggunakan wizard maupun dengan

menggunakan bahasa data deskripsi

o Siswa dapat memilih tipe data setiap field sesuai dengan kebutuhan

o Siswa dapat membuat query / view sesuai dengan kebutuhan

o Siswa dapat membuat query / view dengan menggunakan wizard

o Siswa dapat membuat form dengan menggunakan wizard

o Siswa dapat menampilkan field-field dari tabel/view pada form

o Siswa dapet membuat modul untuk digunakan di form / report

o Siswa dapat mengidentifikasi fitur-fitur modul

Bab

2

Modul Junior Web Programmer 33

2.3 Sekilas Tentang Basis Data Basis data diartikan sebagai kumpulan informasi yang disimpan di dalam komputer

secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk

memperoleh informasi dari data tersebut. Data dalam basis data terbagi-bagi ke dalam

tabel-tabel. Tabel merupakan set data dalam basis data yang berguna untuk menampilkan

data dalam bentuk matriks. Masing-masing tabel merupakan satu kesatuan yang terdiri dari

beberapa kolom yang biasa disebut field. Field-field ini bisa memiliki tipe data yang

berbeda-beda, bisa berupa string, number, date time dan lain-lain.

Aplikasi basis data adalah sistem atau perangkat lunak yang dirancang untuk

mengelola suatu basis data dan menjalankan operasi terhadap data yang diminta oleh

pengguna. Dengan kata lain, aplikasi basis data adalah alat atau program yang digunakan

untuk mengolah data menjadi informasi. Contoh aplikasi basis data yang telah berkembang

sekarang ini adalah Oracle, SQL Server 2000/2005, Ms Access, MySQL dan sebagainya.

Aplikasi basis data biasanya dilengkapi oleh autentifikasi user, yang berguna untuk

mengidentifikasi siapa yang akan menggunakan aplikasi basis data. Hal ini dimaksudkan

agar aplikasi basis data ini hanya bisa digunakan oleh orang-orang yang berhak dan tidak

disalahgunakan untuk kepentingan yang salah.

Semua aplikasi basis data mempunyai fasilitas untuk membuat tabel dan view, baik

dengan menggunakan wizard, design view maupun dengan menggunakan bahasa data

deskripsi. Beberapa fasilitas tambahan seperti membuat form dan report ada pada sebagian

aplikasi basis data yang akan digunakan untuk menampilkan data.

Setiap aplikasi basis data mempunyai menu-menu windows yang umum seperti

new, open, save, dan print untuk membuat baru, membuka, menyimpan dan mencetak

tabel, view, form, report dan lain-lain. Selain menu-menu windows umum, ada beberapa

menu khusus aplikasi basis data seperti execute yang digunakan untuk menjalankan sebuah

query, cancel yang digunakan untuk membatalkan sebuah query yang sedang dijalankan,

export data yang bisa digunakan untuk mentransfer data dari satu basis data ke basis data

yang lain. Menu-menu pada aplikasi basis data sangat tergantung dengan jenis aplikasi

basis data yang digunakan.

2.4 Tabel Seperti yang telah dijelaskan sebelumnya, tabel merupakan set data dalam basis

data. Setiap basis data bisa mempunyai lebih dari satu tabel, tergantung dari keperluannya.

Modul Junior Web Programmer 34

Tabel biasanya dibuat berdasarkan sebuah benda/kegiatan baik benda/kegiatan yang

konkret maupun yang abstrak. Contoh dari tabel adalah tabel Siswa yang berfungsi untuk

mendatakan siswa-siswa yang mengikuti sebuah pelatihan.

Tabel-tabel tersebut mempunyai satu atau lebih kolom-kolom yang digunakan

untuk mendeskripsikan tabel tersebut, kolom-kolom tersebut disebut field. Contoh-contoh

field yang bisa ditambahkan pada tabel Siswa contohnya id siswa, nama, alamat, no ktp, no

telepon dan hp. Masing-masing field bisa mempunyai tipe data yang berbeda-beda,

tergantung dari keperluan datanya. Beberapa tipe-tipe data yang terdapat pada aplikasi

basis data adalah sebagai berikut:

Tipe Data Keterangan

Text Berguna untuk menyimpan data berupa karakter, bisa menentukan

panjangnya karakter yang diinginkan dengan mengatur field size nya.

Number Berguna untuk menyimpan data berupa angka, tipe data numerik

bermacam-macam seperti integer, single, double, dan decimal.

Date/Time Berguna untuk menyimpan data berbentuk tanggal dan jam.

AutoNumber Berguna untuk menyimpan data berbentuk angka berurut yang akan

dibuat secara otomatis oleh aplikasi basis data setiap kali data

dimasukan.

Untuk membuat tabel, field-field dan constrain-constrain yang terdapat didalamnya, bisa

digunakan beberapa cara seperti wizard, design view atau dengan menggunakan bahasa

data deskripsi. Membuat tabel dengan menggunakan wizard lebih mudah karena sudah

terdapat contoh tabel dan contoh fields untuk setiap tabel. Tetapi apabila ingin membuat

tabel yang belum ada pada contoh tabel tersebut, sebaiknya menggunakan design view atau

menggunakan bahasa data deskripsi. Pada wizard, tinggal diikuti saja langkah-langkahnya

dan tekan finish. Setelah itu beri nama pada tabel yang dibuat dan tekan finish. Dengan

mengikuti langkah-langkah tersebut, sebuah tabel sudah tercipta.

Pembuatan tabel dengan menggunakan design view juga tidak terlalu rumit.

Dengan menggunakan design view, kita tidak dituntut untuk mengerti bahasa data

deskripsi, yang perlu dilakukan hanya memasukan nama field-field pada tempat yang

disediakan dan memilih tipe-tipe data dari list yang ada serta memasukan constrain-

constrain yang ada. Dan terakhir kita perlu menyimpannya. Dengan langkah-langkah

tersebut, sebuah tabel sudah tercipta. Gambar 1 merupakan contoh pembuatan tabel

dengan menggunakan design view. Kita tinggal memasukan nama-nama field di kolom

Modul Junior Web Programmer 35

Field Name, memilih tipe data di kolom Data Type dan memasukan deskripsi field tersebut

di kolom Description. Kemudian kita tinggal memberi nama dan menyimpan tabel ini.

Gambar 1. Pembuatan Tabel dengan Design View

Pembuatan tabel dengan menggunakan bahasa data deskripsi lebih rumit dibandingkan

dengan kedua cara sebelumnya. Untuk membuat tabel dengan menggunakan bahasa data

deskripsi, atau yang biasa dikenal sebagai DDL (Data Definition Language), kita harus

mempunyai pengetahuan tentang SQL (Structured Query Language). Kita harus membuat

query dari bahasa data deskripsi tersebut, kemudian meng-execute query tersebut.

Sintaks-sintaks yang harus diketahui untuk membuat, mengubah dan menghapus tabel

dengan menggunakan bahasa data deskripsi adalah sebagai berikut:

- CREATE TABLE

Sintaks ini digunakan untuk membuat tabel baru di basis data, sintaksnya adalah sebagai

berikut:

CREATE TABLE nama_tabel ( nama_field tipe data field, [nama_field tipe data field, ...])

Modul Junior Web Programmer 36

Contoh:

Untuk membuat tabel siswa dengan field-field id siswa, nama, alamat, no ktp, no telepon

dan hp, dilakukan dengan membuat sintaks sebagai berikut:

CREATE TABLE Siswa (id_siswa CHAR(10), nama VARCHAR(30), alamat VARCHAR(30), no_ktp varchar(20), no_telp VARCHAR(15), hp varchar(15))

- ALTER TABLE

Sintaks ini digunakan untuk mengubah tabel yang sudah ada sebelumnya, baik untuk

menambahkan field baru, menghapus field atau mengubah field yang sudah ada. Sintaks

untuk mengubah tabel adalah sebagai berikut:

Untuk menambahkan field:

ALTER TABLE nama_tabel ADD COLUMN nama_field tipe data field Untuk mengubah field:

ALTER TABLE nama_tabel ALTER COLUMN nama_field tipe data field

Untuk menghapus field:

ALTER TABLE nama_tabel DROP COLUMN nama_field

Contoh:

Untuk menambahkan field kota di tabel siswa, dilakukan dengan membuat sintaks sebagai

berikut:

ALTER TABLE Siswa ADD COLUMN kota char(15)

Untuk mengubah field kota dari panjang data dari 15 menjadi 20 di tabel siswa, dilakukan

dengan membuat sintaks sebagai berikut:

ALTER TABLE Siswa ALTER COLUMN kota char(20)

Untuk mengubah field ID_SISWA dari char(10) menjadi integer di tabel siswa, dilakukan

dengan membuat sintaks sebagai berikut:

ALTER TABLE Siswa ALTER COLUMN id_siswa int

Untuk menghapus field kota di tabel siswa, dilakukan dengan membuat sintaks sebagai

berikut:

Modul Junior Web Programmer 37

ALTER TABLE Siswa DROP COLUMN kota

- DROP TABLE

Sintaks ini digunakan untuk menghapus tabel yang sudah ada sebelumnya, sintaksnya

adalah sebagai berikut:

DROP TABLE nama_tabel

Contoh:

Untuk menghapus tabel siswa yang sudah dibuat sebelumnya, dilakukan dengan membuat

sintaks sebagai berikut:

DROP TABLE Siswa

Selain field-field, sebuah tabel biasanya memiliki aturan-aturan (rule) yang

membatasi data yang dimasukan. Hal ini berguna agar data yang terdapat pada basis data

benar dan valid. Aturan-aturan ini pada basis data disebut sebagai constraint dan rule.

Constraint adalah obyek yang merupakan bagian dari tabel dan fungsinya adalah untuk

mengecek data agar memenuhi kondisi tertentu. Terdapat 5 jenis constraint yang ada pada

setiap aplikasi basis data. Contraint-contraint tersebut adalah:

a. Primary Key (PK)

Primary Key adalah suatu kunci utama yang dibuat dari sebuah kolom atau lebih yang

menjadikan setiap data itu bersifat unik. Primary Key tidak boleh bernilai null. Contoh

pada tabel Siswa adalah Id Siswa. Tidak ada 2 siswa atau lebih yang mempunyai 1 id yang

sama.

Untuk menambahkan primary key dapat dilakukan dengan sintaks sebagai berikut:

ALTER TABLE nama_tabel ADD CONSTRAINT nama_constraint PRIMARY KEY(nama_field)

Contoh:

Untuk menambahkan id_siswa sebagai primary key pada tabel siswa, dilakukan dengan

sintaks sebagai berikut:

ALTER TABLE siswa ADD CONSTRAINT pk_siswa PRIMARY KEY(id_siswa)

Modul Junior Web Programmer 38

b. Foreign Key (FK)

Foreign Key adalah kunci asing yang terdapat pada satu kolom atau lebih di dalam suatu

tabel yang merujuk pada kunci di tabel lainnya sebagai link antara tabel-tabel tersebut.

Foreign Key digunakan untuk mengatur hubungan dua tabel atau lebih. Foreign Key tidak

bersifat unik dan biasanya mengacu pada primary key di tabel lain. Untuk menambah

Foreign Key dapat dilakukan dengan sintaks sebagai berikut:

ALTER TABLE nama_tabel

ADD CONSTRAINT nama_constraint

FOREIGN KEY(nama_field)

REFERENCES nama_tabel(nama_field)

Contoh:

Pada tabel Siswa terdapat Id Siswa yang berfungsi sebagai Primary Key, sedangkan pada

tabel Jadwal terdapat kolom Id_Siswa yang berfungsi sebagai Foreign Key. Id Siswa pada

tabel Jadwal merujuk pada Id Siswa yang ada pada tabel Siswa. Untuk membuat Foreign

Key dilakukan dengan sintaks sebagai berikut:

ALTER TABLE Jadwal ADD CONSTRAINT fk_jadwal_siswa FOREING KEY(id_siswa) REFERENCES Siswa(id_siswa)

c. Unique Constraint

Unique Constraint biasanya dikenal juga sebagai Alternate Key (AK), merupakan kandidat

dari primary key yang tidak terpilih menjadi primary key. Sifatnya unik, artinya hampir

tidak ada data yang sama. Untuk membuat Unique Constraint dilakukan dengan sintaks

sebagai berikut:

ALTER TABLE nama_tabel ADD CONSTRAINT nama_constraint UNIQUE(nama_field)

Contohnya:

No KTP tiap Siswa bisa dijadikan Unique Constraint dengan sintaks sebagai berikut:

ALTER TABLE siswa ADD CONSTRAINT ak_siswa UNIQUE(no_ktp)

d. Check Constraint (CK)

Modul Junior Web Programmer 39

Check Constraint berfungsi untuk membatasi penyisipan data pada suatu tabel agar

memenuhi kriteria-kriteria yang ditetapkan. Untuk membuat Constraint dilakukan dengan

sintaks sebagai berikut:

ALTER TABLE nama_tabel ADD CONSTRAINT nama_constraint CHECK (kondisi)

Contoh:

ID Siswa pada tabel Siswa harus diawali dengan S

ALTER TABLE siswa ADD CONSTRAINT ck_siswa CHECK (LEFT(kdAbsensi,1)=)

e. Default Constraint (DF)

Default Constraint berfungsi untuk memberikan nilai default pada data dalam suatu tabel.

Jika kita tidak menginisialisasikan nilai pada sebuah data maka nilai pada data tersebut

akan berisi nilai default yang ditentukan sebelumnya pada DF. Untuk membuat Default

Constraint dilakukan dengan sintaks sebagai berikut:

ALTER TABLE nama_tabel ADD CONSTRAINT nama_constraint DEFAULT nilai FOR nama_field

Contoh:

No Telp pada tabel Siswa akan berisi 0 apabila tidak diisi

ALTER TABLE Siswa ADD CONSTRAINT df_pegawai DEFAULT ‘0’ FOR no_telp

Untuk menghapus constraint-constraint yang telah dijelaskan diatas, dilakukan

dengan sintaks sebagai berikut:

ALTER TABLE nama_tabel DROP CONSTRAINT nama_constraint

Selain constraint, ada juga yang dinamakan rule. Rule adalah bentuk lain dari

Check Constraint dan merupakan sebuah obyek dalam SQL. Berikut adalah cara membuat

rule adalah sebagai berikut:

CREATE RULE nama_rule AS kondisi

Untuk menerapkan rule pada kolom yang sesuai gunakan fungsi berikut:

Exec sp_bindrule ‘nm_rule’,’nm_tabel’,’nm_kolom’

Sedangkan untuk memutuskan hubungan rule dari kolom yang bersangkutan digunakan

fungsi :

Modul Junior Web Programmer 40

Exec sp_unbindrule ’nm_tabel’,’nm_kolom’

Sedangkan untuk menghapus rule yang telah dibuat, semua kolom yang terhubung dengan

rule tersebut harus diputuskan terlebih dahulu. Sintaks :

DROP RULE nama_rule

Contoh:

ID Siswa pada tabel Siswa harus diawali dengan S

CREATE RULE ruleIDSiswa AS LEFT(@kdAbsensi,1) =’S’

sp_bindrule ‘ruleIDSiswa’, ’Siswa’, ’ID_siswa’ sp_unbindrule ’Siswa’, ’ID_siswa’ DROP RULE ruleIDSiswa

Setelah tabel selesai dibuat, kita bisa memanipulasi data didalam tabel tersebut

dengan cara memasukan, mengubah, menghapus dan melihat data tersebut. Memanipulasi

data tersebut bisa dilakukan secara langsung dengan membuka tabel-tabel tersebut atau

dengan sintaks-sintaks SQL. Apabila memanipulasi data secara langsung, maka kita cukup

membuka tabel tersebut dan langsung mengisikan data-data untuk tabel tersebut. Apabila

memanipulasi dengan menggunakan sintaks-sintaks SQL, kita harus membuat terlebih

dahulu sintaks-sintaks yang digunakan kemudian meng-execute-nya. Sintaks-sintaks yang

digunakan untuk memanipulasi data adalah:

- INSERT

Sintaks ini digunakan untuk memasukan data ke dalam tabel, sintaksnya adalah sebagai

berikut:

INSERT INTO nama_tabel (nama_field [, nama_field, ...]) VALUES (nilai [, nilai, ...])

Contoh:

Untuk memasukan data siswa Albert ke tabel siswa, dilakukan dengan membuat sintaks

sebagai berikut:

INSERT INTO Siswa (id_siswa, nama, alamat, no_ktp, no_telp, hp) VALUES (‘S000000001’, ‘Albert’, ‘Jakarta’, ‘001.284.63’, ‘5344421’, ‘0818996321’)

- UPDATE

Sintaks ini digunakan untuk mengubah data yang ada di tabel. Sintaks untuk mengubah

data adalah sebagai berikut:

Modul Junior Web Programmer 41

Untuk mengubah semua data di tabel:

UPDATE nama_tabel SET nama_field=nilai [, nama_field=nilai, ...]

Untuk mengubah data tertentu di tabel:

UPDATE nama_tabel SET nama_field=nilai [, nama_field=nilai, ...] WHERE nama_field=nilai

Contoh:

Untuk mengubah field alamat menjadi ‘Jakarta Barat’ di tabel siswa, dilakukan dengan

membuat sintaks sebagai berikut:

UPDATE Siswa SET alamat=’Jakarta Barat’

Untuk mengubah alamat siswa bernama Albert menjadi ‘Jakarta Barat’ di tabel siswa,

dilakukan dengan membuat sintaks sebagai berikut:

UPDATE Siswa SET alamat=’Jakarta Barat’ WHERE nama=’Albert’

- DELETE

Sintaks ini digunakan untuk menghapus data di tabel yang sudah ada sebelumnya,

sintaksnya adalah sebagai berikut:

Untuk menghapus semua data di tabel:

DELETE FROM nama_tabel

Untuk menghapus data tertentu di tabel:

DELETE FROM nama_tabel WHERE nama_field=nilai

Contoh:

Untuk menghapus semua data di tabel siswa, dilakukan dengan membuat sintaks sebagai

berikut:

DELETE FROM siswa

Untuk menghapus data siswa dengan nama Albert di tabel siswa, dilakukan dengan

membuat sintaks sebagai berikut:

DELETE FROM siswa WHERE nama=’Albert’

- SELECT

Sintaks ini digunakan untuk melihat data yang sudah ada di tabel, sintaksnya adalah

sebagai berikut:

SELECT nama_field [, nama_field ...]

Modul Junior Web Programmer 42

FROM nama_tabel [WHERE nama_field=nilai [ AND/OR nama_field=nilai ... ]]

Contoh:

Untuk melihat semua data yang sudah ada di tabel siswa, digunakan sintaks sebagai

berikut:

SELECT * FROM SISWA

* bisa digunakan untuk menggantikan nama-nama field apabila yang ditampilkan adalah

semua field

Untuk melihat data siswa dengan nama Albert yang sudah ada di tabel siswa, digunakan

sintaks sebagai berikut:

SELECT * FROM SISWA WHERE nama=’Albert’

Select akan dijelaskan dengan lebih detail di bagian selanjutnya.

2.5 View View adalah salah satu objek di aplikasi basis data yang berguna untuk melihat

data-data dalam tabel (bisa lebih dari satu tabel) dengan tampilan-tampilan tertentu sesuai

dengan kebutuhan. View biasa digunakan untuk menampung query untuk memperlihatkan

sebuah data tertentu yang sering digunakan, sehingga setiap kali ingin melihat data

tersebut, tidak perlu lagi dibuat query ulang, hanya cukup dengan menjalankan view

tersebut. Dengan kata lain, view merupakan query yang disimpan.

View dapat dibuat dengan menggunakan wizard, query design grid atau dengan

bahasa SQL. Membuat view dengan wizard sangat mudah. Kita tinggal memilih tabel yang

akan digunakan dan field-field yang akan ditampilkan seperti pada gambar 2. Kemudian

tekan tombol Next >, beri nama pada View tersebut seperti pada gambar 3 dan kemudian

tekan tombol Finish. Dengan mengikuti langkah-langkah tersebut kita sudah membuat

sebuah view. Untuk menjalankan view tersebut, kita tinggal meng-execute-nya saja.

Modul Junior Web Programmer 43

Gambar 2. WizardP

Gambar 3. Wizard Pembuatan View (Memasukan nama view)

Pembuatan View (Memilih tabel dan Field)

Modul Junior Web Programmer 44

Untuk membuat view dengan menggunakan query design grid, kita bisa membuat query

tanpa harus mengetahui bahasa SQL. Di dalam query design grid, kita dapat

memperlihatkan tabel basis data sumber dari query, dan memilih field-field mana yang

hendak dikembalikan oleh proses dengan mengklik dan menyeretnya ke dalam grid.

Penggabungan antara dua tabel atau lebih (join) juga bisa dilakukan dengan cara mengklik

dan menyeret field-field dalam tabel ke dalam field dalam tabel lainnya. Contoh

penggunaan query design grid bisa dilihat pada gambar 4. Setelah selesai memilih-milih

tabel dan field-field yang akan digunakan, kita tinggal menyimpan dan memberi nama view

ini.

Gambar 4. Query Design Grid

Untuk membuat view dengan menggunakan bahasa SQL, terlebih dahulu kita harus

memahami tentang sintaks SELECT, WHERE dan operasi-operasi logika yang terdapat

pada SQL. Untuk membuat view dengan menggunakan bahasa SQL, kita terlebih dahulu

harus masuk ke SQL View dan kemudian membuat query seperti pada gambar 5. Setelah

kita membuat query dengan bahasa SQL, kita tinggal menyimpannya sehingga query

tersebut dapat dijalankan kembali sewaktu-waktu sesuai dengan kebutuhan.

Modul Junior Web Programmer 45

Gambar 5. SQL View

Sintaks SELECT sudah dijelaskan sekilas pada bagian sebelumnya. Select digunakan

dengan sintaks:

SELECT nama_field [, nama_field ...] FROM nama_tabel [WHERE nama_field=nilai [ AND/OR nama_field=nilai ... ]]

Nama-nama field dapat diganti dengan * apabila yang ditampilkan adalah semua field.

WHERE pada SELECT berfungsi untuk memfilter data yang akan ditampilkan sesuai

dengan kebutuhan yang ada. WHERE disini bisa lebih dari satu filter, bisa merupakan

gabungan dari filter-filter dengan menggunakan beberapa operasi logika sebagai berikut:

- = / < / > / <= / >= / <>

Operator logika ini berfungsi untuk membandingkan nilai sebuah field dengan nilai

tertentu.

Contoh:

Untuk melihat data siswa dengan nama Albert yang sudah ada di tabel siswa, digunakan

sintaks sebagai berikut:

SELECT * FROM SISWA WHERE nama=’Albert’

Modul Junior Web Programmer 46

Untuk melihat data siswa yang tinggi badannya lebih dari 170 yang ada di tabel

Tinggi_Siswa, digunakan sintaks sebagai berikut:

SELECT * FROM Tinggi_Siswa WHERE tingg > 170

- BETWEEN

Operator logika ini berfungsi untuk membandingkan nilai sebuah field yang berada

diantara nilai tertentu.

Contoh:

Untuk melihat data siswa yang tinggi badannya antara 170 dan 180 yang ada di tabel

Tinggi_Siswa, digunakan sintaks sebagai berikut:

SELECT * FROM Tinggi_Siswa WHERE tingg between 170 and 180

- IN

Operator logika ini berfungsi untuk mendapatkan data yang nilainya sesuai dengan salah

satu nilai yang diberikan.

Contoh:

Untuk melihat data siswa yang alamatnya di Jakarta, Serpong atau Tangerang, digunakan

sintaks sebagai berikut:

SELECT * FROM Siswa WHERE alamat in (‘Jakarta’, ‘Serpong’, ‘Tangerang’)

- LIKE

Operator logika ini berfungsi untuk mendapatkan data yang nilainya seperti nilai yang

diberikan atau mengandung nilai yang diberikan.

Contoh:

Untuk melihat data siswa yang mengandung kata Putra, digunakan sintaks sebagai berikut:

SELECT * FROM Siswa WHERE nama like ‘%Putra%’

- AND dan OR

Modul Junior Web Programmer 47

Operator logika ini berfungsi apabila ada dua filter atau lebih yang akan digunakan untuk

memfilter data yang akan ditampilkan. Operator AND akan memunculkan data yang untuk

kedua filter tersebut bernilai Benar, sedangkan operator OR akan memunculkan data

apabila kedua filter bernilai Benar atau salah satunya Benar.

Contoh:

Untuk melihat data siswa yang mengandung kata Putra dan tinggal di Jakarta, digunakan

sintaks sebagai berikut:

SELECT * FROM Siswa WHERE nama like ‘%Putra%’ AND alamat=’Jakarta’

Untuk melihat data siswa yang mengandung kata Putra atau tinggal di Jakarta, digunakan

sintaks sebagai berikut:

SELECT * FROM Siswa WHERE nama like ‘%Putra%’ OR alamat=’Jakarta’

View seringkali digunakan untuk mengambil data lebih dari 1 tabel. Untuk

menggabungkan beberapa tabel digunakanlah sintaks JOIN. Join terdapat beberapa jenis

yang dapat digunakan sesuai dengan keperluannya, jenis-jenis Join tersebut adalah:

- INNER JOIN

Inner Join adalah penggabungan dua atau lebih tabel yang hanya akan menampilkan item

data yang terdapat pada semua tabel tersebut. Sintaks untuk melakukan INNER JOIN

adalah sebagai berikut:

SELECT nama_tabel_1.nama_field [,nama_tabel_2.nama_field, ...] FROM nama_tabel_1 INNER JOIN nama_tabel_2 ON nama_tabel_1.nama_field = nama_tabel_2.nama_field [WHERE nama_tabel_1.nama_field=nilai [ AND/OR nama_tabel_2.nama_field=nilai ... ]]

Nama field disebelah sintaks ON adalah nama field yang menggabungkan kedua tabel

tersebut, nama-nama field tersebut bisa berbeda dikedua tabel tersebut.

Contoh:

Data pada tabel Siswa dan tabel Jadwal seperti pada tabel 1 dan tabel 2. Untuk mengambil

data semua siswa yang mempunyai jadwal, dibuatlah query sebagai berikut:

SELECT siswa.id_siswa, siswa.nama, jadwal.hari, jadwal.jam, jadwal.ruang, jadwal.topik FROM siswa INNER JOIN jadwal ON siswa.id_siswa = jadwal.id_siswa

Modul Junior Web Programmer 48

Hasil yang ditampilkan adalah siswa yang ada di tabel Siswa dan di tabel Jadwal,

sedangkan untuk siswa yang hanya ada di salah satu tabel (misalnya S000000004 yang

hanya ada di tabel Siswa dan S000000003 yang hanya ada pada tabel Jadwal) tidak

ditampilkan, seperti pada tabel 3.

Tabel 1. Tabel Siswa

Tabel 2. Tabel Jadwal

Tabel 3. Hasil Query Inner Join

- LEFT JOIN

Left Join adalah penggabungan dua atau lebih tabel yang akan menampilkan semua item

data yang terdapat pada tabel sebelah kiri (yang disebut terlebih dahulu) walaupun item

data tersebut tidak ada di tabel sebelah kanan (yang disebut selanjutnya). Bila item data

tersebut tidak ada di sebelah kanan, maka akan diisi dengan NULL. Sintaks untuk

melakukan LEFT JOIN adalah sebagai berikut:

SELECT nama_tabel_1.nama_field [,nama_tabel_2.nama_field, ...] FROM nama_tabel_1 LEFT JOIN nama_tabel_2 ON nama_tabel_1.nama_field = nama_tabel_2.nama_field [WHERE nama_tabel_1.nama_field=nilai [ AND/OR nama_tabel_2.nama_field=nilai ... ]]

Contoh:

Data pada tabel Siswa dan tabel Jadwal seperti pada tabel 1 dan tabel 2. Untuk mengambil

data semua siswa baik yang mempunyai jadwal maupun tidak, dibuatlah query sebagai

berikut:

Modul Junior Web Programmer 49

SELECT siswa.id_siswa, siswa.nama, jadwal.hari, jadwal.jam, jadwal.ruang, jadwal.topik FROM siswa LEFT JOIN jadwal ON siswa.id_siswa = jadwal.id_siswa

Hasil yang ditampilkan adalah semua siswa yang ada di tabel Siswa baik yang ada di tabel

Jadwal maupun tidak, sedangkan untuk siswa yang ada pada tabel Jadwal saja, tidak

ditampilkan. Hasil dari query ini ditampilkan pada tabel 4.

Tabel 4. Hasil Query Left Join

- RIGHT JOIN

Right Join adalah penggabungan dua atau lebih tabel yang akan menampilkan semua item

data yang terdapat pada tabel sebelah kanan (yang disebut belakangan) walaupun item data

tersebut tidak ada di tabel sebelah kiri (yang disebut pertama). Bila item data tersebut tidak

ada di sebelah kiri, maka akan diisi dengan NULL. Right Join merupakan kebalikan dari

Left Join. Sintaks untuk melakukan RIGHT JOIN adalah sebagai berikut:

SELECT nama_tabel_1.nama_field [,nama_tabel_2.nama_field, ...] FROM nama_tabel_1 RIGHT JOIN nama_tabel_2 ON nama_tabel_1.nama_field = nama_tabel_2.nama_field [WHERE nama_tabel_1.nama_field=nilai [ AND/OR nama_tabel_2.nama_field=nilai ... ]]

Contoh:

Untuk mengambil data semua jadwal baik yang sudah ada siswanya maupun belum,

dibuatlah query sebagai berikut:

SELECT siswa.id_siswa, siswa.nama, jadwal.hari, jadwal.jam, jadwal.ruang, jadwal.topik FROM siswa RIGHT JOIN jadwal ON siswa.id_siswa = jadwal.id_siswa

Hasil yang ditampilkan adalah semua siswa yang ada di tabel Jadwal baik yang ada di

tabel Siswa maupun tidak, sedangkan untuk siswa yang ada pada tabel Siswa saja, tidak

ditampilkan. Hasil dari query ini ditampilkan pada tabel 5.

Tabel 5. Hasil Query Right Join

Modul Junior Web Programmer 50

2.5 Form Data pada tabel-tabel di basis data, dapat ditampilkan ke dalam form-form. Data

tersebut ditampilkan ke dalam form agar data ditampilkan dalam format yang lebih mudah

dilihat dan dimengerti serta dapat digunakan oleh orang-orang yang tidak mengerti akan

basis data. Sebuah tabel bisa ditampilkan pada lebih dari satu form dan sebuah form bisa

mengambil dan menyimpan data di lebih dari satu tabel. Untuk menampilkan data lebih

dari satu tabel, sebaiknya dibuat view terlebih dahulu untuk memudahkan pembuatan form.

Form bisa dibuat dengan menggunakan wizard. Membuat form dengan

menggunakan wizard cukup mudah, hanya tinggal mengikuti instruksi yang ada. Pertama-

tama buka wizard untuk membuat form pada object Form, kemudian pilih Create Form by

Using Wizard, yang akan menampilkan layar seperti pada gambar 6. Pilih tabel atau view

dan field yang akan digunakan. Urutan field-field yang akan ditampilkan di form

disesuaikan dengan urutan pemilihan field-field tersebut pada urutan selected field. Setelah

memilih tabel/view dan field, tekan Next > yang akan menampilkan gambar 7. Pada

gambar 7, pilih layout data yang akan ditampilkan di form. Bisa berbentuk kolom-kolom,

tabular, data sheet ataupun pivot. Pada contoh ini, layout dipilih Columnar. Setelah

memilih layout, tekan Next > dan akan ditampilkan pemilihan style background seperti

pada gambar 8. Pilih style dan background yang diinginkan kemudian tekan Next > dan

akan menampilkan gambar 9 untuk memasukan nama form. Masukan nama form dan

kemudian tekan Finish. Dengan mengikuti langkah-langkah tersebut terbuatlan sebuah

form yang apabila dijalankan akan menampilkan data siswa seperti pada gambar 10. Pada

saat form dijalankan, apabila dilakukan perubahan pada salah satu text maka akan langsung

tersimpan ke tabel yang bersesuaian.

Modul Junior Web Programmer 51

Gambar 6. Wizard untuk Membuat Form – Memilih Tabel dan Fields

Gambar 7. Wizard untuk Membuat Form – Memilih Layout

Modul Junior Web Programmer 52

Gambar 8. Wizard untuk Membuat Form – Memilih Style

Gambar 9. Wizard untuk Membuat Form – Memasukan Nama Form

Modul Junior Web Programmer 53

Gambar 10. Form hasil dari Wizard

Setelah form tersebut terbuat, apabila ingin mengubahnya, bisa dilakukan dengan

membuka form pada Design View, seperti pada gambar 11, yang akan membuka design

form seperti pada gambar 12.

Gambar 11. Membuka Form dengan Design View

Modul Junior Web Programmer 54

Gambar 12. Edit Form dengan Menggunakan Design View

Posisi masing-masing label dan text dapat diubah sesuai dengan keinginan.

Property masing-masing list dan text pun dapat diubah sesuai dengan keinginan, tinggal

klik kanan pada list atau text yang ingin diubah, kemudian tekan Property seperti pada

gambar 13. setelah memilih property, maka akan ditampilkan layar Property seperti pada

gambar 14 yang bisa diubah-ubah. Setelah selesai mengubah-ngubah property, tutup form

tersebut dan tekan save untuk menyimpan form. Apabila ingin menambahkan field yang

akan ditampilkan di form, bisa dimasukan dari list field-field yang tersedia.

Modul Junior Web Programmer 55

Gambar 13. Ubah Property Label dan Text

Modul Junior Web Programmer 56

Gambar 14. Layar Property

Modul Junior Web Programmer 57

2.6 Report Selain dengan menggunakan form, data dapat ditampilkan dalam bentuk report.

Tetapi data yang ditampilkan dalam bentuk report tidak bisa diubah, hanya bisa

ditampilkan dan dicetak. Report ini berguna untuk menampilkan data dengan keperluan

pelaporan dan pencetakan. Data yang ditampilkan bisa berupa data asli ataupun informasi

hasil manipulasi data. Sebuah tabel bisa ditampilkan pada lebih dari satu report dan sebuah

report bisa mengambil data di lebih dari satu tabel. Untuk menampilkan data lebih dari

satu tabel, sebaiknya dibuat view terlebih dahulu untuk memudahkan pembuatan report.

Report bisa dibuat dengan menggunakan wizard. Membuat report dengan

menggunakan wizard cukup mudah, hanya tinggal mengikuti instruksi yang ada. Pertama-

tama buka wizard untuk membuat report pada object Reports, kemudian pilih Create

Report by Using Wizard, yang akan menampilkan layar seperti pada gambar 15. Pilih

tabel atau view dan field yang akan digunakan. Setelah memilih tabel/view dan field, tekan

Next > yang akan menampilkan gambar 16. Pada gambar 16, pilih pengelompokan data

akan dilakukan berdasarkan apa. Bila data tersebut tidak ingin dikelompokan, bagian ini

bisa dilewatkan dan langsung melanjutkan ke bagian selanjutnya. Setelah memilih layout,

tekan Next > dan akan ditampilkan pemilihan urutan data yang akan ditampilkan seperti

pada gambar 17. Pilih field yang akan diurutkan dan aturan pengurutannya apakah akan

ascending atau descending. Bila data tidak ingin diurutkan, bagian ini bisa dilewatkan.

Setelah selesai, tekan Next > dan akan menampilkan gambar 18 untuk memilih format

tampilan report dan format kertas. Dalam contoh ini dipilih format laporan Tabular

sehingga data akan ditampilkan dalam bentuk kolom-kolom. Setelah itu, tekan tombol

Next > untuk memilih style tampilan yang akan digunakan seperti pada gambar 19,

kemudian tekan tombol Next >. Kemudian masukan judul report seperti pada gambar 20

dan tekan Finish. Setelah mengikuti langkah-langkah ini, maka akan dibuatlah sebuah

report seperti pada gambar 21.

Modul Junior Web Programmer 58

Gambar 15. Layar Report Wizard - Memilih Tabel

Gambar 16. Layar Report Wizard - Memilih Group

Modul Junior Web Programmer 59

Gambar 17. Layar Report Wizard - Memilih Sort

Gambar 18. Layar Report Wizard - Memilih Tampilan Report

Modul Junior Web Programmer 60

Gambar 19. Layar Report Wizard - Memilih Style

Gambar 20. Layar Report Wizard - Memasukan Judul Report

Modul Junior Web Programmer 61

Gambar 21. Layar Report Wizard - Memilih Tabel

Setelah report tersebut terbuat, apabila ingin mengubahnya, bisa dilakukan dengan

membuka report pada Design View, seperti pada gambar 22, yang akan membuka design

report seperti pada gambar 23.

Modul Junior Web Programmer 62

Gambar 22. Layar untuk Memilih Design View Report

Gambar 23. Layar Design View Report

Judul report dapat diubah sesuai dengan keinginan dan field-field yang dimasukan ke

report pun bisa diubah-ubah, hanya cukup menghapus dan memasukan field-field yang

ingin ditampilkan.

Modul Junior Web Programmer 63

2.7 Modul Masih berkaitan dengan form, beberapa fungsi-fungsi umum yang biasa digunakan

oleh beberapa form disimpan ke dalam modul. Tujuan dari modul ini agar fungsi-fungsi

yang sering digunakan di form-form tidak perlu ditulis ulang berkali-kali. Hanya cukup

ditulis satu kali di dalam modul. Contoh fungsi-fungsi umum yang biasa digunakan adalah

fungsi untuk menghitung penjumlahan 2 bilang, fungsi untuk mengkonversi format

tanggal dan waktu serta masih banyak lagi yang lainnya.

Cara untuk membuat modul adalah dengan memilih objects Modules dan memilih

New seperti pada gambar 24, maka akan dimunculkan layar seperti pada gambar 25.

Gambar 24. Cara Membuat Modul

Modul Junior Web Programmer 64

Gambar 25. Layar Modul

Di bawah Option Compare Database itulah kita bisa memasukan fungsi-fungsi yang akan

kita gunakan. Sintaks fungsi tersebut adalah sebagai berikut:

[ACCESS IDENTIFIER] JENIS FUNGSI nama_fungsi ([nama_paramater as tipe paramter [, ...]]) [as tipe parameter] Instruksi 1 Instruksi 2 Instruksi 3 ... END JENIS FUNGSI

Keterangan sintaks:

- ACCESS IDENTIFIER

ACCESS IDENTIFIER bisa berisi Public atau Private. Sintaks Public digunakan agar

fungsi ini bisa digunakan oleh form-form yang lain. Sedangkan sintaks Private digunakan

agar fungsi ini hanya bisa digunakan oleh fungsi-fungsi yang ada di modul. Apabila

ACCESS IDENTIFIER tidak dicantumkan maka secara default fungsi tersebut akan dibuat

Public.

- JENIS FUNGSI

JENIS FUNGSI bisa berupa Function atau Sub. Function digunakan apabila Sintaks

Function digunakan agar fungsi yang dibuat bisa mengembalikan nilai, sedangkan sintaks

Sub digunakan apabila fungsi yang dibuat tidak mengembalikan nilai.

Modul Junior Web Programmer 65

Contohnya kita akan memasukan fungsi menghitung 2 bilangan, kita tinggal

menambahkan fungsi ini didalam modul tersebut:

Public Function HitungBilangan(Bilangan1 As Double, Bilangan2 As Double) HitungBilangan = Bilangan1 + Bilangan2 End Function

Fungsi ini dibuat public agar bisa digunakan di form-form di luar modul

tersebut dan jenisnya dipilih Function karena fungsi ini mengembalikan nilai berupa

penambahan dua bilangan yang dimasukan. Setelah menambahkan fungsi-fungsi dalam

modul, tekan Save untuk menyimpan modul dan masukan nama modul tersebut.

Setelah modul tersebut selesai dibuat, untuk menggunakannya tinggal

menambahkan event pada object di form (object bisa beruba text atau label atau yang

lainnya). Caranya sama seperti mengubah propery text, tinggal klik kanan pada list atau

text yang ingin diubah, kemudian tekan Build Event seperti pada gambar 13.

Contohnya, buatlah sebuah form baru dengan 3 buah text didalamnya. Text

pertama berjudul Bilangan Pertama dengan nama textbox text 2, text kedua berjudul

Bilangan Kedua dengan nama textbox text 4 dan text ketiga berjudul Jumlah dengan nama

textbox text6. Klik kanan pada textbox4 dan pilih Build Event untuk membuat event di

textbox text6. Pilih Builder untuk membuat event seperti pada gambar 26, dalam contoh ini

dipilih Code Builder. Kemudian masukan sintaks dibawah ini untuk memanggil fungsi

yang sudah disimpan di modul. Setelah dimasukan sintaks ini, tekan Save.

Private Sub Text4_AfterUpdate() Text6 = HitungBilangan(Text2, Tex4) End Sub

Gambar 26. Contoh Form Menggunakan Modul

Modul Junior Web Programmer 66

Gambar 27. Memilih Builder untuk Event

Setelah itu, kita coba jalankan form tersebut, apabila text Bilangan kedua berubah, maka

secara otomatis akan dimunculkan penjumlahan kedua bilangan tersebut.

Untuk menggunakan fungsi dari modul ini di report, kita akan membuat contoh fungsi

CariHari seperti dibawah ini:

Public Function CariHari(Tanggal As Date) As String If Weekday(Tanggal) = 1 Then CariHari = "Minggu" Elseif Weekday(Tanggal) = 2 Then CariHari = "Senin" Elseif Weekday(Tanggal) = 3 Then CariHari = "Selasa" Elseif Weekday(Tanggal) = 4 Then CariHari = "Rabu" Elseif Weekday(Tanggal) = 5 Then CariHari = "Kamis" Elseif Weekday(Tanggal) = 6 Then CariHari = "Jumat" Elseif Weekday(Tanggal) = 7 Then CariHari = "Sabtu" End If End Function

Kita akan menggunakan fungsi ini di report untuk menampilkan nama hari dari tanggal

absensi seperti pada report di gambar 21. Cara untuk memasukan fungsi tersebut ke dalam

report adalah sebagai berikut:

1. Klik kanan pada text hari di report, kemudian pilih Property seperti pada gambar 28.

Property text akan ditampilkan seperti pada gambar 29.

Modul Junior Web Programmer 67

Gambar 28. Property pada text di Report

Modul Junior Web Programmer 68

Gambar 29. Property Text pada Report

2. Ganti Control Source pada text tersebut dengan cara menekan tombol ... pada sebelah

kanan Control Source sehingga akan ditampilkan gambar 30. Di bagian bawah, bagian

sebelah kiri adalah kelompok object yang terdapat dalam basis data kita, mulai dari

tabel, view, form, report dan fungsi-fungsi dalam modul. Di bagian tengah berisi

object-object sesuai dengan kelompok object yang dipilih pada bagian kiri. Dan

bagian kanan berisi property-property atau fungsi-fungsi yang ada pada object yang

dipilih di bagian tengah.

Modul Junior Web Programmer 69

Gambar 30. Expression Builder untuk Control Source Text

3. Dibagian kiri, pilih Functions – nama database (dalam contoh ini db1). Di text tengah

akan dimunculkan nama-nama modul yang ada di database dan di sebelah kiri akan

dimunculkan fungsi-fungsi yang ada pada modul tersebut. Pilih fungsi CariHari. Fungsi

CariHari ini membutuhkan parameter <<tanggal>>. Kita akan isi tanggal tersebut

dengan text Tanggal, caranya dengan dibagian kiri, pilih Report, Loaded Report, nama

Report yang kita gunakan (dalam contoh ini Absensi). Kemudian dibagian tengah akan

muncul semua object yang digunakan, pilih Tanggal dan di bagian kanan pilih

<<Value>> sehingga ditampilkan expression sebagai berikut: CariHari ( [Tanggal] )

Kemudian tekan OK

Gambar 31. Expression Builder menggunakan fungsi pada Modul

Modul Junior Web Programmer 70

4. Setelah itu, apabila kita menjalankan report kita, kolom Hari akan diisi sesuai dengan

hasil dari fungsi CariHari tersebut.

Modul Junior Web Programmer 71

DASAR-DASAR BASIS DATA

3.1 Tujuan Instruksional Umum o Siswa mampu menceritakan dan menjelaskan bagaimana merancang dan

menggunakan basis data.

o Siswa dapat menerapkan teknik pemodelan.

o Siswa dapat mengintegrasikan konsep pemodelan data dengan tools.

3.2 Tujuan Instruksional Khusus o Siswa dapat mengetahui apa sebenarnya yang dimaksud dengan DBMS (Database

Management System).

o Siswa mampu melakukan perancangan basis data.

o Siswa mampu mengidentifikasi kebutuhan yang akan digunakan untuk pemodelan

data.

o Siswa mampu membuat diagram dan kamus data.

o Siswa mengetahui dan mampu mengidentifikasi tools yang sesuai untuk

mengimplementasikan pemodelan.

o Siswa mampu mengimplementasikan pemodelan data dengan tools yang

digunakan.

o Siswa dapat mengidentifikasi kebutuhan komputer yang sesuai dengan platform

basis data.

o Siswa mampu melakukan backup dan restore pada aplikasi basis data.

Bab

3

Modul Junior Web Programmer 72

3.3 Sekilas Tentang File-based system. File-based system adalah kumpulan program-program aplikasi yang

menyediakan layanan untuk end Users. Setiap program mendefinisikan dan mengatur

datanya masing-masing. Adapun keterbatasan dari File-based system adalah :

1. Data terpisah-pisah dan terisolasi

- Setiap program mengatur datanya masing-masing

- User dari program yang satu tidak dapat menggunakan data/program yang lain

2. Duplikasi data

- Data yang sama terdapat pada program yang berbeda

- Pemborosan ruang penyimpanan dan kemungkinan terjadi format yang berbeda

untuk data yang sama

3. Ketergantungan data

4. Ketidaksesuaian format file

- Program ditulis dalam bahasa yang berbeda sehingga tidak mudah untuk

mengakses data yang satu dengan yang lainnya

5. Program aplikasi dengan query/pengembangan terbatas

- Program dibuat untuk mendukung fungsi-fungsi tertentu

- Kebutuhan baru yang muncul, memerlukan program baru pula

3.4 DBMS (Database Management System) Setelah sebelumnya kita mengetahui tentang File-based system, selanjutnya kita

akan membahas mengenai Database Management System (DBMS). Sebelumnya akan

diberikan sedikit penjelasan tentang Database (basis data).

Database adalah kumpulan rlasi Logical dari data yang dapat digunakan bersama

dan dibuat untuk memperoleh informasi yang dibutuhkan oleh perusahaan. Sedangkan

DBMS adalah sistem software yang memungkinkan User untuk mendefinisikan, membuat,

dan memelihara Database serta menyediakan kontrol akses untuk Database ini. Adapun

komponen-komponen DBMS adalah

1. Data

- Data pada sebuah sistem Database baik itu single-User system maupun

multi-User system harus terintegrasi dan dapat digunakan bersama.

2. Hardware

Modul Junior Web Programmer 73

- Penyimpanan secondary (magnetic disk, CD), device controller, I/O

Channels, dan lainnya.

- Hardware processor dan main memory, digunakan untuk mendukung saat

ekseskusi system software Database.

3. Software

- DBMS, sistem operasi, network software (jika diperlukan) dan program

aplikasi pendukung lainnya.

4. Users

- Application Programmers, bertanggung jawab membuat aplikasi Database

dengan menggunakan bahasa pemrograman yang ada.

- End Users, siapapun yang berinteraksi dengan sistem secara online.

- Data Administrator, bertanggung jawab membuat keputusan strategis dan

kebijakan mengenai data yang ada.

- Database Administrator, bertanggung jawab atas keseluruhan kontrol

sistem pada level teknis.

Keuntungan DBMS.

1. Penggunaaan data bersama

2. Mengurangi kerangkapan data

3. Menghindari ketidakkonsistenan data

4. Integritas data terpelihara

5. Keamanan terjamin

6. Kebutuhan User yang kompleks dapat teratasi

7. Pelaksanaan standarisasi

8. Meningkatkan produktivitas

9. Layanan backup semakin baik

Kerugian DBMS.

1. Rumit

2. Memerlukan tempat penyimpanan dan memory yang besar

3. Biaya mahal

Pemilihan DBMS

Pemilihan DBMS yang sesuai akan mendukung Database application.

Modul Junior Web Programmer 74

Perancangan Logical Database design yang dilakukan sebelumnya menyediakan

informasi yang cukup berharga dalam menentukan system requirements.

Langkah utama dalam pemilihan DBMS:

1. Definisikan waktu untuk melakukan studi referensi

2. Catat dua atau tiga produk yang akan dievalusi untuk digunakan

3. Evaluasi produk tersebut

4. Rekomendasikan produk yang dipilih dan buat report yang mendukungnya.

Fitur-Fitur Evaluasi DBMS

Modul Junior Web Programmer 75

3.5 Sekilas Tentang Pemodelan Data Data model adalah kumpulan konsep-konsep yang terintegrasi untuk menggambarkan

data, hubungan antar data, dan batasan-batasan data pada suatu organisasi. Data model

digunakan untuk merepresentasikan data ke dalam bentuk yang lebih mudah untuk

dipahami serta menetapkan konsistensi dalam memandang, mengorganisir,

menginterpretasikan dan memperlakukan basis data.

Tujuan utama data modelling :

– Memahami maksud dari data;

– Memudahkan komunikasi untuk memahami kebutuhan informasi.

Membuat data model membutuhkan jawaban dan pertanyaan tentang entities,

Relationships, dan Attributes.

3.6 Database Application Lifecycle. Database application lifecycle merupakan komponen mendasar suatu sistem

informasi, dimana pengembangan/pemakaiannya harus dilihat dari perspektif yang lebih

luas berdasarkan kebutuhan organisasi.

Modul Junior Web Programmer 76

Database application lifecycle terdiri dari Perencanaan Database.

1. Definisi Sistem.

2. Analisa dan Pengumpulan Kebutuhan.

3. Perancangan Database.

4. Perancangan Aplikasi.

5. Prototyping (optional).

6. Implementasi.

7. Data Conversion and Loading.

8. Testing.

9. Operational Maintenance.

3.6.1 Perencanaan Database

Merupakan aktivitas manajemen yang memungkinkan tahapan dari Database application

lifecycle direalisasikan se-efektif dan se-efisien mungkin. Perencanaan Database harus

trerintegrasi dengan keseluruhan strategi sistem informasi dari organisasi. Terdapat 3 hal

pokok yang berkaitan dengan strategi sistem informasi yaitu :

Identifikasi rencana dan sasaran dari enterprise termasuk mengenai sistem informasi

yang dibutuhkan

Evaluasi sistem informasi yang ada untuk menetapkan kelebihan dan kekurangan

yang dimiliki

Penaksiran kesempatan IT yang mungkin memberikan keuntungan kompetitif

Metodologi dalam perencanaan Database :

Mendefinisikan tujuan utama dari aplikasi Database

Mengidentifikasi tugas khusus yang harus didukung oleh Database

Bagaimana data akan dikumpulkan

Bagaiamana menspesifikasikan format/bentuk data

Dokumentasi penting apa yang diperlukan

Bagaimana desain dan implementasi harus dilakukan

Modul Junior Web Programmer 77

3.6.2 Definisi Sistem

Yaitu menjelaskan batasan-batasan dan cakupan dari aplikasi Database dan sudut

pandang (User view) yang utama.

3.6.3 Analisa dan Pengumpulan Kebutuhan Database

Suatu proses pengumpulan dan analisa informasi mengenai bagian organisasi yang

didukung oleh aplikasi Database, dan menggunakan informasi tersebut untuk identifikasi

kebutuhan User akan sistem yang baru. Informasi dikumpulkan untuk setiap User view

utama meliputi :

1. Deskripsi data yang digunakan / dihasilkan

2. Detail mengenai bagaiamana data digunakan/dihasilkan

3. Beberapa kebutuhan tambahan untuk aplikasi Database yang baru

Informasi dianalisa untuk identifikasi kebutuhan agar disertakan dalam aplikasi Database

yang baru. Aktifitas penting lainnya adalah menentukan bagaimana mengatur aplikasi

Database dengan multiple uer view (Manajer, Supervisor, dll), yaitu :

Pendekatan Terpusat

Kebutuhan untuk setiap User view digabungkan menjadi sekumpulan kebutuhan.

Sebuah global data model dibuat berdasarkan penggabungan kebutuhan (dimana

merepresentasikan seluruh User view)

Pendekatan Integrasi View

Kebutuhan untuk setiap User view digunakan untuk membangun model data terpisah

untuk merepresentasikan User view tersebut. Hasil dari model data tersebut nantinya

digabungkan dalam tahapan desain Database.

Kombinasi Keduanya

Multiple User View

Modul Junior Web Programmer 78

Gambar Multiple User View

Fact Finding Techniques.

Penting untuk mendapatkan fakta (fact) yang diperlukan untuk membuat/membangun

Database application yang diperlukan. Fakta (fact) didapatkan menggunakan fact-finding

techniques. Proses formal yang digunakan pada teknik tersebut meliputi interview dan

questionnaire untuk mengumpulkan fakta (fact) mengenai sistem, requirements, dan

preferences.

Fact-finding digunakan pada seluruh Database application lifecycle. Terutama pada tahap

awal Database planning, system definition, dan requirements collection serta tahap

analysis. Memungkinkan developer belajar mengenai terminology, masalah (problem),

(kesempatan) opportunities, Constraints, requirements, dan prioritas organization dan

Users sistem. Database developer menggunakan beberapa teknik fact-finding dalam mengerjakan suatu

proyek Database, yang terdiri dari :

Examining documentation

Digunakan untuk :

Memperoleh beberapa pengertian akan kebutuhan Database yang dibuat;

Mengidentifikasi bagian dari organisasi yang terkait dengan suatu masalah;

Memahami sistem yang ada saat ini.

Modul Junior Web Programmer 79

Interviewing

Umumnya digunakan dan berguna pada fact-finding technique.

Memungkinkan mengumpulkan informasi dari tiap individu secara langsung.

Memperoleh, memeriksa, menjelaskan fakta, menimbulkan semangat

keterlibatan end-User, identifikasi kebutuhan, mengumpulkan ide dan opini

end-User.

Dua tipe interview : Tidak terstruktur dan terstruktur.

Modul Junior Web Programmer 80

Open-ended questions memungkinkan pihak yang diinterview memberikan

tanggapan yang sesuai dari pertanyaan yang diajukan.

Closed-ended questions membatasi jawaban dengan pilihan tertentu atau

berupa jawaban singkat dengan tanggapan langsung.

Observing Organization in Operation

Teknik yang efektif untuk memahami sistem. Mungkin untuk dilakukan oleh

orang yang terlibat langsung atau mengamati untuk mempelajari suatu sistem.

Berguna saat data yang valid dikumpulkan melalui pertanyaan atau saat aspek

yang rumit dari suatu sistem dicegah User untuk diterangkan dengan jelas.

Research

Berguna untuk menyelidiki aplikasi dan masalahnya. Menggunakan computer

trade journals, buku referensi dan internet (termasuk User groups dan bulletin

boards).Menyediakan informasi bagaimana orang/pihak lain mengatasi

masalah yang samadan apakah ada paket software yang tersedia untuk

mengatasi keseluruhan atau sebagian masalah tersebut.

Modul Junior Web Programmer 81

Questionnaires

Melakukan survei dengan menggunakan questionnaires – dokumen khusus

untuk megumpulkan fakta dari sejumlah orang dengan menetapkan

pengendalian atas jawaban mereka. Dua tipe pertanyaan, free-format dan

fixed-format.

Contoh Kasus : The Dream House Case Study

♦ Overview

- Dreamhouse adalah perusahaan property management, sebagai perantara antara

owner dan client

- Tiap branch memiliki staff, termasuk Manager dan Assistant

Modul Junior Web Programmer 82

- Tiap branch menawarkan property untuk disewa

- Property yang mau disewakan diregister dahulu

- Client yang akan menyewa property diregister dahulu

- Client yang sudah diregister akan mendapatkan report mingguan berupa daftar

property yang dapat disewa

- Client boleh meminta untuk melihat property yang akan disewa

- Client memutuskan menyewa property yang diinginkan dan staff memproses

transaksinya

♦ Database Planning

- Memelihara data yang digunakan dan digunakan untuk menunjang bisnis

penyewaan property bagi client dan owner dan memudahkan koordinasi dan

berbagi informasi antar cabang.

- Memelihara data Branch, Staff, Property fo rent,Property owner, Client, Property

viewing, Lease dan Newspaper advert

- Melakukan pencarian data Branch, Staff, Property fo rent, Property owner, Client,

Property viewing, Lease dan Newspaper advert

- Menelusuri data Property for rent, Client yang akan menyewa dan Lease

- Membuat laporan dari data Branch, Staff, Property fo rent, Property owner,Client,

Property viewing, Lease dan Newspaper advert

♦ System Definition

Mengidentifikasi Multiple User View

- Manager, Supervisor, Assistant

♦ Requirement Collection and Analysis

Mengumpulkan informasi User view

Property Sales HRM

Customer Service

Payroll

Staff

Property Advertising

Property Rentals

Marketing

Modul Junior Web Programmer 83

- Tipe data apa yang diperlukan

- Apa yang akan dilakukan terhadap data tersebut

Mengumpulkan informasi system requirement

- Transaksi apa yang rutin dilakukan

- Transaksi apa yang penting dalam bisnis tersebut

- Kapan terjadinya transaksi dengan frekwensi rendah, sedang dan tinggi

- Tipe sekuriti apa yang digunakan untuk mengamankan aplikasi

♦ System Specification

Feature apa saja yang diperlukan dalam aplikasi

♦ System Requirements

- Database size

- Database rate of growth

- Tipe dan jumlah record

- Networking and shared access search

- Performance, Security, Back up & Recovery, Legal issue

♦ Database Design

- Conceptual Design

Entity, Relationship, Attribute, Domain, Primary Key, Foreign Key

- Logical Design

Validasi Relationship menggunakan normalisasi, Integrity constraint

- Physical Design

Analisa transaksi, file organization, indexes, disk space requirement, security

3.6.4 Perancangan Database

Merupakan suatu proses pembuatan sebuah desain Database yang akan

mendukung tujuan dan operasi suatu enterprise. Tujuan utamanya adalah :

1. Merepresentasikan data dan Relationship antar data yang dibutuhkan oleh seluruh

area aplikasi utama dan User group

2. Menyediakan model data yang mendukung segala transaksi yang diperlukan pada

data

3. Menspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi

kebutuhan performa yang ditetapkan pada sistem.

Modul Junior Web Programmer 84

Pendekatan dalam perancangan Database :

Top-Down

Dimulai dengan membuat data model. Pendekatan Top-down dapat diilustrasikan

menggunakan Entity-Relationship (ER) model, dimulai dengan

mengidentifikasikan entity dan Relationship antar entity organisasi. Pendekatan ini

sesuai bagi Database yang kompleks.

Bottom-Up

Dimulai dari level dasar Attribute (properti entity dan Relationship), menganalisa

hubungan antar Attribute, mengelompokannya dalam suatu relasi yang

menggambarkan tipe entity dan relasi antara entity. Pendekatan ini sesuai bagi

Database dengan jumlah Attribute yang sedikit.

Inside Out

Berhubungan dengan pendekatan bottom-up tetapi sedikit berbeda dengan

identifikasi awal entitas utama dan kemudian menyebar ke entitas, Relationship

dan atribut terkait lainnya yang lebih dulu diidentifikasi.

Mixed

Menggunakan pendekatan top-down dan bottom-up.

Tiga tipe Database desain :

Conseptual Database design

mendeskripsikan data apa yang disimpan dalam Database dan relasi antar data

Logical Database design

bagaimana data disimpan dalam Database (struktur data, organisasi file)

Physical Database design

Proses menghasilkan deskripsi untuk disimpan dalam secondary storage.

3.6.5 Merancang Aplikasi

Desain interface User dan program aplikasi yang menggunakan dan memproses

Database. Fungsi dari aplikasi ini adalah untuk memanggil data untuk ditampilkan di

layar, menghasilkan suatu laporan, menambah, menghapus atau memodifikasi data yang

sudah ada di dalam basis data.

Modul Junior Web Programmer 85

3.6.6 Prototyping

Membuat model kerja suatu aplikasi Database. Tujuan utama dari pembuatan

prototyping adalah :

a. Mengidentifikasi feature dari sistem yang berjalan dengan baik atau tidak

b. Memberikan perbaikan atau penambahan feature baru

c. Klarifikasi kebutuhan User

d. Evaluasi feasibilitas (kemungkinan yang akan terjadi) dari desain sistem khusus

Terdapat 2 strategi prototyping yang digunakan saat ini yaitu :

1. Requirements prototyping,menggunakan prototype untuk menentukan kebutuhan dari

aplikasi Database yang diinginkan dan ketika kebutuhan itu terpenuhi maka protoytype

akan dibuang.

2. Evolutionary prototyping, digunakan untuk tujuan yang sama. Perbedaannya prototype

tidak dibuang tetapi dengan pengembangan kelanjutan menjadi apliakasi Database

yang digunakan.

3.6.7 Implementasi

Merupakan realisasi fisik dari Database dan rancangan aplikasi.

3.6.8 Data Conversion and Loading

Pemindahan data yang ada ke dalam Database baru dan mengkonversikan aplikasi

yang ada agar dapat digunakan pada Database yang baru. Tahapan itu dibutuhkan ketika

sistem Database baru menggantikan sistem yang lama. DBMS biasanya memiliki utilitas

yang memanggil ulang file yang sudah ada ke dalam Database baru.

3.6.9 Testing

Suatu proses eksekusi program aplikasi dengan tujuan untuk menemukan

kesalahan. Dengan menggunakan strategi tes yang direncanakan dan data yang

sesungguhnya. Pengujian hanya akan terlihat jika terjadi kesalahan software.

Mendemonstrasikan Database dan program aplikasi terlihat berjalan seperti yang

diharapkan.

Modul Junior Web Programmer 86

3.6.10 Operational Maintenance

Suatu proses pengawasan dan pemeliharaan sistem setelah instalasi meliputi :

Pengawasan performa sistem

Pemeliharaan dan pembaruan aplikasi Database (jika dibutuhkan)

Penggabungan kebutuhan baru ke dalam aplikasi Database

3.7 Normalisasi Adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-sifat

(properties) yang diinginkan, memenuhi kebutuhan data pada enterprise. Bentuk normal

yang biasa digunakan adalah 1NF (First Normal Form), 2NF (Second Normal Form) dan

3NF (Third Normal Form). Akan tetapi bentuk normal tidak hanya sebatas sampai 3NF

saja. Normalisasi digunakan sebagai langkah awal dalam perancangan Database.

3.7.1 UNF

Merupakan suatu tabel yang berisikan satu atau lebih groups yang berulang.

Membuat tabel UNF yaitu dengan memindahkan data dari sumber informasi (Form) ke

dalam format tabel.

3.7.2 1NF

Merupakan sebuah relasi dimana setiap irisan antara baris dan kolom berisikan satu

dan hanya satu nilai. Langkah-langkah UNF ke 1NF :

Tunjuk satu atau sekumpulan atribut sebagai kunci (primary Key) untuk tabel UNF

Identifikasikan groups yang berulang dalam tabel UNF yang berulang untuk kunci

atribut.

Hapus group yang berulang dengan cara :

1. Masukkan data yang semestinya ke dalam kolom yang kosong pada baris yang

berisikan data yang berulang.

2. Menggantikan data yang ada dengan copy dari kunci atribut yang sesungguhnya ke

dalam relasi terpisah

Modul Junior Web Programmer 87

3.7.3 2NF

Merupakan sebuah relasi dalam 1NF dan setiap atribut non primary Key bersifat

fully functionally dependent pada primary Key. Langkah-langkah 1NF ke 2NF :

Identifikasikan primary Key untuk relasi 1NF

Identifikasikan functional dependencies salam relasi

Jika terdapat partial dependencies terhadap primary Key, maka hapus dengan

menempatkannya dalam relasi yang baru bersama dengan salinan determinannya

3.7.4 3NF

Sebuah relasi dalam 1Nf dan 2NF dan dimana tidak terdapat atribut non-primary-

Key atribut yang bersifat transitif dependent pada primary Key. Langkah-langkah 2NF ke

3NF :

Identifikasikan primary Key pada relasi 2NF

Identifikasikan functional dependencies dalam relasi

Jika terdapat transitif dependencies terhadap primary Key, hapus dengan

menempatkannya dalam relasi yang baru bersama dengan salinan determinannya

Contoh Normalisasi.

YEL-YEL Fitness & Café adalah sebuah fitness center yang cukup ternama di

wilayah Jakarta. Fitness center ini memiliki banyak instruktur terlatih dan peralatan fitness

yang sangat lengkap. Selain itu, YEL-YEL Fitness & Café juga menyediakan sebuah Café

yang dapat digunakan sebagai tempat beristirahat maupun tempat bersantai yang menjual

berbagai makanan dan minuman. Fungsi bisnis yang terdapat pada YEL-YEL Fitness &

Café mencakup: Transaksi Pendaftaran Member, Transaksi Pembelian Peralatan Fitness,

Transaksi Penjualan pada Café dan Transaksi Pembelian Bahan Baku Café.

Proses Pendaftaran Member

Untuk menikmati fasilitas yang disediakan oleh YEL-YEL Fitness & Café, hal

pertama yang harus dilakukan adalah melakukan registrasi member, dengan mengisi form

registrasi member. Pada saat registrasi, calon member dapat memilih jenis member yang

diinginkan. Jenis member yang tersedia terdiri dari VIP member dan Reguler member. VIP

member memiliki iuran bulanan sebesar Rp. 500.000,- dan diskon sebesar 15%.

Modul Junior Web Programmer 88

Sedangkan Reguler member memiliki iuran bulanan sebesar Rp. 300.000,- dan diskon

sebesar 10%. Calon member juga dapat memilih instruktur yang mereka inginkan untuk

membimbingnya dalam latihan. Biaya pendaftaran sebesar Rp.50.000,-. Pendaftaran dan

pembayaran iuran dapat dilakukan pada bagian kasir.

Form

Soal.

Buatlah 1NF, 2NF dan 3NF!

Jawab :

UNF

TrPendaftaran = noPendaftaran + tanggal + biaya + namaMember + jenisKelamin +

alamat + noTelp + namaJenisMember + iuranPerBulan + namaInstruktur + namaBagian +

namaKaryawan

1NF

TrPendaftaran = @noPendaftaran + tanggal + kodeMember + namaMember +

jenisKelamin + alamat + noTelp +kodeJenisMember + namaJenisMember +

iuranPerBulan + namaInstruktur + kodeBagian + namaBagian + kodeKaryawan +

namaKaryawan

Modul Junior Web Programmer 89

2NF

TrPendaftaran = @noPendaftaran + tanggal + kodeMember + namaMember +

jenisKelamin + alamat + noTelp +kodeJenisMember + namaJenisMember +

iuranPerBulan + namaInstruktur + kodeBagian + namaBagian + kodeKaryawan +

namaKaryawan

3NF

TrPendaftaran = @noPendaftaran + tanggal + kodeMember + kodeKaryawan

MsMember = @kodeMember + namaMember + jenisKelamin + alamat + noTelp +

kodeJenisMember + kodeInstruktur

MsJenisMember = @kodeJenisMember + namaJenisMember + iuranPerBulan

MsInstruktur = @kodeInstruktur + namaInstruktur

MsKaryawan = @kodeKaryawan + namaKaryawan + kodeBagian

MsBagian = @kodeBagian + namaBagian

3.8 Entity Relationship Diagram (ERD)

Entity Types :

Entity type

Group objects yang memiliki properti yang sama, mengidentifikasikan enterprises

sebagai independent existence.

Tiap entity diidentifikasikan dengan nama dan propertinya

Entity occurrence

Mengidentifikasikan secara unik object dari tipe entity.

Nama entity berupa singular noun, sedangkan nama Relationship berupa verb dan

sebaiknya unik.

Modul Junior Web Programmer 90

Relationship Types :

Relationship type

Kumpulan dari suatu hubungan yang memiliki arti diantara tipe-tipe entity.

Relationship occurrence

Mengidentifikasikan secara unik suatu hubungan, yang melibatkan tiap tipe entity

yang berpartisipasi

Attributes.

Adalah property dari entity.

Attribute Domain

Kumpulan nilai yang diizinkan bagi satu atau beberapa Attribute.

Misal : room number (rooms) yang merupakan Attribute entity PropertyForRent dapat diisi

dengan nilai integer antara 1 dan 15

Simple Attribute

Attribute yang terdiri atas single component dengan independent existence.

Misal : Attribute position dan salary pada entity Staff

Composite Attribute

Attribute yang terdiri atas multiple components, masing-masing dengan

independent existence.

Misal : Attribute address pada entity Branch

Modul Junior Web Programmer 91

(163 Main St, Glasgow, G11 9QX)

(street, city, postcode)

Single-valued Attribute

Attribute yang menampung single value untuk tiap tipe entity.

misal : entity Branch mempunyai single value untuk Attribute branchNo (misal :

B003)

Multi-valued Attribute

Attribute yang menampung multiple values untuk tiap tipe entity.

misal : entity Branch mempunyai multiple value untuk

Attribute telNo (misal : branchNo B003 memiliki telpNo

0141-339-2578 dan 0141-339-4439)

Derived Attribute

Attribute yang menggambarkan suatu nilai yang berasal dari nilai Attribute yang

terkait, atau kumpulan Attribute (tidak memiliki arti penting dalam satu tipe entity

yang sama).

misal : Attribute deposit pada entity Lease, nilai Attribute tersebut merupakan

perkalian dua dari nilai Attribute rent pada entity

PropertyForRent).

Keys

Candidate Key

Kumpulan Attributes yang secara unik mengidentifikasikan tiap tipe entity. occurrence of

an entity type.

Primary Key

Candidate Key yang dipilih untuk mengidentifikasi tiap tipe entity secara unik.

Composite Key

Candidate Key yang terdiri dari 2 atau lebih Attribute.

Modul Junior Web Programmer 92

Structural Constraints.

Tipe utama constraint dalam Relationships disebut multiplicity. Multiplicity – jumlah (atau

range) kejadian yang mungkin dari tipe entity yang terkait dengan satu kejadian dari

serangkaian tipe entity pada suatu Relationship tertentu. Menggambarkan kebijaksanaan

(business rules) yang dibuat oleh User atau company.

Degree Relationship yang umum adalah binary. Binary Relationships secara umum terdiri

atas :

one-to-one (1:1)

one-to-many (1:*)

many-to-many (*:*)

Modul Junior Web Programmer 93

Multiplicity disusun atas 2 tipe peembatasan Relationships:

Cardinality

Mendeskripsikan jumlah maksimum dari Relationship yang mungkin bagi entity yang

berpatisipasi dalam suatu tipe Relationship.

Participation

Memastikan apakah semua atau hanya beberapa entity yang berpartisipasi dalam suatu

relasi.

Modul Junior Web Programmer 94

Rancangan Database Conceptual

Proses konstruksi model informasi dengan menggunakan sumber dari perusahaan secara

independen.

Gambar Contoh Rancangan Database Conceptual

Rancangan Database Logical.

Proses konstruksi model informasi dengan menggunakan spasifik model basis data

perusahaan ( relasional), tapi tidak tergantung kebutuhan DBMS dan pertimbangan

physical.

Modul Junior Web Programmer 95

Gambar Contoh Rancangan Database Logical

Modul Junior Web Programmer 96

3.9 Faktor Kesuksesan Rancangan Database. • Kemungkinan bekerja secara interactively dengan Users.

• Kelengkapan mengikuti seluruh proses metodologi pembangunan model data.

• Kelengkapan penggunaan pendekatan data-driven.

• Pertimbangan Sturktur perusahaan dan kendala integrity kedalam model data.

• Pengkombinasian conceptualization, normalization, dan teknik validasi transaksi

kedalam metodologi pemodelan data.

3.10 Kamus Data Membangun kamus data :

Identifikasi tipe entity

Mengidentifikasi tipe entity yang terutama dibutuhkan oleh view.

Identifikasi tipe Relationship

Mengidentifikasi hubungan penting yang terjadi antara entiti yang telah

diidentifikasi.

Mengidentifikasi dan menggabungkan Attributes pada tiap entity atau relasi

Mengidentifikasi dan menggabungkan Attributes yang dibutuhkan entity atau

relasi, dan mendokumenkan setiap Attribute secara details.

Menentukan domain Attribute

Menentukan domains Attributes dalam model konseptual lokal dan

mendokumentasikan secara detai setiap domain.

Contoh Kamus Data Relationship Yang Mendeskripsikan Relatioship

Modul Junior Web Programmer 97

Contoh Kamus Data Entity Yang Mendeskripsikan Entity

Contoh Kamus Data Attribute Yang Mendeskripsikan Attribute

3.11 Implementasi Dengan Tools Berikut ini adalah langkah-langkah mengimplementasikan perancangan data

model ke dalam tools (Microsoft SQL Server 2000):

1. Nyalakan Service Manager pada Microsoft SQL Server 2000.

Modul Junior Web Programmer 98

2. Bukalah program Enterprise Manager pada Microsoft SQL Server 2000

3. Buatlah Database baru dengan cara klik kanan tulisan Database pada Enterprise

Manager kemudian pilih New Database.

Modul Junior Web Programmer 99

4. Isikan nama Database pada field ‘Name’ kemudian klik OK

5. Explore Database Anda kemudian klik kanan nama Database yang telah Anda buat

sebelumnya. Kemudian pilih New -> Table.

Modul Junior Web Programmer 100

6. Isi nama kolom, tipe data, dan panjang karakter yang diijinkan. Kolom diisi

berdasarkan dari rancangan Database yang telah Anda buat.

7. Jika telah diisi semua, maka klik tanda silang di pojok kanan atas (kedua dari atas),

maka akan muncul warning, klik Yes.

Modul Junior Web Programmer 101

8. Beri nama tabel kemudian klik OK.

9. Ulangi langkah 5 sampai 8 sampai Anda memasukkan semua tabel dalam Database

rancangan Anda (yang terdapat pada ERD Anda).

Modul Junior Web Programmer 102

10. Setelah selesai semua, klik kanan nama Database Anda dan pilih New -> Database

Diagram

11. Klik Next.

12. Pilih tabel-tabel yang akan Anda bikin relasi. Klik Add. Jika sudah, klik Next

kemudian Finish maka layar akan tampil seperti berikut.

Modul Junior Web Programmer 103

13. Jika sudah terhubung, klik tanda silang di sebelah kanan atas (kedua dari atas).

Kemudian akan muncul warning “Do You Want To Save changes to diagram

‘Diagram 1’?”. Klik Yes dan berikan nama Database Diagram kemudian klik OK.

14. Jika Anda ingin mengisi tabel-tabel, explore Database Anda, klik tables kemudian

kilk kanan nama tabel yang akan Anda isi, pilih Open Table dan Return all rows.

Modul Junior Web Programmer 104

15. Isikan data-data pada kolom yang tersedia.

3.12 Mekanisme Backup dan Restore Database.

3.12.1 Backup Database

Berikut ini adalah langkah-langkah yang dilakukan pada backup Database :

Modul Junior Web Programmer 105

1. Buka Enterprise Manager. Kemudian klik kanan Database-> All Tasks > Backup

Database.

2. Pilih Database yang akan Anda backup kemudian klik Add dan tentukan lokasi tempat

penyimpanan. Jika sudah, klik Ok,kemudian OK. Jika sukses, akan muncul tulisan

sepert berikut ini.

Modul Junior Web Programmer 106

3.12.2 Restore Database

Berikut ini adalah langkah-langkah yang dilakukan pada restore Database :

1. Buka Enterprise Manager. Kemudian klik kanan Database-> All Tasks > Restore

Database.

2. Tentukan nama Database yang akan direstore. Pilih From device, Select Device,

kemudian Add. Pilih lokasi Database yang pernah Anda backup. Klik OK. Jika

berhasil, akan muncul dialog box seperti berikut.

3.13 Monitor dan Tunning Sistem Operasional Memonitor sistem operasional dan meningkatkan unjuk kerja sistem pada

keputusan perancangan atau direfleksikan pada perubahan kebutuhan. Tidak semua DBMS

menyediakan fitur-fitur untuk memonitor dan tunning Database. Salah satu DBMS yang

Modul Junior Web Programmer 107

menyediakan fitur tersebut adalah Oracle. Berikut ini adalah keuntungan-keuntungan dari

tunning Database :

• Dapat menghindari penambahan hardware yang tidak dibutuhkan.

• Dapat menurunkan kebutuhan konfigurasi hardware, sehingga membuat biaya lebih

rendah dan memudahkan perawatan.

• Menghasilkan sistem dengan response time yang cepat dan lebih baik throughputnya

membuat User lebih produktif.

• Dengan response time yang cepat membuat moral staf lebih tinggi (senang).

• Dengan response time yang cepat membuat customer puas atas pelayanan

Modul Junior Web Programmer 108

DOKUMEN HTML

4.1 Tujuan Instruksional Umum o Siswa mampu menjelaskan penggunaan HTML dalam dokumen.

o Siswa mampu membuat dokumen dengan HTML sesuai spesifikasi.

o Siswa dapat menyelesaikan persoalan-persoalan yang muncul pada saat.

pembuatan dokumen dengan HTML.

4.2 Tujuan Instruksional Khusus o Siswa dapat mengetahui apa sebenarnya yang dimaksud dengan HTML dan

penggunaannya.

o Siswa dapat mengidentifikasi penggunaan bahasa HTML dan syarat

penggunaannya

o Siswa dapat merancang dan membuat dokumen dengan HTML sesuai

persyaratan pengguna.

o Siswa dapat melakukan konfigurasi ulang pada HTML dokumen yang tidak

berjalan dengan baik.

4.3 Sekilas Tentang HTML Sebelum membahas tentang bagaimana membuat dokumen dengan HTML, terlebih

dahulu diketahui apa sebenarnya yang dimaksud dengan HTML.

HTML adalah singkatan dari Hyper Text Markup Language. HTML merupakan

bahasa (kode-kode) yang digunakan untuk membuat halaman web. HTML bukanlah

bahasa pengaturan seperti C, C++ atau Pascal, ia lebih kepada bahasa yang menetapkan

corak paparan dokumen. Jika anda menggunakan Internet Explorer atau Netscape

Navigator anda dapat melihat kode-kode halamannya dengan right-click dan memilih

menu View Source.

Bahasa HTML ini ditulis dengan menggunakan teks editor seperti Windows

Notepad, Ms-Edit, dan file di simpan menggunakan extensi .htm ataupun .html. Browser

HTML seperti Internet Explorer atau Netscape Navigator akan menterjemahkan kode-kode

Bab

4

Modul Junior Web Programmer 109

html dan membuat paparan seperti apa yang telah dikodekan. Anda juga dapat membuat

halaman web dengan menggunakan HTML Editor seperti Netscape Composer, Ms-Word

97 ataupun Microsoft FrontPage. Walapun demikian, terdapat kelebihan serta kekurangan

jika anda menggunakan HTML Editor yang disebutkan.

Mengapa saya perlu belajar HTML?

Walaupun pada zaman yang canggih ini terdapat banyak Editor HTML WSYWIG

seperti Microsoft FrontPage, Netscape Composer dan Microsoft Word 97, adakalanya

terdapat beberapa keadaan yang tidak dapat dibiarkan. Masalah-masalah yang kerap

berlaku seperti gambar yang tidak muncul, link yang mengarah ke arah lain dan beberapa

masalah-masalah lain yang akan terjadi pada HTML Editor anda sendiri. Kadangkala

masalah ini terjadi setelah anda meng-upload halaman-halaman anda ke Internet.

Jadi, untuk menyelesaikan masalah-masalah ini, anda memerlukan sedikit banyak

pengetahuan mengenai bahasa HTML. Apa yang dilakukan sebenarnya oleh Microsoft

FrontPage atau Netscape Composer ialah menuliskan kode-kode HTML untuk anda.

Caranya sama jika anda menulis kode sendiri dengan menggunakan Notepad.

Disamping itu ada juga HTML Editor yang tidak optimum, ia menulis kode-kode yang

tidak perlu secara berlebihan dan memungkinkan file HTML anda menjadi terlalu besar,

mengambil waktu yang lama untuk di download.

Anda juga boleh bergerak selangkah lebih dari orang lain. Ini karena, apabila

perusahaan-perusahaan seperti Microsoft atau Netscape mengeluarkan browser HTML

4.4 Sekilas Tentang Pembuatan Dokumen dengan HTML

Perlukah saya tersambung ke internet untuk membuat homepage?

Anda tidak perlu tersambung ke Internet ketika membuat homepage. Anda hanya

perlu menyediakan file-file html dan disimpan dalam direktori komputer anda dengan

menggunakan Microsoft FrontPage, Netscape Composer ataupun Windows Notepad dan

file disimpan dengan ekstensi .htm atau .html. Apabila selesai, sambungkan ke Internet

anda, upload file-file tersebut ke Internet (web hosting).

Apa yang perlu saya ketahui?

Selain Internet Explorer dan Netscape Navigator, terdapat banyak lagi browser

HTML yang dapat digunakan untuk menjelajah Internet. Oleh kerana browser HTML ini

Modul Junior Web Programmer 110

dicipta oleh perusahaan-perusahaan yang berlainan, penterjemahan bahasa HTML oleh

setiap web browser berbeda antara satu sama lain. Sebagai contoh, paparan sesuatu

halaman web melalui Netscape Navigator tidak sama dengan paparan melalui Internet

Explorer. Walaupun demikian dalam tutorial ini anda akan diajarkan menggunakan fungsi-

fungsi global yang dapat digunakan oleh semua browser HTML. Tetapi, untuk membuat

halaman yang bagus terdapat keadaan di mana anda perlu mengetahui apakah fungsi

tersebut di dukung dalam sesuatu web browser atau tidak.

Apa yang perlu saya miliki?

Untuk mengikuti tutorial ini, anda hanya memerlukan teks editor seperti Windows

Notepad dan browser HTML seperti Internet Explorer. Perlu diingatkan disini bahwa

Microsoft Word dan WordPad bukanlah teks editor yang asli, beberapa penambahan yang

tidak kelihatan telah dilakukan kepada file jenis doc dan wri.

Sebaiknya anda mempunyai 3 browser HTML. Internet Explorer 3, Internet

Explorer 4 dan Netscape Navigator 4. Ini bertujuan supaya anda dapat mencoba halaman

yang anda buat pada 3 browser yang berlainan.

4.5 Bentuk Umum HTML

Dibawah ini ada contoh/bentuk umum dari sebuah dokumen HTML yang akan terlihat

pada waktu kita membukanya dengan menggunakan Text Editor atau NotePad:

<HTML> <TITLE>Contoh Homepage</TITLE> <BODY>Hallo apa kabar?<BR> Mudah-mudahan kabarnya Baik. </BODY> </HTML>

Dari contoh diatas jika anda membuka file ini dengan menggunakan MicroSoft Internet

Browser atau Netscape, anda hanya akan melihat tulisan:

Hallo apa kabar?

Mudah-mudahan kabarnya Baik.

Kode-kode html terdiri dari tag-tag. Setiap huruf yang terkandung di dalam '<' dan '>'

dinamakan tag. Dalam contoh di atas anda telah diperkenalkan dengan tag.

Modul Junior Web Programmer 111

• <HTML> dan </HTML> • <HEAD> dan </HEAD> • <BODY> dan </BODY>

Permulaan tag diletakkan dengan <nama tag> dan penutup tag diletakkankan dengan

</nama tag>. Perhatikan tanda '/' yang berada di depan nama penutup tag. Tag-tag ini

diperlukan karena menunjukkan bahwa dokumen itu adalah dokumen html dan akan

dibaca oleh browser HTML anda. Tanda '/' atau "</>" menandakan akhir perintah tag,

entah itu untuk </HEAD>, </TITLE> dsb. Perlu diingat bahwa nama dalam tag tidaklah

case sensitive.

Jika ada Pembuka, harus ada Penutupnya juga! Keterangan:

• <HTML>Pembuka/Awal setiap membuat suatu dokumen HTML.

• </HTML>Penutup/Akhir dari suatu dokumen HTML.

• <TITLE>Tag Pembuka untuk Judul Halaman/dokumen HTML.

• </TITLE>Tag Penutup untuk Judul Halaman/dokumen HTML.

• <BODY>Tag Awal dari Apa yang akan diketikan/diisi pada Dokumen HTML.

• </BODY>Tag Penutup dari isi dokumen HTML.

• <BR> Tag untuk memisahkan satu baris menjadi dua baris

Yang harus diingat adalah:

Apa yang kita ketikan di NotePad dengan yang akan ditampilkan sebagai suatu dokumen

di Internet akan kelihatan beda.

Mengapa perlu pembuka dan penutup tag?

Untuk menjawab pertanyaan tersebut, lihatlah contoh kedua.

<html> <head></head> <body> <b>Ini adalah</b> halaman <i>pertama</i> saya. </body> </html> Akan keluar hasil seperti berikut: Ini adalah halaman pertama saya

Terdapat 2 perubahan yaitu kata-kata "Ini adalah" telah ditebalkan (bold) dan perkataan "pertama" telah dimiringkan (italic). Ini terjadi karena kata-kata "Ini adalah" tersebut

Modul Junior Web Programmer 112

berada di antara tag <b> dan </b> (<b> untuk bold) dan perkataan "pertama" berada di antara tag <i> dan </i> (<i> untuk italic). Saya mau kata-kata tersebut ditebalkan dan dimiringkan!

Untuk menjawab persoalan tersebut, lihatlah contoh ketiga.

<html> <head></head> <body> <b><i>Ini adalah halaman pertama saya</i></b> </body> </html> Akan keluar hasil seperti berikut:

Ini adalah halaman pertama saya

Apa gunanya tag head?

Untuk menjawab persoalan tersebut, lihatlah contoh keempat.

<html> <head> <title> Mari Belajar HTML </title> </head> <body> <b>Ini adalah</b> halaman <i>pertama</i> saya. </body> </html> Apabila anda melihat dokumen ini dengan menggunakan browser HTML anda. Anda

mungkin tidak melihat adanya perubahan. Tetapi jika anda teliti, perkataan "Mari Belajar

HTML" akan kelihatan pada title bar browser html anda. Ini gunanya tag <head>, di

antara tag <head> ini anda letakkan tag-tag yang mempunyai fungsi khas. Terdapat

banyak lagi fungsi-fungsi khas yang akan anda pelajari kemudian.

Modul Junior Web Programmer 113

Anak panah menunjukkan title bar

4.6 Pemformatan Teks Terdapat banyak cara untuk memformat teks. Pemformatan teks ini seperti bold,

italic, subscript, superscript yang biasa anda lakukan dengan menggunakan Microsoft

Word atau Word Perfect bisa juga dilakukan dalam dokumen html tetapi dengan cara

berbeda. Pada bagian ini terdapat contoh contoh cara pemformatan teks yang akan

diterangkan. Jika anda biasa menggunakan Microsoft Word maka tidak akan ada masalah

untuk menggunakan formatan teks seperti di bawah.

Untuk memformat teks seperti bold, italic, subscript atau superscript pada halaman

html, tag-tag berikut digunakan:

<b>….</b> Teks yang berada diantara tag disebelah akan diboldkan

<blink>....</blink>

Menjadikan kata-kata yang berada diantara tag itu berkelip-kelip. Perhatian!, jika anda mengelipkan keseluruhan teks, maka teks itu akan susah dibaca!. Disamping itu, tag blink ini didukung oleh Netscape Navigator saja.

<i>....</i> Teks ini akan dimiringkan.

<sub>....</sub>

Teks di dalam tag ini akan disubscriptkan.

<sup>....</sup>

Teks di dalam tag ini akan disuperscriptkan.

<u>....</u> Teks ini akan digarisbawahkan.

Modul Junior Web Programmer 114

<cite>....</cite>

<code>....</code>

<em>....</em>

<kbd>....</kbd>

<samp>....</samp>

<strong>....</strong>

<var>....</var>

<big>....<big> <small>....</s

mall> <tt>....</tt>

Kesemua tag-tag ini mempunyai fungsi pemformatan yang tersendiri. Anda dapat mencoba tag-tag tersebut untuk membedakan fungís masing-masing tag.

Font Teks

Jika anda mengerti cara menggunakan Microsoft Word, anda pasti bisa

menggunakan berbagai macam font pada dokumen Word anda. HTML juga bisa

menggunakan font yang bermacam-macam. Caranya adalah dengan penggunaan tag

<font>...</font>. Tag font ini tidak akan berfungsi tanpa penggunaan fungsi face.

----------------------------------------------------------------------- <font face="Arial, Times New Roman, Lucida Sans"> kata-kata ini telah ditentukan font nya</font> -----------------------------------------------------------------------

Jika anda perhatikan, terdapat 3 nilai untuk fungsi face. Ini bermaksud, jika

komputer pengunjung itu tidak mempunyai font Arial, maka browser pengunjung akan

mencari font Times New Roman, jika tidak ada maka Lucida Sans akan menjadi

penggantinya. Kalau ketiga-tiga jenis font itu tidak ada, maka browser akan menggantinya

dengan apa yang dianggap pantas. Tidak ada batas untuk font yang boleh diletakkan. Jika

anda tidak meletakkan fungsi face maka font yang digunakan akan ditetapkan oleh

configurasi komputer pengunjung.

Modul Junior Web Programmer 115

Warna Teks

Untuk menjadikan teks berwarna, fungsi color digunakan pada tag <font>.

Terdapat 256 warna yang dapat digunakan untuk mewarnai kata-kata. Lihat contoh di

bawah.

----------------------------------------------------------------------- <font color="#FF0000">baris ini berwarna merah</font> -----------------------------------------------------------------------

Warna dalam html dapat diklasifikasikan menjadi 3 warna dasar yaitu merah, hijau

dan biru. warna-warna tersebut jika dicampurkan akan menghasilkan warna-warna yang

lain. Sistem nomor heksadecimal digunakan untuk mewakili warna-warna tersebut.

Sebagai contoh, untuk menjadikan teks halaman anda sebagai warna putih, maka

nilai #FFFFFF digunakan pada fungsi text. 2 huruf pertama dari 6 huruf di atas mewakili

warna merah, 2 huruf di tengah mewakili warna hijau dan 2 huruf terakhir mewakili

warna biru.

Tabel warna dasar bilangan heksadesimal.

Color Hexadecimal Color Hexadecimal Black #000000 Blue #0000FF Olive #808000 Lime #00FF00 White #FFFFFF Fuchsia #FF00FF Green #008000 Maroon #800000 Red #FF0000 Gray #808080 Teal #008080 Purple #800080 Yellow #FFFF00 Silver #COCOCO Navy #000080 Aqua #00FFFF

Bagian-bagian yang dapat diwarnai adalah:

• Latar belakang Homepage

• Teks

• Link

• Link yang telah digunakan

• Latar belakang table

• Border table

• Font

Disamping itu Netscape Navigator serta Internet Explorer telah menggunakan satu

cara khas untuk penggunaan warna-warna. Anda tidak perlu menggunakan nomor-nomor

Modul Junior Web Programmer 116

untuk menentukan warna yang dikehendaki, sebaliknya nomor-nomor ini telah digantikan

dengan kata-kata untuk memudahkan anda.

Tag-tag yang berkaitan

Tag <body>

Fungsi

• bgcolor - untuk mewarnai background halaman anda • text - untuk mewarnai semua teks. Perlu diingat bahwa teks yang berada di area tag <font> dan pengaktifan fungsi color tidak dipengaruhi oleh fungsi ini. • link - untuk menjadikan warna link lain dari yang telah ditetapkan oleh browser. • vlink - untuk menjadikan warna link yang telah digunakan berbeda dari yang telah ditetapkan oleh browser.

Contoh <body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#800080">

Tag <font>

Fungsi • color - untuk mewarnai semua huruf yang berada dalam area tag <font>

Contoh <font color="#000000">

Tag <table>

Fungsi • bgcolor - warna latar belakang table • bordercolor - warna untuk border.

Contoh <table bgcolor="#800080" bordercolor="#FFFFFF">

Ukuran Teks

Untuk menjadikan ukuran teks lebih besar atau lebih kecil dari biasa. Anda dapat

menggunakan fungsi size pada tag font.

Contoh:

Modul Junior Web Programmer 117

-----------------------------------------------------------------------

<font size=4>Baris ini berukuran 4</font> -----------------------------------------------------------------------

Terdapat 1 hingga 7 nilai ukuran yang dapat digunakan untuk fungsi size ini dan

nilai 1 merupakan ukuran yang paling kecil. Ukuran header / topik juga dapat dirubah

dengan menggunakan tag <h1…h6>, tetapi penggunaan header berlawanan dengan font

size, yaitu h1 sampai h6 dimana h1 adalah ukuran yang paling besar hingga h6 yang paling

kecil. Selain itu, pada tag header tulisan dengan sendirinya sudah menjadi tebal, atau sudah

di boldkan

Bagaimana cara memulai baris baru?

Untuk memulai baris baru, anda dapat menggunakan tag <br>. Jika anda

meletakkan tag ini, memiliki fungsi seperti menekan tombol Enter pada Microsoft Word.

Contoh:

----------------------------------------------------------------------- Baris pertama<br>Teks ini akan dimulai pada baris berikutnya. Bagaimana cara membuat rata tengah?

Untuk merata tengahkan, anda perlu menggunakan tag <center>...</center>. Tag

center ini berfungsi untuk menengahkan apa saja yang berada di dalamnya, seperti gambar,

table, teks dan lain-lain. Contoh:

----------------------------------------------------------------------- <center>Teks ini berada di tengah</center> -----------------------------------------------------------------------

Paragraf

Untuk memformatkan paragraf anda dapat menggunakan tag <p>...</p>. Letakkan

<p> pada permulaan paragraf dan </p> diakhir paragraf. Browser HTML secara otomatis

akan membuat jarak antar paragraf pertama dan kedua, dan paragraf baru akan dimula

dengan baris baru. Contoh:

--------------------------- <p> Ini adalah paragraf pertama untuk teks ini. </p> <p> Ini adalah paragraf kedua untuk teks ini. </p>

Modul Junior Web Programmer 118

-------------------------- Untuk menjajarkan paragraf anda rata kiri atau ke kanan, anda dapat menggunakan

fungsi align. Untuk menjajarkan paragraf anda rata kiri anda letakkan nilai left atau bila

ingin merata kanankan, letakkan nilai right.

--------------------------- <p align=left> Ini adalah paragraf pertama untuk teks ini, dan dibuat rata kiri. </p> <p align=right> Ini adalah paragraf kedua untuk teks ini dan dibuat rata kanan. </p> --------------------------

Bagaimana cara memasukkan special character?

Special character adalah huruf-huruf yang tidak terdapat pada keyboard komputer

anda. Untuk menuliskan special karakter anda perlu menggunakan cara lain. Huruf-huruf

seperti © harus ditype dengan menggunakan &copy; dan browser pengunjung akan

menerjemahkan &copy; kepada ©. Di bawah merupakan contoh beberapa spesial character

yang dapat digunakan dalam pembuatan HTML:

Hasil Keterangan Karakter Istimewa Nomor Karakter Istimewa © ® ™ & « » ˝ < > * :

Copyright Registered trademark Trademark Non-breaking space ampersand angle quotation mark (left) angle quotation mark (right) tanda kutip lebih kecil lebih besar tanda kali tanda bagi

&copy; &reg; &nbsp; &amp; &laquo; &raquo; &quot; &lt; &gt; &times; &divide;

&#169; &#174; &#8482; &#161; &#38; &#171; &#187; &#34; &#60; &#61; &#215; &#247;

4.7 List HTML

List merupakan bentuk umum yang biasa kita gunakan untuk membuat daftar

sesuatu, misalnya jenis-jenis list dalam HTML:

• List dengan nomor

• List tanpa nomor

Modul Junior Web Programmer 119

• List definisi

List dengan nomor adalah model daftar yang setiap itemnya diberi nomor. Pada

contoh list diatas merupakan contoh penggunaan list tanpa nomor.

Selain list bernomor dan tanpa nomor, ada sebuah list lagi yang dapat digunakan

untuk membuat list yang memberi uraian terhadap suatu item dalam daftar, disebut list

definisi

Ordered List

Ordered list / List bernomor secara umum dimulai dengan menggunakan 1,2,3...,

dst sampai dengan sejumlah item dalam list tersebut. Tetapi, kita juga dapat merubah

susunan nomor dalam OL dengan model angka yang lain dengan mengisi atribut type pada

tag <ol>.

Berikut adalah nilai-nilai yang dapat digunakan untuk mengubah penomoran

dalam ordered list:

Type Arti

I Ditampilkan dengan menggunakan angka Romawi huruf besar

I Ditampilkan dengan menggunakan angka Romawi huruf Cecil

A Diubah dengan menggunakan abjad huruf kecil

A Diubah dengan menggunakan abjad huruf besar

Selain atribut type, ada juga atribut start, digunakan untuk mendefinisikan nomor

awal yang akan digunakan pada ordered list. Jika ingin menggunakan list dari nomor 7

maka berikut adalah contoh penggunaannya <ol start=7>...</ol>

Contoh ini menunjukkan berbagai jenis ordered list yang berbeda: <!—Coba_orderedlist.html--> <html> <body> <h4>Numbered list:</h4> <ol> <li>Apples</li> <li>Bananas</li> <li>Lemons</li> <li>Oranges</li>

Modul Junior Web Programmer 120

</ol> <h4>Letters list:</h4> <ol type = “A”> <li>Apples</li> <li>Bananas</li> <li>Lemons</li> <li>Oranges</li> </ol> <h4>Roman numbers list:</h4> <ol type= ”I”> <li>Apples</li> <li>Bananas</li> <li>Lemons</li> <li>Oranges</li> </ol> </body> </html>

Unordered List

Unordered list sering disebut sebagai bulleted list, mempunyai bullet default berupa

noktah. Tetapi, jenis bullet tersebut dapat diubah dengan menggunakan atribut type seperti

pada ordered list. Berikut adalah daftar jenis bullet yang bisa digunakan untuk mengubah

bullet default pada bulleted list.

• Disc, bentuk noktah tetapi tidak diarsir di tengahnya

• Square, bentuk kotak.

Berikut contoh berbagai jenis unordered list.

<!--Coba_unorderedlist.html--> <html> <body> <h4>Disc bullets list:</h4> <ul type=”disc”> <li>Apples</li> <li>Bananas</li> <li>Lemons</li> <li>Oranges</li> </ul> <h4>Square bullets list:</h4> <ul type=”square”>

Modul Junior Web Programmer 121

<li>Apples</li> <li>Bananas</li> <li>Lemons</li> <li>Oranges</li> </ul> </body> </html> Nested List

Bullet dapat digunakan secara bersarang, maksudnya bahwa di dalam list ada list

lagi. Contoh ini akan mendemonstrasikan bagaimana membuat nested list.

<!--Coba_nestedlist.html--> <html> <body> <h4>A Nested List:</h4> <ul> <li>Coffe</li> <li>Tea</li> <ul> <li>Black Tea</li> <li>Green Tea</li> </ul> <li>Milk</li> </ul> </body> </html> Definition List

Adalah list yang digunakan untuk memberikan uraian pada sebuah list. Contoh

berikut akan menunjukkan sebuah definition list:

<!--Coba_definitionlist.html <html> <body> <h4>A Definition List:</h4> <dl> <dt>Coffe</dt> <dd>Black hot drink</dd> <dt>Milk</dt> <dd>White cold drink</dd>

Modul Junior Web Programmer 122

</dl> </body> </html>

4.8 Image HTML Gambar di dalam suatu web page merupakan sebuah daya tarik bagi pengunjung

suat web site. Umumnya web site dilengkapi dengan gambar-gambar untuk membuat

orang tertarik untuk melihat dan membaca isi yang ada di suatu web site. Umumnya

browser web dapat menampilkan iniline image (yaitu, gambar yang disajikan bersamaan

dengan teks), yang mempunyai format X Bitmap (XBM), GIF, atau JPEG. Format-format

gambar lain juga ada yang digabukangkan ke dalam browser web [misalnya: format PNG

(Portable Network Graphic)]. Setiap gambar akan membutuhkan waktu tambahan untuk di

download dan memperlambat penampilan suatu dokumen dalam browser. Karenanya hati-

hatilah memilih gambar dan menyertakannya ke dalam suatu dokumen.

Untuk menyertakan sebuah inline image dalam dokumen web anda digunakan tag

<img src=”namaimage.jpg/gif/jpeg/xbm”> dengan namaimage adalah URL dari file image

tersebut.

Image Adjustment

Dengan melihat contoh di bawah, kita akan dapat menyesuaikan image dengan

ukuran yang berbeda-beda.

<!--Coba_imageadjust.html--> <html> <body> <p> <img src=”.../images/test_image.gif” width=”20” height=”20”> </p> <p> <img src=”.../images/test_image.gif” width=”45” height=”45”> </p> <p> <img src=”.../images/test_image.gif” width=”70” height=”70”> </p> <p> Kamu dapat membuat sebuah gambar menjadi lebih besar atau lebih kecil dengan merubah nilai “height” dan “width” dalam sebuah tag <img> </p> </body>

Modul Junior Web Programmer 123

</html> Image Sebagai Suatu Link

Dengan melihat contoh di bawah, kita akan mengetahui bagaimana cara membuat

image sebagai suatu link.

<!--Coba_imagelink.html--> <html> <body> <p> Kamu juga dapat menggunakan sebuah image sebagai suatu link. <a href=”lastpage.htm”> <img border=”0” src=”buttonnext.gif” width=”65” height=”38”> </a> </p> </body> </html>

Pembuatan image sebagai suatu link merupakan alternatif dari link-link yang

biasanya dibuat dalam bentuk list atau teks biasa, tujuannya agar dengan gambar suatu

menu dapat terlihat lebih interaktif dan langsung dapat memberi gambaran tentang apa

yang didapat jika memilih menu tersebut.

Background Image

Suatu image juga dapat digunakan sebagai latar belakang selain warna latar

belakang. Contoh berikut akan memaparkan cara pemasangan image sebagai background:

<!--Coba_backgroundimage.html--> <html> <body background=”.../images/spiderman3.jpg”> <p> Kamu dapat mengisi tampilan latar belakang dengan image. </p> </body> </html>

4.9 Tabel HTML Tabel digunakan dalam penyajian data dalam bentuk kolom dan baris. Umumnya

setiap kolom menunjukkan data yang sejenis, dan setiap baris yang terdiri atas kolom-

kolom menunjukkan kelompok data dalam satu kesatuan.

Sebuah tabel umumnya mempunyai judul, tempat anda menjelaskan kolom/baris

yang dilibatkan. Baris untuk informasi, dan sel untuk setiap itemnya. Pada tabel berikut,

Modul Junior Web Programmer 124

kolom pertama berisi informasi header, setiap baris menjelaskan sebuah tag tabel HTML,

dan setiap sel berisi sebuah pasangan tag atau penjelasan dari fungsi tag.

Elemen-elemen Tabel

Elemen Penjelasan <table>...</table> <caption>...</caption> <tr>...</tr> <th>...</th> <td>...</td>

Mendefiniskan sebuah tabel dalam HTML. Jika atribut broder dituliskan, maka browser akan menampilkan tabel dengan border. Mendefinisikan tulisan untuk judul tabel. Posisi default dari judul adalah ditengah pada bagian paling atas tabel. Atribut align=”bottom’ dapat digunakan untuk menempatkan judul pada bagian bawah tabel. Catatan: Judul dapat diberi tag apa saja. Menspesifikasikan sebuah baris tabel dalam tabel. Anda dapat mendefinisikan atribut untuk seluruh baris: align (left,center,right) dan/atau valign (top,middle,bottom). Mendefinisikan sel header tabel. Secara default teks dalam sel ini ditebalkan dan ditampilkan ditengah. Mendefinisikan sebuah sel data tabel. Secara default teks dalam sel ini ditampilkan rata kiri, dan ditengah secara vertikal. Sel data tabel dapat berisi atribut untuk mendefinisikan karakterisiktik dari sel dan isinya.

Atribut Tabel

Catatan: Atribut yang didefinisikan dalam <th>...</th> atau <td>...</td> akan

menggantikan alignment default yang didefiniskan dalam <tr>...</tr>

Elemen Penjelasan align={left | center | right} valign={top | middle | bottom} colspan=n rowspan=n nowrap

Alignment horisontal untuk sel Definisi alignment vertikal dalam sel Jumlah n kolom sel diperlebar Jumlah n baris sel diperbesar Matikan wrapping dalam sel

Contoh ini mendemonstrasikan bagaimana membuat tabel dalam sebuah dokumen

HTML.

<!—Coba_tabel.html--> <html> <body> <p>Setiap tabel dimulai dengan sebuah tag table. Setiap baris dimulai dengan sebuah tag tr. Setiap data dimulai dengan sebuah tag td.

Modul Junior Web Programmer 125

</p> <h4>Satu kolom:</h4> <table border=”1”> <tr> <td>100</td> </tr> </table> <h4>Satu baris dan tiga kolom:</h4> <table border=”1”> <tr> <td>100</td> <td>200</td> <td>300</td> </tr> </table> <h4>Dua baris dan dua kolom:</h4> <tr> <td>100</td> <td>200</td> </tr> <tr> <td>300</td> <td>400</td> </tr> </table> </body> </html>

Catatan:

Jumlah baris tabel ditentukan dengan banyaknya <tr>...</tr> yang dituliskan dalam

elemen tabel, dari <table>...</table>

Jumlah kolom dalam tabel ditentukan dengan banyaknya <td>...</td> di dalam

setiap definisi baris, dari <tr>...</tr> Setiap baris dalam tabel akan mempunyai jumlah

kolom yang berbeda.

Border Tabel

Border sebuah tabel dapat ditentukan dalam atribut border=”n” dalam tag <table>

semakin besar nilai n, maka semakin tebal border sebuah tabel yang akan dihasilkan.

Apabila nilai n diisi dengan “0” maka sebuah tabel akan menjadi tabel tanpa border.

Header

Contoh berikut akan menjelaskan cara penggunaan header tabel.

<!--Coba_tabelheader.html-->

Modul Junior Web Programmer 126

<html> <body> <h4>Table headers:</h4> <table border=”1”> <tr> <th>Name</th> <th>Telephone</th> <th>Telephone</th> </tr> <tr> <td>Bill Gates</td> <td>555 77 854</td> <td>555 77 855</td> </tr> <h4>Vertical headers:</h4> <table border=”1”> <tr> <th>Name:</th> <td>Bill Gates</td> </tr> <tr> <th>Telephone:</th> <td>555 77 854</td> </tr> <tr> <th>Telephone:</th> <td>555 77 855</td> </tr> </table> </body> </html> Colspan dan Rowspan

Contoh berikut akan mendemonstrasikan bagaimana mendefinisikan sel tabel yang dilebarkan lebih dari satu baris atau satu kolom. <!--Coba_tabelspan.html--> <html> <body> <h4>Cell that spans two columns:</h4> <table border=”1”> <tr> <th>Name</th> <th colspan=”2”>Telephone</th> </tr> <tr> <td>Bill Gates</td> <td>555 77 854</td> <td>555 77 855</td> </tr> <h4>Cell that spans two rows:</h4>

Modul Junior Web Programmer 127

<table border=”1”> <tr> <th>Name:</th> <td>Bill Gates</td> </tr> <tr> <th rowspan=”2”>Telephone:</th> <td>555 77 854</td> </tr> <tr> <td>555 77 855</td> </tr> </table> </body> </html> Tag di dalam suatu Tabel

Contoh berikut akan mendemonstrasikan bagimana menampilkan elemen lain di

dalam tabel.

<!--Coba_tabeltag.html--> <html> <body> <table border=”1”> <tr> <td> <p>Sebuah paragraf</p> <p>Paragraf lain</p> </td> <td>Sel ini mengandung sebuah tabel: <table border=”1”> <tr> <td>A</td> <td>B</td> </tr> <tr> <td>C</td> <td>D</td> </tr> </table> </td> </tr> <tr> <td>Sel ini mengandung list <ul> <li>Apples</li> <li>Bananas</li> <li>Pineapple</li> </ul> </td>

Modul Junior Web Programmer 128

<td> </td> </tr> </table> </body> </html> Cellpadding dan Cellspacing

Cellpadding adalah atribut di dalam tag <table> yang berfungsi untuk

menambahkan jarak spasi dari antara sel dan bordernya misal: <table border=”1”

cellpadding=”10”> berarti menandakan bahwa jarak antar sel dan bordernya adalah 10

spasi.

Cellspacing juga merupakan atribut di dalam tag <table> yang berfungsi untuk

menambah jarak antar sel, misal : <table border=”1” cellspacing=”10”> maka jarak antar

sel yang terjadi adalah 10 spasi.

Background Tabel

Seperti elemen yang lain, tabel juga dapat diberi latar belakang, baik itu warna

ataupun gambar. Dalam tabel, latar belakang dapat diubah dalam setiap selnya maupun

keseluruhan tabelnya misal: <table bgcolor=”red” /

background=”.../images/background.jpg”> ataupun di dalam sel: <td bgcolor=”yellow” /

background=”.../images/background.jpg”>.

Modul Junior Web Programmer 129

Tag-tag Tabel: Tag Awal NN IE W3 Kegunaan <table> <th> <tr> <td> <caption> <colgroup> <col> <thead> <tbody> <tfoot>

3.0 3.0 3.0 3.0 3.0 4.0

3.0 3.0 3.0 3.0 3.0 3.0 3.0 4.0 4.0 4.0

3.2 3.2 3.2 3.0 3.2 4.0 4.0 4.0 4.0

Definisi tabel Definisi header tabel. Defiinisi baris tabel. Definisi sel tabel. Definisi caption tabel. Definisi kelompok kolom tabel. Definisi nilai atribut satu atau lebih kolom dalam tabel Definisi suatu header tabel yang tidak akan scroll. Definisi suatu body tabel yang scroll dalam suatu header dan footer tabel yang pasti. Definisi suatu footer tabel yang tidak akan scroll (fixed)

4.10 Link HTML

Kelebihan utama dari suatu dokumen HTML adalah kemampuannya memberikan

link dari satu teks dan / atau gambar menuju ke dokumen atau bagian lain dalam suatu

dokumen. Browser web akan menyorot (‘highlight’) teks atau gambar yang diidentifikasi

sebagai link dengan warna dan / atau garis bawah untuk menunjukkan bahwa itu adalah

hyperteks link (hyperlink)

Tag yang dipakai untuk membuat hyperlink adalah <a> dan tag penutupnya

adalah </a>. Contoh: <a href=http://www.yahoo/com> Link ke yahoo </a>. Atribut

<href> digunakan untuk mendefinisikan lokasi link.

Ada beberapa jenis link yang bisa anda gunakan, berdasarkan lokasi tujuannya link

dibedakan:

• Link relatif yang menuju bagian lain dari halaman web anda

• Link relatif yang menuju halaman lain dalam satu website

Karena link menuju ke web yang sama, maka tidak perlu dituliskan alamat URL

web tersebut, hanya perlu menuliskan URL file-nya. Berikut adalah beberapa variasi

penulisan link berdasarkan letak penempatan file-nya.

Modul Junior Web Programmer 130

• Bila file berlokasi pada folder yang sama dengan file dari link tersebut maka cukup

dituliskan nama file-nya, misalnya: <a href=”modul1.htm”>

• Bila file yang dituju itu berada dalam folder yang lain di bawah folder yang ditempati

oleh link tersebut, maka harus dituliskan nama folder-nya. Misalnya:<a href="

modul1/test001.htm">

• Bila file yang dituju itu berada dalam folder yang lain di atas folder yang ditempati

oleh file dari link tersebut maka dituliskan seperti

berikut:<a href="../rainbow.gif">Lihat gambar</a>

• Bila file yang dituju letaknya dua tingkat di atas maka dituliskan dua kali titik dua

seperti ini:

<a href = "../../rainbow2.gif"> Contoh gambar ke 2</a> dan seterusnya

• Link menuju ke website lain atau resource yang berbeda

• Link yang menuju ke bagian tertentu (bookmark)

• Link yang menuju ke suatu file yang dapat ditampilkan dalam browser, misalnya file

image atau animasi

• Link yang menuju ke suatu file tertentu yang tidak bisa ditampilkan atau dijalankan

dalam browser misalnya: file program (EXE), file kompresi (ZIP), file audio (seperti

MP3, RM), file video, dan lain-lain. Bila link semacam ini di-klik, akan muncul dialog

box yang menanyakan apakah anda akan menyimpan (save) file itu dalam hardisk atau

menjalankannya dengan program yang sesuai. Proses pengambilan dan penyimpanan

file disebut download. Cara penulisan alamat link ini sama saja dengan cara penulisan

link biasa.

• Link yang mengarah ke alamat email. Bila link ini diklik akan membuka jendela

pengiriman email dari program email yang terinstall pada komputer user (misalnya

Microsoft Outlook). Pada kotak tujuan email (To:) sudah tercantum alamat email

tujuan. Contoh penulisan seperti : <a href =

”mailto:[email protected]”> Kirim email! </a>

• Link yang membuka window baru. Link ini akan mengantar kita ke halaman lain

dengan membukanya pada window baru, sehingga pengunjung tidak harus

meninggalkan halaman sebelumnya. Link ini dapat dibuat dengan penggunaan atribut

<target=”_blank”>. Contoh penulisan seperti :

<a href = ”http://www.microsoft.com” target = _blank”> Microsoft </a>

Modul Junior Web Programmer 131

• Link pada lokasi halaman yang sama. Link ini akan membawa kita tetap kepada

halaman yang sama, misal dari halaman yang paling bawah ke atas, dan sebaliknya.

Link ini dibuat dengan memakai atribut penamaan link <a name = ”top”>.

• Jadi setelah penamaan tersebut, jika dibuat link <a href = ”#top” >Kembali ke

atas</a> maka halaman tersebut akan kembali ke bagian yang telah diberi nama

“top”.

• Link yang tidak digarisbawahi. Link ini dapat dibuat dengan penambahan atribut

<style = ”text-decoration:none”>

Modul Junior Web Programmer 132

KEAMANAN WEB STATIK

5.1 Tujuan Instruksional Umum o Siswa mengetahui apa itu sebenarnya keamanan pada web statik dan hal-hal

yang berhubungan dengan keamanan web statik.

o Siswa dapat menentukan persyaratan keamanan bisnis.

o Siswa dapat menjamin keamanan web server.

5.2 Tujuan Instruksional Khusus o Siswa dapat mengidentifikasi tingkat keamanan yang dibutuhkan berdasarkan

maksud bisnis dari website.

o Siswa dapat memproteksi password untuk semua situs dibutuhkan atau

bagian dari situs.

o Siswa dapat mengetahui teknik-teknis penerapan keamanan melalui

penggunaan password yang aman.

o Siswa mampu memeriksa formulir web sebelum memasukkannya ke server.

o Siswa mampu memproteksi sumber jaringan yang dibagi dari gangguan

sesuai dengan persyaratan bisnis.

Bab

5

Modul Junior Web Programmer 133

5.3 Uraian Singkat Materi Pada bagian ini akan dibahas tentang tingkat keamanan yang di butuhkan

berdasarkan maksud bisnis dari website tersebut di identifikasi, proteksi password untuk

semua situs diburuhkan atau bagian dari situs yang di identifikasi, dan Solusi password

secara minimum atau maksimum berdasarkan persyaratan bisnis di putuskan. Selain itu

dalam buku informasi ini juga akan dibahas tentang password web server tidak dikenal,

interpreters (program yang menjalankan CGI) tidak di simpan di dalam direktori cgi-bin,

formulir web memeriksa data sebelum memasukannya ke server, dan sumber jaringan

yang di bagi di proteksi dari gangguan sesuai dengan persyaratan bisnis

5.4 Beberapa Pengertian dalam Unit Kompetensi Ini : a. CGI : program yang tidak tergantung pada bahasa pemograman

apapun yang membangun suatu spesifikasi interfac gateway

b. Interpreters : program yang menjalankan CGI

5.5 Informasi masing-masing elemen kompetensi:

5.5.1 Menentukan persyaratan keamanan bisnis

1) Pengetahuan Kerja

Sekilas tentang Web Statik

Munculnya web berawal dari adanya kebutuhan-kebutuhan perorangan terutama

bisnis untuk menampilkan file-file yang mereka miliki kepada orang, klien atau pihak lain.

Berikut ini merupakan perkembangan web secara singkat, yaitu:

• Di masa awal web (awal 1990-an), web server yang ada praktis berfungsi hanya

sebagai file server (bedanya, protokol yang dipakai adalah HTTP, sehingga bisa

diakses oleh khalayak luas melalui jaringan computer yang sudah berkembang).

• Yang dikerjakan oleh web server saat itu hanyalah mentransfer file, terutama file-

file HTML dan gambar GIF atau JPEG, kepada klien yang memintanya. Jadi hanya

terbatas pada permintaan klien atau keinginan pembuat web tersebut. Memang

pada masa awal munculnya web fasilitas ini sangat berguna terutama kepada pihak-

pihak bisnis atau komersial. Server dalam hal ini masih bersifat pasif. Pasif dalam

hal ini adalah server hanya menerima dari satu sisi, yaitu sisi pengelola, tetapi tidak

bisa menerima dari sisi klien atau pihak lain.

Modul Junior Web Programmer 134

• Tampilan dan isi halaman web yang tetap. Selama file yang bersangkutan tidak

diubah oleh pembuat situs, maka data atau file-file yang ditampilkan akan tetap

sama dari request ke request. Jadi tampilan web tergantung kepada si pembuat web,

orang lain boleh dikatakan hanya sebagai pembaca dan penonton saja, atau

pengolah data di luar system.

Situs yang menampilkan jenis-jenis halaman-halaman seperti yang diuraikan di

atas adalah situs web statik. Namun, karena situs web semakin kompleks, terutama berkat

kalangan komersial yang berbondong-bondong online, di sisi server web mulai berubah.

Muncullah kebutuhan-kebutuhan baru untuk:

• Interaksi dengan pengunjung situs akan lebih mudah, dengan frekuensi komunikasi

yang sering.

Antara situs (sebenarnya secara tidak langsung adalah pihak yang mengelola dan

memiliki situs) dan pengunjung dapat berkomunikasi secara langsung, dan mudah.

Pengunjung tidak hanya sebagai sebatas pembaca saja, tetapi sudah dapat

memberikan masukan secara langsung ke dalam situs web. Bahkan pengunjung

bisa berkomunikasi tanpa dibatasi oleh waktu. Pengunjung bebas mengunjungi

situs dengan frekuensi yang sering.

• Menampilkan informasi perusahaan yang berasal dari database.

Data yang ditampilkan dalam web sudah berasal dari database. Data yang

ditampilkan tidak harus menunggu update dari pengelola situs, sehingga data yang

ditampilkan up to date. Jadi pada saat data dalam database berubah, maka data akan

ditampilkan berubah kepada pengunjung. Boleh dikatakan penyajian data ini Just

In Time.

• Menampilkan halaman yang memproses informasi dari klien, terupdate otomatis,

berbeda tampilan sesuai kondisi tertentu.

Infomasi yang ditampilkan dalam situs web sudah berubah-berubah, tergantung

dari data yang terdapat dalam database. Bagian ini berhubungan erat dengan point

kedua. Data yang ditampilkan dalam situs web selalu berubah-ubah tanpa

menunggu administrator jaringan. Hal ini sangat penting terutama website yang

dibutuhkan adalah website yang berhubungan dengan klien. Sebagai contoh, pada

saat si klien sudah menginput data pemesanan kepada suatu perusahaan penyedia

barang melalui website perusahaan penyedia, maka diharapkan website akan

dengan cepat menginformasikan hasilnya kepada klien. Hasil ini dapat

Modul Junior Web Programmer 135

digambarkan dalam proses bolak-balik antara perusahaan penyedia barang dengan

klien yang terjadi pada waktu yang hampir bersamaan, yaitu:

a. Informasi kertersediaan barang pesanan (situs perusahaan penyedia barang)

b. Jenis-jenis barang yang tersedia, dan meminta pilihan kepada klien (situs

perusahaan penyedia barang)

c. Jenis pembayaran yang akan dilakukan (situs perusahaan penyedia barang -

klien)

d. Konfirmasi pembelian barang kepada klien (situs perusahaan penyedia barang -

klien)

e. Waktu dan lokasi tujuan pengiriman barang (situs perusahaan penyedia barang

- klien).

Dari point-point di atas dapat dilihat bagaimana kebutuhan website yang lebih maju

dan dinamik, dan fleksibel.

Apa yang harus berada di sisi server kini tak cukup lagi hanya kumpulan file statik,

tapi program aplikasi dan database. Situs web seperti ini yang disebut situs web dinamik.

Namun, pada tulisan ini kita hanya membahas web dinamis secara singkat, karena pokok

pembahasan yang disajikan adalah tentang web statik.

Tingkat keamanan yang dibutuhkan berdasarkan maksud bisnis dari website

tersebut

Dalam pembahasan ini kita akan berbicara tentang bagaimana menerapkan

keamanan website. Berbicara tentang keamanan website maka tidak boleh terlepas dari

masalah keamanan jaringan internet. Keamanan website ini tentu saja bertujuan untuk

menjada keamanan data yang ada di dalamnya. Faktor yang sangat penting yang perlu

dijaga dalam perlindungan data/informasi tersebut adalah: Confidetiality (Kerahasiaan

data), Interity (Integritas atau Keutuhan data) dan Availability (Ketersediaan)

data/informasi.

Peningkatan kebutuhan internet pada saat sekarang ini kian hari kian semakin

pesat. Peningkatan ini bukan hanya dilatarbelakangi oleh perusahaan-perusahaan

komersial saja, tetapi juga individu perorangan yang tidak dibatasi oleh usia muda. Bahkan

pada saat sekarang ini yang banyak kita lihat pengguna internet adalah anak-anak

sekolahan. Mereka sibuk membuat website pribadi mereka, baik itu website static maupun

website dinamik.Website static adalah website yang sangat laris dalam kalangan

Modul Junior Web Programmer 136

perorangan, tapi tidak jarang juga kita lihat perusahaan-perusahaan yang masih

menggunakan website static untuk perkembangan bisnis perusahaan tersebut.

Oleh karena peningkatan penggunaan jaringan internet semakin meningkat maka

masalah keamanan jaringan Internet juga semakin hari menjadi issue yang penting dan

berkembang. Hal ini juga dikarenakan pada saat sekarang ini internet telah mengambil

bagian, posisi, dan peranan yang sangat besar bagi perkembangan bisnis dan

perekonomian. Peranan jaringan internet ini telah memacu ketertarikan orang kepada

pengetahuan akan jaringan dan internet semakin besar karena issue tentang jaringan dan

internet tidak akan berhenti, tetapi malah akan semakin berkembang. Oleh karena itu,

banyak pihak yang belajar dan tertarik pada teknik-teknik jaringan komputer yang sangat

kompleks termasuk pengertian & pengetahuan tentang berbagai lubang (hole) yang ada di

perangkat lunak Internet yang umumnya digunakan di server. Sayangnya beberapa pihak

mengarahkan dan menggunakan pengetahuan yang mereka miliki untuk mencoba-coba

dan menunjukan kepakarannya kepada umum dengan menggunakan cara-cara yang kurang

baik dan bahkan merusak sistem jaringan dan berperan sebagai cracker yang kurang baik.

Demikian juga halnya dengan keamanan pada web statik, karena web statik juga

berhubungan dengan jaringan, walaupun data yang ditampilkan bersifat statik. Tolak ukur

tingkat keamanan web statik adalah terlihat dari adanya keamanan data yang ada di dalam

web tersebut. Data bebas dari crackers, heckers, virus atau campur tangan orang lain yang

tidak berwenang atas web site.

Pada pembahasan ini kita akan berbicara tentang keamanan website yang berarti

juga keamanan jaringan. Ketika kita berbicara tentang keamanan suatu website, jaringan,

internet, sistem atau benda apapun itu pertama kali yang harus kita telusuri dan perlu

ketahui adalah hal-hal di bawah ini, yaitu:

• Sistem apa sebenarnya yang ingin kita selamatkan dari gangguan orang lain

atau sistem lain?

Kita harus tahu sistem yang akan kita terapkan keamanan website. Jenis

website apa yang harus kita gunakan, website statis atau dinamis (dalam

pembahasan ini kita focus ke website statis). Bagaimana system yang akan

disajikan dan ditampilkan dalam website. Siapa-siapa saja pihak yang terkait

dengan website tersebut, dan data-data apa saja yang akan disajikan dalam

website statis tersebut. Apakah berupa profile semata atau data lainnya.

Modul Junior Web Programmer 137

• Seberapa penting website itu bagi pihak pemilik ataupun orang lain yang masih

mempunyai andil?

Kita harus tahu sejauh mana peranan website tersebut untuk memenuhi

keinginanan atau kebutuhan bisnis perusahaan atau keinginan seseorang

individu. Atau lebih jauh dan ekstrim lagi seberapa besar peranan website

dalam memberikan keuntungan kepada seseorang atau perusahaan. Apakah

website tersebut satu-satunya jalan komunikasi lewat internet dengan klien,

contohnya untuk promosi barang, profile perusahaan dan lain-lain, atau website

tersebut hanya sebagai jalur komunikasi tambahan.

• Jika website itu ternyata menghadapi gangguan keamanan seberapa besar

kerugian yang ditimbulkan bagi pemilik ataupun orang lain yang masih

mempunyai andil?

Dalam mendefinisikan bagian atau point ini, kita harus bertindak seolah-olah

sebagai pemilik website, dimana pribadi kita atau perusahaan kita akan

ditampilkan datanya. Dengan demikian kita akan mengetahui kerugian yang

dialami jika ternyata website ini mengalami gangguan keamanan. Jika website

ini adalah website bisnis, maka jelas akan membawa kerugian yang sangat

banyak. Berbeda halnya jika website tersebut merupakan website personal atau

pribadi. Apabila gangguan keamanan website bisnis terjadi, maka akan

membawa pengaruh kepada bisnis proses yang ada dalam perusahaan,

contohnya gangguan terhadap data. Hal ini akan membawa dampak yang

sangat besar.

• Ancaman-ancaman saja yang harus diantisipasi dalam menghindarkan website

tersebut dari gangguan keamanan?

Kita harus mengetahui ancaman-ancaman apa saja yang akan menyerang

keamanan website yang kita miliki. Apakah ancaman yang muncul hanya

sebatas virus, worm, troyan horse atau malicious software/program lainnya.

Atau apakah website yang kita miliki berpeluang untuk disinggahi oleh heckers

ataupu cracker? Kita harus tahu seberapa besar ancaman-ancaman tersebut

merusa data yang kita miliki. Bagi perusahaan terutama perusahaan bisnis, data

Modul Junior Web Programmer 138

merupakan jantung perusahaan, ketika data perusahaan bisa diakses oleh orang

lain yang tidak berwenang, hal ini merupakan awal dari kehancuran jika tidak

langsung dicegah.

• Bagaimana cara menghadapi gangguan keamanan yang timbul?

Sebelum membangun website, maka sudah seharusnya juga keamanan terhadap

website tersebut dibangun. Tapi walaupun dari awal keamanan website sudah

diterapkan, tidak menutup kemungkinan kalau website kita juga pada akhirnya

mengalami gangguan keamanan yang disebabkan oleh ancaman-ancaman yang

telah diterangkan pada point sebelumnya. Ketika website kita menghadapi

gangguan, maka kita harus tahu mengambil langkah yang tepat. Sebagai

contoh, ketika kita menemukan adanya data yang ngawur di sana sini, maka

sudah seharusnya langsung mengambil tindakan instalasi anti virus untuk

membuang virus-viru yang ada. Untuk menjaga keamanan data

daripengaksesan pihak-pihak yang tidak berwenang, perlu disediakan firewall,

sebagai jalur penyaring otorisasi pengguna terhadap suatu system. Langkah

yang sudah sangat umum, untuk memfiter pengguna yang berhak masuk ke

website kita adalah, dengan menggunakan password.

Maka point-point di atas adalah suatu hal yang sangat kritikal dan mutlak untuk

diperhatikan jika Anda tidak mahu bahwa website Anda akan menjadi lubang atau pintu

masuk untuk merusak diri Anda sendiri atau usaha Anda sendiri.

Point-point di atas juga akan menentukan tingkat keamanan yang akan diterapkan

dalam suatu website static, walaupun sebenarnya bisa juga digunakan dalam website

dinamis. Jika kita melihat lebih jauh lagi dari segi kepemilikan website, tingkat keamanan

yang dibutuhkan dalam suatu website saling berbeda tergantung pada kebutuhan dan

tujuan pembuatan website tersebut. Antara web personal/pribadi berbeda dengan website

bisnis. Tingkat keamanan untuk website bisnis lebih tinggi daripada website

personal/pribadi. Oleh karena itu, kita harus bisa mengidentifikasi kebutuhan keamanan

untuk website tersebut sesuai kebutuhannya.

Untuk lebih jelasnya berikut ini akan disajikan hal-hal yang harus ditelurusi dan

yang perlu diketahui untuk menentukan dan mengidentifikasi tingkat keamanan yang

Modul Junior Web Programmer 139

dibutuhkan dan perlu diterapkan dalam suatu website. Di bawah ini akan dicoba untuk

menyajikan perbandingan antara website static personal dan bisinis (komersial).

1. Website Statik Pribadi atau Personal

Untuk melihat seberapa tinggi tingkat keamanan yang perlu diterapkan dalam suatu

website static pribadi, maka hal-hal yang perlu dikaji dan diperhatkan, adalah:

a. Terlebih dahulu kita harus mengetahui data apa saja yang biasanya ditampilkan

dalam website tersebut. Data yang ditampilkan dalah sebagai berikut:

• Home, berisi profile tentang orang yang memiliki website tersebut.

• Galeri, berisi foto-foto yang berhubungan dengan pemilik.

Dengan melihat data yang ditampilkan dalam website static pribadi, maka

terlihat bahwa tingkat kemanan website yang dibutuhkan tidak menjadi hal

yang terlalu ktitikal. Apabila website mengalami gangguan keamanan memang

akan membawa kerugian bagi pemiliknya, tapi perbaikan juga hanya mencakup

ruang atau batasan yang sempit.

b. Pada dasarnya website personal ini dibuat untuk sarana hiburan atau mencari

teman lewat internet. Dengan menyebarkan profile seseorang di internet dengan

tampilan yang menarik, diharapkan dia mendapat banyak teman.

c. Biaya yang digunakan untuk pembuatan website pribadi relatif murah, karena

spesifikasi yang dibutuhkan tidak banyak. Sebagai contoh biaya domain yang

menyangkut penyediaan memori bisa menggunakan spesifikasi minimum,

karena data yang disimpan tidak terlalu banyak, biaya hosting juga tidak terlalu

mahal. Oleh karena dari segi biaya yang tidak terlalu tinggi pada umumnya kita

tidak terlalu memberikan perhatian tingkat keamanan yang tinggi terhadap ha

tersebut.

d. Target pembuatan website adalah menarik perhatian individu-individu yang

juga mempunyai tujuan yang sama dengan pemilik website statik pribadi

tersebut, yang tentu saja jumlahnya tidak terlalu besar. Jadi kemungkinan orang

yang berniat untuk mengganggu data dalam website sangat kecil. Walauun itu

tergantung pada posisi seseorang dalam masyarakat. Sebagai contoh, website

pribadi seorang tokoh partai, seperi ketua partai suatu partai politik tertentu

akan lebih riskan untuk mendapat gangguan keamanan daripada website statik

seorang mahasiswa, karena orang yang mengunjugi website tokoh partai

tersebut akan lebih banyak dan persaingan tidak sehat antar partai juga boleh

Modul Junior Web Programmer 140

memicu hal-hal yang tidak baik melalui pembobolan sistem website suatu

lawan partai.

2. Website Statik Bisnis (Komersial)

Sama halnya dengan website static pribadi, kita juga perlu untuk memperhatikan

terlebih dahulu hal-hal di bawah ini, yaitu:

a. Mengetahui data apa saja yang biasanya ditampilkan dalam website bisnis

(komersial). Data yang ditampilkan dalah sebagai berikut:

• Home, biasanya akan menampilkan produk-produk andalan perusahaan

untuk menarik perhatian pengunjung.

• Fasilitas, berisi fasilitas-fasilitas layanan yang disediakan oleh perusahaan,

contoh fasilitas cara pembayaran yang mempermudah transaksi baik dari

sisi perusahaan maupun klien.

• Produk, berisi produk-produk secara keseluruhan yang disediakan atau

ditangani oleh perusahaan.

• Perusahaan, berisi profile tentang perusahaan keseluruhan yang memiliki

website tersebut, baik itu visi maupun misi perusahaan.

• Contact Person, berisi alamat-alamat email, nomor telepon maupun telepon

selular dari orang-orang yang bisa dihubungi untuk menanyakan informasi

tentang perusahaan.

Seperti yang kita baca dalam point-point di atas tentang website statik bisnis

(komersial), website ini secara totalitas menampilkan data perusahaan, baik

data produk terutama data promosi. Coba kita bayangkan apabila data promosi

suatu perusahaan dimonopoli oleh pihak yang tidak berwenang, seperti hackers.

Mereka mengubah kalima-kalimat promosi menjadi kalimat-kalimat yang lain.

Mereka mengganti gambar-gambar produk menjadi gambar-gambar lain yang

aneh. Apa yang akan terjadi pada perusahaan? Mereka akan kehilangan klien

dan citra perusahaan bagi pengunjung akan buruk. Oleh karena itu pada website

statik bisnis (komersial) dibutuhkan suatu tingkat keamanan yang tinggi. Selain

itu, penerapan tingkat keamanan ini juga dipengaruhi oleh besar kecilnya

perusahaan atau bisnis yang dijalankan oleh perusahaan. Walaupun sebenarnya

Modul Junior Web Programmer 141

siapapun tidak akan ada yang mahu kehilangan data, karena data sangat penting

dalan proses bisnis suatu bidang usaha.

b. Website bisnis (komersial) ini dibuat untuk menampilkan data produk yang

dijual oleh suatu perusahaan. Di website ditampilkan berbagai promosi dan

tawaran-tawaran lain dengan harapan bisnis yang dijalankan oleh perusahaan

tersebar ke seluruh penjuru. Dengan demikian dari hal tersebut diharapakan

tingkat penjualan produk akan semakin meningkat yang tentu saja berpengaruh

kepada banyaknya keuntungan perusahaan.

c. Biaya yang digunakan untuk pembuatan website bisnis membutuhkan biaya

yang lebih besar dibanding dengan pembuatan website statik pribadi karena

spesifikasi yang dibutuhkan banyak. Sebagai contoh biaya domain yang

menyangkut penyediaan memori harus besar, karena data yang disimpan tidak

banyak, biaya hosting juga tidak terlalu mahal. Oleh karena itu dari segi biaya

yang tinggi tentu saja kita akan memberikan usaha yang tinggi juga untuk

menjaga keamanan data dalam website.

d. Target pembuatan website adalah menarik perhatian orang-orang yang terlibat

dalam dunia bisnis, yang tentu saja jumlah pengunjung akan lebih banyak. Jadi

kemungkinan orang atau pihak yang berniat untuk mengganggu data dalam

website besar. Kemanan website juga bias dipengaruhi oleh persaingan yang

tidak sehat dalam dunia bisnis, yang dapat diterapkan dengan mengganggu

data yang ada dalam website pesaing bisnis.

Proteksi password untuk semua situs dibutuhkan atau bagian dari situs yang

diidentifikasi

Salah satu cara yang paling umum untuk melindungi data atau system yang kita

miliki dari orang-orang atau pihak-pihak yang tidak berwenang untuk mengakses data

adalah dengan membuat password. Password merupakan suatu kata unik yang hanya

diketahui oleh pemilik password yang dibuat untuk bsa masuk ke dalam suatu system.

Password bersifat rahasia, tidak boleh ada orang yang berhak mengetahuinya kecuali yang

empunya password sendiri. Password merupakan cara yang tepat dalam menjaga

keamanan suatu data. Tetapi dengan adanya perkembangan ilmu pengetahuan dan

ketertarikan orang-orang untuk mempelajari keamanan suatu sistem, maka password juga

sudah bisa dilacak oleh orang lain. Banyak sudah perangkat lunak yang dibuat untuk

melacak password orang lain. Perangkat lunak ini seperti perangkat lunak biasa yang

Modul Junior Web Programmer 142

berguna untuk membantu suatu perusahaan dalam menangani masalah-masalah tertentu,

tetapi sebenarnya disipkan suatu program yang bisa melacak password orang lain. Sebagai

contoh yang paling umum dalam mencuri username dan password adalah suatu program

yg menyamar sebagai program biasa dengan tujuan untuk mencuri informasi. Sebagai

contoh, program yg berlaku seperti system log-on padahal sebenarnya untuk mengambil

informasi username (nama-peguna) dan password, sehingga pembuat program ini kelak

dapat menggunakan username dan password tersebut untuk membobol system. Serangan

ini lebih dikenal dengan sebutan Troyan Horse. Oleh karena itu, password yang kita miliki

juga harus diproteksi dari hal-hal yang tidak diinginkan, sehingga password kita tidak

tersebar ke tangan orang lain dan data kita tetap aman.

Untuk menjaga keamanan website beserta data yang ada di dalamnya, username

dan password kita, maka perlu dilakukan proteksi password. Hal ini dapat dilakukan

dengan konsep keunikan yang dimiliki oleh computer atau system. Tiap komputer adalah

unik, telebih di internet, krn masing-masing memiliki IP/N (internet protocol number,

nomor protokol antarjaringan) unik, baik IP statik yg senantiasa tersambung maupun IP

dinamik yang hanya kadang-kadang tersambung ke internet. Tanpa IP/N unik, tak

mungkin komputer dapat saling berhubungan dan berkomunikasi. Proteksi password dapat

dilakukan dengan cara-cara di bawah ini:

1. Digital Cibernetic Immunity

Cara ini memanfaatkan kemampuan computer untuk mengenali mana yang

menjadi bagian dari dirinya, mana yang biasa keluar masuk system dan mana yang

bukan. O/S Microsoft Windows membangun imunitas sibernetik digital dengan

tiga komponen berikut, yaitu:

• S/A: Sign-in Authentication | Otentikasi Tanda-masuk: user identification

• D/S: Digital Signature | Tandaan Angkani: file identification

• D/C: Digital Certificate | Sertifikat Angkani: identification approval

Satu cara digunakan utk mencegat virus dan kuda Troya dan program asing adalah

FSV, file signature verification (pemeriksaan tandaan berkas), krn Windows tlh

menetapkan digital signature (tandaan angkani) dgn digital certificates (sertifikat

angkani) utk tiap berkas sistem. Dgn demikian O/S akan dpt menolak tiap berkas

Modul Junior Web Programmer 143

tanpa signature, berkas tanpa cerificate, dan berkas dgn invalid signature (tandaan

tak-berlaku) dan atau invalid certificate (sertifikat tak-berlaku).

Berikut adalah definisi dan fungsi masing-masing, dan peran mrk dlm O/S

Microsoft Windows.

a. Sign In Authentication

Sign-in authentication adalah proses dimana sistem memvalidasi informasi

sign-in | log-in | log-on peguna, dimana U/N (username; nama-peguna) dan

P/W (password) dibandingkan terhadap satu daftar terotorisasi. Jika cocok,

maka access control (kendali raih) dikabulkan pada peringkat sesuai dengan

authority (otoritas, kewenangan) dan daftar permission (permisi, perkenan, izin)

untuk peguna tersebut. Jika peguna sign-in | log-in | log-on ke satu account

(rekening) pada suatu jaringan kerja, maka otentikasi dilakukan oleh server.

b. Secure Password Authentication

Sign-in authentication dimana tingkat security (sekuritas, pengamanan)

terhadap password dijamin dalam satu cara sulit untuk dapat ditembus, atau

dimana, untuk alasan sekuritas data, P/W encoded (disandikan) menggunakan

digital encryption (enkripsi angkani) ketika ditulis, dan decoded

(diawasandikan) menggunakan digital decryption (dekripsi angkani) ketika

dibaca.

Authentication dalam bentuk U/N dan P/W diperiksa tiap kali peguna akan

memasuki O/S atau subsistem, seperti penggunaan authority, permission,

access control, e-mail message tranception (transepsi pesan surat-elektronik),

penggunaan program tertentu, dan lain-lain.

Pemeriksaan otentikasi ini analogus mirip dengan pemeriksaan secret code

(sandi rahasia) dalam misi militer dan spionase. Tanpa K/W (keyword; kata-

kunci), seseorang tidak mungkin memasuki area yang sudah diproteksi, kecuali

ia masuk secara paksa atau secara rahasia dengan melakukan pembobolan

sistem pertahanan.

c. Digital Signature

Salah satu cara yang digunakan oleh sumber-asal berkas, pesan, atau informasi

lain disandikan secara angkani, utk menanamkan identitas | ciri ke informasi.

Proses penandaan mencakup pemindahbentukan informasi hingga beberapa

Modul Junior Web Programmer 144

sandi rahasia dimiliki sumber ke dalam satu tag (etiket) atau label (plakat)

dalam berkas, pesan, atau informasi tersandi tersebut.

Pemberian D/S ini analogus yang mirip dengan pemberian KTP (kartu tanda

penduduk), SIM (surat izin mengemudi), dan kartu pengenal lain kpd org;

STNK (surat tanda nomor kendaraan) utk kendaraan; TDP (tanda daftar

perusahaan), SUIP (surat izin usaha perdagangan), NPWP (nomor pokok wajib

pajak), dan tanda pengenal lain kpd perusahaan; atau lbh sederhana lagi, seperti

ticket (karcis) kereta-api, kapal-laut, atau kapal-udara; atau karcis masuk arena

pertunjukan.

d. File Signature Verification

Proses dgn mana sistem memvalidasi informasi signature berkas, pesan, atau

informasi lain disandikan secara angkani, dan membandingkannya dengan satu

daftar terotorisasi. Jika cocok, maka berkas tersebut lolos pemeriksaan, untuk

dieksekusi.

Seperti telah diuraikan di atas, FSV analogus mirip dengan razia pemeriksan

KTP, SIM, dan STNK, kartu identitas lain atau tanpa pengenal lain, dimana

tanpa keterangan identitas tersebut dinyatakan ilegal.

2. Password Protection Manager

Selain dengan cara seperti di atas proteksi password dapat dilakukan dengan

menggunakan perangkat lunak tertentu seperti Password Protection Manager.

Para web hosting juga biasanya sudah menyediakan fitur Password Protection

Manager untuk melindungi password website yang mereka kelola, yang tentu

saja fitur ini akan menambah biaya bagi para pemilik website static.

Solusi password secara minimum atau maksimum berdasarkan persyaratan bisnis

diputuskan

Setelah membaca bagian sebelumnya, kita mengetahui bagaimana peranan

password dalam menjaga keamanan data dan bagaimana cara melindungi password dari

pencurian pihak lain. Cara yang dimaksud adalah Digital Cibernetic Immunity dan dengan

menggunakan suatu progam seperti Password Protection Manager. Tetapi satu hal yang

mungkin sepele yang harus kita ketahui, terkadang orang lain mencuri password kita

dengan cara mencoba-coba combinasi angka dan huruf atau yang berhubungan dengan

Modul Junior Web Programmer 145

profile kita sendiri. Contoh ini lebih familiar pada pencurian PIN ATM orang tertentu yang

dilakukan oleh pihak-pihak yang tidak bertanggung jawab. Oleh karena itu kita harus

mengambil solusi dalam pembuatan password sehingga tidak mudah untuk dilacak atau

dicoba-coba oleh orang lain.

Perusahaan harus membuat peraturan dalam pembuatan password, sehingga para

karyawannya tidak sembarangan dalam membuat kombinasi password. Beberapa aplikasi

atau perangkat lunak pada saat ini sudah banyak yang menerapkan konsep kombinasi

pembuatan password dengan formula tertentu. Formula password dapat berupa:

1. Menetapkan berapa minimum panjang password yang akan dibuat.

2. Menetapkan berapa maksimum panjang password yang boleh dibuat. Hal ini

tentu saja untuk menghindari pembuatan password yang terlalu panjang, sehingga

bisa mempersulit pemilik password untuk mengingat password-nya sendiri.

3. Menetapkan formula password melalui penetapan kombinasi password yang

harus terdiri dari huruf, angka dan symbol

4. Menetapkan umur penggunaan password, sesudah mencapai umur password,

maka dilakukan penggantian password.

5. Password yang digunakan tidak boleh mengandung unsur-unsur nama pemilik

password, tanggal lahir atau yang lain yang berhubungan dengan profile pemilik

password.

6. Pada saat melakukan penggantian password menetapkan frekuensi berapa kali

password diubah agar bisa menggunakan kembali password yang lama.

7. Password seseorang hanya diketahui oleh orang itu sendiri.Tidak ada orang lain

yang berhak mengetahui password karyawan lain bahkan bagian administrator

juga. Aturan ini memang sudah merupakan aturan yang umum keamanan suatu

password. Kesalahan yang sering terjadi dalam perusahaan dalam penerapan

etika penggunaan password adalah, menggunakan computer account (username

dan password) yang bukan milik anda. Mendapatkan password tanpa diizinkan

oleh pemilik account tersebut.

Pembuatan formula password yang ditentukan seperti di atas akan memperkecil

penyebaran password. Memang cara mencoba-coba ini pada umumnya terjadi dalam

lingkungan internal suatu instansi atau perusahaan. Kesalahan-kesalahan dan pelanggaran-

pelanggaran yang sering terjadi juga dalam lingkungan internal adalah:

Modul Junior Web Programmer 146

a. Menggunakan computer account (username dan password) yang bukan milik

anda. Mendapatkan password tandapa diizinkan oleh pemilik account.

b. Menggunakan jaringan internal untuk melakukan unauthorized access atau akses

ilegal ke sistem lain.

c. Para karyawan secara sadar melakukan tindakan yang akan mengganggu

kelancaran system komputer, terminal, peripherals atau jaringan.

d. Para karyawan secara sadar menyuruh orang untuk atau menlakukan sendiri:

menjalankan, meng-install suatu program yang berujuan untuk merusak sistem

komputer. Hal ini termasuk melakukan penyebaran virus, worm, Trojan horse atau

bentuk lainnya.

e. Para karyawan secara sadar menghabiskan resource komputer.

f. Menggunakan e-mail untuk mengganggu user lain, didalam maupun diluar.

g. Melakukan posting si bulletin board perusahaan atau portal perusahaan bahan-

bahan yang bertentangan dengan hukum dan norma yang berlaku.

h. Mencoba untuk mengutak-utik komunikasi elektronik yang dilakukan user lain

atau membaca, mengkopi, merubah, menghapus data user lain tanpa izin secara

eksplisit dari user yang bersangkutan.

2) Ketrampilan Kerja

Mengidentifikasi tingkat keamanan yang dibutuhkan berdasarkan maksud bisnis

dari website tersebut

• Mengumpulkan informasi mengenai tingkat keamanan yang dibutuhkan berdasarkan

maksud bisnis dari website

• Mengidentifikasi tingkat keamanan yang dibutuhkan berdasarkan maksud bisnis dari

website tersebut

Proteksi password untuk semua situs dibutuhkan atau bagian dari situs yang

diidentifikasi

• Mengumpulkan informasi mengenai proteksi password.

• Mengidentifikasi proteksi password untuk semua situs dibutuhkan atau bagian dari

situs.

Modul Junior Web Programmer 147

Solusi password secara minimum atau maksimum berdasarkan persyaratan bisnis

diputuskan

• Mengumpulkan informasi mengenai solusi password secara minimum atau

maksimum berdasarkan persyaratan bisnis.

• Memutuskan solusi password secara minimum atau maksimum berdasarkan

persyaratan bisnis.

3) Sikap Kerja

Sikap kerja ditunjukkan pada saat praktek di lingkungan kerja.

• Mengumpulkan informasi mengenai tingkat keamanan, proteksi password, dan

solusi password secara minimum atau maksimum berdasarkan persyaratan bisnis.

• Belajar mengidentifikasi proteksi password untuk semua situs dibutuhkan atau

bagian dari situs dan proteksi password untuk semua situs dibutuhkan atau bagian

dari situs.

• Berlatih untuk memutuskan solusi password secara minimum atau maksimum

berdasarkan persyaratan bisnis.

5.5.2 Menjamin keamanan web server

Pada bagian ini akan dibahas tentang bagaimana mengenal dan mendeteksi password dan

web server yang tidak dikenal, tidak menyimpan interpreters (program yang menjalankan

CGI) di dalam direktori cgi-bin, formulir web memeriksa data sebelum memasukkan ke

server, dan memproteksi sumber jaringan yang dibagi dari gangguan-gangguan keamanan

dengan persyaratan bisnis.

1) Pengetahuan Kerja

Password dan Web Server Tidak Dikenal

Web server merupakan service yang harus dijalankan apabila kita ingin agar

website yang telah dibangun dapat diakses melalui Internet. Berikut ini adalah beberapa

program web server yang banyak digunakan :

• Apache (www.apache.org)

• IIS (www.microsoft.com)

• Netscape (www.netscape.com)

Modul Junior Web Programmer 148

Pada saat kita mengambil keputusan untuk memasang web server sehingga website

yang kita miliki dapat diakses oleh banyak orang, maka kita juga harus berani mengambil

resiko, karena dengan kita memasang web server maka akan terbuka peluang bagi attacker

untuk menyerang web server tersebut. Untuk mengurangi kemungkinan attacker

menyerang data yang terdapat pada web server, maka sebaiknya data yang ditaruh pada

web server tidaklah bersifat rahasia, namun dokumen publik. Selain itu, komputer yang

berfungsi sebagai web server sebaiknya meminimalkan software-software yang terinstal,

karena dengan semakin banyaknya software yang terinstal, kemungkinan terdapatnya bugs

yang mengganggu sistem akan semakin besar. Selain itu kita juga harus minimalkan

service-service yang terinstalasi. Sebagai contoh, jika suatu komputer hanya berfungsi

sebagai web server maka beberapa service berikut dapat ditiadakan :

• lpd (line printer daemon)

• r services (rshd, rlogin, rwhod, dan rexec)

• ftp

• finger

• NFS (Network File System)

• SMB (Server Message Block)

• ypbind dan ypserv

• amd

• portmap

Selain itu, setelah mengamankan web server anda, kita juga perlu memperhatikan

dan mengamankan software yang terdapat dalam web server, karena software yang

terdapat dalam web server juga berpengaruh pada cara kerja dan performansi dari web

server. Yang akan dibicarakan di sini adalah Apache, karena Apache merupakan software

web server yang paling banyak digunakan dan diminati pada saat ini, bahkan seluruh

distribusi Linux telah menyertakan Apache sebagai software web servernya.

Apache merupakan pengganti httpd dari National Center for Supercomputer

Applications. Apache telah menyediakan mekanisme keamanan yang telah built-in. Dalam

mekanisme tersebut sudah mencakup ketiga hal di bawah ini, yaitu :

• Host-based network access control

• Kendali untuk mengkonfigurasi lokasi script CGI

• Kendali untuk mengkonfigurasi ulang setting anda.

Modul Junior Web Programmer 149

Berikut ini adalah beberapa options yang dapat mempengaruhi keamanan web

server :

• ExecCGI : menspesifikasikan bahwa script CGI dapat dijalankan pada

hierarki direktori ini.

• FollowSymlink : membolehkan user membuat symbolic link hanya dengan

meng-click pada hyperlink mereka.

• Includes : menspesifikasikan bahwa Apache akan memproses server side

include.

• Index : memungkinkan ditampilkannya listing direktori ketika tidak ada

halaman default yang ditemukan.

Apache dapat pula dikonfigurasi dengan menambahkan proteksi password dan

akses kendali pada tingkat direktori dengan htpasswd. Proteksi password akan bertugas

untuk mengijinkan akses terhadap web server. Pada saat pengguna memasukkan password

maka proteksi password akan melakukan pengecekan atau melakukan pengendalian

apakah password tersebut terdapat dalam database password. Jika memang terdapat dalam

database password, maka pengguna diijinkan masuk, tetapi jika password tidak dikenal,

maka kendali ini tidak akan mengijinkan pengguna untuk mengakses web server.

Sistem htpasswd memberikan kendali akses pada level pemakai dan kelompok

melalui tiga buah file konfigurasi, yaitu :

• .htpasswd.

File ini merupakan database password dan menyimpan nama user dan

passwordnya. Ia menyerupai file /etc/passwd.

• .htgroup.

File ini merupakan file database password kelompok. Ia menyimpan

informasi keanggotaan kelompok dan dalam hal ini menyerupai file

/etc/group. .htgroup adalah optional, diperlukan bila ingin

mengimplementasikan kendali akses kelompok.

.htaccess.

File ini merupakan file akses htpasswd. Ia menyimpan aturan-aturan akses

(allow, deny), lokasi file-file konfigurasi, metode autentikasi, dan

sebagainya.

Web server merupakan bagian yang sangat penting dalam website statik, karena

web server merupakan tempat darimana website mengambil data untuk ditampilkan

kepada pengunjung. Pada web server inilah bagian administrator atau pengelola website

Modul Junior Web Programmer 150

akan menambah, membuang atau mengubah data. Oleh karena web server adalah

merupakan pusat data yang akan ditampilkan maka, web server tidak boleh diakses oleh

sembarang orang, dan web server harus benar-benar dijaga keamanannya.

Sama halnya dengan kemampuan komputer biasa untuk mengenali mana yang

menjadi bagian dari dirinya, mana yang biasa keluar masuk system dan mana yang bukan,

maka web server juga sebenarnya komputer hanya spesifikasinya yag lebih tinggi. Maka

web server juga mempunyai kemampuan untuk mengenal web server mana yang menajdi

bagiannya dan mana yang tidak menjadi bagiannya.

Interpreters (program yang menjalankan CGI) tidak di simpan di dalam direktori

cgi-bin

CGI merupakan program yang menggenerate file autoconfig berdasarkan sumber

alamat dari permintaan site (request) dan CGI ini juga berperan untuk menyajikan

tampilan web yang dinamik dan interaktif, oleh karena itulah banyak website-website yang

populer yang menggunakan program / aplikasi CGI. CGI adalah program yang tidak

tergantung pada bahasa pemograman apapun yang membangun suatu spesifikasi interface

gateway. Gambar di bawah ini menunjukkan bagaimana cara kerja CGI yang dijalankan

oleh interpreters. Cara kerja CGI ini, konsepnya adalah, Web server akan mengambil URL

yang mengatakan supaya Web server menjalankan suatu aplikasi yang disebut

helloworld.cgi. Kemudian web server akan menampilkan aplikasi tersebut, menunggu

sampai proses menampilkan selesai dan kemudian mengembalikan hasil (output).

Kemudian web server mentransfer hasil tersebut ke web client yang me-request site

tersebut.

Modul Junior Web Programmer 151

Gambar 1 cara kerja CGI (Elemen Kompetensi 2 : Menjamin keamanan web server)

Dan berikut ini merupakan gambar dari bagaimana pemrosesan yang terjadi dalam server

CGI :

Gambar 2 Proses dalam server CGI (Elemen Kompetensi 2 : Menjamin keamanan

web server)

Modul Junior Web Programmer 152

Pada gambar Pemrosesan yang terjadi pada server CGI dijelaskan:

1. Membaca variable untuk REQUEST_METHOD

2. Menentukan apakah method GET digunakan atau tidak sedang menggunakan nilai

yang tersimpan dalam variable REQUEST_METHOD

3. Mengambil data yang tersimpan dalam variable QUERY_STRING, jika metode

GET digunakan.

4. Membaca sandi dalam data

5. Memproses sandi dalam data.

6. Menulis tipe tampilan (Content-type) dari hasil (output) ke dalam perlengkapan

hasil yang standar (standard output device/STDOUT), setelah prose benar-benar

selesai.

7. Menulis hasil (output) data ke dalam STDOUT dan keluar.

Kemudian gambar di bawah ini merupakan bagaimana pemrosesan dalam program CGI itu

sendiri.

Gambar 3 Proses dalam program CGI (Elemen Kompetensi 2 : Menjamin keamanan

web server)

Modul Junior Web Programmer 153

CGI program ini terdapat pada permintaan HTTP (HTTP request) yang benar. Permintaan

HTTP ini normalnya terdiri tiga komponen yaitu:

1. Tipe dari transfer (normalnya adalah metode GET), bagian ini digunakan untuk

download file.

2. Alamat dan nama file yang akan diambil atau yang akan dieksekusi/dijalankan

(dalam bagian ini adalah program cgi).

3. Versi HTTP, yaitu versi HTTP mana yang akan digunakan oleh pengguna yang

mengakses website.

Program CGI ini diset oleh suatu ScriptAlias directive, yang mana pengesetan ini

diarahkan /cgi-bin/ ke /usr/local/apache/cgi-bin/ (%ServerRoot%/cgi-bin/). Jika Anda

ingin menggnakan program CGI dari server utama maka Anda harus benar-benar bisa

menjaga keamanannya. Tetapi karena CGI merupakan program yang penting dalam

permintaan (request) site dan berhubungan dengan alamat data, maka sebaiknya pada saat

menjalankan dan menyimpan Interpreters (program yang menjalankan CGI), maka

interpreter ini jangan disimpan di direktori /cgi-bin/, karena direktori file sudah umum

untuk penyimpanan interpreters program CGI. Hal ini untuk menghindarkan bahwa orang

yang tidak bertanggung jawab bisa dengan mudah untuk mengetahui alamat data Anda dan

mencuri data tersebut atau lebih fatal lagi mengubah data Anda menjadi data yang tidak

berguna atau bahkan menjadi data yang tidak benar yang bisa mengancam perusahaan.

Apabila hendak memindahkan alamat interpreters ini dari server utama ke direktori

lain, maka Anda juga harus mengganti alamat fisiknya (physical path) dan disesuaikan

dengan lokasi atau direktori yang akan kita buat.

Formulir Web Memeriksa Data Sebelum Memasukkan ke Server

Untuk menjaga keamanan server berarti kita juga harus memperhatikan data yang akan

dimasukkan ke dalam server. Data yang kita masukkan ke dalam server belum tentu

terjamin keamanannya. Bisa jadi suatu data diinfeksi oleh suatu virus, worm atau

malicious software lainnya yang tidak kita ketahui. Jadi pada saat Anda hendak

memasukkan data ke dalam server, jangan langsung percaya bahwa data Anda tersebut

sehat. Oleh karena itu, sebelum memasukkan data ke dalam server, maka terlebih dahulu

data tersebut sebaiknya diperiksa oleh formulir web. Formulir web akan memeriksa data

yang akan dimasukkan ke dalam server dan memastikan bahwa data tersebut aman. Jika

ternyata data tersebut diperiksa telah diinfeksi oleh virus, maka formulir file akan

Modul Junior Web Programmer 154

menemukan dan menangkap adanya file-file asing yang menempel pada data, dan data ini

dinilai menjadi data yang tidak sehat. File-file asing ini biasanya dikenali melalui ekstensi-

ekstensi file yang tidak wajar. Data tidak sehat tidak dimasukkan ke dalam server, karena

jika dibiarkan akan membawa dampak yang lama kelamaan akan merusak web server

Anda secara totalitas. Oleh karena itu sebaiknya Anda hati-hati dalam memasukkan data

ke dalam server, tetap jalankan pemeriksaan lewat formulir web, apalagi data yang Anda

masukkan tersebut berasal dari suatu media penyimpanan eksternal (seperti disket, USB)

dan data berasal dari hasil download dari internet.

Sumber Jaringan yang Dibagi Diproteksi dari Gangguan Sesuai dengan Persyaratan

Bisnis.

Sumber jaringan yang dibagi adalah bagian yang sangat rentan terhadap gangguan

kejahatan teknologi informasi. Hal ini dikarenakan bagian ini seolah-olah dipercayakan

untuk publik. Tapi walaupun demikian bukan berarti bagian ini bebas digunakan untuk

semua tujuan dan perlakukan. Oleh karena itu, untuk menghindari gangguan-gangguan

keamanan oleh pihak-pihak tertentu, maka bagian sumber jaringan yang dibagi ini harus

diproteksi dari gangguan. Proteksi untuk website statik ini tentu saja dilakukan oleh pihak

perusahaan atau pelaku bisnis, yang pasti jika perusahaan tidak ingin website statik-nya

menjadi bahan perlakukan tidak benar oleh pihak-pihak hackers, maka perusahaan juga

harus menentukan syarat bisnis atau keputusan untuk melakukan proteksi terhadap sumber

jaringan mereka.

Sumber jaringan ini dapat diproteksi dengan menggunakan banyak cara tergantung

dengan ancaman-ancaman yang menyerang sumber jaringan kita. Tetapi umumnya,

masalah keamanan internet tidak terlepas dari malicious softawe (malware program), yaitu

virus, worm, troyan horse, seerti yang telah disinggung pada bagian sebelumnya. Untuk

menjaga keamanan data dari bagian ini perlu diinstall perangkat lunak antivirus. Antivirus

adalah sebuah jenis perangkat lunak yang digunakan untuk mendeteksi dan menghapus

virus komputer dari sistem komputer. Disebut juga Virus Protection Software. Aplikasi ini

dapat menentukan apakah sebuah sistem komputer telah terinfeksi dengan sebuah virus

atau tidak. Umumnya, perangkat lunak ini berjalan di latar belakang (background) dan

melakukan pemindaian terhadap semua berkas yang diakses (dibuka, dimodifikasi, atau

ketika disimpan). Sebagian besar antivirus bekerja dengan beberapa metode seperti di

bawah ini:

Modul Junior Web Programmer 155

• Pendeteksian dengan menggunakan basis data virus signature (virus

signature database):

Cara kerja antivirus ini merupakan pendekatan yang banyak digunakan oleh

antivirus tradisional, yang mencari tanda-tanda dari keberadaan dari virus

dengan menggunakan sebagian kecil dari kode virus yang telah dianalisia oleh

vendor antivirus, dan telah dikatalogisasi sesuai dengan jenisnya, ukurannya,

daya hancurnya dan beberapa kategori lainnya. Cara ini terbilang cepat dan

dapat diandalkan untuk mendeteksi virus-virus yang telah dianalisia oleh

vendor antivirus, tapi tidak dapat mendeteksi virus yang baru hingga basis data

virus signature yang baru diinstalasikan ke dalam sistem. Basis data virus

signature ini dapat diperoleh dari vendor antivirus dan umumnya dapat

diperoleh secara gratis melalui download atau melalui berlangganan

(subscription).

• Pendeteksian dengan melihat cara bagaimana virus bekerja:

Cara kerja antivirus seperti ini merupakan pendekatan yang baru yang

dipinjam dari teknologi yang diterapkan dalam Intrusion Detection System

(IDS). Cara ini sering disebut juga sebagai Behavior-blocking detection. Cara

ini menggunakan policy (kebijakan) yang harus diterapkan untuk mendeteksi

keberadaan sebuah virus. Jika ada kelakuan perangkat lunak yang "tidak

wajar" menurut policy yang diterapkan, seperti halnya perangkat lunak yang

mencoba untuk mengakses address book untuk mengirimkan e-mail secara

massal terhadap daftar e-mail yang berada di dalam address book tersebut

(cara ini sering digunakan oleh virus untuk menularkan virus melalui e-mail),

maka antivirus akan menghentikan proses yang dilakukan oleh perangkat

lunak tersebut. Antivirus juga dapat mengisolasi kode-kode yang dicurigai

sebagai virus hingga administrator menentukan apa yang akan dilakukan

selanjutnya. Keuntungan dari cara ini adalah antivirus dapat mendeteksi

adanya virus-virus baru yang belum dikenali oleh basis data virus signature.

Kekurangannya, jelas karena antivirus memantau cara kerja perangkat lunak

secara keseluruhan (bukan memantau berkas), maka seringnya antivirus

membuat alarm palsu atau "False Alarm" (jika konfigurasi antivirus terlalu

"keras"), atau bahkan mengizinkan virus untuk berkembang biak di dalam

sistem (jika konfigurasi antivirus terlalu "lunak"), terjadi false positive.

Beberapa produsen menyebut teknik ini sebagai heuristic scanning.

Modul Junior Web Programmer 156

Dengan melihat cara kerja software Antivirus di atas, dapat dipastika bahwa

software itu akan sangat berguna untuk mendukung keamanan sistem dari virus.

Selain menggunakan antivirus, perusahaan juga dapat menggunakan firewall.

Firewall pada saat sekarang ini sudah mudah diperoleh, bahkan sudah banyak firewall

yang gratis dan dapat di download melalui internet.

Firewall adalah sistem atau sekelompok sistem yang menetapkan kebijakan kendali

akses antara dua jaringan. Secara prinsip, firewall dapat dianggap sebagai sepasang

mekanisme, yaitu: mekanisme yang pertama adalah mekanisme yang memblok lalu lintas,

yang kedua mekanisme yang mengijinkan lalu lintas jaringan. Firewall dapat digunakan

untuk melindungi jaringan anda dari serangan jaringan oleh pihak luar, namun firewall

tidak dapat melindungi dari serangan yang tidak melalui firewall dan serangan dari

seseorang yang berada di dalam jaringan anda, serta firewall tidak dapat melindungi anda

dari program-program aplikasi yang ditulis dengan buruk. Secara konseptual, terdapat dua

macam firewall yaitu:

1. Network level

Network level mendasarkan keputusan mereka pada alamat sumber, alamat tujuan dan

port yang terdapat dalam setiap paket IP. Network level firewall sangat cepat dan sangat

transparan bagi pemakai.

2. Application level.

Application level firewall biasanya adalah host yang berjalan sebagai proxy server,

yang tidak mengijinkan lalu lintas antar jaringan, dan melakukan logging dan auditing

lalu lintas yang melaluinya. Application level firewall menyediakan laporan audit yang

lebih rinci dan cenderung lebih memaksakan model keamanan yang lebih konservatif

daripada network level firewall.

Pada gambar di bawah ini kita dapat melihat gambar firewall itu sendiri dan posisinya

dalam suatu kesatuan sistem yang terhubung ke jaringan.

Modul Junior Web Programmer 157

Gambar 4 Jaringan dengan firewall (Elemen Kompetensi 2 : Menjamin Keamanan Web

Server)

Dari gambar di atas dapat kita lihat bagaimana firewall berfungsi sebagai tembok

atau gerbang yang mengatur keluar masuknya data dari komputer internal ke eksternal,

yaitu ke internet. Seperti yang telah dikatakan sebelumnya, bahwa firewall sudah tersedia

sebagai aplikasi yang gratis. Sebagai referensi untuk pembaca berikut ditampilkan jenis-

jenis firewall yang gratis dan komersial.

1. Firewall gratis, yaitu:

• ipchains. Ipchains adalah user-space portion dari kode terbaru paket

filter Linux yang diperkenalkan dalam kernel versi 2.1.102.

• Falcon Project (Free Application-Level CONnection kit) adalah proyek

open firewall dengan tujuan mengembangkan sistem firewall yang free,

aman dan OS-independent. Falcon terdiri dari tiga modul utama yaitu

proxy Falcon (ditulis dalam Perl), 3rd-party proxy (squid/qmail/BIND8)

yang dimodifikasi untuk lingkungan chroot dan konsep umum untuk OS

hardening. Informasi lebih lanjut silakan lihat http://falcon.naw.de/

• Juniper adalah produk firewall toolkit. Ia ditujukan sebagai alat untuk

membangun Internet firewall yang aman dan efektif. Dengan kata lain,

Juniper didesain agar bekerja pada dual homed bastion host yang tidak

memforwarrd paket-paket antara interface. Juniper

Modul Junior Web Programmer 158

mengimplementasikan fasilitas proxy transparan hingga memungkinkan

mesin-mesin internal untuk mengakses Internet secara transparan seolah-

olah mereka terhubung secara langsung ke Internet. Homepage :

http://www.obtuse.com/juniper/

• floppyfw adalah sebuah router dan firewall sederhana dalam sebuah

floppy. Ia menggunakan kemampuan firewall dasar Linux dan memiliki

sistem packaging yang sederhana. Sangat sesuai untuk masquerading dan

mengamankan jaringan pada ADSL dan kabel menggunakan IP statik

dan DHCP. Homepage: http://www.zelow.no/floppyfw/

• T.Rex Open Source Firewall berjalan pada Linux, Solaris, dan AIX.

Fitur yang ditawarkan mencakup dukungan untuk VPN (Virtual Private

Network), NAT (Network Address Translation), dan aplikasi proxy

tinggi, Web caching, workload balancing, content filtering, high

availability, dukungan SOCKS dan masih banyak lagi. Homepage

http://www.opensourcefirewall.com/

2. Komersial firewall, yaitu:

• Checkpoint Firewall-1 (www.checkpoint.com). Checkpoint Firewall-1

adalah suite produk keamanan yang telah mendukung enterprise

security, access control, autentikasi, content security, NAT, Reporting

Module, VPN, Intrusion Detection, High Availability, LDAP User

Account Management, dan Third Party Security Device Management.

• Raptor (www.axent.com). Raptor didasarkan pada arsitektur proxy based

yang memonitor seluruh lalu lintas pada level aplikasi, menscan seluruh

aplikasi dan protokol yang keluar dan masuk jaringan perusahaan.

• XSentry (www.trustix.com). XSentry 1.1 Firewall terdiri dari XSentry

Administration Client dan XSentry Firewall Server. XSentry Internet

Firewall Administration Client menawarkan user interface yang unik dan

baru, yang memungkinkan pemodelan grafis entitas jaringan secara cepat

dan aman, dan berkomunikasi secara aman dengan XSentry Firewall

Server. User interface yang unik ini meminimalkan bahaya kesalahan

konfigurasi.

Jadi, jika perusahaan Anda merupakan perusahaan yang masih mulai bertumbuh,

atau bahkan lebih ekstrim adalah untuk website statik pribadi / personal, Anda tidak perlu

Modul Junior Web Programmer 159

kuatir untuk menjaga keamanan sumber jaringan yang dibagi Anda dengan program

keamanan yang bagus dan tinggi, karena tools untuk menerapkan keamanan website statik

itu sendiri tidak lagi mahal, seperti yang telah dijabarkan pada penjelasan di atas.

Sebenarnya cara untuk menjaga keamanan sumber jaringan tidak hanya terbatas

pada pengadaan antivirus dan firewall, tetapi masih banyak lagi, seperti penjagaan

keamanan data yang berasal dari internal perusahaan itu sendiri. Selain itu dapat juga

dilakukan dengan melakukan penjagaan keamanan password seperti yang telah dijelaskan

sebelumnya.

2) Ketrampilan Kerja

Password dan Web Server Tidak Dikenal

• Mengumpulkan informasi mengenai password dan web server tidak dikenal.

• Mengidentifikasi password dan web server tidak dikenal.

Interpreters (program yang menjalankan CGI) tidak di simpan di dalam direktori

cgi-bin

• Mengumpulkan informasi mengenai proteksi password.

• Mengidentifikasi proteksi password untuk semua situs dibutuhkan atau bagian dari

situs.

Formulir web memeriksa data sebelum memasukannya ke server

• Mengumpulkan informasi mengenai formulir web.

• Memeriksa data dengan menggunakan formulir web sebelum memasukannya ke

server.

Sumber jaringan yang dibagi diproteksi dari gangguan sesuai dengan persyaratan

bisnis

• Mengumpulkan informasi mengenai sumber jaringan yang dibagi dan gangguan-

gangguan yang ada.

• Memproteksi sumber jaringan yang dibagi dari gangguan sesuai dengan persyaratan

bisnis.

3) Sikap Kerja

Sikap kerja ditunjukkan pada saat praktek di lingkungan kerja.

Modul Junior Web Programmer 160

• Mengumpulkan informasi mengenai password dan web server tidak dikenal, proteksi

password, interpreters, dan formulir web.

• Mengidentifikasi password dan web server tidak dikenal, dan proteksi password

• Memeriksa data dengan menggunakan formulir web sebelum memasukannya ke

server dan memproteksi sumber jaringan yang dibagi dari gangguan.

Modul Junior Web Programmer 161

DASAR-DASAR PEMBUATAN WEB STATIK DASAR

6.1 Tujuan Instruksional Umum o Siswa mampu menceritakan dan menjelaskan konsep pembuatan web dasar (web

statis)

o Siswa dapat mengoperasikan atau membangun web sederhana dengan bahasa

pemrograman dasar HTML

6.2 Tujuan Instruksional Khusus o Siswa mengerti dan mampu menjelaskan apa yang dimaksud dengan HTML

(Hypertext Markup Languange), HTTP, Internet, browser

o Siswa dapat menggolongkan perintah apa saja yang temasuk pemrograman dasar/

HTML

o Siswa mengerti dan mampu Situs Web dengan bahasa HTML

o Siswa dapat menggolongkan perintah apa saja yang termasuk HTML

o Siswa dapat menjelaskan penggunaan Web

o Siswa mengerti perbedaan client server dan web server

o Siswa mengerti apa yang dimaksud dengan perencanaan web

o Siswa mengerti penerapan Macromedia Dreamweaver dalam desain web lanjutan

o Siswa mengerti penggunaan template untuk penyamaan layout web

o Siswa dapat mengelola dan membuat pemrograman web dasar dengan baik dan

benar

Bab

6

Modul Junior Web Programmer 162

6.3 Menjelaskan konsep dasar dan teknologi dari webpage HTML atau lengkapnya disebut Hypertext Markup Languange adalah bahasa

yang mengatur/ membangun fungsi-fungsi perintah untuk ditampilkan dalam halaman

web. Yang bisa dimunculkan dalam tampilan web antar lain berupa teks, gambar, dan

multimedia. Kombinasi dari ketiganya akan menghasilkan tampilan web yang menarik.

6.3.1 Konsep-konsep dan teknologi web

HTML

HTML adalah bahasa standard dalam pembuatan website. Sebuah website

umumnya terdiri dari beberapa halaman. Halaman-halaman website itu adalah file-

file HTML yang di dalamnya berisi perintah-perintah yang anda tulis.

HTTP

HTTP singkatan dari “HyperText Transfer Protocol“. Adalah protokol jaringan

dengan fitur-fitur Web-specific yang berjalan pada bagian teratas dari dua lapisan

protokol lain, TCP dan IP.

TCP & IP

TCP adalah sebuah protokol yang bertanggung jawab untuk memastikan file yang

dikirim dari akhir network telah lengkap dikirimkan, berhasil pada tujuannya. IP

merupakan sebuah protokol yang mengarahkan (me-routing) file dari satu host ke

host lain pada jalannya untuk tujuan. HTTP menggunakan dua protokol ini untuk

memastikan bahwa permintaan dan respond telah lengkap dikirimkan diantara

masing-masing akhir komunikasi.

HTTP menggunakan urutan Request/Response: Sebuah HTTP client membuka

koneksi dan mengirim sebuah pesan permintaan pada HTTP server; server

kemudian mengirimkan pesan respon, biasanya berisikan resource yang diminta.

Setelah mengirimkan respon, server menutup koneksi (membuat HTTP menjadi

protokol tanpa status, contoh, tidak memelihara beberapa informasi koneksi

diantara transaksi).

URL

Modul Junior Web Programmer 163

Singkatan dari Uniform Resource Locator adalah standar peg-alamatan (address-

ing) sebuah file di Internet yang dirancang khusus untuk digunakan dengan

browser WWW seperti Netscape, Internet Explorer, Opera, dan lain-lain

WWW Merupakan sebuah sistem dimana informasi (teks, gambar, suara, dan lain-lain)

dipresentasikan dalam bentuk hypertext dan dapat diakses oleh sebuah peraga

WWW (yang sering disebut sebagai browser).

Informasi di WWW pada umumnya ditulis dalam bentuk HTML (Hypertext

Markup Language). Selain itu, informasi lain dapat berupa gambar (dalam format

GIF, JPG, PNG), suara (dalam format AU, WAV), dan objek multimedia lainnya

(seperti MIDI, Shockwave, Quicktime Movie, 3D World).

Javascript

Javascript adalah bahasa pemrograman yang bila diaplikasikan ke halaman web

akan membuat halaman tersebut menjadi lebih interaktif karena kemampuannya

mengakses objek (object oriented). Umumnya untuk halaman web sederhana,

aplikasi javascript digunakan untuk validasi form, membuat tampilan gambar yang

lebih interaktif, menampilkan pesan pada status bar, dan fungsi-fungsi lainnya.

Internet

Internet adalah hubungan antar jaringan dimana dalam jaringan tersebut, komputer

yang terkoneksi di dalamnya mampu melakukan komunikasi. Untuk

menghubungkan koneksi internet dibutuhkan sebuah mesin yang dsebut gateway.

Gateway akan menyambungkan hubungan antar jaringan dan melaksanakan

terjemahan yang diperlukan, baik perangkat keras maupun perangkat lunaknya.

6.3.2 Perbedaan antara klien dan server

Sistem operasi jaringan Client Server memungkinkan jaringan untuk

memusatkan fungsi dan aplikasi kepada satu atau dua dedicated file server. File server

memungkinkan untuk mengakses sumber daya, dan menyediakan keamanan.

Aplikasi web adalah jenis aplikasi yang menggunakan arsitektur client-server.

Pada jenis arsitektur ini, program client terhubung pada sebuah server untuk informasi

Modul Junior Web Programmer 164

yang dibutuhkan untuk melengkapi tugas-tugas yang telah diset oleh user. Ada 2 jenis

client, yaitu:

1. Thin client

Thin client adalah clients yang hanya berisikan sedikit dari apa yang diperlukan

untuk pengalaman user, kebanyakan hanya interface. Semua logika bisnis, semua

data, terkecuali yang disediakan oleh user, berada di dalam server.

2. Thick client

Thick clients adalah clients yang sama, kecuali pada interface, juga berisi logika

pengolahan yang diperlukan untuk tugas-tugas user yang spesifik.

Client digunakan untuk aplikasi web thin client. Proram client, pada hal ini

adalah browser, hanya sebuah interface yang oleh user digunakan untuk melaksanakan

tugas-tugas. Sedangkan data yang diperlukan untuk dijalankan dan logika yang

menjalankan program berada di server.

Logika dasarnya adalah, server menerima permintaan dari web browser dan

kemudian meresponnya. Beberapa permintaan yang datang dari client disertai nama dan

alamat item yang dicari computer client. Server akan menerima permintaan tersebut,

memprosesnya dan kemudian merespon data yang dicari oeh client. Bila server gagal

merespond, akan ditampilkan kode error yang mengindikasikan bahwa item yang dicari

tidak terdapat pada server (atau mungkin akan diberikan kode error lain sesuai dengan

jenis error yang terjadi).

Web Client

Ketika user me-request suatu permintaan (seperti mengisi form, mencari gambar, dll),

user akan melakukannya dalam browser, dan browser akan memformat permintaan

tersebut menjadi suatu kode yang dapat dimengerti oleh server. Kemudian server akan

memproses permintaan tersebut dan mengirimkan respond. Browser akan mengambil data

yang dibutuhkan dari respond yang diberikan server dan kemudian menampilkannya untuk

user.

6.3.3 Cara bagaimana bandwidth mempengaruhi transmisi data dan gambar pada

layer

Bandwith adalah sarana transmisi dalam sebuah jaringan. Besarnya bandwith akan

mempengaruhi seberapa cepat sebuah data atau gambar dapat ditransmisikan.

Modul Junior Web Programmer 165

6.3.4 Software teks editor yang tersedia untuk merancang web page

Penulisan perintah HTML dapat dituliskan di software yang telah tersedia dalam

komputer pada umumnya, yaitu word processor seperti Microsoft Word, Word Pad atau

NotePad. Yang banyak digunakan orang sebagai media penulisan HTML adalah Notepad.

6.3.5 Keuntungan dan kerugian running dari server yang di miliki dibandingkan

server provider

Dibawah ini tabel mengenai perbedaan running web dari server yang dimiliki dengan

server provider.

Server Sendiri (LAN) Server Provider (Internet)

Cakupan Cakupannya lebih kecil Cakupan lebih luas

Akses data Akses tidak dibatasi oleh

bandwih

Akses data dibatasi oleh

bandwith

6.4 Mempersiapkan pekerjaan pembuatan web Sebelum membuat web, beberapa point dibawah ini perlu diperhatikan dahulu.

6.4.1 Software teks editor dan browser sesuai dengan kebutuhan

Software teks editor yang paling sederhana dan paling banyak digunakan adalah

teks editor yang telah tersedia dari program windows, yaitu Notepad. Untuk membuka

program Notepad, klik Start, kemudian Program, cari Accessories, dan klik Notepad.

Lebih jelasnya anda bisa lihat di gambar berikut.

Modul Junior Web Programmer 166

Buka program Notepad anda dan aktifkan menu ‘Wordwrap’. Penulisan kode

HTML umumnya panjang dan melebar ke samping, untuk mengatasi hal tersebut dalam

menu Notepad ada fitur ‘Wordwrap’ yang bila diaktifkan maka secara otomatis akan

memformat baris-baris tersebut dalam ukuran window sehingga lebih mudah dibaca.

Untuk mengaktifkan caranya anda klik menu Format lalu Wordwrap (lihat gambar di

bawah ini).

Modul Junior Web Programmer 167

6.4.2 Software beroperasi sesuai dengan standar operasi software

Beberapa jenis software hanya bisa digunakan dengan standar tersendiri, biasanya

menyangkut kemampuan dari komputer yang digunakan, seperti memori komputer,

prosesor, ataupun media VGA nya. Hal yang sama juga berlaku pada software pembuat

web, seperti Macromedia Dreamweaver, Microsoft Frontpage. Standar yang diperlukan

tergantung pada versi dari software tersebut.

6.4.3 Sketsa desain untuk web yang akan di buat

Suatu disain web yang baik memiliki kesatuan disain, atau kesamaan tema dalam

halaman-halaman web nya. Hal ini sangat penting untuk diperhatikan supaya pengunjung

web tidak mengalami kebingungan dalam menelurusuri halaman-halaman web anda.

Kesamaan disain yang harus anda perhatikan biasanya adalah dari segi kesamaan

jenis huruf, background, warna link, menu, letak menu, dan hal-hal umum lainnya.

Beberapa hal yang harus diperhatikan dalam mendisain web, seperti:

1. Isi dari web tersebut

2. Link-link yang tersambung (link tersebut tidak error bila di klik)

3. Kemudahan navigasi web, jangan sampai membingungkan user

4. Besar file dari halaman web yang akan di download untuk ditampilkan di

browser.

Ada baiknya anda menentukan prioritas atas web anda, tentunya tergantung pada

target dari web tersebut. Misalnya anda membuat web tentang promosi barang, maka anda

akan cenderung lebih mementingkan disain yang semenarik mungkin untuk mendapatkan

perhatian pengunjung web.

6.4.4 Data yang akan di tampilkan di web tersedia

Siapkan data-data yang hendak anda tampilkan, misalnya anda ingin membuat web

tentang promosi barang, maka siapkan rancangan disain web anda, gambar-gambar yang

hendak ditampilkan, warna serta gambar background dan isi tulisan dari web tersebut.

Modul Junior Web Programmer 168

6.4.5 Area kerja untuk membuat dokumen web baru

Tentukan lingkup atau batasan dari web anda, dalam arti jangan sampai web yang

anda buat pada akhirnya tidak jelas maksud dan tujuannya. Misalnya anda ingin membuat

web tentang katalog barang perusahaan, maka fungsikan web anda seperti halnya sebuah

katalog yang memberikan informasi kepada pelanggan, tidak perlu ditambahkan berbagai

macam fitur yang tidak ada hubungannya yang justru akan membingungkan user.

6.5 Melakukan pembuatan dokumen web baru Secara umum, langkah-langkah persiapan untuk membuat suatu web baru adalah:

1. Merumuskan tujuan pembuatan web

Berdasarkan isi/ tujuan, umumnya web dapat digolongkan menjadi beberapa jenis,

yaitu :

• Web marketing

Faktor paling penting dalam web ini adalah disain, yang harus bisa menarik

pengunjung untuk mampir ke web anda.

• Web customer service

Berfungsi sebagai media untuk melayani konsumen.

• Web e-commerce

Sebagai media transaksi online

• Web berita

Sebagai media informasi dan berita dimana keakuratan informasi yang

disampaikan menjadi faktir paling penting.

2. Menentukan isi web

Isi web yang hendak anda tampilkan tentunya tergantung pada jenis web yang

hendak anda buat.

3. Menentukan target web

Anda perlu membuat suatu gambaran target yang akan dituju, karena para

pengakses web menggunakan browser yang berbeda, kecepatan koneksi internet

yang berbeda, serta monitor dengan resolusi internet yang berbeda pula.

4. Menentukan struktur web

Struktur web akan menentukan kemudahan manajemen web, struktur yang baik

akan memudahkan pengelolanya untuk mengontrol web tersebut.

Modul Junior Web Programmer 169

6.5.1 Proses pembuatan web sesuai dengan standar operasi aplikasi di lakukan

Ada beberapa standar aplikasi yang perlu diperhatikan untuk menjalankan sebuah web,

seperti :

1. Nama domain

Yang berfungsi sebagai alamat dari web tersebut. Seperti www.google.com.

Nama domain ini harus melalui proses registrasi terlebih dahulu agar terdaftar

di internet.

2. Web Hosting

Tempat untuk meletakkan file-file web agar bisa diakses di internet.

3. Upload hasil disain web ke internet.

6.5.2 Web yang di buat tampil di layar sesuai dengan disain

Untuk memastikan web yang dibuat tampil sesuai dengan disain, cara paling mudah

adalah dengan menjalankan web tersebut. Contoh paling sederhana adalah dengan

menggunakan editor Notepad. Ketikkan perintah HTML sederhana seperti berikut ini, dan

simpanlah file tersebut dengan ekstention .html.

<HTML> <HEAD> <TITLE>Perintah Body Sederhana</TITLE> </HEAD> <BODY BGCOLOR=”Blue” TEXT=”Black” ALINK=”RED” VLINK=”#FF0000” LINK=”Green”> <B>huruf tebal</B> <I>huruf miring</I> <U>garis bawah</U> <B><I>huruf tebal dan cetak miring</B></I> </BODY> </HTML>

Untuk menampilkan web tersebut, bukalah file html anda dengan browser (contoh :

Internet Explorer), hasilnya akan ditampilkan seperti berikut :

Modul Junior Web Programmer 170

6.5.3 Data yang tersedia tampil di layar web

Data untuk web tersebut akan ditampilkan sebagaimana yang anda kehendaki saat

menuliskan tag-tag html nya. Seperti contoh di atas, sebagaimana perintah html untuk

membuat warna background menjadi biru dan tulisan menjadi kuning, maka data tersebut

akan ditampilkan seperti contoh di atas.

Contoh data di bawah ini dan tampilannya di halaman web :

<HTML> <HEAD> <TITLE>Belajar HTML</TITLE> </HEAD> <BODY> <UL> List Hari: <BR> <L1> Monday <BR> <L1> Tuesday <BR> <L1> Wednesday <BR> <L1> Thursday <BR> <L1> Friday <BR> <L1> Saturday <BR> </UL> Modul&nbsp;Training <BR> <A HREF=”coba.htm”>LINK</A> </BODY> </HTML>

Modul Junior Web Programmer 171

Tampilan dari perintah HTML di atas adalah:

Di bawah ini beberapa tag dasar untuk menampilkan karakter fisik HTML :

Tag Fungsi

<FONT> Untuk mengatur tampilan karakter (jenis huruf)

<SMALL> Untuk membuat ukuran tulisan menjadi lebih kecil

<BIG> Untuk membuat ukuran tulisan menjadi lebih besar

<STRIKE> Untuk menampilkan coretan pada huruf (garis horizontal di

tengah-tengah tulisan)

<U> Untuk menggarisbawahi kata

<B> Untuk menebalkan kata/ tulisan

<I> Untuk mencetak miring kata/ tulisan

<TT> Untuk membuat tampilan huruf di web seperti huruf pada

mesin ketik

Untuk mengatur data berupa gambar, gunakan tag berikut ini :

a. Align = untuk pemerataan / margin kanan atau kiri

b. Width = Untuk mengatur lebar gambar

Modul Junior Web Programmer 172

c. Border = Untuk memberi bingkai pada gambar

d. Height = Untuk menentukan tinggi gambar

e. Alt = Untuk memberikan text alternatif bila gambar tidak berhasil ditampilkan

pada web.

f. Title = Untuk memberikan keterangan tentang gambar. (Bila pointer mouse

diarahkan ke gambar, maka akan muncul tulisan yang menjelaskan gambar

tersebut).

Dalam mendefiniskan jenis warna pada perintah HTML digunakan bilangan heksadesimal.

Misalnya kode #FF0000 mewakili warna merah. Penggunaan bilangan heksadesimal

dilakukan karena keterbatasan kata-kata dalam mendefinisikan jenis warna, misalnya

merah muda, coklat muda. Dengan kode heksadesimal, bisa diperoleh 256 jenis warna

yang berbeda. Kode warna ditulis dengan format heksa #rrggbb. Berikut ini adalah 16

kode warna dasar.

Anda bisa mengkombinasikan angka-angka untuk mendapatkan campuran warna yang

diinginkan. Komposisinya adalah sebagai berikut, 2 digit pertama mewakili warna merah,

2 digit berikutnya mewakili warna hijau, dan 2 digit terakhir mewakili warna hijau.

Tabel warna dasar bilangan heksadesimal.

Color Hexadecimal Color Hexadecimal

Black #000000 Blue #0000FF

Olive #808000 Lime #00FF00

White #FFFFFF Fuchsia #FF00FF

Green #008000 Maroon #800000

Red #FF0000 Gray #808080

Teal #008080 Purple #800080

Yellow #FFFF00 Silver #COCOCO

Navy #000080 Aqua #00FFFF

Dalam melakukan pengeditan dokumen HTML, ada fitur praktis yang bisa

digunakan, yakni CSS. CSS atau kepanjangan dari Cascading Style Sheet adalah

kumpulan atribut yang dapat digunakan untuk mengatur tampilan banyak dokumen

bersamaan. Dengan menggunakan CSS kita bisa mengubah format keseluruhan dokumen

Modul Junior Web Programmer 173

atau file-file html tanpa mengeditnya satu per satu, karena CSS dapat menjadi suatu file

yang terpisah dari dokumen-dokumen lain yang terhubung dengannya.

Ada 2 cara penggunaan CSS yaitu:

1. Dengan menyisipkan kode CSS langsung dengan kode HTML

2. Membuat file terpisah (dengan ekstensi .css).

6.6 Membuat Link Pengertian Link adalah sebuah teks atau gambar yang bila di-klik akan membawa anda

menuju ke bagian lain dalam web. Link biasanya ditandai dengan teks warna biru

bergarisbawah. Tag pembuka untuk membuat link adalah <HREF> dan tag

penutupnya adalah </A>. Kode dasarnya adalah: <A HREF=”Link tujuan”>nama link

anda</A>

Contoh penggunaan, anda ingin membuat link dalam web anda yang bila diklik akan

memunculkan halaman yahoo.com.

<A HREF=www.yahoo.com>Klik yahoo.com</A>

Ada beberapa jenis link yang bisa anda gunakan, berdasarkan lokasi tujuannya link

dibedakan :

• Link menuju bagian lain dari halaman web anda

• Link menuju halaman lain dalam satu website

Karena link menuju ke web yang sama, maka tidak perlu dituliskan alamat URL web

tersebut, cukup dituliskan lokasi file-nya. Ada beberapa variasi penulisan kode link

tergantung pada letak file disimpan.

• Bila file berlokasi pada folder yang sama dengan file dari link tersebut maka

cukup dituliskan nama file-nya, misalnya: href="modul1.htm"

• Bila file yang dituju itu berada dalam folder yang lain di bawah folder yang

ditempati oleh link tersebut, maka harus dituliskan nama folder-nya.

Misalnya: href="modul1/test001.htm"

• Bila file yang dituju itu berada dalam folder yang lain di atas folder yang

ditempati oleh file dari link tersebut maka dituliskan seperti

berikut: href="../rainbow.gif"

• Bila file yang dituju letaknya dua tingkat di atas maka dituliskan dua kali

titik dua seperti ini: href="../../rainbow2.gif" dan seterusnya

1. Link menuju ke website lain atau resource yang berbeda

Modul Junior Web Programmer 174

2. Link yang menuju ke bagian tertentu (bookmark)

3. Link yang menuju ke suatu file yang dapat ditampilkan dalam browser,

misalnya file image atau animasi

4. Link yang menuju ke suatu file tertentu yang tidak bisa ditampilkan atau

dijalankan dalam browser misalnya: file program (EXE), file kompresi

(ZIP), file audio (seperti MP3, RM), file video, dan lain-lain. Bila link

semacam ini di-klik, akan muncul kotak dialog yang menanyakan apakah

anda akan menyimpan (save) file itu dalam hardisk atau menjalankannya

dengan program yang sesuai. Proses pengambilan dan penyimpanan file

disebut download. Cara penulisan alamat link ini sama saja dengan cara

penulisan link biasa.

5. Link yang mengarah ke alamat email. Bila link ini diklik akan membuka

jendela pengiriman email dari program email yang terinstall pada

komputer user (misalnya Microsoft Outlook). Pada kotak tujuan email

(To:) sudah tercantum alamat email tujuan. Contoh penulisan seperti :

href="mailto:[email protected]"

Penambahan link dimaksudkan agar pengguna dapat mencari informasi yang dibutuhkan

secara cepat tanpa harus terlebih dahulu membaca keseluruhan isi. Penambahan link

dapat diimplementasikan pada sekelompok kata, frase, atau gambar.

6.6.1 Link antar dokumen

Anda juga bisa membuat link dengan dokumen lain, caranya dengan mengarahkan perintah

<A HREF> ke dokumen yang hendak anda sambungkan. Contoh <A

HREF=”coba.htm”>LINK</A>. Artinya perintah ini akan menampilkan tulisan LINK di

web anda yang bisa di klik akan membawa me-link ke dokumen “coba.htm”.

Untuk memunculkan halaman yang dituju oleh link ada 2 cara, yaitu:

1. Pemunculan pada halaman yang sama. Ini adalah cara default, artinya

bila tidak dituliskan perintah apapun, maka cara pemunculan halaman

tempat link akan menggantikan halaman yang saat itu sedang dibuka.

2. Pemunculan pada window (jendela) baru, artinya akan muncul window

baru yang menampilkan halaman link yang di klik, sementara itu

halaman yang sebelumnya masih dibuka. Untuk membuat pemunculan

Modul Junior Web Programmer 175

seperti itu, anda cukup menampilkan atribut TARGET=”_blank” dalam

isi tag <A HREF>.

Contoh: <A HREF=”www.yahoo.com” target=”_blank”>link</A>

6.6.2 Perbedaan Client Side Image Mapping dan Server Side Image Mapping

Ada 2 jenis mapping, yaitu:

1. Server Side Image Mapping

Mapping jenis ini diwakili oleh web server, cara mapping tergantung pada

software yang di-install ke web server. Dalam server side image map, ketika

user meng-klik, maka browser akan mentransfer koordinat dari sumber klik

tersebut (user) ke program yang dijalankan di web server. Program ini

kemudian memeriksa map data dan menentukan link-nya.

2. Client Side Image Mapping

Mapping jenis ini diwakili oleh web browser (mapping ditambahkan pada

halaman host page). Web browser akan memproses tanpa perlu berinteraksi

dengan server. Cara ini akan mengurangi beban server sehingga bisa

memberikan feedback yang lebih baik pada halaman web pengunjung (host

page). Perbedaan paling mendasar antara client side dan server side adalah

pada client side mapping semua link dan perintah (map files) disimpan

langsung di dokumen HTML. Jadi browser memproses semua pekerjaan

secara lokal. Kelemahannya adalah hanya beberapa jenis browser yang

mendukung pilihan ini.

6.6.3 File index. HTML pada sebuah web server di identifikasi

Untuk menempatkan web yang anda buat (web hosting), gunakan nama file index.html.

Yang perlu anda perhatikan adalah selalu gunakan nama index.html untuk file awal yang

hendak anda munculkan ketik web dibuka.

6.6.4 In line image dengan perbedaan bagian yang di link

Dalam membuat web, anda juga bisa menambahkan image yang anda ambil dari internet,

dimana bila image tersebut di klik akan me-refer penggunanya ke web asli dari image

Modul Junior Web Programmer 176

tersebut. Ini yang disebut sebagai In line image. Misalnya dalam web anda menambahkan

icon google yang bila icon tersebut di klik akan membawa penggunanya masuk ke

halaman www.google.com.

6.7 Mengorganisasikan Dokumen Dengan Menggunakan Template Template adalah dokumen yang bisa digunakan untuk membuat banyak

dokumen lain dengan layout yang sama. Dengan menggunakan template, kita dapat

membuat web yang memiliki kesamaan disain. Selain itu, kita juga dengan mudah dapat

mengubah disain secara keseluruhan karena dengan mengubah template, maka secara

otomatis semua dokumen web yang dibuat dengan template tersebut secara otomatis ikut

berubah juga.

Template sangat berguna terutama bila sebuah web dikerjakan secara bersama-

sama dalam sebuah tim. Dengan adanya template, maka setiap halaman web yang

dikerjakan oleh disainer yang berbeda akan menghasilkan tampilan web yang sama.

6.7.1 Fitur-Fitur Template

Macromedia Dreamweaver menyimpan file template dengan ekstensi .dwt pada

folder Templates pada folder root dari situs lokal anda. Jika folder ini belum ada, maka

Dreamweaver akan membuatnya secara otomatis. File template tidak boleh diletakkan

diluar folder Templates, karena bila diletakkan di luar folder Templates, maka akan

mengakibatkan error saat anda bekerja dengan templates.

Saat membuat file template, anda harus mendefinisikan daerah yang hendak

anda kunci (lock) dan daerah yang bisa di-edit. Daerah yang di-lock tidak dapat di-edit saat

digunakan untuk membuat dokumen lain dengan template tersebut, sedangkan daerah yang

dapat di-edit dapat digunakan.

Untuk membuat file template, anda bisa menggunakan dokumen web yang sudah ada

untuk anda simpan sebagai template. Cara menyimpan dokumen sebagai template adalah

sebagai berikut :

1. Pilih file yang hendak anda jadikan template

2. Simpan file tersebut dengan memilih menu File > Save as Template

Modul Junior Web Programmer 177

6.8 Menampilkan Web dan Browser Rancanglah agar web anda bisa ditampilkan oleh semua browser. Beberapa

browser mempunyai kelebihan dan kekurangan yang berbeda. Suatu halaman web yang

indah di browser Internet Explorer kadang-kadang hanya tampak sebagai gambar kosong

(blank) di browser lain, seperti Netscape Navigator. Oleh karena itu, ada baiknya anda

mengetes web anda dengan menampilkannya di beberapa browser yang berbeda.

6.8.1 Format URL

Seperti telah dijelaskan di bagian sebelumnya, pada dasarnya semua web yang ada

diinternet memiliki alamat sendiri. URL digunakan sebagai alamat suatu web di dunia

internet. Format URL dapat disederhanakan sebagai berikut :

Bagaimana://Siapa/Dimana/Apa

atau

Protokol://hostname/direktori/nama file

Bagaimana

Bagian ini menunjukkan bagaimana cara data dikirimkan. Dalam bahasan internet

disebut sebagai protokol. Untuk aplikasi World Wide Web (WWW) digunakan

protokol http. Oleh karena itu pada bagian awal URL dideklarasikan sebagai berikut:

http://

Siapa

Bagian ini berisi nama komputer tempat resource berada atau disebut dengan

hostname. Misalkan suatu halaman web diletakkan di www.google.com, maka

penambahan URL pada bagian ini menjadi :

http://www.google.com

Dimana

Bagian ini menunjukkan lokasi yang lebih spesifik tempat menyimpan resource

internet tersebut. Secara fisik bagian ini berisi nama direktori tempat penyimpanan

resource yang bersangkutan.

http://www.google.com/home

Apa

Bagian ini menunjukkan nama file yang akan digunakan. Untuk aplikasi web, file ini

berisi kode-kode HTML dan teks. Contoh URL yang digunakan :

http://www.google.com/home/index.html

Modul Junior Web Programmer 178

6.8.2 Peran Dari Browser Dalam Membaca File-File Web

Dalam membuat web, anda bisa membuat web yang bisa ditampilkan disemua browser

ataupun yang hanya bisa ditampilkan di beberapa browser tertentu. Beberapa fungsi atau

elemen yang anda tambahkan pada saat membuat web mungkin tidak bisa ditampilkan

dalam browser tertentu. Misalnya elemen layer, merupakan salah satu elemen yang hanya

didukung oleh browser versi 4 ke atas, sehingga bisa pengguna membuka halaman web

dengan browser versi sebelumnya, elemen ini tidak akan tampak (blank).

6.8.3 Perbedaan Browser Mempengaruhi Tampilan Dari Halaman Web Dapat

Diidentifikasi

Dalam Dreamweaver, anda bisa mengecek apakah halaman web yang dibuat

compatible atau tidak dengan versi browser tertentu. Fasilitas cek target browser

melakukan pengecekan pada kode html dari halaman web. Dreamweaver menyediakan

fasilitas cek browser untuk browser Netscape Navigator versi 2.0, 3.0 dan 4.0. sedangkan

pengecekan browser untuk keluaran Microsoft adalah Microsoft Internet Explorer versi 2.0

hingga 5.0.

Cara menjalankan cek target browser :

1. Pilih salah satu cara berikut :

a. Bila ingin mengecek dokumen yang sedang anda kerjakan sekarang,

simpanlah file anda untuk memastikan perubahan terakhir yang anda

buat ikut di cek.

b. Bilaingin mengecek suatu direktori atau situs, pilih Window > Site

Files untuk membuka window site FTP, kemudian pilih folder dari

direktori lokal.

2. Pilih menu File > Check Target Browsers

3. Pilih primary browser yang hendak di test

4. Dari daftar browser yang ada, pilih target browser, klik Do Check

5. Laporan target browser akan dibuka pada primary browser

6. Untuk menyimpan laporan ini, pilih menu File > Save pada browser

Biasakan diri anda untuk melakukan preview halaman web yang anda buat di untuk

melihat tampilan sebenarnya dari dokumen web yang anda buat.

Modul Junior Web Programmer 179

DASAR-DASAR PEMBUTATAN WEB STATIK LANJUT

7.1 Tujuan Instruksional Umum

o Siswa dapat menerapkan dasar-dasar pembuatan web statik pada tingkat lanjut.

o Siswa dapat melakukan pembuatan web statik dengan berbagai fitur yang ada.

7.2 Tujuan Instruksional Khusus o Siswa dapat mengidentifikasi prosedur pengoperasian editor teks.

o Siswa dapat mengaplikasikan fitur-fitur different level heading, paragraph, font,

list, table pada dokumen web.

o Siswa dapat melakukan editing sederhana pada dokumen web.

o Siswa dapat menggunakan fitur-fitur tambahan untuk memformat layout halaman

pada dokumen web.

o Siswa mengintegrasikan dokumen web dengan obyek lain seperti grafik, animasi,

audio, video, dan lain-lain.

7.3 Mengidentifikasi prosedur pengoperasian editor teks

7.3.1 Prosedur pengoperasian software editor teks sesuai dengan standar operasi

software diidentifikasi

Untuk membuat suatu dokumen web, kita memerlukan text editor dan editor GUI

(Graphical User Interface).

Text Editor

Untuk membuat suatu dokumen web pada text editor, kita harus mengetik

kode HTML secara manual. Dan untuk membuat dokumen HTML, tidak

terbatas pada penggunaan satu text editor namun banyak jenis text editor

yang dapat kita gunakan, misalnya Notepad, WordPad, Textpad, dsb.

Bab

7

Modul Junior Web Programmer 180

Selain ada hal yang perlu diperhatikan, untuk menyimpan (save) dokumen

HTML, kita perlu menyimpan file text dengan filename extension berupa

“.htm” atau “.html”.

Berikut adalah tampilan text editor menggunakan Notepad:

Berikut adalah tampilan text editor menggunakan WordPad:

Modul Junior Web Programmer 181

Berikut adalah tampilan text editor menggunakan Textpad:

Layout editor

Selain menggunakan text editor untuk membuat suatu dokumen web, kita

dapat pula menggunakan layout editor dimana layout editor adalah GUI

(Graphical User Interface) yang merupakan program yang menyediakan

navigasi visual dengan menu-menu dan icon dan menampilkan fungsi

otomatisasi ketika kita mengklik suatu tombol (button). GUI editor

memungkinkan kita untuk membuat halaman HTML tanpa perlu untuk

mengetikkan kode HTML pada text editor. Untuk menggunakan GUI

editor, kita hanya perlu mengklik icon yang memiliki fungsi yang kita

inginkan lalu kode HTML akan secara otomatis di-generate oleh

program. Berikut adalah beberapa contoh GUI editor, seperti:

o Macromedia Dream weaver o MS-FrontPage/FrontPage Express o Adobe Go Live o Netscape Composer o Allaire Home Site

Modul Junior Web Programmer 182

Berikut merupakan contoh GUI editor yang menggunakan MS-FrontPage:

Modul Junior Web Programmer 183

Berikut merupakan contoh GUI editor yang menggunakan Macromedia

Dreamweaver:

Modul Junior Web Programmer 184

7.3.2 Pengoperasian software disesuaikan dengan standar operasi

Dalam pembuatan suatu dokumen web, kita harus memperhatikan bahwa web

tersebut dapat dioperasikan atau dijalankan dalam browser manapun, dimana bila suatu

web semakin dapat dijalankan pada berbagai browser maka web tersebut semakin memiliki

portabilitas yang tinggi. Hinggi saat ini seperti yang kita ketahui, browser-browser yang

ada sudah semakin banyak, seperti: Microsoft Internet Explorer, Mozilla Firefox, Opera,

dan lain-lain.

Selain itu, kita harus yakin bahwa suatu dokumen web harus mudah diakses oleh

pengunjungnya. Aksesibilitas suatu website mempunyai dua karakteristik, yaitu: dari segi

front-end memiliki interface yang user-friendly, hal ini meliputi grafik yang eye-catching

dan struktur informasi yang baik sehingga pembaca dapat memperoleh keuntungan yang

maksimum dari isi dalam website. Karakteristik lainnya, yaitu dari segi back-end, website

harus mudah untuk di download oleh komputer pengunjung, kemampuan ini didasarkan

pada web server dan jaringan yang digunakan.

7.4 Mengaplikasikan fitur-fitur different level heading, paragraph, font, list, table

7.4.1 Fitur-fitur different level heading diidentifikasi dan diaplikasikan

Teks dalam dokumen mempunyai judul topik, pada dokumen HTML judul ini

disebut heading. Heading tulisan akan ditampilkan dengan huruf yang lebih besar atau

ditebalkan. Heading juga dimanfaatkan untuk menunjukkan tingkat keberartian dari teks

yang akan dituliskan.

Ada 6 tingkat heading dalam HTML yang dinomori dari satu sampai dengan 6.

Nomor satu merupakan heading yang terbesar. Setiap heading dalam dokumen harus

diberi tag, tergantung pada kebutuhan/keberartian teks tersebut, jika dianggap sangat

penting kita bisa menganggap sebagai heading 1 – digunakan tag <H1>.

Sintaks elemen heading:

<Hy>teks yang menjadi heading</H>teks yang menjadi heading</Hy>, dimana y

adalah nomor heading.

Berikut adalah contoh untuk mendemonstrasikan berbagai level dalam heading:

<HTML> <HEAD> <TITLE>Contoh Heading</TITLE> </HEAD>

Modul Junior Web Programmer 185

<BODY> <H1> Ini heading 1</H1> <H2> Ini heading 2</H2> <H3> Ini heading 3</H3> <H4> Ini heading 4</H4> <H5> Ini heading 5</H5> <H6> Ini heading 6</H6> </BODY> </HTML>

7.4.2 Fitur-fitur paragraph diidentifikasi dan diaplikasikan

Informasi yang disajikan dalam dokumen harus mengikuti kaidah-kaidah dalam

penulisan, misalnya satu pikiran utama disimpan dalam satu paragraf.

Setiap paragraf harus dimulai dengan memberi tag <P>. Di akhir paragraf tidak

diharuskan menuliskan </P> sebagai akhir paragraf, karena tag <P> tidak didefinisikan

harus memiliki tag akhir. Setiap pergantian paragraf harus dimulai dengan tag <P>

kembali.

Berikut adalah contoh untuk mendemonstrasikan tag paragraf:

<HTML>

<HEAD>

<TITLE>Contoh Penggunaan Tag Paragraf</TITLE>

</HEAD>

<BODY>

<H3>Hanya yang bisa memahami...</H3>

Modul Junior Web Programmer 186

<P ALIGN="justify">Menurut sahibul hikayat,pada suatu masa tersebutlah sebuah pulau yang dihuni semua perasaan. Mulai dari kebahagiaan,kesedihan,cinta dan semua perasaan lainnya. Semua perasaan ini merasa nyaman tinggal dipulau ini. Tapi suatu hari mendadak muncul suatu pengumuman,pulau tempat tinggal mereka akan tenggelam. Semua penghuni pulau disuruh menyiapkan dan memperbaiki perahunya lalu meninggalkan pulau itu.</P>

<P ALIGN="justify">Semua perasaan mengikuti saran pengumuman. Memperbaiki perahu dan menyiapkan segala yang diperlukan,lalu bergegas meninggalkan pulau itu. Satu-satunya perasaan yang memutuskan tinggal dipulau itu adalah Cinta. Dengan kegigihan,Cinta mencoba bertahan dipulau kediamannya.</P>

</BODY>

</HTML>

7.4.3 Fitur-fitur font diidentifikasi dan diaplikasikan.

Atribut-atribut dalam tag font, antara lain:

Atribut Contoh Deskripsi

size=”number” size=”2” Mendefinisikan ukuran font.

size=”+number” size=”+1” Menaikkan ukuran font.

size=”-number” size=”-1” Menurunkan ukuran font.

face=”face-name” face=”tahoma” Mendefinisikan nama font.

color=”color-value” color=”#EEFF00” Mendefinisikan warna font.

color=”color-name” color=”red” Mendefinisikan warna font.

Berikut contoh penerapan atribut-atribut dalam tag font:

Font size

Modul Junior Web Programmer 187

<HTML>

<HEAD>

<TITLE>Font Size</TITLE>

</HEAD>

<BODY>

<FONT SIZE=1>Font Size 1</FONT><BR>

<FONT SIZE=2>Font Size 2</FONT><BR>

<FONT SIZE=3>Font Size 3</FONT><BR>

<FONT SIZE=4>Font Size 4</FONT><BR>

<FONT SIZE=5>Font Size 5</FONT><BR>

<FONT SIZE=6>Font Size 6</FONT>

</BODY>

</HTML>

Font face

<HTML>

<HEAD>

<TITLE>Font Face</TITLE>

</HEAD>

<BODY>

<P><FONT FACE="Times">Ini font face times</FONT></P>

<P><FONT FACE="Verdana">Ini font verdana</FONT></P>

<P><FONT FACE="Comic Sans Ms">Ini font face comic sans ms</FONT></P>

<P><FONT FACE="Microsoft Sans Serif">Ini font face microsoft sans serif</FONT></P>

</BODY>

Modul Junior Web Programmer 188

</HTML>

Font color

<HTML>

<HEAD>

<TITLE>Font Face</TITLE>

</HEAD>

<BODY>

<H2><FONT COLOR="Red">Ini warna merah</FONT></H2><BR>

<H2><FONT COLOR="#3333FF">Ini warna biru</FONT></H2><BR>

<H2><FONT COLOR="Green">Ini warna hijau</FONT></H2><BR>

<H2><FONT COLOR="#FF00FF">Ini warna ungu</FONT></H2>

</BODY>

</HTML>

Modul Junior Web Programmer 189

7.4.4 Fitur-fitur bullets, numbers dan style diidentifikasi dan diaplikasikan

7.4.4.1 Bullets & Numbers List merupakan bentuk yang umum yang biasa kita gunakan untuk

menguraikan daftar sesuatu, misalnya jenis-jenis list dalam HTML:

Ordered List

Nomor item secara default adalah angka 1,2,3,…, dst sampai

dengan sejumlah item dalam list tersebut. Untuk keperluan

penyajian tertentu kita dapat mengubah nomor dalam ordered

list dengan model angka yang lain, dengan mengisi atribut type

pada tag <OL>. Selain atribut type, ada juga atribut start yang

digunakan untuk mendefinisikan nomor awal yang akan

digunakan pada ordered list. Jika ingin supaya list dimulai dari

nomor 7, maka contoh penggunaannya sebagai berikut <OL

start=7>…</OL>.

Berikut adalah nilai-nilai yang dapat digunakan untuk mengubah

penomoran dalam ordered list:

Type Arti

I Ditampilkan dengan angka Romawi huruf besar.

i Ditampilkan dengan angka Romawi huruf kecil.

a Ditampilkan dengan abjad huruf kecil.

A Ditampilkan dengan abjad huruf besar.

Berikut adalah contoh untuk mendemonstrasikan ordered list: <HTML>

<HEAD>

<TITLE>Ordered List</TITLE>

</HEAD>

<BODY>

<H4>Numbered list:</H4>

<OL>

<LI>Apple</LI>

<LI>Grape</LI>

<LI>Orange</LI>

</OL>

Modul Junior Web Programmer 190

<H4>Letters list:</H4>

<OL TYPE="A">

<LI>Apple</LI>

<LI>Grape</LI>

<LI>Orange</LI>

</OL>

<H4>Lowercase letters list:</H4>

<OL TYPE="a">

<LI>Apple</LI>

<LI>Grape</LI>

<LI>Orange</LI>

</OL>

<H4>Roman numbers list:</H4>

<OL TYPE="I">

<LI>Apple</LI>

<LI>Grape</LI>

<LI>Orange</LI>

</OL>

<H4>Lowercase Roman numbers list:</H4>

<OL TYPE="i">

<LI>Apple</LI>

<LI>Grape</LI>

<LI>Orange</LI>

</OL>

</BODY>

</HTML>

Modul Junior Web Programmer 191

Unordered List

Unordered list sering disebut sebagai bulleted list,

mempunyai bullet default berupa noktah. Jenis bullet dapat

diubah, berikut adalah daftar jenis bullet yang dapat digunakan

untuk mengubah bullet default pada bulleted list:

Disk, bentuk noktah tetapi tidak diarsir ditengahnya.

Box, bentuk kotak.

Untuk mengubah jenis bullet dapat didefinisikan pada

atribut type pada tag <UL>, berikut adalah contoh penggunaan

untuk mengubah jenis bullet menjadi kotak <UL

type=”box”>...</UL>.

Berikut adalah contoh untuk mendemonstrasikan

unordered list:

<HTML>

Modul Junior Web Programmer 192

<HEAD>

<TITLE>Unordered List</TITLE>

</HEAD>

<BODY>

<H4>Disc bullets list:</H4>

<UL TYPE="disc">

<LI>Apple</LI>

<LI>Grape</LI>

<LI>Orange</LI>

</UL>

<H4>Circle bullets list:</H4>

<UL TYPE="circle">

<LI>Apple</LI>

<LI>Grape</LI>

<LI>Orange</LI>

</UL>

<H4>Square bullets list:</H4>

<UL TYPE="square">

<LI>Apple</LI>

<LI>Grape</LI>

<LI>Orange</LI>

</UL>

</BODY>

</HTML>

Modul Junior Web Programmer 193

Nested List

Bullet dapat digunakan secara bersarang, dimana maksudnya di

dalam list ada list lagi. Berikut adalah contoh untuk

mendemonstrasikan nested list:

<HTML>

<HEAD>

<TITLE>Nested List</TITLE>

</HEAD>

<BODY>

<H4>Nested List:</H4>

<UL>

<LI>Coffee</LI>

<LI>Tea</LI>

<UL>

<LI>Black Tea</LI>

<LI>Green Tea</LI>

</UL>

<LI>Milk</LI>

</UL>

</BODY>

Modul Junior Web Programmer 194

</HTML>

Definition List

Berikut adalah contoh untuk mendemonstrasikan definiton list: <HTML>

<HEAD>

<TITLE>Definiton List</TITLE>

</HEAD>

<BODY>

<H4>Definition List:</H4>

<DL>

<DT>Coffee</DT>

<DD>Black hot drink</DD>

<DT>Milk</DT>

<DD>White cold drink</DD>

</DL>

</BODY>

</HTML>

Modul Junior Web Programmer 195

Tag-tag dalam list:

Tag Kegunaan

<OL> Mendefinisikan ordered list.

<UL> Mendefinisikan unordered list.

<LI> Mendefinisikan list item.

<DL> Mendefinisikan definition list.

<DT> Mendefinisikan definition term.

<DD> Mendefinisikan definition description.

7.4.4.2 Style dalam HTML Berikut adalah tag-tag style dalam HTML:

Tag Kegunaan

<STYLE> Mendefiniskan suatu style dalam sebuah dokumen.

<LINK> Mendefinisikan relasi antara dua dokumen yang terhubung.

<DIV> Mendefiniskan suatu divisi/bagian dalam suatu dokumen.

<SPAN> Mendefinisikan suatu section dalam suatu dokumen.

<FONT> Mendefinisikan tulisan yang ingin dipakai dalam suatu dokumen.

<CENTER> Membuat posisi suatu tulisan, gambar berada ditengah.

Berikut adalah contoh penerapan style dalam dokumen HTML:

Style dalam HTML

<HTML>

<HEAD>

<TITLE>Style dalam HTML</TITLE>

<STYLE>

Modul Junior Web Programmer 196

H1{color: red}

H3{color: blue}

</STYLE>

</HEAD>

<BODY>

<H1>Ini Header Level 1</H1>

<H3>Ini Header Level 3</H3>

</BODY>

</HTML>

Link yang tidak digaris bawahi

<HTML>

<HEAD>

<TITLE>Link yang tidak digarisbawahi</TITLE>

</HEAD>

<BODY>

<A HREF="Halaman_dua.html" STYLE="text-decoration:none">

<H2>Ini adalah Link yang tidak digarisbawahi</H2>

</A>

</BODY>

</HTML>

Modul Junior Web Programmer 197

Link ke style sheet

<HTML>

<HEAD>

<TITLE>Link Ke Style Sheet</TITLE>

<LINK REL="stylesheet" TYPE="text/css" HREF="styles.css">

</HEAD>

<BODY>

<H1>I am formated with a link style sheet</H1>

<P>Me too!</P>

</BODY>

</HTML>

7.4.5 Fitur-fitur table diidentifikasi dan diaplikasikan

Table digunakan untuk menyajikan data dalam bentuk kolom dan baris. Pada

umumnya setiap kolom menunjukkan data yang sejenis dan setiap baris yang terdiri atas

kolom-kolom yang menunjukkan kelompok data dalam kesatuan.

Elemen-elemen Table: Elemen Penjelasan

<TABLE>...</TABLE> Mendefinisikan sebuah tabel dalam HTML. Jika atribut border dituliskan, maka browser akan menampilkan

Modul Junior Web Programmer 198

tabel dengan border.

<CAPTION>...</CAPTION> Mendefinisikan tulisan untuk judul tabel. Posisi default dari judul adalah ditengah pada bagian paling atas tabel. Atribut ALIGN=”bottom” dapat digunakan untuk menempatkan judul pada bagian bawah tabel.

<TR>...</TR> Menspesifikasikan sebuah baris tabel dalam tabel. Kita dapat mendefinisikan atribut untuk seluruh baris: ALIGN (Left, Center, Right) atau VALIGN (Top, Middle, Bottom).

<TD>...</TD> Mendefinisikan sebuah sel data tabel. Secara default teks dalam sel ini ditampilkan rata kiri, dan ditengah secara vertikal. Sel data tabel dapat berisi atribut untuk mendefinisikan karakteristik dari sel dan isinya.

<TH>...</TH> Mendefinisikan sel header tabel. Secara default teks dalam sel ini ditebalkan dan ditampilkan ditengah.

Atribut-atribut Table: Atribut Keterangan

ALIGN={left | center | right} Alignment horisontal untuk sel.

VALIGN={top | middle | bottom} Definisi alignment vertikal dalam sel.

COLSPAN=n Jumlah n kolom sel diperlebar.

ROWSPAN=n Jumlah n baris sel diperbesar.

NOWRAP Matikan wrapping dalam sel.

Berikut contoh penerapan elemen dan atribut dalam Table:

<HTML>

<HEAD>

<TITLE>Contoh Tabel</TITLE>

</HEAD>

<BODY>

<P ALIGN="Justify">Setiap tabel dimulai dengan sebuah tag table.

Setiap baris dimulai dengan sebuah tag TR.

Setiap data dimulai dengan sebuah tag TD.

</P>

<H4>Satu kolom:</H4>

<TABLE BORDER="1">

<TR>

<TD>One</TD>

</TR>

Modul Junior Web Programmer 199

</TABLE>

<H4>Satu baris dan tiga kolom</H4>

<TABLE BORDER="6">

<TR>

<TD>One</TD>

<TD>Two</TD>

<TD>Three</TD>

</TR>

</TABLE>

<H4>Satu baris dan tiga kolom</H4>

<TABLE BORDER="6">

<TR>

<TD ROWSPAN="2">One</TD>

<TD>Two</TD>

<TD>Three</TD>

</TR>

<TR>

<TD COLSPAN="2">Four</TD>

</TR>

</TABLE>

</BODY>

</HTML>

Modul Junior Web Programmer 200

7.5 Melakukan editing sederhana

7.5.1 Fitur-fitur manipulasi teks diaplikasikan.

Teks dalam dokumen web dapat diformat atau dimanipulasi seperti tag-tag lainnya.

Berikut adalah tag-tag yang digunakan untuk memanipulasi teks:

Tag Kegunaan

<B> Definisi teks yang ditebalkan.

<BIG> Definisi teks yang besar ukurannya.

<EM> Definisi teks yang miring.

<I> Definisi teks yang miring- italic.

<SMALL> Definisi teks yang kecil ukurannya.

<STRONG> Definisi teks yang ditebalkan.

<SUB> Definisi teks yang menjadi subscript.

<SUP> Definisi teks yang menjadi superscript.

<INS> Definisi teks yang disisipkan.

<DEL> Definisi teks yang dihapus.

<S> Definisi teks yang dihapus.

<STRIKE> Definisi teks yang dihapus.

Modul Junior Web Programmer 201

<U> Definisi teks yang digarisbawahi.

Contoh penerapan manipulasi teks:

<HTML>

<HEAD>

<TITLE>Manipulasi Teks</TITLE>

</HEAD>

<BODY>

<H3>

<FONT COLOR="Blue">

<PRE>

<B>Definisi teks yang ditebalkan.</B>

<BIG>Definisi teks yang besar ukurannya.</BIG>

<EM>Definisi teks yang miring.</EM>

<I>Definisi teks yang miring - italic.</I>

<SMALL>Definisi teks yang kecil ukurannya.</SMALL>

<STRONG>Definisi teks yang ditebalkan.</STRONG>

<SUB>Definisi teks yang menjadi subscript.</SUB>

<SUP>Definisi teks yang menjadi superscript.</SUP>

<INS>Definisi teks yang disisipkan.</INS>

<DEL>Definisi teks yang dihapus.</DEL>

<S>Definisi teks yang dihapus.</S>

<STRIKE>Definisi teks yang dihapus.</STRIKE>

<U>Definisi teks yang digarisbawahi.</U>

</PRE>

</FONT> </H3>

</BODY>

</HTML>

Modul Junior Web Programmer 202

7.5.2 Fitur-fitur editing sederhana digunakan seperti format teks, bullets,

background diaplikasikan

Untuk melakukan editing pada suatu browser web, maka yang perlu dilakukan

adalah hanyalah menganti value dari atribut pada suatu tag. Kita sangat perlu untuk

mengetahui value apa saja yang dimiliki oleh suatu atribut supaya kita dapat sering

melakukan editing untuk memperindah web milik kita karena semakin suatu web memiliki

tampilan yang menarik maka web tersebut semakin memiliki nilai lebih dibanding web-

web lainnya. Berikut adalah contoh singkat untuk editing:

• Halaman web sebelum di-edit:

<HTML>

<HEAD>

<TITLE></TITLE>

</HEAD>

<BODY BGCOLOR="#99FFFF">

<FONT SIZE="3" COLOR="#FF0000">

<UL>

<LI>Perasaan datang dan pergi. Perasaan berubah-ubah,

tapi <B>Cinta</B> bertahan dan menetap sampai selamanya.</LI>

<LI><B>Cinta</B> adalah satu-satunya perasaan yang melahirkan

kesanggupan untuk bertahan,untuk gigih sampai detik terakhir.</LI>

Modul Junior Web Programmer 203

<LI>Sesudah ditempa berbagai kesulitan,mengalami suka dan duka,

serta dengan berjalannya waktu,kita akhirnya bisa memahami

kebesaran <B>cinta</B>. </LI>

<LI><B>Cinta</B> tak menyakitkan. Jika menyakitkan pasti

bukan <B>cinta</B>.</LI>

</UL>

</FONT>

</BODY>

</HTML>

• Halaman web setelah di-edit:

<HTML>

<HEAD>

<TITLE>Contoh editing</TITLE>

</HEAD>

<BODY BGCOLOR="#FFCCFF">

<FONT SIZE="3" COLOR="#3366FF" FACE="Comic Sans Ms">

<UL TYPE="circle">

<LI>Perasaan datang dan pergi. Perasaan berubah-ubah,

tapi <B>Cinta</B> bertahan dan menetap sampai selamanya.</LI>

<LI><B>Cinta</B> adalah satu-satunya perasaan yang melahirkan

kesanggupan untuk bertahan,untuk gigih sampai detik terakhir.</LI>

<LI>Sesudah ditempa berbagai kesulitan,mengalami suka dan duka,

serta dengan berjalannya waktu,kita akhirnya bisa memahami

kebesaran <B>cinta</B>. </LI>

<LI><B>Cinta</B> tak menyakitkan. Jika menyakitkan pasti

Modul Junior Web Programmer 204

bukan <B>cinta</B>.</LI>

</UL>

</FONT>

</BODY>

</HTML>

7.6 Menggunakan fitur-fitur tambahan untuk memformat layout halaman

7.6.1 Fitur-fitur background color digunakan seperti: solid color atau nilai kode

heksadesimal, background dengan sebuah file grafik, warna untuk teks dan

hyperlink, diidentifikasi dan diaplikasikan

Color merupakan atribut yang dapat kita tambahkan pada beberapa elemen seperti

pada tag BODY (dengan atribut “BGCOLOR”), FONT (dengan atribut “COLOR”), LINK

(dengan atribut “COLOR”), dan lainnya. Color terbagi ke dalam tiga kategori warna

primer, yaitu: Red(R), Green(G), dan Blue(B). Masing-masing color didefinisikan dalam

dua digit hexadecimal number (#RRGGBB). Selain itu, untuk menyisipkan gambar grafik

sebagai background dalam suatu web kita dapat menyisipkan atribut “BACKGROUND”

pada tag “BODY”.

Modul Junior Web Programmer 205

Hexadecimal Color

#FF0000 Red

#00FF00 Green

#0000FF Blue

#000000 Black

#FFFFFF White

Berikut contoh background dengan color:

<HTML>

<HEAD>

<TITLE>Background yang berwarna</TITLE>

<STYLE>

A:link { color: #00FFFF }

A:visited { color: #336600 }

A:active { color: #FF0000 }

A.external:link { color: #FF9900 }

</STYLE>

</HEAD> <BODY BGCOLOR="#66FFFF">

<H4>

<FONT COLOR="#FF0066">

Ini merupakan contoh background yang diwarnai.<BR><BR>

Yang selain itu, teks juga di disain berwarna.<BR><BR>

<A HREF="go.html">Ini HYPERLINK yang berwarna juga.

</A>

</FONT>

</H4>

</BODY>

</HTML>

Modul Junior Web Programmer 206

Berikut contoh background dengan grafik:

<HTML>

<HEAD>

<TITLE>Background dengan grafik</TITLE>

</HEAD>

<BODY BACKGROUND="Forever_Friends_5.jpg">

</BODY>

</HTML>

7.6.2 Fitur-fitur table seperti size dan warna border, warna background,

penggunaan background gambar, cell dengan warna yang berbeda-beda,

diidentifikasi dan diaplikasikan

Untuk memformat atau membuat suatu dokumen web yang isinya memuat tentang

table, maka tidak ada salahnya jika kita menambah kesan menarik dengan mewarnai cell-

cell dan border yang ada dengan warna yang berbeda. Selain itu juga dapat didukung

Modul Junior Web Programmer 207

dengan variasi background yang berwarna atau dapat pula background dengan grafik atau

gambar. Berikut adalah merupakan atribut-atribut dari table dan macam-macam value

yang dapat kita isi untuk atribut-atribut dari table tersebut:

Atribut Value Margin-top [length | <percentage> | auto] Margin-right [length | <percentage> | auto] Margin-bottom [length | <percentage> | auto] Margin-left [length | <percentage> | auto] Padding- top [length | <percentage>] Padding- right [length | <percentage>] Padding- bottom [length | <percentage>] Padding- left [length | <percentage>] Border-top-width [medium | thin | thick | <length>] Border-right-width [medium | thin | thick | <length>] Border-bottom-width [medium | thin | thick | <length>] Border-left-width [medium | thin | thick | <length>] Border-color [<color>] Border-style [none | dotted | dashed | solid | double | groove |

ridge | inset | outset] Border-top [<border-top-width> || <border-style> || <color>] Border-right [<border-right-width> || <border-style> || <color>] Border [<border-width> || <border-style> || <color>] Width [auto | <length> | <percentage>] Height [auto | <length> | <percentage>] Float [none | left | right] Clear [none | left | right | both]

Berikut contoh penerapannya:

<HTML>

<HEAD>

<TITLE>Borders</TITLE>

<STYLE TYPE=”text/css”>

BODY { background-color: #CCFFCC }

DIV { text-align: center;

margin-bottom: .1em;

padding: .5em }

.thick { border-width: thick }

.medium { border-width: medium }

.thin { border-width: thin }

.groove { border-width: groove }

.inset { border-width: inset }

.outset { border-width: outset }

.red { border-color: red }

Modul Junior Web Programmer 208

.blue { border-color: blue }

</STYLE>

</HEAD>

<BODY>

<DIV CLASS=” thick groove”>This text has a border</DIV>

<DIV CLASS=”medium groove”>This text has a border</DIV>

<DIV CLASS=” thin groove”>This text has a border</DIV>

<P CLASS=”thin red inset”>A thin red line...</P>

<P CLASS=”medium blue outset”>And a thicker blue line</P>

</BODY>

</HTML>

Berikut adalah jenis-jenis border yang ada:

<HTML>

<HEAD>

<TITLE>Borders</TITLE>

<STYLE TYPE=”text/css”> BODY { background-color: #CCFFCC }

DIV { text-align: center;

margin-bottom: .3em;

width: 50%;

position: relative;

left: 25%;

padding: .3em }

Modul Junior Web Programmer 209

</STYLE>

</HEAD>

<BODY>

<DIV STYLE=”border-style: solid”>Solid border</DIV>

<DIV STYLE=”border-style: double”>Double border</DIV>

<DIV STYLE=”border-style: groove”>Groove border</DIV>

<DIV STYLE=”border-style: ridge”>Ridge border</DIV>

<DIV STYLE=”border-style: inset”>Inset border</DIV>

<DIV STYLE=”border-style: outset”>Outset border</DIV>

</BODY>

</HTML>

7.6.3 Fitur-fitur frame pada halaman untuk pengorganisasian informasi seperti

footer, header, horizontal split, vertical split diidentifikasi dan diaplikasikan

Elemen dalam HTML digunakan untuk membangun web page yang

memungkinkan penampilan beberapa web page ditampilkan dalam satu window browser.

Window dalam browser dibagi menjadi beberapa windows yang disebut frame. Model ini

sering digunakan untuk lebih memperjelas penyajian informasi, dengan menu sajian selalu

ditampilkan. Namun penggunaan frame hanya terbatas pada browser Microsoft Internet

Explorer versi 3.0 ke atas dan Netscape Navigator versi 2.0 ke atas. Sintaks:

<FRAMESET BORDER=# {[ROWS|COLS]={#,[#[...]]}>

<FRAME SRC=”url” NAME=”namaFrame”>

Modul Junior Web Programmer 210

</FRAMESET>

Atribut NAME merupakan atribut wajib, jika frame yang

bersangkutan akan dijadikan sebagai tempat untuk menampilkan URL suatu

link.

Target Frame Nama frame predefined: _self, _top, _parent, _blank,

sering digunakan untuk menunjukkan target penampilan dari suatu link.

Nama Frame Deskripsi

_self Digunakan apabila target frame adalah tempat link berada.

_top Digunakan apabila target frame adalah windows tempat frame berada. Dengan menggunakan _top sebagai target maka definisi frame yang ada pada windows browser akan hilang, diganti dengan definis frame yang baru jika ada.

_parent Target frame adalah setingkat di atas frame link berada. Akibat dari target frame _parent akan sama jika tempat frame link berada hanya satu level di bawah definisi frame windows.

_blank Target blank digunakan untuk membuka windows baru.

Berikut contoh penerapan FRAME:

soal02.html

<HTML>

<HEAD>

<TITLE>BELAJAR SOAL02</TITLE>

<HEAD>

<frameset rows="35%,65%" scrolling="NO">

<frame src="atas.html" name="atas" scrolling="NO" noresize>

<frameset cols="15%,85%" scrolling="NO">

<frame src="button.html" name="kiri" noresize >

<frame src="tengah.html" name="tengah" noresize >

</frameset>

</frameset>

<BODY></BODY>

</HTML>

atas.html

<HTML>

<HEAD>

Modul Junior Web Programmer 211

<TITLE>SOAL02 Header</TITLE>

<HEAD>

<BODY>

<center><img src="02Header.gif"></center>

</BODY>

</HTML>

button.html

<HTML>

<HEAD>

<TITLE>Button SOAL02</TITLE>

<HEAD>

<BODY>

<TABLE BORDER="0">

<TR><TD>

<a href="tengah.html" target="tengah"><font color="#336699">

<b>Home</b></font></a></TD></TR>

<TR><TD>

<a href="#"><font color="#336699">

<b>Book</a></b></font></TD></TR>

<TR><TD>

<a href="#"><font color="#336699">

<b>About Us</a></b></font></TD></TR>

<TR><TD>

<a href="reg.html" target="tengah"><font color="#336699">

<b>Register</a></b></font></TD></TR>

</TABLE>

</BODY>

</HTML>

tengah.html

<HTML>

<HEAD>

<TITLE>BELAJAR SOAL02</TITLE>

<HEAD>

Modul Junior Web Programmer 212

<BODY>

<FONT COLOR="#336699">

<H3><B>Welcome To Madagaskar Book Store (dot) Com</B></H3>

<PRE>

Welcome to our 1th anniversary party!

As the guest of honor at this 1-day celebration,

every day you are invited to enjoy our Hall of Fame,

Wish List Spree, and brand-new Special Deliveries.

The festivities wrap up on May 24, when we'll bring you

A Show of Thanks, a live concert event featuring Ricky Alamsyah,

Rostan, and other all-time customer favorites.</pre>

Our new Store is:

<UL>

<LI>Automotive</LI>

<LI>Sport</LI>

<LI>Health & Personal Care</LI>

<LI>Flora and Founa</LI>

</UL>

<HR WIDTH="100%" SIZE="10" COLOR="#336699">

<CENTER>Copyrigth © By Bluejack 2005</CENTER>

</FONT>

</BODY>

</HTML>

Modul Junior Web Programmer 213

7.7 Mengintegrasikan dokumen web dengan obyek lain seperti grafik, animasi, audio, video. dll

7.7.1 Obyek lain seperti grafik, animasi, audio, video disisipkan ke dalam halaman

web.

Multimedia merupakan salah satu komponen andalan yang menyebabkan web

menjadi cepat populer. Selain informasi menjadi mudah disajikan, penyajian informasi

dalam web juga menjadi sangat menarik dan dapat menjadi interaktif, tidak sekedar teks,

karena dilengkapi dengan kombinasi warna dan kelengkapan media lain untuk mendukung

presentasi seperti gambar atau grafik, animasi, audio, dan video. Sehingga dengan adanya

hal ini, mendorong multimedia untuk diintegrasikan ke dalam dokumen web.

Mengintegrasikan images, audio, graphics, dan lain-lain dengan HTML memerlukan

kemampuan teknis dalam manipulasi audio dan images, mampu memahami dan

mengetahui dengan format file, dan mengintegrasikan multimedia ke dalam dokumen web.

Area dari spesifikasi teknis untuk penggunaan multimedia dengan browser web dan

aplikasi pembantu adalah Multipurpose Internet Mail Extensions (MIME). MIME adalah

spesifikasi untuk bagaimana system computer dapat mengubah informasi multimedia

menggunakan standarisasi mail internet. MIME meliputi spesifikasi untuk karakter non-

ASCII, images, audio, video, binary files, PostScript, dan multimedia lainnya dan format

Modul Junior Web Programmer 214

file binary. MIME juga memperkenankan user untuk mendefinisikan suatu tipe format dan

pertukaran informasi.

Spesifikasi MIME menggunakan system dari tipe message dan subtypes untuk

mengidentifikais format dari message. Tipe-tipe MIME antara lain image, audio, text,

video, application, multipart, dan message. Subtype MIME mengidentifikasi lebih spesifik

content dari message. Tipe/Subtype MIME “text/html”, sebagai contoh: mengidentifikasi

text file yang seharusnya diwujudkan sebagai dokumen HTML. Tipe/subtype MIME

“video/mpeg” mengidentifikasi MPEG movie file.

Web server menggunak file extension untuk menentukan tipe dan subtype MIME

dari suatu file multimedia ketika dikirim dalam memberikan respon untuk request browser

web. File-file menggunakan extension “.html” (“.htm” untuk pengguna PC) merupakan

text/html, selain itu file-file menggunakan extension “.mpeg” (“.mpg” untuk pengguna PC)

merupakan video/mpeg. Web server mengirim message permulaan dengan

mengidentifikasi dari MIME content type untuk browser. Sebagi contoh, mengirim

dokumen HTML, dimana message diawal dengan “Content-type: text/html”.

7.7.2 Sebagian atau keseluruhan web halaman dapat disisipkan obyek lain

Berikut adalah contoh penempatan image dalam dokumen web:

<HTML>

<HEAD>

<TITLE>Image Placement and Size Example</TITLE>

</HEAD>

<BODY BGColor="white">

<P>

<HR>Text before <IMG Align="left" Src="stats.gif">Align="left"

<BR Clear="all">

<HR>Text before <IMG Align="right" Src="stats.gif">Align="right"

<BR Clear="all">

<HR>Text before <IMG Align="top" Src="stats.gif">Align="top"

<BR Clear="all">

<HR>Text before <IMG Align="middle" Src="stats.gif">Align="middle"

<BR Clear="all">

<HR>Text before <IMG Align="bottom" Src="stats.gif">Align="bottom"

Modul Junior Web Programmer 215

<BR Clear="all">

<HR>Text before

<IMG Width="200" Height="100" Align="middle" Src="stats.gif">

Align="middle" Width="200" Height="100"

<BR Clear="all">

<HR></P>

</BODY>

</HTML>

Format image dapat dibuat dan ditampilkan dalam berbagai format.

Berikut dua style untuk tampilan images, antara lain:

a. Image yang menggunakan inline image: <IMG ALIGN=”bottom” SRC=”stats.gif”>

b. Image yang menggunakan tujuan dari hypertext link: <A HREF=”stats.gif”>Statistik</A>

Berikut beberapa format image yang mungkin untuk image viewers:

BMP Microsoft Windows BitMaP file

CUR Microsoft Windows CURsor file

EPS Encapsulated PostScript

GIF CompuServe Graphics Image Format file

HDF Hierarchical Data Format file

ICO Microsoft Windows ICOn file

ICON Sun Icon and Cursor file

MPNT Apple Macintosh MacPaint file

PBM Portable BitMap file

PGM Portable Grayscale Map file

PIC PIXAR PICture file

PICT Apple Macintosh QuickDraw/PICT file

PICT SoftImage PICT file

PIX Alias PIXel image file

PNM Portable aNy Map file

PPM Portable Pixel Map file

PS PostScript

Modul Junior Web Programmer 216

RAS Sun RASterfile

RGB Silicon Graphics RGB image file

RGBa 4-component Silicon Graphics image file

RGBA 4-component Silicon Graphics image file with generated alpha

RLA Wavefront raster image file

RLE Utah Runlength-encoded image file

RPBM Raw Portable BitMap file

RPGM Raw Portable Grayscale Map file

RPNM Raw Portable aNy Map file

RPPM Raw Portable Pixel Map file

SYNU Synu image file

TGA Truevision Targa image file

TIFF Tagged Image File

VIFF Khoros Visualization Image File Format

X Stardent AVS X image file

XBM X11 Bit Map file

XWD X Window Dump image file

Seperti graphics atau images, berikut format file untuk audio dan video yang

diizinkan penggunaannya:

AIF(6), AIFF Apple/SGI

AIF(6), AIFC Apple/SGI

AU or SND NeXT/Sun, µ-law format

IA Illustrated audio (http://debra.dgbt.doc.ca/ia/ia.html)

MOD or NST MIDI Amiga

IFF, IFF/8SVX Amiga

MPEG or MPG, RealAudio sound (http://www.realaudio.com/) RA or RAM

Modul Junior Web Programmer 217

SF IRCAM

TSP True Speech (http://www.dspg.com/)

VOC Creative Voice

WAV, WAVE RIFF WAVE

Microsoft memperluas HTML untuk menspesifikasi dokumen web pengguna

sehingga memperkenankan untuk mendengarkan sound secara otomatis bersamaan ketika

membuka dokumen web. Browser Internet Explorer memperkenankan elemen

BGSOUND, yang memainkan soundtrack ketika dokumen ditampilkan. Selain itu, format

sound yang diakui dalam Internet Explorer adalah WAV, AU, dan MIDI. Berikut atribut

BGSOUND:

SRC=”url of sound file”

LOOP=”numbers of times to replay file”

Movie dalam web dapat memberikan kekuatan informasi visual yang lebih untuk

user. Microsoft Internet Explorer memperkenankan beberapa atribut untuk penggunaan

IMG untuk inline movie. Berikut atribut-atributnya:

DYNSRC=”url of the AVI movie”

LOOP=”number of times to play the movie”

Start=”mouseover|fileopen”

7.7.3 Teknik-teknik manipulasi audio didemonstrasikan

Berikut beberapa atribut yang digunakan dalam tag EMBED yang digunakan untuk

memanipulasi audio yang ditampilkan dalam suatu dokumen web:

Attribute Values

SRC="filename" A file name with an extension associated with a MIME type assigned to be played by LiveAudio (.AU, .AIFF, .AIF, .WAV, .MIDI, or .MID). Required.

WIDTH=integer The control console width in pixels. Required.

HEIGHT=integer The control console height in pixels. Required.

AUTOSTART=TRUE|FALSE If True, the sound clip plays automatically. The default is False.

AUTOLOAD=TRUE|FALSE If False, the sound clip does not automatically load. The default is True.

Modul Junior Web Programmer 218

STARTTIME="mm:ss" The start time in minutes and seconds from the start of the clip. The default is 00:00.

ENDTIME="mm:ss" The end time in minutes and seconds from the start of the clip. The default is the end of the clip.

VOLUME=percentage Playback volume expressed as a percentage of the maximum. The default is the last previously set volume.

ALIGN="value" The point at which to align the control panel with respect to adjoining text. The possible values are CENTER, BASELINE, TOP, LEFT, and RIGHT. BASELINE is the default.

CONTROLS="value" The controls to include on the control panel. The values can be CONSOLE, SMALLCONSOLE, PLAYBUTTON, PAUSEBUTTON, STOPBUTTON, or VOLUMELEVER. The remainder of this table describes the sets of controls associated with each of these values. The default is CONSOLE.

CONSOLE A full set of controls: Play, Pause, Stop, and Volume.

SMALLCONSOLE A reduced set of controls consisting of Play, Stop, and Volume. AUTOSTART defaults to True.

PLAYBUTTON The Play button only.

PAUSEBUTTON The Pause button only.

STOPBUTTON The Stop button. Also, the sound file unloads.

VOLUMELEVER The Volume control only.

CONSOLE="name" A combination of controls that enables you to include multiple sound clips on a page. For example, you could specify CONSOLE="MySetup" as an attribute on two <EMBED> lines on a single HTML page; then each line would use the controls defined by the other as well as its own.

Untuk memanipulasi audio yang ditampilkan pada dokumen web, kita hanya perlu

menganti value (nilai) pada atribut pada tag EMBED. Sebagai contohnya:

<EMBED SRC=”audio.aif” WIDTH=”144” HEIGHT=”60” AUTOSTART=”false” VOLUME=”100” CONTROLS=”console”>

7.7.4 Teknik-teknik kompresi audio dan video didemonstrasikan.

Untuk membuat proses saat suatu web di-load oleh browser maka diharapkan

penggunaan multimedia yang tidak memakan size yang terlalu besar untuk itu perlu

Modul Junior Web Programmer 219

dilakukan kompresi atau converting menuju file type yang memiliki size yang lebih kecil

sehingga akan membuat user lebih nyaman saat melihat suatu dokumen web. Selain itu,

converting dibutuhkan karena browser hanya dapat menerima multimedia dengan file type

tertentu. Berikut beberapa contohnya:

• SmartVid oleh Intel dimana bagus untuk system operasi Windows 95 yang

memperkenankan konversi antara AVI dan MOV.

• Sparkle: Pemiliki Mac dapat dengan mudah untuk melakukan konversi movie

antara MPEG dan QuickTime MOVies dengan Sparkle.

Modul Junior Web Programmer 220

DAFTAR PUSTAKA

Buku :

Arensburger, Andrew. 2001. You Are Expected to Understand This. OSTG

Bass, L. Clements, P. Kazman, R. 1998. Software Architecture in Practice. Addison-Wesley Connolly, Thomas and Carolyn Begg, Database System : A Practical Approach to Design, Implementation, and Management, Third Edition, 2002. Forta Ben. Teach Yourself SQL in 10 Minutes. SAMS Publishing Krug, Steve (2000) Don’t Make Me Think: A Common Sense Approach to Web Usability. Que/Circle.com Library. Kurniawan, Yahya., Belajar sendiri microsoft office access 2003 : Menjadi mahir tanpa guru., Elex Media Komputindo McConnell, Jeffrey J. 1997. Coding and Documentation Standard. Nielsen, Jakob (2000) Designing Web Usability: The Practice of Simplicity. New Riders Publishing Nielsen, Jakob & Tahir, Marie (2001) Homepage Usability: 40 Web Sites Deconstructed. New Riders Publishing Rob, Peter, Semaan, Elie, Database design : development and deployment using microsoft access., McGraw-Hill Shneiderman, Ben (1998) Designing the User Interface: Strategies for Effective Human-Computer Interaction. Third Edition. Addison-Wesley Sikora, Drew. The Art of Code Documentation. Gdev.net

Online Help Microsoft Access 2003

Website :

www.binusmaya.binus.ac.id

www.ilmukomputer.com

http://www.wikipedia.org

http://www.w3schools.com/

Modul Junior Web Programmer 221