modul junior web programmer
DESCRIPTION
Moduk Pelatihan Junior WebTRANSCRIPT
-
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
-
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
.
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 JE