bab ii landasan teori - Perpustakaan Universitas Mercu Buana

advertisement
8
BAB II
LANDASAN TEORI
2.1 BAHASA PEMROGRAMAN JAVA
Java
merupakan
bahasa
pemrograman
berorientasi
objek
yang
dikembangkan oleh SUN MICROSYSTEMS , suatu perusahaan yang terkenal
dengan Workstation UNIX high-end. Java dibuat setelah C++ , dirancang lebih
kecil, source dan binary level-nya sederhana dan portable untuk platform dan
sistem operasi apapun. Hal ini berarti program Java (Applets dan Aplikasi) dapat
dijalankan pada mesin apa saja asalkan mempunyai fasilitas JVM (Java Virtual
Machine).
Java sebagai bahasa pemrograman memiliki keuntungan yang lebih bila
dibandingkan dengan bahasa dan environment lain, sehingga Java cocok untuk
pemrograman apa saja. Dibawah ini akan disebutkan beberapa keuntungan dari
Java antara lain:
1. Sederhana dan Ampuh
Java dirancang untuk mudah dipelajari, terutama bagi programmer yang
telah mengenal C/C++ akan mudah sekali untuk berpindah ke Java.
Pemakai dapat belajar membuat program dengan Java secara cepat jika
telah memahami konsep dasar pemrograman berorientasi objek. Java
member programmer kemampuan untuk menuangkan semua ide, karena
bahasa pemrograman ini bukan merupakan scripting language (bahasa
naskah) yang menghilangkan kemampuan programmer untuk berinovasi,
tetapi dengan cara berorientasi objek yang mudah dan jelas.
9
2. Aman
Java dirancang sebagai bahasa pemrograman yang handal dan aman.
aplikasi-aplikasi yang dibangun dengan bahasa Java sangat handal dengan
manajemen memori yang bagus. Aplikasi Java juga dikenal sangat secure,
yaitu kasus- kasus seperti buffer everflow yang umumnya menjadi lubang
keamanan aplikasi-aplikasi berbasis C/C++ tidak terjadi di Java, karena
pengaturan keamanannya yang bagus
3. Kokoh
Kesalahan sering terjadi pada saat kompilasi karena Java merupakan
bahasa pemrograman yang sensitif dalam hal deklarasi dan tipe data. Oleh
karena hal tersebut, Java memiliki batasan agar dapat menemukan
kesalahan lebih cepat saat mengembangkan program yaitu dengan
langsung memeriksa program saat ditulis, dan sekali lagi ketika program
di jalankan. Hal ini akan lebih menghemat waktu jika dibandingkan
dengan keharusan menjalankan program terlebih dahulu dan memeriksa
semua bagian program untuk melihat ketidakcocokan dinamis selama
program berjalan.
4. Interaktif
Java memiliki kemampuan yang memungkinkan program melakukan
beberapa hal pada saat bersamaan, tanpa harus kesulitan menangani proses
yang akan terjadi selanjutnya. Jalinan program-program Java yang mudah
digunakan memungkinkan programmer untuk memikirkan pembuatan
perilaku khusus tanpa harus mengintegrasikan perilaku tersebut dengan
model pemrograman global yang mengatur perulangan kejadian.
10
5. Netral Terhadap Berbagai Arsitektur
Java memiliki kemampuan yang memungkinkan program melakukan
beberapa hal pada saat bersamaan, tanpa harus kesulitan menangani proses
yang akan terjadi selanjutnya. Jalinan program-program Java yang mudah
digunakan memungkinkan programmer untuk memikirkan pembuatan
perilaku khusus, tanpa harus mengintegrasikan perilaku tersebut dengan
model pemrograman global yang mengatur perulangan kejadian.
6. Terinterpretasi dan Berkinerja-Tinggi
Java dirancang untuk tetap berkinerja baik pada CPU (Central Processing
Unit) yang tidak terlalu kuat. Walaupun Java merupakan bahasa
terinterpretasi, kode-kode Java telah dirancang dengan hati-hati sehingga
mudah diterjemahkan ke dalam bahasa asli suatu mesin untuk
menghasilkan kinerja yang tinggi. Java dilengkapi keajaiban lintasplatform yang luar biasa dengan kompilasi ke dalam representasi langsung
yang disebut kode-byte Java (Java byte-code), yang dapat diterjemahkan
oleh sistem manapun yang memilki program Java didalamnya. Sebagai
sebuah platform, Java terdiri atas dua bagian utama, yakni :
•
Java virtual machine (JVM)
•
Java application programming interface (Java API)
7. Multiplatform
Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform/
sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di
mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah
program Java dan dikompilasi (diubah, dari bahasa yang dimengerti
11
manusia menjadi bahasa mesin/bytecode) sekali lalu hasilnya dapat
dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini
memungkinkan sebuah program berbasis Java dikerjakan diatas operating
system Linux tetapi dijalankan dengan baik di atas Microsoft Windows.
Platform yang didukung sampai saat ini adalah Microsoft Windows,
Linux, Mac OS dan Sun Solaris. Penyebabnya adalah setiap system
operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh
dari situs Java) untuk menginterpretasikan bytecode tersebut.
8. Perpustakaan Kelas yang Lengkap
Java terkenal dengan kelengkapan library/perpustakaan (kumpulan
program program yang disertakan dalam pemrograman Java) yang sangat
memudahkan dalam penggunaan oleh para pemrogram untuk membangun
aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan
komunitas Java yang besar yang terus menerus membuat perpustakaanperpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan
aplikasi.
9. Bergaya C++
Dalam bahasa pemrograman manapun selalu ada fitur komentar. Java
sendiri memiliki sintaks seperti bahasa pemrograman C++, dengan
tambahan yang sangat istimewa yaitu komentar yang nantinya digunakan
untuk menciptakan dokumentasi secara otomatis oleh suatu aplikasi yang
disebut javadoc, sehingga menarik banyak pemrogram C++ untuk pindah
ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah
pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika
12
Serikat juga mulai berpindah dengan mengajarkan Java kepada muridmurid yang baru karena lebih mudah dipahami oleh murid dan dapat
berguna juga bagi mereka yang bukan mengambil jurusan komputer.
10. Pengumpulan sampah otomatis
Memiliki fasilitas pengaturan penggunaan memori sehingga para
pemrogram tidak perlu melakukan pengaturan memori secara langsung
(seperti halnya dalam bahasa C++ yang dipakai secara luas). Serupa
dengan C, java mengalokasikan operator baru untuk mengalokasikan
memori pada heap untuk objek baru.
Adapun beberapa kekurangan bahasa Pemrograman Java, yaitu :
1. Tulis sekali, perbaiki di mana saja
Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan
platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai
sekarang tidak berfungsi pada siste, operasi Mac OS X.
2. Mudah didekompilasi
Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode
sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode
yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama
kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft
.NET Platform. Dengan demikian, algoritma yang digunakan program
akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
3. Penggunaan memori yang banyak
Penggunaan memori untuk program berbasis Java jauh lebih besar
daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan
13
Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan
merupakan masalah bagi pihak yang menggunakan teknologi terbaru
(karena trend memori terpasang makin murah), tetapi menjadi masalah
bagi mereka yang masih harus berkutat dengan mesin komputer berumur
lebih dari 4 tahun.
Sebagai sebuah platform, Java terdiri atas dua bagian utama, yaitu:
1. Java Virtual Machine (JVM)
2. Java Application Programming Interface (Java API)
Sun membagi arsitektur Java membagi tiga bagian, yaitu:
1. J2EE (Java 2 Enterprise Edition)
2. J2SE (Java 2 Second Edition)
3. J2ME (Java 2 Micro Edition)
2.1.2 J2SE (Java 2 Standard Edition)
Aplikasi yang dibuat dan dikembangkan penulis dalam penulisan ini
menggunakan bahasa pemrograman berbasis Java 2 Standard Edition (lebih
dikenal dengan J2SE). Pada bagian ini, penulis akan menjelaskan dasar-dasar
J2SE, meliputi pengenalan J2SE dan komponen pada J2SE. Berikut adalah
penjelasannya:
J2SE atau Java 2 Standard Edition merupakan bahasa pemrograman Java
untuk aplikasi desktop yang merupakan object-oriented programming. Pada J2SE,
terdiri dari dua buah produk yang dikeluarkan untuk membantu dalam membuat
aplikasi tanpa tergantung dari platform yang digunakan, yaitu:
14
1. Java SE Runtime Environment (JRE)
2. Java Runtime Environment (JRE) menyediakan perpustakaan, Java Virtual
Machine (JVM), dan komponen lain untuk menjalankan applet dan
aplikasi yang ditulis dengan bahasa pemrograman Java. Selain itu, terdapat
dua buah kunci teknologi yang merupakan bagian dari JRE, yaitu: Plugin, yang memungkinkan menjalankan applet di browser populer dan Java
Web Start, yang menyebarkan aplikasi mandiri melalui jaringan. JRE tidak
mengandung
utilitas
seperti
compiler
atau
debugger
untuk
mengembangkan applet dan aplikasi.
3. Java Development Kit (JDK) merupakan perangkat lunak yang digunakan
untuk menajemen dan membangun berbagai aplikasi Java. JDK
merupakan superset dari JRE, berisikan segala sesuatu yang ada di JRE
ditambahkan
compiler
dan
debugger
yang
diperlukan
untuk
mengembangkan applet dan aplikasi.
Bahasa pemrograman Java menyediakan library-library standar yang telah
di-compile dan dapat langsung digunakan dalam implementasi pembuatan sebuah
aplikasi. Pada library, terdapat berbagai macam class (kelas) yang dapat
digunakan dan telah dikelompokkan ke dalam package. Package yang tersedia
dalam J2SE akan dijabarkan pada tabel berikut:
15
Tabel 2.1 Tabel Package pada J2SE
Package
Nama Package
Language
java.lang
Utilities
java.until
I/O
java.io
Text
java.text
Math
java.math
AWT
java.awt
Swing
java.swing
Javax
Applet
Beans
Javax
java.applet
java.beans
Reflection
java.lang.reflect
SQL
java.sql
RMI
java.rmi
Networking java.net
Security
java.security Class
Keterangan
Class-class utama yang merupakan inti
dari bahasa Java
Class-class yang mendukung utilitas
struktur Java
Class-class yang mendukung berbagai
macam tipe input dan output
Class yang mendukung lokalisasi
penanganan teks, tanggal, bilangan, dan
message
Class untuk melakukan perhitungan
aritmatik
arbitrary-precesion,
baik
integer atau floating point
Class untuk perancangan user-interface
dan event-handling
Class
untuk
membuat
berbagai
komponen
dalam
Java
yang
bertingkahlaku sama dengan berbagai
platform
Perluasan dari bahasa Java
Class untuk membuat applet
Class untuk membuat Java Beans
Class untuk memperoleh informasi
runtime
Class untuk mendukung akses dan
pengolahan data dalam database
Class untuk mendukung distributed
programming
Class
untuk
mendukung
dalam
membangun aplikasi jaringan
Class untuk
mendukungkeamanan
kriptografi
2.1.3 GUI (Graphical User Interface)
Class dapat digambarkan sebagai cetakan untuk membuat object dengan
karakteristik sesuai yang dimiliki oleh class tersebut. Class menyediakan
16
kemampuan bagi objek-objek yang dibangun dari class tersebut. Class dapat
dipandang sebagai gambaran umum dari sebuah object, sedangkan bentuk aktual
object dalam Java disebut instance. Analoginya, andaikan Class sebagai gambar
rancangan sebuah gedung, maka instance adalah gedung yang telah dibangun
berdasarkan rancangan tersebut. Jadi sebenarnya tidak ada perbedaan antara
Object dan Instance, hanya saja object merupakan definisi umum sedangkan
instance merupakan sebutan bagi object yang nyata terlihat. Keduanya mengacu
pada benda yang sama.
Dalam Java, class dikelompokkan berdasarkan fungsi umumnya, misalkan
untuk membuat program berbasis GUI (Graphical User Interface), atau fungsi
lainnya. Kelompok class ini disebut class library. Pemrograman tidak perlu repot
membuat class library, karena development kit yang ada telah membuat library
sedemikian rupa, sehingga mudah digunakan. Misalnya library java.awt untuk
memprograman GUI. Dengan adanya program berbasis grafis ini, mengolah
database akan menjadi lebih mudah, disamping tampilannya lebih menarik.
Beberapa bagian dasar GUI adalah:
1) Jlabel
JLabel namaLabel = new JLabel(“label”)
Sama seperti namanya, class ini akan membuat suatu label pada sebuah
window
2) J TextField
JTextField namaText = new JTextField(jumlah_karakter_max);
JTextField adalah suatu class yang akan memudahkan dalam membentuk
isian text pada suatu frame.
17
3) Jbutton
JButton namaButton = new JButton(“label_pada_button”)
JButton adalah suatu class yang akan membantu membentuk objek
tombol.
4) Jframe
JFrame sebenarnya adalah suatu class yang disediakan untuk
memudahkan dalam membuat suatu window.
5) JinternalFrame
Sama halnya dengan JFrame, JInternalFrame akan membantu dalam
membuat window. Bedanya JInternalFrame akan berada didalam suatu
window lainnya, jadi tidak dapat berdiri sendiri seperti JFrame.
6) JMenu akan membuat objek menu bar pada sebuah frame.
7) ActionListener
ActionListener bukan merupakan suatu objek, melainkan sebuah class
yang akan menampung aksi-aksi dari sebuah objek (yang banyak dipakai
disini adalah tombol). Aksi-aksi itu akan ditampung dalam sebuah
metode
bernama
ActionPerformed.
Jadi
bila
menggunakan
ActionListener, maka harus menyertakan metode ActionPerformed pada
class tersebut.
8) Container.setLayout(new GridLayout(jumlah_baris, jumlah_kolom))
Container akan membantu dalam mengatur penempatan objek seperti
text, label, ataupun tombol. Ada banyak cara yang disediakan untuk
mengatur penempatan objek. GridLayout akan membagi sebuah window
18
menjadi beberapa baris dan kolom sesuai yang masukkan pada saat
setLayout dan penempatan objeknya dimulai dari kiri atas lalu ke kanan.
2.1.4 Contoh Pemrograman Java
Secara umum penulisan syntact bahasa pemrograman Java adalah sebagai
berikut:
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
Kode Program 1.1 Contoh penulisan bahasa pemrograman Java
Kode program tersebut dituliskan pada sebuah text editor seperti Jcreator serta
disimpan dengan ekstensi ‘*.Java’ (contoh: HelloWorld.Java) pada direktori
D:/area_Java dan output-nya jika dijalankan pada command prompt windows
adalah sebagai berikut:
Gambar 2.1 Hasil Program dengan menggunakan Java
19
2.1.5 Tahapan Kompilasi
Adapun tahapan kompilasi Java sebagai berikut:
1. Pemrogram menulis program dan menyimpannya di media dalam bentuk
berkas '.Java'.
2. Kompilasi
Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas
'.class'.
3. Muat
Pemuat class memuat bytecodes ke memori.
4. Verifikasi
Proses verifikasi memastikan bytecodes tidak mengganggu sistem
keamanan Java
5. Jalankan
Penerjemah menerjemahkan bytecodes ke bahasa mesin dan memilih mana
yang tidak bisa di pakai.
2.2 Swing
Java Swing merupakan library Java yang digunakan untuk menciptakan
Graphic User Interface (GUI) yang berbasis cross platform atau OS independent.
User interface yang dibangun dengan Java swing dapat dijalankan pada sistem
operasi apa saja yang mendukung Java dengan tampilan yang relatif sama, bahkan
dapat menyerupai user interface sistem operasi Windows, Mac OS ataupun Linux.
20
2.2.1 Arsitektur Swing
Swing
merupakan
platform-independent,
Model
View
Controller
framework untuk Java yang mengikuti model pemrograman tunggal. Arsitektur
dari swing terdiri dari:
1. Platform Independence
Swing dapat digunakan diberbagai platform seperti Windows OS, Mac
OS, dan Linux karena ekspresi Java dan implementasinya hampir sama
untuk berbagai platform.
2. Extensible
Swing merupakan arsitektur terpartisi, yang memungkinkan untuk
penggunaan
implementasi
berbagai
framework
interface
tertentu.
Pengguna dapat menyediakan kustom implementasi sendiri dari komponen
untuk menggantikan implementasi default. Secara umum, pengguna Swing
dapat menambahkan framework dengan memperluas framework yang
sudah ada dan menyediakan implementasi alternatif komponen inti. Swing
juga merupakan framework berbasis komponen, dimana komponen Swing
adalah komponen Java Beans yang kompatibel dengan spesifikasi Java
Beans Component Architecture.
3. Customizable
Atas dasar model program rendering dari framework Swing, kendali atas
rincian rendering komponen dimungkinkan dalam Swing. Representasi
visual dari komponen Swing pada umumnya berupa satu set standar
elemen. Pengguna program biasanya menyesuaikan komponen Swing
21
standar dengan menetapkan beberapa elemen untuk membuat visualisasi
kontrol GUI yang unik.
4. Configurable
Swing bergantung pada mekanisme runtime dan pola komposisi tidak
langsung untuk merespon perubahan pengaturan secara run-time.
Contohnya aplikasi berbasis Swing dapat mengubah tampilan pada saat
run-time, dimana pengguna dapat memberikan tampilan mereka sendiri
dan diimplementasikan tanpa perubahan apapun pada kode program.
5. Loosely-Coupled and MVC
Pustaka Swing memanfaatkan pola model/view/controller (MVC) desain
perangkat lunak yang secara konseptual pasangan data yang dilihat dari
kontrol interface pengguna melalui yang dilihat. Karena hal tersebut,
komponen Swing dikaitkan model dan programmer dapat menggunakan
berbagai macam implementasi atau menyediakan sendiri implementasi
tersebut. Penggunaan framework Swing tidak memerlukan penciptaan
model, karena telah tersedia satu set implementasi yang transparan secara
default, yang terkait dengan class Jcomponent di perpustakaan Swing.
Komponen yang kompleks mungkin memerlukan implementasi model
disekitar data spesifik aplikasi seperti: tabel dan pohon.
2.2.2 Komponen Dasar Swing
Secara umum, komponen swing terdiri dari lima bagian yang sering
digunakan, yaitu:
22
1. Top-level Container
Merupakan container dasar dimana komponen lainnya diletakkan.
Toplevel Container ini terdiri dari Frame, Dialog, dan Applet yang
diimplementasikan dalam class JFrame, JDialog, dan JApplet.
2. Intermediate
Container:
Merupakan
komponen
perantara
untuk
peletakkan komponen lainnya, yaitu class JPanel.
3. Atomic Container
Merupakan komponen yang memiliki fungsi spesifik dan biasanya user
berinteraksi langsung dengan jenis komponen ini. Komponen ini terdiri
dari: JButton, JTextField, dan JTextArea.
4. Layout Manager
Layout Manager berfungsi untuk mengatur posisi dari komponen yang
diletakkan pada container. Terdapat lima macam layout, yaitu: class
BorderLayout, Boxlayout, FlowLayout, GridBagLayout, dan GridLayout.
5. Event Handling
Event Handling berfungsi untuk menangani event yang dilakukan user,
misalnya menekan tombol, mengklik mouse, dan lain sebagainya.
2.3 A W T
Ketika Java pertama kali dirilis oleh Sun Microsystems pada tahun 1995,
komponen AWT memberikan tingkat abstraksi yang tipis yang mendasari
interface pengguna. Contohnya, menciptakan checkbox AWT akan menyebabkan
pemanggilan langsung subroutine yang mendasari pembuatan checkbox. Program
GUI yang ditulis dengan menggunakan AWT tampak seperti aplikasi asli ketika
dijalankan pada sistem operasi yang menjalankan aplikasi tersebut.
23
Dalam J2SE 1.2, komponen AWT sebagian besar digantikan dari toolkit
Swing. Selain menyediakan satu set komponen UI, Swing menarik komponen
sendiri (dengan menggunakan Java 2D untuk memanggil ke subroutine tingkat
rendah dalam subsistem grafis lokal) bukan mengandalkan modul pengguna
tingkat tinggi interface sistem operasi. Swing menyediakan pilihan baik
menggunakan sistem “tampilan dan nuansa” menggunakan platform asli tampilan
dan nuansa atau cross-platform yang terlihat pada semua platform. Namun, Swing
bergantung pada AWT untuk tampilan interface untuk sistem windowing asli.
2.3.1 Arsitektur AWT
AWT menyediakan dua tingkat API, yaitu:
1. Interface umum antara Java dengan sistem asli, digunakan untuk
windowing, manajer layout. API ini merupakan inti dari pemrograman
Java GUI dan juga digunakan oleh Swing dan Java 2D yang berisi:
a. Interface antara sistem windowing asli dan aplikasi Java.
b. Inti dari event subsistem GUI.
c. Beberapa manajer layout.
d. Interface untuk perangkat input seperti mouse dan keyboard.
e. Paket java.awt.datatransfer untuk digunakan dengan clipboard dan
Drag and Drop.
2. Satu set dasar komponen GUI seperti button, textbox, dan menu yang juga
menyediakan interface dasar AWT, yang memungkinkan pustaka render
dikompilasi ke kode asli untuk langsung menarik ke AWT canvas
permukaan objek gambar.
24
AWT juga membuat beberapa fungsionalitas tinggti yang tersedia untuk aplikasi,
seperti :
1. Akses ke sistem tray pada sistem pendukung.
2. Kemampuan untuk meluncurkan beberapa aplikasi dekstop seperti
browser web dan klien email dari aplikasi.
Baik AWT ataupun Swing secara inheren aman, karena kode yang meng-update
GUI harus dijalankan pada thread event pengirim. Kegagalan untuk melakukan
hal ini dapat menyebabkan kondisi kebuntuan atau ras. Untuk mengatasi masalah
ini, kelas utilitas bernama SwingWorker memungkinkan aplikasi untuk melakukan
tugas-tugas yang memakan waktu mengikuti acara-interaksi pengguna di thread
acara pengirim.
2.4 NetBeans IDE 6.8
Penulis
menggunakan
NetBeans
IDE
(Integrated
Development
Environment) versi 6.8 untuk membuat kode sumber dapat dilihat pada gambar di
bawah ini :
Gambar 2.2 NetBeans IDE 6.8
25
2.4.1 Langkah Awal Menjalankan Aplikasi NetBeans IDE 6.8
Langkah-langkah dalam menjalankan aplikasi NetBeans IDE 6.8 sebagai berikut :
Gambar 2.3 New Project NetBeans IDE 6.8
1) Klik tombol start pada bagian Taskbar.
2) Pilih menu Programs dan pilih Netbeans, kemudian klik Netbeans.
3) Setelah itu pilih New Project seperti Gambar 2.5
4) Kemudian isi project name dengan nama file yang diinginkan. Kemudian
klik Finish.
5) Untuk membuat form pada netbeans klik kanan pada Source Packages,
pilih New Jframe Form. Akan tampil gambar dibawah ini:
26
Gambar 2.4 New Jrame Form
6) Kemudian isi Class Name lalu klik Finish.
7) Setelah klik Finish akan muncul tampilan seperti dibawah ini. Selanjutnya
silahkan membuat Aplikasi yang diinginkan.
Gambar 2.5 Layar Project Netbeans IDE 6.8
27
2.4.2 Komponen Netbeans 6.8
1) Main Windows
Jendela utama ini bagian dari IDE yang mempunyai fungsi yang sama
dengan semua fungsi utama dari program aplikasi Windows lainnya.
Jendela utama Netbeans terbagi menjadi tiga bagian, berupa Main Menu,
Toolbar 1 Main Project, Clean and Build Main Project, Run Main Project,
Debug Main Project, dan Profile Main Project.
2) Toolbar
Netbeans Netbeans memiliki beberapa toolbar yang masing-masing
memiliki perbedaan fungsi dan setiap tombol pada bagian toolbar
berfungsi sebagai pengganti suatu menu perintah yang sering digunakan.
Toolbar sering disebut juga dengan Speedbar. Toolbar terletak pada bagian
bawah baris menu. Pada kondisi default Netbeans memiliki beberapa
bagian toolbar, antara lain : Build Main Project, Clean and Build Main
Project, Run Main Project, Debug Main Project, dan Profile Main Project.
3) Component Palette
Component Pallete berisi kumpulan ikon yang melambangkan komponenkomponen yang terdapat pada VCL (Visual Component Library), pada
Component Pallete akan ditemukan beberapa page control, seperti Swing
Containers, Swing Controls, Swing Menus, Swing Windows, AWT,
Beans, dan Java Persistence.
28
Gambar 2.6 Component Palette
4) From Designer
Form Designer merupakan suatu objek yang dapat dipakai sebagai tempat
untuk merancang program aplikasi. Form berbentuk sebuah meja kerja
yang dapat diisi dengan komponen-komponen yang diambil dari
Component Pallete.
29
Gambar 2.7 Form Kerja Netbeans IDE 6.8
5) Source Editor
Source Editor merupakan tempat untuk menuliskan kode program. Pada
bagian ini dapat dituliskan pernyataan-pernyataan dalam Object Java.
Keuntungan bagi pemakai Netbeans adalah bahwa tidak perlu menuliskan
kode-kode sumber, karena Netbeans telah menyediakan kerangka
penulisan sebuah program seperti yang tampak pada Gambar 2.8 di bawah
ini:
30
Gambar 2.8 Source Editor
6) Object Inspektor
Object Inspector digunakan untuk mengubah properti atau karakteristik
dari sebuah komponen. Object Inspector terdiri dari dua tab, yaitu
Properties dan Events seperti yang tampak pada Gambar 2.11 di bawah ini:
Gambar 2.9 Inspector
31
2.5 AT Command
AT Command merupakan perintah yang digunakan untuk melakukan
konfigurasi pada handphone atau terminal. Dibutuhkan sebuah perintah khusus
yang digunakan untuk mengkonfigurasikannya. Pada penggunaan sintaks untuk
mengirimkan perintah dalam handphone, ada beberapa perintah yang dibutuhkan
untuk melakukannya. Berikut ini adalah contoh konfigurasi yang dapat dilakukan
dengan berbagai macam sintaks :
•
Menyimpan pesan ke SIM Card
•
Menentukan format mode
•
Mengirim pesan
•
Membaca pesan
•
Menghapus pesan
Contoh perintah AT pada Hyper Terminal pada gambar 2.10 berikut :
Gambar 2.10 Jendela Hyperterminal
32
2.6 Interfacing Port Parallel pada Komputer
Port paralel atau port printer sebenarnya terdiri dari tiga bagian yang
masing-masing diberi nama sesuai dengan tugasnya dalam melaksanakan
pencetakan. Tiga bagian tersebut adalah data port, printer kontrol dan printer
status. Data port digunakan untuk mengirim data yang harus dicetak oleh printer,
printer kontrol digunakan untuk mengirimkan kode-kode kontrol dari komputer ke
printer, misalnya kode kontrol untuk menggulung kertas, dan printer status
digunakan untuk mengirimkan kode-kode status printer ke komputer, misalnya
untuk menginformasikan bahwa kertas telah habis. Pada gambar 2.11 terlihat
konfigurasi port parallel.
Gambar 2.11 Konfigurasi pin pada Parallel Port
Data port, printer kontrol, dan printer status sebenarnya adalah port-port delapan
bit, namun hanya data port yang benar-benar mempunyai delapan bit. Untuk
printer kontrol dan printer status, hanya beberapa bit saja yang dipakai yang
33
berarti hanya beberapa bit saja dari port-port ini yang dapat dimanfaatkan untuk
keperluan interfacing. Port printer kontrol adalah port baca atau tulis (read/write),
printer status adalah port baca saja (read only), sedangkan port data port adalah
port baca tulis juga. Akan tetapi, kemampuan ini hanya dimiliki oleh Enhanced
Parallel Port (EPP), sedangkan port paralel standar hanya memiliki kemampuan
standar saja. Pada EPP, pengaturan arah jalur data port dilakukan lewat 5 bit
komputer. Jika 5 bit bernilai 0, maka jalur data dwi arah data port menjadi output
dari port paralel, sebaliknya jika bit 5 bernilai 1, maka jalur data dwi arah data
port menjadi input dari port paralel.
Untuk dapat menggunakan port paralel, maka harus diketahui alamatnya.
Base address LPT1 biasanya adalah 888 (378H) dan LPT2 biasanya 632 (278H).
Alamat tersebut adalah alamat yang umum digunakan tergantung dari jenis
komputer. Tepatnya bisa dilihat pada peta memori tempat menyimpan alamat
tersebut, yaitu memory 0000.0408H untuk base address LPT1 dan memory
0000.040AH untuk base address LPT2.
Setelah diketahui alamat dari port paralel, maka dapat ditentukan alamat
data port, printer kontrol dan printer status. Alamat data port adalah base address
dari port paralel tersebut alamat printer status adalah base address +1, dan alamat
printer kontrol adalah base address +2. Tabel dibawah ini adalah tabel alamat
masing-masing port yang umumnya digunakan.
34
Nama Port
Alamat Register
LPT1 Data Port
378H/888
LPT1 Printer Status
379H/889
LPT1 Printer Kontrol
37AH/890
Tabel 2.2 Alamat masing-masing port
Interfacing menggunakan Port Parallel pada komputer dipengaruhi
interaksi user dalam menuliskan atau mengubah nilai dari pin-pin yang ada pada
Port Parallel menggunakan bahasa pemrograman tertentu, secara garis besar nilainilai yang diubah pada register atau alamat masing-masing port adalah nilai
variabel dalam bentuk biner 1 (keadaan tinggi 5 Volt) atau biner 0 (keadaan
rendah 0 volt).
2.7 Protocol Descryption Unit (PDU)
Protocol Descryption Unit (PDU) adalah salah satu mode pengiriman
SMS, dalam aplikasi monitoring ini nantinya akan digunakan format ini daripada
mode text. Penggunaan ini mengarah kepada keterbatasan mode text pada opsi
penjabaran (encoding options) sehingga tidak semua perangkat dapat menerima
dan menjabarkan SMS yang dikirim dengan mode text. PDU memiliki format
yang terbagi atas bit-bit dengan masing-masing segmen yang berbeda arti. Berikut
adalah contoh pesan SMS dalam PDU:
11000B916407281553F80000AA0AE8329BFD4697D9EC37
35
Secara teori format PDU tersebut terbagi atas 10 segmen seperti dijabarkan
sebagai berikut :
Tabel 2.3 Segmen pada forma PDU
Segmen Nama Segmen
1
Tipe PDU
2
Referensi pesan
3
Panjang nomor handphone
4
Format nomor handphone
5
Nomor handphone
6
Penunjuk Protokol
7
Skema data coding
8
Periode Validitas
9
Panjang pesan
10
Pesan
2.7.1 Tipe PDU
Nilai 11 yang digunakan pada PDU Type menunjukan bahwa Pesan PDU
ini adalah untuk pengiriman SMS. Tipe PDU sebenarnya memiliki format
pembentuk sendiri yaitu sebagai berikut:
Tabel 2.4 Format PDU Type
Bit No
7
6
Nama
RP
Nilai
0
5
4
3
2
1
0
UDHI SRR
VPF
VPF
RD
MTI
MTI
0
1
0
0
0
1
0
36
Kedelapan bit yang membentuk Tipe PDU memiliki arti masing-masing.
Semuanya memberikan berbagai pengaturan yang merinci pada detail pengiriman
SMS dari perangkat pengirim SMS kepada SMS Center. Berikut penjelasan untuk
setiap segmen:
1. RP dikenal sebagai Reply Path yang menunjukan keberadaaan reply path.
2. UDHI adalah User Data Header Indicator, menunjukan apakah pesan
memiliki dengan Header.
3. SRR adalah Status Report Request, jika bit ini diset dengan nilai 1 maka
pengirim meminta status report.
4. Kedua bit VPF adalah Validity Period Format, 00 untuk tidak adanya
validity period, 10 untuk format relatif, 01 untuk format lanjut (berupa
hexadecimal), dan 11 untuk format absolut.
5. RD bit bernilai 1 untuk menginstruksikan SMS Center menerima SMS
dengan nilai MR dan DA yang sama dengan SMS yang telah dikirimkan
sebelumnya oleh pengirim yang sama.
6. Kedua bit MTI adalah Message Type Indicator, yaitu indikator tipe pesan
dengan format bit sebagai berikut:
7. 0 0 untuk SMS masuk (dari SMS Center untuk perangkat) atau Laporan
SMS Masuk (digenerasikan otomatis setelah penerimaan SMS masuk,
oleh perangkat untuk SMS Center)
8. 0 1 untuk pengiriman SMS (dari perangkat ke SMS Center) atau laporan
pengiriman SMS (dari SMS Center ke perangkat)
9. 1 0 untuk laporan status SMS (dari SMS Center ke perangkat) atau
perintah berupa SMS (dari perangkat ke SMS Center)
37
2.7.2 MR (Message Reference) atau Referensi Pesan
MR digunakan untuk mengidentifikasi jika terjadi error saat pengiriman
pesan. Nomor ini akan menjadi bagian dari respon yang diberikan saat error,
sehingga dapat diketahui pesan mana yang mengalami masalah. Nilai 00
diberikan agar perangkat yang menentukan nilai MR ini.
2.7.3 Panjang Nomor Handphone
Panjang nomor handphone di sini adalah panjang nomor handphone tujuan
pengiriman SMS. Panjang nomor handphone tujuan ini harus dalam format
heksadesimal.
2.7.4 Format Nomor Handphone
Format nomor handphone tujuan, dimana dapat dimasukkan 91 sebagai
nilainya untuk menunjukkan format internasional digunakan dalam nomor
handphone tujuan.
2.7.5 Nomor Handphone
Nomor handphone tujuan dengan format terbalik setiap 2 karakternya, dan
di akhiri dengan “F” jika panjang nomor handphone adalah ganjil. Penambahan
karakter “F” dilakukan sebelum melakukan pembalikan karakter. Sebagai contoh
adalah 46708251358 menjadi 6407281553F8. Jika panjang nomor handphone
adalah genap tidak perlu diakhiri dengan karakter “F”.
2.7.6 PID (Protocol Identifier) atau Penunjuk Protokol
Penunjuk protokol dalam PDU menentukan konten yang dibawa dalam
sebuah paket PDU, dalam aplikasi monitoring ini jelas konten yang ingin
38
disertakan adalah SMS dan nilai default untuk PID adalah 00 yaitu Standard Text
SMS.
2.7.7 DCS (Data Coding Scheme)
Data Schema Coding adalah skema pengkodean pesan, dimana secara
default adalah dikodekan menurut 7bit default alphabet yaitu Standard Text SMS.
DCS juga dapat digunakan untuk menentukan Message Class.
2.7.8 Validity Period
Validity Period adalah lamanya waktu suatu pesan disimpan pada SMS
Center jika pesan gagal diterima oleh perangkat tujuan pengiriman pesan SMS.
Dihitung dari saat pesan diterima oleh SMS Center. VP dituliskan dalam format
heksadesimal setelah melalui perhitungan sesuai dengan tabel berikut:
Tabel 2.5 Validity Period
Waktu VP
Nilai dalam Decimal
5 menit – 720 menit (12 jam)
Waktu VP / 5 - 1
12, 5 jam – 24 jam
143 + ((Waktu VP-12)*2)
2 – 30 hari
166 + waktu VP
Lebih dari 4 Minggu
192 + waktu VP
Sebagai contoh, jika waktu VP dikehendaki adalah 5 hari, maka perhitungan
menggunakan rumus 166 + 5 = 171 d = AB h.
39
2.7.9 Panjang Pesan
Panjang pesan menunjukkan panjang pesan yang akan dikirim, dalam
format heksadesimal.
2.7.10 Pesan
Pesan adalah isi pesan yang akan dikirim sebagai pesan SMS melalui
perangkat. Pesan ini harus dikodekan agar menjadi format yang sesuai yaitu
format heksadesimal. Perubahan mengharuskan setiap karakter 7bit sesuai dengan
DCS menjadi 8bit karakter GSM.
2.8 Komponen Rangkaian Elektronika
Interfacing komputer dengan melibatkan Port Parallel tentunya didukung
oleh kompnen-komponen elektronika sesuai dengan maksud dan tujuan rangkaian
tersebut. Komponen elektronika dasar yang sangat umum digunakan contohnya
antara lain : resistor, transistor, dioda, LED, kapasitor, dan lain sebagainya.
2.8.1 Resistor
Fungsi Resistor sangat vital dalam sebuah rangkaian elektronika. Resistor
adalah sebuah komponen dasar elektronika yang fungsinya adalah untuk
menghambat arus listrik yang melewati suatu rangkaian.
Gambar 2.12 Resistor
40
Dapat dikatakan bahwa semua rangkaian elektronika selalu menggunakan
komponen elektronika ini. Jadi wajar apabila komponen ini menjadi komponen
elektronika yang paling terkenal. Selain itu resistor juga menjadi komponen yang
mempunyai harga paling murah dipasaran. Secara lengkap fungsi resistor adalah
sebagai berikut:
1. Resistor berfungsi sebagai pembagi arus
2. Resistor berfungsi Sebagai pembatas / pengatur arus
3. Resistor berfungsi Sebagai penurun tegangan
4. Resistor berfungsi Sebagai penurun tegangan
5. Resistor berfungsi Sebagai penghambat aliran arus listrik,dan lain-lain.
Selain fungsi, resistor juga memiliki berbagai macam jenis. Pada umumnya
terdapat 2 jenis resistor yang paling banyak dijumpai yaitu :
1. Resistor Biasa
Sebuah resistor penghambat gerak arus listrik yang nilainya tidak dapat
berubah (konstan). Resistor ini biasanya terbuat dari nikel atau karbon.
2. Resistor Variable
Sebuah resistor yang nilai variabel dapat dirumah dengan cara memutar
atau menggeser.
2.8.2 Transistor
Transistor merupakan piranti komponen elektronika yang terbuat dari
bahan semikonduktor dan mempunyai tiga elektroda (triode) yaitu dasar (basis),
pengumpul (kolektor) dan pemancar (emitor). Rangkaian ini berfungsi sebagai
penguat sinyal, penyambung (switching) dan stabilisasi tegangan.
41
Jenis-jenis transistor dan cara kerja transistor pada umumnya dibagi
menjadi dua jenis yaitu; Transistor Bipolar (dwi kutub) dan Transistor Efek
Medan (FET – Field Effect Transistor). Transistor Bipolar adalah jenis transistor
yang paling banyak digunakan pada rangkaian elektronika. Jenis-Jenis Transistor
ini terbagi atas 3 bagian lapisan material semikonduktor yang terdiri dari dua
formasi lapisan yaitu lapisan P-N-P (Positif-Negatif-Positif) dan lapisan N-P-N
(Negatif-Positif-Negatif). Sehingga menurut dua formasi lapisan tersebut
transistor bipolar dibedakan kedalam dua jenis yaitu transistor PNP dan transistor
NPN. Masing-masing dari ketiga kaki jenis-jenis transistor ini di beri nama B
(Basis), K (Kolektor), dan E (Emiter). Fungsi transistor bipolar ini adalah sebagai
pengatur arus listrik (regulator arus listrik), dengan kata lain transistor dapat
membatasi arus yang mengalir dari Kolektor ke Emiter atau sebaliknya
(tergantung jenis transistor, PNP atau NPN).
Gambar 2.13 Transistor
Transistor Efek Medan (FET – Field Effect Transistor) merupakan jenis
transistor yang juga memiliki 3 kaki terminal yang masing-masing diberi nama
42
Drain (D), Source (S), dan Gate (G). Cara kerja transistor ini adalah
mengendalikan aliran elektron dari terminal Source ke Drain melalui tegangan
yang diberikan pada terminal Gate.
Perbedaan antara transistor bipolar dan transistor FET adalah jika
transistor bipolar mengatur besar kecil-nya arus listrik yang melalui kaki Kolektor
ke Emiter atau sebaliknya melalui seberapa besar arus yang diberikan pada kaki
Basis, sedangkan pada FET besar kecil-nya arus listrik yang mengalir pada Drain
ke Source atau sebaliknya adalah dengan seberapa besar tegangan yang diberikan
pada kaki Gate.
Selain di gunakan sebagai penguat, transistor digunakan sebagai saklar.
Caranya adalah dengan memberikan arus yang cukup besar pada basis transistor
hingga mencapai titik jenuh. Pada kondisi seperti ini kolektor dan emitor bagai
kawat yang terhubung atau saklar tertutup, dan sebaliknya jika arus basis teramat
kecil maka kolektor dan emitor bagai saklar terbuka.
2.9 Suplai Daya Bebas Gangguan (Uninterruptible Power Supply)
Uninterruptible Power Supply atau biasa disingkat UPS, adalah perangkat
yang biasanya menggunakan baterai backup sebagai catuan daya alternatif, untuk
dapat memberikan suplai daya yang tidak terganggu untuk perangkat elektronik
yang terpasang. UPS merupakan sistem penyedia daya listrik yang sangat penting
dan diperlukan sekaligus dijadikan sebagai benteng dari kegagalan daya serta
kerusakan sistem dan hardware. UPS akan menjadi sistem yang sangat penting
dan sangat diperlukan pada banyak perusahaan penyedia jasa telekomunikasi, jasa
informasi, penyedia jasa internet dan banyak lagi. Dapat dibayangkan berapa
43
besar kerugian yang timbul akibat kegagalan daya listrik jika sistem tersebut tidak
dilindungi oleh UPS. Adapun fungsi-fungsi utama UPS antara lain:
1) Dapat memberikan energi listrik sementara ketika terjadi kegagalan daya
pada listrik utama.
2) Memberikan kesempatan waktu yang cukup untuk segera menghidupkan
genset sebagai pengganti listrik utama.
3) Memberikan kesempatan waktu yang cukup untuk segera melakukan back
up data dan mengamankan sistem operasi (OS) dengan melakukan
shutdown sesuai prosedur ketika listrik utama padam.
4) Mengamankan sistem komputer dari gangguan-gangguan listrik yang
dapat mengganggu sistem komputer baik berupa kerusakan software, data
maupun kerusakan hardware.
5) UPS secara otomatis dapat melakukan stabilisasi tegangan ketika terjadi
perubahan tegangan pada input sehingga tegangan output yang digunakan
oleh sistem komputer berupa tegangan yang stabil.
6) UPS dapat melakukan diagnosa dan managemen terhadap dirinya sendiri
sehingga memudahkan pengguna untuk mengantisipasi jika akan terjadi
gangguan terhadap sistem.
7) User friendly dan mudah dalam installasi.
8) Pengguna dapat melakukan kontrol UPS melalui jaringan LAN (Local
Area
Network)
dengan
menambahkan
beberapa
diperlukan.
9) Dapat diintegrasikan dengan jaringan internet.
aksesoris
yang
44
10) Notifikasi jika terjadi kegagalan dengan melakukan pengaturan perangkat
lunak UPS management. Notifikasi biasanya berupa bunyi alarm, atau
notifikasi melalui email.
2.10 Metode Waterfall
Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini
sering disebut dengan “classic life cycle” atau model waterfall. Model ini adalah
model yang muncul pertama kali yaitu sekitar tahun 1970 sehingga sering
dianggap kuno, tetapi merupakan model yang paling banyak dipakai di dalam
Software Engineering (SE). Model ini melakukan pendekatan secara sistematis
dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain,
coding, testing / verification, dan maintenance. Disebut dengan waterfall karena
tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan
berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap
sebelumnya yaitu tahap requirement. Secara umum tahapan pada model waterfall
dapat dilihat pada gambar berikut :
Gambar 2.14 Metode Waterfall (Roger S. Pressman, 1992)
45
Gambar di atas adalah tahapan umum dari model proses ini. Akan tetapi Roger S.
Pressman (1992: 24) memecah model ini menjadi 6 tahapan meskipun secara
garis besar sama dengan tahapan-tahapan model waterfall pada umumnya. Berikut
adalah penjelasan dari tahap-tahap yang dilakukan di dalam model ini menurut
Roger S. Pressman (1992: 24):
•
System / Information Engineering and Modeling. Permodelan ini
diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan
diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat
software harus dapat berinteraksi dengan elemen-elemen yang lain seperti
hardware, database, dsb. Tahap ini sering disebut dengan Project
Definition.
•
Software
Requirements
Analysis.
Proses
pencarian
kebutuhan
diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari
program yang akan dibuat, maka para software engineer harus mengerti
tentang domain informasi dari software, misalnya fungsi yang dibutuhkan,
user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem
dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan.
•
Design. Proses ini digunakan untuk mengubah kebutuhan-kebutuhan di
atas menjadi representasi ke dalam bentuk “blueprint” software sebelum
coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang
telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya,
maka proses ini juga harus didokumentasikan sebagai konfigurasi dari
software.
46
•
Coding. Untuk dapat dimengerti oleh mesin, dalam hal ini adalah
komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang
dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui
proses coding. Tahap ini merupakan implementasi dari tahap desain yang
secara teknis nantinya dikerjakan oleh programmer.
•
Testing / Verification. Sesuatu yang dibuat haruslah diujicobakan.
Demikian juga dengan software. Semua fungsi-fungsi software harus
diujicobakan, agar software bebas dari error, dan hasilnya harus benarbenar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya.
•
Maintenance. Pemeliharaan suatu software diperlukan, termasuk di
dalamnya adalah pengembangan, karena software yang dibuat tidak
selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada
errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fiturfitur yang belum ada pada software tersebut. Pengembangan diperlukan
ketika adanya perubahan dari eksternal perusahaan seperti ketika ada
pergantian sistem operasi, atau perangkat lainnya.
Model ini sangat populer karena pengaplikasian menggunakan model ini
mudah, kelebihan dari model ini adalah ketika semua kebutuhan sistem dapat
didefinisikan secara utuh, eksplisit, dan benar di awal project, maka SE dapat
berjalan dengan baik dan tanpa masalah. Meskipun seringkali kebutuhan sistem
tidak dapat didefinisikan seeksplisit yang diinginkan, tetapi paling tidak, problem
pada kebutuhan sistem di awal project lebih ekonomis dalam hal uang (lebih
murah), usaha, dan waktu yang terbuang lebih sedikit jika dibandingkan problem
yang muncul pada tahap-tahap selanjutnya.
47
Meskipun demikian, karena model ini melakukan pendekatan secara urut /
sequential, maka ketika suatu tahap terhambat, tahap selanjutnya tidak dapat
dikerjakan dengan baik dan itu menjadi salah satu kekurangan dari model ini.
Selain itu, ada beberapa kekurangan pengaplikasian model ini, antara lain adalah
sebagai berikut:
•
Ketika problem muncul, maka proses berhenti, karena tidak dapat menuju
ke tahapan selanjutnya. Bahkan jika kemungkinan problem tersebut
muncul akibat kesalahan dari tahapan sebelumnya, maka proses harus
membenahi tahapan sebelumnya agar problem ini tidak muncul. Hal-hal
seperti ini yang dapat membuang waktu pengerjaan SE.
•
Karena pendekatannya secara sequential, maka setiap tahap harus
menunggu hasil dari tahap sebelumnya. Hal itu tentu membuang waktu
yang cukup lama, artinya bagian lain tidak dapat mengerjakan hal lain
selain hanya menunggu hasil dari tahap sebelumnya. Oleh karena itu,
seringkali model ini berlangsung lama pengerjaannya.
•
Pada setiap tahap proses tentunya dipekerjakan sesuai spesialisasinya
masing-masing. Oleh karena itu, ketika tahap tersebut sudah tidak
dikerjakan, maka sumber dayanya juga tidak terpakai lagi. Oleh karena itu,
seringkali pada model proses ini dibutuhkan seseorang yang “multiskilled”, sehingga minimal dapat membantu pengerjaan untuk tahapan
berikutnya.
Tahapan-tahapan model ini sudah cukup baik dalam artian minimal untuk
melakukan SE, maka harus ada tahapan-tahapan ini. Tahapan-tahapan ini jugalah
yang digunakan oleh model-model yang lain pada umumnya. Ada filosofi yang
48
mengatakan sesuatu yang sukses diciptakan pertama kali, maka akan terus dipakai
di dalam pengembangannya. Hal ini juga berlaku pada waterfall model ini.
Mungkin dapat dikatakan bahwa inilah standar untuk melakukan SE.
Akan tetapi, yang mungkin menjadi banyak pertimbangan mengenai
penggunaan dari model ini adalah metode sequential-nya. Mungkin untuk awalawal software diciptakan, hal ini tidak menjadi masalah, karena dengan berjalan
secara berurutan, maka model ini menjadi mudah dilakukan. Sesuatu yang mudah
biasanya hasilnya bagus. Oleh karena itu model ini sangat populer. Akan tetapi,
seiring perkembangan software, model ini tentu tidak bisa mengikutinya. Yang
menjadi kelemahan adalah pada pengerjaan secara berurutan tadi, seperti yang
sudah diutarakan sebelumnya. Kelemahan-kelemahan yang lain juga sudah di
utarakan di atas, atau bahkan masih ada yang lainnya.
2.11 Metode Pengujian Black Box
Atribut pengujian yang baik (Kaner,C.,J. Falk, dan H.Q. Nguyen 1993)
adalah:
•
Pengujian yang baik memiliki probabilitas yang tinggi untuk menemukan
kesalahan
Contoh : kelas kegagalan potensial pada GUI (Graphical User Interface)
adalah kegagalan untuk mengenali posisi mouse yg sesuai.
•
Pengujian yang baik tidak redundan
Contoh: modul perangkat lunak SafeHome didesain untuk mengenali
password pemakai untuk mengaktifkan & mendeaktifkan sistem. Dalam usaha
mengungkap kesalahan input password, penguji mendesain serangkaian pengujian
49
yang memasukkan serangkaian password. Password yang berlaku dan tidak
berlaku (4 urutan numeris) di-input-kan sebagai pengujian yg berbeda.
•
Kesalahan pada struktur data atau database
Pengujian black-box berfokus pada persyaratan fungsional perangkat
lunak. Pengujian ini memungkinkan analis sistem memperoleh kumpulan kondisi
input yang akan mengerjakan seluruh keperluan fungsional program. Tujuan
metode ini mencari kesalahan pada:
•
Fungsi yang salah atau hilang
•
Kesalahan pada interface
•
Kesalahan pada struktur data atau database
•
Kesalahan performansi
•
Kesalahan inisialisasi dan tujuan akhir
Metode ini tidak terfokus pada struktur kontrol seperti pengujian white-
box tetapi pada domain informasi. Pengujian dirancang untuk menjawab
pertanyaan-pertanyaan berikut:
•
Bagaimana validitas fungsional diuji?
•
Apa kelas input yang terbaik untuk uji coba yang baik?
•
Apakah sistem sangat peka terhadap nilai input tertentu?
•
Bagaimana jika kelas data yang terbatas dipisahkan?
•
Bagaimana volume data yang dapat ditoleransi oleh sistem?
•
Bagaimana pengaruh kombinasi data terhadap pengoperasian sistem?
50
2.12 Ruang Server
Ruang server adalah suatu jenis ruang yang berisi instalasi komputer
server baik tunggal maupun jaringan atau tempat perangkat utama komputer
server diletakkan. Lokasi penempatan server juga merupakan salah satu hal
penting dalam sebuah jaringan. Pemilihan lokasi yang baik tentunya akan
memperhatikan aspek-aspek keamanan dari perangkat server yang dibangun. Hal
tersebut penting karena server adalah pusat data yang penting dalam sebuah
sistem jaringan karena data data tersebut memiliki nilai yang tinggi bagi suatu
perusahaan atau instansi.
2.13 Server
Server adalah sebuah sistem komputer yang menyediakan jenis layanan
tertentu dalam sebuah jaringan komputer. Server didukung dengan prosesor yang
bersifat scalable dan RAM (Random Access Memory) yang besar, juga dilengkapi
dengan sistem operasi khusus, yang disebut sebagai sistem operasi jaringan atau
network operating system. Server juga menjalankan perangkat lunak administratif
yang mengontrol akses terhadap jaringan dan sumber daya yang terdapat di
dalamnya, seperti halnya berkas atau alat pencetak (printer), dan memberikan
akses kepada workstation anggota jaringan.
Umumnya, di dalam sistem operasi server terdapat berbagai macam
layanan yang menggunakan arsitektur klient/server. Contoh dari layanan ini
adalah Protokol Konfigurasi Hos Dinamik, server surat, server PTH, server PTB,
DNS server, dan lain sebagainya. Setiap sistem operasi server umumnya
membundel layanan-layanan tersebut, meskipun pihak ketiga dapat pula membuat
layanan tersendiri. Setiap layanan tersebut akan merespon request dari klien.
51
Sebagai contoh, klien PKHD akan memberikan request kepada server yang
menjalankan layanan server PKHD ketika sebuah klien membutuhkan alamat IP
(Internet Protokol), klien akan memberikan request kepada server, dengan bahasa
yang dipahami oleh server PKHD, yaitu protokol PKHD itu sendiri.
Contoh sistem operasi server adalah Windows NT 3.51, dan dilanjutkan
dengan Windows NT 4.0, Windows 2000 Server da Windows 2003 Server. Saat
ini sistem yang cukup populer adalah Windows 2008 Server, kemudian Sun
Solaris, Unix, dan GNU/Linux.
Dilihat dari fungsinya, server bisa di kategorikan dalam beberapa jenis
seperti :
1. Samba Server
Samba (server message block) adalah protokol file sharing dan printer
sharing untuk menyaingi protokol yang telah ada yakni Novell’s IPXbased. SMB ini merupakan protokol file sharing dan printer sharing
pertama yang dapat berjalan pada multi protokol: TCP/IP, NetBEUI,
IPX/SPX. Dengan kata lain SMB server dapat menggantikan posisi Novell
server tanpa harus merubah infrastruktur dari jaringan.
2. FTP Server
File Transfer Protocol (FTP) adalah suatu protokol yang berfungsi untuk
tukar- menukar file dalam suatu network yang menggunakan TCP
(Transmission Control Protokol) koneksi bukan UDP (User Data Gram
Protokol).
52
3. DNS Server
Domain Name System (DNS) Adalah sebuah aplikasi service di internet
yang menerjemahkan sebuah domain name ke IP address dan salah satu
jenis sistem yang melayani permintaan pemetaan IP address ke FQPN
(Fany Qualified Domain Name) dan dari FQDN ke IP address. DNS
biasanya digunakan pada aplikasi yang berhubungan ke internet sererti
Web Browser atau e-mail, Dimana DNS membantu memetakan host name
sebuah komputer ke IP address. Selain digunakan di internet DNS juga
dapat di implementasikan ke private network atau internet.
4. Web Server
Web Server adalah sebuah perangkat lunak server yang berfungsi
menerima permintaan HTTP (Hypertext Transfer Protocol) atau HTTPS
(Hypertext Transfer Protocol Secure) dari klien yang dikenal dengan web
browser dan mengirimkan kembali hasilnya dalam bentuk halamanhalaman web yang umumnya berbentuk dokumen HTML.. Web Server
juga merupakan sebuah komputer yang menyediakan layanan untuk
internet. Server disebut juga dengan host. Agar anda dapat memasukkan
web yang anda rancang ke dalam internet, maka anda harus memiliki
ruangan terlebih dahulu dalam internet, dan ruangan ini disediakan oleh
server.
5. Mail Server
Mail server digunakan untuk men-transfer e-mail pada jaringan TCP / IP
atau bisa juga disebut sebagai perangkat lunak program yang
mendistribusikan file atau informasi sebagai respons atas permintaan yang
53
dikirim via email, juga digunakan pada bitnet untuk menyediakan layanan
serupa FTP.Mail server merupakan perangkat terpenting dalam pembuatan
webmail yang menjadi tempat dari database mail dalam jaringan untuk
melakukan resource sharing, dan dapat dimanfaatkan untuk memfasilitasi
dan komunikasi email merupakan sarana yang cukup bermanfaat di
kalangan masyasrakat di seluruh dunia, dengan email kita dapat
melakukan interaksi dan pertukaran informasi satu sama lainnya.
Disamping itu kita juga memerlukan mail server yang dapat kita istilahkan
sebagai kantor pos yang mengatur proses pengiriman dan penerimaan
pesan juga penyimpanan pesan yang menggunakan sistem basis data.
6. Proxy Server
Proxy server adalah sebuah komputer server atau program komputer yang
dapat bertindak sebagai komputer lainnya untuk melakukan request
terhadap content dari internet atau intranet. Proxy Server bertindak sebagai
gateway terhadap dunia internet untuk setiap komputer klien. Proxy server
tidak terlihat oleh seorang user yang berinteraksi dengan internet melalui
sebuah proxy server tidak akan mengetahui bahwa sebuah proxy server
sedang menangani request yang dilakukannya. Web server yang menerima
request dari proxy server akan menginterpretasikan request-request
tersebut seolah-olah request itu datang secara langsung dari komputer
klien, bukan dari proxy server. Proxy server juga dapat digunakan untuk
mengamankan jaringan pribadi yang dihubungkan ke sebuah jaringan
publik (seperti halnya internet). Proxy server memiliki lebih banyak fungsi
daripada router yang memiliki fitur packet filtering karena memang proxy
54
server beroperasi pada level yang lebih tinggi dan memiliki kontrol yang
lebih menyeluruh terhadap akses jaringan. Proxy server yang berfungsi
sebagai sebuah "agen” keamanan" untuk sebuah jaringan pribadi,
umumnya dikenal sebagai firewall.
2.14 Pemantaun Listrik
Pada aplikasi pemantauan listrik, terdapat 3 pertanyaan dasar mengenai
hal-hal terkait pemantauan:
1. Mengapa daya sering dipantau?
2. Apa yang harus dipantau?
3. Bagaimana pemantauan daya dilakukan dengan cara yang terjangkau dan
efisien?
Alasan pemantauan di balik pemantauan daya listrik dapat bervariasi menurut
berbagai sumber. Namun demikian, terdapat beberapa faktor dasar yang bersifat
universal. Beberapa diantaranya adalah:
1. Kualitas daya listrik
2. Pemeliharan dan tindakan pencegahan
3. Pemecahan masalah
4. Penggunaan energi
5. Besaran kapasitas daya
Aplikasi pemantauan listrik yang dikerjakan oleh penulis erat keterkaitannya
dengan beberapa hal di atas, misalnya kualitas daya listrik, pemeliharaan dan
tindakan pencegahan, serta pemecahan masalah.
55
2.14.1 Kualitas Daya Listrik
Dengan meningkatnya penggunaan peralatan berbasis komputer, kualitas
daya menjadi isu yang penting. Untuk peralatan berbasis komputer, terdapat 2
pokok permasalahan yaitu komputer dapat menyebabkan masalah kualitas daya
dan komputer dapat dipengaruhi negatif oleh kualitas daya yang tidak cocok.
Kualitas daya yang buruk dapat merusak peralatan, menyebabkan kondisi yang
tidak aman atau menyebabkan gangguan. Selain kualitas daya di atas, hilangnya
daya listrik secara tiba-tiba adalah salah satu faktor penting yang juga mempunyai
efek negetif terhadap komputer maupun server.
2.14.2 Pemeliharan dan Tindakan Pecegahan
Tindakan pemeliharaan dan pencegahan sebaiknya dilakukan dengan caracara yang murah dan tidak terlalu kompleks. Penjadwalan pemeriksaan terhadap
keadaan UPS dan kesigapan Administrator sebagai penanggung jawab ruang
server dapat mengurangi potensi masalah disertai tindakan pengamanan yang
lebih capat dan tepat.
2.14.3 Pemecahan Masalah
Sering kali pemecahan masalah dilakukan tanpa terjadwal dikarenakan
masalah kelistrikan secara tiba-tiba. Pengumpulan informasi sebanyak mungkin di
lapangan tentang situasi dan kondisi ruang, akan memudahkan Administrator
dalam memecahkan masalah yang timbul. Lebih jauh lagi, penggunaan alat bantu
seperti penggunaan instrumen peralatan pemantaukan listrik juga dapat
dimanfaatkan dalam mempercepat pemecahan masalah.
Download