Modul Junior Web Programmer

Embed Size (px)

DESCRIPTION

Moduk Pelatihan Junior Web

Citation preview

  • 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